: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}
.form-step-nav a.current:not(.completed){background:#f4effa;color:#4f2d79;box-shadow:inset 3px 0 #7445a2}.form-step-nav a.current:not(.completed)>span{border-color:#8d6caf;color:#5e358c;background:#faf7fd}
.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:312px}.app-shell{margin-left:312px}.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}.program-user-delete-warning{padding:16px 18px;border:1px solid #e1c4c4;background:#fff7f7;border-radius:9px;line-height:1.55}.program-user-delete-warning ul{margin:10px 0;padding-left:22px}.program-user-delete-warning li+li{margin-top:5px}.program-user-delete-warning p:last-child{margin-bottom:0}.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}
.sfst-list-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:18px 26px;margin:0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:#f8fbfc;align-items:end}.sfst-list-filter-grid .field{display:grid;gap:6px;min-width:0}.sfst-list-filter-grid label{font-size:12px;font-weight:800;color:#526b7e}.sfst-list-filter-grid .form-control{width:100%;margin:0}.sfst-list-filter-grid .sfst-filter-search{grid-column:span 2}.sfst-list-filter-actions{align-self:end;flex-wrap:nowrap}.list-result-count{margin:14px 26px 0;color:var(--muted);font-size:13px;font-weight:700}.list-pagination{padding:16px 26px 22px}.compact-list-filter{margin-top:0}.compact-list-filter .sfst-filter-search{grid-column:span 2}
@media(max-width:1100px){.sfst-list-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.sfst-list-filter-grid{grid-template-columns:1fr;padding:16px}.sfst-list-filter-grid .sfst-filter-search,.compact-list-filter .sfst-filter-search{grid-column:auto}.sfst-list-filter-actions{flex-wrap:wrap}.list-result-count{margin-left:16px;margin-right:16px}.list-pagination{padding-left:16px;padding-right:16px}}
.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:1245px;table-layout:fixed}.user-control-table th,.user-control-table td{overflow-wrap:normal}.user-control-table th:nth-child(1){width:45px}.user-control-table th:nth-child(2){width:150px}.user-control-table th:nth-child(3){width:120px}.user-control-table th:nth-child(4){width:190px}.user-control-table th:nth-child(5){width:180px}.user-control-table th:nth-child(6){width:310px}.user-control-table th:nth-child(7){width:100px}.user-control-table th:nth-child(8){width:150px}.user-control-table .permissions-column{text-align:left;vertical-align:top}.permission-chip-list{display:flex;align-items:flex-start;align-content:flex-start;flex-wrap:wrap;gap:6px;min-width:0}.permission-chip{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:6px 9px;border:1px solid #cbd8e3;border-radius:999px;background:#edf3f7;color:#314861;font-size:11px;font-weight:800;line-height:1.2;white-space:nowrap}.permission-chip.sfst{border-color:#acd6df;background:#e7f5f7;color:#0d6678}.permission-chip.aride{border-color:#efd39d;background:#fff3dc;color:#865308}.permission-chip.dre{border-color:#d3bee8;background:#f2eafa;color:#5b3387}.permission-chip.global{border-color:#b8c9d8;background:#e7eef5;color:#203e59}.permission-chip.view{background:#fff}@media(max-width:900px){.user-control-table{min-width:1245px}}
.account-setup-email-action{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:22px;padding:18px 20px;border:1px solid var(--border);border-left:4px solid var(--program-accent,#7650aa);border-radius:12px;background:#f8fafc}.account-setup-email-action p{margin:4px 0 8px;max-width:760px}.account-setup-email-action form{flex:0 0 auto}.account-setup-email-action .btn{white-space:nowrap}@media(max-width:700px){.account-setup-email-action{align-items:stretch;flex-direction:column;gap:14px}.account-setup-email-action .btn{width:100%;justify-content:center}}
.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);
  }
}

/* Phase 73: DRE permission redesign and class-session quick tools. */
.multi-select-dropdown {
  border: 1px solid #ccd7e3;
  border-radius: 10px;
  background: #fff;
}
.multi-select-dropdown > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 44px;
  padding: 10px 12px;
  cursor: pointer;
  list-style: none;
  font-weight: 600;
}
.multi-select-dropdown > summary::-webkit-details-marker { display: none; }
.multi-select-menu {
  border-top: 1px solid #e3e9ef;
  padding: 10px 12px 12px;
  max-height: 280px;
  overflow-y: auto;
}
.multi-select-menu .additional-instructor-checks {
  display: grid;
  gap: 6px;
  margin-bottom: 10px;
}
.multi-select-menu .additional-instructor-checks > div label {
  display: flex;
  gap: 9px;
  align-items: center;
  padding: 7px 8px;
  border-radius: 7px;
}
.multi-select-menu .additional-instructor-checks > div label:hover { background: #f5f7fa; }
.multi-select-menu input[type="checkbox"] { width: 18px; height: 18px; }

.class-tools-action-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}
.class-tools-left,
.class-tools-right,
.class-status-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}
.class-status-actions {
  border-top: 1px solid #e5eaf0;
  margin-top: 14px;
  padding-top: 14px;
  justify-content: flex-end;
}
.class-status-actions form,
.class-tools-right form { margin: 0; }
.class-status-label {
  margin-right: 4px;
  font-size: .82rem;
  font-weight: 800;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.active-status { box-shadow: inset 0 0 0 2px rgba(255,255,255,.35); }
.class-summary-stats .class-status-card .metric-copy { min-width: 0; }
.class-summary-stats .class-status-card .metric-copy strong {
  display: block;
  font-size: clamp(1.45rem, 2.2vw, 2.15rem);
  line-height: 1.05;
  overflow-wrap: anywhere;
  word-break: normal;
}
.class-summary-stats .class-status-card { min-width: 0; }

.dre-program-access-panel,
.program-access-panel {
  border: 1px solid #dce3ec;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
}
.dre-program-access-row,
.program-access-row {
  display: grid;
  grid-template-columns: minmax(210px, 1fr) minmax(170px, 220px);
  gap: 16px;
  align-items: center;
  padding: 12px 14px;
  border-top: 1px solid #e8edf3;
}
.dre-program-access-row:first-child,
.program-access-row:first-child { border-top: 0; }
.dre-program-access-copy strong,
.program-access-copy strong { display: block; }
.dre-program-access-copy small,
.program-access-copy small { display: block; margin-top: 3px; color: #718096; }
.dre-access-select,.program-access-select { width: 100%; }
.program-edit-section{display:grid;gap:17px;padding:8px 0 28px}
.program-edit-section+.program-edit-section{padding-top:28px;border-top:2px solid #d9dfe6}
.manual-completion-field{margin:0}
.manual-completion-control{display:inline-flex!important;align-items:center;gap:10px;width:max-content;max-width:100%;margin:0!important;padding:11px 14px;border:1px solid #d7dfe7;border-radius:9px;background:#f8fafc;color:#26364d;font-weight:800;cursor:pointer}
.manual-completion-control input[type="checkbox"]{flex:0 0 18px;width:18px;height:18px;margin:0;accent-color:var(--purple)}
.existing-account-confirmation{display:grid;gap:16px;margin-bottom:24px;padding:20px;border:1px solid #c7d8e6;border-left:5px solid var(--blue);border-radius:12px;background:#f7fbfe}
.existing-account-confirmation>p{margin:0;color:#526477;line-height:1.5}
.existing-account-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.existing-account-heading .eyebrow{margin:0 0 5px}
.existing-account-heading h3{margin:0;font:700 23px Georgia,serif;color:#173650}
.existing-account-heading p{margin:5px 0 0;color:var(--muted)}
.existing-membership-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.existing-membership-row{display:grid;gap:7px;align-content:start;padding:13px;border:1px solid #d7e1e9;border-radius:9px;background:#fff}
.existing-membership-row.requested{border-color:#77aeca;box-shadow:inset 0 0 0 1px #77aeca}
.existing-membership-row small{color:#176385;font-weight:800}
.existing-account-action{display:flex;align-items:center;gap:12px;padding:13px 15px;border-radius:9px;background:#e8f4fa;color:#25475d}
.existing-account-action strong{white-space:nowrap;color:#176385}
.access-level-badge{display:inline-flex;min-width:92px;justify-content:center;padding:7px 11px;border:1px solid #d4dde7;border-radius:999px;background:#f5f7fa;color:#5d6b7a;font-size:12px;font-weight:800}
.access-level-badge.view{border-color:#b9d7e8;background:#edf7fc;color:#176385}
.access-level-badge.manage{border-color:#cdbbe3;background:#f4eefb;color:#563087}
.read-only-access-panel .program-access-row{grid-template-columns:minmax(210px,1fr) auto}

@media (max-width: 760px) {
  .class-tools-action-row,
  .class-status-actions { justify-content: flex-start; }
  .class-tools-left,
  .class-tools-right { width: 100%; }
  .dre-program-access-row,.program-access-row { grid-template-columns: 1fr; gap: 7px; }
  .existing-membership-grid{grid-template-columns:1fr}
  .existing-account-heading,.existing-account-action{align-items:flex-start;flex-direction:column}
}

/* Phase 73: Class Session quick actions and long status labels */
.class-tools-action-row{
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:18px
}
.class-tools-left,.class-tools-right{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.class-tools-right{justify-content:flex-end;margin-left:auto}
.class-tools-right form{margin:0}
.class-tools-right .class-status-label{
  margin-left:8px;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)
}
.class-summary-stats .class-status-card,.class-summary-stats .class-status-card .metric-copy{min-width:0}
.class-summary-stats .class-status-card .metric-copy strong{
  display:block;max-width:100%;font-size:clamp(21px,2.2vw,36px);line-height:1.02;
  overflow-wrap:break-word;word-break:normal
}
@media(max-width:900px){
  .class-tools-action-row{align-items:flex-start}
  .class-tools-right{margin-left:0;justify-content:flex-start}
}

/* State Reporting: scoped, server-rendered reporting workspace. */
.state-report-heading{align-items:flex-start}
.state-report-heading>div:first-child{max-width:950px}
.state-report-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap;margin-left:auto}
.state-report-scope-note{max-width:920px;margin:12px 0 0;padding:10px 13px;border-left:4px solid #7a57a5;border-radius:0 7px 7px 0;background:#f3eef9;color:#526477;font-size:.82rem;line-height:1.45}
.state-report-export-menu{position:relative}
.state-report-export-menu>summary{list-style:none;white-space:nowrap}
.state-report-export-menu>summary::-webkit-details-marker{display:none}
.state-report-export-popover{position:absolute;z-index:40;top:calc(100% + 8px);right:0;width:285px;padding:8px;border:1px solid #cbd6df;border-radius:11px;background:#fff;box-shadow:0 14px 34px rgba(17,40,59,.2)}
.state-report-export-popover>strong{display:block;padding:8px 10px;color:#6b7d8e;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}
.state-report-export-popover>a{display:block;padding:10px;border-radius:7px;color:#183850;font-size:.84rem;font-weight:750}
.state-report-export-popover>a:hover,.state-report-export-popover>a:focus{background:#edf4f8;color:#145f89}

.state-report-filters{padding:0;overflow:visible}
.state-report-filter-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:23px 25px 18px;border-bottom:1px solid var(--border)}
.state-report-filter-heading .eyebrow{margin-bottom:8px}
.state-report-filter-heading h2{margin:0 0 6px;font:700 23px Georgia,serif}
.state-report-filter-heading p{margin:0;color:var(--muted);font-size:.82rem}
.state-production-badge{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;padding:7px 11px;border:1px solid #b9d8ca;border-radius:999px;background:#eaf6f0;color:#25674f;font-size:.72rem;font-weight:850}
.state-production-badge::before{content:"✓";font-weight:900}
.state-filter-errors{display:flex;flex-wrap:wrap;gap:7px 14px;margin:18px 25px 0;padding:12px 14px;border:1px solid #e4b6b6;border-radius:8px;background:#fbecec;color:#8c3030;font-size:.82rem}
.state-report-primary-filters,.state-report-secondary-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:22px 25px}
.state-report-primary-filters .field,.state-report-secondary-filters .field{min-width:0}
.state-report-primary-filters label,.state-report-secondary-filters label{font-size:.82rem}
.state-report-primary-filters .form-control,.state-report-secondary-filters .form-control{min-height:43px}
.state-filter-emphasis{padding:11px;border:1px solid #d6c8e5;border-radius:9px;background:#faf7fd}
.state-filter-emphasis label{color:#54327d}
.state-filter-emphasis small{display:block;margin-top:6px;color:#6f7f8e;font-size:.68rem;line-height:1.4}
.state-report-more-filters{margin:0 25px;border:1px solid #d6e0e7;border-radius:9px;background:#f9fbfc}
.state-report-more-filters>summary{padding:13px 15px;color:#254860;font-size:.82rem;font-weight:850;cursor:pointer;user-select:none}
.state-report-more-filters[open]>summary{border-bottom:1px solid #dce5eb;background:#f1f6f8}
.state-report-secondary-filters{grid-template-columns:repeat(4,minmax(0,1fr));padding:18px}
.state-report-filter-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:19px 25px 23px}

.state-report-section-nav{position:sticky;z-index:8;top:102px;display:flex;align-items:center;gap:7px;margin:0 0 27px;padding:9px;border:1px solid #d2dde5;border-radius:11px;background:rgba(255,255,255,.96);box-shadow:0 4px 15px rgba(22,47,66,.08);overflow-x:auto;scrollbar-width:thin}
.state-report-section-nav a{flex:0 0 auto;padding:8px 11px;border-radius:7px;color:#405d73;font-size:.76rem;font-weight:850;white-space:nowrap}
.state-report-section-nav a:hover,.state-report-section-nav a:focus{background:#ede5f6;color:#5c3686}
.state-report-section{scroll-margin-top:165px;margin-bottom:26px}
.state-report-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:15px}
.state-report-section-heading .eyebrow{margin-bottom:8px}
.state-report-section-heading h2{margin:0 0 5px;font:700 25px Georgia,serif}
.state-report-section-heading p{margin:0;color:var(--muted);font-size:.82rem}
.state-report-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.state-report-kpi{display:flex;align-items:flex-start;gap:13px;min-width:0;min-height:116px;padding:18px;border:1px solid var(--border);border-radius:12px;background:#fff;box-shadow:var(--shadow)}
.state-kpi-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:10px;font-size:1.1rem;font-weight:900}
.state-report-kpi>div{min-width:0}
.state-report-kpi small,.state-report-kpi strong,.state-report-kpi em{display:block}
.state-report-kpi small{margin:2px 0 5px;color:#667a8b;font-size:.74rem;font-weight:850}
.state-report-kpi strong{color:#102c47;font:700 30px/1 Georgia,serif}
.state-report-kpi em{margin-top:7px;color:#7a8996;font-size:.68rem;font-style:normal;line-height:1.35}

.state-report-card{overflow:hidden}
.state-report-card>.card-heading{min-height:0;padding:22px 24px 18px}
.state-report-card>.card-heading .eyebrow{margin-bottom:7px}
.state-report-card>.card-heading h2{font-size:23px}
.state-report-card>.card-heading p{max-width:880px;line-height:1.45}
.state-report-card>.card-heading>.btn{flex:0 0 auto;white-space:nowrap}
.state-report-table-wrap{max-width:100%;overflow:auto;overscroll-behavior:contain}
.state-report-table{font-variant-numeric:tabular-nums}
.state-report-table th{padding:11px 12px;background:#f0f4f7;color:#587083;font-size:.64rem;line-height:1.3;white-space:normal}
.state-report-table td{padding:12px;font-size:.78rem;line-height:1.35;vertical-align:middle}
.state-report-table td small{display:block;margin-top:3px;color:var(--muted);font-size:.68rem;line-height:1.35}
.state-report-table tbody tr:hover{background:#fbfcfd}
.state-troop-table{min-width:760px}
.state-troop-table th:not(:first-child),.state-troop-table td:not(:first-child),.state-location-troop-table th:not(:first-child),.state-location-troop-table td:not(:first-child),.state-support-table th:not(:first-child),.state-support-table td:not(:first-child){text-align:center}
.state-troop-table th:first-child,.state-troop-table td:first-child{position:sticky;left:0;z-index:2;width:170px;background:#fff;box-shadow:5px 0 8px rgba(24,48,68,.04)}
.state-troop-table thead th:first-child{z-index:4;background:#f0f4f7}
.state-troop-subheading{padding:17px 22px 12px;border-bottom:1px solid var(--border);background:#fbfcfd}.state-troop-subheading h3{margin:0 0 4px;font:700 18px Georgia,serif}.state-troop-subheading p{margin:0;color:var(--muted);font-size:.72rem}.state-troop-location-heading{border-top:1px solid var(--border)}
.state-location-troop-table{min-width:860px}
.state-location-troop-table th:first-child,.state-location-troop-table td:first-child{width:190px}
.state-dre-table{min-width:650px}
.state-dre-table th:first-child{width:170px}.state-dre-table th:nth-child(2){width:185px}
.state-dre-table th:nth-child(n+3),.state-dre-table td:nth-child(n+3){text-align:center}
.state-drug-table{min-width:900px}
.state-drug-table th:nth-child(n+2):not(:last-child),.state-drug-table td:nth-child(n+2):not(:last-child){text-align:center}
.state-drug-table .report-outcome-breakdown{min-width:190px}
.report-outcome-link{color:var(--muted);font-weight:750;text-decoration:underline;text-decoration-color:#b5c0c9;text-underline-offset:2px}
.report-outcome-link:hover,.report-outcome-link:focus{color:var(--blue);text-decoration-color:currentColor}
.report-drilldown-notice{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap;padding:12px 18px;border-top:1px solid #d9e2e8;border-bottom:1px solid #d9e2e8;background:#f3f8fb;color:#4e687b;font-size:.76rem}
.report-drilldown-notice strong{color:#173d58}.report-drilldown-notice a{margin-left:auto;font-weight:800}
.state-report-table td .report-record-reason{margin-top:6px;padding-left:8px;border-left:3px solid #d5b95d;color:#5c6f7d;font-weight:650}
.state-report-definition{padding:13px 18px;border-top:1px solid var(--border);background:#f8fafb;color:#5d7081;font-size:.77rem;line-height:1.5}
.state-report-alignment-badge{display:inline-flex;align-items:center;white-space:nowrap;padding:7px 10px;border:1px solid #d9c994;border-radius:999px;background:#fff8df;color:#72530f;font-size:.7rem;font-weight:850}
.state-annual-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:0 22px 20px}
.state-annual-table-block{min-width:0;overflow:hidden;border:1px solid var(--border);border-radius:10px;background:#fff}
.state-annual-table-block>h3{margin:0;padding:16px 16px 4px;font:700 18px Georgia,serif}
.state-annual-table-block>p{margin:0;padding:0 16px 13px;color:var(--muted);font-size:.72rem;line-height:1.4}
.state-annual-table-block table{margin:0}
.state-annual-table-block th:last-child,.state-annual-table-block td:last-child{width:145px;text-align:center}
.state-annual-outcomes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 22px 20px}
.state-annual-outcomes>div{min-width:0;padding:13px 14px;border:1px solid #dfe7ec;border-radius:9px;background:#f9fbfc}
.state-annual-outcomes small,.state-annual-outcomes strong{display:block}
.state-annual-outcomes small{color:#667a89;font-size:.68rem;font-weight:850;line-height:1.35;text-transform:uppercase;letter-spacing:.04em}
.state-annual-outcomes strong{margin-top:6px;color:#15374f;font:700 23px Georgia,serif}
.state-annual-outcomes .state-not-captured{border-style:dashed;background:#fffaf0}.state-annual-outcomes .state-not-captured strong{font:800 14px sans-serif;color:#745718}
.state-summary-drilldown-card{transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.state-summary-drilldown-card>a{display:block;color:inherit;text-decoration:none}
.state-support-summary>.state-summary-drilldown-card:has(>a),.state-annual-outcomes>.state-summary-drilldown-card:has(>a){padding:0}
.state-support-summary>.state-summary-drilldown-card>a{height:100%;padding:14px}
.state-annual-outcomes>.state-summary-drilldown-card>a{height:100%;padding:13px 14px}
.state-summary-drilldown-card>a:focus-visible{outline:3px solid rgba(111,63,164,.26);outline-offset:4px;border-radius:5px}
.state-summary-drilldown-card:has(>a):hover{border-color:#bba5d4;box-shadow:0 7px 16px rgba(63,39,93,.1);transform:translateY(-1px)}
.state-summary-drilldown-card em{display:block;margin-top:7px;color:#684093;font-size:.69rem;font-style:normal;font-weight:850;line-height:1.35}
.state-annual-table-block td a{font-weight:750;text-decoration:none}
.state-annual-table-block td a:hover{text-decoration:underline}
.state-summary-drilldown{border-top:1px solid var(--border);background:#fbfcfd}
.state-summary-drilldown-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 24px 18px;border-bottom:1px solid var(--border);background:#fff}
.state-summary-drilldown-heading h3{margin:0 0 5px;font:700 22px Georgia,serif;color:#102f49}
.state-summary-drilldown-heading p:not(.eyebrow){margin:0;color:var(--muted);font-size:.78rem;line-height:1.45}
.state-summary-drilldown-heading>.btn{flex:0 0 auto;white-space:nowrap}
.state-summary-roster-table{min-width:1040px}
.state-summary-agency-table{min-width:680px}
.state-summary-evaluation-table{min-width:1320px}
.state-summary-evaluation-table th:nth-child(4),.state-summary-evaluation-table td:nth-child(4){min-width:150px}
.state-summary-evaluation-table th:last-child,.state-summary-evaluation-table td:last-child{position:sticky;right:0;z-index:3;background:#fff;box-shadow:-6px 0 10px rgba(24,48,68,.07)}
.state-summary-evaluation-table thead th:last-child{z-index:5;background:#f0f4f7}

.state-iacp-rule{display:grid;grid-template-columns:170px minmax(0,1fr);gap:14px;margin:18px 22px 0;padding:14px 16px;border:1px solid #c7d8e6;border-left:5px solid #176b98;border-radius:9px;background:#f3f8fb;color:#36556b;font-size:.8rem;line-height:1.5}
.state-iacp-rule strong{color:#183c56}
.state-support-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:18px 22px}
.state-support-summary>div{padding:14px;border:1px solid #dde5eb;border-radius:9px;background:#fbfcfd}
.state-support-summary small,.state-support-summary strong{display:block}
.state-support-summary small{color:#6b7d8c;font-size:.69rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}
.state-support-summary strong{margin-top:6px;color:#143650;font:700 25px Georgia,serif}
.state-support-table{min-width:940px}
.simple-support-table{min-width:820px}
.simple-support-table th,.simple-support-table td{text-align:center;vertical-align:middle}
.simple-support-table th:first-child,.simple-support-table td:first-child{text-align:left}
.state-exclusion-list{display:flex;justify-content:center;gap:4px;flex-wrap:wrap}
.state-exclusion-list small{display:inline-flex!important;margin:0!important;padding:3px 6px;border-radius:999px;background:#f1f4f6;color:#667785!important;white-space:nowrap}
.state-support-explainer{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));padding:14px 18px}
.state-report-subtable-title{margin:22px 25px 10px;color:#0b2b49;font-size:1.05rem}
.state-alcohol-rule{margin-top:18px}
.state-support-explainer p{padding-right:14px;border-right:1px solid #dde4e9}
.state-support-explainer p:last-child{padding-right:0;border-right:0}
.state-comparison-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:18px 22px}
.state-comparison-summary>div{min-width:0;padding:15px;border:1px solid #dce5eb;border-radius:10px;background:#fbfcfd}
.state-comparison-summary small,.state-comparison-summary strong,.state-comparison-summary em{display:block}
.state-comparison-summary small{color:#667b8c;font-size:.69rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase}
.state-comparison-summary strong{margin-top:7px;color:#143650;font:700 25px Georgia,serif}
.state-comparison-summary em{margin-top:7px;color:#728493;font-size:.69rem;font-style:normal;line-height:1.4}
.state-comparison-note{margin:0 22px 18px;padding:11px 13px;border-radius:8px;background:#fff8e8;color:#6b531c;font-size:.76rem;line-height:1.45}
.state-alcohol-summary{display:grid;grid-template-columns:minmax(190px,280px) minmax(0,1fr);align-items:center;gap:20px;margin:0 22px 18px;padding:15px 17px;border:1px solid #d4e1e9;border-radius:10px;background:#f5f9fb}
.state-alcohol-summary small,.state-alcohol-summary strong,.state-alcohol-summary em{display:block}.state-alcohol-summary small{color:#61798a;font-size:.68rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.state-alcohol-summary strong{margin-top:5px;color:#163c56;font-size:1rem}.state-alcohol-summary em{margin-top:4px;color:#718392;font-size:.7rem;font-style:normal}.state-alcohol-summary p{margin:0;color:#526b7d;font-size:.76rem;line-height:1.45}
.state-support-table-simple{min-width:620px}
.state-calculation-details{margin:18px 22px;border:1px solid #d9e2e8;border-radius:9px;background:#fafcfd}
.state-calculation-details>summary{padding:13px 15px;color:#294d66;font-size:.78rem;font-weight:850;cursor:pointer}
.state-calculation-details>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px;padding:0 15px 15px;color:#617687;font-size:.74rem;line-height:1.45}
.state-calculation-details p{margin:0}

.state-quality-table{min-width:680px}
.state-quality-table th:nth-child(2),.state-quality-table td:nth-child(2){width:95px;text-align:center}
.state-quality-table th:last-child,.state-quality-table td:last-child{width:145px;text-align:right}
.state-quality-count{display:inline-grid;place-items:center;min-width:34px;height:28px;padding:0 8px;border-radius:999px;background:#fff0d8;color:#835a0b;font-weight:900}
.state-quality-table .quality-good .state-quality-count{background:#e4f3ec;color:#276c51}
.state-quality-table .quality-critical{background:#fffafa}
.state-quality-table .quality-critical .state-quality-count{background:#f7e4e4;color:#9b3535}

/* Keep the statewide personnel list compact while retaining every matching DRE. */
.state-dre-table-wrap{max-height:910px;overflow-y:auto;overscroll-behavior:contain}
.state-dre-table-wrap .state-dre-table thead th{position:sticky;top:0;z-index:4}
.state-dre-table-wrap .state-dre-table tbody tr{height:72px}

.state-record-table-wrap{max-height:620px;border-radius:0}
.state-record-table{min-width:1620px}
.state-record-table thead th{position:sticky;top:0;z-index:4}
.state-record-table th:first-child,.state-record-table td:first-child{width:125px}
.state-record-table th:nth-child(2),.state-record-table td:nth-child(2){width:105px}
.state-record-table th:nth-child(3),.state-record-table td:nth-child(3){width:155px}
.state-record-table th:nth-child(4),.state-record-table td:nth-child(4){width:165px}
.state-record-table th:nth-child(5),.state-record-table td:nth-child(5),.state-record-table th:nth-child(6),.state-record-table td:nth-child(6){width:185px}
.state-record-table th:nth-child(7),.state-record-table td:nth-child(7){width:150px}
.state-record-table th:nth-child(8),.state-record-table td:nth-child(8){width:155px}
.state-record-table th:nth-child(9),.state-record-table td:nth-child(9){width:170px}
.state-record-table th:nth-child(10),.state-record-table td:nth-child(10){width:150px}
.state-record-table th:nth-child(11),.state-record-table td:nth-child(11){width:130px}
.state-record-table th:last-child,.state-record-table td:last-child{position:sticky;right:0;z-index:3;width:210px;background:#fff;box-shadow:-6px 0 10px rgba(24,48,68,.07)}
.state-record-table thead th:last-child{z-index:6;background:#f0f4f7}
.state-record-table .evaluation-action-buttons{flex-wrap:nowrap}
.state-report-card .pagination-bar{padding:14px 18px}

/* My Reports: concise personal reporting without statewide comparison detail. */
.personal-report-card{margin-bottom:24px}
.personal-report-summary{grid-template-columns:repeat(5,minmax(0,1fr))}
.personal-report-filters .state-report-primary-filters small{display:block;margin-top:6px;color:#6f7f8e;font-size:.68rem;line-height:1.4}
.personal-drug-table{min-width:650px}
.personal-drug-table th:not(:first-child),.personal-drug-table td:not(:first-child){text-align:center}
.personal-record-table-wrap{max-height:620px}
.personal-record-table{min-width:1180px}
.personal-record-table thead th{position:sticky;top:0;z-index:4}
.personal-record-table th:last-child,.personal-record-table td:last-child{position:sticky;right:0;z-index:3;width:210px;background:#fff;box-shadow:-6px 0 10px rgba(24,48,68,.07)}
.personal-record-table thead th:last-child{z-index:6;background:#f0f4f7}
.personal-record-table .evaluation-action-buttons{flex-wrap:nowrap}
.personal-report-location strong,.personal-report-location small,.personal-report-date strong,.personal-report-date small{display:block}
.personal-report-location small,.personal-report-date small{margin-top:4px;color:var(--muted)}

@media(max-width:1320px){
  .state-report-primary-filters,.state-report-secondary-filters{grid-template-columns:repeat(3,minmax(0,1fr))}
  .state-report-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .personal-report-summary{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:940px){
  .state-report-heading{align-items:flex-start}
  .state-report-heading-actions{width:100%;justify-content:flex-start;margin-left:0}
  .state-report-primary-filters,.state-report-secondary-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
  .state-report-section-nav{top:88px}
  .state-support-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .personal-report-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .state-comparison-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .state-annual-grid{grid-template-columns:1fr}
  .state-annual-outcomes{grid-template-columns:repeat(2,minmax(0,1fr))}
  .state-support-explainer{grid-template-columns:1fr}
  .state-support-explainer p{padding-right:0;padding-bottom:8px;border-right:0;border-bottom:1px solid #dde4e9}
  .state-support-explainer p:last-child{padding-bottom:0;border-bottom:0}
  .state-summary-drilldown-heading{align-items:flex-start;flex-direction:column}
}
@media(max-width:620px){
  .state-report-heading-actions{display:grid;grid-template-columns:1fr;width:100%}
  .state-report-heading-actions>.btn,.state-report-export-menu,.state-report-export-menu>summary{width:100%}
  .state-report-export-popover{right:auto;left:0;width:min(285px,calc(100vw - 40px))}
  .state-report-filter-heading{align-items:flex-start;flex-direction:column}
  .state-report-primary-filters,.state-report-secondary-filters,.state-report-kpis,.state-support-summary{grid-template-columns:1fr}
  .personal-report-summary{grid-template-columns:1fr}
  .state-comparison-summary,.state-calculation-details>div{grid-template-columns:1fr}
  .state-alcohol-summary{grid-template-columns:1fr}
  .state-annual-grid,.state-annual-outcomes{grid-template-columns:1fr;padding-left:14px;padding-right:14px}
  .state-report-primary-filters{padding:18px}
  .state-report-more-filters{margin:0 18px}
  .state-report-filter-actions{align-items:stretch;flex-direction:column;padding-left:18px;padding-right:18px}
  .state-report-filter-actions .btn{width:100%}
  .report-drilldown-notice a{width:100%;margin-left:0}
  .state-report-section-nav{top:80px;margin-left:-8px;margin-right:-8px;border-radius:8px}
  .state-report-section{scroll-margin-top:145px}
  .state-report-card>.card-heading{align-items:flex-start;flex-direction:column}
  .state-iacp-rule{grid-template-columns:1fr;margin-left:14px;margin-right:14px}
  .state-support-summary{padding:14px}
  .state-summary-drilldown-heading{padding:18px 14px}
  .state-summary-drilldown-heading>.btn{width:100%}
}

/* Phase 78 — responsive portal-wide layout audit. */
img,svg,video,canvas{max-width:100%}
input,select,textarea,button{max-width:100%;min-width:0}
.app-shell,.main-content,.portal-hub-main,main,form{min-width:0}
.panel,.data-card{width:auto;max-width:100%}
.panel,.data-card,.metric-card,.program-card,.form-field,.field,
.page-heading>*,.panel-heading>*,.card-heading>*,.actions>*,
.dashboard-stats>*,.dashboard-grid>*,.detail-grid>*,.form-grid>*,
.data-form-grid>*,.report-filter-grid>*,.state-report-primary-filters>*,
.state-report-secondary-filters>*{min-width:0}
.actions{flex-wrap:wrap}
.table-wrap{width:100%;max-width:100%;overscroll-behavior:contain}
th,td{overflow-wrap:anywhere;word-break:normal}
.qualification-badge,.permission-badge,.permission-chip,.status-pill{max-width:100%;white-space:normal;text-align:left}
.btn{max-width:100%;text-align:center}

/* Sitewide Users fits its panel on laptop/desktop instead of forcing sideways scroll. */
.user-center-bulk-actions{margin:0 0 14px;align-items:center;gap:10px}
.user-center-bulk-actions .muted{flex:1 1 360px}
.user-center-table-wrap{overflow-x:hidden;overflow-y:auto}
.user-control-table{width:100%;min-width:0;table-layout:fixed}
.user-control-table th,.user-control-table td{padding:12px 9px;vertical-align:top;overflow-wrap:anywhere}
.user-control-table th:nth-child(1),.user-control-table td:nth-child(1){width:4%}
.user-control-table th:nth-child(2),.user-control-table td:nth-child(2){width:14%}
.user-control-table th:nth-child(3),.user-control-table td:nth-child(3){width:11%}
.user-control-table th:nth-child(4),.user-control-table td:nth-child(4){width:16%}
.user-control-table th:nth-child(5),.user-control-table td:nth-child(5){width:16%}
.user-control-table th:nth-child(6),.user-control-table td:nth-child(6){width:22%}
.user-control-table th:nth-child(7),.user-control-table td:nth-child(7){width:10%}
.user-control-table th:nth-child(8),.user-control-table td:nth-child(8){width:7%}
.admin-user-table.user-control-table .action-header,
.admin-user-table.user-control-table .row-actions{width:auto;min-width:0;padding-left:7px;padding-right:7px}
.user-control-table .row-action-buttons{align-items:stretch;flex-direction:column;gap:5px}
.user-control-table .row-action-buttons .btn{width:100%;padding-left:7px;padding-right:7px}
.user-control-table .permission-chip-list,.user-control-table .badge-list{min-width:0}
.user-control-table .permission-chip{width:auto;max-width:100%;overflow-wrap:anywhere}

/* At tablet widths the long Sitewide Users row becomes a clear two-column card. */
@media(max-width:1050px){
  .user-center-table-wrap{max-height:min(72vh,720px);padding:5px;background:#f4f7f9;border-radius:10px}
  .user-control-table,.user-control-table tbody{display:block;width:100%}
  .user-control-table thead{display:none}
  .user-control-table tbody{display:grid;gap:12px}
  .user-control-table tr[data-search-row]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;padding:8px 12px;border:1px solid #dbe3e9;border-radius:11px;background:#fff;box-shadow:0 2px 5px rgba(24,45,63,.05)}
  .user-control-table tr[hidden]{display:none!important}
  .user-control-table td{position:relative;display:block;width:auto!important;min-width:0!important;min-height:43px;padding:11px 10px 11px 126px;border-bottom:1px solid #e7ecef;text-align:left}
  .user-control-table td::before{content:attr(data-label);position:absolute;top:11px;left:10px;width:105px;color:#647889;font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
  .user-control-table td[colspan]{grid-column:1/-1;padding-left:10px}
  .user-control-table td[colspan]::before{display:none}
  .user-control-table td:nth-child(5),.user-control-table td:nth-child(6),.user-control-table td:nth-child(8){grid-column:1/-1}
  .user-control-table td:last-child{border-bottom:0}
  .user-control-table .row-action-buttons{align-items:center;justify-content:flex-start;flex-direction:row;flex-wrap:wrap}
  .user-control-table .row-action-buttons .btn{width:auto;min-width:72px}
}

/* Simple management tables become labeled cards on phones instead of tiny columns. */
@media(max-width:820px){
  .responsive-card-table-wrap{overflow-x:hidden;padding:4px;background:#f4f7f9;border-radius:10px}
  .responsive-card-table,.responsive-card-table tbody{display:block;width:100%;min-width:0!important}
  .responsive-card-table thead{display:none}
  .responsive-card-table tbody{display:grid;gap:11px}
  .responsive-card-table tbody tr{display:block;padding:7px 11px;border:1px solid #dbe3e9;border-radius:10px;background:#fff;box-shadow:0 2px 5px rgba(24,45,63,.05)}
  .responsive-card-table tbody tr[hidden]{display:none!important}
  .responsive-card-table td{position:relative;display:block;width:auto!important;min-width:0!important;min-height:42px;padding:10px 9px 10px 132px;border-bottom:1px solid #e7ecef;text-align:left!important;overflow-wrap:anywhere}
  .responsive-card-table td[data-label]::before{content:attr(data-label);position:absolute;top:10px;left:9px;width:112px;color:#647889;font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
  .responsive-card-table td:last-child{border-bottom:0}
  .responsive-card-table td[colspan]{padding-left:9px}
  .responsive-card-table .row-actions{width:auto!important;min-width:0!important;padding-left:132px;padding-right:9px}
  .responsive-card-table .row-action-buttons{justify-content:flex-start;flex-wrap:wrap}
  .responsive-card-table .row-action-buttons .btn{white-space:normal}
  .responsive-card-table .qualification-badge,.responsive-card-table .permission-badge{width:auto;max-width:100%}
  .column-controls{justify-content:flex-start}

  /* All ordinary portal data tables use the same phone/tablet card layout.
     table_columns.js supplies labels from each table's headers at runtime. */
  .global-mobile-table-wrap{overflow-x:hidden!important}
  .global-mobile-table td{white-space:normal;overflow-wrap:break-word;word-break:normal}
  .global-mobile-table td:last-child{
    position:static!important;right:auto!important;z-index:auto!important;
    width:auto!important;background:transparent!important;box-shadow:none!important
  }
  .global-mobile-table .row-actions{display:block;width:auto!important;min-width:0!important}
  .global-mobile-table .row-action-buttons{
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:stretch;justify-content:stretch;width:100%;gap:8px;white-space:normal
  }
  .global-mobile-table .row-action-buttons form{width:100%;min-width:0}
  .global-mobile-table .row-action-buttons .btn,
  .global-mobile-table .row-actions>.btn,
  .global-mobile-table .row-actions>form>.btn{
    display:flex;width:100%;min-width:0;min-height:42px;
    align-items:center;justify-content:center;white-space:normal
  }

  /* Evaluation records become readable labeled cards on phones. Desktop and
     laptop tables retain their full column layout above this breakpoint. */
  .mobile-evaluation-table-wrap{max-height:none!important;overflow-x:hidden!important;overflow-y:visible!important}
  .mobile-evaluation-table td{white-space:normal;overflow-wrap:break-word;word-break:normal}
  .mobile-evaluation-table td:last-child,
  .state-record-table.mobile-evaluation-table td:last-child,
  .personal-record-table.mobile-evaluation-table td:last-child,
  .state-summary-evaluation-table.mobile-evaluation-table td:last-child{
    position:static;right:auto;z-index:auto;width:auto;background:transparent;box-shadow:none
  }
  .mobile-evaluation-table .row-actions{display:block;padding-left:132px}
  .mobile-evaluation-table .evaluation-action-buttons{
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:8px;white-space:normal
  }
  .mobile-evaluation-table .evaluation-action-buttons .btn{
    display:flex;width:100%;min-width:0;min-height:42px;justify-content:center;white-space:normal
  }
  .mobile-evaluation-table .row-actions>.btn{width:100%;white-space:normal}
}

/* A landscape tablet gets the full content width while retaining the same menu. */
@media(max-width:1024px) and (min-width:821px){
  .app-body .sidebar{width:312px;transform:translateX(-100%);transition:transform .2s}
  .app-body .nav-toggle:checked~.sidebar{transform:translateX(0)}
  .app-body .app-shell{margin-left:0}
  .app-body .app-header{height:76px;padding:0 24px}
  .app-body .menu-button{display:block;font-size:23px;color:var(--navy);cursor:pointer}
  .app-body .global-search{width:min(680px,100%)}
  .app-body .main-content{padding:32px 28px 54px}
}

@media(max-width:900px){
  .page-heading{align-items:flex-start;flex-direction:column}
  .page-heading-actions{width:100%;margin-left:0;justify-content:flex-start}
  .page-heading h1,.dashboard-intro h1{font-size:clamp(32px,6vw,38px)}
  .portal-hub-header{align-items:center;flex-wrap:wrap}
  .hub-brand{min-width:0;flex:1 1 280px}
  .hub-brand span{min-width:0}
  .hub-brand strong{white-space:normal;overflow-wrap:anywhere}
  .hub-account{min-width:0;margin-left:auto;flex-wrap:wrap;justify-content:flex-end}
}

@media(max-width:700px){
  .panel-heading:not(.admin-list-heading),.card-heading{align-items:flex-start;flex-direction:column}
  .panel-heading:not(.admin-list-heading)>.actions,.card-heading>.actions{width:100%;justify-content:flex-start}
  .compact-page-actions,.program-user-actions{width:100%;justify-content:flex-start}
  .cert-date-card{grid-template-columns:1fr}
  .cert-date-card strong{text-align:left}
  .pagination,.pagination-bar{justify-content:flex-start;flex-wrap:wrap}
  .login-card{padding:28px 22px}
}

@media(max-width:620px){
  .portal-hub-header{align-items:flex-start;gap:12px}
  .hub-brand{flex-basis:100%}
  .hub-account{width:100%;margin-left:0;justify-content:flex-start;gap:8px}
  .hub-account>.btn{padding:8px 10px;font-size:.76rem}
  .portal-hub-main{width:calc(100% - 24px)}
  .main-content{padding-left:14px;padding-right:14px}
  .panel:not(.data-only-form):not(.state-report-filters){padding:16px}
  .data-form-section,.submission-options{padding-left:17px;padding-right:17px}
  .error-summary{margin-left:17px;margin-right:17px}
  .page-heading-actions>.btn,.page-heading-actions>form{flex:1 1 100%;width:100%}
  .page-heading-actions>form .btn{width:100%}
  .user-center-bulk-actions{align-items:stretch;flex-direction:column}
  .user-center-bulk-actions .btn{width:100%}
  .user-center-bulk-actions .muted{flex-basis:auto}
  .user-control-table tr[data-search-row]{grid-template-columns:1fr;padding:7px 10px}
  .user-control-table td:nth-child(n){grid-column:auto}
  .user-control-table td,.responsive-card-table td{padding:10px 8px}
  .user-control-table td::before,.responsive-card-table td[data-label]::before{position:static;display:block;width:auto;margin-bottom:5px}
  .responsive-card-table .row-actions{padding-left:8px;padding-right:8px}
  .mobile-evaluation-table .row-actions{padding-left:8px;padding-right:8px}
  .draft-toolbar .actions,.user-editor-action-bar .actions,.search-results-form .actions{grid-template-columns:1fr}
  .intake-actions{align-items:stretch;flex-direction:column}
}

/* Phase 86 — content-based laptop layout and readable portal tables. */
.portal-responsive-table-wrap{
  position:relative;
  overflow:auto;
  scrollbar-gutter:stable;
  -webkit-overflow-scrolling:touch;
}
.portal-responsive-table{
  min-width:max(100%,var(--portal-table-min-width,30rem));
}
.portal-responsive-table th,
.portal-responsive-table td{
  vertical-align:top;
  overflow-wrap:normal;
  word-break:normal;
}
.portal-responsive-table th{
  white-space:normal;
}
.portal-responsive-table td a,
.portal-responsive-table td strong,
.portal-responsive-table td .muted{
  overflow-wrap:break-word;
  word-break:normal;
}
.portal-responsive-table td .status-badge,
.portal-responsive-table td .badge,
.portal-responsive-table td .status-pill,
.portal-responsive-table td .btn{
  overflow-wrap:normal;
  word-break:normal;
}
.portal-responsive-table.has-action-column th:last-child,
.portal-responsive-table.has-action-column td:last-child{
  position:sticky;
  right:0;
  z-index:3;
  min-width:9rem;
  background:#fff;
  box-shadow:-6px 0 10px rgba(24,48,68,.07);
}
.portal-responsive-table.has-action-column thead th:last-child{
  z-index:6;
  background:#f0f4f7;
}
.portal-responsive-table.has-evaluation-actions th:last-child,
.portal-responsive-table.has-evaluation-actions td:last-child{
  width:14rem;
  min-width:14rem;
}
.cert-admin-table table{min-width:max(100%,75rem)}
.cert-admin-table th:nth-child(3),.cert-admin-table td:nth-child(3),
.cert-admin-table th:nth-child(5),.cert-admin-table td:nth-child(5),
.cert-admin-table th:nth-child(6),.cert-admin-table td:nth-child(6),
.cert-admin-table th:nth-child(7),.cert-admin-table td:nth-child(7),
.cert-admin-table th:nth-child(8),.cert-admin-table td:nth-child(8){white-space:nowrap}

/* Laptop tables keep their readable columns and contained action controls.
   The permanent sidebar remains visible above the tablet breakpoint. */
@media(max-width:1800px) and (min-width:821px){
  .app-body .main-content{padding:34px 30px 56px}
  .panel-heading,.card-heading{align-items:flex-start;flex-wrap:wrap}
  .panel-heading>div:first-child,.card-heading>div:first-child{flex:1 1 30rem}
  .panel-heading>.actions,.card-heading>.actions{justify-content:flex-start}
  .portal-dense-table th,.portal-dense-table td{min-width:6.75rem}
  .portal-responsive-table .row-action-buttons{flex-wrap:wrap}
  .portal-responsive-table.has-evaluation-actions .evaluation-action-buttons{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    width:100%;
    gap:7px;
    white-space:normal;
  }
  .portal-responsive-table.has-evaluation-actions .evaluation-action-buttons .btn,
  .portal-responsive-table.has-evaluation-actions .evaluation-action-buttons form{
    width:100%;
    min-width:0;
  }
  .portal-responsive-table.has-evaluation-actions .evaluation-action-buttons form .btn{
    width:100%;
  }
}

/* The existing phone cards remain the smallest-screen layout. */
@media(max-width:820px){
  .portal-responsive-table{min-width:0!important}
  .portal-responsive-table.has-action-column th:last-child,
  .portal-responsive-table.has-action-column td:last-child{
    position:static!important;
    right:auto!important;
    z-index:auto!important;
    width:auto!important;
    min-width:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
}

/* Phase 88 — one compact, accessible action menu for every table action column. */
.portal-responsive-table.has-action-column th:last-child,
.portal-responsive-table.has-action-column td:last-child,
.action-header,
.row-actions{
  width:68px!important;
  min-width:68px!important;
  max-width:68px;
  box-sizing:border-box;
  text-align:center!important;
}
.row-actions{
  overflow:visible!important;
  white-space:normal!important;
}
.row-action-menu{
  display:inline-flex;
  position:relative;
  align-items:center;
  justify-content:center;
  width:44px;
  min-width:44px;
}
.row-action-menu-trigger{
  display:inline-grid;
  width:42px;
  height:42px;
  min-width:42px;
  padding:0;
  place-items:center;
  border:1px solid #cbd7e0;
  border-radius:9px;
  background:#fff;
  color:var(--navy);
  box-shadow:0 2px 5px rgba(20,45,66,.06);
  font:900 25px/1 Arial,sans-serif;
  cursor:pointer;
}
.row-action-menu-trigger:hover,
.row-action-menu-trigger:focus-visible,
.row-action-menu-trigger[aria-expanded="true"]{
  border-color:var(--purple);
  background:#f4eefb;
  color:var(--purple);
  outline:none;
}
.row-action-menu-trigger:focus-visible{
  box-shadow:0 0 0 3px rgba(108,61,160,.2);
}
.row-action-menu-panel,
.row-action-menu-panel[popover]{
  position:fixed;
  z-index:1200;
  inset:auto;
  display:none;
  width:max-content;
  min-width:205px;
  max-width:min(280px,calc(100vw - 20px));
  max-height:min(420px,calc(100vh - 20px));
  margin:0;
  padding:7px;
  overflow-y:auto;
  border:1px solid #cbd7e0;
  border-radius:10px;
  background:#fff;
  box-shadow:0 14px 34px rgba(16,38,57,.24);
  color:var(--navy);
}
.row-action-menu-panel:popover-open{
  display:grid;
  gap:3px;
}
.row-action-menu-panel[data-fallback-open="true"]{
  display:grid;
  gap:3px;
}
.row-action-menu-panel::backdrop{background:transparent}
.row-action-menu-panel .row-action-buttons,
.row-action-menu-panel .evaluation-action-buttons{
  display:contents!important;
}
.row-action-menu-panel .row-action-menu-form,
.row-action-menu-panel form{
  display:block;
  width:100%!important;
  min-width:0!important;
  margin:0;
}
.row-action-menu-panel .row-action-menu-item,
.row-action-menu-panel .btn,
.row-action-menu-panel a,
.row-action-menu-panel button{
  display:flex!important;
  width:100%!important;
  min-width:0!important;
  min-height:40px;
  margin:0;
  padding:9px 11px!important;
  align-items:center;
  justify-content:flex-start!important;
  border:0!important;
  border-radius:7px;
  background:#fff!important;
  box-shadow:none!important;
  color:var(--navy)!important;
  font-size:.86rem;
  font-weight:800;
  line-height:1.25;
  text-align:left;
  white-space:normal!important;
  cursor:pointer;
}
.row-action-menu-panel .row-action-menu-item:hover,
.row-action-menu-panel .row-action-menu-item:focus-visible{
  background:#edf3f7!important;
  outline:none;
}
.row-action-menu-panel .primary{
  color:var(--purple)!important;
}
.row-action-menu-panel .danger{
  color:#a93636!important;
}
.row-action-menu-panel .danger:hover,
.row-action-menu-panel .danger:focus-visible{
  background:#fff0f0!important;
}
.row-actions-empty{
  color:var(--muted);
}

/* Phase 90: SFST user and instructor import workspace. */
.import-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:24px}
.import-choice-grid .import-panel{max-width:none;height:100%}
.import-resolution-form{display:grid;grid-template-columns:minmax(190px,1fr) auto;gap:7px;align-items:center;min-width:390px}
.import-resolution-form .form-control{grid-column:1/-1;margin:0}
.import-resolution-form .btn{white-space:nowrap}
@media(max-width:900px){
  .import-choice-grid{grid-template-columns:1fr}
  .import-resolution-form{min-width:0;grid-template-columns:1fr}
  .import-resolution-form .form-control{grid-column:auto}
  .import-resolution-form .btn{width:100%;white-space:normal}
}

/* A menu trigger needs far less space than the former row of buttons. */
.portal-responsive-table.has-evaluation-actions th:last-child,
.portal-responsive-table.has-evaluation-actions td:last-child{
  width:68px!important;
  min-width:68px!important;
}
@media(max-width:1800px) and (min-width:821px){
  .portal-responsive-table.has-evaluation-actions .evaluation-action-buttons{
    display:contents;
  }
}
@media(max-width:820px){
  .responsive-card-table .row-actions,
  .global-mobile-table .row-actions,
  .mobile-evaluation-table .row-actions{
    display:flex!important;
    width:auto!important;
    min-width:0!important;
    max-width:none;
    align-items:center;
    justify-content:space-between;
    padding-left:132px;
    text-align:right!important;
  }
}
@media(max-width:620px){
  .responsive-card-table .row-actions,
  .global-mobile-table .row-actions,
  .mobile-evaluation-table .row-actions{
    padding-left:8px;
  }
}

/* Phase 89 — keep every action menu fully inside its card without a shaded strip. */
body{--row-action-accent:var(--purple)}
.portal-hub-body,.sfst-app{--row-action-accent:#176b98}
.aride-app{--row-action-accent:#a8640b}

.portal-responsive-table.has-action-column th:last-child,
.portal-responsive-table.has-action-column td:last-child,
.portal-responsive-table.has-evaluation-actions th:last-child,
.portal-responsive-table.has-evaluation-actions td:last-child,
.action-header,
.row-actions{
  width:92px!important;
  min-width:92px!important;
  max-width:none;
  padding-left:12px!important;
  padding-right:12px!important;
  box-sizing:border-box;
}

/* Remove every older right-edge sticky/shadow treatment. Headers that are
   vertically sticky keep their top behavior, but no column floats sideways. */
.portal-responsive-table.has-action-column th:last-child,
.portal-responsive-table.has-action-column td:last-child,
.compliance-table.has-actions th:last-child,
.compliance-table.has-actions td:last-child,
.rolling-management-table .row-actions,
.rolling-management-table thead .action-header,
.state-summary-evaluation-table th:last-child,
.state-summary-evaluation-table td:last-child,
.state-record-table th:last-child,
.state-record-table td:last-child,
.personal-record-table th:last-child,
.personal-record-table td:last-child{
  right:auto!important;
  box-shadow:none!important;
}
.portal-responsive-table.has-action-column td:last-child,
.compliance-table.has-actions td:last-child,
.rolling-management-table .row-actions,
.state-summary-evaluation-table td:last-child,
.state-record-table td:last-child,
.personal-record-table td:last-child,
.row-actions{
  z-index:auto!important;
  background:transparent!important;
}

.row-action-menu-trigger{
  border-color:#c8d3dc;
  background:#fff;
  color:var(--row-action-accent);
}
.row-action-menu-trigger:hover,
.row-action-menu-trigger:focus-visible,
.row-action-menu-trigger[aria-expanded="true"]{
  border-color:var(--row-action-accent);
  background:var(--row-action-accent);
  color:#fff;
}
.row-action-menu-panel .primary{
  color:var(--row-action-accent)!important;
}

@media(max-width:820px){
  .portal-responsive-table.has-action-column th:last-child,
  .portal-responsive-table.has-action-column td:last-child,
  .portal-responsive-table.has-evaluation-actions th:last-child,
  .portal-responsive-table.has-evaluation-actions td:last-child,
  .responsive-card-table .row-actions,
  .global-mobile-table .row-actions,
  .mobile-evaluation-table .row-actions{
    width:auto!important;
    min-width:0!important;
    max-width:none;
  }
  .responsive-card-table .row-actions,
  .global-mobile-table .row-actions,
  .mobile-evaluation-table .row-actions{
    padding-left:132px!important;
    padding-right:12px!important;
  }
}
@media(max-width:620px){
  .responsive-card-table .row-actions,
  .global-mobile-table .row-actions,
  .mobile-evaluation-table .row-actions{
    padding-left:8px!important;
    padding-right:8px!important;
  }
}
