:root{
  --pd-navy:#061f52;
  --pd-blue:#0b4ea2;
  --pd-sky:#139fe6;
  --pd-red:#cf111b;
  --pd-bg:#f4f7fb;
  --pd-line:#e6edf5;
}
body{font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;background:var(--pd-bg);color:#172033}
.content-wrapper{background:linear-gradient(180deg,#f8fbff 0,#f4f7fb 42%,#f5f7fb 100%)}
.pd-topbar{border-bottom:1px solid #e8edf4;box-shadow:0 3px 18px rgba(20,48,88,.06)}
.pd-sidebar{background:linear-gradient(180deg,#061d49 0%,#082e67 55%,#064e8d 100%)!important}
.pd-brand{background:rgba(255,255,255,.05)!important;border-bottom:1px solid rgba(255,255,255,.09)!important}
.pd-brand .brand-image{width:36px;height:36px;object-fit:cover;margin-top:-2px}
.sidebar-dark-primary .nav-sidebar>.nav-item>.nav-link.active{background:linear-gradient(135deg,#0e74d4,#16a6e3);box-shadow:0 8px 22px rgba(10,100,190,.28)}
.sidebar-dark-primary .nav-sidebar>.nav-item>.nav-link{border-radius:10px;margin:2px 8px;width:auto}
.nav-sidebar .nav-header{font-size:.68rem;letter-spacing:.11em;color:#8fb5db!important;margin:10px 9px 5px}
.sidebar-user-icon,.user-chip{display:inline-grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#eaf5ff,#cce8ff);color:#0b5aa5}
.sidebar-user-icon{width:34px;height:34px}.user-chip{width:30px;height:30px}
.pd-page-title{font-weight:800;font-size:1.45rem;color:#102340}
.page-logo{align-items:center;gap:9px;background:#fff;border:1px solid #e7edf5;padding:6px 12px;border-radius:999px;font-weight:700;color:#123a74;box-shadow:0 6px 20px rgba(20,50,90,.05)}
.page-logo img{width:30px;height:30px;border-radius:50%;object-fit:cover}
.card{border:0;border-radius:16px;box-shadow:0 8px 28px rgba(27,54,93,.07);overflow:hidden}
.card-header{border-bottom:1px solid #edf1f6;background:#fff}.card-title{font-weight:700}
.stat-card{position:relative;min-height:122px;padding:20px;border-radius:18px;background:#fff;box-shadow:0 8px 28px rgba(27,54,93,.07);overflow:hidden}
.stat-card .stat-icon{position:absolute;right:17px;top:17px;width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:#edf6ff;color:#0b69c3;font-size:1.35rem}
.stat-card .stat-value{font-size:2rem;font-weight:800;color:#10223d;line-height:1.1}.stat-card .stat-label{color:#6f7f91;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;font-weight:700}
.stat-card:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:4px;background:linear-gradient(90deg,var(--pd-red),var(--pd-blue),var(--pd-sky))}
.btn{border-radius:10px;font-weight:600}.btn-primary{background:linear-gradient(135deg,#0b5fb4,#129ee2);border:0}.btn-primary:hover{background:linear-gradient(135deg,#094f98,#0c86c7)}
.form-control,.custom-select{border-radius:10px;border-color:#dbe4ee;min-height:40px}.form-control:focus,.custom-select:focus{border-color:#58a9ec;box-shadow:0 0 0 .2rem rgba(35,136,216,.12)}
.table thead th{border-top:0;border-bottom:1px solid #e8eef5;color:#65758a;font-size:.74rem;text-transform:uppercase;letter-spacing:.04em}.table td{vertical-align:middle;border-top:1px solid #edf1f6}
.avatar{width:48px;height:48px;border-radius:12px;object-fit:cover;background:#eaf0f6;border:1px solid #dbe3ec}.avatar-lg{width:150px;height:180px;border-radius:16px;object-fit:cover;background:#eef3f8;border:1px dashed #b5c4d4}
.badge{border-radius:999px;padding:.44em .72em}
.modal-dialog.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-dialog.modal-fullscreen .modal-content{min-height:100vh;border:0;border-radius:0;background:#f5f8fc}.pd-modal-header{background:linear-gradient(110deg,#061e4e,#0759a5 65%,#0ea1df);color:#fff;border:0;padding:16px 22px}.modal-subtitle{opacity:.72}.modal-body{padding:20px}.modal-loader{min-height:50vh;display:grid;place-items:center;align-content:center;gap:12px;color:#648099;font-size:1.1rem}
.section-card{background:#fff;border-radius:16px;box-shadow:0 6px 24px rgba(31,58,94,.06);padding:20px;height:100%}.section-title{font-size:1rem;font-weight:800;color:#173257;margin-bottom:16px;display:flex;align-items:center;gap:8px}.section-title i{color:#0a70c8}
.photo-upload-card{background:#fff;border:1px solid #e4ebf3;border-radius:15px;padding:14px;text-align:center}.photo-preview{width:150px;height:180px;object-fit:cover;border-radius:14px;background:#eef3f8;border:1px dashed #b9c7d5}.photo-preview.electoral{width:100%;height:180px}
.camera-stage{background:#071423;border-radius:16px;padding:12px;color:#fff}.camera-stage video{width:100%;max-height:340px;border-radius:12px;background:#000}.camera-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.filter-shell{background:#fff;border-radius:16px;padding:14px;box-shadow:0 7px 24px rgba(31,58,94,.05);margin-bottom:16px}
.info-grid .info-item{background:#f8fbfe;border:1px solid #edf2f7;border-radius:12px;padding:12px}.info-item .label{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:#77889a;font-weight:700}.info-item .value{font-weight:700;color:#182b47;margin-top:3px}
.empty-state{padding:44px 20px;text-align:center;color:#7b8b9d}.empty-state i{font-size:2.4rem;color:#c3d0de;margin-bottom:10px}
.login-page-pd{min-height:100vh;background:radial-gradient(circle at 18% 18%,rgba(32,163,232,.32),transparent 29%),linear-gradient(135deg,#061d49,#063c7d 58%,#0b8fd4);display:grid;place-items:center;padding:24px}.login-box-pd{width:min(440px,100%);background:#fff;border-radius:24px;box-shadow:0 30px 90px rgba(0,0,0,.28);overflow:hidden}.login-brand-pd{padding:28px 30px 18px;text-align:center}.login-brand-pd img{width:82px;height:82px;border-radius:50%;object-fit:cover;box-shadow:0 9px 24px rgba(0,67,138,.17)}.login-brand-pd h1{font-size:1.35rem;font-weight:900;color:#b40f18;margin:12px 0 0}.login-brand-pd p{font-weight:800;color:#123a75;margin:2px 0 0}.login-body-pd{padding:18px 30px 30px}
@media(max-width:767.98px){.content-header{padding:.75rem .5rem}.content{padding:0 .3rem}.modal-body{padding:12px}.section-card{padding:14px}.pd-page-title{font-size:1.2rem}.stat-card{min-height:105px;padding:15px}.stat-card .stat-value{font-size:1.65rem}.stat-card .stat-icon{width:44px;height:44px}}

/* v3 — modern login, clean full-modal CRUD, quick photo actions */
.pd-login-v3{margin:0;min-height:100vh;background:#edf3fa;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}.pd-login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(430px,1.12fr) minmax(420px,.88fr)}.pd-login-hero{position:relative;overflow:hidden;background:linear-gradient(145deg,#061b49 0%,#073d82 55%,#0b91d1 100%);color:#fff;padding:64px;display:flex;align-items:center}.pd-login-glow{position:absolute;width:520px;height:520px;border-radius:50%;background:rgba(20,174,235,.18);filter:blur(4px);right:-180px;top:-140px}.pd-login-identity{position:relative;z-index:2;max-width:650px}.pd-login-logo-wrap{width:104px;height:104px;padding:7px;background:#fff;border-radius:26px;box-shadow:0 18px 50px rgba(0,0,0,.22);margin-bottom:24px}.pd-login-logo-wrap img{width:100%;height:100%;object-fit:cover;border-radius:20px}.pd-login-kicker{font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#8fd8ff;font-size:.75rem}.pd-login-identity h1{font-size:2.35rem;font-weight:900;margin:8px 0 0;color:#fff}.pd-login-identity h2{font-size:1.25rem;font-weight:800;color:#bfe8ff;margin:4px 0 18px}.pd-login-identity p{font-size:1.05rem;line-height:1.7;color:#d6e9f9;max-width:560px}.pd-login-features{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.pd-login-features span{padding:10px 14px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);backdrop-filter:blur(10px);border-radius:12px;font-size:.82rem}.pd-login-features i{margin-right:8px;color:#72d8ff}.pd-login-wave{position:absolute;width:460px;height:460px;border:70px solid rgba(255,255,255,.045);border-radius:50%;right:-190px;bottom:-190px}.pd-login-panel{display:flex;align-items:center;justify-content:center;padding:48px;background:linear-gradient(180deg,#fff,#f7f9fc)}.pd-login-formbox{width:min(430px,100%)}.pd-login-eyebrow{color:#0a75c9;font-size:.72rem;font-weight:900;letter-spacing:.16em}.pd-login-formbox h3{font-weight:900;color:#102642;font-size:2rem;margin:5px 0 5px}.pd-input-icon{position:relative}.pd-input-icon>i{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:#7b8da3;z-index:2}.pd-input-icon .form-control{height:50px;padding-left:44px;padding-right:44px;border-radius:13px;background:#f9fbfd}.pd-pass-toggle{position:absolute;right:8px;top:6px;width:38px;height:38px;border:0;background:transparent;color:#78899c}.pd-login-btn{height:51px;border-radius:13px;margin-top:24px;box-shadow:0 12px 28px rgba(9,103,190,.23)}.pd-login-alert{border:0;border-radius:13px}.pd-login-footer{text-align:center;margin-top:28px;color:#8593a4;font-size:.78rem}.pd-mobile-brand{display:none}.modal-form-clean{max-width:1500px;margin:0 auto}.modal-form-hero{display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,#fff,#f5faff);border:1px solid #e5eef7;border-radius:16px;padding:14px 17px;margin-bottom:14px}.modal-form-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#0b5fb4,#13a4e3);color:#fff;font-size:1.2rem;box-shadow:0 8px 20px rgba(10,101,184,.22)}.modal-form-hero h4{font-size:1.08rem;font-weight:900;color:#16304f;margin:0}.modal-form-hero p{font-size:.8rem;color:#7a8b9e;margin:2px 0 0}.pd-form-steps{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.pd-form-steps a{display:flex;align-items:center;gap:7px;background:#fff;border:1px solid #e6edf5;color:#5f7185;padding:7px 11px;border-radius:10px;font-size:.78rem;font-weight:700}.pd-form-steps span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#eaf4ff;color:#086bbb;font-size:.72rem}.modal-form-actions{display:flex;justify-content:flex-end;gap:8px;padding:14px 0 4px}.sticky-actions{position:sticky;bottom:-20px;z-index:20;background:rgba(245,248,252,.96);backdrop-filter:blur(9px);border-top:1px solid #e2e9f1;margin:10px -20px -20px;padding:12px 20px}.sticky-photo-panel{position:sticky;top:0}.photo-quick-card{border:1px solid #e5ebf2;background:#fbfdff;border-radius:14px;padding:12px}.photo-label{text-align:center;font-weight:800;color:#203a59;font-size:.83rem;margin-bottom:9px}.photo-frame{height:180px;border-radius:12px;background:#edf3f8;border:1px dashed #b8c7d7;position:relative;overflow:hidden;display:grid;place-items:center}.photo-frame.electoral{height:145px}.photo-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2}.photo-frame img[src=""],.photo-frame img:not([src]){display:none}.photo-placeholder{font-size:2rem;color:#bdc9d6}.photo-choice-buttons{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:9px}.photo-choice-buttons .btn{font-size:.78rem;padding:.48rem .4rem}.camera-drawer{position:fixed;right:20px;bottom:20px;z-index:2000;width:min(430px,calc(100vw - 30px));padding:12px;background:#08182a;color:#fff;border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,.42)}.camera-drawer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.camera-drawer-head small{display:block;color:#8fa6bd}.camera-drawer video{width:100%;max-height:320px;object-fit:cover;background:#000;border-radius:12px}.camera-drawer-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}.master-nav-card{background:#fff;border-radius:16px;padding:12px;box-shadow:0 8px 28px rgba(27,54,93,.07)}.master-nav-title{font-size:.7rem;font-weight:900;letter-spacing:.08em;color:#8795a5;text-transform:uppercase;padding:7px 9px}.master-nav-link{display:flex;align-items:center;gap:10px;padding:11px;border-radius:10px;color:#475b72;font-weight:700;font-size:.83rem;margin:3px 0}.master-nav-link>i:first-child{width:25px;text-align:center;color:#0c72c5}.master-nav-link:hover{background:#f2f8fe;color:#13558f}.master-nav-link.active{background:linear-gradient(135deg,#eaf5ff,#eefaff);color:#075ca6;box-shadow:inset 3px 0 #0b85d6}.compact-stats .mini-stat{height:76px;background:#fff;border-radius:14px;display:flex;align-items:center;gap:13px;padding:12px 15px;box-shadow:0 6px 20px rgba(27,54,93,.055)}.mini-stat>i{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#eef7ff;color:#0b73c7}.mini-stat b{display:block;font-size:1.35rem;line-height:1.05;color:#173250}.mini-stat span{font-size:.72rem;color:#7b8998;text-transform:uppercase;font-weight:700}.modern-filter{position:relative;padding-right:170px}.filter-action{position:absolute;right:14px;bottom:14px}.militant-list-card .card-header{min-height:67px}.avatar-empty{display:grid;place-items:center;color:#a7b4c2}.id-chip{display:inline-block;background:#edf6ff;color:#0965b4;border:1px solid #d8eaff;border-radius:8px;padding:5px 8px;font-weight:800;font-size:.76rem}.btn-action{border:1px solid #dbe5ee;background:#fff;color:#5d7186;border-radius:9px;margin-left:3px}.btn-action:hover{color:#086cbd;background:#edf7ff;border-color:#cce6fa}.btn-action.print{color:#0a7b8f}.font-weight-semibold{font-weight:700}
@media(max-width:991.98px){.pd-login-shell{grid-template-columns:1fr}.pd-login-hero{display:none}.pd-login-panel{min-height:100vh;padding:28px}.pd-mobile-brand{display:flex;align-items:center;gap:10px;margin-bottom:32px}.pd-mobile-brand img{width:48px;height:48px;border-radius:13px;object-fit:cover}.pd-mobile-brand b,.pd-mobile-brand small{display:block}.pd-mobile-brand b{color:#c3101a;font-size:1.2rem}.pd-mobile-brand small{color:#55718d}.sticky-photo-panel{position:static}.modern-filter{padding-right:14px;padding-bottom:70px}.filter-action{left:14px;right:14px}.filter-action .btn{width:100%}}
@media(max-width:575.98px){.pd-login-panel{padding:22px}.pd-login-formbox h3{font-size:1.65rem}.pd-form-steps{display:grid;grid-template-columns:1fr 1fr}.pd-form-steps a{font-size:.72rem}.camera-drawer{right:10px;bottom:10px;width:calc(100vw - 20px)}.sticky-actions{margin-left:-12px;margin-right:-12px;padding-left:12px;padding-right:12px}}

/* v3.1 — Master Data tree + dedicated geography masters */
.pd-master-tree>.nav-item>.nav-link{margin-left:10px!important;margin-right:8px!important;border-radius:9px!important;padding:.48rem .72rem!important;font-size:.82rem}
.pd-master-tree>.nav-item>.nav-link .nav-icon{font-size:.68rem!important;width:1.25rem!important;color:#8eb7dd}
.pd-master-tree>.nav-item>.nav-link.active{background:rgba(255,255,255,.13)!important;color:#fff!important;box-shadow:inset 3px 0 #34b9f1!important}
.pd-master-tree>.nav-item>.nav-link.active .nav-icon{color:#7edcff!important}
.pd-master-tree .nav-separator{height:1px;background:rgba(255,255,255,.08);margin:7px 18px}
.mini-stat-active{border:1px solid #cce8fb;box-shadow:0 8px 24px rgba(11,116,199,.13)!important;background:linear-gradient(135deg,#fff,#f3faff)!important}
.mini-stat-active>i{background:linear-gradient(135deg,#0b67bb,#15a7e4)!important;color:#fff!important}
.master-area-card .card-header{min-height:76px}.table-master-area thead th{white-space:nowrap}.table-master-area td{vertical-align:middle}
.area-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#eef7ff;color:#0b73c7;flex:0 0 34px}
.geo-hierarchy-mini{display:grid;grid-template-columns:1fr;gap:7px}.geo-hierarchy-mini>div{display:flex;align-items:center;gap:9px;padding:10px 12px;border-radius:10px;background:#f7f9fc;border:1px solid #e7edf4;color:#617488;font-weight:700}.geo-hierarchy-mini>div i{width:20px;text-align:center;color:#0a74c8}.geo-hierarchy-mini>div.active{background:linear-gradient(135deg,#eaf6ff,#f1fbff);border-color:#bfe2f8;color:#075b9e;box-shadow:inset 3px 0 #0b82d2}.geo-hierarchy-mini>span{text-align:center;color:#a6b4c2;line-height:1}
@media(max-width:767.98px){.master-area-card .card-header>div:last-child{width:100%;margin-top:10px}.master-area-card .card-header>div:last-child .btn{flex:1}.table-master-area{min-width:880px}}

/* ================================================================
   v3.2 — Militante CRUD Full Modal
   Compact data-entry layout inspired by the SEFOPE workflow.
   ================================================================ */
#fullCrudModal{padding:0!important}
#fullCrudModal .modal-dialog.modal-fullscreen{width:calc(100vw - 18px);max-width:none;height:calc(100vh - 18px);margin:9px}
#fullCrudModal .modal-dialog.modal-fullscreen .modal-content{height:calc(100vh - 18px);min-height:0;border:1px solid rgba(23,72,119,.16);border-radius:16px;overflow:hidden;box-shadow:0 22px 70px rgba(3,28,61,.22);background:#f2f6fb}
#fullCrudModal .pd-modal-header{flex:0 0 auto;padding:12px 18px;background:linear-gradient(112deg,#061c48,#075ca8 62%,#0aa2df);box-shadow:0 3px 16px rgba(4,43,85,.18)}
#fullCrudModal .pd-modal-header .modal-title{font-size:1.02rem;font-weight:800;line-height:1.15;margin:0}
#fullCrudModal .pd-modal-header .modal-subtitle{display:block;margin-top:2px;font-size:.70rem;letter-spacing:.035em;text-transform:uppercase;opacity:.72}
#fullCrudModal .pd-modal-header .close{opacity:.9;text-shadow:none;padding:.45rem .65rem;margin:-.1rem -.2rem -.1rem auto;border-radius:9px}
#fullCrudModal .pd-modal-header .close:hover{background:rgba(255,255,255,.12);opacity:1}
#fullCrudModal .modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding:14px 16px 0;background:#f2f6fb;scroll-behavior:smooth}
#fullCrudModal .modal-body::-webkit-scrollbar{width:9px}
#fullCrudModal .modal-body::-webkit-scrollbar-thumb{background:#bccbd9;border:2px solid #f2f6fb;border-radius:10px}

.pd-militant-form{max-width:1540px;margin:0 auto;padding-bottom:86px}
.pd-crud-hero{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 15px;margin-bottom:10px;border:1px solid #dce8f3;border-radius:14px;background:linear-gradient(135deg,#ffffff 0%,#f6fbff 72%,#edf8ff 100%);box-shadow:0 7px 22px rgba(13,72,125,.07)}
.pd-crud-hero-icon{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;color:#fff;font-size:1.1rem;background:linear-gradient(135deg,#0759a8,#0ba5dd);box-shadow:0 8px 16px rgba(5,103,177,.2)}
.pd-crud-hero-copy{min-width:0}.pd-crud-hero-copy h4{font-size:1.02rem;font-weight:800;color:#14324f;margin:1px 0 2px}.pd-crud-hero-copy p{margin:0;color:#6b7f92;font-size:.76rem;line-height:1.35}
.pd-crud-kicker{font-size:.64rem;line-height:1;font-weight:900;letter-spacing:.09em;color:#0780c4}
.pd-crud-hero-meta{display:flex;align-items:center;justify-content:flex-end}
.pd-id-badge{display:inline-flex;align-items:center;gap:7px;min-height:31px;padding:6px 10px;border-radius:9px;background:#e8f5ff;border:1px solid #c5e5f8;color:#075f9f;font-size:.75rem;font-weight:800;white-space:nowrap}.pd-id-badge.muted{background:#f4f6f9;border-color:#e0e6ed;color:#738396}.pd-id-badge i{font-size:.8rem}

.pd-quick-nav{position:sticky;top:-14px;z-index:22;display:flex;gap:6px;align-items:center;margin:0 -2px 10px;padding:7px 2px;background:rgba(242,246,251,.96);backdrop-filter:blur(8px)}
.pd-quick-nav button{border:1px solid #d9e4ef;background:#fff;color:#5f7388;border-radius:9px;padding:6px 10px;font-size:.72rem;font-weight:800;line-height:1;box-shadow:0 3px 8px rgba(28,70,109,.04);transition:.16s ease;white-space:nowrap}
.pd-quick-nav button span{display:inline-grid;place-items:center;width:18px;height:18px;margin-right:4px;border-radius:6px;background:#edf3f8;color:#688097;font-size:.63rem}.pd-quick-nav button i{margin-right:4px;color:#7f93a7}
.pd-quick-nav button:hover,.pd-quick-nav button.active{border-color:#87c8ef;background:#eaf7ff;color:#075d9e;transform:translateY(-1px)}.pd-quick-nav button.active span{background:#0b78c3;color:#fff}.pd-quick-nav button.active i{color:#0b78c3}

.pd-crud-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:12px;align-items:start}.pd-crud-main{min-width:0}.pd-crud-aside{min-width:0;position:sticky;top:44px}
.pd-form-section{scroll-margin-top:60px;background:#fff;border:1px solid #dfe8f1;border-radius:14px;margin:0 0 10px;overflow:hidden;box-shadow:0 5px 18px rgba(26,70,111,.055)}
.pd-section-head{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:9px;align-items:center;min-height:56px;padding:9px 13px;border-bottom:1px solid #edf1f5;background:linear-gradient(135deg,#fbfdff,#f6faff)}
.pd-section-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#e8f5ff;color:#0874bb}.pd-section-head h5{font-size:.88rem;font-weight:800;color:#173a59;margin:0 0 1px}.pd-section-head small{display:block;color:#8292a2;font-size:.67rem;line-height:1.25}.pd-section-no{font-size:.65rem;font-weight:900;letter-spacing:.07em;color:#99aabb;background:#eef3f7;border-radius:7px;padding:4px 7px}
.pd-form-row{padding:12px 12px 3px}.pd-form-row .form-group{margin-bottom:10px}.pd-form-row label{display:flex;align-items:center;min-height:17px;margin-bottom:4px;color:#425a70;font-size:.69rem;font-weight:800}.pd-form-row label b{color:#dc3545;margin-left:3px}.pd-form-row .form-control,.pd-form-row .custom-select{height:36px;border-radius:8px;border-color:#d7e0e8;background-color:#fff;color:#27435d;font-size:.78rem;box-shadow:none}.pd-form-row .form-control::placeholder{color:#adb8c3}.pd-form-row .form-control:focus,.pd-form-row .custom-select:focus{border-color:#69b9e9;box-shadow:0 0 0 .16rem rgba(25,139,204,.11)}.pd-form-row .custom-select:disabled{background:#f3f5f7;color:#a4afb9}.pd-input-group .input-group-text{height:36px;border-color:#d7e0e8;background:#f6f9fb;color:#7b8da0;border-radius:8px 0 0 8px;font-size:.72rem}.pd-input-group .form-control{border-left:0;border-radius:0 8px 8px 0}.pd-form-row .invalid-feedback{font-size:.65rem;margin-top:2px}

.pd-photo-panel{scroll-margin-top:60px;background:#fff;border:1px solid #dfe8f1;border-radius:14px;overflow:hidden;box-shadow:0 5px 18px rgba(26,70,111,.055)}
.pd-photo-panel-head{display:flex;align-items:center;justify-content:space-between;min-height:50px;padding:10px 12px;background:linear-gradient(135deg,#0757a4,#0b89ca);color:#fff}.pd-photo-panel-head>div{display:flex;align-items:center;gap:8px}.pd-photo-panel-head i{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:rgba(255,255,255,.14)}.pd-photo-panel-head b{font-size:.84rem}.pd-photo-panel-head>span{font-size:.63rem;font-weight:900;letter-spacing:.07em;padding:4px 7px;background:rgba(255,255,255,.15);border-radius:7px}
.pd-photo-help{padding:8px 12px;margin:0;border-bottom:1px solid #edf1f5;background:#f9fcff;color:#788a9c;font-size:.67rem;line-height:1.4}
.pd-photo-card{padding:10px 11px;border-bottom:1px solid #edf1f5}.pd-photo-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}.pd-photo-title span{font-size:.72rem;font-weight:850;color:#36536d}.pd-photo-title small{font-size:.61rem;color:#9aa8b5}.pd-photo-frame{position:relative;display:grid;place-items:center;overflow:hidden;width:100%;height:152px;border:1px dashed #bdccda;border-radius:10px;background:linear-gradient(145deg,#f5f8fb,#edf3f7)}.pd-photo-frame.electoral{height:118px}.pd-photo-frame img{position:relative;z-index:2;width:100%;height:100%;object-fit:cover;display:none}.pd-photo-frame img[src]:not([src=""]),.pd-photo-frame img.has-photo{display:block}.pd-photo-empty{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:6px;color:#a0aebb;font-size:.66rem}.pd-photo-empty i{font-size:1.6rem;color:#b6c4cf}.pd-photo-frame img[src]:not([src=""])~.pd-photo-empty,.pd-photo-frame img.has-photo~.pd-photo-empty{display:none}
.pd-photo-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:7px}.pd-photo-actions .btn{height:33px;border-radius:8px;font-size:.69rem;font-weight:800;padding:.3rem .4rem}.pd-photo-actions .btn i{margin-right:4px}.pd-photo-note{display:flex;align-items:flex-start;gap:7px;padding:8px 11px;background:#f8fbfd;color:#7c8d9d;font-size:.64rem;line-height:1.35}.pd-photo-note i{color:#0a83c8;margin-top:1px}

.camera-drawer{position:relative;margin:10px 0 0;border:1px solid #bcdced;border-radius:13px;overflow:hidden;background:#061c32;box-shadow:0 10px 28px rgba(0,35,66,.16)}.camera-drawer-head{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;background:#082c4f;color:#fff}.camera-drawer-head>div{display:flex;align-items:center;gap:9px}.camera-drawer-head small{font-size:.64rem;opacity:.7}.camera-drawer video{display:block;width:100%;max-height:46vh;object-fit:contain;background:#02070d}.camera-drawer-actions{display:flex;justify-content:center;gap:7px;padding:8px;background:#08243e}.camera-drawer-actions .btn{min-width:132px;border-radius:8px;font-size:.72rem;font-weight:800}

.pd-form-footer{position:fixed;z-index:1053;left:calc(250px + 25px);right:25px;bottom:15px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;border:1px solid rgba(173,194,213,.8);border-radius:12px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);box-shadow:0 10px 28px rgba(19,55,88,.16)}
body.sidebar-collapse .pd-form-footer{left:99px}.pd-required-note{display:flex;align-items:center;gap:7px;color:#718397;font-size:.68rem}.pd-required-note i{color:#0b82ca}.pd-form-footer-actions{display:flex;gap:7px}.pd-form-footer-actions .btn{min-width:112px;height:36px;border-radius:9px;font-size:.73rem;font-weight:800}.pd-form-footer-actions .btn-primary{min-width:170px;box-shadow:0 5px 13px rgba(6,106,178,.18)}

/* When CRUD is inside the global modal, footer is anchored to modal not sidebar. */
#fullCrudModal .pd-militant-form .pd-form-footer{left:25px;right:25px;bottom:18px}

@media(max-width:1199.98px){.pd-crud-grid{grid-template-columns:1fr}.pd-crud-aside{position:static}.pd-photo-panel{display:grid;grid-template-columns:1fr 1fr;gap:0}.pd-photo-panel-head,.pd-photo-help,.pd-photo-note{grid-column:1/-1}.pd-photo-card{border-right:1px solid #edf1f5}.pd-photo-card:nth-of-type(2){border-right:0}.pd-photo-frame{height:170px}.pd-photo-frame.electoral{height:170px}}
@media(max-width:991.98px){#fullCrudModal .modal-dialog.modal-fullscreen{width:100vw;height:100vh;margin:0}#fullCrudModal .modal-dialog.modal-fullscreen .modal-content{height:100vh;border:0;border-radius:0}.pd-militant-form{padding-bottom:94px}.pd-crud-hero{grid-template-columns:44px minmax(0,1fr)}.pd-crud-hero-meta{grid-column:1/-1;justify-content:flex-start;margin-left:56px}.pd-form-footer,#fullCrudModal .pd-militant-form .pd-form-footer{left:10px;right:10px;bottom:9px}}
@media(max-width:767.98px){#fullCrudModal .modal-body{padding:10px 9px 0}.pd-crud-hero{padding:10px}.pd-crud-hero-copy p{display:none}.pd-crud-hero-meta{margin-left:0}.pd-quick-nav{top:-10px;overflow-x:auto;overscroll-behavior-x:contain;padding:6px 0}.pd-quick-nav::-webkit-scrollbar{display:none}.pd-quick-nav button{flex:0 0 auto;padding:6px 8px}.pd-section-head{padding:8px 10px}.pd-form-row{padding:10px 9px 2px}.pd-photo-panel{grid-template-columns:1fr}.pd-photo-panel-head,.pd-photo-help,.pd-photo-note{grid-column:auto}.pd-photo-card{border-right:0}.pd-photo-frame,.pd-photo-frame.electoral{height:180px}.pd-form-footer,#fullCrudModal .pd-militant-form .pd-form-footer{align-items:stretch;padding:7px}.pd-required-note{display:none}.pd-form-footer-actions{width:100%}.pd-form-footer-actions .btn{min-width:0;flex:1}.pd-form-footer-actions .btn-primary{flex:1.6;min-width:0}.camera-drawer-actions{flex-direction:column}.camera-drawer-actions .btn{width:100%}}
@media(max-width:420px){.pd-quick-nav button i{display:none}.pd-crud-hero-icon{width:40px;height:40px}.pd-crud-hero{grid-template-columns:40px minmax(0,1fr)}.pd-crud-hero-copy h4{font-size:.9rem}.pd-id-badge{font-size:.66rem}.pd-photo-frame,.pd-photo-frame.electoral{height:165px}}

/* v3.2 geography import/export */
.geo-import-card .card-header{background:linear-gradient(135deg,#fff,#f5faff);padding:16px 18px}.geo-export-box{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px;border:1px solid #cfe5f4;border-radius:12px;background:linear-gradient(135deg,#f4fbff,#eef8ff)}.geo-export-icon{width:44px;height:44px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,#0868b8,#0ba4dd);color:#fff;font-size:1rem}.geo-export-copy b{display:block;color:#174463;font-size:.84rem}.geo-export-copy small{display:block;color:#70879a;line-height:1.4;margin-top:2px}.geo-export-actions{display:flex;gap:6px}.geo-export-actions .btn{border-radius:8px;font-size:.72rem;font-weight:800;white-space:nowrap}.geo-import-format{padding:11px 13px;border:1px solid #e0e8ef;border-radius:11px;background:#fbfcfe}.geo-import-format pre{margin:0;padding:10px;border-radius:8px;background:#172b3f;color:#dff4ff;font-size:.72rem;white-space:pre-wrap}.geo-upload-form{padding:12px;border:1px dashed #cbd9e5;border-radius:11px;background:#fff}.geo-upload-form .custom-file-label{font-size:.76rem;border-radius:8px}.geo-upload-form .btn{border-radius:8px;font-size:.75rem;font-weight:800}
@media(max-width:767.98px){.geo-export-box{grid-template-columns:40px 1fr}.geo-export-icon{width:40px;height:40px}.geo-export-actions{grid-column:1/-1}.geo-export-actions .btn{flex:1}.geo-upload-form>div:last-child{gap:9px}.geo-upload-form>div:last-child .btn{width:100%}}

/* =========================================================
   v4.0 · PD ADMINLTE MODERN SYSTEM THEME
   ========================================================= */
:root{
  --pd-navy:#061f52;
  --pd-navy-2:#0a2f69;
  --pd-blue:#0b4ea2;
  --pd-blue-2:#0877c9;
  --pd-sky:#16a7e6;
  --pd-red:#d0181e;
  --pd-red-soft:#fff0f1;
  --pd-white:#fff;
  --pd-ink:#172940;
  --pd-muted:#75869a;
  --pd-bg:#f3f7fb;
  --pd-line:#e1e9f1;
  --pd-shadow:0 10px 34px rgba(17,54,91,.08);
}
html{scroll-behavior:smooth}
body.pd-app{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--pd-bg);color:var(--pd-ink)}
body.pd-app .content-wrapper{background:radial-gradient(circle at 92% 0,rgba(22,167,230,.055),transparent 26%),linear-gradient(180deg,#f8fbff 0,#f3f7fb 36%,#f5f8fb 100%)}
.min-w-0{min-width:0}

/* top navigation */
.pd-topbar{height:64px;border-bottom:1px solid #e4ebf2!important;box-shadow:0 3px 18px rgba(7,36,72,.045)!important;background:rgba(255,255,255,.96)!important;backdrop-filter:blur(14px)}
.pd-menu-toggle{width:42px;height:42px;margin:0 3px;display:grid!important;place-items:center;border-radius:12px;color:#41617f!important;background:#f5f8fb;transition:.2s ease}
.pd-menu-toggle:hover{background:#eaf5ff;color:var(--pd-blue)!important}
.pd-top-title{display:flex;flex-direction:column;line-height:1.12}.pd-top-title span{font-size:.9rem;font-weight:800;color:#173554}.pd-top-title small{font-size:.67rem;color:#8a98a8;margin-top:3px}
.pd-scope-chip{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;background:#f3f8fd;border:1px solid #dfebf5;color:#41647e;font-size:.72rem;font-weight:700}.pd-scope-chip i{color:#0b84cf}
.pd-user-menu{min-height:52px;padding:.35rem .55rem!important;border-radius:12px}.pd-user-menu:hover{background:#f5f8fb}.pd-user-menu b{display:block;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;color:#24445f}.pd-user-menu small{display:block;color:#8997a5;font-size:.62rem;font-weight:700;letter-spacing:.04em}
.pd-user-avatar,.pd-sidebar-avatar{display:grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,#e9f5ff,#d5ecff);color:#075f9f;font-weight:900;border:1px solid #d2e7f7}.pd-user-avatar{width:36px;height:36px;font-size:.72rem}.pd-user-dropdown{min-width:245px;border:1px solid #e4ebf2!important;border-radius:14px!important;box-shadow:0 20px 50px rgba(13,45,78,.15)!important;overflow:hidden}

/* sidebar */
.pd-sidebar{background:linear-gradient(180deg,#061d49 0%,#072b62 46%,#06477d 100%)!important;box-shadow:8px 0 28px rgba(2,29,62,.16)!important}
.pd-sidebar:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 95% 5%,rgba(29,180,239,.18),transparent 25%),linear-gradient(160deg,transparent 78%,rgba(208,24,30,.13) 78%,rgba(208,24,30,.13) 80%,transparent 80%);pointer-events:none}
.pd-brand{height:64px;display:flex!important;align-items:center!important;padding:9px 14px!important;background:rgba(255,255,255,.045)!important;border-bottom:1px solid rgba(255,255,255,.08)!important;position:relative;z-index:2}.pd-brand-logo{width:43px;height:43px;border-radius:12px;overflow:hidden;background:#fff;padding:2px;box-shadow:0 8px 18px rgba(0,0,0,.18);flex:0 0 auto}.pd-brand-logo img{width:100%;height:100%;object-fit:cover;border-radius:9px}.pd-brand .brand-text{display:flex;flex-direction:column;margin-left:11px;line-height:1.08;color:#fff!important}.pd-brand .brand-text b{font-size:1rem;letter-spacing:.02em}.pd-brand .brand-text small{font-size:.61rem;color:#a8d6f5;margin-top:4px;font-weight:600;letter-spacing:.04em}
.pd-sidebar-profile{margin:14px 11px 9px;padding:11px;display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08);border-radius:13px;position:relative;z-index:2}.pd-sidebar-avatar{width:38px;height:38px;border-radius:11px;flex:0 0 auto}.pd-sidebar-profile b{font-size:.75rem;color:#fff}.pd-sidebar-profile small{display:block;font-size:.61rem;color:#9bc4e2;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pd-sidebar .nav-sidebar{position:relative;z-index:2}.pd-sidebar .nav-header{font-size:.61rem!important;font-weight:800!important;letter-spacing:.14em!important;color:#74a5cb!important;padding:14px 15px 5px!important}.pd-sidebar .nav-sidebar>.nav-item>.nav-link{width:auto!important;margin:2px 9px!important;padding:.7rem .8rem!important;border-radius:11px!important;color:#c7d9e9!important;transition:.18s ease}.pd-sidebar .nav-sidebar>.nav-item>.nav-link:hover{background:rgba(255,255,255,.07)!important;color:#fff!important;transform:translateX(2px)}.pd-sidebar .nav-sidebar>.nav-item>.nav-link.active{background:linear-gradient(135deg,#0d6fc9,#14a7e4)!important;color:#fff!important;box-shadow:0 9px 22px rgba(0,0,0,.18)!important}.pd-sidebar .nav-sidebar .nav-icon{font-size:.88rem!important}.pd-sidebar .nav-sidebar p{font-size:.77rem;font-weight:700}.pd-master-tree>.nav-item>.nav-link{color:#a9c7de!important}.pd-master-tree>.nav-item>.nav-link.active{background:rgba(255,255,255,.11)!important}.pd-sidebar-foot{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;gap:5px;padding:10px 15px;background:rgba(0,0,0,.08);border-top:1px solid rgba(255,255,255,.07);z-index:3}.pd-sidebar-foot small{color:#83acd0;font-size:.57rem;margin-left:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pd-flag-dot{width:7px;height:7px;border-radius:50%;display:inline-block}.pd-flag-dot.red{background:#d0181e}.pd-flag-dot.white{background:#fff}.pd-flag-dot.blue{background:#2eb6ee}

/* page heading */
.pd-content-header{padding:18px 0 13px!important}.pd-page-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.pd-page-kicker{display:flex;align-items:center;gap:7px;color:#0a72bd;font-size:.61rem;font-weight:900;letter-spacing:.15em}.pd-page-kicker span{display:inline-block;width:22px;height:3px;border-radius:8px;background:linear-gradient(90deg,var(--pd-red),var(--pd-sky))}.pd-page-head h1{font-size:1.55rem;line-height:1.1;font-weight:900;color:#102e4d;margin:5px 0 4px}.pd-page-head p{margin:0;color:#8391a1;font-size:.72rem}.pd-page-brand{align-items:center;gap:10px;background:#fff;border:1px solid #e1e9f1;border-radius:14px;padding:8px 12px;box-shadow:0 7px 22px rgba(18,54,88,.05)}.pd-page-brand img{width:38px;height:38px;object-fit:cover;border-radius:10px;border:1px solid #e3eaf0}.pd-page-brand b,.pd-page-brand small{display:block}.pd-page-brand b{font-size:.72rem;color:#c0151a;letter-spacing:.03em}.pd-page-brand small{font-size:.58rem;color:#1c4c7a;font-weight:800;margin-top:2px}.pd-alert{border:0!important;border-radius:12px!important;box-shadow:0 8px 22px rgba(25,54,84,.05)}

/* global cards / tables / buttons */
body.pd-app .card{border:1px solid rgba(221,231,240,.78);border-radius:16px;box-shadow:var(--pd-shadow);overflow:hidden;background:#fff}.pd-panel>.card-header,.pd-panel-head{min-height:66px;padding:13px 16px!important;background:linear-gradient(135deg,#fff,#fbfdff)!important;border-bottom:1px solid #e8eef4!important;display:flex;align-items:center;justify-content:space-between}.pd-panel-kicker{display:block;color:#0a7ac4;font-size:.57rem;font-weight:900;letter-spacing:.15em;margin-bottom:3px}.pd-panel-head h3{font-size:.9rem!important;font-weight:850!important;color:#1d3c5a;margin:0!important}.pd-panel-icon{width:38px;height:38px;border-radius:11px;background:#edf7ff;color:#0a78c3;display:grid;place-items:center}.pd-soft-btn{border:1px solid #e0e8ef!important;background:#f8fafc!important;color:#4e6b82!important;border-radius:9px!important;font-weight:700!important}
body.pd-app .btn{border-radius:10px;font-weight:700;box-shadow:none}.btn-primary{background:linear-gradient(135deg,#0a5caf,#12a0df)!important;border-color:transparent!important}.btn-primary:hover{background:linear-gradient(135deg,#084d93,#0c89c8)!important;transform:translateY(-1px)}.btn-outline-primary{color:#0b67b4;border-color:#acd3ef}.btn-outline-primary:hover{background:#eaf6ff;color:#075694;border-color:#84c0e8}.btn-light{border-color:#e1e9f0;background:#f8fafc;color:#506a81}
body.pd-app .form-control,body.pd-app .custom-select{border:1px solid #d6e0e9;background:#fff;border-radius:9px;min-height:38px;color:#28445d}.form-control:focus,.custom-select:focus{border-color:#68b9e9!important;box-shadow:0 0 0 .16rem rgba(21,140,208,.11)!important}.form-group label{font-size:.7rem;font-weight:800;color:#425d74;margin-bottom:5px}
.pd-table thead th,.table thead th{background:#f8fafc;color:#6a7d90;font-size:.63rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;border-bottom:1px solid #e3eaf1!important;padding:.75rem}.pd-table td,.table td{border-top:1px solid #edf1f5!important;color:#334e68;font-size:.75rem;padding:.72rem .75rem}.table-hover tbody tr:hover{background:#f8fcff}.pd-person-cell{display:flex;align-items:center;gap:10px}.pd-person-cell b{display:block;color:#1f3d58;font-size:.77rem}.pd-person-cell small{display:block;color:#91a0ae;font-size:.62rem;margin-top:2px}.avatar{width:42px;height:42px;border-radius:11px}.id-chip{background:#edf7ff;border-color:#d6ebfb;color:#0964ad;border-radius:8px;font-size:.67rem;padding:5px 7px}.badge{font-size:.61rem;font-weight:800;padding:.45em .7em}.btn-action{width:34px;height:34px;display:inline-grid;place-items:center;padding:0!important;border-radius:9px!important}

/* Dashboard */
.pd-dashboard-hero{position:relative;overflow:hidden;border-radius:20px;background:linear-gradient(125deg,#061d49 0%,#083e82 62%,#0a89cb 100%);box-shadow:0 18px 45px rgba(6,42,88,.18);color:#fff}.pd-dashboard-hero:after{content:"";position:absolute;width:330px;height:330px;border:60px solid rgba(255,255,255,.045);border-radius:50%;right:-120px;top:-150px}.pd-dashboard-hero-content{position:relative;z-index:3;display:flex;align-items:center;gap:18px;padding:24px 26px}.pd-dashboard-emblem{width:78px;height:78px;border-radius:19px;padding:4px;background:#fff;box-shadow:0 12px 26px rgba(0,0,0,.18);flex:0 0 auto}.pd-dashboard-emblem img{width:100%;height:100%;object-fit:cover;border-radius:15px}.pd-dashboard-kicker{font-size:.61rem;letter-spacing:.16em;font-weight:900;color:#85d9ff}.pd-dashboard-hero h2{font-size:1.38rem;font-weight:900;margin:5px 0 4px}.pd-dashboard-hero p{font-size:.72rem;color:#cde6f8;margin:0;max-width:700px}.pd-dashboard-actions{display:flex;gap:8px;margin-left:auto;position:relative;z-index:4}.pd-dashboard-actions .btn{white-space:nowrap}.pd-hero-red,.pd-hero-sky{position:absolute;bottom:0;height:5px}.pd-hero-red{left:0;width:28%;background:var(--pd-red)}.pd-hero-sky{left:28%;right:0;background:linear-gradient(90deg,#fff 0 5%,#19b0eb 5%)}
.pd-stat-card{position:relative;min-height:126px;padding:15px;border:1px solid #e2eaf1;background:#fff;border-radius:16px;box-shadow:0 8px 24px rgba(22,56,92,.065);overflow:hidden}.pd-stat-card:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:3px;background:var(--stat-color,#0b4ea2)}.pd-stat-top{display:flex;align-items:center;gap:8px}.pd-stat-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:color-mix(in srgb,var(--stat-color,#0b4ea2) 10%,white);color:var(--stat-color,#0b4ea2)}.pd-stat-line{height:1px;background:#edf1f5;flex:1}.pd-stat-number{font-size:1.55rem;font-weight:900;color:#17354f;line-height:1;margin-top:11px}.pd-stat-name{font-size:.68rem;font-weight:800;color:#3d5c75;margin-top:4px}.pd-stat-card small{display:block;font-size:.57rem;color:#97a4b1;margin-top:2px}.pd-stat-blue{--stat-color:#0b67b6}.pd-stat-green{--stat-color:#1b9b67}.pd-stat-amber{--stat-color:#e39b20}.pd-stat-cyan{--stat-color:#18a4d9}.pd-stat-red{--stat-color:#d32834}.pd-stat-navy{--stat-color:#143d79}
.pd-quick-actions{display:grid;gap:7px}.pd-quick-actions a,.pd-quick-actions button{width:100%;border:1px solid #e2e9f0;background:#fbfdff;border-radius:12px;padding:9px 10px;display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:9px;text-align:left;color:#35536b;transition:.16s ease}.pd-quick-actions button{font:inherit}.pd-quick-actions a:hover,.pd-quick-actions button:hover{background:#f2f9ff;border-color:#c9e3f5;text-decoration:none;transform:translateX(2px)}.pd-qa-icon{width:34px;height:34px;border-radius:10px;background:#eaf6ff;color:#0875be;display:grid;place-items:center}.pd-quick-actions b,.pd-quick-actions small{display:block}.pd-quick-actions b{font-size:.71rem}.pd-quick-actions small{font-size:.58rem;color:#94a2af;margin-top:2px}.pd-quick-actions>a>i,.pd-quick-actions>button>i{font-size:.62rem;color:#a7b4bf}.pd-mini-summary{display:grid;grid-template-columns:1fr 1fr;border:1px solid #e5ebf1;border-radius:12px;overflow:hidden;background:#f9fbfd}.pd-mini-summary>div{padding:10px;text-align:center}.pd-mini-summary>div+div{border-left:1px solid #e5ebf1}.pd-mini-summary b,.pd-mini-summary span{display:block}.pd-mini-summary b{font-size:1.05rem;color:#0a68ae}.pd-mini-summary span{font-size:.57rem;color:#8494a3;text-transform:uppercase;font-weight:700;margin-top:2px}

/* List/filter pages */
.compact-stats .mini-stat{border:1px solid #e3eaf1;box-shadow:0 7px 22px rgba(20,52,84,.05);height:72px}.mini-stat>i{background:#edf7ff;color:#0875bf;border:1px solid #dceefa}.modern-filter,.filter-shell{border:1px solid #e1e9f1;box-shadow:0 8px 24px rgba(19,54,89,.055);border-radius:15px;background:linear-gradient(135deg,#fff,#fbfdff)}.militant-list-card .card-header{background:#fff!important}.militant-list-card .card-title{font-size:.86rem!important;color:#21415e}.master-area-card,.master-nav-card,.section-card{border:1px solid #e1e9f1;box-shadow:0 8px 25px rgba(20,52,84,.055)!important}

/* Full modal */
.modal-dialog.modal-fullscreen{width:100vw!important;max-width:none!important;height:100vh!important;margin:0!important}.pd-full-modal{height:100vh;min-height:100vh;border:0!important;border-radius:0!important;background:#f2f6fa!important}.pd-modal-header{min-height:64px;background:linear-gradient(110deg,#061e4e,#07539a 68%,#0b9bd7)!important;padding:10px 18px!important;box-shadow:0 5px 18px rgba(6,36,76,.16);position:relative;z-index:5}.pd-modal-icon{width:38px;height:38px;border-radius:11px;background:rgba(255,255,255,.12);display:grid;place-items:center;margin-right:10px}.pd-modal-header h5{font-size:.9rem;font-weight:850;margin:0}.pd-modal-header small{font-size:.6rem;color:#a8d9f4}.pd-modal-close{width:40px;height:40px;border-radius:11px;background:rgba(255,255,255,.08)!important;opacity:1!important;font-weight:400!important}.pd-modal-close:hover{background:rgba(255,255,255,.16)!important}.pd-loader-ring{width:34px;height:34px;border:3px solid #d8e9f6;border-top-color:#0a7ac4;border-radius:50%;animation:pdspin .8s linear infinite}@keyframes pdspin{to{transform:rotate(360deg)}}

/* Forms and CRUD */
.pd-crud-hero{border-color:#dbe7f1!important;box-shadow:0 8px 22px rgba(20,57,92,.055)!important}.pd-crud-hero-icon{background:linear-gradient(135deg,#0a61b1,#16a7e6)!important}.pd-form-section,.pd-photo-panel{border-color:#dde7f0!important;box-shadow:0 6px 20px rgba(22,55,89,.05)!important}.pd-section-head{background:linear-gradient(135deg,#fcfeff,#f6fbff)!important}.pd-section-icon{background:#eaf6ff!important;color:#0876bc!important}.pd-form-footer{border-color:#d9e3ec!important;box-shadow:0 14px 34px rgba(15,50,82,.14)!important}.pd-photo-panel-head{background:linear-gradient(135deg,#07386f,#0a79ba 70%,#17a7dd)!important}.modal-form-hero{border-color:#dbe7f1!important}.modal-form-icon{background:linear-gradient(135deg,#0a61b1,#16a7e6)!important}.section-title{color:#1e405f!important}.section-title i{color:#0875bb!important}

/* Login v4 polish */
.pd-login-v3{background:#eff5fb!important}.pd-login-hero{background:linear-gradient(145deg,#061a46 0%,#073b7b 55%,#0b8fcf 100%)!important}.pd-login-hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:7px;background:linear-gradient(90deg,var(--pd-red) 0 26%,#fff 26% 31%,#25b6ef 31%)}.pd-login-logo-wrap{border:1px solid rgba(255,255,255,.55)}.pd-login-panel{background:radial-gradient(circle at 100% 0,rgba(20,167,230,.08),transparent 25%),linear-gradient(180deg,#fff,#f8fbfe)!important}.pd-login-formbox{background:#fff;border:1px solid #e2eaf1;border-radius:22px;padding:28px;box-shadow:0 22px 60px rgba(16,52,87,.11)}.pd-login-btn{background:linear-gradient(135deg,#0a5eae,#13a2df)!important}

/* Footer */
.pd-footer{border-top:1px solid #e2e9f0!important;color:#718296;font-size:.66rem;background:#fff}.pd-footer strong{color:#25445e}

/* Responsive */
@media(max-width:1199.98px){.pd-dashboard-hero-content{flex-wrap:wrap}.pd-dashboard-actions{width:100%;margin-left:96px}.pd-stat-card{min-height:120px}}
@media(max-width:991.98px){.pd-sidebar-foot{display:none}.pd-content-header{padding-top:14px!important}.pd-page-head h1{font-size:1.35rem}.pd-dashboard-actions{margin-left:0}.pd-dashboard-emblem{width:64px;height:64px}.pd-dashboard-hero h2{font-size:1.18rem}.pd-login-formbox{border:0;box-shadow:none;padding:0;background:transparent}}
@media(max-width:767.98px){.pd-topbar{height:58px}.pd-dashboard-hero-content{padding:18px}.pd-dashboard-emblem{width:58px;height:58px;border-radius:16px}.pd-dashboard-hero h2{font-size:1rem}.pd-dashboard-hero p{display:none}.pd-dashboard-actions{display:grid;grid-template-columns:1fr 1fr}.pd-dashboard-actions .btn{font-size:.68rem}.pd-stat-card{min-height:112px;padding:12px}.pd-stat-number{font-size:1.35rem}.pd-stat-icon{width:34px;height:34px}.pd-page-head h1{font-size:1.2rem}.pd-page-head p{font-size:.65rem}.pd-panel-head{min-height:59px!important}.pd-table td,.table td{font-size:.7rem}.pd-full-modal .modal-body{padding:10px!important}}
@media(max-width:575.98px){.pd-dashboard-hero-content{display:grid;grid-template-columns:58px 1fr;gap:12px}.pd-dashboard-actions{grid-column:1/-1}.pd-page-kicker{font-size:.55rem}.pd-user-menu span.ml-2{display:none!important}.pd-login-formbox{width:100%}.pd-stat-card{min-height:108px}.pd-stat-name{font-size:.63rem}.pd-stat-card small{display:none}}

/* v4.1 · Master workspace + Backup/Sync */
.master-workspace{align-items:flex-start}
.master-nav-sticky{position:sticky;top:78px}
.master-main-card{border:1px solid #e1e9f1!important;border-radius:16px!important;overflow:hidden;box-shadow:0 9px 28px rgba(20,52,84,.06)!important}
.master-main-card>.card-header{background:linear-gradient(180deg,#fff,#fbfdff)!important;border-bottom:1px solid #edf1f5!important;min-height:64px}
.backup-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 24px;border-radius:18px;background:linear-gradient(135deg,#fff 0%,#f4f9ff 65%,#e8f7ff 100%);border:1px solid #dfeaf4;box-shadow:0 10px 30px rgba(18,55,94,.06);position:relative;overflow:hidden}
.backup-hero:after{content:"";position:absolute;right:-35px;top:-55px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(13,130,210,.13),rgba(13,130,210,0) 70%)}
.backup-hero h2{font-size:1.25rem;font-weight:900;color:#173856;margin:2px 0 5px}.backup-hero p{margin:0;color:#718397;font-size:.82rem;max-width:760px}.backup-hero-actions{display:flex;gap:8px;position:relative;z-index:2;flex:0 0 auto}.backup-hero-actions .btn{border-radius:10px;font-weight:800;white-space:nowrap}
.backup-stat{height:82px;background:#fff;border:1px solid #e2eaf2;border-radius:15px;display:flex;align-items:center;gap:12px;padding:13px 15px;box-shadow:0 6px 20px rgba(20,52,84,.05)}.backup-stat>i{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,#eaf5ff,#effaff);border:1px solid #d9ebfa;color:#0873bf;font-size:1rem}.backup-stat span{display:block;font-size:.65rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#8a98a8}.backup-stat b{display:block;color:#1f405f;font-size:.93rem;margin-top:3px;white-space:nowrap}
.backup-settings-card .form-control{border-radius:10px;border-color:#dbe6ef}.backup-settings-card label{font-size:.8rem;color:#294964}.backup-cron-code{display:block;white-space:normal;word-break:break-all;background:#081c32;color:#a8e3ff;border-radius:10px;padding:10px 11px;font-size:.7rem}
.backup-list-card .table th{white-space:nowrap}.backup-file-name{font-size:.7rem}.backup-mini{height:63px;border:1px solid #e3eaf1;border-radius:12px;background:#fbfdff;padding:10px 12px}.backup-mini span{display:block;font-size:.62rem;color:#8796a6;font-weight:800}.backup-mini b{display:block;font-size:1.05rem;color:#126db2;margin-top:2px}
@media(max-width:1199.98px){.master-nav-sticky{position:static}.backup-hero{align-items:flex-start}.backup-hero-actions{flex-wrap:wrap}}
@media(max-width:767.98px){.backup-hero{display:block;padding:17px}.backup-hero-actions{margin-top:14px;display:grid;grid-template-columns:1fr 1fr}.backup-hero-actions form,.backup-hero-actions .btn{width:100%}.backup-stat{height:75px;padding:10px}.backup-stat>i{width:38px;height:38px}.backup-stat b{font-size:.8rem}.master-nav-card{border-radius:14px}}

/* v4.2 · Estrutura & Organograma Dinámiku */
.org-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 24px;border-radius:19px;background:linear-gradient(135deg,#fff 0%,#f4f9ff 58%,#e8f7ff 100%);border:1px solid #dce8f3;box-shadow:0 10px 30px rgba(18,55,94,.06);position:relative;overflow:hidden}.org-hero:after{content:"";position:absolute;right:-55px;top:-85px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(15,142,213,.13),rgba(15,142,213,0) 70%)}.org-hero h2{font-size:1.35rem;font-weight:900;color:#163a5b;margin:3px 0 5px}.org-hero p{margin:0;color:#718397;font-size:.8rem;max-width:820px}.org-hero-actions{display:flex;gap:8px;flex-wrap:wrap;position:relative;z-index:2}.org-hero-actions .btn{white-space:nowrap}
.org-branch-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.org-branch-tab{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #e0e8f0;border-radius:15px;padding:11px 12px;color:#304f69;box-shadow:0 6px 18px rgba(20,52,84,.04);transition:.16s ease;min-height:68px}.org-branch-tab:hover{text-decoration:none;transform:translateY(-1px);border-color:#c9deef;color:#184e78}.org-branch-tab.active{border-color:color-mix(in srgb,var(--wing-color,#0b67b6) 45%,#dce7f0);box-shadow:0 9px 24px color-mix(in srgb,var(--wing-color,#0b67b6) 13%,transparent);background:linear-gradient(135deg,#fff,color-mix(in srgb,var(--wing-color,#0b67b6) 6%,#fff))}.org-tab-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:color-mix(in srgb,var(--wing-color,#0b67b6) 10%,#fff);color:var(--wing-color,#0b67b6);flex:0 0 auto}.org-branch-tab b,.org-branch-tab small{display:block}.org-branch-tab b{font-size:.73rem}.org-branch-tab small{font-size:.56rem;color:#8998a8;margin-top:2px;line-height:1.2}
.org-toolbar-card,.org-tree-card{border:1px solid #e1e9f1!important;box-shadow:0 8px 25px rgba(20,52,84,.055)!important}.org-tree-scroll{overflow:auto;min-height:420px;max-height:72vh;background:radial-gradient(circle at 20% 0,rgba(19,159,230,.045),transparent 28%),linear-gradient(180deg,#fcfeff,#f7fafc)}
.pd-org-level{list-style:none;margin:0;padding:0 0 0 28px;position:relative}.pd-org-level[data-depth="0"]{padding-left:0}.pd-org-level:not([data-depth="0"]):before{content:"";position:absolute;left:11px;top:0;bottom:14px;border-left:1px dashed #bfd1e1}.pd-org-level.is-collapsed{display:none}.pd-org-item{position:relative;margin:10px 0}.pd-org-item:not(:first-child){}.pd-org-item>.pd-org-node:before{content:"";position:absolute;left:-18px;top:31px;width:18px;border-top:1px dashed #bfd1e1}.pd-org-level[data-depth="0"]>.pd-org-item>.pd-org-node:before{display:none}.pd-org-node{position:relative;width:min(520px,calc(100vw - 360px));min-width:320px;background:#fff;border:1px solid #dfe8f1;border-radius:15px;box-shadow:0 6px 18px rgba(24,57,90,.055);overflow:hidden;transition:.15s ease}.pd-org-node:hover{box-shadow:0 10px 26px rgba(24,57,90,.09);border-color:#c8dced}.pd-org-node-top{height:32px;display:flex;align-items:center;gap:7px;padding:0 9px;background:linear-gradient(180deg,#fbfdff,#f6faff);border-bottom:1px solid #edf2f6}.pd-org-toggle{width:22px;height:22px;border:0;border-radius:7px;background:#eaf5ff;color:#0c70b9;display:grid;place-items:center;font-size:.62rem;padding:0}.pd-org-toggle-placeholder{width:22px;text-align:center;color:#bfd0de;font-size:.36rem}.pd-org-type,.pd-org-wing,.pd-org-code{font-size:.57rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.pd-org-type{color:#61788e}.pd-org-wing{background:#eaf6ff;color:#0a6fb4;padding:3px 6px;border-radius:999px}.pd-org-code{margin-left:auto;color:#9aa8b5;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.pd-org-node-body{padding:11px 12px 10px}.pd-org-node-title{font-size:.83rem;font-weight:900;color:#1d3f5d;line-height:1.2}.pd-org-node-area{font-size:.62rem;color:#6e8294;margin-top:4px}.pd-org-node-area i{color:#1190d1;margin-right:4px}.pd-org-node-desc{font-size:.62rem;color:#83919e;margin-top:5px}.pd-org-members{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:9px}.pd-org-person{position:relative;display:flex;align-items:center;gap:7px;border:1px solid #e6edf3;border-radius:10px;padding:6px 26px 6px 6px;background:#fbfdff;min-width:0}.pd-org-person img{width:31px;height:31px;border-radius:9px;object-fit:cover;border:1px solid #dfe7ef;background:#fff}.pd-org-person>div{min-width:0}.pd-org-person b,.pd-org-person small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pd-org-person b{font-size:.61rem;color:#2b4b65}.pd-org-person small{font-size:.53rem;color:#8997a4;margin-top:1px}.pd-org-person-edit{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:19px;height:19px;border:0;border-radius:6px;background:#edf6fd;color:#0b70b8;font-size:.48rem}.pd-org-more,.pd-org-empty-person{grid-column:1/-1;font-size:.56rem;color:#8b9aa8;padding:4px 2px}.pd-org-node-foot{min-height:32px;padding:5px 8px 5px 11px;border-top:1px solid #edf2f6;display:flex;align-items:center;gap:12px;background:#fbfdff;color:#768a9b;font-size:.56rem}.pd-org-node-foot .btn-xs{padding:.2rem .42rem;font-size:.55rem;border-radius:7px}.wing-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:7px;vertical-align:middle}.org-search-hide{display:none!important}.org-type-national{border-left:4px solid #cf111b}.org-type-municipal{border-left:4px solid #0b4ea2}.org-type-posto{border-left:4px solid #139fe6}.org-type-suco{border-left:4px solid #24a36a}.org-type-aldeia{border-left:4px solid #e6a323}.org-type-wing{border-left:4px solid #8a49c7}.org-type-department,.org-type-secretariat{border-left:4px solid #6f7f91}
@media(max-width:1199.98px){.org-branch-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.pd-org-node{width:min(540px,calc(100vw - 120px))}.org-hero{align-items:flex-start}.org-hero-actions{max-width:420px}}
@media(max-width:767.98px){.org-hero{display:block;padding:16px}.org-hero h2{font-size:1.05rem}.org-hero-actions{margin-top:12px;display:grid;grid-template-columns:1fr 1fr}.org-branch-tabs{grid-template-columns:1fr}.pd-org-level{padding-left:18px}.pd-org-level:not([data-depth="0"]):before{left:6px}.pd-org-item>.pd-org-node:before{left:-12px;width:12px}.pd-org-node{width:calc(100vw - 58px);min-width:285px}.pd-org-members{grid-template-columns:1fr}.org-tree-scroll{padding:10px!important}}

/* =========================================================
   v4.3 · Militantes Modern Profile / Completion / Filters
   ========================================================= */
.pd-member-overview{background:linear-gradient(135deg,#062b68 0%,#075aa7 58%,#14a4df 100%);border-radius:20px;padding:20px 22px;color:#fff;position:relative;overflow:hidden;box-shadow:0 16px 42px rgba(7,65,125,.18)}
.pd-member-overview:before{content:"";position:absolute;width:260px;height:260px;border:46px solid rgba(255,255,255,.055);border-radius:50%;right:-90px;top:-110px}.pd-member-overview:after{content:"";position:absolute;width:180px;height:70px;background:rgba(215,16,25,.16);transform:rotate(-18deg);left:-55px;bottom:-48px}
.pd-member-overview-head{display:flex;justify-content:space-between;align-items:center;gap:18px;position:relative;z-index:2;margin-bottom:17px}.pd-overview-kicker{font-size:.68rem;letter-spacing:.17em;font-weight:900;color:#8fdcff}.pd-member-overview h3{font-weight:900;font-size:1.45rem;margin:4px 0 2px}.pd-member-overview p{margin:0;color:#cfe7f7;font-size:.82rem}.pd-main-add{border:1px solid rgba(255,255,255,.4)!important;background:#fff!important;color:#075ba8!important;border-radius:12px!important;font-weight:800!important;padding:.7rem 1rem!important;box-shadow:0 10px 24px rgba(0,0,0,.12)}
.pd-member-mini-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;position:relative;z-index:2}.pd-member-mini{display:flex;align-items:center;gap:11px;background:rgba(255,255,255,.94);color:#18334f;border-radius:14px;padding:11px 12px;min-width:0;box-shadow:0 8px 22px rgba(3,29,61,.08)}.pd-member-mini .ico{width:39px;height:39px;display:grid;place-items:center;border-radius:11px;flex:0 0 auto;font-size:.92rem}.pd-member-mini .ico.blue{background:#e5f3ff;color:#0874c3}.pd-member-mini .ico.green{background:#e5f8ed;color:#159257}.pd-member-mini .ico.amber{background:#fff3d7;color:#c28208}.pd-member-mini .ico.cyan{background:#e2f8fb;color:#0b8a9c}.pd-member-mini .ico.navy{background:#e7ecfb;color:#2f4c91}.pd-member-mini .ico.red{background:#fdebed;color:#c53340}.pd-member-mini small{display:block;text-transform:uppercase;letter-spacing:.04em;font-size:.61rem;font-weight:900;color:#718399}.pd-member-mini b{display:block;font-size:1.14rem;line-height:1.08;margin:1px 0;color:#16334f}.pd-member-mini em{display:block;font-style:normal;font-size:.62rem;color:#8b9aaa;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pd-member-filter-card{background:#fff;border:1px solid #dfe8f0;border-radius:17px;padding:14px 15px 6px;box-shadow:0 9px 28px rgba(20,55,91,.06)}.pd-filter-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px;padding-bottom:9px;border-bottom:1px solid #edf2f6}.pd-filter-title>div{display:flex;align-items:center;gap:7px}.pd-filter-title i{color:#0875c4}.pd-filter-title b{color:#183957}.pd-filter-title span{font-size:.7rem;color:#8695a5;margin-left:3px}.pd-member-filter-card label{font-size:.68rem;text-transform:uppercase;letter-spacing:.035em;color:#718397;font-weight:900;margin-bottom:5px}.pd-member-filter-card .form-control,.pd-member-filter-card .custom-select{border-radius:10px;border-color:#dce6ef;height:39px;font-size:.79rem}.pd-search-box .input-group-text{border-color:#dce6ef;background:#f8fbfd;color:#7b8d9e;border-radius:10px 0 0 10px}.pd-search-box .form-control{border-left:0}
.pd-member-table-card{border:1px solid #dfe8f0!important;border-radius:17px!important;overflow:hidden;box-shadow:0 10px 30px rgba(20,55,91,.055)!important}.pd-member-table-card .card-header{border-bottom:1px solid #e8eef4!important;background:linear-gradient(180deg,#fff,#fbfdff)!important}.pd-member-table thead th{font-size:.65rem;letter-spacing:.045em;text-transform:uppercase;color:#73869a;background:#f8fafc;border-top:0;border-bottom:1px solid #e5ecf2;padding:.78rem .7rem}.pd-member-table tbody td{vertical-align:middle;padding:.68rem .7rem;border-color:#edf1f5}.pd-member-cell{display:flex;align-items:center;gap:11px;min-width:245px}.pd-member-avatar-wrap{position:relative;flex:0 0 auto}.pd-member-avatar{width:45px;height:45px;border-radius:13px;object-fit:cover;border:1px solid #d6e2eb;background:#eef3f7}.pd-member-avatar.empty{display:grid;place-items:center;color:#a6b4c1}.pd-profile-dot{position:absolute;width:12px;height:12px;border-radius:50%;right:-2px;bottom:-2px;border:2px solid #fff}.pd-profile-dot.ok{background:#25a55b}.pd-profile-dot.warn{background:#18a1d2}.pd-profile-dot.bad{background:#e0a11b}.pd-member-name{font-weight:850;color:#173955;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.pd-member-contact{font-size:.68rem;color:#8795a5;margin-top:3px}.pd-member-contact i{margin-right:4px}.pd-wa-link{color:#178c54!important;font-weight:750}.pd-wa-link:hover{text-decoration:underline}.pd-area-stack b,.pd-area-stack span,.pd-area-stack small{display:block}.pd-area-stack b{font-size:.78rem;color:#1e405e}.pd-area-stack span{font-size:.7rem;color:#61778c;margin-top:2px}.pd-area-stack small{font-size:.65rem;color:#97a5b3;margin-top:1px}.pd-completion-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.pd-completion-row b{color:#153b61;font-size:.78rem}.pd-completion-row span{font-size:.62rem;color:#8a99a8}.pd-completion-progress{height:7px;border-radius:10px;background:#edf2f6;overflow:hidden}.pd-completion-progress .progress-bar{border-radius:10px}
.pd-profile-shell{max-width:1510px;margin:0 auto}.pd-profile-hero{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(260px,350px) auto;align-items:center;gap:17px;background:linear-gradient(135deg,#062e6c 0%,#075eab 62%,#15a5df 100%);color:#fff;border-radius:19px;padding:18px 20px;position:relative;overflow:hidden;box-shadow:0 14px 38px rgba(7,65,125,.16);margin-bottom:14px}.pd-profile-hero:after{content:"";position:absolute;width:260px;height:260px;border:45px solid rgba(255,255,255,.045);border-radius:50%;right:-100px;top:-120px}.pd-profile-photo-wrap{position:relative;z-index:2}.pd-profile-photo-wrap img,.pd-profile-photo-empty{width:92px;height:108px;border-radius:16px;object-fit:cover;background:#eef3f7;border:3px solid rgba(255,255,255,.9);box-shadow:0 8px 24px rgba(0,0,0,.16)}.pd-profile-photo-empty{display:grid;place-items:center;color:#9aabba;font-size:2rem}.pd-profile-status-dot{position:absolute;width:18px;height:18px;border-radius:50%;border:3px solid #fff;right:-4px;bottom:-4px}.pd-profile-status-dot.active{background:#29b765}.pd-profile-status-dot.pending{background:#efb027}.pd-profile-hero-main{position:relative;z-index:2}.pd-profile-kicker{font-size:.67rem;letter-spacing:.16em;font-weight:900;color:#96ddff}.pd-profile-hero h3{font-size:1.65rem;font-weight:900;margin:3px 0 6px}.pd-profile-meta{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.pd-profile-meta span:not(.badge){font-size:.72rem;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.13);border-radius:20px;padding:5px 9px}.pd-profile-meta i{margin-right:5px;color:#98ddff}.pd-profile-contact-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.pd-contact-chip{display:inline-flex;align-items:center;gap:5px;color:#e8f5ff!important;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:5px 8px;font-size:.7rem}.pd-profile-completion-box{position:relative;z-index:2;display:flex;align-items:center;gap:11px;padding:10px 12px;background:rgba(255,255,255,.96);border-radius:15px;color:#1b3957;box-shadow:0 9px 24px rgba(0,0,0,.10)}.pd-profile-percent{width:68px;height:68px;flex:0 0 auto;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;border:6px solid #18a5da}.pd-profile-percent.complete{border-color:#28a862}.pd-profile-percent strong{font-size:1.12rem;line-height:1}.pd-profile-percent span{font-size:.56rem;text-transform:uppercase;color:#8392a0;font-weight:800;margin-top:2px}.pd-profile-progress-copy{min-width:0;flex:1}.pd-profile-progress-copy b{display:block;font-size:.78rem}.pd-profile-progress-copy small{display:block;color:#8695a3;font-size:.62rem;margin:2px 0 6px}.pd-profile-progress-copy .progress{height:6px;border-radius:10px;background:#e9eff4}.pd-profile-actions{position:relative;z-index:2;display:flex;gap:7px;flex-direction:column}.pd-profile-actions .btn{border-radius:10px;white-space:nowrap;font-weight:750}.pd-profile-actions .btn-outline-dark{background:#fff;border-color:#fff;color:#17466f}.pd-profile-missing{border:1px solid #f3d99d;background:linear-gradient(135deg,#fffaf0,#fffdf8);border-radius:15px;padding:12px 14px}.pd-profile-missing-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.pd-profile-missing-head>div{display:flex;align-items:center;gap:7px}.pd-profile-missing-head i{color:#d89913}.pd-profile-missing-head b{color:#654a12}.pd-profile-missing-head span{font-size:.7rem;color:#8d7a55}.pd-missing-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.pd-missing-chips span{background:#fff;border:1px solid #efdcae;color:#755b22;border-radius:20px;padding:5px 8px;font-size:.66rem;font-weight:700}.pd-missing-chips i{font-size:.35rem;margin-right:5px;color:#dfa31a}.pd-profile-info-card .info-item{height:100%;border-radius:11px;background:#fafcfe;border:1px solid #e8eef4;padding:10px 11px}.pd-profile-info-item .label{font-size:.64rem;color:#8191a1;text-transform:uppercase;font-weight:850}.pd-profile-info-item .value{font-size:.78rem;color:#1d3a55;font-weight:750;margin-top:3px}.pd-profile-notes-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.pd-profile-notes-grid>div{border:1px solid #e7edf3;background:#fbfcfd;border-radius:11px;padding:10px}.pd-profile-notes-grid span{font-size:.64rem;text-transform:uppercase;color:#8291a0;font-weight:850}.pd-profile-notes-grid p{font-size:.76rem;color:#40566c;margin:5px 0 0}.pd-electoral-photo{width:100%;max-height:340px;object-fit:contain;background:#f5f8fa;border:1px solid #e1e8ee;border-radius:12px}.pd-profile-quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pd-profile-quick-actions .btn{display:flex;align-items:center;gap:8px;text-align:left;border-radius:10px;padding:.7rem}.pd-profile-quick-actions .btn i{width:22px;text-align:center}.pd-profile-quick-actions .btn span{font-weight:750;font-size:.75rem}
@media(max-width:1399px){.pd-member-mini-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pd-profile-hero{grid-template-columns:auto minmax(0,1fr) 310px}.pd-profile-actions{grid-column:2/4;flex-direction:row;justify-content:flex-end}}
@media(max-width:991.98px){.pd-member-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pd-profile-hero{grid-template-columns:auto 1fr}.pd-profile-completion-box{grid-column:1/3}.pd-profile-actions{grid-column:1/3;justify-content:flex-start}.pd-profile-notes-grid{grid-template-columns:1fr}.pd-profile-missing-head{align-items:flex-start;flex-direction:column}.pd-profile-missing-head>div{align-items:flex-start;flex-wrap:wrap}}
@media(max-width:575.98px){.pd-member-overview{padding:15px}.pd-member-overview-head{align-items:flex-start;flex-direction:column}.pd-main-add{width:100%}.pd-member-mini-grid{grid-template-columns:1fr 1fr}.pd-member-mini{padding:9px}.pd-member-mini .ico{width:34px;height:34px}.pd-filter-title>div span{display:none}.pd-profile-hero{grid-template-columns:1fr;text-align:center}.pd-profile-photo-wrap{margin:auto}.pd-profile-meta,.pd-profile-contact-row{justify-content:center}.pd-profile-completion-box,.pd-profile-actions{grid-column:auto}.pd-profile-actions{flex-direction:column}.pd-profile-quick-actions{grid-template-columns:1fr}.pd-member-filter-card{padding:12px 12px 3px}}

/* =========================================================
   v4.6 · QUICK COUNT · SUPERADMIN ONLY
   ========================================================= */
.qc-hero{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:22px 24px;border-radius:20px;background:linear-gradient(135deg,#061f52 0%,#0b4ea2 54%,#16a7e6 100%);color:#fff;box-shadow:0 16px 38px rgba(6,50,106,.18);position:relative;overflow:hidden;margin-bottom:14px}.qc-hero:after{content:"";position:absolute;width:280px;height:280px;border:45px solid rgba(255,255,255,.045);border-radius:50%;right:-80px;top:-110px}.qc-hero>div{position:relative;z-index:2}.qc-kicker{font-size:.64rem;font-weight:900;letter-spacing:.14em;color:#a8e5ff}.qc-hero h2{font-weight:900;font-size:1.7rem;margin:4px 0}.qc-hero p{margin:0;color:#d6efff;font-size:.74rem}.qc-hero-actions{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}.qc-hero-actions .btn{border-radius:10px;font-weight:800;font-size:.74rem}.qc-election-picker{border:1px solid #dfe8f0!important;border-radius:16px!important;box-shadow:0 9px 28px rgba(20,55,91,.05)!important}.qc-election-picker label{font-size:.67rem;text-transform:uppercase;letter-spacing:.04em;color:#74869b;font-weight:900}.qc-stat-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:14px}.qc-stat{display:flex;gap:10px;align-items:center;padding:12px;background:#fff;border:1px solid #dfe8f0;border-radius:15px;box-shadow:0 8px 24px rgba(20,55,91,.05);min-width:0}.qc-stat .ico{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;flex:0 0 auto}.qc-stat .ico.blue{background:#e5f3ff;color:#0874c3}.qc-stat .ico.cyan{background:#e2f8fb;color:#0b8a9c}.qc-stat .ico.green{background:#e5f8ed;color:#159257}.qc-stat .ico.navy{background:#e7ecfb;color:#2f4c91}.qc-stat .ico.amber{background:#fff3d7;color:#c28208}.qc-stat .ico.red{background:#fdebed;color:#c53340}.qc-stat small{display:block;text-transform:uppercase;letter-spacing:.04em;font-size:.57rem;font-weight:900;color:#77889b}.qc-stat b{display:block;font-size:1.05rem;color:#16334f;line-height:1.1}.qc-stat em{display:block;font-size:.59rem;color:#8d9baa;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qc-card{border:1px solid #dfe8f0!important;border-radius:16px!important;overflow:hidden;box-shadow:0 10px 30px rgba(20,55,91,.055)!important}.qc-card .card-header{background:linear-gradient(180deg,#fff,#fbfdff)!important;border-bottom:1px solid #e8eef4!important}.qc-report-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.7fr);gap:12px}.qc-result-entry{border:1px solid #e2eaf1;border-radius:12px;overflow:hidden}.qc-result-entry-head{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#f6faff;border-bottom:1px solid #e5edf4;color:#284c6b}.qc-result-entry-head b{font-size:.78rem}.qc-result-entry-head span{font-size:.62rem;color:#8293a4}.qc-vote-row{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:12px;align-items:center;padding:8px 11px;border-bottom:1px solid #edf2f6}.qc-vote-row:last-child{border-bottom:0}.qc-vote-row b{display:block;color:#1b3d5b;font-size:.77rem}.qc-vote-row small{display:block;color:#8b99a7;font-size:.62rem}.qc-vote-row input{height:38px;border-radius:9px;text-align:right;font-weight:800}.qc-check-box{height:67px;border:1px solid #dce7ef;border-radius:11px;background:#f9fcfe;padding:8px 10px;display:flex;flex-direction:column;justify-content:center}.qc-check-box small{font-size:.58rem;text-transform:uppercase;color:#8091a2;font-weight:900}.qc-check-box b{font-size:1rem;color:#173d62}.qc-check-box span{font-size:.62rem;font-weight:800}.qc-check-box span.ok{color:#159257}.qc-check-box span.bad{color:#c43b45}.modal-sticky-actions{position:sticky;bottom:-1px;z-index:5;margin:14px -16px -16px;padding:11px 16px;background:rgba(255,255,255,.96);border-top:1px solid #e5edf4;display:flex;justify-content:flex-end;gap:8px;backdrop-filter:blur(8px)}
@media(max-width:1399px){.qc-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:991.98px){.qc-hero{align-items:flex-start;flex-direction:column}.qc-hero-actions{justify-content:flex-start}.qc-report-grid{grid-template-columns:1fr}}@media(max-width:575.98px){.qc-stat-grid{grid-template-columns:1fr 1fr}.qc-hero-actions .btn{flex:1}.qc-vote-row{grid-template-columns:1fr 110px}}

/* =========================================================
   v4.7 · QUICK COUNT SCOPED ACCESS
   ========================================================= */
.pd-mini-note{display:flex;align-items:center;gap:10px;padding:10px 12px;background:linear-gradient(135deg,#f7fbff,#eef7ff);border:1px solid #d9eaf7;border-radius:12px;color:#264c6c}.pd-mini-note>i{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:#e2f3ff;color:#0875be}.pd-mini-note b,.pd-mini-note small{display:block}.pd-mini-note b{font-size:.74rem}.pd-mini-note small{font-size:.62rem;color:#7890a3;margin-top:2px}.pd-access-scope-box{border:1px solid #dfe9f1;border-radius:13px;background:#fbfdff;padding:12px 13px;margin:4px 0 10px}.pd-access-scope-box .section-title{border-bottom:1px solid #edf2f6;padding-bottom:8px}.badge-warning{color:#5f4600}


/* v4.9 Quick Count analytical dashboard */
.qc49-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 28px;margin-bottom:18px;border-radius:22px;background:linear-gradient(118deg,#05295e 0%,#0a4f99 57%,#0d87cd 100%);color:#fff;box-shadow:0 18px 45px rgba(4,42,94,.18)}
.qc49-hero:after{content:"";position:absolute;width:330px;height:330px;border:52px solid rgba(255,255,255,.06);border-radius:50%;right:-110px;top:-155px}.qc49-hero>*{position:relative;z-index:1}.qc49-eyebrow{font-size:.72rem;letter-spacing:.12em;font-weight:800;opacity:.8}.qc49-hero h2{font-weight:800;margin:5px 0 4px;font-size:1.65rem}.qc49-hero p{margin:0;opacity:.86}.qc49-hero-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.qc49-filter-card,.qc49-card{border:0;border-radius:18px;box-shadow:0 8px 26px rgba(20,53,92,.075)}.qc49-filter-card .card-body{padding:18px}.qc49-filter-card label{font-size:.73rem;text-transform:uppercase;letter-spacing:.04em;color:#56708d;font-weight:700}.qc49-filter-card .form-control{border-radius:10px;border-color:#dce7f2;height:40px}
.qc49-stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;margin-bottom:14px}.qc49-stat{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid #edf2f7;border-radius:17px;padding:15px;box-shadow:0 6px 20px rgba(19,49,85,.055);min-width:0}.qc49-stat .ico{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;font-size:1rem;flex:0 0 auto}.qc49-stat .ico.blue{background:#e8f2ff;color:#176fc1}.qc49-stat .ico.amber{background:#fff5dc;color:#b77800}.qc49-stat .ico.green{background:#e7f8ef;color:#168a4b}.qc49-stat .ico.purple{background:#f0eaff;color:#6d4bc2}.qc49-stat .ico.cyan{background:#e8f9ff;color:#0786ad}.qc49-stat small{display:block;color:#71849a;font-weight:700}.qc49-stat strong{display:block;font-size:1.35rem;color:#132f52;line-height:1.08}.qc49-stat em{display:block;font-size:.69rem;color:#94a3b4;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qc49-progress-wrap{background:#fff;border-radius:15px;border:1px solid #edf2f7;padding:12px 15px;margin-bottom:16px;font-size:.78rem;color:#58718d}.qc49-progress-wrap .progress{height:6px;border-radius:10px;background:#edf3f8}.qc49-progress-wrap .progress-bar{border-radius:10px;background:linear-gradient(90deg,#0b67b6,#1ba4e6)}
.qc49-entity-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:16px}.qc49-entity-card{--entity-color:#0b67b6;display:flex;gap:12px;padding:13px;background:#fff;border:1px solid #edf1f6;border-radius:17px;box-shadow:0 7px 22px rgba(15,48,84,.06);position:relative;overflow:hidden}.qc49-entity-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--entity-color)}.qc49-entity-media{width:56px;height:56px;border-radius:15px;overflow:hidden;flex:0 0 auto;background:color-mix(in srgb,var(--entity-color) 12%,white);border:1px solid color-mix(in srgb,var(--entity-color) 28%,white)}.qc49-entity-media img{width:100%;height:100%;object-fit:cover}.qc49-entity-media span{display:grid;place-items:center;width:100%;height:100%;font-size:1.2rem;color:var(--entity-color)}.qc49-entity-body{min-width:0;flex:1}.qc49-entity-top{display:flex;justify-content:space-between;gap:8px}.qc49-entity-top small{font-size:.65rem;color:#8495a7;font-weight:700}.qc49-entity-top h5{font-size:.94rem;font-weight:800;color:#16385e;margin:1px 0 7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qc49-color-chip,.qc-color-dot{display:inline-block;width:13px;height:13px;border-radius:50%;box-shadow:0 0 0 3px rgba(0,0,0,.04);flex:0 0 auto}.qc49-entity-score{display:flex;align-items:baseline;gap:9px}.qc49-entity-score b{font-size:1rem;color:#142f50}.qc49-entity-score span{font-weight:800;color:var(--entity-color)}.qc49-mini-progress{height:5px;background:#edf2f6;border-radius:10px;margin-top:7px;overflow:hidden}.qc49-mini-progress i{display:block;height:100%;background:var(--entity-color);border-radius:10px}
.qc49-card .card-header{background:#fff;border-bottom:1px solid #eef2f6;border-radius:18px 18px 0 0;padding:15px 18px;display:flex;align-items:center;justify-content:space-between}.qc49-card .card-title{font-size:.97rem;font-weight:800;color:#17385d;margin:0}.qc49-card .card-header small{display:block;color:#8496a8;margin-top:2px}.qc49-chart-box{height:315px}.qc49-chart-scroll{overflow-x:auto;overflow-y:hidden;padding-bottom:5px}.qc49-chart-wide{height:315px}
.qc49-map{height:485px;background:linear-gradient(180deg,#eaf4fb,#dbeaf4);position:relative}.qc49-map-loading{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:10px;color:#58748f;z-index:600;background:rgba(241,248,252,.78)}.qc49-map-loading i{font-size:2rem;color:#0b67b6}.qc49-map-note{padding:10px 14px;font-size:.72rem;color:#60758d;background:#f8fbfd;border-top:1px solid #e5eef5}.qc49-map-note i{color:#0b67b6;margin-right:5px}.qc49-muni-table{max-height:530px;overflow:auto}.qc49-muni-table th{position:sticky;top:0;background:#f8fafc;z-index:1}.qc49-pct-pill{display:inline-block;padding:4px 7px;border-radius:999px;background:color-mix(in srgb,var(--entity-color) 12%,white);color:var(--entity-color);font-weight:800}.qc49-map .leaflet-tooltip{border:0;border-radius:10px;box-shadow:0 7px 24px rgba(15,43,75,.18);font-family:Inter,sans-serif;font-size:12px}
.qc-entity-photo-preview{--entity-color:#0b67b6;width:155px;height:155px;margin:8px auto 0;border-radius:24px;overflow:hidden;background:color-mix(in srgb,var(--entity-color) 10%,white);border:3px solid color-mix(in srgb,var(--entity-color) 32%,white);box-shadow:0 10px 28px rgba(11,55,99,.12)}.qc-entity-photo-preview img{width:100%;height:100%;object-fit:cover}.qc-entity-fallback{width:100%;height:100%;display:grid;place-items:center;font-size:3rem;color:var(--entity-color)}.qc-master-avatar{width:36px;height:36px;border-radius:10px;object-fit:cover;border:1px solid #dce5ee}.qc-master-placeholder{display:inline-grid;place-items:center;background:#edf4fa;color:#386c9e}.qc-color-dot{width:11px;height:11px}
@media(max-width:1199.98px){.qc49-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.qc49-entity-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767.98px){.qc49-hero{padding:20px;align-items:flex-start;flex-direction:column}.qc49-hero-actions{justify-content:flex-start}.qc49-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.qc49-entity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.qc49-map{height:390px}}
@media(max-width:479.98px){.qc49-stat-grid,.qc49-entity-grid{grid-template-columns:1fr}.qc49-stat{padding:13px}.qc49-entity-card{padding:12px}}

/* v5.0 Quick Count municipality interactive map */
.qc50-map-entity-legend{display:flex;gap:8px;overflow-x:auto;padding:11px 13px;background:#f8fbfe;border-bottom:1px solid #e6eef6;scrollbar-width:thin}
.qc50-map-entity-btn{--entity-color:#0b67b6;display:flex;align-items:center;gap:7px;white-space:nowrap;border:1px solid #dce7f1;background:#fff;color:#37536f;border-radius:999px;padding:7px 10px;box-shadow:0 2px 8px rgba(22,55,91,.04);font-size:.76rem;transition:.15s ease}
.qc50-map-entity-btn .qc49-color-chip{background:var(--entity-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--entity-color) 13%,white)}
.qc50-map-entity-btn b{font-weight:800}.qc50-map-entity-btn small{font-weight:800;color:var(--entity-color)}
.qc50-map-entity-btn:hover,.qc50-map-entity-btn.active{border-color:var(--entity-color);box-shadow:0 5px 15px color-mix(in srgb,var(--entity-color) 16%,transparent);color:#16395e;transform:translateY(-1px)}
.qc50-map-entity-btn.active{background:color-mix(in srgb,var(--entity-color) 8%,white)}
.qc50-inline-color{display:inline-block;width:10px;height:10px;border-radius:50%;vertical-align:middle;margin:0 2px}
.qc50-muni-row{cursor:pointer}.qc50-muni-row:hover td:first-child b{color:#0b67b6}.qc49-map .leaflet-interactive{cursor:pointer}
.qc50-map-tip{min-width:170px}.qc50-map-tip>b{display:block;font-size:13px;color:#17395e;margin-bottom:5px}.qc50-map-tip span{display:block}.qc50-map-tip span i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px}.qc50-map-tip small{display:block;color:#667b91;margin-top:3px}.qc50-map-tip em{display:block;color:#0b67b6;font-size:10px;font-style:normal;font-weight:700;margin-top:5px}
.qc50-muni-modal{border:0;border-radius:19px;overflow:hidden;box-shadow:0 25px 70px rgba(7,36,72,.25)}
.qc50-muni-modal .modal-header{border:0;background:linear-gradient(118deg,#05295e,#0a4f99 60%,#0d87cd);color:#fff;padding:18px 22px}.qc50-muni-modal .modal-title{font-weight:800;font-size:1.25rem}.qc50-modal-kicker{font-size:.67rem;letter-spacing:.11em;font-weight:800;opacity:.74}
.qc50-muni-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-bottom:15px}.qc50-muni-summary>div{background:#f7fafc;border:1px solid #e8eff5;border-radius:12px;padding:10px}.qc50-muni-summary small{display:block;color:#7b8fa3;font-weight:700;font-size:.68rem}.qc50-muni-summary b{display:block;color:#153858;font-size:1.05rem;margin-top:2px}
.qc50-muni-entities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.qc50-muni-entity{--entity-color:#0b67b6;display:flex;gap:11px;border:1px solid #e8eef4;border-left:4px solid var(--entity-color);border-radius:13px;padding:11px;background:#fff}.qc50-muni-entity-media{width:48px;height:48px;border-radius:12px;overflow:hidden;flex:0 0 auto;background:color-mix(in srgb,var(--entity-color) 9%,white)}.qc50-muni-entity-media img{width:100%;height:100%;object-fit:cover}.qc50-muni-entity-media span{display:grid;place-items:center;width:100%;height:100%;color:var(--entity-color);font-size:1.05rem}.qc50-muni-entity-main{flex:1;min-width:0}.qc50-muni-entity-title{display:flex;gap:8px;align-items:flex-start;justify-content:space-between}.qc50-muni-entity-title small{display:block;font-size:.61rem;color:#8998a8}.qc50-muni-entity-title b{display:block;color:#173958;font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.qc50-muni-pct{font-weight:900;color:var(--entity-color);font-size:.88rem;white-space:nowrap}.qc50-muni-votes{font-size:.72rem;color:#718498;margin-top:3px}.qc50-muni-votes strong{color:#1b3857;font-size:.84rem}.qc50-muni-bar{height:5px;border-radius:10px;background:#edf2f6;overflow:hidden;margin-top:6px}.qc50-muni-bar i{display:block;height:100%;background:var(--entity-color);border-radius:10px}
@media(max-width:767.98px){.qc50-muni-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.qc50-muni-entities{grid-template-columns:1fr}.qc50-map-entity-btn{padding:6px 9px}.qc50-muni-entity-title b{max-width:180px}}

/* v5.1 Quick Count · municipality mini donut charts on map */
.qc51-leaflet-chart-icon{background:transparent!important;border:0!important;overflow:visible!important}
.qc51-map-chart-marker{width:88px;height:92px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;filter:drop-shadow(0 7px 12px rgba(11,50,91,.16));cursor:pointer;transition:transform .15s ease}
.qc51-map-chart-marker:hover{transform:translateY(-2px) scale(1.045)}
.qc51-map-chart-pie{width:58px;height:58px;border-radius:50%;padding:5px;display:grid;place-items:center;border:3px solid #fff;box-shadow:0 0 0 1px rgba(15,47,81,.12),0 5px 15px rgba(14,49,89,.18)}
.qc51-map-chart-hole{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.97);display:grid;place-content:center;text-align:center;border:1px solid rgba(16,54,90,.08);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--active-color) 8%,white)}
.qc51-map-chart-hole b{font-size:.72rem;line-height:1;color:var(--active-color);font-weight:900}
.qc51-map-chart-hole small{display:block;max-width:32px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#61768a;font-size:.44rem;line-height:1.05;margin-top:2px;font-weight:700}
.qc51-map-chart-label{margin-top:3px;max-width:86px;text-align:center;background:rgba(255,255,255,.96);border:1px solid #dfe8f1;border-radius:8px;padding:2px 5px;box-shadow:0 3px 8px rgba(15,47,81,.08)}
.qc51-map-chart-label b{display:block;color:#173958;font-size:.61rem;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qc51-map-chart-label span{display:block;color:#8091a2;font-size:.49rem;line-height:1.1;margin-top:1px}
.qc51-leaflet-tooltip{border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important}
.qc51-leaflet-tooltip:before{display:none!important}
.qc51-map-tip{min-width:235px;max-width:310px;background:#fff;border-radius:13px;padding:10px 11px;border:1px solid #e4ebf2;box-shadow:0 14px 34px rgba(9,38,72,.2)}
.qc51-map-tip h6{margin:0 0 7px;color:#12395f;font-weight:900;font-size:.83rem}
.qc51-map-tip-list{display:grid;gap:4px;max-height:190px;overflow:auto;padding-right:2px}
.qc51-map-tip-list span{display:grid;grid-template-columns:9px minmax(0,1fr) auto auto;gap:6px;align-items:center;font-size:.67rem;color:#52697f}
.qc51-map-tip-list i{width:9px;height:9px;border-radius:3px;display:block}
.qc51-map-tip-list b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#274967;font-size:.67rem}
.qc51-map-tip-list strong{color:#193d60;font-size:.67rem}
.qc51-map-tip-list em{font-style:normal;color:#8392a1;font-size:.61rem;white-space:nowrap}
.qc51-map-tip>small{display:block;border-top:1px solid #edf2f6;margin-top:7px;padding-top:6px;color:#72869a;font-size:.62rem}
.qc51-map-tip>u{display:block;text-decoration:none;color:#0b67b6;font-weight:800;font-size:.61rem;margin-top:4px}
.qc49-map{min-height:570px}
@media(max-width:767.98px){.qc49-map{min-height:520px}.qc51-map-chart-marker{transform:scale(.9)}.qc51-map-chart-marker:hover{transform:scale(.94)}.qc51-map-tip{min-width:205px}.qc51-map-tip-list span{grid-template-columns:8px minmax(0,1fr) auto}.qc51-map-tip-list em{display:none}}

/* v5.2 Quick Count · municipality polygon area-share map */
.qc52-muni-label-icon{background:transparent!important;border:0!important;pointer-events:none!important;overflow:visible!important}
.qc52-muni-label-icon span{display:inline-flex;align-items:center;justify-content:center;min-width:56px;max-width:92px;height:20px;padding:2px 6px;border-radius:999px;background:rgba(255,255,255,.92);border:1px solid rgba(30,70,108,.18);box-shadow:0 2px 8px rgba(13,48,82,.12);color:#163d60;font-size:.56rem;font-weight:900;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}
.qc49-map .leaflet-pane.qcFills-pane path{transition:fill-opacity .14s ease,stroke-width .14s ease}
.qc49-map .leaflet-pane.qcBoundaries-pane path{cursor:pointer;transition:stroke-width .14s ease,stroke .14s ease}
.qc49-map-note b{color:#173f64}
.qc50-map-entity-legend:before{content:'KOR:';display:flex;align-items:center;padding:0 2px;color:#8295a7;font-size:.62rem;font-weight:900;letter-spacing:.08em;white-space:nowrap}
@media(max-width:767.98px){.qc52-muni-label-icon span{min-width:48px;max-width:76px;height:18px;font-size:.5rem;padding:2px 5px}}

/* v5.3 Quick Count · full-width modern municipality map */
.qc53-map-row{margin-left:-4px;margin-right:-4px}.qc53-map-row>.col-12{padding-left:4px;padding-right:4px}
.qc53-map-card{overflow:hidden;border:0!important;border-radius:20px!important;box-shadow:0 18px 48px rgba(10,45,82,.12)!important;background:#fff}
.qc53-map-head{display:flex!important;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px!important;border:0!important;background:linear-gradient(118deg,#062c62 0%,#0a559f 56%,#0c87cb 100%)!important;color:#fff!important;position:relative;overflow:hidden}
.qc53-map-head:after{content:"";position:absolute;width:250px;height:250px;border:42px solid rgba(255,255,255,.055);border-radius:50%;right:-82px;top:-128px;pointer-events:none}
.qc53-map-title-wrap{display:flex;align-items:center;gap:13px;position:relative;z-index:1;min-width:0}.qc53-map-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;flex:0 0 auto;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);font-size:1.1rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}
.qc53-map-head .card-title{float:none!important;margin:1px 0 2px!important;color:#fff!important;font-size:1.15rem!important;font-weight:900!important}.qc53-map-head small{color:rgba(235,247,255,.78)}.qc53-kicker{display:block;font-size:.61rem!important;font-weight:900;letter-spacing:.13em;color:#8fdcff!important;text-transform:uppercase}
.qc53-map-head-actions{display:flex;align-items:center;gap:9px;position:relative;z-index:1;flex:0 0 auto}.qc53-live-dot{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:7px 10px;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.22);font-size:.68rem;font-weight:800;color:#fff;white-space:nowrap}.qc53-live-dot i{width:7px;height:7px;border-radius:50%;background:#55e39c;box-shadow:0 0 0 4px rgba(85,227,156,.14)}
.qc53-map-expand{border-radius:10px!important;background:#fff!important;border:1px solid rgba(255,255,255,.35)!important;color:#0a579f!important;font-weight:800!important;box-shadow:0 7px 18px rgba(1,24,52,.15)}
.qc53-map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(180deg,#fbfdff,#f6fafd);border-bottom:1px solid #e5eef6;padding-right:14px}.qc53-map-toolbar .qc50-map-entity-legend{flex:1;border-bottom:0;background:transparent;min-width:0}.qc53-map-guide{display:flex;gap:8px;flex:0 0 auto}.qc53-map-guide span{display:inline-flex;align-items:center;gap:5px;padding:6px 8px;border-radius:9px;background:#fff;border:1px solid #e3edf5;color:#688198;font-size:.62rem;font-weight:750;white-space:nowrap}.qc53-map-guide i{color:#0b67b6}
.qc53-map{height:720px!important;min-height:720px!important;background:radial-gradient(circle at 54% 43%,#edf8ff 0%,#e6f2f9 42%,#dcebf4 100%)!important}.qc53-map .leaflet-control-zoom{border:0!important;box-shadow:0 8px 22px rgba(12,48,82,.14)!important}.qc53-map .leaflet-control-zoom a{border:0!important;color:#194d78!important}.qc53-map .leaflet-control-attribution{background:rgba(255,255,255,.83)!important;border-radius:8px 0 0 0!important;color:#71879a!important}
.qc53-map-note{display:flex;align-items:center;gap:7px;padding:11px 16px!important;background:#f8fbfe!important;color:#60778d!important;border-top:1px solid #e3edf5!important}.qc53-map-note i{font-size:.82rem!important}
.qc53-muni-card{border:0!important;border-radius:18px!important;overflow:hidden;box-shadow:0 12px 34px rgba(13,47,81,.08)!important}.qc53-muni-head{display:flex!important;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px!important;background:#fff!important;border-bottom:1px solid #e9f0f6!important}.qc53-muni-head .card-title{float:none!important;margin:1px 0!important;color:#173e62!important;font-weight:900!important}.qc53-muni-head>div>small:last-child{color:#7d91a4;font-size:.7rem}.qc53-muni-count{display:inline-flex;align-items:center;justify-content:center;min-width:68px;padding:6px 9px;border-radius:999px;background:#edf6fd;color:#0b67b6;font-size:.7rem;font-weight:900}.qc53-muni-table{max-height:420px!important}.qc53-muni-table thead th{background:#f7fafc!important;color:#60758a!important;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;border-top:0!important}.qc53-muni-table tbody td{vertical-align:middle;padding:.72rem .8rem}.qc53-muni-table tbody tr{transition:background .14s ease}.qc53-muni-table tbody tr:hover{background:#f5faff}
.qc53-map-card.qc53-map-expanded{position:fixed!important;z-index:1065!important;inset:10px!important;margin:0!important;border-radius:18px!important;display:flex!important;flex-direction:column!important}.qc53-map-card.qc53-map-expanded .qc53-map-body{display:flex;flex-direction:column;min-height:0;flex:1}.qc53-map-card.qc53-map-expanded .qc53-map{height:auto!important;min-height:0!important;flex:1}.qc53-map-lock{overflow:hidden!important}
@media(max-width:1199.98px){.qc53-map{height:650px!important;min-height:650px!important}.qc53-map-guide{display:none}}
@media(max-width:767.98px){.qc53-map-head{align-items:flex-start;padding:15px!important}.qc53-map-title-wrap{align-items:flex-start}.qc53-map-icon{width:40px;height:40px;border-radius:12px}.qc53-map-head-actions{flex-direction:column;align-items:flex-end}.qc53-live-dot{font-size:.59rem;padding:5px 7px}.qc53-map{height:540px!important;min-height:540px!important}.qc53-map-toolbar{padding-right:0}.qc53-map-note{font-size:.64rem!important}.qc53-map-card{border-radius:15px!important}.qc53-map-card.qc53-map-expanded{inset:4px!important;border-radius:12px!important}.qc53-muni-head{padding:13px 14px!important}}

/* v5.4 · Quick Count map mode: full municipality color / vote dots */
.qc54-map-toolbar{padding:10px 14px!important;gap:14px!important;flex-wrap:wrap}
.qc54-map-mode-wrap{display:flex;align-items:center;gap:10px;min-width:0;flex:1 1 auto}
.qc54-map-mode{display:inline-flex;align-items:stretch;gap:6px;padding:4px;border-radius:14px;background:#eaf2f8;border:1px solid #d7e5f0;box-shadow:inset 0 1px 0 rgba(255,255,255,.65)}
.qc54-mode-btn{display:flex;align-items:center;gap:8px;border:0;background:transparent;color:#557087;padding:7px 10px;border-radius:10px;min-height:44px;transition:.16s ease;cursor:pointer}
.qc54-mode-btn i{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:rgba(255,255,255,.7);color:#2c6c9f;font-size:.75rem}
.qc54-mode-btn span{display:flex;flex-direction:column;align-items:flex-start;line-height:1.05}.qc54-mode-btn b{font-size:.72rem;font-weight:900}.qc54-mode-btn small{font-size:.56rem;color:#8597a7;margin-top:3px}
.qc54-mode-btn.active{background:#fff;color:#0b4f88;box-shadow:0 5px 14px rgba(21,70,110,.12)}.qc54-mode-btn.active i{background:linear-gradient(135deg,#0b5ea7,#1594d1);color:#fff}.qc54-mode-btn.active small{color:#6f8598}
.qc54-dot-weight{display:none;align-items:center;gap:8px;margin:0;padding:5px 8px 5px 10px;border-radius:12px;background:#fff;border:1px solid #dde8f1;box-shadow:0 4px 13px rgba(15,60,96,.06)}
.qc54-dot-weight.show{display:flex}.qc54-dot-weight>span{font-size:.61rem;color:#70869a;font-weight:850;white-space:nowrap}.qc54-dot-weight select{width:auto;min-width:142px;border:0!important;background:#f3f8fc!important;color:#214e72;font-weight:800;font-size:.66rem!important;border-radius:8px!important;height:31px!important}
.qc54-entity-strip{border-top:1px solid #edf3f7;border-bottom:1px solid #e3edf5;background:#fbfdff}.qc54-entity-strip .qc50-map-entity-legend{border:0!important;background:transparent!important}
.qc54-dot-canvas{position:absolute;left:0;top:0;pointer-events:none;image-rendering:auto}
.qc54-dot-progress{position:absolute;left:50%;bottom:18px;z-index:700;transform:translate(-50%,10px);display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(6,43,79,.9);color:#fff;font-size:.66rem;font-weight:800;box-shadow:0 8px 24px rgba(4,34,66,.22);opacity:0;visibility:hidden;transition:.16s ease;pointer-events:none}
.qc54-dot-progress.show{opacity:1;visibility:visible;transform:translate(-50%,0)}.qc54-dot-progress i{color:#7ed3ff}
.qc53-map-note#qcMapModeNote span{display:inline}.qc53-map-note#qcMapModeNote b{font-weight:900}
@media(max-width:767.98px){.qc54-map-toolbar{padding:8px!important}.qc54-map-mode-wrap{width:100%;align-items:stretch;flex-direction:column}.qc54-map-mode{width:100%}.qc54-mode-btn{flex:1;justify-content:center}.qc54-dot-weight.show{width:100%;justify-content:space-between}.qc54-dot-weight select{min-width:150px}.qc54-entity-strip .qc50-map-entity-legend{padding:8px!important}.qc54-dot-progress{bottom:12px;max-width:88%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}

/* v5.5 · Quick Count map reliability */
.qc49-map-loading small{font-size:.68rem;color:#72879a;font-weight:650;text-align:center;max-width:520px;padding:0 16px}


/* v5.8 · Quick Count municipality distribution as circle charts */
.qc58-circle-card{overflow:hidden}.qc58-circle-head{display:flex!important;align-items:center;justify-content:space-between;gap:12px}.qc58-circle-head .card-title{float:none!important;margin:0!important}.qc58-circle-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 10px;background:#eef7ff;color:#0b67b6;border:1px solid #d7ebfb;font-size:.66rem;font-weight:900;white-space:nowrap}.qc58-circle-body{display:flex;flex-direction:column;gap:14px;min-height:330px}.qc58-circle-legend{display:flex;flex-wrap:wrap;gap:7px 11px;padding-bottom:10px;border-bottom:1px solid #edf2f7}.qc58-circle-legend span{display:inline-flex;align-items:center;gap:6px;color:#526c83;font-size:.66rem;font-weight:800}.qc58-circle-legend i{width:9px;height:9px;border-radius:50%;box-shadow:0 0 0 3px rgba(19,62,100,.05)}.qc58-circle-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:12px;overflow:auto;max-height:360px;padding:2px 2px 6px}.qc58-muni-circle-card{border:1px solid #e2ecf4;background:linear-gradient(180deg,#fff,#f9fcff);border-radius:16px;padding:12px 9px 10px;display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0;box-shadow:0 5px 16px rgba(16,55,89,.055);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;cursor:pointer}.qc58-muni-circle-card:hover{transform:translateY(-2px);border-color:#bddcf3;box-shadow:0 10px 24px rgba(13,70,112,.11)}.qc58-muni-circle{width:106px;height:106px;border-radius:50%;display:grid;place-items:center;background:var(--qc58-gradient);position:relative;box-shadow:0 8px 18px rgba(18,61,96,.13),inset 0 0 0 1px rgba(255,255,255,.55)}.qc58-muni-circle:after{content:"";position:absolute;width:62px;height:62px;border-radius:50%;background:#fff;box-shadow:0 2px 10px rgba(17,56,91,.10)}.qc58-muni-circle>span{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;line-height:1.05;color:#173f62}.qc58-muni-circle b{font-size:.82rem;font-weight:950}.qc58-muni-circle small{font-size:.52rem;color:#7a8fa2;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.qc58-muni-circle-card>strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#1a4468;font-size:.72rem;font-weight:900}.qc58-muni-circle-card>small{color:#8a9aaa;font-size:.58rem}.qc58-circle-empty{grid-column:1/-1;min-height:210px;border:1px dashed #d5e2ec;border-radius:15px;background:#fafcff;color:#8397a9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;font-size:.75rem}.qc58-circle-empty i{font-size:2rem;color:#bdd3e5}@media(max-width:767.98px){.qc58-circle-body{min-height:0}.qc58-circle-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none}.qc58-muni-circle{width:94px;height:94px}.qc58-muni-circle:after{width:56px;height:56px}.qc58-circle-badge{display:none}}


/* v5.9 · Quick Count municipality distribution — 3D doughnut circles */
.qc59-circle3d-card{background:linear-gradient(180deg,#fff 0%,#fbfdff 100%)}
.qc59-circle3d-badge{background:linear-gradient(135deg,#eef7ff,#e7f2ff);box-shadow:0 5px 14px rgba(11,103,182,.08)}
.qc59-circle3d-grid{gap:16px 14px;padding-top:8px;padding-bottom:14px}
.qc59-muni-circle-card{padding-top:14px;overflow:visible;background:linear-gradient(180deg,#fff,#f7fbff);border-color:#dfeaf3}
.qc59-muni-circle-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(12,61,99,.13)}
.qc59-muni-3d-stage{--qc59-depth:12px;position:relative;display:block;width:122px;height:105px;margin:0 auto 4px;perspective:480px;isolation:isolate}
.qc59-muni-3d-base,.qc59-muni-3d-top{position:absolute;left:6px;top:2px;width:110px;height:110px;border-radius:50%;background:var(--qc58-gradient);transform-origin:50% 50%;transform:rotateX(58deg);}
.qc59-muni-3d-base{top:var(--qc59-depth);z-index:1;filter:brightness(.60) saturate(1.08);box-shadow:0 16px 18px rgba(13,52,84,.22)}
.qc59-muni-3d-top{z-index:3;filter:saturate(1.06);box-shadow:inset 0 2px 2px rgba(255,255,255,.68),inset 0 -2px 4px rgba(0,28,54,.18),0 7px 11px rgba(17,61,96,.10)}
.qc59-muni-3d-top:before{content:"";position:absolute;inset:3px;border-radius:50%;background:linear-gradient(180deg,rgba(255,255,255,.28),rgba(255,255,255,0) 34%,rgba(0,37,72,.07));pointer-events:none}
.qc59-muni-3d-hole{position:absolute;z-index:5;left:35px;top:27px;width:52px;height:52px;border-radius:50%;background:linear-gradient(180deg,#fff,#edf5fb);box-shadow:0 7px 0 #d6e3ed,0 9px 12px rgba(18,56,88,.14),inset 0 1px 3px rgba(255,255,255,.9);transform:scaleY(.64)}
.qc59-muni-3d-label{position:absolute;z-index:7;left:50%;top:48px;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.02;color:#173f62;text-shadow:0 1px 0 #fff;pointer-events:none}
.qc59-muni-3d-label b{font-size:.76rem;font-weight:950}.qc59-muni-3d-label small{font-size:.48rem;color:#70869a;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.qc59-muni-circle-card:hover .qc59-muni-3d-top{transform:rotateX(58deg) translateY(-2px)}
.qc59-muni-circle-card:hover .qc59-muni-3d-base{transform:rotateX(58deg) translateY(1px);filter:brightness(.56) saturate(1.12)}
@media(max-width:767.98px){.qc59-muni-3d-stage{width:108px;height:94px}.qc59-muni-3d-base,.qc59-muni-3d-top{left:5px;width:98px;height:98px}.qc59-muni-3d-hole{left:31px;top:25px;width:46px;height:46px}.qc59-muni-3d-label{top:45px}.qc59-circle3d-grid{gap:12px 8px}}

/* v6.1 · Quick Count map drill-down: Município → Postu → Suku */
.qc61-map-drillbar{display:flex;align-items:center;gap:10px;padding:9px 14px;border-top:1px solid #e8f0f6;border-bottom:1px solid #e8f0f6;background:linear-gradient(180deg,#fbfdff,#f6faff)}
.qc61-level-tabs{display:inline-flex;align-items:center;gap:4px;padding:4px;border-radius:12px;background:#eaf2f8;border:1px solid #d8e5ef;flex:0 0 auto}
.qc61-level-btn{height:34px;border:0;border-radius:9px;background:transparent;color:#60778c;padding:0 10px;display:inline-flex;align-items:center;gap:6px;font-size:.66rem;font-weight:850;cursor:pointer;transition:.16s ease}
.qc61-level-btn i{font-size:.67rem;color:#4380ab}.qc61-level-btn.active{background:#fff;color:#0a5f9e;box-shadow:0 4px 12px rgba(21,66,102,.11)}.qc61-level-btn.active i{color:#0b77bd}
.qc61-map-breadcrumb{min-width:0;flex:1;display:flex;align-items:center;gap:7px;color:#6c8295;font-size:.65rem;font-weight:750;white-space:nowrap;overflow:auto;scrollbar-width:none}.qc61-map-breadcrumb::-webkit-scrollbar{display:none}.qc61-map-breadcrumb>i:first-child{color:#0b77bd}.qc61-map-breadcrumb .fa-chevron-right{font-size:.48rem;color:#a4b4c2}.qc61-map-breadcrumb b{color:#3a617f;font-weight:850}.qc61-map-breadcrumb strong{color:#0b5e9d;font-weight:950}
.qc61-back-btn{height:34px;border-radius:9px;border:1px solid #d7e4ee;background:#fff;color:#35617f;padding:0 10px;display:inline-flex;align-items:center;gap:6px;font-size:.65rem;font-weight:850;cursor:pointer}.qc61-back-btn:hover:not(:disabled){border-color:#a8d0ec;background:#eef8ff;color:#075d9d}.qc61-back-btn:disabled{opacity:.42;cursor:not-allowed}
.qc61-region-label-icon{background:transparent!important;border:0!important}.qc61-region-label-icon span{display:block;max-width:96px;padding:3px 7px;border-radius:999px;background:rgba(255,255,255,.92);border:1px solid rgba(45,90,126,.17);box-shadow:0 3px 9px rgba(22,55,84,.09);color:#2b5777;font-size:.56rem;font-weight:900;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;backdrop-filter:blur(4px)}
.qc61-region-label-icon.posto span{font-size:.54rem;padding:3px 6px}.qc61-region-label-icon.suco span{font-size:.49rem;padding:2px 5px;max-width:78px}
.qc49-map-loading.qc61-error{color:#9d3340;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,245,246,.96))}.qc49-map-loading.qc61-error i{color:#d64a58}
.qc53-map-expanded .qc61-map-drillbar{position:relative;z-index:800}
@media(max-width:991.98px){.qc61-map-drillbar{flex-wrap:wrap}.qc61-map-breadcrumb{order:3;flex-basis:100%;padding:2px 3px}.qc61-level-tabs{flex:1}.qc61-level-btn{flex:1;justify-content:center}}
@media(max-width:575.98px){.qc61-map-drillbar{padding:8px}.qc61-level-btn{padding:0 7px;font-size:.60rem}.qc61-level-btn span{display:none}.qc61-level-btn i{font-size:.76rem}.qc61-back-btn span{display:none}.qc61-map-breadcrumb{font-size:.59rem}}
/* v6.2 · Map correctness / coverage */
.qc62-coverage-badge{display:inline-flex;align-items:center;margin-left:8px;padding:3px 8px;border-radius:999px;background:#e7f7ef;color:#17663c;font-size:.58rem;font-weight:800;letter-spacing:.02em;white-space:nowrap}.qc62-coverage-badge.warn{background:#fff4df;color:#8a5a00}.leaflet-interactive[stroke-dasharray]{cursor:pointer}
/* v6.2 · Quick Count map correctness */
.qc62-coverage-badge{display:inline-flex;align-items:center;margin-left:8px;padding:3px 8px;border-radius:999px;background:#e7f7ef;color:#17663c;font-size:.58rem;font-weight:800;letter-spacing:.02em;white-space:nowrap}.qc62-coverage-badge.warn{background:#fff4df;color:#8a5a00}

/* v6.3 · Quick Count map reliability + visible administrative boundaries */
.qc53-map .leaflet-pane.qcBoundaries-pane path{vector-effect:non-scaling-stroke;paint-order:stroke;filter:drop-shadow(0 1px 0 rgba(255,255,255,.48))}
.qc63-boundary-guide i{color:#123f66!important}.qc63-boundary-guide{font-weight:850!important;color:#3f607b!important}
.qc62-coverage-badge{box-shadow:0 2px 7px rgba(16,60,94,.08)}
.qc61-region-label-icon span{border-color:rgba(20,65,101,.30);box-shadow:0 3px 10px rgba(15,48,77,.12)}
@media(max-width:767.98px){.qc63-boundary-guide{display:none!important}}

/* v6.4 · STAE 2023 voting-center sync panel */
.qc-stae23-panel{background:linear-gradient(135deg,#f7fbff 0%,#fff 62%,#f6fbff 100%);border:1px solid #d9eaf8;border-radius:16px;box-shadow:0 8px 22px rgba(14,72,125,.06)}
.qc-stae23-icon{width:48px;height:48px;min-width:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0b67b6,#13a8e0);color:#fff;box-shadow:0 8px 18px rgba(11,103,182,.2);font-size:19px}

/* v6.5 · Quick Count Center Master — modern hierarchy + election checklist */
/* v6.6 · Shared module switcher + ID Card workspace */
.pd-module-dock{display:flex;gap:10px;flex-wrap:wrap;padding:6px;border:1px solid #dfe9f1;border-radius:15px;background:rgba(255,255,255,.72);box-shadow:0 8px 24px rgba(19,54,89,.05)}
.pd-module-dock a{flex:1 1 240px;min-height:58px;display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid transparent;border-radius:11px;background:#fff;color:#35536b;transition:.18s ease}.pd-module-dock a:hover{border-color:#bfe0f4;background:#f4fbff;color:#075b9d;text-decoration:none;transform:translateY(-1px)}.pd-module-dock a.active{border-color:#b9def1;background:linear-gradient(135deg,#eaf7ff,#f7fcff);color:#075a99;box-shadow:inset 3px 0 #0b85d2,0 5px 14px rgba(12,113,179,.08)}.pd-module-dock-icon{width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;border-radius:11px;background:#eaf6ff;color:#0875be}.pd-module-dock-icon.qc{background:#eaf8f2;color:#168052}.pd-module-dock b,.pd-module-dock small{display:block}.pd-module-dock b{font-size:.73rem;font-weight:850}.pd-module-dock small{margin-top:2px;color:#8b9baa;font-size:.59rem}.pd-module-dock>a>i{color:#9aabba;font-size:.68rem}.pd-module-dock a.active>a>i,.pd-module-dock a.active>i{color:#168052}
.pd-card-hero{position:relative;overflow:hidden;display:flex;align-items:center;gap:16px;padding:20px 22px;border-radius:18px;background:linear-gradient(125deg,#061d49 0%,#084784 62%,#0a97d2 100%);color:#fff;box-shadow:0 15px 35px rgba(6,42,88,.16)}.pd-card-hero:after{content:"";position:absolute;right:-75px;top:-115px;width:290px;height:290px;border:52px solid rgba(255,255,255,.06);border-radius:50%}.pd-card-hero>*{position:relative;z-index:1}.pd-card-hero-icon{width:55px;height:55px;display:grid;place-items:center;flex:0 0 auto;border-radius:15px;background:rgba(255,255,255,.13);font-size:1.3rem}.pd-card-kicker{display:block;color:#a8e3ff;font-size:.59rem;font-weight:900;letter-spacing:.14em}.pd-card-hero h2{margin:4px 0 4px;font-size:1.2rem;font-weight:900}.pd-card-hero p{margin:0;color:#d5efff;font-size:.7rem;line-height:1.45}.pd-card-hero .btn{margin-left:auto;white-space:nowrap}
.pd-card-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.pd-card-stat{display:flex;align-items:center;gap:11px;min-height:76px;padding:12px 14px;border:1px solid #e0e9f1;border-radius:14px;background:#fff;box-shadow:0 7px 22px rgba(20,52,84,.05)}.pd-card-stat>span{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;font-size:.9rem}.pd-card-stat>span.blue{background:#eaf5ff;color:#0b70ba}.pd-card-stat>span.green{background:#eaf8f1;color:#188254}.pd-card-stat>span.amber{background:#fff5e3;color:#b5770a}.pd-card-stat>span.red{background:#fff0f1;color:#c5323e}.pd-card-stat small{display:block;color:#8494a3;font-size:.59rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.pd-card-stat b{display:block;margin-top:2px;color:#1d405c;font-size:1.08rem;font-weight:900}.pd-card-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.pd-toolbar-heading{display:flex;align-items:center;gap:10px;min-width:205px}.pd-toolbar-heading>span{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:#edf7ff;color:#0874ba}.pd-toolbar-heading b,.pd-toolbar-heading small{display:block}.pd-toolbar-heading b{font-size:.76rem;color:#24445e}.pd-toolbar-heading small{margin-top:2px;color:#8b9aa9;font-size:.59rem}.pd-card-toolbar form{align-items:center;margin-left:auto}.pd-card-toolbar .custom-select{min-height:38px}.pd-card-list{border:1px solid #dfe8f0!important;box-shadow:0 9px 27px rgba(20,52,84,.06)!important}.pd-card-list>.card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;background:linear-gradient(180deg,#fff,#fbfdff)!important}.pd-card-list .card-title{font-size:.86rem;color:#21415e}.pd-card-list .table{min-width:940px}.pd-card-list .table tbody tr:hover{background:#f7fbff}.pd-card-list .table td{font-size:.7rem}.pd-card-blocked-preview{min-height:330px;display:grid;place-items:center;text-align:center;padding:28px;border:1px dashed #e5c675;border-radius:15px;background:linear-gradient(135deg,#fffdf6,#fff8e8)}.pd-card-blocked-preview h4{color:#7d5c17;font-size:1rem}.pd-card-iframe-wrap{overflow:hidden;min-height:620px;border:1px solid #dce6ef;border-radius:15px;background:#e9eff5;box-shadow:inset 0 0 0 5px #f7fafc}.pd-card-iframe-wrap iframe{display:block;width:100%;height:650px;border:0;background:#fff}
.pd-qa-icon.qc{background:#eaf8f1;color:#168052}
@media(max-width:991.98px){.pd-card-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pd-card-toolbar{display:block}.pd-toolbar-heading{margin-bottom:12px}.pd-card-toolbar form{margin-left:0}}
@media(max-width:767.98px){.pd-card-hero{align-items:flex-start;flex-wrap:wrap;padding:17px}.pd-card-hero-icon{width:46px;height:46px}.pd-card-hero h2{font-size:1rem}.pd-card-hero p{font-size:.65rem}.pd-card-hero .btn{width:100%;margin-left:0}.pd-card-stat-grid{gap:8px}.pd-card-stat{min-height:68px;padding:9px}.pd-card-stat>span{width:32px;height:32px}.pd-card-stat small{font-size:.52rem}.pd-card-stat b{font-size:.95rem}.pd-card-toolbar form{display:grid!important;grid-template-columns:1fr 1fr}.pd-card-toolbar form .input-group{max-width:none!important;grid-column:1/-1}.pd-card-toolbar form .custom-select{max-width:none!important}.pd-card-toolbar form .btn,.pd-card-toolbar form a{width:100%}.pd-card-list>.card-header{align-items:flex-start;flex-direction:column}.pd-card-list>.card-header .btn{width:100%}.pd-card-iframe-wrap{min-height:430px}.pd-card-iframe-wrap iframe{height:470px}}
@media(max-width:575.98px){.pd-module-dock{display:grid}.pd-module-dock a{min-width:0}.pd-card-stat-grid{grid-template-columns:1fr 1fr}.pd-card-stat>span{width:29px;height:29px;font-size:.75rem}.pd-card-stat b{font-size:.88rem}.pd-card-stat small{letter-spacing:0}.pd-card-blocked-preview{min-height:250px}.pd-card-iframe-wrap{min-height:360px}.pd-card-iframe-wrap iframe{height:390px}}
.qc65-center-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 26px;border-radius:20px;background:linear-gradient(125deg,#061f4f 0%,#0a5eaa 58%,#13a6df 100%);box-shadow:0 15px 34px rgba(7,57,105,.18);color:#fff}.qc65-center-hero:before{content:"";position:absolute;right:-65px;top:-100px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.19),rgba(255,255,255,0) 68%)}.qc65-center-hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:linear-gradient(90deg,#ef3340 0 24%,#fff 24% 30%,#28b8ef 30% 100%)}.qc65-center-hero-copy{position:relative;z-index:2;max-width:820px}.qc65-kicker{font-size:.61rem;font-weight:900;letter-spacing:.12em;color:#bfe9ff}.qc65-center-hero h3{margin:5px 0 7px;font-size:1.35rem;font-weight:950;letter-spacing:-.02em}.qc65-center-hero p{margin:0;max-width:760px;font-size:.78rem;line-height:1.55;color:#d8efff}.qc65-center-hero-actions{position:relative;z-index:2;flex:0 0 auto}.qc65-center-hero-actions .btn{border:0;border-radius:12px;font-weight:850;box-shadow:0 8px 20px rgba(0,26,55,.15)}
.qc65-stat-row{margin-left:-5px;margin-right:-5px}.qc65-stat-row>[class*="col-"]{padding-left:5px;padding-right:5px}.qc65-stat{height:86px;display:flex;align-items:center;gap:13px;padding:14px 16px;border-radius:16px;border:1px solid #e1eaf2;background:linear-gradient(180deg,#fff,#fbfdff);box-shadow:0 8px 22px rgba(18,57,92,.055)}.qc65-stat-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#e8f3ff,#eef9ff);color:#0a70ba;font-size:1rem;border:1px solid #d8eafa}.qc65-stat-icon.ok{background:#eaf8f1;color:#16804e;border-color:#d5efdf}.qc65-stat-icon.geo{background:#fff7e9;color:#ad6a00;border-color:#f4e4bd}.qc65-stat-icon.muni{background:#f0efff;color:#5e52ba;border-color:#dfdcfa}.qc65-stat small{display:block;color:#8595a5;font-size:.59rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.qc65-stat b{display:block;margin-top:2px;color:#1b405f;font-size:1.18rem;font-weight:950}
.qc65-filter-card,.qc65-election-card,.qc65-table-card{border:1px solid #dfe8f1!important;border-radius:17px!important;box-shadow:0 9px 26px rgba(18,55,88,.055)!important;overflow:hidden}.qc65-filter-card .card-body{padding:15px 16px;background:linear-gradient(180deg,#fff,#fbfdff)}.qc65-filter-grid{display:grid;grid-template-columns:1.15fr 1.15fr 1.15fr .72fr 1.45fr auto;gap:10px;align-items:end}.qc65-filter-grid label{display:block;margin-bottom:5px;font-size:.62rem;text-transform:uppercase;letter-spacing:.05em;font-weight:850;color:#6b8194}.qc65-filter-grid .form-control,.qc65-filter-grid .input-group-text{height:40px;border-radius:10px;border-color:#d8e4ee;font-size:.75rem}.qc65-filter-grid .input-group-text{border-radius:10px 0 0 10px;background:#f5f9fc;color:#7590a5}.qc65-search-field .form-control{border-radius:0 10px 10px 0}.qc65-filter-actions{display:flex;gap:7px}.qc65-filter-actions .btn{height:40px;border-radius:10px;font-size:.7rem;font-weight:850;white-space:nowrap}
.qc65-election-card .card-body{padding:16px 18px;background:radial-gradient(circle at 100% 0,rgba(18,159,224,.08),transparent 28%),linear-gradient(180deg,#fff,#fbfdff)}.qc65-election-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,#0b67b6,#15a8df);color:#fff;box-shadow:0 8px 18px rgba(11,103,182,.18)}.qc65-election-card h5{font-size:.94rem;font-weight:900;color:#1e405e}.qc65-election-picker{display:flex;align-items:center;justify-content:flex-end;gap:9px}.qc65-election-picker .form-control{min-width:310px;height:40px;border-radius:10px;border-color:#d7e4ee;font-size:.72rem}.qc65-config-state{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 10px;border-radius:999px;font-size:.62rem;font-weight:850;white-space:nowrap}.qc65-config-state.ready{background:#e9f7ef;color:#17663d;border:1px solid #d3ebdd}.qc65-config-state.new{background:#fff5df;color:#8a5b00;border:1px solid #f1dfb8}
.qc65-table-card>.card-header.qc65-table-head{min-height:64px;padding:11px 14px;border-bottom:1px solid #e5edf4;background:linear-gradient(180deg,#fff,#f9fcff);display:flex;align-items:center;justify-content:space-between;gap:12px}.qc65-table-head b{display:block;color:#1f425f;font-size:.83rem;font-weight:900}.qc65-table-head span{display:block;color:#8595a4;font-size:.62rem;margin-top:2px}.qc65-table-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.qc65-table-actions .btn{border-radius:9px;font-size:.65rem;font-weight:800}.qc65-table-scroll{max-height:68vh;overflow:auto}.qc65-center-table{border-collapse:separate;border-spacing:0}.qc65-center-table thead th{position:sticky;top:0;z-index:8;background:#edf5fb;color:#3d607a;border-top:0;border-bottom:1px solid #cedce8;font-size:.61rem;font-weight:900;text-transform:uppercase;letter-spacing:.045em;white-space:nowrap;padding:10px 9px}.qc65-center-table tbody td{vertical-align:middle;border-top:1px solid #edf2f6;padding:8px 9px;font-size:.69rem}.qc65-center-table tbody tr:hover>td:not(.qc65-group-cell){background:#f7fbff}.qc65-group-cell{vertical-align:top!important;min-width:140px;padding:12px 10px!important;background:linear-gradient(180deg,#f9fcff,#f4f8fb)!important;border-right:1px solid #e2ebf2!important;border-top:1px solid #d9e5ee!important}.qc65-muni-cell{min-width:155px;background:linear-gradient(180deg,#edf6ff,#f6fbff)!important}.qc65-posto-cell{min-width:155px}.qc65-suco-cell{min-width:150px;background:linear-gradient(180deg,#fbfdff,#f7fafc)!important}.qc65-group-cell{display:table-cell}.qc65-group-cell>.qc65-group-icon,.qc65-group-cell>div{display:inline-block;vertical-align:top}.qc65-group-icon{width:28px;height:28px;border-radius:9px;text-align:center;line-height:28px;background:#e5f2fc;color:#0a70b8;margin-right:7px}.qc65-posto-cell .qc65-group-icon{background:#edf3ff;color:#526eb5}.qc65-suco-cell .qc65-group-icon{background:#eef8f3;color:#238055}.qc65-group-cell b{display:block;color:#234763;font-size:.7rem;font-weight:900;line-height:1.25}.qc65-group-cell small{display:block;color:#8b9aaa;font-size:.54rem;margin-top:3px}.qc65-center-name{min-width:260px}.qc65-center-name b{display:block;color:#233f58;font-size:.72rem;font-weight:850;line-height:1.25}.qc65-center-name small{display:block;color:#93a0ad;font-size:.53rem;margin-top:2px}.qc65-center-code{display:inline-flex;align-items:center;justify-content:center;min-width:92px;max-width:118px;padding:5px 7px;border-radius:8px;background:#eef5fb;border:1px solid #dce8f2;color:#28648d;font-size:.56rem;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qc65-row-inactive>td:not(.qc65-group-cell){opacity:.6;background:#fbfbfb}.qc65-check-col{width:42px;text-align:center!important}.qc65-check{margin:0;display:inline-flex;cursor:pointer}.qc65-check input{position:absolute;opacity:0;pointer-events:none}.qc65-check span{width:21px;height:21px;border-radius:6px;border:2px solid #c6d6e3;background:#fff;display:block;position:relative;transition:.15s}.qc65-check input:checked+span{background:#0b75bd;border-color:#0b75bd;box-shadow:0 3px 8px rgba(11,117,189,.2)}.qc65-check input:checked+span:after{content:"";position:absolute;left:6px;top:2px;width:6px;height:11px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.qc65-modal-hero{display:flex;align-items:center;gap:13px;padding:14px 16px;margin:-4px -2px 14px;border-radius:16px;background:linear-gradient(135deg,#07346b,#0b76bd 66%,#16a6dd);color:#fff;box-shadow:0 10px 22px rgba(9,77,130,.16)}.qc65-modal-hero>span{width:46px;height:46px;border-radius:14px;background:rgba(255,255,255,.13);display:grid;place-items:center;font-size:1rem}.qc65-modal-hero small{font-size:.55rem;font-weight:900;letter-spacing:.1em;color:#bfe7ff}.qc65-modal-hero h4{font-size:1rem;font-weight:900;margin:2px 0}.qc65-modal-hero p{font-size:.63rem;margin:0;color:#d8efff}
@media(max-width:1399.98px){.qc65-filter-grid{grid-template-columns:repeat(3,1fr)}.qc65-filter-actions{justify-content:flex-end}.qc65-search-field{grid-column:span 2}}
@media(max-width:991.98px){.qc65-center-hero{align-items:flex-start}.qc65-center-hero-actions{margin-top:2px}.qc65-election-picker{justify-content:flex-start;flex-wrap:wrap}.qc65-election-picker .form-control{min-width:0;flex:1 1 280px}.qc65-filter-grid{grid-template-columns:repeat(2,1fr)}.qc65-search-field{grid-column:1/-1}.qc65-filter-actions{justify-content:stretch}.qc65-filter-actions .btn{flex:1}.qc65-table-scroll{max-height:none}}
@media(max-width:575.98px){.qc65-center-hero{display:block;padding:18px}.qc65-center-hero h3{font-size:1.05rem}.qc65-center-hero p{font-size:.7rem}.qc65-center-hero-actions{margin-top:14px}.qc65-center-hero-actions .btn{width:100%}.qc65-filter-grid{grid-template-columns:1fr}.qc65-search-field{grid-column:auto}.qc65-table-head{align-items:flex-start!important;flex-direction:column}.qc65-table-actions{width:100%;justify-content:flex-start}.qc65-election-picker{display:block}.qc65-election-picker .form-control{width:100%;margin-bottom:7px}.qc65-config-state{width:100%;justify-content:center}.qc65-stat{height:76px;padding:10px}.qc65-stat-icon{width:38px;height:38px}.qc65-stat b{font-size:1rem}}
