:root{--data-table-font-family:Calibri,"Segoe UI",Arial,sans-serif;--data-table-font-size:8pt;--entry-form-font-family:Calibri,"Segoe UI",Arial,sans-serif;--entry-form-font-size:8pt;
    --bg:#f5f7fa;--panel:#fff;--text:#202b3c;--muted:#6c7788;--line:#dfe5ec;
    --primary:#155f55;--primary-2:#0f4f47;--primary-soft:#eaf4f2;--accent:#c69a2d;
    --danger:#b42318;--danger-soft:#fff0ef;--success:#16794d;--shadow:0 8px 24px rgba(31,46,64,.07);
    --radius:10px
}
*{box-sizing:border-box}
html{font-size:11px}
body{margin:0;font-family:Calibri,"Segoe UI",Arial,sans-serif;font-size:11pt;background:var(--bg);color:var(--text)}
a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh}
.site-header{position:sticky;top:0;z-index:60;background:#fff;box-shadow:0 1px 0 var(--line)}
.header-row{height:54px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid var(--line)}
.organization{display:flex;align-items:center;gap:9px}.org-mark{width:44px;height:36px;border-radius:6px;display:grid;place-items:center;background:#fff;border:1px solid var(--line);padding:2px;overflow:hidden}.org-mark img{display:block;width:100%;height:100%;object-fit:contain}.organization strong{display:block;font-size:13px}.organization small{display:block;color:var(--muted);margin-top:1px;font-size:9.5px}
.profile-wrap,.nav-dropdown{position:relative}.profile-button{display:flex;align-items:center;gap:8px;border:1px solid transparent;background:#fff;padding:3px 6px;border-radius:8px;cursor:pointer}.profile-button:hover{background:#f7f9fb;border-color:var(--line)}.profile-avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary);font-weight:700}.profile-avatar.large{width:48px;height:48px;font-size:18px;margin:auto}.profile-copy{text-align:left}.profile-copy strong,.profile-copy small{display:block}.profile-copy strong{font-size:11.5px}.profile-copy small{color:var(--muted);font-size:10px;margin-top:2px}.chevron{font-size:16px;color:var(--muted)}
.profile-menu,.nav-dropdown-menu{display:none;position:absolute;background:#fff;border:1px solid var(--line);box-shadow:0 14px 32px rgba(20,34,51,.14);border-radius:10px;z-index:90}.profile-menu.open,.nav-dropdown-menu.open{display:block}.profile-menu{right:0;top:41px;width:250px;padding:10px}.profile-summary{text-align:center;padding:8px 8px 12px;border-bottom:1px solid var(--line)}.profile-summary strong,.profile-summary span{display:block}.profile-summary strong{margin-top:7px}.profile-summary span{color:var(--muted);font-size:10.5px;margin-top:2px}.profile-facts{padding:10px 4px;border-bottom:1px solid var(--line)}.profile-facts div{display:flex;justify-content:space-between;gap:15px;padding:4px 2px}.profile-facts span{color:var(--muted)}.profile-menu>a{display:flex;align-items:center;gap:8px;padding:9px;border-radius:7px;margin-top:4px}.profile-menu>a:hover{background:#f5f7f9}.profile-menu svg{width:15px;height:15px;fill:currentColor}.danger-link{color:var(--danger)}.logout-symbol{font-size:15px}
.module-nav{height:38px;display:flex;align-items:center;padding:0 28px;gap:4px;background:#fff}.module-nav>a,.nav-dropdown-button{height:38px;display:flex;align-items:center;gap:7px;padding:0 12px;border:0;border-bottom:2px solid transparent;background:transparent;color:#4c596b;cursor:pointer;font-weight:600}.module-nav>a:hover,.nav-dropdown-button:hover{color:var(--primary);background:#f8fbfa}.module-nav>a.active,.nav-dropdown-button.active{color:var(--primary);border-bottom-color:var(--primary)}.module-nav svg{width:14px;height:14px;fill:currentColor}.nav-dropdown-menu{left:0;top:36px;min-width:190px;padding:6px}.nav-dropdown-menu a{display:block;padding:9px 10px;border-radius:6px}.nav-dropdown-menu a:hover{background:var(--primary-soft);color:var(--primary)}
@media (hover:hover) and (pointer:fine){.nav-dropdown:hover>.nav-dropdown-menu{display:block}.nav-dropdown:hover>.nav-dropdown-button{color:var(--primary);background:#f8fbfa}.nav-dropdown-menu{margin-top:0}}
.main{min-height:calc(100vh - 92px);display:flex;flex-direction:column}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 28px 14px}.page-heading h1{margin:0;font-size:18px;font-weight:700}.page-heading p{margin:4px 0 0;color:var(--muted);font-size:10.5px}.content{padding:0 28px 44px;flex:1}.footer{position:fixed;left:0;right:0;bottom:0;z-index:55;height:28px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-top:1px solid var(--line);background:#fff;color:var(--muted);font-size:9.5px;line-height:1;box-shadow:0 -2px 8px rgba(31,46,64,.04)}
.grid{display:grid;gap:14px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card-header{padding:14px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:14px}.card-header h3{margin:0;font-size:13px}.card-header p{margin:3px 0 0;color:var(--muted);font-size:10.5px}.card-body{padding:16px}.stat-card{padding:16px}.stat-label{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-weight:700}.stat-value{font-size:26px;font-weight:700;margin:6px 0 2px}.stat-note{font-size:10px;color:var(--muted)}
.kpi-banner{background:linear-gradient(120deg,#155f55,#214d65);color:#fff;padding:18px 20px;border-radius:10px;margin-bottom:15px;display:flex;justify-content:space-between;align-items:center;gap:20px}.kpi-banner p{margin:4px 0 0;color:#deebed}.scope{background:rgba(255,255,255,.12);padding:8px 10px;border-radius:7px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid transparent;border-radius:7px;padding:7px 11px;font-weight:600;cursor:pointer;font-size:10.5px}.btn svg{width:14px;height:14px;fill:currentColor}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-2)}.btn-light{background:#fff;border-color:var(--line);color:#3e4d60}.btn-light:hover{background:#f5f7f9}.btn-danger{background:var(--danger-soft);color:var(--danger);border-color:#ffd3cf}.btn-sm{padding:5px 8px;font-size:10px}.button-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.export-bar{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.export-bar .btn{padding:5px 8px}
.table-card .card-header{min-height:54px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;font-family:var(--data-table-font-family);font-size:var(--data-table-font-size)}.table th,.table td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;white-space:nowrap;font-family:var(--data-table-font-family);font-size:var(--data-table-font-size)}.table thead th{text-align:center}.table th{background:#f7f9fb;color:#536174;text-transform:none;font-weight:700}.table tbody tr:hover td{background:#fbfcfd}.filter-row th{background:#fff;padding:6px 8px}.table-filter{width:100%;min-width:95px;padding:5px 7px;border:1px solid #d7dee7;border-radius:5px;background:#fff;outline:none;font-family:var(--data-table-font-family);font-size:var(--data-table-font-size)}.table-filter:focus{border-color:#79a9a3;box-shadow:0 0 0 2px rgba(21,95,85,.08)}.table-actions{display:flex;gap:5px;justify-content:center;text-align:center}.table-actions form{display:inline}.table-actions .btn{font-family:var(--data-table-font-family);font-size:var(--data-table-font-size);line-height:1.1;padding:4px 6px}.table-actions .btn svg{width:11px;height:11px}.table .btn,.table .pill{font-family:var(--data-table-font-family);font-size:var(--data-table-font-size)}.empty-state{padding:30px;text-align:center;color:var(--muted);font-family:var(--data-table-font-family);font-size:var(--data-table-font-size)}.empty-state strong{display:block;color:var(--text);font-size:var(--data-table-font-size);margin-bottom:5px}.table-summary{padding:9px 12px;border-top:1px solid var(--line);color:var(--muted);font-family:var(--data-table-font-family);font-size:var(--data-table-font-size);display:flex;justify-content:space-between}
.pill{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;background:#eef2f6;color:#4f6072;font-size:9.5px;font-weight:700}.pill.administrator{background:#e8f3f1;color:#155f55}.pill.rsp{background:#fff4d9;color:#8b6408}.pill.viewer{background:#edf0ff;color:#4b5ba2}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid.single-column{grid-template-columns:1fr}.form-group{display:flex;flex-direction:column;gap:5px}.form-group.full{grid-column:1/-1}.form-group label{font-weight:700;color:#455267}.input,.select{width:100%;padding:8px 9px;border:1px solid #cfd8e3;border-radius:6px;background:#fff;color:var(--text);outline:none}.input:focus,.select:focus{border-color:#76a7a0;box-shadow:0 0 0 2px rgba(21,95,85,.09)}.form-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:7px;padding-top:4px}.form-card.narrow{max-width:560px;margin:auto}
.modal{display:none;position:fixed;inset:0;background:rgba(23,35,48,.42);z-index:120;padding:28px;overflow:auto}.modal.open{display:grid;place-items:start center}.modal-dialog{width:min(720px,100%);background:#fff;border-radius:10px;box-shadow:0 24px 70px rgba(16,28,42,.24);margin-top:4vh;overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line)}.modal-header h3{margin:0;font-size:13px}.modal-close{border:0;background:transparent;font-size:21px;color:var(--muted);cursor:pointer}.modal-body{padding:16px}.modal-footer{padding:12px 16px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:7px}
/* Entry form typography: centralized in :root */
.modal-dialog .modal-header h3,
.modal-dialog form,
.modal-dialog form .form-group label,
.modal-dialog form .input,
.modal-dialog form .select,
.modal-dialog form textarea,
.modal-dialog form .btn,
.modal-dialog form .alert,
.form-card form,
.form-card form .form-group label,
.form-card form .input,
.form-card form .select,
.form-card form textarea,
.form-card form .btn,
.form-card form .alert{font-family:var(--entry-form-font-family);font-size:var(--entry-form-font-size)}
.alert{padding:9px 11px;border-radius:7px;margin-bottom:12px;font-size:10.5px}.alert.success{background:#eaf7f0;color:#146b45;border:1px solid #cbead8}.alert.error{background:#fff0ef;color:#a32117;border:1px solid #ffd8d4}.alert.info{background:#eef6ff;color:#205a91;border:1px solid #d7e9ff}.alert.fade{opacity:.3;transition:.4s}.muted{color:var(--muted)}
.login-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#eef2f5}.login-hero{padding:60px;background:linear-gradient(145deg,#103a3d 0%,#155f55 58%,#1d745f 100%);color:#fff;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden;isolation:isolate}.login-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,255,255,.035),transparent 38%),radial-gradient(circle at 18% 18%,rgba(255,255,255,.08),transparent 28%);z-index:-2}.login-hero::after{content:"";position:absolute;left:60px;right:60px;bottom:58px;height:1px;background:linear-gradient(90deg,rgba(237,209,139,.75),rgba(255,255,255,.08),transparent);z-index:-1}.login-hero-content{position:relative;z-index:2;max-width:590px}.login-brand-mark{display:flex;align-items:center;gap:12px;margin-bottom:44px;color:rgba(255,255,255,.88);font-weight:700;letter-spacing:.2px}.login-brand-mark img{width:54px;height:54px;object-fit:contain;background:#fff;border-radius:14px;padding:7px;box-shadow:0 10px 28px rgba(0,0,0,.18)}.login-brand-mark span{height:54px;display:flex;align-items:center;max-width:250px;font-size:20px;line-height:1.15}.login-hero h1{font-size:40px;line-height:1.08;margin:14px 0 16px;letter-spacing:-.6px}.login-hero p{line-height:1.75;color:#dcebea;max-width:560px;font-size:12px;margin:0}.login-kicker{text-transform:uppercase;letter-spacing:1.8px;color:#f1d894;font-size:10px;font-weight:700;display:inline-flex;align-items:center;gap:9px}.login-kicker::before{content:"";width:28px;height:2px;background:#f1d894;border-radius:99px}.login-hero-features{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}.login-hero-features span{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:rgba(255,255,255,.07);backdrop-filter:blur(4px);color:#eef7f5;font-size:10px}.login-hero-features span::before{content:"";width:6px;height:6px;border-radius:50%;background:#f1d894;box-shadow:0 0 0 3px rgba(241,216,148,.12)}.login-hero-signature{position:absolute;left:60px;bottom:30px;color:rgba(255,255,255,.55);font-size:9px;letter-spacing:1.1px;text-transform:uppercase;z-index:2}.login-hero-orb{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.09);z-index:-1}.login-hero-orb-one{width:360px;height:360px;right:-110px;top:-90px;background:radial-gradient(circle at 35% 35%,rgba(241,216,148,.12),rgba(255,255,255,.025) 42%,transparent 70%)}.login-hero-orb-two{width:240px;height:240px;right:70px;bottom:-120px;background:radial-gradient(circle at 40% 30%,rgba(255,255,255,.06),transparent 70%)}.login-panel{display:grid;place-items:center;padding:30px}.login-box{width:min(420px,100%);background:#fff;border:1px solid var(--line);border-radius:12px;padding:28px;box-shadow:var(--shadow)}.login-box h2{font-size:17px;margin:0 0 4px}.login-box .form-group{margin-bottom:11px}.login-box .btn{width:100%;padding:9px}.login-footer{text-align:center;color:var(--muted);font-size:10px;margin-top:16px}
@media(max-width:1000px){.grid-4{grid-template-columns:repeat(2,1fr)}.header-row,.module-nav,.page-heading,.content,.footer{padding-left:16px;padding-right:16px}.organization strong{font-size:12px}.profile-copy{display:none}}
@media(max-width:760px){.module-nav{height:auto;overflow-x:auto}.module-nav>a,.nav-dropdown-button{white-space:nowrap}.grid-4,.grid-2,.form-grid{grid-template-columns:1fr}.header-row{height:52px}.organization small{display:none}.organization strong{max-width:210px}.page-heading{align-items:flex-start;flex-direction:column}.page-heading>.button-row{width:100%}.modal{padding:12px}.modal-dialog{margin-top:2vh}.footer{height:26px;font-size:9px;gap:10px}.footer span{display:block;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.login-page{grid-template-columns:1fr}.login-hero{display:none}.content{padding-bottom:40px}}

/* SM Outreach continuous-entry form layout */
.sm-outreach-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.sm-outreach-grid .span-2{grid-column:span 2}
.sm-outreach-grid .span-3{grid-column:span 3}
@media(max-width:760px){.sm-outreach-grid{grid-template-columns:1fr}.sm-outreach-grid .span-2,.sm-outreach-grid .span-3{grid-column:1/-1}}

/* Data Management list toolbar: one consistent visual system across SM Outreach, RSP Updates and SSI Progress. */
.dm-list-toolbar{display:flex;flex-direction:row;align-items:flex-end;justify-content:space-between;gap:10px;flex-wrap:nowrap;overflow-x:auto}
.dm-list-filters{display:flex;align-items:flex-end;gap:6px;flex:0 0 auto;flex-wrap:nowrap}
.dm-list-filter{display:flex;flex-direction:column;gap:3px;width:150px;min-width:150px;flex:0 0 150px}
.dm-list-filters > .dm-list-filter:first-child{width:300px;min-width:300px;flex-basis:300px}
.dm-list-filter-date{width:132px;min-width:132px;flex-basis:132px}
.dm-list-filter label{font-family:var(--data-table-font-family);font-size:var(--data-table-font-size);font-weight:700;color:#536174;line-height:1.1}
.dm-list-filter .select,.dm-list-filter .input{height:30px;min-height:30px;padding:5px 7px;font-family:var(--data-table-font-family);font-size:var(--data-table-font-size)}
.dm-list-toolbar .export-bar{margin-left:auto;flex:0 0 auto;white-space:nowrap}
@media(max-width:760px){.dm-list-toolbar{flex-wrap:nowrap}.dm-list-filter{flex:0 0 130px;min-width:130px;width:130px}.dm-list-filters > .dm-list-filter:first-child{flex-basis:260px;min-width:260px;width:260px}.dm-list-filter-date{flex-basis:124px;min-width:124px;width:124px}}

/* RSP Updates / SSI Progress form sections */
.rsp-updates-modal{width:min(1180px,100%)}
.rsp-update-top-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.rsp-update-section{border:1px solid var(--line);border-radius:8px;margin-top:10px;background:#fff;overflow:hidden}
.rsp-update-section-title{padding:7px 10px;background:#f6f8fa;border-bottom:1px solid var(--line);font-family:var(--entry-form-font-family);font-size:var(--entry-form-font-size);font-weight:700;color:#344456}
.rsp-update-section-grid{display:grid;gap:9px;padding:10px}
.rsp-update-section-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.rsp-update-section-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.rsp-update-section-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.rsp-update-total{background:#f3f6f8;font-weight:700}
@media(max-width:760px){.rsp-update-top-grid,.rsp-update-section-grid.cols-2,.rsp-update-section-grid.cols-3,.rsp-update-section-grid.cols-4{grid-template-columns:1fr}}

/* RSP Updates / SSI modal viewport */

.rsp-updates-shell{padding:18px;overflow:hidden;place-items:center}
.rsp-updates-shell.open{display:grid;place-items:center}
.rsp-updates-shell .rsp-updates-modal{margin:0;width:min(1180px,100%);max-height:calc(100vh - 36px);display:flex;flex-direction:column;overflow:hidden}
.rsp-updates-shell .rsp-updates-modal>.modal-header{flex:0 0 auto}
.rsp-updates-shell .rsp-updates-modal>form{display:flex;flex:1 1 auto;min-height:0;flex-direction:column;overflow:hidden}
.rsp-updates-shell .rsp-updates-modal .modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}
.rsp-updates-shell .rsp-updates-modal .modal-footer{flex:0 0 auto;background:#fff}
@media(max-width:760px){.rsp-updates-shell{padding:10px}.rsp-updates-shell .rsp-updates-modal{max-height:calc(100vh - 20px)}}

/* Dashboard cumulative KPI layout */
.grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.dashboard-filters{display:flex;align-items:flex-end;gap:8px;margin-bottom:14px}
.dashboard-filter-field{display:flex;flex-direction:column;gap:4px;width:220px;min-width:220px}
.dashboard-filter-date{width:150px;min-width:150px}
.dashboard-filter-field label{font-weight:700;color:#455267}
.dashboard-filter-field .select{height:31px;min-height:31px;padding:5px 8px}
.dashboard-kpi-grid{gap:12px}
.dashboard-kpi-card{min-height:92px;padding:14px 15px;display:flex;flex-direction:column}
.dashboard-kpi-title{font-weight:700;color:#536174;text-align:left;line-height:1.25;min-height:30px}
.dashboard-kpi-value{font-size:24px;font-weight:700;text-align:center;margin-top:auto;line-height:1}
@media(max-width:1100px){.grid-5{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.grid-5{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-filters{overflow-x:auto;flex-wrap:nowrap}.dashboard-filter-field{flex:0 0 180px;min-width:180px;width:180px}.dashboard-filter-date{flex-basis:140px;min-width:140px;width:140px}}

/* Dashboard visual refinement - presentation only */
.dashboard-filters{
    position:relative;
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    align-items:end;
    gap:14px;
    width:100%;
    max-width:none;
    margin:0 0 16px;
    padding:10px 12px;
    background:linear-gradient(180deg,#ffffff 0%,#fbfcfd 100%);
    border:1px solid #dfe6ed;
    border-radius:10px;
    box-shadow:0 6px 20px rgba(32,43,60,.055);
}
.dashboard-filter-field{gap:5px;width:100%;min-width:0}
.dashboard-filters > .dashboard-filter-field:first-child{grid-column:span 2}
.dashboard-filter-date{grid-column:span 1;width:100%;min-width:0}
.dashboard-filter-field label{
    color:#344456;
    font-weight:700;
    letter-spacing:.01em;
}
.dashboard-filter-field .select{
    background:#fff;
    border-color:#ccd7e2;
    border-radius:7px;
    box-shadow:0 1px 2px rgba(32,43,60,.025);
    transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.dashboard-filter-field .select:hover{border-color:#aebdca}
.dashboard-filter-field .select:focus{
    border-color:#6a9f96;
    box-shadow:0 0 0 3px rgba(21,95,85,.08);
}

.dashboard-kpi-grid{gap:14px}
.dashboard-kpi-card{
    position:relative;
    min-height:104px;
    padding:15px 16px 16px;
    overflow:hidden;
    border:1px solid #dfe6ed;
    border-radius:12px;
    background:linear-gradient(145deg,#ffffff 0%,#fbfcfd 100%);
    box-shadow:0 7px 22px rgba(32,43,60,.065);
    transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.dashboard-kpi-card::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:3px;
    background:#1c7167;
}
.dashboard-kpi-card::after{
    content:"";
    position:absolute;
    width:72px;
    height:72px;
    right:-30px;
    bottom:-36px;
    border-radius:50%;
    background:rgba(21,95,85,.045);
    pointer-events:none;
}
.dashboard-kpi-card:hover{
    transform:translateY(-2px);
    border-color:#cbd7e1;
    box-shadow:0 12px 30px rgba(32,43,60,.10);
}
.dashboard-kpi-title{
    position:relative;
    z-index:1;
    color:#46576a;
    font-weight:700;
    text-align:left;
    line-height:1.25;
    min-height:30px;
    padding-right:6px;
}
.dashboard-kpi-value{
    position:relative;
    z-index:1;
    margin-top:auto;
    color:#15283c;
    font-size:25px;
    font-weight:700;
    text-align:center;
    line-height:1;
    letter-spacing:-.02em;
    font-variant-numeric:tabular-nums;
}

/* Subtle category accents while keeping cards limited to title + value. */
.dashboard-kpi-card:nth-child(-n+6)::before{background:#155f55}
.dashboard-kpi-card:nth-child(n+7):nth-child(-n+10)::before{background:#3f6f91}
.dashboard-kpi-card:nth-child(n+11)::before{background:#b48732}
.dashboard-kpi-card:nth-child(-n+6)::after{background:rgba(21,95,85,.045)}
.dashboard-kpi-card:nth-child(n+7):nth-child(-n+10)::after{background:rgba(63,111,145,.045)}
.dashboard-kpi-card:nth-child(n+11)::after{background:rgba(180,135,50,.055)}

@media(max-width:1100px){
    .dashboard-filters{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
    .dashboard-filters{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;padding:9px 10px;gap:10px}
    .dashboard-filter-field,.dashboard-filter-date{width:100%;min-width:0}
    .dashboard-kpi-grid{gap:10px}
    .dashboard-kpi-card{min-height:96px;padding:13px 14px}
    .dashboard-kpi-value{font-size:22px}
}

/* SM Outreach zero-progress action */
.btn-zero-progress{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    min-height:0;
    padding:7px 11px;
    border:1px solid #9fc9c1;
    border-radius:7px;
    background:#f5faf9;
    color:#155f55;
    font-size:10.5px;
    font-weight:700;
    line-height:1.2;
    box-shadow:0 1px 2px rgba(21,95,85,.06);
    transition:background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease;
}
.btn-zero-progress:hover{
    border-color:#73aaa0;
    background:#eaf5f2;
    color:#104f47;
    box-shadow:0 2px 5px rgba(21,95,85,.09);
}
.btn-zero-progress:focus-visible{
    outline:none;
    border-color:#5d9d92;
    box-shadow:0 0 0 2px rgba(21,95,85,.12);
}
.zero-progress-button-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:15px;
    height:15px;
    flex:0 0 15px;
    border-radius:50%;
    background:#155f55;
    color:#fff;
    line-height:1;
}
.zero-progress-button-icon svg{width:10px;height:10px;fill:currentColor}
.zero-progress-footer{gap:8px}
.zero-progress-last-period{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    align-self:stretch;
    flex:1 1 auto;
    margin:0;
    text-align:left;
    color:#526174;
    font-size:10px;
    font-weight:700;
    line-height:1.25;
    white-space:nowrap;
}
@media(max-width:760px){
    .zero-progress-footer{flex-wrap:wrap}
    .zero-progress-last-period{width:100%;margin:0;text-align:left;white-space:normal}
}

/* Shared last-submitted-period helper for Data Management entry forms. */
.entry-modal-footer{align-items:stretch}
.entry-last-period{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    align-self:stretch;
    flex:1 1 auto;
    margin:0 auto 0 0;
    text-align:left;
    color:#526174;
    font-size:10px;
    font-weight:700;
    line-height:1.25;
    white-space:nowrap;
}
@media(max-width:760px){
    .entry-modal-footer{flex-wrap:wrap}
    .entry-last-period{width:100%;margin:0;text-align:left;white-space:normal}
}

/* Unified compact Add / Save / Cancel action sizing across application screens. */
:root{
    --form-action-button-width:104px;
    --form-action-button-height:30px;
}
.page-heading > .button-row .btn-primary,
.modal-footer > .btn{
    width:var(--form-action-button-width);
    min-width:var(--form-action-button-width);
    height:var(--form-action-button-height);
    min-height:var(--form-action-button-height);
    flex:0 0 var(--form-action-button-width);
    padding:0 9px;
    border-radius:6px;
    font-size:10px;
    line-height:1;
    white-space:nowrap;
}
.page-heading > .button-row .btn-primary svg,
.modal-footer > .btn svg{
    width:13px;
    height:13px;
}

/* Administrator Outreach Dashboard */
.outreach-dashboard-filters{
    position:relative;
    display:grid;
    grid-template-columns:var(--education-card-width,380px) 150px 1fr;
    justify-content:stretch;
    align-items:end;
    gap:14px;
    margin:0 0 16px;
    padding:10px 12px;
    background:linear-gradient(180deg,#ffffff 0%,#fbfcfd 100%);
    border:1px solid var(--line);
    border-radius:var(--radius);
    box-shadow:var(--shadow);
    overflow:hidden;
}
.outreach-dashboard-filters::before{
    content:"";
    position:absolute;
    inset:0 auto auto 0;
    width:100%;
    height:3px;
    background:linear-gradient(90deg,var(--primary) 0%,#2d7a70 58%,var(--accent) 100%);
}
.outreach-dashboard-filter-field{display:flex;flex-direction:column;gap:5px;min-width:0;width:max-content;position:relative;z-index:1}
.outreach-dashboard-filter-field label{color:#455267;font-weight:700;font-size:10.5px}
.outreach-dashboard-filter-field .select{
    width:auto;min-width:0;max-width:280px;height:31px;min-height:31px;padding:5px 28px 5px 8px;border-color:#ccd7e2;border-radius:7px;background:#fff;
    transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
#outreachRspFilter{width:100%;min-width:0;max-width:none}
#outreachPeriodFilter{width:150px}
.outreach-dashboard-filter-field .select:hover{border-color:#aebdca}
.outreach-dashboard-filter-field .select:focus{border-color:#6a9f96;box-shadow:0 0 0 3px rgba(21,95,85,.08)}
.outreach-dashboard-export-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;white-space:nowrap;position:relative;z-index:1;min-width:0}
.outreach-dashboard-export-actions .btn{height:34px;display:inline-flex;align-items:center;justify-content:center}
.outreach-dashboard-export-actions .btn-light{background:#fff;border-color:var(--line);color:#3e4d60;box-shadow:none;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,color .18s ease}
.outreach-dashboard-export-actions .outreach-ppt-btn{width:max-content;min-width:0;padding:3px 8px 3px 7px;gap:7px;border-radius:9px;background:linear-gradient(135deg,#ffffff 0%,#f4fbf9 100%);border:1px solid #c7ddd9;box-shadow:0 5px 12px rgba(21,95,85,.07);color:#28475a}
.outreach-dashboard-export-actions .outreach-ppt-btn:hover{background:linear-gradient(135deg,#ffffff 0%,#edf8f5 100%);border-color:#9fc9c1;color:var(--primary);transform:translateY(-1px);box-shadow:0 8px 17px rgba(21,95,85,.12)}
.outreach-ppt-icon{width:25px;height:25px;display:flex;align-items:center;justify-content:center;border-radius:7px;background:linear-gradient(145deg,var(--primary) 0%,#2f7f73 100%);color:#fff;box-shadow:0 3px 8px rgba(21,95,85,.18);flex:0 0 25px}
.outreach-ppt-icon svg{width:17px;height:17px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.outreach-ppt-text{display:flex;flex-direction:column;align-items:flex-start;line-height:1.02}
.outreach-ppt-text strong{font-size:10.5px;font-weight:800;letter-spacing:.01em}
.outreach-ppt-text small{font-size:8.5px;color:#708074;font-weight:600;margin-top:2px}
.outreach-ppt-btn:hover .outreach-ppt-icon{transform:scale(1.04);box-shadow:0 4px 10px rgba(21,95,85,.22)}
.outreach-ppt-icon{transition:transform .18s ease,box-shadow .18s ease}
.outreach-dashboard-export-actions .btn-light:hover{color:var(--primary)}
.outreach-dashboard-export-actions .disabled{pointer-events:none;opacity:.55}

.outreach-dashboard-report{
    --outreach-ink:#203246;
    --outreach-muted:#647184;
    --outreach-primary:var(--primary);
    --outreach-primary-soft:var(--primary-soft);
    --outreach-accent:var(--accent);
    position:relative;
    padding:18px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:var(--radius);
    box-shadow:var(--shadow);
    overflow:hidden;
    isolation:isolate;
}
.outreach-dashboard-report::before{
    content:"";
    position:absolute;
    left:0;right:0;top:0;
    height:4px;
    background:linear-gradient(90deg,var(--primary) 0 72%,var(--accent) 72% 100%);
    z-index:4;
}
.outreach-dashboard-report::after{
    content:"";
    position:absolute;
    width:280px;height:280px;
    right:-150px;top:-155px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(21,95,85,.075) 0%,rgba(21,95,85,0) 72%);
    pointer-events:none;
    z-index:-1;
}
.outreach-dashboard-orb{position:absolute;border-radius:50%;pointer-events:none;z-index:-1;opacity:.72}
.outreach-dashboard-orb-one{right:4%;top:88px;width:145px;height:145px;border:1px solid rgba(21,95,85,.08);background:radial-gradient(circle at 32% 28%,rgba(21,95,85,.055),transparent 68%);animation:outreachAmbient 10s ease-in-out infinite}
.outreach-dashboard-orb-two{left:-70px;bottom:-90px;width:190px;height:190px;border:1px solid rgba(198,154,45,.08);background:radial-gradient(circle at 65% 40%,rgba(198,154,45,.05),transparent 70%);animation:outreachAmbient 12s ease-in-out infinite reverse}

.outreach-dashboard-report-header{
    position:relative;z-index:1;
    display:flex;justify-content:space-between;align-items:center;gap:24px;
    min-height:54px;
    padding:2px 2px 10px;
    margin-bottom:13px;
    border:0;
    border-bottom:1px solid #dfe7ea;
    border-radius:0;
    background:transparent;
    overflow:visible;
}
.outreach-dashboard-report-header::before{content:"";position:absolute;left:0;bottom:-1px;width:82px;height:2px;border-radius:999px;background:linear-gradient(90deg,var(--primary),var(--accent))}
.outreach-dashboard-report-header h2{margin:0;color:#203246;font-size:18px;line-height:1.15;letter-spacing:-.01em;font-weight:700;max-width:760px}
.outreach-dashboard-meta{
    position:relative;z-index:2;
    text-align:right;flex:0 0 auto;
    min-width:145px;
    padding:8px 10px;
    border-radius:8px;
    background:#fff;
    border:1px solid var(--line);
    box-shadow:0 4px 14px rgba(31,46,64,.05);
}
.outreach-dashboard-meta strong,.outreach-dashboard-meta span{display:block}
.outreach-dashboard-meta strong{font-size:11.5px;color:#2a3b4e}
.outreach-dashboard-meta span{margin-top:3px;color:var(--muted);font-size:9.5px}

.outreach-sector{position:relative;z-index:1;margin:0 0 13px;opacity:0;transform:translateY(12px)}
.outreach-sector.is-visible{animation:outreachSectionReveal .68s cubic-bezier(.2,.72,.25,1) forwards;animation-delay:var(--sector-delay)}
.outreach-sector:last-of-type{margin-bottom:7px}
.outreach-sector-title{
    position:relative;
    margin:0 0 7px;
    padding:6px 9px 6px 12px;
    border:1px solid #e1e7ec;
    border-left:4px solid var(--primary);
    border-radius:8px;
    background:linear-gradient(90deg,#f5f9f8 0%,#fbfcfd 70%,#fff 100%);
    color:#33475a;
    font-size:12.5px;
    font-weight:700;
    letter-spacing:.035em;
    overflow:hidden;
}
.outreach-sector-title::after{
    content:"";
    position:absolute;
    left:0;bottom:0;
    width:0;height:2px;
    background:linear-gradient(90deg,var(--primary),var(--accent));
}
.outreach-sector.is-visible .outreach-sector-title::after{animation:outreachTitleLine .95s cubic-bezier(.2,.7,.2,1) forwards;animation-delay:calc(var(--sector-delay) + .15s)}

.outreach-indicator-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.outreach-indicator-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.outreach-indicator-grid-6{grid-template-columns:repeat(6,minmax(0,1fr))}
.outreach-indicator-grid-9{grid-template-columns:repeat(5,minmax(0,1fr))}
.outreach-indicator-card{
    --card-delay:0s;
    --mx:50%;--my:50%;
    position:relative;
    min-height:96px;
    padding:10px 11px 9px;
    border:1px solid #dfe5ec;
    border-radius:10px;
    background:linear-gradient(180deg,#ffffff 0%,#fbfcfd 100%);
    box-shadow:0 6px 18px rgba(31,46,64,.055);
    display:flex;
    flex-direction:column;
    align-items:stretch;
    justify-content:center;
    text-align:center;
    overflow:hidden;
    opacity:0;
    transform:translateY(16px) scale(.985);
    transform-style:preserve-3d;
    will-change:transform;
    transition:border-color .24s ease,box-shadow .24s ease,background .24s ease;
}
.outreach-indicator-card::before{
    content:"";
    position:absolute;
    left:0;right:0;top:0;
    height:3px;
    background:linear-gradient(90deg,var(--primary),#2f7f75 72%,var(--accent));
    transform:scaleX(.22);
    transform-origin:center;
    opacity:.72;
    transition:transform .34s ease,opacity .34s ease;
}
.outreach-indicator-card::after{
    content:"";
    position:absolute;
    inset:0;
    background:radial-gradient(circle at var(--mx) var(--my),rgba(21,95,85,.10),transparent 34%);
    opacity:0;
    transition:opacity .3s ease;
    pointer-events:none;
}
.outreach-indicator-card.is-visible{animation:outreachCardReveal .72s cubic-bezier(.18,.78,.22,1) forwards;animation-delay:var(--card-delay)}
.outreach-indicator-card:hover{
    border-color:#c9d8d5;
    background:linear-gradient(180deg,#fff 0%,#f9fbfb 100%);
    box-shadow:0 14px 28px rgba(31,46,64,.10),0 2px 0 rgba(21,95,85,.03);
}
.outreach-indicator-card:hover::before{transform:scaleX(1);opacity:1}
.outreach-indicator-card:hover::after{opacity:1}
.outreach-indicator-main{
    position:relative;z-index:1;
    display:flex;align-items:center;justify-content:center;gap:10px;
    min-width:0;
    transform:translateZ(10px);
}
.outreach-indicator-icon{
    position:relative;z-index:1;
    width:38px;height:38px;
    flex:0 0 38px;
    border-radius:9px;
    display:flex;align-items:center;justify-content:center;
    margin:0;
    color:var(--primary);
    background:linear-gradient(145deg,#f4faf8 0%,#eaf4f2 100%);
    border:1px solid #d4e6e2;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 4px 10px rgba(21,95,85,.06);
    transform:translateZ(14px);
    transition:transform .3s cubic-bezier(.2,.75,.2,1),box-shadow .3s ease,background .3s ease,color .3s ease;
}
.outreach-indicator-icon::after{
    content:"";
    position:absolute;
    width:6px;height:6px;
    right:4px;top:4px;
    border-radius:50%;
    background:var(--accent);
    box-shadow:0 0 0 3px rgba(198,154,45,.11);
    transform:scale(.65);
    opacity:.72;
    transition:transform .25s ease,opacity .25s ease;
}
.outreach-indicator-card:hover .outreach-indicator-icon{transform:translateZ(18px) translateY(-2px) scale(1.04);box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 8px 16px rgba(21,95,85,.10);background:#f1f8f6;color:var(--primary-2)}
.outreach-indicator-card:hover .outreach-indicator-icon::after{transform:scale(1);opacity:1}
.outreach-indicator-icon svg{width:23px;height:23px;display:block}
.outreach-indicator-icon svg *{stroke-dasharray:140;stroke-dashoffset:140}
.outreach-indicator-card.is-visible .outreach-indicator-icon svg *{animation:outreachIconDraw .8s ease forwards;animation-delay:calc(var(--card-delay) + .18s)}
.outreach-indicator-value-wrap{position:relative;z-index:1;transform:translateZ(10px);min-width:72px;text-align:center}
.outreach-indicator-value{
    font-size:22px;line-height:1;
    font-weight:700;
    color:#1f2f42;
    letter-spacing:-.025em;
    font-variant-numeric:tabular-nums;
    margin-bottom:0;
    transition:transform .24s ease,color .24s ease;
}
.outreach-indicator-card:hover .outreach-indicator-value{transform:translateY(-1px);color:var(--primary)}
.outreach-indicator-label{
    position:relative;z-index:1;
    color:#536174;
    font-size:9.6px;
    line-height:1.22;
    font-weight:600;
    max-width:100%;
    margin-top:7px;
    padding-top:6px;
    border-top:1px solid #edf1f3;
    transform:translateZ(6px);
}
.outreach-dashboard-footnote{text-align:right;color:var(--muted);font-size:9.5px;font-style:italic;margin-top:4px;padding-right:2px;position:relative;z-index:1}
.outreach-dashboard-empty{padding:34px;text-align:center;color:var(--muted);border:1px dashed #d3dde5;border-radius:8px;background:#fbfcfd}

@keyframes outreachAmbient{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,8px,0)}}
@keyframes outreachSectionReveal{0%{opacity:0;transform:translateY(12px)}100%{opacity:1;transform:translateY(0)}}
@keyframes outreachTitleLine{0%{width:0;opacity:.25}100%{width:100%;opacity:1}}
@keyframes outreachCardReveal{0%{opacity:0;transform:translateY(16px) scale(.985)}62%{opacity:1;transform:translateY(-2px) scale(1.003)}100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes outreachIconDraw{0%{stroke-dashoffset:140;opacity:.35}100%{stroke-dashoffset:0;opacity:1}}

@media(max-width:1200px){.outreach-indicator-grid-6,.outreach-indicator-grid-9{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){
    .outreach-dashboard-filters{grid-template-columns:1fr 150px}
    .outreach-dashboard-export-actions{grid-column:1/-1;justify-content:flex-end}
    .outreach-dashboard-export-actions .btn{width:max-content;min-width:0}
    .outreach-indicator-grid,.outreach-indicator-grid-3,.outreach-indicator-grid-6,.outreach-indicator-grid-9{grid-template-columns:repeat(2,minmax(0,1fr))}
    .outreach-indicator-card{min-height:94px}
}
@media(max-width:620px){
    .outreach-dashboard-filters{grid-template-columns:1fr}
    .outreach-dashboard-export-actions{grid-column:auto;flex-wrap:wrap}
    .outreach-dashboard-export-actions{justify-content:stretch}
    .outreach-dashboard-export-actions .btn{width:100%;min-width:0}
    .outreach-dashboard-report{padding:14px}
    .outreach-dashboard-report-header{align-items:flex-start;flex-direction:column;min-height:0}
    .outreach-dashboard-meta{text-align:left;min-width:0}
    .outreach-indicator-grid,.outreach-indicator-grid-3,.outreach-indicator-grid-6,.outreach-indicator-grid-9{grid-template-columns:1fr}
    .outreach-indicator-card{min-height:92px}
    .outreach-dashboard-report-header h2{font-size:18px}
}
@media (prefers-reduced-motion: reduce){
    .outreach-sector,.outreach-indicator-card{opacity:1!important;transform:none!important;animation:none!important}
    .outreach-dashboard-orb,.outreach-indicator-icon svg *,.outreach-sector-title::after{animation:none!important}
    .outreach-indicator-card::after{display:none!important}
    .outreach-indicator-card,.outreach-indicator-icon,.outreach-indicator-value{transition:none!important}
    .outreach-indicator-icon svg *{stroke-dashoffset:0!important}
}

.outreach-dashboard-report > .outreach-sector:first-of-type{margin-top:2px}
.outreach-dashboard-filter-field:first-child{width:100%}
