:root{--office-green:#087f63;--office-green-dark:#05654f;--office-ink:#172e29;--office-muted:#7b8985;--office-line:#e6ece9;--office-bg:#f5f7f6;--bs-primary:#087f63;--bs-primary-rgb:8,127,99;--bs-link-color:#087f63;--bs-link-hover-color:#05654f;--lte-sidebar-width:252px;--lte-main-header-height:76px;--lte-main-footer-height:56px}
body{font-family:Inter,"Segoe UI",system-ui,-apple-system,sans-serif;color:#273b35;font-size:.875rem;background:var(--office-bg)}a{color:var(--office-green);text-decoration:none}a:hover{color:var(--office-green-dark)}.btn{font-size:.82rem;font-weight:600;padding:.65rem 1rem;border-radius:7px;white-space:nowrap}.btn-sm{font-size:.75rem;padding:.4rem .7rem}.btn-lg{padding:.9rem 1.3rem}.btn-primary{--bs-btn-bg:var(--office-green);--bs-btn-border-color:var(--office-green);--bs-btn-hover-bg:var(--office-green-dark);--bs-btn-hover-border-color:var(--office-green-dark);--bs-btn-active-bg:var(--office-green-dark);--bs-btn-active-border-color:var(--office-green-dark)}.btn-outline-primary{--bs-btn-color:var(--office-green);--bs-btn-border-color:#b4d6ca;--bs-btn-hover-bg:var(--office-green);--bs-btn-hover-border-color:var(--office-green);--bs-btn-active-bg:var(--office-green)}.btn-outline-secondary{--bs-btn-color:#53655f;--bs-btn-border-color:#dce4df;--bs-btn-hover-bg:#edf2ef;--bs-btn-hover-color:#263e34;--bs-btn-hover-border-color:#c5d1cb;background:var(--bs-body-bg)}.btn-light{--bs-btn-bg:#f1f5f3;--bs-btn-border-color:#f1f5f3;--bs-btn-color:#5d7068}.btn-white{background:white;color:var(--office-green)}.btn-link{color:var(--office-green)}.btn:focus-visible,.form-control:focus,.form-select:focus{box-shadow:0 0 0 3px #087f6324;border-color:#6fb6a2}.form-control,.form-select{font-size:.84rem;min-height:42px;border-color:#dce4df;border-radius:7px}.form-control::placeholder{color:#96a39d;font-size:.82rem}.form-label{font-size:.79rem;font-weight:600;margin-bottom:.5rem;color:#4c6259}.form-text{font-size:.75rem}.form-check-input:checked{background-color:var(--office-green);border-color:var(--office-green)}.form-check-label{font-size:.82rem;color:#61756c}.form-panel{padding:24px;border:1px solid var(--office-line);background:#f8faf9;border-radius:9px}.form-select-sm,.form-control-sm{min-height:33px;font-size:.75rem}.app-header{border-bottom:1px solid var(--office-line);min-height:76px;box-shadow:none;padding:0 20px}.app-header .nav-link{color:#61736a}.workspace-label{font-size:.8rem;font-weight:600;color:#60746a;display:flex;align-items:center;gap:9px;padding-left:16px}.workspace-dot,.status-dot{height:7px;width:7px;background:#37af89;display:inline-block;border-radius:50%}.top-date{font-size:.75rem;color:#84948b;padding-right:14px;border-right:1px solid var(--office-line)}.user-menu{display:flex;align-items:center;gap:10px}.user-menu-text{text-align:left;font-size:.8rem;font-weight:600;line-height:1.4;color:#31483b}.user-menu-text small{display:block;font-size:.68rem;font-weight:400;color:#819289}.avatar{width:36px;height:36px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;background:#e7f2ed;color:#36846a;font-size:.72rem;font-weight:700;flex-shrink:0}.avatar-sm{width:35px;height:35px}.avatar-xl{width:78px;height:78px;border-radius:23px;font-size:1.6rem}.dropdown-menu{font-size:.82rem;padding:8px;border:1px solid var(--office-line);box-shadow:0 8px 32px #193c2512}.dropdown-item{border-radius:5px;padding:9px 12px}.app-sidebar{background:#102e25!important;border-right:0}.sidebar-brand{height:96px;border-bottom:1px solid #ffffff0d;justify-content:flex-start;padding:0 24px}.brand-link{display:flex;align-items:center;gap:12px!important;padding:0!important}.brand-image{width:39px;height:39px;float:none!important;box-shadow:none!important;opacity:1!important;max-height:39px!important}.brand-text{display:flex;flex-direction:column;line-height:1.4}.brand-text strong{font-size:1.2rem;letter-spacing:-.8px;color:#f0f7f3;font-weight:650}.brand-dot{color:#39c79b}.brand-text small{font-size:.53rem;letter-spacing:2px;color:#88a79a;font-weight:500}.sidebar-wrapper{padding:0 16px 20px;display:flex;flex-direction:column;min-height:calc(100vh - 96px)}.nav-caption{font-size:.57rem;letter-spacing:1.8px;font-weight:700;color:#718e80;padding:12px 15px}.sidebar-menu .nav-item{margin-bottom:5px}.sidebar-menu .nav-link{padding:11px 14px!important;border-radius:7px!important;display:flex;align-items:center;gap:11px;color:#afc4b8!important;font-size:.77rem;min-height:44px}.sidebar-menu .nav-link .nav-icon{font-size:1rem!important;margin:0!important;width:20px;line-height:1;text-align:center}.sidebar-menu .nav-link p{margin:0;font-weight:450}.sidebar-menu .nav-link.active{color:white!important;background:#1c4b3b!important;box-shadow:none!important}.sidebar-menu .nav-link:hover{background:#ffffff0a!important;color:#f0f8f4!important}.nav-active-dot{width:5px;height:5px;background:#68d0a5;border-radius:50%;margin-left:auto}.sidebar-bottom{margin-top:auto;padding:32px 12px 0}.sidebar-security{display:flex;gap:11px;border-top:1px solid #ffffff12;padding-top:23px;color:#a8c3b3;font-size:.72rem;align-items:center}.sidebar-security i{font-size:1.1rem;color:#55ad88}.sidebar-security small{display:block;color:#648b75;font-size:.64rem;margin-top:4px}.sidebar-version{display:flex;justify-content:space-between;font-size:.59rem;color:#5f816d;margin-top:24px}.app-content-header{padding:22px 32px 0}.page-breadcrumb{font-size:.68rem;color:#94a299;display:flex;align-items:center;gap:10px}.page-breadcrumb i{font-size:.5rem}.page-breadcrumb span{color:#6c8174}.app-content{padding:24px 32px 40px}.content-container{padding:0;max-width:1600px;margin:0 auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px;flex-wrap:wrap}.section-kicker{font-size:.58rem;font-weight:750;letter-spacing:1.6px;color:#8da093;display:block;margin-bottom:10px}.page-heading h1{font-size:1.8rem;font-weight:650;letter-spacing:-.8px;line-height:1.2;color:#1c3628;margin:0 0 10px}.page-heading p{margin:0;color:#84948a;font-size:.79rem;line-height:1.6}.page-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.setup-banner{display:flex;align-items:center;gap:17px;padding:18px 22px;background:#e9f3ec;border:1px solid #dcebe0;border-radius:10px;margin-bottom:24px;color:#33593e}.setup-banner-icon{font-size:1.45rem;color:#5f9164}.setup-banner strong{font-size:.81rem;font-weight:650}.setup-banner p{margin:5px 0 0;font-size:.74rem;color:#77937b}.setup-banner .btn{margin-left:auto}.stat-card{padding:22px;background:var(--bs-body-bg);border:1px solid var(--office-line);border-radius:9px;height:100%}.stat-top{display:flex;justify-content:space-between;align-items:center;gap:7px;font-size:.72rem;font-weight:550;color:#7a8b80}.stat-icon{display:inline-flex;width:36px;height:36px;border-radius:10px;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}.stat-icon.teal{background:#e8f5ee;color:#288864}.stat-icon.blue{background:#eaf1fb;color:#668bca}.stat-icon.amber{background:#fff5e4;color:#c59c52}.stat-icon.purple{background:#f0edfa;color:#9881bf}.stat-value{display:block;font-size:2rem;line-height:1.2;letter-spacing:-1.1px;font-weight:650;margin:13px 0 9px;color:#203e2d}.stat-caption{font-size:.64rem;color:#94a197}.stat-card.compact{display:flex;align-items:center;gap:15px;padding:20px}.stat-card.compact strong{display:block;font-size:1.5rem;line-height:1.3}.stat-card.compact div>span{font-size:.72rem;color:#819087}.card{border:1px solid var(--office-line);border-radius:10px;box-shadow:none;overflow:hidden;margin-bottom:0;background:var(--bs-body-bg)}.card-header{border-bottom:1px solid var(--office-line);padding:21px 24px;background:transparent;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:72px}.card-title{float:none;margin:0;font-size:.86rem;font-weight:650;letter-spacing:-.1px;color:#314c3a}.card-subtitle{margin:6px 0 0;font-size:.68rem;color:#94a297}.card-body{padding:24px}.card-link{font-size:.69rem;font-weight:650;color:#688575;white-space:nowrap}.chart-period{font-size:.65rem;border:1px solid var(--office-line);border-radius:6px;padding:7px 10px;color:#85968b;white-space:nowrap}.chart-body{min-height:255px;display:flex;align-items:center;justify-content:center}.chart-body>.empty-state{padding:24px 16px}.card-insight{font-size:.65rem;color:#8b9e91;border-top:1px solid var(--office-line);padding:13px 24px;display:flex;gap:9px;align-items:center;background:#fcfdfc}.quick-actions{padding:8px 22px}.quick-action{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid #f0f3f0;color:inherit}.quick-action:last-child{border-bottom:0}.quick-action-icon{width:36px;height:36px;background:#f1f6f2;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;color:#789580;font-size:1rem;flex-shrink:0}.quick-action strong{display:block;font-size:.75rem;font-weight:600;color:#526e59}.quick-action small{display:block;margin-top:5px;font-size:.64rem;color:#98a79a}.quick-action>.bi{font-size:.65rem;color:#a0b09e}.register-status{display:flex;gap:10px;align-items:center;background:#f8faf7;border-top:1px solid var(--office-line);padding:14px 24px;margin-top:auto}.register-status strong{display:block;font-size:.68rem;font-weight:600;color:#698269}.register-status small{display:block;font-size:.6rem;color:#98aa94;margin-top:3px}.status-muted{background:#b3bfad}.empty-state{text-align:center;padding:46px 20px;display:flex;align-items:center;flex-direction:column;gap:0;max-width:520px;margin:0 auto}.empty-icon{width:54px;height:54px;border-radius:18px;background:#f2f7f3;display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:#9bb4a0;margin-bottom:16px;border:1px solid #eaf1eb}.empty-state h3{font-size:.85rem;font-weight:600;color:#708771;margin-bottom:9px}.empty-state p{font-size:.71rem;color:#9aaa98;max-width:330px;line-height:1.8;margin-bottom:0}.empty-state .btn{margin-top:19px}.table{margin:0;font-size:.77rem;--bs-table-bg:transparent;--bs-table-border-color:#eef1ee;--bs-table-hover-bg:#f8fbf8}.table>thead>tr>th{font-size:.61rem;letter-spacing:.6px;color:#93a18f;font-weight:600;text-transform:uppercase;padding:13px 20px;background:#fafcf9;border-bottom:1px solid var(--office-line);white-space:nowrap}.table>tbody>tr>td{padding:16px 20px;border-bottom-color:#edf2ec;color:#637a61;vertical-align:middle}.table>tfoot>tr>th{padding:16px 20px;color:#496741;background:#f7faf6}.table>tbody>tr:last-child>td{border-bottom:0}.table .fw-semibold{color:#54734c}.table-detail{display:block;margin-top:4px;font-size:.65rem;color:#a1b09a}.person-cell{display:flex;gap:10px;align-items:center;color:#4b6645}.person-cell strong{font-size:.76rem;font-weight:600}.person-cell small{display:block;font-size:.65rem;color:#9bb092;margin-top:3px}.badge{font-size:.6rem;font-weight:600;border-radius:5px;padding:6px 8px;letter-spacing:.1px}.badge-soft-success{background:#e8f5e9;color:#5b9756}.badge-soft-warning{background:#fff4df;color:#b29958}.badge-soft-danger{background:#fcebea;color:#bc7773}.badge-soft-secondary{background:#f0f3ed;color:#8d9e80}.badge-soft-info{background:#eaf3fa;color:#749fbd}.region-progress{margin-bottom:24px}.region-progress:last-child{margin-bottom:4px}.region-progress>div:first-child{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:10px}.region-progress strong{font-size:.73rem;font-weight:600;color:#6d8866}.region-progress span{font-size:.72rem;color:#789a6d}.region-progress small{font-size:.64rem;color:#a1b299}.region-progress .progress{height:5px;background:#eef4e9;border-radius:8px}.region-progress .progress-bar{background:#7cac71;border-radius:8px}.app-footer{background:transparent;border-top:1px solid #e7ece3;padding:20px 32px;color:#98a38f;font-size:.62rem}.app-footer .status-dot{height:5px;width:5px;margin-right:5px}.filter-bar{display:flex;gap:10px;flex-wrap:wrap}.search-input{position:relative;flex:1;min-width:220px}.search-input>i{position:absolute;top:13px;left:13px;color:#a0ae98;font-size:.85rem}.search-input>.form-control{padding-left:37px}.filter-select{width:180px}.segmented-links{display:flex;gap:7px;flex-wrap:wrap}.segmented-links a{font-size:.77rem;font-weight:600;color:#93a38a;border-radius:6px;padding:8px 12px}.segmented-links .active{background:#edf5e8;color:#72935c}.record-count{font-size:.68rem;color:#9cac91}.count-pill{background:#edf3e8;color:#91a87e;border-radius:20px;font-size:.6rem;padding:4px 7px;display:inline-block;margin-left:7px;vertical-align:middle}.table-pagination{padding:16px 22px;border-top:1px solid var(--office-line);display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.68rem;color:#96a48b}.back-link{font-size:.72rem;color:#96a48b;display:inline-block;margin-bottom:16px}.back-link i{margin-right:6px}.profile-summary{text-align:center;padding:32px 24px}.profile-summary .avatar{margin-bottom:16px}.profile-summary h2{font-size:1.1rem;font-weight:600;letter-spacing:-.4px;margin-bottom:9px}.detail-list{margin:0;padding:0 24px 20px}.detail-list>div{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-top:1px solid var(--office-line);font-size:.75rem}.detail-list dt{font-weight:450;color:#9daa8f}.detail-list dd{text-align:right;color:#68875b;margin:0;max-width:65%}.detail-label{font-size:.58rem;letter-spacing:.8px;color:#a0ae92;font-weight:650}.identifier-item{display:flex;justify-content:space-between;align-items:center;padding:13px 0;gap:10px;border-bottom:1px solid var(--office-line)}.identifier-item:last-child{border-bottom:0}.identifier-item strong{display:block;font-size:.82rem;margin-top:5px}.timeline-entry{position:relative;display:flex;gap:16px;padding-bottom:24px}.timeline-entry:last-child{padding-bottom:0}.timeline-entry:before{position:absolute;content:"";width:1px;background:var(--office-line);left:5px;top:12px;bottom:0}.timeline-entry:last-child:before{display:none}.timeline-dot{width:11px;height:11px;background:#9abd87;border:3px solid #e6f0df;border-radius:50%;margin-top:3px;flex-shrink:0;z-index:1}.timeline-entry strong{font-size:.78rem;font-weight:650}.timeline-entry small{display:block;color:#a0ac92;font-size:.65rem;margin-top:4px}.timeline-entry p{font-size:.73rem;color:#89a075;margin:8px 0 0}.workflow-help{margin-top:22px;padding:20px;color:#91a27e}.workflow-help h3{color:#76905d;font-weight:600;font-size:.8rem}.workflow-help ol{padding-left:18px;margin-top:14px;font-size:.74rem;line-height:2.4}.stage-form{min-width:230px}.comparison-summary{display:flex;gap:22px;padding:20px 24px;background:#f6faf1;flex-wrap:wrap;font-size:.75rem;color:#92a579}.comparison-summary strong{font-size:1.1rem;color:#71924e}.report-context{display:flex;gap:12px;border:1px solid var(--office-line);border-radius:8px;padding:16px 20px;background:var(--bs-body-bg);margin-bottom:24px;font-size:.74rem;color:#9baa8b;line-height:1.7}.report-context i{color:#aac18d}.audit-json{font-size:.65rem;max-width:330px;padding:12px;background:#f6f8f2;white-space:pre-wrap;border-radius:7px;margin:10px 0 0}.operation-notice{display:flex;gap:12px;align-items:center}.operation-notice>i{color:#c4b67b;font-size:1.1rem}.operation-notice strong{font-size:.71rem;font-weight:600;color:#96a575}.operation-notice small{display:block;font-size:.65rem;color:#b0b99b;margin-top:4px}.growth-chart{display:flex;width:100%;height:220px;gap:12px;align-items:stretch}.chart-column{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:flex-end}.chart-bar-track{height:160px;display:flex;align-items:flex-end;width:100%;justify-content:center}.chart-bar{width:65%;max-width:32px;min-height:3px;background:linear-gradient(#38a984,#78c4a2);border-radius:5px 5px 0 0}.chart-column-value{font-size:.6rem;color:#8aa58f;margin-bottom:6px}.chart-column-label{font-size:.6rem;color:#98ab99;margin-top:12px}.auth-body{min-height:100vh;background:#fafcf9}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.auth-brand-panel{padding:52px 64px;background:#102f25;color:white;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.auth-brand-panel:after{position:absolute;width:500px;height:500px;content:"";border:1px solid #ffffff08;border-radius:50%;bottom:-250px;right:-250px;box-shadow:0 0 0 80px #ffffff02,0 0 0 160px #ffffff02;pointer-events:none}.auth-brand{font-size:1.35rem;color:#f2f9ef;font-weight:650;display:flex;align-items:center;gap:13px;letter-spacing:-.6px}.auth-brand:hover{color:white}.auth-brand img{width:42px}.auth-brand>span{color:#58cfa3;margin-left:-12px}.eyebrow{font-size:.61rem;letter-spacing:2.5px;color:#8baa93;font-weight:600}.auth-brand-panel h1{font-size:clamp(2.6rem,4vw,4.4rem);line-height:1.15;letter-spacing:-2px;font-weight:600;margin:30px 0}.auth-brand-panel h1 span{color:#8ccea6}.auth-brand-panel p{max-width:350px;color:#90b298;font-size:.86rem;line-height:1.9}.auth-features{display:flex;gap:26px;margin-top:35px;flex-wrap:wrap}.auth-features span{font-size:.7rem;color:#9fbba5;display:flex;align-items:center;gap:8px}.auth-brand-panel>small{font-size:.63rem;color:#6d9677;letter-spacing:.3px}.auth-form-panel{display:flex;align-items:center;justify-content:center;padding:60px}.auth-form{width:100%;max-width:360px}.auth-form h2{font-size:1.7rem;letter-spacing:-.8px;font-weight:650;color:#294832;margin:12px 0}.auth-form>p{font-size:.82rem}.auth-form .section-kicker{color:#8ba482}.auth-form .form-label{font-size:.8rem}.auth-form .form-control{min-height:48px}.auth-note{font-size:.7rem;color:#91a086;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:25px}.error-body{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:30px;background:#f5f8f2}.error-card{max-width:460px;width:100%;padding:40px;gap:8px;text-align:center;align-items:center}.error-card form{width:100%;text-align:left}.verify-mark{width:48px;margin-bottom:10px}.skip-link{position:fixed;left:12px;top:-100px;z-index:9999;background:white;padding:10px 20px}.skip-link:focus{top:12px}.membership-card-print{display:flex;justify-content:center;padding:30px 0}.membership-card{width:600px;max-width:100%;border:1px solid #dae4d3;background:linear-gradient(115deg,#fff,#f3f8ed);border-radius:18px;overflow:hidden;box-shadow:0 16px 50px #17351d0e}.member-card-top{background:#123a28;color:#f4faef;display:flex;align-items:center;gap:15px;padding:24px 30px}.member-card-top img{width:42px}.member-card-top strong{display:block;font-size:1rem}.member-card-top span{display:block;font-size:.56rem;letter-spacing:2px;color:#a4c18d;margin-top:4px}.member-card-top>i{margin-left:auto;font-size:1.8rem;color:#a6ca8b}.member-card-body{padding:30px;display:flex;justify-content:space-between;gap:24px}.member-card-body small{font-size:.53rem;letter-spacing:1.4px;color:#90a679}.member-card-body h2{font-size:1.4rem;font-weight:650;letter-spacing:-.4px;margin:8px 0}.member-card-body p{font-size:.75rem;color:#88a068}.card-serial{display:block;font-size:.8rem;margin-top:7px;color:#749551}.member-card-dates{display:flex;gap:30px;margin-top:22px}.member-card-dates span{font-size:.48rem;letter-spacing:1px;color:#a1b382}.member-card-dates strong{display:block;font-size:.68rem;letter-spacing:0;color:#749551;margin-top:5px}.member-card-qr{width:130px;align-self:center;flex-shrink:0;text-align:center}.member-card-qr svg{width:130px;height:130px;background:white}.member-card-qr>i{font-size:4rem;color:#b0c397}.member-card-qr span{display:block;font-size:.55rem;color:#9caf7f;margin-top:8px}.member-card-footer{padding:12px 30px;background:#eaf2df;color:#98ad77;font-size:.48rem;letter-spacing:.9px;display:flex;justify-content:space-between;gap:10px}.alert{font-size:.8rem;border-radius:8px}.alert-light{color:#7c9462}.text-secondary{color:#85967b!important}
[data-bs-theme=dark]{--office-bg:#141f1a;--office-line:#2d3d32;--bs-body-bg:#1b2921;--bs-body-color:#c4d2bc;--bs-tertiary-bg:#141f1a}[data-bs-theme=dark] body{color:#c4d2bc}[data-bs-theme=dark] .page-heading h1,[data-bs-theme=dark] .stat-value,[data-bs-theme=dark] .card-title,[data-bs-theme=dark] .user-menu-text,[data-bs-theme=dark] .person-cell strong{color:#d1e0c7}[data-bs-theme=dark] .card-insight,[data-bs-theme=dark] .register-status,[data-bs-theme=dark] .form-panel,[data-bs-theme=dark] .table>thead>tr>th,[data-bs-theme=dark] .table>tfoot>tr>th{background:#1e2f24}[data-bs-theme=dark] .setup-banner{background:#203e2a;border-color:#315039;color:#a6c592}[data-bs-theme=dark] .form-control,[data-bs-theme=dark] .form-select{border-color:#3a4c3c}[data-bs-theme=dark] .empty-icon,[data-bs-theme=dark] .quick-action-icon,[data-bs-theme=dark] .btn-light{background:#263c2b;border-color:#304b36}[data-bs-theme=dark] .btn-outline-secondary{background:#1b2921;color:#b7cba5;border-color:#3d513e}[data-bs-theme=dark] .table{--bs-table-hover-bg:#233528;--bs-table-color:#b6cba5}[data-bs-theme=dark] .table>tbody>tr>td{color:#a3ba90;border-color:#2d3e30}
@media(min-width:1600px){.app-content{padding-left:45px;padding-right:45px}.app-content-header{padding-left:45px}}@media(max-width:1199px){.app-content{padding-left:24px;padding-right:24px}.app-content-header{padding-left:24px}.stat-caption{font-size:.62rem}.auth-brand-panel{padding:40px}.auth-form-panel{padding:40px}}@media(max-width:991px){.app-header{padding:0 10px}.page-heading h1{font-size:1.6rem}.app-content{padding:20px}.app-content-header{padding:16px 20px 0}.page-actions{width:100%}.auth-shell{grid-template-columns:1fr}.auth-brand-panel{min-height:260px;padding:30px;gap:32px}.auth-brand-panel h1{font-size:2.2rem;margin:15px 0}.auth-brand-panel h1 br:first-child{display:none}.auth-brand-panel p,.auth-features,.auth-brand-panel>small{display:none}.auth-brand-panel .eyebrow{font-size:.5rem}.auth-form-panel{padding:40px 25px}.auth-form{max-width:420px}}@media(max-width:575px){.app-content{padding:20px 14px}.app-content-header{padding-left:14px}.page-heading{gap:15px;margin-bottom:20px}.section-kicker{font-size:.52rem}.setup-banner{flex-wrap:wrap;padding:16px;gap:10px}.setup-banner .btn{margin-left:0;margin-top:5px}.setup-banner>div{flex:1;min-width:210px}.stat-card{padding:18px}.stat-value{font-size:1.8rem}.card-header,.card-body{padding:18px}.filter-select{width:100%}.search-input{min-width:100%}.member-card-body{padding:20px;gap:12px}.member-card-top{padding:20px}.member-card-top strong{font-size:.8rem}.member-card-body h2{font-size:1.1rem}.member-card-qr{width:90px}.member-card-qr svg{width:90px;height:90px}.member-card-footer{font-size:.38rem;padding:10px 20px}.top-date{display:none}.table>tbody>tr>td,.table>thead>tr>th{padding:14px}.page-breadcrumb{font-size:.6rem}.chart-period{display:none}.app-footer{padding:18px 15px}.growth-chart{gap:5px}}
.text-secondary{color:#65796d!important}.page-heading p,.card-subtitle,.stat-caption,.empty-state p,.quick-action small,.card-insight,.register-status small,.table-detail,.chart-column-label,.chart-column-value,.record-count,.table-pagination,.page-breadcrumb,.auth-note{color:#6c7c71}.stat-caption,.quick-action small,.card-insight,.empty-state p,.register-status small,.table-detail,.card-subtitle{font-size:.72rem}.empty-state h3{color:#466351}.section-kicker{color:#617b68}.nav-caption,.sidebar-version,.sidebar-security small{color:#9ab5a7}.table>thead>tr>th{color:#627466}.operation-notice strong{color:#6b704c}.operation-notice small{color:#75816b}.setup-banner p{color:#607b65}[data-bs-theme=dark] .text-secondary{color:#a3b59e!important}[data-bs-theme=dark] .page-heading p,[data-bs-theme=dark] .card-subtitle,[data-bs-theme=dark] .stat-caption,[data-bs-theme=dark] .empty-state p,[data-bs-theme=dark] .quick-action small,[data-bs-theme=dark] .card-insight{color:#a3b59e}[data-bs-theme=dark] .empty-state h3{color:#bad0b0}
@media print{.app-sidebar,.app-header,.app-footer,.app-content-header,.page-actions,.no-print,.alert,.skip-link,.theme-toggle{display:none!important}.app-wrapper{display:block!important}.app-main{margin:0!important}.app-content{padding:0!important}body{background:white!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.card{break-inside:avoid}.membership-card-print{padding:0}.membership-card{box-shadow:none;width:150mm}.page-heading{margin-bottom:20px}.table{font-size:9pt}.table th{font-size:8pt}.membership-card-print .membership-card{break-inside:avoid}}
/* Task navigation stays readable on small screens and with keyboard focus. */
.workflow-steps { display:flex; flex-wrap:wrap; gap:.5rem; }
.workflow-steps a { display:block; padding:.75rem 1rem; border:1px solid var(--bs-border-color); border-radius:.5rem; color:var(--bs-body-color); background:var(--bs-body-bg); text-decoration:none; }
.workflow-steps a.active { background:var(--bs-primary); border-color:var(--bs-primary); color:#fff; }
.workflow-steps a:focus-visible { outline:3px solid var(--bs-primary); outline-offset:3px; }
details > summary { cursor:pointer; }

/* Location directory */
.location-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.location-metric{display:flex;flex-direction:column;gap:.45rem;padding:1.15rem 1.3rem;background:var(--bs-body-bg);border:1px solid var(--office-line);border-radius:.75rem;color:var(--bs-body-color);text-decoration:none}
.location-metric.is-current{border-color:#538766;box-shadow:inset 0 3px #538766}
.location-metric>span{font-size:.78rem;font-weight:600}.location-metric>strong{font-size:1.9rem;line-height:1.2}.location-metric>small{font-size:.7rem;color:var(--bs-secondary-color)}
.location-notice{display:flex;align-items:center;gap:1rem;padding:1rem 1.2rem;border:1px solid var(--office-line);border-radius:.75rem;background:var(--bs-body-bg);font-size:.8rem}.location-notice>i{font-size:1.5rem;color:#538766}.location-notice>p{flex:1}.location-notice>.btn{white-space:nowrap}
.location-tabs{display:flex;gap:.35rem;overflow-x:auto;border-bottom:1px solid var(--office-line);padding-bottom:.6rem}.location-tabs>a{display:flex;align-items:center;gap:.55rem;padding:.65rem .9rem;white-space:nowrap;border-radius:.4rem;color:var(--bs-secondary-color);font-size:.8rem;font-weight:600}.location-tabs>a.active{background:var(--bs-tertiary-bg);color:var(--bs-body-color)}.location-tabs span{font-size:.65rem;border:1px solid var(--office-line);padding:.1rem .4rem;border-radius:.35rem}
.location-directory .form-label,.location-editor .form-label{font-size:.78rem}.location-directory .row .mb-3{margin-bottom:0!important}.location-directory .card-header,.location-editor .card-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.location-directory .card-title{float:none;margin-bottom:.4rem}.location-id{font-family:monospace;font-size:.78rem;white-space:nowrap}.location-shortname{display:inline-block;font-family:monospace;font-weight:600;font-size:.68rem;padding:.2rem .45rem;margin-top:.4rem;background:var(--bs-tertiary-bg);border:1px solid var(--office-line);border-radius:.3rem;letter-spacing:.03em}.location-assignment{display:flex;align-items:center;gap:.45rem;min-width:225px}.location-assignment .form-select{min-width:150px}.location-empty{text-align:center;padding:3rem 1rem}.location-empty>i{font-size:2rem;color:var(--bs-secondary-color)}.location-empty h3{font-size:1rem;margin:1rem 0 .5rem}.location-empty p{font-size:.8rem;color:var(--bs-secondary-color)}
.location-editor{scroll-margin-top:90px}.location-record-meta{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;font-size:.7rem;color:var(--bs-secondary-color);padding:.75rem;background:var(--bs-tertiary-bg);border-radius:.4rem}.location-parent{padding:.75rem;background:var(--bs-tertiary-bg);border:1px solid var(--office-line);border-radius:.4rem;font-size:.8rem}.location-history{list-style:none;margin:0;padding:0}.location-history li{padding:.7rem 0;border-bottom:1px solid var(--office-line)}.location-history strong,.location-history span{display:block;font-size:.72rem}.location-history span{font-size:.65rem;margin-top:.3rem;color:var(--bs-secondary-color)}.location-tabs a:focus-visible,.location-metric:focus-visible{outline:3px solid #538766;outline-offset:3px}
@media(min-width:1200px){.location-editor{position:sticky;top:90px}}
@media(max-width:991px){.location-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.location-notice{flex-wrap:wrap}.location-notice>p{min-width:200px}}
@media(max-width:575px){.location-metrics{gap:.6rem}.location-metric{padding:.9rem}.location-metric>strong{font-size:1.5rem}.location-metric>small{font-size:.65rem}.location-notice>.btn{width:100%}}
/* Optional private voter photos. */
.voter-photo-panel{display:flex;align-items:flex-start;gap:1.5rem;padding:1.25rem;background:var(--bs-tertiary-bg);border:1px solid var(--office-line);border-radius:.75rem}
.voter-photo-frame{flex-shrink:0}.voter-photo{width:112px;height:128px;object-fit:cover;object-position:center;border-radius:.6rem;border:1px solid var(--office-line);background:var(--bs-body-bg)}
.voter-photo-placeholder{display:inline-flex;align-items:center;justify-content:center;width:112px;height:128px;border-radius:.6rem;background:var(--bs-body-bg);border:1px solid var(--office-line);font-size:2rem;font-weight:600;color:var(--bs-secondary-color)}
.voter-photo[hidden],.voter-photo-placeholder[hidden]{display:none!important}
@media(max-width:575px){.voter-photo-panel{flex-direction:column;gap:1rem}}
/* Voter/member directory photos and filters. */
.directory-photo,.directory-photo-placeholder{display:inline-flex;align-items:center;justify-content:center;width:44px;height:52px;border-radius:.45rem;flex-shrink:0;border:1px solid var(--office-line);background:var(--bs-tertiary-bg)}
.directory-photo{object-fit:cover;object-position:center}.directory-photo-placeholder{font-size:1.1rem;font-weight:600;color:var(--bs-secondary-color)}
.people-directory .row .mb-3{margin-bottom:0!important}.people-directory .form-label{font-size:.76rem}.people-directory th{white-space:nowrap}.people-directory .table-detail{max-width:200px}.people-directory .table-pagination{flex-wrap:wrap}
/* One voter form with clearly separated personal, residential and electoral details. */
.voter-form-sections{display:flex;flex-wrap:wrap;gap:.5rem}.voter-form-sections a{padding:.55rem .85rem;border:1px solid var(--office-line);border-radius:.5rem;background:var(--bs-body-bg);font-size:.78rem;color:var(--bs-body-color)}
.voter-form-sections a:focus-visible{outline:3px solid #538766;outline-offset:3px}.voter-record-form section[id]{scroll-margin-top:85px}.voter-record-form .card-title{float:none;margin:0}.voter-record-form .form-text{font-size:.74rem}.voter-save-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;background:var(--bs-body-bg);border:1px solid var(--office-line);border-radius:.65rem}.voter-save-bar .btn{white-space:nowrap}
@media(max-width:575px){.voter-save-bar{align-items:stretch;flex-direction:column}.voter-form-sections a{flex:1;text-align:center}}
.member-criteria-panel{padding:1rem;border:1px solid var(--office-line);border-radius:.6rem;background:var(--bs-tertiary-bg)}
.member-criteria-panel>summary{font-weight:600;font-size:.85rem;cursor:pointer}.member-criteria-panel .row{padding-top:.5rem}
[data-address-picker] .ts-wrapper{width:100%}[data-address-picker] .ts-control{min-height:42px;border-color:var(--bs-border-color);background:var(--bs-body-bg);color:var(--bs-body-color)}
[data-address-picker] .ts-dropdown{z-index:1050;background:var(--bs-body-bg);color:var(--bs-body-color)}[data-address-picker] .ts-dropdown .dropdown-input{background:var(--bs-body-bg);color:var(--bs-body-color);border-color:var(--bs-border-color)}
[data-bs-theme=dark] [data-address-picker] .ts-dropdown .active{background:#263c2b;color:#d1e0c7}
.town-tag{border:1px solid var(--bs-border-color);border-radius:2rem;padding:.35rem .85rem;background:var(--bs-tertiary-bg);color:var(--bs-body-color)}
.town-tag:hover,.town-tag[aria-pressed=true]{background:var(--bs-success);border-color:var(--bs-success);color:#fff}
.town-tag:focus-visible{outline:3px solid var(--bs-success);outline-offset:3px}.town-tag:disabled{opacity:.6}
/* Operational dashboard: aggregate data, responsive cards and accessible drill-downs. */
.dashboard-workspace{max-width:1800px;margin:0 auto}
.dashboard-scope{padding:1.25rem 1.5rem;border:1px solid var(--office-line);border-radius:12px;background:var(--bs-body-bg)}
.dashboard-scope-label{display:flex;align-items:center;gap:.55rem;font-weight:650;margin-bottom:.35rem}
.dashboard-scope-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.6rem;margin-top:1rem;padding-top:.9rem;border-top:1px solid var(--office-line);font-size:.72rem;color:var(--bs-secondary-color)}
.dashboard-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.dashboard-kpi{display:flex;flex-direction:column;padding:1.3rem 1.5rem;border:1px solid var(--office-line);border-radius:12px;background:var(--bs-body-bg);color:var(--bs-body-color);position:relative;overflow:hidden}
.dashboard-kpi:before{position:absolute;left:0;top:0;bottom:0;width:3px;content:"";background:var(--office-green);opacity:.65}
.dashboard-kpi>div{display:flex;justify-content:space-between;align-items:center;gap:.5rem;font-size:.8rem;font-weight:600}
.dashboard-kpi>div>i{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--bs-tertiary-bg);border-radius:10px;color:var(--office-green);font-size:1.1rem;flex-shrink:0}
.dashboard-kpi>strong{font-size:2.15rem;letter-spacing:-1px;line-height:1.25;margin:.6rem 0 .4rem;font-variant-numeric:tabular-nums}
.dashboard-kpi>small{font-size:.73rem;color:var(--bs-secondary-color)}
.dashboard-kpi-link{font-size:.7rem;color:var(--office-green);margin-top:.9rem;display:flex;justify-content:space-between;align-items:center}
.dashboard-kpi:hover{border-color:var(--office-green);color:var(--bs-body-color)}
.dashboard-panel{border:1px solid var(--office-line);border-radius:12px;overflow:hidden;box-shadow:none}
.dashboard-panel .card-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.8rem;border-bottom:1px solid var(--office-line)}
.dashboard-panel .card-title{float:none;margin:0;font-size:1rem;font-weight:650}
.dashboard-panel .card-subtitle{margin:.4rem 0 0;font-size:.73rem;color:var(--bs-secondary-color);line-height:1.6}
.dashboard-panel .card-header>a{font-size:.75rem;white-space:nowrap}
.dashboard-panel .table th[scope=row]{font-size:.8rem;font-weight:550;padding:1rem 1.25rem;vertical-align:middle}
.dashboard-panel .table td{font-variant-numeric:tabular-nums}
.dashboard-chart-key{display:flex;gap:.9rem;flex-wrap:wrap;font-size:.72rem}
.dashboard-chart-key>span{display:flex;align-items:center;gap:.4rem}
.dashboard-dot{display:inline-block;width:9px;height:9px;border-radius:3px;background:var(--office-green)}
.dashboard-dot.is-member{background:#607ec5}
.dashboard-chart{display:flex;align-items:stretch;gap:1rem;height:245px;padding-top:.5rem;border-bottom:1px solid var(--office-line)}
.dashboard-chart-month{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center}
.dashboard-chart-values{display:flex;justify-content:center;gap:.6rem;font-size:.72rem;font-variant-numeric:tabular-nums;min-height:25px}
.dashboard-chart-values>span:first-child{color:var(--office-green)}.dashboard-chart-values>span:last-child{color:#607ec5}
.dashboard-chart-track{height:180px;width:100%;display:flex;gap:5px;align-items:flex-end;justify-content:center;background:repeating-linear-gradient(to top,transparent 0,transparent 44px,var(--office-line) 44px,var(--office-line) 45px)}
.dashboard-chart-bar{display:block;width:25%;max-width:28px;background:var(--office-green);border-radius:4px 4px 0 0}
.dashboard-chart-bar.is-member{background:#607ec5}
.dashboard-chart-label{font-size:.72rem;margin:.6rem 0;color:var(--bs-secondary-color)}
.dashboard-conversion{display:flex;flex-direction:column;gap:.25rem;padding:.25rem 0 1.2rem}
.dashboard-conversion strong{font-size:2.7rem;letter-spacing:-1.4px;line-height:1.2;color:var(--office-green)}
.dashboard-conversion span{font-size:.8rem;color:var(--bs-secondary-color)}
.dashboard-meter{height:7px;overflow:hidden;border-radius:10px;background:var(--bs-tertiary-bg);border:1px solid var(--office-line)}
.dashboard-meter>span{display:block;height:100%;background:var(--office-green);border-radius:10px}
.dashboard-summary-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--office-line);font-size:.77rem}
.dashboard-summary-row>span{min-width:0;overflow-wrap:anywhere;color:var(--bs-body-color)}.dashboard-summary-row>strong{font-variant-numeric:tabular-nums;flex-shrink:0}
.dashboard-residential-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.dashboard-residential-stats>div{display:flex;flex-direction:column;gap:.4rem;padding:.2rem 1rem;border-left:2px solid var(--office-line)}
.dashboard-residential-stats strong{font-size:1.75rem;font-variant-numeric:tabular-nums}
.dashboard-residential-stats span{font-size:.75rem;color:var(--bs-secondary-color)}
.dashboard-town-prompt,.dashboard-footnote,.dashboard-empty{display:flex;align-items:center;gap:1rem;border:1px solid var(--office-line);border-radius:10px;padding:1.15rem;background:var(--bs-tertiary-bg);font-size:.8rem}
.dashboard-town-prompt{margin-top:1.4rem}.dashboard-town-prompt>i,.dashboard-empty>i{font-size:1.5rem;color:var(--office-green)}
.dashboard-town-cloud{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;min-height:70px}
.dashboard-town-tag{display:inline-flex;align-items:center;gap:.55rem;text-decoration:none;overflow-wrap:anywhere;max-width:100%}
.dashboard-town-tag>span{font-size:.7rem;border-radius:1rem;background:var(--bs-body-bg);color:var(--bs-body-color);padding:.1rem .4rem;font-variant-numeric:tabular-nums}
.dashboard-table-empty{text-align:center;padding:2rem!important;color:var(--bs-secondary-color)!important}
.dashboard-coverage-row{margin-bottom:1rem}.dashboard-coverage-row>div:first-child{display:flex;justify-content:space-between;gap:.75rem;font-size:.75rem;margin-bottom:.4rem}
.dashboard-coverage-row small{color:var(--bs-secondary-color);margin-left:.4rem}
.dashboard-footnote{flex-wrap:wrap}.dashboard-footnote>span{flex:1;min-width:200px}.dashboard-footnote>a{white-space:nowrap}
.dashboard-recent-member{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;border-bottom:1px solid var(--office-line);padding:.85rem 0}
.dashboard-recent-member:first-child{padding-top:0}.dashboard-recent-member:last-child{border-bottom:0;padding-bottom:0}
.dashboard-recent-member strong,.dashboard-recent-member span,.dashboard-recent-member small{display:block;overflow-wrap:anywhere}
.dashboard-recent-member strong{font-size:.8rem}.dashboard-recent-member span{font-size:.72rem;color:var(--bs-secondary-color);margin:.3rem 0}.dashboard-recent-member small{font-size:.68rem;color:var(--bs-secondary-color)}
.dashboard-workspace a:focus-visible{outline:3px solid var(--office-green);outline-offset:3px}
[data-dashboard-filters] .ts-control{min-height:42px;background:var(--bs-body-bg);color:var(--bs-body-color);border-color:var(--bs-border-color)}
[data-dashboard-filters] .ts-dropdown,[data-dashboard-filters] .dropdown-input{background:var(--bs-body-bg);color:var(--bs-body-color)}
[data-dashboard-filters] .ts-dropdown .active{background:var(--bs-tertiary-bg);color:var(--bs-body-color)}
[data-bs-theme=dark] .dashboard-kpi-link,[data-bs-theme=dark] .dashboard-conversion strong,[data-bs-theme=dark] .dashboard-chart-values>span:first-child{color:#71ceab}
[data-bs-theme=dark] .dashboard-chart-values>span:last-child{color:#a0b8f2}
@media(min-width:1600px){.dashboard-kpis{grid-template-columns:repeat(6,minmax(0,1fr))}.dashboard-kpi{padding:1.2rem}.dashboard-kpi>div{align-items:flex-start}.dashboard-kpi>div>i{width:28px;height:28px}}
@media(max-width:767px){.dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-kpi{padding:1rem}.dashboard-residential-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-scope{padding:1rem}.dashboard-chart{gap:.45rem}.dashboard-chart-values{gap:.3rem;font-size:.66rem}}
@media(max-width:420px){.dashboard-kpi>div>i{display:none}.dashboard-kpi>strong{font-size:1.8rem}.dashboard-kpi>div{font-size:.73rem}.dashboard-kpi>small{font-size:.68rem}}
@media print{.dashboard-scope form,.dashboard-chart-key{display:none}.dashboard-kpis{grid-template-columns:repeat(3,1fr)}.dashboard-panel{break-inside:avoid}.dashboard-workspace .row>*{width:100%}}
/* Member profile */
.member-workspace{max-width:1600px;margin:0 auto}.member-heading h1{overflow-wrap:anywhere}
.member-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:1.5rem;align-items:start}
.member-sidebar{display:flex;flex-direction:column;gap:1.25rem}.member-sidebar .card{margin-bottom:0}
.member-main{min-width:0}.member-identity,.member-panel{border:1px solid var(--office-line);border-radius:12px;box-shadow:none;overflow:hidden}
.member-identity{position:relative}.member-identity-cover{height:85px;background:linear-gradient(110deg,#075f4c,#138b6a)}
.member-identity-cover:after{content:"";display:block;height:100%;background:repeating-linear-gradient(135deg,transparent,transparent 24px,#ffffff08 24px,#ffffff08 25px)}
.member-identity .card-body{padding:0 1.4rem 1.25rem}.member-identity-photo{position:relative;margin:-48px 0 .8rem;width:100px}
.member-identity-photo>img,.member-identity-photo>span{display:flex;align-items:center;justify-content:center;width:100px;height:114px;border:4px solid var(--bs-body-bg);border-radius:12px;object-fit:cover;object-position:center;background:var(--bs-tertiary-bg);font-size:2.4rem;font-weight:650;color:var(--office-green)}
.member-identity-status{margin-bottom:.7rem}.member-identity h2{font-size:1.2rem;font-weight:650;line-height:1.4;overflow-wrap:anywhere;margin-bottom:.35rem}
.member-identity-profession{font-size:.8rem;color:var(--bs-secondary-color);margin-bottom:1.25rem;overflow-wrap:anywhere}
.member-identifier-list{margin:0}.member-identifier-list>div{padding:.85rem 0;border-top:1px solid var(--office-line)}
.member-identifier-list dt{font-size:.68rem;font-weight:500;color:var(--bs-secondary-color);margin-bottom:.4rem}
.member-identifier-list dd{display:flex;align-items:center;justify-content:space-between;gap:.65rem;margin:0;font-size:.85rem;font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.member-identifier-list dd>span,.member-identifier-list dd>a{min-width:0}
.member-copy{border:1px solid var(--office-line);background:var(--bs-tertiary-bg);border-radius:6px;flex-shrink:0;color:var(--bs-body-color);width:29px;height:29px;font-size:.8rem;display:inline-flex;align-items:center;justify-content:center}
.member-identity-date{display:flex;align-items:center;gap:.7rem;padding:1rem 0;border-top:1px solid var(--office-line);margin-top:.5rem}.member-identity-date>i{font-size:1.3rem;color:var(--office-green)}
.member-identity-date span,.member-identity-date strong{display:block}.member-identity-date span{font-size:.7rem;color:var(--bs-secondary-color);margin-bottom:.25rem}.member-identity-date strong{font-size:.85rem}
.member-identity-footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding-top:.7rem;border-top:1px solid var(--office-line);font-size:.65rem;color:var(--bs-secondary-color)}
.member-panel .card-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.8rem;border-bottom:1px solid var(--office-line)}
.member-panel .card-title{float:none;margin:0;font-size:1rem;font-weight:650}.member-panel .card-header>a{font-size:.73rem}
.member-panel .card-body{padding:1.4rem}.member-section-kicker{display:block;font-size:.58rem;letter-spacing:.09em;color:var(--bs-secondary-color);margin-bottom:.4rem;font-weight:600}
.member-section-nav{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.25rem}.member-section-nav>a{padding:.55rem .8rem;border:1px solid var(--office-line);background:var(--bs-body-bg);border-radius:6px;font-size:.73rem;color:var(--bs-body-color)}
.member-section-nav>a:hover{border-color:var(--office-green);color:var(--office-green)}
.member-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem 1.5rem;margin:0}
.member-detail-grid.is-single{grid-template-columns:1fr;gap:1rem}.member-detail-grid>div{min-width:0}
.member-detail-grid dt{font-weight:500;font-size:.72rem;color:var(--bs-secondary-color);margin:0 0 .35rem}
.member-detail-grid dd{font-size:.85rem;font-weight:550;margin:0;overflow-wrap:anywhere;white-space:pre-line}
.member-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;border-top:1px solid var(--office-line);padding-top:1.25rem;margin-top:1.25rem}
.member-contact-item{display:flex;gap:.8rem;align-items:flex-start;min-width:0}.member-contact-item>i{padding:.5rem;background:var(--bs-tertiary-bg);border-radius:8px;color:var(--office-green)}
.member-contact-item>div{min-width:0}.member-contact-item span{display:block;font-size:.7rem;color:var(--bs-secondary-color);margin-bottom:.4rem}.member-contact-item strong{font-size:.82rem;font-weight:550;overflow-wrap:anywhere}
.member-location-tag{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.65rem .8rem;border-radius:8px;background:var(--bs-tertiary-bg);font-size:.73rem;margin-top:1.25rem;border:1px solid var(--office-line);overflow-wrap:anywhere}
.member-section-link{display:block;margin-top:1.25rem;font-size:.75rem}
.member-info-note{display:flex;align-items:flex-start;gap:.5rem;font-size:.72rem;color:var(--bs-secondary-color);margin:1.25rem 0 0;padding:.75rem;background:var(--bs-tertiary-bg);border-radius:6px}
.member-background-tags{display:flex;flex-direction:column;gap:1.2rem;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--office-line)}
.member-background-tags h3{font-size:.75rem;font-weight:600;margin-bottom:.6rem}.member-tags{display:flex;flex-wrap:wrap;gap:.5rem}
.member-tags>span{display:inline-block;padding:.35rem .7rem;border-radius:6px;border:1px solid var(--office-line);background:var(--bs-tertiary-bg);font-size:.75rem;max-width:100%;overflow-wrap:anywhere}
.member-tags>span.member-tag-empty{border:0;background:none;padding:0;color:var(--bs-secondary-color)}
.member-follow-up ul{list-style:none;margin:0;padding:0}.member-follow-up li>a{display:flex;align-items:center;justify-content:space-between;gap:.6rem;font-size:.74rem;padding:.65rem 0;border-top:1px solid var(--office-line)}
.member-record-meta{margin:0}.member-record-meta>div{margin-bottom:.9rem}.member-record-meta dt{font-size:.67rem;font-weight:500;color:var(--bs-secondary-color);margin-bottom:.3rem}.member-record-meta dd{font-size:.75rem;margin:0;overflow-wrap:anywhere}
.member-editor-summary,.member-removal>summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.2rem 1.4rem;font-size:.85rem;font-weight:600;list-style:none}
.member-editor-summary::-webkit-details-marker,.member-removal>summary::-webkit-details-marker{display:none}
.member-editor[open]>.member-editor-summary{border-bottom:1px solid var(--office-line)}.member-editor[open]>.member-editor-summary>i,.member-removal[open]>summary>i{transform:rotate(180deg)}
.member-editor fieldset{min-width:0}.member-editor legend{float:none;width:auto;margin-bottom:1.1rem}.member-editor hr{margin:1.3rem 0}.member-editor .row>.mb-3{margin-bottom:0}
.member-editor-actions{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;padding-top:1.2rem;margin-top:.5rem;border-top:1px solid var(--office-line)}
.member-editor-actions strong,.member-editor-actions span{display:block}.member-editor-actions strong{font-size:.82rem;margin-bottom:.3rem}
.member-activity-list{list-style:none;margin:0;padding:0}.member-activity-list li{display:flex;align-items:flex-start;gap:.8rem;padding:.75rem 0;border-bottom:1px solid var(--office-line)}
.member-activity-list li:first-child{padding-top:0}.member-activity-list li:last-child{border-bottom:0;padding-bottom:0}
.member-activity-dot{display:block;flex-shrink:0;width:8px;height:8px;border-radius:50%;background:var(--office-green);margin-top:.35rem}
.member-activity-list strong{display:block;font-size:.8rem;font-weight:600}.member-activity-list p{font-size:.7rem;color:var(--bs-secondary-color);margin:.25rem 0 0}
.member-activity-list time{margin-left:auto;font-size:.68rem;color:var(--bs-secondary-color);white-space:nowrap}
.member-removal{border:1px solid var(--bs-danger-border-subtle);border-radius:12px;background:var(--bs-body-bg)}
.member-removal>summary{color:var(--bs-danger-text-emphasis)}.member-removal>div{padding:0 1.4rem 1.3rem}
.member-workspace section[id],.member-editor{scroll-margin-top:95px}
.member-workspace a:focus-visible,.member-workspace button:focus-visible,.member-workspace summary:focus-visible{outline:3px solid var(--office-green);outline-offset:3px}
[data-bs-theme=dark] .member-location-tag,[data-bs-theme=dark] .member-section-link,[data-bs-theme=dark] .member-follow-up a{color:#71ceab}
@media(min-width:1400px){.member-layout{grid-template-columns:320px minmax(0,1fr);gap:1.75rem}}
@media(max-width:991px){.member-layout{grid-template-columns:1fr}.member-sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:start}.member-identity{grid-row:span 2}.member-main{width:100%}}
@media(max-width:575px){.member-sidebar{display:flex}.member-contact-grid,.member-detail-grid{grid-template-columns:1fr}.member-panel .card-body{padding:1.1rem}.member-heading h1{font-size:1.5rem}.member-activity-list li{flex-wrap:wrap}.member-activity-list time{margin-left:1.3rem;width:100%}.member-editor-actions>.d-flex{width:100%}.member-editor-actions .btn{flex:1}.member-editor-summary,.member-removal>summary{padding:1rem}.member-section-nav>a{flex:1;text-align:center;white-space:nowrap}}
@media print{.member-layout{display:block}.member-sidebar{display:block}.member-sidebar .card{margin-bottom:1rem}.member-identity-cover{height:35px}.member-identity-photo{margin:0}.member-identity .card-body{padding:1rem}.member-identity-photo{float:left;margin:0 1rem 1rem 0}.member-identifier-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;clear:both}.member-identity-date{padding:.5rem 0}.member-identity-profession{margin-bottom:.6rem}.member-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.member-main .row>*{width:50%}.member-panel{break-inside:avoid}.member-section-nav{display:none!important}}
/* Shared person fields inside the member editor. */
.member-editor .voter-record-form>.card{box-shadow:none;border:1px solid var(--office-line);border-radius:9px}
.member-editor .voter-record-form>.card>.card-header{padding:1rem}
.member-editor .voter-record-form>.card>.card-header .card-title{font-size:.9rem}
.member-editor .voter-record-form>.card>.card-body{padding:1rem}
.member-editor #member-edit-membership{padding:1rem;border:1px solid var(--office-line);border-radius:9px;scroll-margin-top:95px}
.member-editor #member-edit-background{scroll-margin-top:95px}
.member-editor .voter-save-bar{margin-top:1rem}
.member-editor .voter-form-sections{position:static}
/* Dedicated member editor */
.member-edit-workspace{max-width:1200px}.member-edit-context{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1rem 1.25rem;background:var(--bs-body-bg);border:1px solid var(--office-line);border-radius:10px}
.member-edit-context>div{min-width:0}.member-edit-context span:not(.badge){display:block;font-size:.68rem;color:var(--bs-secondary-color);margin-bottom:.3rem}.member-edit-context strong{font-size:.82rem;overflow-wrap:anywhere}
.member-edit-workspace .member-editor-actions{position:sticky;bottom:1rem;padding:1rem;background:var(--bs-body-bg);border:1px solid var(--office-line);border-radius:9px;box-shadow:0 4px 20px #0000000a;z-index:10}
.member-edit-workspace .member-editor{overflow:visible}.member-edit-workspace .member-editor>.card-body{border-radius:12px}
@media(max-width:575px){.member-edit-context>div{flex-basis:45%}.member-edit-workspace .member-editor-actions{position:static}.member-edit-workspace .member-heading .btn{flex:1}}
@media print{.member-edit-workspace{display:none}}
/* Shared directory workspace */
.directory-workspace{max-width:1800px;margin:0 auto}
.directory-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1.25rem}
.directory-metric{display:flex;flex-direction:column;gap:.65rem;padding:1.2rem 1.4rem;background:var(--bs-body-bg);border:1px solid var(--office-line);border-radius:12px;color:var(--bs-body-color);min-width:0}
.directory-metric>div{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.77rem;font-weight:600}
.directory-metric>div>i{font-size:1rem;color:var(--office-green);background:var(--bs-tertiary-bg);padding:.4rem .55rem;border-radius:8px}
.directory-metric>strong{font-size:2rem;font-variant-numeric:tabular-nums;letter-spacing:-.8px;line-height:1.15}
.directory-metric>small{font-size:.7rem;color:var(--bs-secondary-color)}
a.directory-metric:hover{border-color:var(--office-green);color:var(--bs-body-color)}
.directory-panel{border:1px solid var(--office-line);border-radius:12px;box-shadow:none;overflow:hidden}
.directory-panel .card-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.8rem;border-bottom:1px solid var(--office-line)}
.directory-panel .card-title{float:none;font-size:1rem;font-weight:650;margin:0}.directory-panel .card-header>a{font-size:.74rem}
.directory-search-area{padding:1.25rem 1.5rem;border-bottom:1px solid var(--office-line)}
.directory-search-row{display:flex;align-items:flex-end;gap:.65rem}.directory-search-row .mb-3{margin-bottom:0!important}.directory-search-row>.flex-grow-1{min-width:0}
.directory-filter-panel{border:1px solid var(--office-line);border-radius:9px;background:var(--bs-body-bg);margin-top:1rem;overflow:visible}
.directory-filter-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;font-size:.79rem;font-weight:600;list-style:none;background:var(--bs-tertiary-bg);border-radius:9px}
.directory-filter-panel>summary::-webkit-details-marker{display:none}.directory-filter-panel[open]>summary{border-radius:9px 9px 0 0;border-bottom:1px solid var(--office-line)}
.directory-filter-panel[open]>summary>i{transform:rotate(180deg)}
.directory-filter-content{padding:1.15rem}.directory-filter-content .mb-3{margin-bottom:0!important}
.directory-filter-group{border:0;border-top:1px solid var(--office-line);padding:1.1rem 0 0;margin:1.1rem 0 0;min-width:0}
.directory-filter-group:first-child{border-top:0;padding-top:0;margin-top:0}
.directory-filter-group legend{float:none;width:auto;font-size:.8rem;font-weight:650;margin-bottom:.8rem}
.directory-filter-group>h3{font-size:.8rem;font-weight:650}
.directory-count{font-size:.66rem;font-weight:500;padding:.2rem .5rem;border:1px solid var(--office-line);border-radius:5px;background:var(--bs-body-bg);color:var(--bs-secondary-color);white-space:nowrap}
.directory-filter-panel summary .directory-count{margin-left:.5rem}
.directory-filter-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
.directory-filter-chips>a{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .65rem;border:1px solid var(--office-line);border-radius:6px;font-size:.7rem;background:var(--bs-tertiary-bg);color:var(--bs-body-color);overflow-wrap:anywhere;max-width:100%}
.directory-filter-chips>a:hover{border-color:var(--office-green)}
.directory-display-controls{display:flex;align-items:flex-end;gap:1rem;flex-wrap:wrap;padding-top:1rem}
.directory-display-controls .mb-3{margin-bottom:0!important}.directory-display-controls>div{min-width:130px}.directory-display-controls>.small{margin-bottom:.4rem}
.directory-result-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding:1rem 1.5rem;border-bottom:1px solid var(--office-line);position:relative}
.directory-columns{font-size:.73rem}.directory-columns>summary{cursor:pointer;padding:.45rem .65rem;border:1px solid var(--office-line);border-radius:6px;list-style:none}
.directory-columns>[data-column-options]{position:absolute;right:1.5rem;top:calc(100% - .5rem);z-index:1050;min-width:220px;max-width:90%;padding:1rem;background:var(--bs-body-bg);border:1px solid var(--office-line);border-radius:8px;box-shadow:0 10px 35px #00000015}
[data-column-options]>label{display:flex;align-items:center;gap:.6rem;padding:.45rem 0;font-size:.74rem;cursor:pointer}.directory-column-hidden{display:none!important}
.directory-table-scroll{position:relative;overscroll-behavior-x:contain}
.directory-panel .table>thead>tr>th{font-size:.66rem;text-transform:uppercase;letter-spacing:.04em;background:var(--bs-tertiary-bg);color:var(--bs-secondary-color);white-space:nowrap;padding:1rem 1.15rem}
.directory-panel .table>tbody>tr>td,.directory-panel .table>tbody>tr>th{padding:1rem 1.15rem;border-color:var(--office-line);font-size:.8rem;vertical-align:middle}
.directory-panel .table>tbody>tr>th{font-weight:550;min-width:160px}
.directory-panel .table-detail{display:block;font-size:.68rem;color:var(--bs-secondary-color);margin-top:.35rem;line-height:1.5;font-weight:400}
.directory-actions-cell{position:sticky;right:0;z-index:2;background:var(--bs-body-bg)!important;box-shadow:-1px 0 var(--office-line);white-space:nowrap}
thead .directory-actions-cell{z-index:3;background:var(--bs-tertiary-bg)!important}
.directory-row-editing>td,.directory-row-editing>th{background:var(--bs-tertiary-bg)}
.directory-count-links{display:flex;flex-direction:column;gap:.35rem;white-space:nowrap;font-size:.73rem}
.directory-record-count{display:flex;flex-direction:column;font-size:.9rem;font-weight:600}.directory-record-count>span{font-size:.66rem;color:var(--bs-secondary-color);font-weight:400;margin-top:.2rem}
.directory-row-links{display:flex;gap:.8rem;flex-wrap:wrap;font-size:.68rem;margin-top:.55rem}
.directory-pagination{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1rem 1.5rem;border-top:1px solid var(--office-line);font-size:.72rem;color:var(--bs-secondary-color)}
.directory-empty{text-align:center;padding:2.5rem 1rem}.directory-empty>i{font-size:2rem;color:var(--bs-secondary-color)}.directory-empty h3{font-size:1rem;margin:1rem 0 .6rem}.directory-empty p{font-size:.8rem;color:var(--bs-secondary-color)}
.directory-info-line{display:flex;align-items:flex-start;gap:.65rem;padding:.2rem 0 1rem;font-size:.75rem;color:var(--bs-secondary-color);line-height:1.7}
.directory-info-line>i{color:var(--office-green)}
.directory-section-tabs{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1rem;padding-bottom:.8rem;border-bottom:1px solid var(--office-line)}
.directory-section-tabs>a{padding:.55rem .9rem;border-radius:7px;color:var(--bs-body-color);font-size:.78rem}
.directory-section-tabs>a.active{background:var(--office-green);color:white}
.directory-editor{scroll-margin-top:90px}.directory-editor .card-body{padding:1.25rem}.directory-editor-meta{display:flex;flex-direction:column;gap:.35rem;padding:.85rem;margin-bottom:1rem;background:var(--bs-tertiary-bg);border-radius:7px;font-size:.7rem;color:var(--bs-secondary-color)}
.directory-workspace [data-directory-searchable] .ts-wrapper{width:100%}
.directory-workspace [data-directory-searchable] .ts-control{min-height:42px;border-color:var(--bs-border-color);background:var(--bs-body-bg);color:var(--bs-body-color)}
.directory-workspace [data-directory-searchable] .ts-dropdown,.directory-workspace [data-directory-searchable] .dropdown-input{background:var(--bs-body-bg);color:var(--bs-body-color);border-color:var(--bs-border-color)}
.directory-workspace [data-directory-searchable] .ts-dropdown{z-index:1060}
.directory-workspace [data-directory-searchable] .ts-dropdown .active{background:var(--bs-tertiary-bg);color:var(--bs-body-color)}
.directory-workspace a:focus-visible,.directory-workspace summary:focus-visible{outline:3px solid var(--office-green);outline-offset:3px}
[data-bs-theme=dark] .directory-count-links a,[data-bs-theme=dark] .directory-record-count,[data-bs-theme=dark] .directory-row-links a{color:#71ceab}
@media(min-width:1200px){.directory-editor{position:sticky;top:90px}}
@media(max-width:991px){.directory-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.directory-metric{padding:1rem}.directory-display-controls>.small{width:100%}}
@media(max-width:575px){.directory-search-area{padding:1rem}.directory-search-row{flex-wrap:wrap}.directory-search-row>.flex-grow-1{flex-basis:100%}.directory-search-row>.btn{flex:1}.directory-filter-content{padding:1rem}.directory-metrics{gap:.65rem}.directory-metric>strong{font-size:1.6rem}.directory-metric>div>i{display:none}.directory-metric>div{font-size:.72rem}.directory-pagination,.directory-result-toolbar{padding:1rem}.directory-pagination .btn{padding:.4rem .55rem}.directory-actions-cell{position:static;box-shadow:none}.directory-display-controls>div{flex:1}.directory-editor .card-body{padding:1rem}}
@media print{.directory-search-area,.directory-columns,.directory-pagination,.directory-editor,.directory-section-tabs,.directory-actions-cell{display:none!important}.directory-metrics{grid-template-columns:repeat(4,1fr)}.directory-table-scroll{overflow:visible}.directory-panel{overflow:visible}}
/* Let searchable dropdowns and column controls extend beyond short result cards. */
.directory-panel{overflow:visible}.directory-panel>.card-header,.directory-panel>.directory-search-area{border-radius:12px 12px 0 0}
.directory-panel .directory-table-scroll{overflow-x:auto}.directory-columns summary::-webkit-details-marker{display:none}
.directory-panel .table>thead>tr>th a{color:inherit}.directory-panel .table>thead>tr>th a:hover{color:var(--office-green)}
.location-directory .directory-search-area .form-label{font-size:.75rem}.location-metric{border-radius:12px}.location-tabs>a.active{background:var(--office-green);color:white}.location-tabs>a.active span{color:inherit;border-color:#ffffff55}
/* CSV review: no source rows are committed before confirmation. */
.csv-review-counts{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.7rem}
.csv-review-count{display:flex;flex-direction:column;gap:.6rem;min-width:0;padding:1rem;border:1px solid var(--office-line);border-radius:9px;background:var(--bs-body-bg);color:var(--bs-body-color)}
.csv-review-count>span{font-size:.72rem;font-weight:550}.csv-review-count>strong{font-size:1.6rem;font-variant-numeric:tabular-nums}
.csv-review-count:hover,.csv-review-count.active{border-color:var(--office-green);color:var(--bs-body-color)}
.csv-review-note{min-width:240px;max-width:480px;font-size:.75rem!important;line-height:1.6}
.csv-pending-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem 0;border-bottom:1px solid var(--office-line)}
.csv-pending-row:last-child{border-bottom:0}.csv-pending-row strong,.csv-pending-row span{display:block}.csv-pending-row strong{font-size:.8rem;overflow-wrap:anywhere}.csv-pending-row span{font-size:.7rem;margin-top:.3rem}
@media(max-width:1199px){.csv-review-counts{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:575px){.csv-review-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.csv-pending-row{flex-wrap:wrap}.csv-review-count{padding:.8rem}}
.csv-review-counts~.directory-panel .badge-soft-primary{background:#e7eefb;color:#35588e}[data-bs-theme=dark] .csv-review-counts~.directory-panel .badge-soft-primary{background:#253550;color:#bdceee}
