:root{--navy:#0f3555;--navy-2:#294b69;--blue:#176b98;--blue-dark:#0e5b86;--gold:#d5a238;--light:#f5f7f9;--border:#dce3e8;--text:#17283a;--muted:#6f7f8e;--green:#37856d;--purple:#765aa5;--shadow:0 2px 5px rgba(24,45,63,.08)}
*{box-sizing:border-box}
html,body{min-height:100%}
body{margin:0;background:var(--light);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a{color:var(--blue);text-decoration:none}
.class-session-link{color:var(--blue);font-weight:800}.class-session-link:hover,.class-session-link:focus{text-decoration:underline}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{color:#122c45}
.nav-toggle{display:none}
.sidebar{position:fixed;inset:0 auto 0 0;width:332px;background:var(--navy);color:#fff;padding:36px 24px 22px;display:flex;flex-direction:column;z-index:20;box-shadow:2px 0 7px rgba(13,35,52,.1)}
.portal-brand{display:flex;align-items:center;gap:16px;color:#fff;margin:0 9px 38px}
.state-seal{width:58px;height:58px;flex:0 0 58px;border-radius:50%;display:block;object-fit:cover;background:#fff}
.portal-brand strong{display:block;font:700 31px Georgia,serif;line-height:1.08;letter-spacing:.2px}
.portal-brand small{display:block;margin-top:9px;color:#a9bac8;font-size:12px;font-weight:700;letter-spacing:2.4px;text-transform:uppercase}
.side-nav{display:grid;gap:8px}
.side-nav a{height:62px;color:#dce6ee;border-left:4px solid transparent;border-radius:12px;display:flex;align-items:center;gap:18px;padding:0 20px;font-weight:700;font-size:17px}
.side-nav a:hover{background:rgba(255,255,255,.06)}
.side-nav a.active{background:var(--navy-2);border-left-color:var(--gold);color:#fff}
.nav-icon{width:22px;text-align:center;color:#b6c8d4;font-size:22px;font-weight:400}
.side-nav a.active .nav-icon{color:#e4ecf2}
.sidebar-footer{margin-top:auto}
.protected-card{border:1px solid #315470;border-radius:11px;padding:17px;display:flex;align-items:center;gap:12px;margin-bottom:20px}
.protected-check{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#174d65;color:#56bf97;font-weight:800}
.protected-card strong,.profile-text strong{display:block;font-size:14px}
.protected-card small,.profile-text small{display:block;color:#a9bac8;font-size:12px;margin-top:5px}
.profile-card{border-top:1px solid #315470;padding:20px 8px 4px;display:flex;align-items:center;gap:12px}
.profile-avatar{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#e5eef4;color:#173650;font-size:13px;font-weight:800;text-transform:uppercase}
.profile-text{min-width:0;flex:1}.profile-text strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.profile-menu-wrap{position:relative}.profile-menu{list-style:none;color:#d5e0e7;font-weight:800;cursor:pointer;user-select:none;border:1px solid #46647b;border-radius:7px;padding:6px 9px;font-size:12px}.profile-menu::-webkit-details-marker{display:none}.profile-menu:hover{color:#fff;background:#1b4b6a}.profile-popover{position:absolute;right:0;bottom:36px;min-width:120px;background:#fff;border:1px solid #dfe5e9;border-radius:9px;box-shadow:0 8px 24px rgba(0,0,0,.18);padding:6px;z-index:30}.profile-popover button{width:100%;padding:9px 11px;border:0;border-radius:7px;background:transparent;color:#173650;text-align:left;cursor:pointer;font:inherit}.profile-popover button:hover{background:#f1f4f6}
.app-shell{margin-left:332px;min-height:100vh}
.app-header{height:90px;padding:0 44px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:24px;position:sticky;top:0;z-index:10}
.menu-button{display:none}
.global-search{height:52px;width:min(580px,55%);background:#f1f4f6;border:1px solid #dfe5e9;border-radius:11px;display:flex;align-items:center;gap:12px;padding:0 18px;color:#80909e;margin-left:auto;margin-right:auto}
.global-search input{width:100%;border:0;outline:0;background:transparent;font:inherit;font-size:16px;color:var(--text)}
.global-search input::placeholder{color:#82909c}
.header-actions{margin-left:auto;display:flex;gap:16px;align-items:center}
.notification-button{width:52px;height:52px;border:1px solid var(--border);border-radius:10px;display:grid;place-items:center;background:#fff;box-shadow:var(--shadow)}
.notification-button span{width:15px;height:15px;border-radius:50%;background:var(--gold)}
.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);background:#fff;color:var(--text);padding:11px 16px;border-radius:8px;text-decoration:none;font:inherit;font-weight:700;cursor:pointer}
.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 3px 6px rgba(20,89,129,.18)}
.btn.primary:hover{background:var(--blue-dark)}
.btn.small{padding:7px 10px;font-size:.9rem}.top-action{height:52px;padding:0 20px}
.main-content{padding:46px 44px 64px;max-width:1760px;margin:0 auto}
.message{background:#e7f4eb;border:1px solid #9cc8ab;border-radius:8px;padding:12px 15px;margin-bottom:20px}
.dashboard-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:36px}
.dashboard-welcome{flex:1;min-width:0}.dashboard-greeting{font-size:clamp(32px,3vw,44px)!important;max-width:1050px;overflow-wrap:break-word;text-wrap:balance}.dashboard-identity{max-width:900px;margin:5px 0 0;color:#122c45;font:400 clamp(25px,2.25vw,35px)/1.15 Georgia,serif;letter-spacing:-.35px;overflow-wrap:anywhere;text-wrap:balance}.start-button{flex:0 0 auto}
.eyebrow{margin-bottom:13px;color:#738492;font-size:12px;line-height:1;font-weight:800;letter-spacing:2.5px;text-transform:uppercase}
.dashboard-intro h1,.page-heading h1{font:400 44px/1.1 Georgia,serif;margin-bottom:16px;letter-spacing:-.6px}.dashboard-intro h1{margin-bottom:0}
.dashboard-intro .lead{margin:0;color:var(--muted);font-size:17px}.start-button{padding:16px 24px}
.dashboard-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-bottom:28px}
.dashboard-stats.three-up{grid-template-columns:repeat(3,minmax(0,1fr))}
.metric-card{min-height:164px;background:#fff;border:1px solid var(--border);border-radius:13px;padding:27px;display:flex;gap:20px;align-items:flex-start;color:var(--text);box-shadow:var(--shadow);transition:transform .15s,box-shadow .15s}
.metric-card:hover{transform:translateY(-2px);box-shadow:0 6px 14px rgba(24,45,63,.1)}
.metric-icon,.quick-icon{width:58px;height:58px;flex:0 0 58px;border-radius:11px;display:grid;place-items:center;font-size:26px;font-weight:600}
.blue{background:#e4f2f8;color:#176b98}.gold{background:#fff1d8;color:#b77a09}.purple{background:#f0eafb;color:#765aa5}.green{background:#e2f3ed;color:#37856d}
.metric-copy{min-width:0}.metric-copy small{display:block;color:#647889;font-weight:700;font-size:13px;margin:4px 0 8px}.metric-copy strong{display:block;color:#102c47;font:700 40px/1 Georgia,serif}.metric-copy em{display:block;color:#84919c;font-size:12px;font-style:normal;margin-top:10px}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(330px,1fr);gap:28px;align-items:start}
.data-card,.panel{background:#fff;border:1px solid var(--border);border-radius:13px;box-shadow:var(--shadow)}
.card-heading{min-height:108px;padding:28px 30px 20px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;border-bottom:1px solid var(--border)}
.card-heading h2{font:700 24px Georgia,serif;margin:0 0 8px}.card-heading p{font-size:13px;color:var(--muted);margin:0}.card-heading>a{font-size:13px;font-weight:800;margin-top:5px}
.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:15px 18px;border-bottom:1px solid #e7ebee}th{background:#f7f9fa;color:#647889;font-size:11px;letter-spacing:1px;text-transform:uppercase}td{font-size:14px}.recent-table td:first-child a{font-weight:800}.recent-table tr:last-child td{border-bottom:0}
.status-badge,.badge{display:inline-block;border-radius:999px;padding:5px 11px;font-size:11px;font-weight:800;white-space:nowrap;background:#e3edf4;color:#27749a}.status-complete{background:#e0f1e9;color:#31765f}.status-draft{background:#fff0d2;color:#a66f0c}.status-pending_tox{background:#eee7fa;color:#70559d}.status-stopped,.status-medical_rule_out{background:#f3e5e5;color:#9b4949}
.empty-state{padding:34px 10px;text-align:center;color:var(--muted)}.empty-state strong,.empty-state span{display:block}.empty-state span{margin-top:6px;font-size:13px}
.dashboard-side{display:grid;gap:28px}.quick-actions .card-heading{min-height:auto;padding-bottom:20px}.quick-actions>a{display:flex;align-items:center;gap:14px;margin:0 28px;padding:18px 0;border-bottom:1px solid #e6ebee;color:var(--text)}.quick-actions>a:last-child{border-bottom:0}.quick-icon{width:48px;height:48px;flex-basis:48px;font-size:24px}.quick-actions a>span:nth-child(2){min-width:0;flex:1}.quick-actions strong{display:block;font-size:14px}.quick-actions small{display:block;color:var(--muted);font-size:11px;margin-top:6px}.quick-actions b{font-size:25px;color:#8999a5}.draft-card{display:block;padding:26px;color:var(--text)}.draft-card>span{display:flex;justify-content:space-between;align-items:center}.draft-card>span>small{color:var(--muted)}.draft-card h3{font:400 23px Georgia,serif;margin:22px 0 7px}.draft-card p{color:var(--muted);font-size:13px;margin:0}
.page-heading,.panel-heading,.actions,.search{display:flex;justify-content:space-between;align-items:center;gap:12px}.page-heading{margin-bottom:26px}.page-heading h1{margin-bottom:8px}.page-heading-actions{margin-left:auto;justify-content:flex-end;flex-wrap:wrap}.muted{color:var(--muted)}
.panel{padding:24px;margin-bottom:22px}.panel h2{margin-top:0}.panel table{margin-top:5px}.panel th{background:#f1f5f7}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.field label{display:block;font-weight:700;margin-bottom:7px}.field.wide,.wide{grid-column:1/-1}.form-control{width:100%;border:1px solid #bdc9d2;border-radius:7px;padding:11px;font:inherit;background:#fff}.checkbox{width:20px;height:20px}.error{color:#a32020;margin-top:4px}.detail-grid{display:grid;grid-template-columns:2fr 1fr;gap:22px}dl{display:grid;grid-template-columns:140px 1fr;gap:10px;margin:0}dt{font-weight:700}dd{margin:0}.search{margin-bottom:18px}.search input{flex:1}
.compact-stats .metric-card{min-height:130px}.report-placeholder{text-align:center;padding:55px 25px}.report-placeholder .metric-icon{margin:0 auto 20px}.report-placeholder p{color:var(--muted)}
.choice-heading{margin-bottom:32px}.choice-heading h1{font:400 44px/1.1 Georgia,serif;margin-bottom:12px;letter-spacing:-.6px}.choice-heading>p:last-child{color:var(--muted);font-size:17px;margin-bottom:0}
.evaluation-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.evaluation-choice-card{position:relative;min-height:330px;background:#fff;border:1px solid var(--border);border-radius:14px;padding:30px;box-shadow:var(--shadow);color:var(--text);display:flex;flex-direction:column;transition:transform .16s,box-shadow .16s,border-color .16s;overflow:hidden}
.evaluation-choice-card:hover{transform:translateY(-4px);box-shadow:0 10px 24px rgba(24,45,63,.12);border-color:#bdcbd5}
.choice-icon{width:66px;height:66px;border-radius:13px;display:grid;place-items:center;font-size:30px;font-weight:700;margin-bottom:28px}
.choice-copy{display:block}.choice-label{display:block;color:#738492;font-size:11px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:9px}.choice-copy strong{display:block;color:#122c45;font:700 25px/1.22 Georgia,serif;margin-bottom:14px}.choice-copy>span:last-child{display:block;color:var(--muted);font-size:14px;line-height:1.6}
.choice-action{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:26px;color:var(--blue);font-size:13px;font-weight:800}.choice-action b{font-size:20px}
.data-form-heading{margin-bottom:28px}.sectioned-form{display:grid;grid-template-columns:230px minmax(0,1fr);gap:24px;align-items:start}.form-step-nav{position:sticky;top:114px;background:#fff;border:1px solid var(--border);border-radius:13px;padding:22px 14px;box-shadow:var(--shadow)}.form-step-nav>.eyebrow{padding:0 10px;margin-bottom:12px}.form-step-nav a{position:relative;display:grid;grid-template-columns:36px 1fr;column-gap:11px;align-items:center;color:var(--text);padding:12px 10px;border-radius:9px}.form-step-nav a:hover,.form-step-nav a:focus{background:#edf5f9;outline:none}.form-step-nav a span{grid-row:1/3;width:34px;height:34px;border:2px solid #d5e1e8;border-radius:50%;display:grid;place-items:center;color:#637988;font-weight:800;background:#fff}.form-step-nav a strong{font-size:13px}.form-step-nav a small{color:var(--muted);font-size:10px;margin-top:3px}.data-only-form{padding:0;overflow:hidden;margin:0}.data-form-section{padding:30px 34px;border-bottom:1px solid var(--border);scroll-margin-top:112px}.submission-options{scroll-margin-top:112px}
.section-title{display:flex;align-items:flex-start;gap:14px;margin-bottom:24px}.section-title>span{width:32px;height:32px;flex:0 0 32px;border-radius:50%;display:grid;place-items:center;background:#e4f2f8;color:var(--blue);font-weight:800}.section-title h2{font:700 23px Georgia,serif;margin:2px 0 5px}.section-title p{color:var(--muted);font-size:13px;margin:0}
.data-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 26px}.data-form-grid .field{align-self:start}.required{color:#bb3d3d}.field-help{color:var(--muted);font-size:12px;line-height:1.45;margin:6px 0 0}.error-summary{background:#fae8e8;color:#8f2929;border-radius:8px;padding:12px;margin:24px 34px 0}
.opinion-field>label{display:block;font-weight:700;margin-bottom:4px}.checkbox-grid>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}.checkbox-grid>div>div{border:1px solid var(--border);border-radius:8px;margin-top:10px;padding:13px 15px}.checkbox-grid label{display:flex;align-items:center;gap:10px;font-weight:600;cursor:pointer}.checkbox-grid input{width:18px;height:18px;accent-color:var(--blue)}
.submission-options{padding:30px 34px;background:#f7f9fa;display:grid;grid-template-columns:1fr;gap:24px;align-items:start}.submission-copy{justify-self:stretch;text-align:left}.submission-copy .eyebrow{margin-bottom:9px}.submission-copy h2{font:700 23px Georgia,serif;margin-bottom:8px}.submission-copy>p:last-child{color:var(--muted);max-width:none;line-height:1.55;margin:0}.submission-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:14px;width:100%;white-space:normal}.submission-buttons .btn{width:100%;justify-content:center;text-align:center}.submit-large{min-height:50px;padding:0 18px}.continue-button{background:#fff8e8;border-color:#e4bd68;color:#805b0e}.continue-button:hover{background:#ffefc9}.continue-button span{font-size:20px;margin-left:9px}
.login-body{background:linear-gradient(135deg,#0e3150,#174e72);display:grid;place-items:center;padding:30px}.login-shell{width:100%}.login-card{width:min(480px,100%);margin:auto;background:#fff;border:1px solid rgba(255,255,255,.4);border-radius:15px;padding:38px;box-shadow:0 18px 50px rgba(3,25,42,.3)}.login-brand{display:flex;align-items:center;gap:15px;border-bottom:1px solid var(--border);padding-bottom:24px;margin-bottom:26px}.login-brand .state-seal{border-color:#aebdca}.login-brand h1{font:700 30px Georgia,serif;margin:0}.login-brand p{text-transform:uppercase;letter-spacing:2px;color:var(--muted);font-size:10px;margin:7px 0 0}.login-card h2{margin-bottom:5px}.login-card label{display:block;font-weight:700;margin-bottom:6px}.login-card input{width:100%;padding:12px;border:1px solid var(--border);border-radius:7px}.login-button{width:100%;margin-top:8px;padding:13px}
@media(max-width:1280px){.sidebar{width:280px}.app-shell{margin-left:280px}.dashboard-stats,.dashboard-stats.three-up{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.dashboard-side{grid-template-columns:repeat(2,1fr)}.evaluation-choice-grid{grid-template-columns:1fr}.evaluation-choice-card{min-height:250px}.sectioned-form{grid-template-columns:190px minmax(0,1fr)}.form-step-nav{padding:18px 10px}}
@media(max-width:820px){.sidebar{transform:translateX(-100%);transition:transform .2s;width:286px}.nav-toggle:checked~.sidebar{transform:translateX(0)}.app-shell{margin-left:0}.app-header{padding:0 18px;height:76px}.menu-button{display:block;font-size:23px;color:var(--navy);cursor:pointer}.global-search{width:100%}.header-actions .notification-button{display:none}.top-action{font-size:0;width:48px;padding:0}.top-action:first-letter{font-size:22px}.main-content{padding:28px 20px 50px}.dashboard-intro{align-items:flex-start}.dashboard-intro h1,.page-heading h1{font-size:36px}.dashboard-side{grid-template-columns:1fr}.form-grid,.detail-grid,.data-form-grid{grid-template-columns:1fr}.field.wide,.wide{grid-column:auto}dl{grid-template-columns:1fr}dd{margin-bottom:8px}.checkbox-grid>div{grid-template-columns:1fr}.submission-options{grid-template-columns:1fr}.submission-buttons{justify-content:flex-start}.sectioned-form{grid-template-columns:1fr}.form-step-nav{position:sticky;top:76px;z-index:8;display:flex;overflow-x:auto;padding:9px;background:rgba(255,255,255,.96)}.form-step-nav>.eyebrow,.form-step-nav a small{display:none}.form-step-nav a{flex:1 0 118px;grid-template-columns:28px 1fr;padding:8px}.form-step-nav a span{width:28px;height:28px;grid-row:auto}.form-step-nav a strong{font-size:12px}}
@media(max-width:560px){.dashboard-intro{display:block}.dashboard-identity{font-size:25px;text-wrap:wrap}.start-button{margin-top:22px}.dashboard-stats,.dashboard-stats.three-up{grid-template-columns:1fr}.metric-card{min-height:132px;padding:22px}.dashboard-intro h1,.page-heading h1{font-size:31px}.page-heading{align-items:flex-start;flex-direction:column}.page-heading-actions{width:100%;margin-left:0;justify-content:flex-start}.global-search{height:46px;padding:0 12px}.global-search input{font-size:14px}.app-header{gap:10px}.recent-card .card-heading{padding:22px}.panel{padding:17px}}
@media(max-width:820px){.submission-buttons{grid-template-columns:1fr}}

/* Full Evaluation */
.full-step-nav a{padding-top:9px;padding-bottom:9px}.full-step-nav a.completed{background:#e9f7ef;border-radius:8px;color:#176b3a}.full-step-nav a.completed>span{background:#23965a;border-color:#23965a;color:#fff;font-size:0}.full-step-nav a.completed>span::after{content:"✓";font-size:16px}.draft-toolbar{padding:18px 28px;background:#edf5f9;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:18px}.draft-toolbar>div:first-child strong,.draft-toolbar>div:first-child span{display:block}.draft-toolbar>div:first-child span{font-size:12px;color:var(--muted);margin-top:4px}.subsection-heading{font:700 19px Georgia,serif;margin:30px 0 15px;padding-top:5px}.three-column-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pulse-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.single-grid{grid-template-columns:1fr}.walk-followup-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.inline-options>div,.inline-options{display:flex;flex-wrap:wrap;gap:10px 18px}.inline-options label{display:flex;align-items:center;gap:7px;font-weight:600}.inline-options input{width:18px;height:18px;accent-color:var(--blue)}.clue-grid,.measurement-grid{border:1px solid var(--border);border-radius:9px;overflow:hidden;margin:14px 0 22px}.clue-grid>div,.measurement-grid>div{display:grid;grid-template-columns:minmax(220px,2fr) repeat(2,minmax(100px,1fr));align-items:center;border-bottom:1px solid var(--border)}.measurement-grid>div{grid-template-columns:minmax(130px,1fr) repeat(3,minmax(100px,1fr))}.clue-grid>div:last-child,.measurement-grid>div:last-child{border-bottom:0}.clue-grid>div>* ,.measurement-grid>div>*{padding:11px;border-right:1px solid var(--border);margin:0}.clue-grid>div>*:last-child,.measurement-grid>div>*:last-child{border-right:0}.clue-grid>div:first-child,.measurement-grid>div:first-child{background:#f1f5f7}.clue-grid label{display:flex;align-items:center;justify-content:center;gap:8px}.clue-grid input[type=checkbox]{width:22px;height:22px;accent-color:var(--blue)}.large-check-field label{display:flex;align-items:center;gap:12px;font-weight:700}.large-check-field input[type=checkbox]{width:30px;height:30px;accent-color:var(--blue)}.walk-grid input,.measurement-grid input{width:100%;border:0;padding:11px;font:inherit}.drawing-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.drawing-grid>*{min-width:0}.drawing-board{min-width:0;margin:25px 0;border:1px solid var(--border);border-radius:11px;padding:18px;background:#f8fafb;overflow:hidden}.drawing-heading{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;margin-bottom:13px}.drawing-heading h3{margin:0 0 5px;font:700 19px Georgia,serif}.drawing-heading p{margin:0;color:var(--muted);font-size:12px}.drawing-tools{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.drawing-tools .active{background:var(--blue);border-color:var(--blue);color:#fff}.drawing-surface{position:relative;width:100%;background:#fff;border:1px solid #b9c7d1;border-radius:6px;overflow:hidden;line-height:0;touch-action:none}.drawing-surface img{display:block;width:100%;height:auto}.drawing-surface canvas{position:absolute;inset:0;width:100%;height:100%;cursor:crosshair;touch-action:none}.drawing-upload{display:inline-flex;margin-top:11px;color:var(--blue);font-size:12px;font-weight:700;cursor:pointer}.drawing-upload input{margin-left:10px}.drawing-label-tool{display:grid;grid-template-columns:1fr auto;gap:8px;margin-bottom:11px}.drawing-label-tool span{grid-column:1/-1;color:var(--blue);font-size:12px}.full-submission-buttons{grid-template-columns:repeat(4,minmax(0,1fr))}.tox-continue{border-color:#d6a620;color:#765200;background:#fffaf0}
@media(max-width:1100px){.drawing-grid{grid-template-columns:1fr}.three-column-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.draft-toolbar,.drawing-heading{align-items:stretch;flex-direction:column}.draft-toolbar .actions{display:grid;grid-template-columns:1fr 1fr}.clue-grid>div,.measurement-grid>div{grid-template-columns:1.4fr repeat(2,1fr)}.measurement-grid>div{grid-template-columns:1fr repeat(3,1fr)}.three-column-grid,.pulse-grid,.walk-followup-grid{grid-template-columns:1fr}.full-submission-buttons{grid-template-columns:1fr}}

/* Phase 19: reports, in-service, and imports */
.data-only-step-nav a.completed{background:#e9f7ef;border-radius:8px;color:#176b3a}.data-only-step-nav a.completed>span{background:#23965a;border-color:#23965a;color:#fff;font-size:0}.data-only-step-nav a.completed>span::after{content:"✓";font-size:16px}
.report-heading{align-items:flex-end}.report-filters{margin-bottom:24px}.report-filter-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.report-filter-actions{margin-top:18px}.report-stats .metric-card{min-height:126px}.report-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-bottom:24px}.chart-card{padding:24px;overflow:hidden}.chart-card h2{font:700 21px Georgia,serif}.report-chart{display:block;width:100%;height:auto;max-height:330px}.chart-legend{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:12px;color:var(--muted);font-size:12px}.chart-legend span{display:flex;align-items:center;gap:6px}.chart-legend i{width:10px;height:10px;border-radius:50%;display:inline-block}.report-results{padding:0;overflow:hidden;margin-top:24px}.report-results .card-heading{padding:22px 26px}.table-sub-link{font-size:11px}.empty-cell{text-align:center;color:var(--muted);padding:28px!important}.import-panel{max-width:850px}.upload-form{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.form-actions{margin-top:24px}.training-form{max-width:980px}.certification-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:22px;margin-bottom:22px}.certification-status-card{padding:26px;display:flex;align-items:center;gap:20px}.certification-status-card h2{margin:4px 0 6px}.certification-status-card p{margin:0;color:var(--muted)}.status-orb{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;font-size:24px;font-weight:900;color:#fff}.status-orb.green{background:var(--green)}.status-orb.gold{background:var(--gold)}.status-orb.red{background:#b55353}.status-orb.blue{background:var(--blue)}.cert-date-card{padding:25px;display:grid;grid-template-columns:1fr auto;gap:12px 20px;align-items:center}.cert-date-card small{color:var(--muted)}.cert-date-card strong{text-align:right}.training-progress-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:22px}.progress-card{padding:24px}.progress-heading{display:flex;justify-content:space-between;gap:14px;margin-bottom:13px}.progress-track{height:14px;background:#e8eef2;border-radius:999px;overflow:hidden}.progress-fill{height:100%;background:var(--green);max-width:100%}.progress-card p{color:var(--muted);font-size:12px;margin:10px 0 0}.info-message{background:#e9f2f7;border-color:#b8d0df;color:#294b69}.status-pill{display:inline-block;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800}.status-pill.approved{background:#e5f4ec;color:#23704f}.status-pill.pending{background:#fff3d9;color:#805b0e}.status-pill.rejected{background:#f9e5e5;color:#922f2f}.admin-section{margin-top:38px;padding-top:32px;border-top:2px solid var(--border)}.section-heading{margin-bottom:20px}.admin-service-grid{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(420px,1.2fr);gap:22px}.requirement-card,.pending-card{padding:24px}.requirement-field{margin-bottom:14px}.approval-row{display:flex;justify-content:space-between;gap:15px;padding:14px 0;border-bottom:1px solid var(--border)}.approval-row:last-child{border-bottom:0}.approval-row strong,.approval-row small{display:block}.approval-row small{color:var(--muted);margin:4px 0}.approval-actions{display:flex;gap:7px;align-items:center}.approval-actions form{margin:0}
.side-nav a{height:56px}
@media(max-width:1300px){.report-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1000px){.report-chart-grid,.certification-hero,.training-progress-grid,.admin-service-grid{grid-template-columns:1fr}.report-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.report-filter-grid{grid-template-columns:1fr}.upload-form{grid-template-columns:1fr}.approval-row{flex-direction:column}}

/* Phase 21: keep growing data tables compact inside their cards. */
.scroll-table {
  overflow: auto;
  overscroll-behavior: contain;
  border-radius: 0 0 14px 14px;
}
.five-row-table {
  max-height: 320px;
}
.ten-row-table {
  max-height: 650px;
}
.user-last-login {
  display: inline-block;
  margin-top: 3px;
  font-size: 11px;
  white-space: nowrap;
}

/* DRE program theme: visually matches the purple DRE card on Portal Home. */
.dre-theme {
  --navy: #35245f;
  --navy-2: #58417f;
  --blue: #6f42a1;
  --blue-dark: #583285;
  --purple: #6f42a1;
}
.dre-theme .sidebar {
  background: linear-gradient(180deg, #3a2865 0%, #2c1d50 100%);
  box-shadow: 2px 0 8px rgba(37, 22, 65, .16);
}
.dre-theme .portal-brand small,
.dre-theme .protected-card small,
.dre-theme .profile-text small {
  color: #cfc3df;
}
.dre-theme .side-nav a {
  color: #eee9f5;
}
.dre-theme .side-nav a:hover {
  background: rgba(255, 255, 255, .08);
}
.dre-theme .side-nav a.active {
  background: #58417f;
  border-left-color: #d5a238;
}
.dre-theme .nav-icon,
.dre-theme .side-nav a.active .nav-icon {
  color: #d8cce8;
}
.dre-theme .protected-card,
.dre-theme .profile-card {
  border-color: #66508c;
}
.dre-theme .protected-check {
  background: #50366f;
}
.dre-theme .profile-avatar {
  background: #eee7f7;
  color: #4d2d77;
}
.dre-theme .profile-menu {
  border-color: #77619a;
  color: #eee9f5;
}
.dre-theme .profile-menu:hover {
  background: #58417f;
}
.dre-theme .blue {
  background: #f0eafb;
  color: #6f42a1;
}
.dre-theme .form-step-nav a:hover,
.dre-theme .form-step-nav a:focus {
  background: #f4effa;
}
.dre-theme .draft-toolbar,
.dre-theme .info-message {
  background: #f3eef9;
  border-color: #d7c9e7;
}
.scroll-table table {
  margin: 0;
}
.scroll-table thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: #eef3f7;
}
.import-form {
  display: flex;
  align-items: end;
  gap: 14px;
  flex-wrap: wrap;
}
.import-form .field {
  min-width: min(520px, 100%);
  flex: 1;
}
.import-summary.five-up {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.historical-note {
  margin-bottom: 18px;
}
@media (max-width: 1000px) {
  .import-summary.five-up { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}


/* Phase 22: protected delete actions, row menus, and interactive reports. */
.btn.danger{background:#b44444;border-color:#b44444;color:#fff}.btn.danger:hover:not(:disabled){background:#933737}.btn.danger:disabled{background:#d8dde1;border-color:#d8dde1;color:#8b969e;cursor:not-allowed;box-shadow:none}.danger-link{color:#a23d3d!important}.danger-panel{border-color:#e4bcbc}.delete-confirm-check{display:flex;gap:10px;align-items:flex-start;padding:16px;border:1px solid #e1c4c4;background:#fff7f7;border-radius:9px;font-weight:700;margin:20px 0}.delete-confirm-check input{margin-top:3px}.confirm-actions{justify-content:flex-start}.form-footer-actions{justify-content:space-between}.compact-actions{justify-content:flex-start;gap:7px;white-space:nowrap}.rolling-label{margin-bottom:7px}.action-column{width:56px}.row-actions{text-align:right;position:relative}.row-menu{position:relative;display:inline-block}.row-menu summary{list-style:none;cursor:pointer;font-weight:900;letter-spacing:2px;padding:5px 9px;border-radius:7px;color:#607384}.row-menu summary::-webkit-details-marker{display:none}.row-menu summary:hover{background:#eef3f6}.row-menu-popover{position:absolute;right:0;top:31px;width:120px;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 22px rgba(0,0,0,.14);padding:5px;z-index:8;text-align:left}.row-menu-popover a{display:block;padding:9px 10px;border-radius:6px;color:var(--text);font-weight:700}.row-menu-popover a:hover{background:#f2f5f7}.admin-eval-search{margin:8px 0 16px}.drill-panel{padding:18px 22px}.drill-panel p{margin:5px 0 0}.drill-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:15px;border-top:1px solid var(--border);padding-top:14px}.drill-path{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.drill-home,.drill-chip{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}.drill-home{background:#eef3f7;color:#526b7e}.drill-chip{background:#e4f2f8;color:#176b98}.chart-title-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.chart-title-row small{color:var(--muted);font-weight:700}.interactive-chart{cursor:pointer}.chart-legend-item{border:0;background:transparent;padding:5px 7px;border-radius:6px;display:inline-flex;align-items:center;gap:5px;color:var(--text);font:inherit;font-size:12px;cursor:pointer}.chart-legend-item:hover{background:#f0f4f6}.chart-legend-item i{width:9px;height:9px;border-radius:50%;display:inline-block}.chart-legend-item strong{margin-left:2px}.interactive-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:900px){.drill-toolbar{align-items:flex-start;flex-direction:column}.interactive-chart-grid{grid-template-columns:1fr}}

/* Phase 23: Mississippi DRE certification / recertification tracking. */
.status-orb.gold{background:#d9a52b}.metric-icon.red{background:#f7e4e4;color:#a23d3d}.missing-copy{margin-top:8px!important;color:#805b0e!important}.requirement-progress-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-bottom:22px}.requirement-progress-card{padding:24px;position:relative;border-top:4px solid #d6a620}.requirement-progress-card.complete{border-top-color:var(--green)}.requirement-progress-card .requirement-icon{position:absolute;right:18px;top:18px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#fff0d2;color:#8a620f;font-weight:900}.requirement-progress-card.complete .requirement-icon{background:#e0f1e9;color:#31765f}.pending-highlight{border-left:5px solid #d6a620}.certification-search{display:grid;grid-template-columns:minmax(260px,1fr) 220px auto;gap:10px;margin:12px 0 18px}.status-filter{min-width:200px}.cert-admin-table{max-height:520px}.cert-dot{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:8px}.cert-dot.green{background:var(--green)}.cert-dot.gold{background:#d6a620}.cert-dot.red{background:#b44444}.cert-dot.blue{background:var(--blue)}.requirement-admin-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:end}.requirement-admin-form .field label{font-size:12px}.nav-count{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:999px;background:#d6a620;color:#fff;font-size:11px;margin-left:8px;padding:0 6px}.four-up{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1100px){.requirement-progress-grid,.requirement-admin-form,.four-up{grid-template-columns:repeat(2,minmax(0,1fr))}.certification-search{grid-template-columns:1fr 1fr}.certification-search .btn{grid-column:1/-1}}
@media(max-width:700px){.requirement-progress-grid,.requirement-admin-form,.four-up,.certification-search{grid-template-columns:1fr}}

/* Phase 25 admin/in-service cleanup */
.profile-popover a,.profile-popover button{display:block;width:100%;box-sizing:border-box;padding:9px 11px;border:0;border-radius:7px;background:transparent;color:#173650;text-align:left;cursor:pointer;font:inherit;text-decoration:none}
.profile-popover a:hover,.profile-popover button:hover{background:#f1f4f6}
.admin-list-heading{align-items:flex-start}.admin-title-search{display:flex;align-items:flex-start;gap:18px;flex:1;min-width:0}.admin-title-search>div{min-width:220px}.compact-live-search{width:min(320px,34vw);height:38px;padding:7px 11px;font-size:.92rem;margin-top:0}.cert-summary-strip{display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 14px}.cert-mini{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;font-size:.83rem;font-weight:700;background:#eef3f6}.cert-mini.green{background:#e0f1e9;color:#31765f}.cert-mini.gold{background:#fff0d2;color:#8a620f}.cert-mini.red{background:#f7e4e4;color:#a23d3d}.cert-mini.blue{background:#e5f2f7;color:#176783}
.requirement-progress-card .progress-heading{padding-right:54px}
@media(max-width:900px){.admin-title-search{flex-direction:column;gap:10px}.compact-live-search{width:100%;max-width:none}.requirement-progress-card .progress-heading{padding-right:48px}}

/* Phase 26 reusable table column controls */
.column-controls{display:flex;justify-content:flex-end;margin:0 0 8px;position:relative;z-index:5}
.column-menu{position:relative}
.column-menu>summary{list-style:none;cursor:pointer}
.column-menu>summary::-webkit-details-marker{display:none}
.column-popover{position:absolute;right:0;top:calc(100% + 6px);min-width:210px;background:#fff;border:1px solid #d8e0e8;border-radius:10px;box-shadow:0 12px 30px rgba(17,43,68,.15);padding:10px;display:grid;gap:7px;z-index:30}
.column-option{display:flex;align-items:center;gap:7px;font-size:13px;white-space:nowrap}
.column-reset{margin-top:5px;width:100%}
.row-actions-menu{position:relative;display:inline-block}
.row-actions-menu>summary{list-style:none;cursor:pointer;border:1px solid #d9e2ea;border-radius:7px;padding:3px 9px;font-weight:700;background:#fff}
.row-actions-menu>summary::-webkit-details-marker{display:none}
.row-actions-popover{position:absolute;right:0;top:calc(100% + 5px);min-width:190px;background:#fff;border:1px solid #d8e0e8;border-radius:9px;box-shadow:0 12px 28px rgba(17,43,68,.16);padding:7px;z-index:40;display:grid;gap:3px}
.row-actions-popover a{display:block;padding:7px 9px;border-radius:6px;text-decoration:none;color:#17324d;white-space:nowrap}
.row-actions-popover a:hover{background:#f2f6f9}
.compact-report-charts .chart-card{min-height:0;padding-bottom:14px}
.compact-report-charts .report-chart{max-height:210px!important}
.account-information-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:44px;row-gap:0}.account-information-grid>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:16px;align-items:baseline;padding:13px 0;border-bottom:1px solid var(--border)}.account-information-grid strong{overflow-wrap:anywhere}.account-detail-label{color:var(--muted);font-size:13px;font-weight:700}.account-detail-label::after{content:":"}@media(max-width:820px){.account-information-grid{grid-template-columns:1fr}.account-information-grid>div{grid-template-columns:100px minmax(0,1fr)}}
.import-center-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.import-center-card{padding:26px;display:flex;flex-direction:column;justify-content:space-between;gap:24px;min-height:260px}.import-center-card h2{margin:16px 0 8px}.import-center-card p{margin:0}.import-center-card .btn{align-self:flex-start}.import-center-icon{width:48px;height:48px;border-radius:12px;background:#e5f2f8;color:#1376a6;display:grid;place-items:center;font-size:23px;font-weight:900}@media(max-width:1000px){.import-center-grid{grid-template-columns:1fr}}
.sortable-heading{position:relative;padding-right:30px!important}.table-sort-menu{position:absolute;right:6px;bottom:5px;z-index:12}.table-sort-menu>summary{list-style:none;width:20px;height:20px;border:1px solid #c8d5df;border-radius:5px;background:#fff;color:#526b7e;display:grid;place-items:center;cursor:pointer;font-size:12px;line-height:1}.table-sort-menu>summary::-webkit-details-marker{display:none}.table-sort-menu>summary:hover,.table-sort-menu[open]>summary{background:#e8f1f6;color:#176b98}.table-sort-popover{position:absolute;right:0;top:24px;min-width:170px;padding:5px;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 9px 25px rgba(22,40,58,.18);white-space:nowrap;z-index:30}.table-sort-popover button,.table-sort-popover a{display:block;width:100%;border:0;background:transparent;color:var(--text);padding:9px 10px;border-radius:6px;text-align:left;font:inherit;font-size:12px;font-weight:700;cursor:pointer;text-decoration:none}.table-sort-popover button:hover,.table-sort-popover a:hover,.table-sort-popover .active{background:#edf4f7;color:#176b98}.sortable-heading[aria-sort="ascending"] .table-sort-menu>summary,.sortable-heading[aria-sort="descending"] .table-sort-menu>summary{background:#176b98;border-color:#176b98;color:#fff}
.pagination-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0 0;flex-wrap:wrap}
.pagination-bar .page-status{font-size:13px;color:#66798a}
.document-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
@media(max-width:800px){.document-grid{grid-template-columns:1fr}}
.metric-link{text-decoration:none}
.requirement-progress-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1100px){.requirement-progress-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.requirement-progress-grid{grid-template-columns:1fr}}
.cert-comments{grid-column:1/-1;border-top:1px solid var(--border);padding-top:12px;margin-top:4px}.cert-comments small{display:block;font-weight:800;margin-bottom:5px}.cert-comments p{margin:0;color:var(--text);white-space:normal;text-align:left}.field-help{display:block;color:var(--muted);font-size:12px;margin-top:6px;line-height:1.4}
.row-menu-popover form{margin:0}.row-menu-popover button{display:block;width:100%;padding:9px 10px;border:0;border-radius:6px;background:transparent;color:var(--text);font:inherit;font-weight:700;text-align:left;cursor:pointer}.row-menu-popover button:hover{background:#f2f5f7}
.dre-profile-link{color:var(--blue);font-weight:700}.dre-profile-link:hover{text-decoration:underline}
.drug-comparison-summary{padding:0;overflow:hidden;margin-bottom:24px}.drug-comparison-summary .card-heading{padding:22px 26px}.drug-comparison-summary td:not(:first-child),.drug-comparison-summary th:not(:first-child){text-align:center}.drug-category-link{font-weight:700}.comparison-note{margin:0;padding:15px 26px;background:#f5f8fa;border-top:1px solid var(--border);color:var(--muted);font-size:12px;line-height:1.5}

/* Phase 28: consistent table searches and visible actions. */
.admin-list-heading{display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,360px) minmax(220px,1fr);align-items:start;gap:20px;width:100%}
.admin-heading-copy{grid-column:1;min-width:0}
.compact-live-search{grid-column:2;width:100%;max-width:360px;justify-self:center;margin:0}
.admin-heading-actions{grid-column:3;justify-self:end;justify-content:flex-end}
.table-search-form{justify-content:center}
.table-search-form .form-control{flex:0 1 680px}
.certification-search{grid-template-columns:minmax(260px,680px) 220px auto;justify-content:center}
.row-actions{min-width:240px}
.action-header,.row-actions{text-align:right}
.row-action-buttons{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.row-action-buttons form{margin:0}
.row-action-buttons .btn{white-space:nowrap}
th:last-child{white-space:nowrap}
@media(max-width:1000px){.admin-list-heading{grid-template-columns:1fr}.admin-heading-copy,.compact-live-search,.admin-heading-actions{grid-column:1}.compact-live-search{justify-self:stretch;max-width:none}.admin-heading-actions{justify-self:start;justify-content:flex-start}.certification-search{grid-template-columns:1fr 220px auto}}
@media(max-width:700px){.certification-search{grid-template-columns:1fr}.row-actions{min-width:200px}}
.agency-search-input{margin-bottom:8px}.field[hidden]{display:none!important}
/* Mississippi Impaired Driving Portal hub */
.portal-hub-body{margin:0;min-height:100vh;background:#f3f6fa;color:#172033;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.portal-hub-header{min-height:78px;padding:12px clamp(20px,4vw,64px);display:flex;align-items:center;justify-content:space-between;gap:24px;background:#fff;border-bottom:1px solid #dfe5ed;box-shadow:0 4px 18px rgba(18,38,63,.05)}
.hub-brand{display:flex;align-items:center;gap:14px;color:#13213a;text-decoration:none}.hub-brand .state-seal{width:54px;height:54px;flex:0 0 54px;object-fit:contain;background:transparent}.hub-brand span,.hub-account>span{display:flex;flex-direction:column}.hub-brand strong{font-size:1.05rem;letter-spacing:-.01em}.hub-brand small,.hub-account small{margin-top:3px;color:#6c778a;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}
.hub-account{display:flex;align-items:center;gap:11px}.hub-account .profile-menu-wrap{margin-left:4px}.hub-account .profile-popover{right:0;left:auto}
.portal-hub-main{width:min(1240px,calc(100% - 40px));margin:0 auto;padding:54px 0 64px}.portal-hub-main>.message{margin-bottom:20px}
.hub-welcome{text-align:center;max-width:760px;margin:0 auto 38px}.hub-welcome .eyebrow{margin-bottom:8px}.hub-welcome h1{margin:0;color:#142440;font-size:clamp(2rem,4vw,3.1rem);letter-spacing:-.045em}.hub-welcome>p:last-child{max-width:650px;margin:14px auto 0;color:#667389;font-size:1.05rem;line-height:1.65}
.program-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.program-card{position:relative;min-height:360px;padding:30px;border:1px solid #dce3ec;border-radius:20px;background:#fff;box-shadow:0 12px 34px rgba(18,38,63,.08);color:#172033;text-decoration:none;display:flex;flex-direction:column;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.program-card:before{content:"";position:absolute;inset:0 0 auto;height:6px;background:var(--program-color)}.program-card:not(.locked):hover{transform:translateY(-5px);border-color:var(--program-color);box-shadow:0 20px 44px rgba(18,38,63,.14)}.program-card.sfst{--program-color:#1769aa;--program-soft:#e9f3fb}.program-card.aride{--program-color:#b97813;--program-soft:#fff3dc}.program-card.dre{--program-color:#6b3fa0;--program-soft:#f2ebfa}.program-mark{width:84px;height:84px;border-radius:22px;background:var(--program-soft);color:var(--program-color);display:grid;place-items:center;font-size:1.05rem;font-weight:900;letter-spacing:.07em}.program-copy{display:flex;flex-direction:column;margin-top:28px}.program-copy small{color:var(--program-color);font-size:.76rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.program-copy strong{margin-top:7px;color:#142440;font-size:1.65rem}.program-copy>span{margin-top:12px;color:#68758a;line-height:1.55}.program-status{margin-top:auto;padding-top:26px;border-top:1px solid #edf0f4;color:var(--program-color);font-weight:800}.program-status b{float:right;font-size:1.2rem}.program-card.locked{filter:saturate(.35);background:#f9fafb;box-shadow:none;opacity:.72}.program-card.locked .program-status{color:#6d7685}.hub-help{text-align:center;margin:30px 0 0;color:#727d8e}
.program-placeholder{position:relative;max-width:760px;margin:50px auto 0;padding:58px;border-radius:24px;background:#fff;border:1px solid #dfe5ed;box-shadow:0 16px 42px rgba(18,38,63,.09);text-align:center}.program-placeholder.sfst{--program-color:#1769aa;--program-soft:#e9f3fb}.program-placeholder.aride{--program-color:#b97813;--program-soft:#fff3dc}.program-placeholder-mark{width:105px;height:105px;margin:0 auto 28px;display:grid;place-items:center;border-radius:27px;background:var(--program-soft);color:var(--program-color);font-size:1.25rem;font-weight:900;letter-spacing:.08em}.program-placeholder h1{margin:6px 0;color:#142440;font-size:2.5rem}.program-placeholder h2{margin:0;color:var(--program-color);font-size:1.1rem}.program-placeholder>p:last-child{max-width:580px;margin:22px auto 0;color:#68758a;line-height:1.65}.hub-back{position:absolute;left:28px;top:24px;color:#56657b;text-decoration:none;font-weight:700}.hub-back:hover{color:var(--program-color)}
.impaired-login-brand{display:flex}.impaired-login-brand .portal-state-seal{width:58px;height:58px;flex:0 0 58px;object-fit:contain;background:transparent;border:0}.impaired-login-brand h1{max-width:none;font-size:clamp(1.05rem,4.5vw,1.35rem);line-height:1.15;letter-spacing:-.02em;white-space:normal}.impaired-login-brand p{letter-spacing:.08em}
@media(max-width:900px){.program-card-grid{grid-template-columns:1fr}.program-card{min-height:285px}.portal-hub-header{align-items:flex-start}.hub-account>span:not(.profile-avatar){display:none}}
@media(max-width:620px){.portal-hub-header{padding:12px 16px}.hub-brand strong{font-size:.86rem}.hub-brand small{font-size:.62rem}.hub-brand .state-seal{width:44px;height:44px}.hub-account .profile-avatar{display:grid}.portal-hub-main{width:min(100% - 28px,1240px);padding-top:36px}.program-card{padding:24px}.program-placeholder{padding:76px 24px 40px}.hub-back{left:20px}}

/* Shared program portal themes */
.sfst-app{--program-accent:#16829a;--program-accent-dark:#0d586b;--program-soft:#e8f6f8}.aride-app{--program-accent:#bb7817;--program-accent-dark:#7b4a09;--program-soft:#fff4df}.program-sidebar{background:linear-gradient(180deg,var(--program-accent-dark),#102d43 78%)}.program-sidebar .side-nav a.active{background:rgba(255,255,255,.15);border-left-color:#fff}.program-app .btn.primary,.program-app button.btn.primary{background:var(--program-accent);border-color:var(--program-accent)}.program-app .btn.primary:hover{background:var(--program-accent-dark)}.program-app .eyebrow,.program-app .card-heading a{color:var(--program-accent)}.program-app .certification-status-card{border-top:4px solid var(--program-accent)}.program-header-label{display:flex;align-items:center;gap:12px}.program-header-label span{display:grid;place-items:center;min-width:58px;height:32px;padding:0 10px;border-radius:9px;background:var(--program-soft);color:var(--program-accent-dark);font-weight:900;letter-spacing:.06em}.program-header-label strong{color:#26364d;font-size:.86rem}.program-app .panel,.program-app .data-card{scroll-margin-top:20px}
.student-intake-body{margin:0;min-height:100vh;background:linear-gradient(145deg,#0d586b,#143b54);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#172033}.student-intake-shell{width:min(720px,calc(100% - 32px));margin:0 auto;padding:34px 0 60px}.intake-brand{display:flex;align-items:center;justify-content:center;gap:14px;color:#fff;margin-bottom:26px}.intake-brand .state-seal{width:58px;height:58px}.intake-brand div{display:flex;flex-direction:column}.intake-brand strong{font-size:1.1rem}.intake-brand small{margin-top:4px;letter-spacing:.1em;text-transform:uppercase;opacity:.75}.student-intake-card{padding:clamp(26px,5vw,48px);background:#fff;border-radius:22px;box-shadow:0 24px 70px rgba(0,0,0,.25)}.student-intake-card h1{margin:4px 0 10px;font-size:clamp(1.8rem,5vw,2.6rem);letter-spacing:-.04em}.student-intake-card form p{margin:18px 0}.student-intake-card form label{display:block;margin-bottom:7px;font-weight:750}.student-intake-card form input{width:100%;box-sizing:border-box;padding:13px 14px;border:1px solid #cfd7e2;border-radius:9px;font:inherit}.intake-submit,.intake-next{width:100%;justify-content:center;margin-top:12px;padding:14px}.intake-actions{display:flex;gap:10px;margin-top:12px}.intake-actions .btn{flex:1;justify-content:center;padding:14px}.intake-actions .intake-submit{margin-top:0}.password-required-form{margin-top:28px;text-align:left}.password-required-form ul{padding-left:20px;color:#6a7588;font-size:.86rem}
@media(max-width:760px){.program-header-label strong{display:none}.program-app .dashboard-stats{grid-template-columns:1fr}.student-intake-shell{padding-top:20px}}

/* Phase 31 shared portal consistency */
.hub-brand strong{white-space:nowrap;font-size:1.1rem}.hub-account .profile-avatar,.profile-avatar{display:grid!important;place-items:center!important;line-height:1;text-align:center}.hub-account .profile-popover{top:calc(100% + 8px);bottom:auto}.portal-hub-header .profile-menu{color:#173650;border-color:#8ba0b2}.portal-hub-header .profile-menu:hover{color:#fff}.portal-brand .state-seal{object-fit:contain;background:transparent}.program-sidebar .portal-brand .state-seal{width:54px;height:54px}.program-mark{width:118px;height:118px;margin:0 auto;overflow:visible;background:transparent;border-radius:0}.program-mark img{display:block;width:118px;height:118px;object-fit:contain;border-radius:0;background:transparent}.program-scoped-search{display:flex;align-items:center;gap:9px}.program-scoped-search input{width:100%;border:0;outline:0;background:transparent;color:#26364d;font:inherit}.program-app .btn.primary,.program-app button.btn.primary{color:#fff!important}.program-app .btn:not(.primary):not(.danger){color:#173650;background:#fff}.program-app .btn.danger{color:#fff}.admin-heading-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap}.enrollment-review-actions{justify-content:flex-start;align-items:center;flex-wrap:nowrap}.enrollment-review-actions .btn{white-space:nowrap}.compact-filter{display:grid;grid-template-columns:minmax(180px,1fr) 170px auto;gap:8px;align-items:start}.compact-filter .form-control{margin:0}.form-panel{max-width:900px}.stacked-form{display:grid;gap:17px}.form-field{display:grid;gap:7px}.form-field label,.field-label{font-weight:800;color:#26364d}.help-text{color:#6b788b;line-height:1.45}.field-error{margin:0;color:#ad3030;font-weight:700}.full-width{width:100%;justify-content:center}.form-control[multiple]{min-height:130px}.attendance-table{min-width:850px}.compact-select{min-width:118px;padding:7px}.badge-list{display:flex;flex-wrap:wrap;gap:5px}.qualification-badge,.permission-badge{display:inline-flex;align-items:center;width:max-content;max-width:100%;border-radius:999px;padding:5px 8px;font-size:.72rem;font-weight:800;line-height:1.2}.qualification-badge.sfst{background:#dff2f5;color:#0d6678}.qualification-badge.aride{background:#fff0d6;color:#8a550a}.qualification-badge.dre{background:#eee5f8;color:#5e358c}.permission-badge{background:#e8eef5;color:#314861}.program-record-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.program-record-card{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:20px;border:1px solid #dbe3eb;border-top:4px solid #52738c;border-radius:12px;background:#fff}.program-record-card.sfst{border-top-color:#16829a}.program-record-card.aride{border-top-color:#bb7817}.program-record-card.dre{border-top-color:#6b3fa0}.program-record-card>strong{font-size:1.1rem}.program-record-card p{margin:0;color:#68758a;line-height:1.45;flex:1}.search-results-form .actions{display:grid;grid-template-columns:1fr auto}.student-intake-brand{display:flex;align-items:center;justify-content:center;gap:14px;color:#fff;margin-bottom:26px}.student-intake-brand img{width:64px;height:64px;object-fit:contain;background:transparent;border-radius:50%}.student-intake-brand span{display:flex;flex-direction:column}.student-intake-brand small{margin-top:4px;letter-spacing:.1em;text-transform:uppercase;opacity:.78}.student-intake-card .form-field{margin:16px 0}.pagination{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:18px}.status-pill.open,.status-pill.in_progress{background:#dff2e9;color:#2f765b}.status-pill.planned{background:#e8eef5;color:#425c73}.status-pill.closed{background:#f5e0e0;color:#9d3d3d}
@media(max-width:900px){.program-record-grid{grid-template-columns:1fr}.compact-filter{grid-template-columns:1fr}.hub-brand strong{white-space:normal}.hub-account{margin-left:auto}}
.admin-user-table .action-header,.admin-user-table .row-actions{width:150px;min-width:150px;padding-left:14px;padding-right:26px;box-sizing:border-box}.admin-user-table .row-action-buttons{flex-wrap:nowrap}.user-control-table{min-width:0;table-layout:fixed}.user-control-table th,.user-control-table td{overflow-wrap:anywhere}.user-control-table th:nth-child(1){width:15%}.user-control-table th:nth-child(2){width:12%}.user-control-table th:nth-child(3){width:19%}.user-control-table th:nth-child(4){width:20%}.user-control-table th:nth-child(5){width:15%}.user-control-table th:nth-child(6){width:9%}.user-control-table th:nth-child(7){width:150px}@media(max-width:900px){.user-control-table{min-width:900px;table-layout:auto}}
.cert-form-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.cert-form-actions .btn{width:100%;justify-content:center}.iacp-form-intro{margin-bottom:16px}.iacp-form-intro p{margin:0}.iacp-form-intro p+p{margin-top:8px}.iacp-form-panel{max-width:900px}.iacp-form-panel input:disabled{background:#eef3f7;color:#40546a;opacity:1}
.nowrap-heading{white-space:nowrap!important}

.help-tip{display:inline-grid;place-items:center;width:17px;height:17px;margin-left:6px;border-radius:50%;background:var(--blue);color:#fff;font-size:11px;font-weight:800;line-height:1;cursor:help;position:relative;vertical-align:middle}.help-tip::after{content:attr(data-tooltip);position:absolute;z-index:30;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);width:260px;padding:9px 10px;border-radius:7px;background:#162c47;color:#fff;font-size:12px;font-weight:500;line-height:1.35;text-align:left;box-shadow:0 5px 15px rgba(0,0,0,.2);opacity:0;pointer-events:none;transition:opacity .15s}.help-tip:hover::after,.help-tip:focus::after{opacity:1}

/* Phase 34: organized statewide user editor. */
.portal-user-editor-heading{max-width:1280px;margin-left:auto;margin-right:auto}.portal-user-editor{max-width:1280px;margin:0 auto}.user-editor-section{margin-bottom:24px}.user-editor-section-heading{display:flex;align-items:flex-start;gap:14px;margin-bottom:24px}.user-editor-section-heading .eyebrow{margin:2px 0 6px}.user-editor-section-heading h2{font:700 24px Georgia,serif;margin:0 0 6px}.user-editor-section-heading p:last-child{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.user-editor-step{width:34px;height:34px;flex:0 0 34px;border-radius:50%;display:grid;place-items:center;background:#e7f1f7;color:#176b98;font-weight:900}.user-editor-account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px}.agency-editor-field .agency-search-input{margin-bottom:8px}.program-access-section{padding:24px 0 0}.program-access-section>.user-editor-section-heading{padding:0 24px}.user-program-access-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.user-program-access-card{--card-accent:#176b98;--card-soft:#e7f2f8;position:relative;padding:22px;border:1px solid #d9e2e9;border-top:5px solid var(--card-accent);border-radius:14px;background:#fff;box-shadow:var(--shadow);transition:opacity .16s,border-color .16s,box-shadow .16s}.user-program-access-card.sfst{--card-accent:#176b98;--card-soft:#e7f2f8}.user-program-access-card.aride{--card-accent:#b97813;--card-soft:#fff1d8}.user-program-access-card.dre{--card-accent:#6b3fa0;--card-soft:#f0e8f8}.program-access-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid #e7ecef}.program-access-card-heading h3{margin:7px 0 0;font:700 21px Georgia,serif}.program-card-code{display:inline-flex;padding:5px 8px;border-radius:999px;background:var(--card-soft);color:var(--card-accent);font-size:10px;font-weight:900;letter-spacing:1px}.program-card-fields{display:grid;gap:17px}.program-rule-note{margin:17px 0 0;padding:11px;border-radius:8px;background:var(--card-soft);color:#566575;font-size:11px;line-height:1.45}.access-switch{display:flex!important;align-items:center;gap:7px;margin:0!important;cursor:pointer;white-space:nowrap}.access-switch>input{position:absolute;opacity:0;pointer-events:none}.switch-track{position:relative;width:39px;height:22px;border-radius:999px;background:#bdc8d0;transition:background .16s}.switch-track i{position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .16s}.access-switch>input:checked+.switch-track{background:var(--card-accent)}.access-switch>input:checked+.switch-track i{transform:translateX(17px)}.access-switch>input:focus-visible+.switch-track{outline:3px solid rgba(23,107,152,.22);outline-offset:2px}.access-switch strong{color:var(--card-accent);font-size:12px}.user-program-access-card.access-disabled{box-shadow:none;background:#f8fafb;opacity:.68}.user-program-access-card.access-disabled .program-card-fields{filter:grayscale(.45)}.user-editor-lower-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.compact-editor-section{margin-bottom:0}.admin-access-options{display:grid;gap:12px}.editor-option-row{display:flex!important;align-items:flex-start;gap:12px;margin:0!important;padding:14px;border:1px solid var(--border);border-radius:10px;background:#f8fafb;cursor:pointer}.editor-option-row>input{width:19px;height:19px;margin:2px 0 0;accent-color:var(--blue)}.editor-option-row span{display:block}.editor-option-row strong,.editor-option-row small{display:block}.editor-option-row small{margin-top:4px;color:var(--muted);font-weight:500;line-height:1.4}.security-controls-link{display:inline-block;margin-top:15px;font-size:13px;font-weight:800}.user-editor-action-bar{position:sticky;bottom:14px;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:24px;padding:14px 16px;border:1px solid #d8e1e8;border-radius:13px;background:rgba(255,255,255,.96);box-shadow:0 10px 30px rgba(19,42,61,.14);backdrop-filter:blur(9px)}.user-editor-action-bar .actions{margin-left:auto}.user-editor-delete:empty{display:none}
@media(max-width:1050px){.user-program-access-grid{grid-template-columns:1fr}.user-program-access-card{padding:20px}.program-card-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.user-editor-account-grid,.user-editor-lower-grid,.program-card-fields{grid-template-columns:1fr}.user-editor-action-bar{position:static;align-items:stretch;flex-direction:column-reverse}.user-editor-action-bar .actions{width:100%;margin:0;display:grid;grid-template-columns:1fr 1fr}.user-editor-action-bar .btn{width:100%}.user-editor-delete{width:100%}}
.session-modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.55);display:grid;place-items:center;z-index:10000;padding:20px}.session-modal-backdrop[hidden]{display:none}.session-modal{width:min(520px,100%);background:#fff;border-radius:14px;padding:28px;box-shadow:0 24px 70px rgba(0,0,0,.3)}.session-modal h2{margin-top:0}.session-unsaved{padding:12px;border:1px solid #d7a928;border-radius:8px;background:#fff8df}.security-card{max-width:520px}.security-panel{max-width:760px}.mfa-qr{width:240px;height:240px;display:block;margin:20px 0;border:1px solid var(--border);border-radius:10px}.secret-code{display:inline-block;padding:10px 12px;background:#f4f6f8;border-radius:7px;word-break:break-all}.recovery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:20px 0}.recovery-grid code{padding:12px;text-align:center;background:#f4f6f8;border-radius:7px;font-size:1.05rem;font-weight:700;letter-spacing:.08em}@media(max-width:600px){.recovery-grid{grid-template-columns:1fr}}


.report-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:end}.report-search-field{grid-column:span 2}.report-filter-actions{align-self:end}.table-sort{appearance:none;border:0;background:transparent;padding:0;font:inherit;font-weight:700;color:inherit;cursor:pointer;text-align:left}.table-sort[data-direction="asc"]::after{content:" ▲"}.table-sort[data-direction="desc"]::after{content:" ▼"}@media(max-width:900px){.report-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-search-field{grid-column:span 2}}@media(max-width:600px){.report-filter-grid{grid-template-columns:1fr}.report-search-field{grid-column:span 1}}

/* Kim workflow pilot: explicit SFST pipeline, ARIDE attendance, and admin notes. */
.kim-workflow-notice{margin:0 0 22px;padding:15px 18px;border:1px solid #e5c17c;border-left:5px solid #bb7817;border-radius:10px;background:#fff8e9;color:#604514;line-height:1.55}
.workflow-overview{padding-bottom:8px}.embedded-stats{margin:0 22px 18px}.workflow-queues{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.workflow-queues>.panel{min-width:0}
.kim-workflow-hero{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.kim-workflow-hero .data-card{min-width:0}.compact-actions form{display:inline-flex;margin:0}.notes-panel{display:grid;gap:16px}.note-form{display:grid;gap:12px}.note-options{display:flex;gap:18px;flex-wrap:wrap}.program-note{padding:15px;border:1px solid var(--border);border-left:4px solid #9aaaba;border-radius:9px;background:#fff}.program-note.pinned{border-left-color:#d39b19;background:#fffaf0}.program-note p{white-space:pre-wrap}.program-note-meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:.8rem}
@media(max-width:950px){.workflow-queues,.kim-workflow-hero{grid-template-columns:1fr}.embedded-stats{margin-left:12px;margin-right:12px}}
.sensitive-verification-panel{max-width:720px}.sensitive-identifier{display:inline-block;margin:16px 0 24px;padding:18px 24px;border:1px solid #d8e0e8;border-radius:10px;background:#f4f7fa;color:#142440;font-size:2rem;font-weight:900;letter-spacing:.12em}

/* Phase 37: consistent program-note actions. */
.program-note{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.program-note-copy{min-width:0;flex:1}.program-note-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.program-note-actions form{margin:0}.program-note-edit-panel{max-width:900px}.program-note-edit-options{margin:16px 0}.delete-note-preview{display:block;margin:18px 0;background:#fff}.delete-note-preview p{margin:0}@media(max-width:700px){.program-note{flex-direction:column}.program-note-actions{width:100%;justify-content:flex-start}}

/* Working phase: quick program identifiers and certificate visibility. */
.user-program-identifiers{font-weight:800;margin-bottom:5px}.user-agency-line{margin-top:0}.certification-status-card .certificate-number-line{margin-top:6px;color:var(--text);font-weight:800}
.program-edit-section-heading{margin-bottom:5px}
.program-edit-section-heading .eyebrow{margin-bottom:6px}
.program-edit-section-heading h2{font:700 24px Georgia,serif;margin:0 0 7px}
.program-edit-section-heading>p:last-child{margin:0;color:var(--muted);font-size:13px}
.manual-override-section{display:grid;gap:17px;margin-top:12px;padding-top:28px;border-top:2px solid #d9dfe6}
.manual-override-section .program-edit-section-heading{margin-bottom:1px}
.permission-guide{margin:-3px 0 8px;padding:16px 18px;border:1px solid #d8e2ea;border-left:4px solid var(--blue);border-radius:9px;background:#f7fafc}.permission-guide h3{margin:0 0 4px;font-size:16px}.permission-guide-intro{margin:0 0 11px;color:var(--muted);font-size:12px}.permission-guide dl{display:grid;gap:0;margin:0}.permission-guide dl>div{display:grid;grid-template-columns:minmax(145px,190px) 1fr;gap:12px;padding:8px 0;border-top:1px solid #e1e7ec}.permission-guide dt{font-weight:800}.permission-guide dd{margin:0;color:#53687a;font-size:13px;line-height:1.4}.permission-guide-note{margin:10px 0 0;padding-top:10px;border-top:1px solid #e1e7ec;color:#53687a;font-size:13px}@media(max-width:650px){.permission-guide dl>div{grid-template-columns:1fr;gap:3px}}
.field-label-row{display:flex;align-items:center;gap:6px}.field-label-row>label{margin:0}.permission-help{position:relative;display:inline-flex}.permission-help-button{display:grid;place-items:center;width:18px;height:18px;padding:0;border:0;border-radius:50%;background:#1974a5;color:#fff;font:800 12px/1 Arial,sans-serif;cursor:pointer}.permission-help-button:hover,.permission-help-button:focus{background:#115a82;outline:2px solid rgba(25,116,165,.22);outline-offset:2px}.permission-help-card{display:none;position:absolute;z-index:80;top:calc(100% + 8px);left:-8px;width:min(470px,calc(100vw - 70px));padding:14px 16px;border:1px solid #c8d5df;border-left:4px solid var(--purple);border-radius:9px;background:#fff;color:#20364a;box-shadow:0 10px 28px rgba(16,39,61,.22);font-size:12px;line-height:1.4}.permission-help:hover .permission-help-card,.permission-help:focus-within .permission-help-card{display:grid;gap:8px}.permission-help-card>strong{font-size:14px;color:#142d46}.permission-help-card>small{color:var(--muted);padding-bottom:7px;border-bottom:1px solid #e2e8ed}.permission-help-card>span{display:block}.permission-help-card b{display:block;color:#352060;margin-bottom:1px}@media(max-width:650px){.permission-help-card{position:fixed;top:20%;left:24px;width:calc(100vw - 48px);max-height:65vh;overflow:auto}}
.permission-help.sfst .permission-help-button{background:#147b9c}.permission-help.sfst .permission-help-card{border-left-color:#147b9c}.permission-help.aride .permission-help-button{background:#bd7200}.permission-help.aride .permission-help-card{border-left-color:#bd7200}.permission-help.dre .permission-help-button{background:var(--purple)}
.dre-qualification-checks,.program-qualification-checks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px}.dre-qualification-checks li,.program-qualification-checks li{margin:0}.dre-qualification-checks label,.program-qualification-checks label{display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid #d7dfe7;border-radius:8px;background:#f8fafc;font-weight:700;color:#26384a}.dre-qualification-checks input,.program-qualification-checks input{width:17px;height:17px;accent-color:var(--purple)}.program-qualification-checks.sfst input{accent-color:#147b9c}.program-qualification-checks.aride input{accent-color:#bd7200}
.compliance-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.compliance-filter-grid .wide-field{grid-column:span 2}.compliance-missing-list{margin:0;padding-left:18px;color:#8c4d00}.compliance-missing-list li+li{margin-top:4px}.compliance-table td{vertical-align:top;min-width:120px}.compliance-table td:nth-child(6),.compliance-table td:nth-child(7),.compliance-table td:nth-child(8){min-width:190px}.pagination{display:flex;align-items:center;justify-content:center;gap:14px;margin:18px 0}.compliance-admin-stats{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:1000px){.compliance-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.compliance-admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.compliance-filter-grid{grid-template-columns:1fr}.compliance-filter-grid .wide-field{grid-column:auto}.compliance-admin-stats{grid-template-columns:1fr}}


/* Phase 51: imported legacy DRE records are clearly identified in the portal UI. */
.historical-badge {
  display: inline-flex;
  align-items: center;
  margin-left: .45rem;
  padding: .18rem .5rem;
  border: 1px solid #c9d2dc;
  border-radius: 999px;
  background: #f3f6f8;
  color: #536273;
  font-size: .72rem;
  font-weight: 700;
  line-height: 1.2;
  vertical-align: middle;
  white-space: nowrap;
}


/* Phase 53 — consistent contextual help popovers and permission-aware cards. */
.help-tip {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.15rem;
  height: 1.15rem;
  margin-left: .3rem;
  border-radius: 50%;
  background: #6f42b5;
  color: #fff;
  font-size: .75rem;
  font-weight: 800;
  line-height: 1;
  cursor: help;
  vertical-align: middle;
  outline: none;
}
.help-tip::after {
  content: attr(data-help);
  position: absolute;
  z-index: 1000;
  left: 50%;
  top: calc(100% + .55rem);
  transform: translateX(-50%);
  width: min(360px, 78vw);
  padding: .8rem .9rem;
  border: 1px solid #d9e0e7;
  border-radius: .65rem;
  background: #fff;
  color: #21334a;
  box-shadow: 0 10px 28px rgba(20, 36, 58, .18);
  font-size: .83rem;
  font-weight: 500;
  line-height: 1.35;
  text-align: left;
  white-space: normal;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.help-tip.open::after,
.help-tip:hover::after,
.help-tip:focus::after {
  opacity: 1;
  visibility: visible;
}
.quick-report-card { text-decoration: none; color: inherit; }
.quick-report-card:hover { transform: translateY(-1px); }
.info-note {
  margin: 0 0 1rem;
  padding: .85rem 1rem;
  border: 1px solid #dbe4ed;
  border-radius: .7rem;
  background: #f7f9fb;
  color: #33465c;
}


/* Phase 54 — compact consistent help popovers and user-table polish. */
.help-tip::after {
  left: auto !important;
  right: 0 !important;
  transform: none !important;
  width: 260px !important;
  max-width: min(260px, 72vw) !important;
  padding: .65rem .75rem !important;
  border-radius: .55rem !important;
  font-size: .78rem !important;
  line-height: 1.35 !important;
}
.metric-card .help-tip { margin-left: .4rem; flex: 0 0 auto; }
.program-user-link { font-weight: 800; text-decoration: none; }
.program-user-link.dre { color: #6b3fa0; }
.program-user-link.sfst { color: #14758c; }
.program-user-link.aride { color: #b36c10; }
.program-user-link:hover { text-decoration: underline; }
.program-user-table .row-action-buttons { justify-content: flex-end; }
.program-user-table td { vertical-align: middle; }
.account-detail-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
  border-top:1px solid var(--border);
}
.account-detail-grid>div {
  display:grid;
  grid-template-columns:minmax(150px,.8fr) minmax(0,1.2fr);
  gap:18px;
  padding:13px 0;
  border-bottom:1px solid var(--border);
}
.account-detail-grid small { color:var(--muted); font-weight:700; }
.admin-overview-stats { grid-template-columns:repeat(4,minmax(0,1fr)); }
@media(max-width:1200px){.admin-overview-stats{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:700px){.admin-overview-stats,.account-detail-grid{grid-template-columns:1fr}.account-detail-grid>div{grid-template-columns:1fr;gap:4px}}


/* Phase 55 — consistent icon-forward summary cards across program reports/admin. */
.dashboard-stats .metric-card {
  position: relative;
  display: flex;
  align-items: center;
  gap: 1rem;
  min-height: 132px;
}
.dashboard-stats .metric-icon {
  flex: 0 0 3.35rem;
  width: 3.35rem;
  height: 3.35rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: .85rem;
  font-size: 1.45rem;
  font-weight: 800;
}
.dashboard-stats .metric-icon.purple { background: #efe6fa; color: #6f42b5; }
.dashboard-stats .metric-icon.blue { background: #e5f3f8; color: #16748b; }
.dashboard-stats .metric-icon.green { background: #e2f3ec; color: #2d8b69; }
.dashboard-stats .metric-icon.gold { background: #fff0d3; color: #bb7800; }
.dashboard-stats .metric-copy { min-width: 0; }
.dashboard-stats .metric-copy small { display: block; font-weight: 800; }
.dashboard-stats .metric-copy strong { display: block; margin-top: .18rem; }
.dashboard-stats .metric-copy em {
  display: block;
  margin-top: .22rem;
  color: var(--muted);
  font-style: normal;
  font-size: .8rem;
}
.dashboard-stats .metric-card > .help-tip {
  position: absolute;
  top: .9rem;
  right: .9rem;
  margin: 0;
}


/* Phase 57 — scoped user management, responsive lists, compliance overflow, and unified help. */
.help-tip::after { display:none !important; content:none !important; }
.help-tip { z-index:60; }
.help-tip-card {
  display:none;
  position:absolute;
  z-index:2000;
  top:calc(100% + 8px);
  right:-8px;
  width:min(420px, calc(100vw - 48px));
  max-height:min(60vh, 520px);
  overflow:auto;
  padding:14px 16px;
  border:1px solid #c8d5df;
  border-left:4px solid var(--purple);
  border-radius:9px;
  background:#fff;
  color:#20364a;
  box-shadow:0 10px 28px rgba(16,39,61,.22);
  text-align:left;
  white-space:normal;
  overflow-wrap:anywhere;
}
.help-tip.open > .help-tip-card,
.help-tip:hover > .help-tip-card,
.help-tip:focus > .help-tip-card { display:grid; gap:8px; }
.help-tip-card > strong { font-size:14px; color:#142d46; }
.help-tip-body { color:#53687a; font-size:13px; line-height:1.45; }
@media(max-width:650px){.help-tip-card{position:fixed;top:18%;left:24px;right:auto;width:calc(100vw - 48px);max-height:64vh}}

.responsive-user-table {
  max-height:clamp(390px, 58vh, 720px);
  overflow:auto;
  overscroll-behavior:contain;
}
.responsive-user-table thead th { position:sticky; top:0; z-index:5; background:#eef3f7; }
@media(max-height:760px){.responsive-user-table{max-height:430px}}
@media(min-height:1000px){.responsive-user-table{max-height:700px}}

.compliance-table-wrap { max-width:100%; overflow:auto; overscroll-behavior:contain; }
.compliance-table { min-width:1180px; table-layout:fixed; }
.compliance-table th:nth-child(1), .compliance-table td:nth-child(1){width:130px}
.compliance-table th:nth-child(2), .compliance-table td:nth-child(2){width:160px}
.compliance-table th:nth-child(3), .compliance-table td:nth-child(3){width:160px}
.compliance-table th:nth-child(4), .compliance-table td:nth-child(4){width:90px}
.compliance-table th:nth-child(5), .compliance-table td:nth-child(5){width:190px}
.compliance-table th:nth-child(6), .compliance-table td:nth-child(6){width:160px;min-width:0}
.compliance-table th:nth-child(7), .compliance-table td:nth-child(7){width:190px;min-width:0}
.compliance-table th:nth-child(8), .compliance-table td:nth-child(8){width:150px;min-width:0}
.compliance-table.has-actions th:last-child, .compliance-table.has-actions td:last-child { position:sticky; right:0; z-index:4; background:#fff; width:118px; min-width:118px; box-shadow:-5px 0 8px rgba(24,48,68,.06); }
.compliance-table.has-actions thead th:last-child { z-index:7; background:#eef3f7; }
.compliance-missing-list { overflow-wrap:anywhere; }

.program-user-hero-meta, .program-user-hero-badges { display:flex; gap:8px 14px; flex-wrap:wrap; align-items:center; margin-top:8px; color:var(--muted); }
.program-user-hero-badges > span:not(.qualification-badge) { padding:4px 8px; border:1px solid var(--border); border-radius:999px; background:#fff; font-size:12px; font-weight:700; color:#52697a; }
.program-security-section { margin-top:28px; padding-top:26px; border-top:2px solid var(--border); }
.security-summary-row { display:flex; gap:12px 24px; flex-wrap:wrap; margin:0 0 18px; padding:12px 14px; border:1px solid var(--border); border-radius:9px; background:#f7fafc; color:#41576b; }
.agency-create-field[hidden] { display:none !important; }

/* Phase 59 — Rolling Log Management + global checkbox alignment cleanup. */
.rolling-log-filter-grid {
  display:grid;
  grid-template-columns:minmax(280px,2fr) repeat(3,minmax(150px,1fr));
  gap:14px 16px;
  align-items:end;
}
.rolling-log-filter-grid .rolling-filter-search { grid-column:span 2; }
.rolling-log-filter-actions { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.user-log-filter-grid { grid-template-columns:minmax(280px,2fr) repeat(3,minmax(150px,1fr)); }
.responsive-management-table {
  max-height:clamp(430px,62vh,760px);
  overflow:auto;
  overscroll-behavior:contain;
}
.responsive-management-table thead th {
  position:sticky;
  top:0;
  z-index:5;
  background:#eef3f7;
}
.rolling-management-table-wrap { max-width:100%; overflow:auto; }
.rolling-management-table { min-width:1180px; width:100%; }
.user-rolling-management-table { min-width:960px; }
.rolling-management-table .row-actions {
  position:sticky;
  right:0;
  z-index:3;
  background:#fff;
  box-shadow:-5px 0 8px rgba(24,48,68,.06);
}
.rolling-management-table thead .action-header {
  position:sticky;
  right:0;
  z-index:7;
  background:#eef3f7;
  box-shadow:-5px 0 8px rgba(24,48,68,.06);
}
.rolling-log-link { color:var(--purple); text-decoration:none; }
.rolling-log-link:hover { text-decoration:underline; }
.rolling-log-admin-card { align-items:center; }

/* Standardize checkbox / checkmark alignment across SFST, ARIDE, DRE, and shared admin forms. */
input[type="checkbox"] {
  box-sizing:border-box;
  vertical-align:middle;
}
.field > label:has(input[type="checkbox"]),
.form-field > label:has(input[type="checkbox"]),
.checkbox-grid label,
.checkbox label {
  display:inline-flex;
  align-items:center;
  gap:.55rem;
}
.field > label:has(input[type="checkbox"]) input[type="checkbox"],
.form-field > label:has(input[type="checkbox"]) input[type="checkbox"],
.checkbox-grid input[type="checkbox"],
.checkbox input[type="checkbox"] {
  flex:0 0 18px;
  width:18px;
  height:18px;
  margin:0;
}
.dre-qualification-checks,
.program-qualification-checks,
.program-permission-checks {
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:9px;
}
.dre-qualification-checks > div,
.program-qualification-checks > div,
.program-permission-checks > div,
.dre-qualification-checks > li,
.program-qualification-checks > li,
.program-permission-checks > li {
  margin:0;
  min-width:0;
}
.dre-qualification-checks label,
.program-qualification-checks label,
.program-permission-checks label {
  display:flex;
  align-items:center;
  gap:10px;
  min-height:44px;
  margin:0;
  padding:10px 12px;
  border:1px solid #d7dfe7;
  border-radius:8px;
  background:#f8fafc;
  color:#26384a;
  font-weight:700;
  line-height:1.25;
  cursor:pointer;
}
.dre-qualification-checks input[type="checkbox"],
.program-qualification-checks input[type="checkbox"],
.program-permission-checks input[type="checkbox"] {
  flex:0 0 18px;
  width:18px;
  height:18px;
  margin:0;
  align-self:center;
}
.program-permission-checks.dre input[type="checkbox"],
.dre-qualification-checks input[type="checkbox"] { accent-color:var(--purple); }
.program-permission-checks.sfst input[type="checkbox"],
.program-qualification-checks.sfst input[type="checkbox"] { accent-color:#147b9c; }
.program-permission-checks.aride input[type="checkbox"],
.program-qualification-checks.aride input[type="checkbox"] { accent-color:#bd7200; }

@media(max-width:1100px){
  .rolling-log-filter-grid,.user-log-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .rolling-log-filter-grid .rolling-filter-search{grid-column:1/-1;}
}
@media(max-width:700px){
  .rolling-log-filter-grid,.user-log-filter-grid{grid-template-columns:1fr;}
  .rolling-log-filter-grid .rolling-filter-search{grid-column:auto;}
  .program-permission-checks,.dre-qualification-checks,.program-qualification-checks{grid-template-columns:1fr;}
}


/* Phase 60 — long DRE navigation stays usable and labels remain on one line. */
.sidebar{overflow:hidden}
.side-nav{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:5px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.26) transparent}
.side-nav::-webkit-scrollbar{width:6px}.side-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.24);border-radius:999px}
.side-nav a{white-space:nowrap;flex-shrink:0}
.side-nav a>span:last-child{white-space:nowrap}
.sidebar-footer{flex:0 0 auto;margin-top:12px}
@media(max-width:1280px) and (min-width:821px){.side-nav a{font-size:14.5px;gap:10px;padding-left:10px;padding-right:10px}.nav-icon{width:20px;font-size:19px}}

/* Drug-call accuracy reporting. */
.comparison-table-wrap{overflow-x:auto}
.drug-accuracy-table{min-width:1180px}
.drug-accuracy-table th{text-align:center;white-space:nowrap;line-height:1.25}
.drug-accuracy-table th:first-child,.drug-accuracy-table td:first-child{text-align:left}
.drug-accuracy-table td{text-align:center;vertical-align:middle}
.drug-accuracy-table .comparison-na{text-align:left;display:block;color:var(--muted);line-height:1.4}
.drug-accuracy-table .comparison-na-row{background:#fafbfc}
.comparison-explainer{display:grid;gap:7px;padding:12px 18px 16px;border-top:1px solid var(--border);color:var(--muted);font-size:.82rem;line-height:1.45}
.comparison-explainer p{margin:0}
.compact-page-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.compact-page-actions .btn{white-space:nowrap}


/* Phase 61 — compact, scrollable sidebar navigation across DRE, SFST, and ARIDE. */
.sidebar{overflow:hidden}
.side-nav{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  gap:3px;
  padding-right:5px;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.28) transparent;
}
.side-nav::-webkit-scrollbar{width:6px}
.side-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.26);border-radius:999px}
.side-nav a{
  height:50px;
  min-height:50px;
  gap:12px;
  padding:0 14px;
  white-space:nowrap;
  flex-shrink:0;
  border-radius:10px;
}
.side-nav a>span:last-child{white-space:nowrap}
.nav-icon{width:24px;min-width:24px}
.sidebar-footer{flex:0 0 auto;margin-top:8px}
@media(max-width:1280px) and (min-width:821px){
  .side-nav{gap:2px}
  .side-nav a{height:48px;min-height:48px;font-size:14px;gap:9px;padding-left:10px;padding-right:10px}
  .nav-icon{width:19px;min-width:19px;font-size:18px}
}

/* Phase 61 — simplified DRE call accuracy table. */
.simple-accuracy-table{min-width:920px}
.simple-accuracy-table th,.simple-accuracy-table td{text-align:center;vertical-align:middle}
.simple-accuracy-table th:first-child,.simple-accuracy-table td:first-child{text-align:left}


/* Phase 63 — pack sidebar navigation items at the top on every portal.
   The sidebar nav used CSS Grid while also being allowed to grow, which caused
   a small number of links to stretch vertically across the full sidebar.
   Flex column keeps every tab directly under the previous tab while preserving
   the independent vertical scrollbar. */
.side-nav {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-content: flex-start !important;
  align-items: stretch !important;
  gap: 3px !important;
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
}
.side-nav > a {
  flex: 0 0 50px !important;
  height: 50px !important;
  min-height: 50px !important;
  margin: 0 !important;
}
@media (max-width:1280px) and (min-width:821px) {
  .side-nav { gap: 2px !important; }
  .side-nav > a {
    flex-basis: 48px !important;
    height: 48px !important;
    min-height: 48px !important;
  }
}


/* Phase 64 — permission-aware management divider + polished security controls. */
.nav-section-divider {
  flex: 0 0 auto !important;
  min-height: 28px;
  margin: 7px 10px 3px;
  display: flex;
  align-items: center;
  gap: 9px;
  color: rgba(255,255,255,.62);
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .13em;
  text-transform: uppercase;
  white-space: nowrap;
}
.nav-section-divider::before,
.nav-section-divider::after {
  content: "";
  height: 1px;
  flex: 1 1 auto;
  background: rgba(255,255,255,.18);
}
.nav-section-divider span { flex: 0 0 auto; }

.security-control-stack {
  display: grid;
  gap: 16px;
  margin-top: 16px;
}
.security-password-field { max-width: 760px; }
.security-check-row {
  display: grid;
  grid-template-columns: 20px minmax(0,1fr) auto;
  align-items: start;
  gap: 10px;
  max-width: 880px;
  margin: 0;
  padding: 12px 14px;
  border: 1px solid #d8e1e8;
  border-radius: 9px;
  background: #f8fafc;
  cursor: pointer;
}
.security-check-row > input[type="checkbox"] {
  width: 19px !important;
  height: 19px !important;
  margin: 1px 0 0 !important;
  align-self: start;
}
.security-check-copy {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.security-check-copy strong {
  color: var(--navy);
  font-size: 14px;
  line-height: 1.3;
}
.security-check-copy small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}
.security-check-row .help-tip {
  margin: 0;
  align-self: start;
}
.security-check-warning {
  background: #fffaf3;
  border-color: #ead8b8;
}
@media(max-width:700px){
  .nav-section-divider { margin-left: 8px; margin-right: 8px; }
}


/* Phase 66 — consistent evaluation actions and persistent navigation state. */
.evaluation-action-buttons {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
  flex-wrap: nowrap;
  white-space: nowrap;
}
.evaluation-action-buttons .btn { min-width: auto; }
.side-nav > a.active {
  font-weight: 800;
}


/* Phase 69 — Previous / Next navigation in program User Management. */
.program-user-actions {
  align-items: center;
  flex-wrap: wrap;
}
.user-cycle-nav {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.user-cycle-btn {
  min-width: 96px;
  justify-content: center;
}
.user-cycle-btn.disabled {
  opacity: .42;
  cursor: default;
  pointer-events: none;
  box-shadow: none;
}
@media (max-width: 860px) {
  .program-user-actions,
  .user-cycle-nav {
    width: 100%;
  }
  .user-cycle-nav .user-cycle-btn {
    flex: 1 1 0;
  }
}


/* Phase 71 — separate user browsing controls from primary user actions. */
.program-user-cycle-row {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin: -6px 0 10px;
}
.program-user-cycle-row .user-cycle-nav {
  width: auto;
}
@media (max-width: 860px) {
  .program-user-cycle-row {
    margin-top: 0;
  }
  .program-user-cycle-row .user-cycle-nav {
    width: min(100%, 320px);
  }
}
