:root{--bg:#f4f7fb;--panel:#fff;--text:#0f172a;--muted:#64748b;--line:#e2e8f0;--brand:#175cd3;--brand2:#0f3f9c;--nav:#0f172a;--nav2:#111c32;--ok:#087443;--warn:#b45309;--danger:#b42318;--radius:16px;--shadow:0 12px 30px rgba(15,23,42,.07)}
*{box-sizing:border-box}html{color-scheme:light}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text);font-size:15px;line-height:1.55}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.ico{width:19px;height:19px;flex:none}.eyebrow{display:block;font-size:.74rem;letter-spacing:.12em;font-weight:800;color:var(--brand);margin-bottom:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border:1px solid var(--line);background:#fff;color:var(--text);padding:9px 14px;border-radius:11px;font-weight:700;cursor:pointer}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn.ghost{background:transparent}.btn.muted{background:#e9eef8;color:#62708b}.icon-btn{display:inline-flex;width:40px;height:40px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:11px;background:var(--panel);cursor:pointer;color:var(--text)}.hint,small{color:var(--muted)}code{font-size:.88em;background:#eef2f7;padding:2px 6px;border-radius:6px}.alert{padding:12px 14px;border-radius:12px;margin-bottom:16px;border:1px solid}.alert.success{background:#ecfdf3;border-color:#abefc6;color:#067647}.alert.danger{background:#fff1f0;border-color:#fecdca;color:#b42318}.alert.info{background:#eff8ff;border-color:#b2ddff;color:#175cd3}.badge{display:inline-flex;align-items:center;min-height:26px;padding:3px 9px;border-radius:999px;background:#eef2f7;color:#475467;font-size:.78rem;font-weight:700;text-transform:capitalize}.badge.ok{background:#ecfdf3;color:#067647}.badge.warn{background:#fffaeb;color:#b54708}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.panel h2{font-size:1.06rem;margin:0 0 14px}.panel-head{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:12px}.panel-head h2{margin:0}.panel-head>a,.panel-head>span{font-size:.84rem;color:var(--muted)}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}.metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:18px}.metrics article{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px}.metrics article span{display:block;color:var(--muted);font-size:.78rem;margin-bottom:8px}.metrics article strong{font-size:1.7rem;line-height:1}.list-row{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line)}.list-row:last-child{border-bottom:0}.list-row div{min-width:0}.list-row strong,.list-row small{display:block}.list-row small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.empty{padding:24px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:12px}.coverage{display:grid;gap:13px}.coverage-top{display:flex;justify-content:space-between;gap:10px;font-size:.88rem}.bar{height:7px;border-radius:999px;background:#e9eef5;overflow:hidden;margin-top:6px}.bar span{display:block;height:100%;background:var(--brand);border-radius:inherit}.note{background:#eef4ff;border:1px solid #c7d7fe;border-radius:14px;padding:16px}.note p{margin:5px 0 0;color:#344054}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.form-grid.compact{gap:11px}.form-grid label{display:flex;flex-direction:column;gap:6px;font-size:.83rem;font-weight:700;color:#344054}.form-grid input,.form-grid select,.form-grid textarea,.search input,.drop-panel input,.drop-panel select{width:100%;border:1px solid #cfd7e5;background:#fff;color:var(--text);border-radius:10px;padding:10px 11px;outline:none}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.search input:focus{border-color:#84adff;box-shadow:0 0 0 3px #155eef12}.span-2{grid-column:span 2}.form-actions{display:flex;justify-content:flex-end}.inline-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.detail{display:grid;grid-template-columns:115px 1fr;gap:9px 14px}.detail dt{color:var(--muted);font-size:.82rem}.detail dd{margin:0}.timeline{display:flex;gap:12px;padding:10px 0}.timeline>span{width:10px;height:10px;border-radius:50%;margin-top:6px;background:var(--brand);box-shadow:0 0 0 4px #eaf1ff}.timeline div{display:flex;flex-direction:column}.page-back{margin-bottom:14px}.toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:14px}.search{display:flex;gap:8px;max-width:520px;width:100%}.drop{position:relative}.drop>summary{list-style:none}.drop>summary::-webkit-details-marker{display:none}.drop-panel{position:absolute;right:0;top:48px;z-index:20;width:min(380px,90vw);background:var(--panel);border:1px solid var(--line);box-shadow:0 18px 50px #0f172a25;border-radius:14px;padding:16px}.drop-panel label{display:block;font-weight:700;font-size:.84rem}.drop-panel input{margin-top:7px}.table-panel{padding:0;overflow:hidden}.table-panel .panel-head{padding:18px 20px;margin:0;border-bottom:1px solid var(--line)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:middle}th{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:#667085;background:#f8fafc}td{font-size:.88rem}td strong,td small{display:block}tr:last-child td{border-bottom:0}.checklist{max-height:300px;overflow:auto;border:1px solid var(--line);border-radius:12px;background:#f8fafc}.checklist label{display:flex;flex-direction:row;align-items:center;gap:10px;padding:9px 11px;border-bottom:1px solid var(--line);cursor:pointer}.checklist label:last-child{border-bottom:0}.checklist input{width:auto}.checklist span{display:flex;flex-direction:column}.clean-list{padding-left:18px;color:#475467}.clean-list li{margin:8px 0}.report-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}.report-row span{display:flex;flex-direction:column}.status-line{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:12px 0}.switch-row{display:flex!important;flex-direction:row!important;align-items:center;justify-content:space-between;padding:12px 0}.switch-row span{display:flex;flex-direction:column}.switch-row input{width:22px!important;height:22px}.system-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.system-links a{display:flex;align-items:center;gap:10px;padding:13px;border:1px solid var(--line);border-radius:12px}.system-links a span{display:flex;flex-direction:column}.admin-body{overflow-x:hidden}.admin-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:linear-gradient(180deg,var(--nav),var(--nav2));color:#cbd5e1;padding:18px 14px;display:flex;flex-direction:column;z-index:50}.brand{display:flex;align-items:center;gap:10px;padding:2px 7px 18px}.brand-mark{width:38px;height:38px;border-radius:11px;background:linear-gradient(145deg,#2f6fec,#1849a9);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900}.brand strong,.brand small{display:block}.brand small{color:#8290a7;font-size:.72rem}.sidebar nav{display:flex;flex-direction:column;gap:4px}.nav-item{display:flex;align-items:center;gap:11px;padding:10px 11px;border-radius:10px;color:#aeb9ca;font-weight:650;font-size:.88rem}.nav-item:hover{background:#ffffff0d;color:#fff}.nav-item.active{background:#1d4ed8;color:#fff}.sidebar-foot{margin-top:auto;padding:10px 9px}.version{font-size:.72rem;color:#718096}.admin-main{margin-left:248px;min-height:100vh}.topbar{min-height:76px;display:flex;align-items:center;gap:14px;padding:14px 24px;background:rgba(244,247,251,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.topbar h1{font-size:1.12rem;margin:0}.topbar p{font-size:.76rem;color:var(--muted);margin:2px 0 0}.top-actions{margin-left:auto;display:flex;gap:8px}.menu-btn{display:none}.content{padding:22px 24px 40px;max-width:1500px;margin:0 auto}.overlay{display:none}.public-head{max-width:1180px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:18px 24px}.public-brand{display:flex;align-items:center;gap:11px}.public-brand strong,.public-brand small{display:block}.public-brand small{font-size:.72rem}.public-head nav{display:flex;gap:18px;font-weight:700;font-size:.86rem}.public-main{max-width:1180px;margin:0 auto;padding:20px 24px 60px}.hero-public{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:24px;align-items:stretch;padding:46px 0 60px}.hero-public>div:first-child{padding:18px 0}.hero-public h1{font-size:clamp(2.4rem,5vw,5rem);line-height:.99;letter-spacing:-.055em;max-width:840px;margin:0 0 18px}.hero-public p{font-size:1.03rem;color:#475467;max-width:720px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.hero-panel{background:linear-gradient(145deg,#155eef,#0f3f9c);color:#fff;border-radius:24px;padding:24px;box-shadow:0 22px 60px #1849a92e}.program-mini{margin-top:14px;background:#ffffff17;border:1px solid #ffffff25;border-radius:14px;padding:14px}.program-mini span{font-weight:900}.program-mini p{color:#e5edff;font-size:.84rem;margin:3px 0 0}.public-section{padding:58px 0;border-top:1px solid var(--line)}.public-section h2{font-size:clamp(1.8rem,3.2vw,3rem);line-height:1.04;letter-spacing:-.035em;max-width:700px;margin:0 0 24px}.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.steps article{border:1px solid var(--line);border-radius:16px;background:var(--panel);padding:18px}.steps b{color:var(--brand);font-size:.78rem}.steps h3{font-size:1rem;margin:8px 0}.steps p{font-size:.86rem;color:#667085;margin:0}.public-foot{max-width:1180px;margin:0 auto;padding:22px 24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--muted);font-size:.8rem}.auth-card{max-width:560px;margin:7vh auto;background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:var(--shadow)}.auth-card.wide{max-width:820px}.auth-card h1{margin:0 0 12px;font-size:1.8rem}
@media(max-width:1100px){.metrics{grid-template-columns:repeat(3,1fr)}.hero-public{grid-template-columns:1fr}.hero-panel{display:none}.steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:860px){.sidebar{transform:translateX(-105%);transition:.2s ease}.sidebar.open{transform:none}.admin-main{margin-left:0}.menu-btn{display:inline-flex}.overlay.show{display:block;position:fixed;inset:0;background:#0f172a70;z-index:40}.topbar{padding:12px 14px}.content{padding:16px 14px 32px}.grid-2{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.system-links{grid-template-columns:1fr}.public-head nav{gap:10px}.public-brand small{display:none}}
@media(max-width:620px){body{font-size:14px}.metrics{grid-template-columns:repeat(2,1fr)}.metrics article{padding:13px}.metrics article strong{font-size:1.35rem}.public-head{padding:14px 16px}.public-head nav a:first-child{display:none}.public-main{padding:8px 16px 40px}.hero-public{padding:28px 0 42px}.hero-public h1{font-size:2.45rem;line-height:1.01}.hero-public p{font-size:.96rem}.public-section{padding:40px 0}.public-section h2{font-size:1.75rem}.steps{grid-template-columns:1fr}.toolbar{align-items:stretch;flex-direction:column}.drop-panel{left:0;right:auto}.table-panel{overflow-x:auto}table{min-width:680px}.topbar h1{font-size:1rem}.topbar p{max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
html[data-theme="dark"]{color-scheme:dark;--bg:#0b1220;--panel:#111a2a;--text:#e5ecf7;--muted:#8ea0b8;--line:#263249;--nav:#080e19;--nav2:#0b1322;--shadow:none}html[data-theme="dark"] .topbar{background:#0b1220e8}html[data-theme="dark"] .form-grid input,html[data-theme="dark"] .form-grid select,html[data-theme="dark"] .form-grid textarea,html[data-theme="dark"] .search input,html[data-theme="dark"] .drop-panel input{background:#0d1626;border-color:#2d3a51;color:var(--text)}html[data-theme="dark"] th{background:#0d1626;color:#9fb0c6}html[data-theme="dark"] .checklist{background:#0d1626}html[data-theme="dark"] .note{background:#102143;border-color:#234d99}html[data-theme="dark"] .note p{color:#b8c6dc}html[data-theme="dark"] .hero-public p,html[data-theme="dark"] .steps p{color:#9fb0c6}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.json-box{margin:14px 0 0;background:#0b1220;color:#dce7f7;border-radius:14px;padding:16px;overflow:auto;max-height:70vh;font-size:.78rem;line-height:1.45}.nav-label{padding:14px 11px 5px;color:#61718b;font-size:.64rem;letter-spacing:.12em;font-weight:800}.auth-card form>label{display:flex;flex-direction:column;gap:6px;margin:10px 0;font-size:.84rem;font-weight:700}.auth-card form>label input{width:100%;border:1px solid #cfd7e5;background:#fff;color:var(--text);border-radius:10px;padding:10px 11px}
html[data-theme="dark"] .auth-card form>label input{background:#0d1626;border-color:#2d3a51;color:var(--text)}
.operation-mode{margin-bottom:0}.compact-note{margin-bottom:14px}.compact-note p{font-size:.84rem}.history-panel{margin-top:18px}.history-panel>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none}.history-panel>summary::-webkit-details-marker{display:none}.history-panel[open]>summary{padding-bottom:14px;border-bottom:1px solid var(--line)}.table-scroll{overflow-x:auto}.form-grid label small{font-weight:500;line-height:1.35}
.table-panel>.role-info{margin:14px 18px 0}.role-form{margin-top:0}.role-form select{min-width:180px}


/* v1.0.3 Operational Journey & UX Hardening */
.btn:focus-visible,.icon-btn:focus-visible,.nav-item:focus-visible,.chip:focus-visible,.focus-card:focus-visible,summary:focus-visible{outline:3px solid #84adff;outline-offset:2px}
.focus-board{background:linear-gradient(135deg,#0f3f9c,#175cd3);color:#fff;border-radius:20px;padding:22px;margin-bottom:16px;box-shadow:0 18px 44px rgba(23,92,211,.18)}.focus-board .eyebrow{color:#d9e7ff}.focus-board-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.focus-board-head h2{font-size:1.35rem;margin:2px 0 5px}.focus-board-head p{margin:0;color:#d9e7ff;font-size:.88rem}.focus-board-head .btn{background:#fff;border-color:#fff;color:#174ea6}.focus-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.focus-card{display:flex;min-height:154px;flex-direction:column;padding:15px;border-radius:14px;background:#ffffff14;border:1px solid #ffffff24}.focus-card:hover{background:#ffffff1f}.focus-card>span{font-size:.78rem;color:#d9e7ff;font-weight:700}.focus-card>strong{font-size:2rem;line-height:1.1;margin:7px 0}.focus-card>small{color:#d9e7ff;line-height:1.35;flex:1}.focus-card>b{font-size:.76rem;margin-top:11px}.focus-card.attention{background:#fff;color:#102a56}.focus-card.attention>span,.focus-card.attention>small{color:#5c6f8d}.funnel-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}.funnel-strip article{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 14px}.funnel-strip span{font-size:.8rem;color:var(--muted)}.funnel-strip strong{font-size:1.25rem}.dashboard-secondary{margin-bottom:16px}.secondary-panel{padding:0;overflow:hidden}.secondary-panel>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px}.secondary-panel>summary::-webkit-details-marker{display:none}.secondary-panel>summary span{display:flex;flex-direction:column}.secondary-panel>summary small{font-weight:400}.secondary-panel>summary b{font-size:.78rem;color:var(--brand)}.secondary-panel[open]>summary{border-bottom:1px solid var(--line)}.secondary-panel>.coverage{padding:18px 20px}.prospect-toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:10px}.filter-chips{display:flex;gap:7px;overflow-x:auto;padding:0 0 12px;scrollbar-width:thin}.chip{display:inline-flex;white-space:nowrap;align-items:center;min-height:34px;padding:6px 11px;border:1px solid var(--line);border-radius:999px;background:var(--panel);font-size:.8rem;font-weight:700;color:var(--muted)}.chip.active{background:var(--brand);border-color:var(--brand);color:#fff}.prospect-table .panel-head>div{display:flex;flex-direction:column}.prospect-table .panel-head h2{margin:0}.btn.small{min-height:34px;padding:6px 10px;font-size:.78rem;white-space:nowrap}.next-label{font-size:.8rem;font-weight:700;color:#475467}.next-label.warn{color:var(--warn)}.next-label.ok{color:var(--ok)}.prospect-workspace{align-items:start}.next-action{display:flex;flex-direction:column;gap:3px;border:1px solid #bfd3f8;background:#f1f6ff;border-radius:12px;padding:11px 12px;margin:0 0 15px}.next-action>span{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:#5e7090;font-weight:800}.next-action>strong{font-size:.9rem}.next-action.warn{background:#fffaeb;border-color:#fedf89}.next-action.ok{background:#ecfdf3;border-color:#abefc6}.form-more{border:1px solid var(--line);border-radius:12px;padding:0;overflow:hidden}.form-more>summary{cursor:pointer;list-style:none;padding:11px 12px;font-size:.82rem;font-weight:800;color:var(--muted)}.form-more>summary::-webkit-details-marker{display:none}.form-more[open]>summary{border-bottom:1px solid var(--line);color:var(--text)}.form-more>.form-grid{padding:12px}.history-timeline{margin-top:18px}
@media(max-width:1180px){.focus-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.focus-board{padding:16px;border-radius:16px}.focus-board-head{flex-direction:column}.focus-board-head .btn{width:100%}.focus-grid{grid-template-columns:1fr 1fr}.focus-card{min-height:136px}.funnel-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.prospect-toolbar{align-items:stretch;flex-direction:column}.prospect-toolbar .search{max-width:none}}
@media(max-width:460px){.focus-grid{grid-template-columns:1fr}.focus-card{min-height:auto}.funnel-strip{grid-template-columns:1fr 1fr}.funnel-strip article{padding:10px 11px}.prospect-table table{min-width:760px}}
html[data-theme="dark"] .focus-board{box-shadow:none}html[data-theme="dark"] .focus-card.attention{background:#d9e7ff;color:#102a56}html[data-theme="dark"] .next-action{background:#102143;border-color:#234d99}html[data-theme="dark"] .next-action.warn{background:#332711;border-color:#6b4b16}html[data-theme="dark"] .next-action.ok{background:#102a22;border-color:#1f5a46}


/* v1.0.4 Admission Lifecycle Workspace */
.admission-board{background:linear-gradient(135deg,#102a56,#1f4b89);color:#fff;border-radius:18px;padding:18px 20px;margin-bottom:14px}.admission-board-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.admission-board h2{margin:3px 0 5px;font-size:1.35rem}.admission-board p{margin:0;color:#d9e7ff;max-width:720px}.admission-board-head>strong{white-space:nowrap;background:#ffffff18;border:1px solid #ffffff25;border-radius:999px;padding:8px 12px;font-size:.82rem}.admission-chips .chip span{margin-left:5px;min-width:20px;text-align:center;border-radius:999px;background:var(--bg);padding:1px 6px;font-size:.72rem}.admission-chips .chip.active span{background:#ffffff24}.admission-toolbar .search{display:flex;gap:8px;flex:1;max-width:720px}.admission-toolbar .search input{flex:1}.application-queue .panel-head>div{display:flex;flex-direction:column}.application-queue .panel-head h2{margin:0}.queue-next{font-size:.8rem;font-weight:800;color:#475467}.queue-next.warn{color:var(--warn)}.queue-next.ok{color:var(--ok)}.applicant-hero{display:flex;justify-content:space-between;gap:18px;align-items:center}.applicant-hero h2{margin:3px 0 5px}.applicant-hero p{margin:0;color:var(--muted)}.applicant-hero-status{display:flex;flex-direction:column;align-items:flex-end;gap:7px;text-align:right}.applicant-hero-status strong{max-width:360px;font-size:.86rem}.admission-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:14px 0}.admission-step{display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--muted)}.admission-step>span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--bg);font-size:.75rem;font-weight:900}.admission-step>strong{font-size:.78rem}.admission-step.current{border-color:#9dbbf2;background:#f1f6ff;color:#234b82}.admission-step.current>span{background:var(--brand);color:#fff}.admission-step.done{border-color:#abefc6;background:#ecfdf3;color:#176b50}.admission-step.done>span{background:#d1fadf;color:#176b50}.admission-step.terminal{border-color:#fedf89;background:#fffaeb;color:#8b5e00}.applicant-workspace{align-items:start}.process-panel>.eyebrow{display:block;margin-bottom:5px}.process-panel h2{margin:0 0 10px}.process-form{margin-top:14px}.compact-empty{padding:16px;margin-top:14px}.mini-status{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:11px;margin-top:11px}.mini-status span{font-size:.8rem;color:var(--muted)}.mini-status strong{font-size:.82rem}.activation-workspace{margin-top:16px}.activation-workspace .panel-head{align-items:flex-start}.activation-workspace .panel-head>div{max-width:760px}.activation-workspace .panel-head p{margin:5px 0 0}.activation-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start}.activation-actions .note{margin:0;flex:1;min-width:260px}.activation-locked,.activation-success{border-radius:12px;padding:13px 14px}.activation-locked{background:var(--bg);border:1px dashed var(--line)}.activation-locked p{margin:4px 0 0;color:var(--muted)}.activation-success{display:flex;flex-direction:column;gap:4px;background:#ecfdf3;border:1px solid #abefc6;color:#176b50}.warning-note{background:#fffaeb!important;border-color:#fedf89!important}
@media(max-width:800px){.admission-board-head,.applicant-hero{flex-direction:column;align-items:flex-start}.applicant-hero-status{align-items:flex-start;text-align:left}.admission-steps{grid-template-columns:1fr}.admission-step{padding:8px 10px}.admission-toolbar .search{max-width:none;width:100%}.application-queue table{min-width:760px}}
html[data-theme="dark"] .admission-board{box-shadow:none}html[data-theme="dark"] .admission-step.current{background:#102143;border-color:#234d99;color:#d9e7ff}html[data-theme="dark"] .admission-step.done{background:#102a22;border-color:#1f5a46;color:#b8ead8}html[data-theme="dark"] .admission-step.terminal{background:#332711;border-color:#6b4b16;color:#f6d889}html[data-theme="dark"] .activation-success{background:#102a22;border-color:#1f5a46;color:#b8ead8}


/* v1.0.5 Operational Analytics & Decision Support */
.analytics-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.analytics-head h2{margin:0 0 5px;font-size:1.35rem}.analytics-head p{margin:0;color:var(--muted);max-width:780px}.analytics-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:18px}.analytics-metrics article,.mini-metrics article{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:15px}.analytics-metrics span,.mini-metrics span{display:block;color:var(--muted);font-size:.76rem}.analytics-metrics strong{display:block;font-size:1.6rem;line-height:1.1;margin:7px 0 4px}.analytics-metrics small{display:block}.mini-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:10px}.mini-metrics article{padding:12px;background:#f8fafc;box-shadow:none}.mini-metrics strong{display:block;font-size:1.25rem;margin-top:4px}.signal-row,.reason-row{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line)}.signal-row:last-child,.reason-row:last-child{border-bottom:0}.signal-row div,.reason-row div{min-width:0}.signal-row strong,.signal-row small,.reason-row strong,.reason-row small{display:block}.analytics-grid{align-items:start}.analytics-school,.program-analytics{margin-bottom:18px}.table-scroll{overflow:auto}.analytics-school table,.program-analytics table{min-width:820px}.mini-bar{height:5px;min-width:72px;background:#e9eef5;border-radius:999px;overflow:hidden;margin-top:5px}.mini-bar span{display:block;height:100%;background:var(--brand);border-radius:inherit}.area-row{padding:9px 0 12px;border-bottom:1px solid var(--line)}.area-row:last-child{border-bottom:0}.area-row small{display:block;margin-top:5px}.analytics-details{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}.analytics-details summary{cursor:pointer;font-weight:750;color:#344054}.analytics-top .panel{min-height:100%}
[data-theme="dark"] .mini-metrics article{background:#111c32}
@media(max-width:1100px){.analytics-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.analytics-head{flex-direction:column}.analytics-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.mini-metrics{grid-template-columns:1fr}.signal-row{align-items:flex-start;flex-direction:column}.signal-row .badge{align-self:flex-start}}
@media(max-width:520px){.analytics-metrics{grid-template-columns:1fr}}


/* v1.0.6 Production Polish & Reporting */
.print-only{display:none}.report-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.executive-summary{margin-bottom:18px}.executive-summary .panel-head>div{display:flex;flex-direction:column}.executive-summary .panel-head .eyebrow{margin-bottom:3px}.executive-priorities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.executive-item{display:flex;flex-direction:column;gap:3px;padding:12px 13px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}.executive-item strong{font-size:.86rem}.executive-item span{font-size:.78rem;color:var(--muted)}.executive-item.warn{background:#fffaeb;border-color:#fedf89}.executive-item.danger{background:#fff1f0;border-color:#fecdca}.executive-item.info{background:#eff8ff;border-color:#b2ddff}.executive-item.ok{background:#ecfdf3;border-color:#abefc6}.report-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}.table-scroll table{min-width:680px}.table-panel>.table-scroll{width:100%}.table-panel>.table-scroll table{margin:0}.empty{min-height:76px;display:grid;place-items:center}.content{min-width:0}.panel,.grid-2>*{min-width:0}
[data-theme="dark"] .executive-item{background:#111c32}[data-theme="dark"] .executive-item.warn{background:#332711;border-color:#6b4b16}[data-theme="dark"] .executive-item.danger{background:#341717;border-color:#6d2929}[data-theme="dark"] .executive-item.info{background:#102143;border-color:#234d99}[data-theme="dark"] .executive-item.ok{background:#102a22;border-color:#1f5a46}
@media(max-width:800px){.report-head-actions{width:100%;justify-content:flex-start}.report-head-actions .btn{flex:1}.executive-priorities{grid-template-columns:1fr}.report-actions{display:grid;grid-template-columns:1fr}.report-actions .btn{width:100%}.table-panel>.panel-head{position:sticky;left:0;z-index:2;background:var(--panel)}.table-scroll table{min-width:720px}.toolbar,.panel-head{align-items:flex-start}.panel-head{flex-wrap:wrap}}
@media(max-width:520px){.content{padding-left:14px;padding-right:14px}.panel{padding:16px}.table-panel{padding:0}.table-panel .panel-head{padding:15px 16px}.analytics-metrics article{padding:13px}.btn{min-height:42px}.topbar{padding-left:14px;padding-right:14px}}
@media print{
  @page{size:A4;margin:12mm}
  html,body{background:#fff!important;color:#111!important;font-size:10.5pt}
  .sidebar,.topbar,.overlay,.no-print,.alert,.sidebar-foot{display:none!important}
  .admin-main{margin-left:0!important}.content{max-width:none!important;padding:0!important}.admin-shell{min-height:0}
  .print-only{display:flex!important}.report-print-title{flex-direction:column;gap:2px;margin-bottom:12px;border-bottom:2px solid #111;padding-bottom:8px}.report-print-title strong{font-size:15pt}.report-print-title span{font-weight:700}.report-print-title small{color:#555}
  .panel,.analytics-metrics article,.mini-metrics article{box-shadow:none!important;border-color:#bbb!important;break-inside:avoid}.panel{padding:12px;border-radius:8px}.analytics-head{margin-bottom:10px}.analytics-head .eyebrow{color:#111}.analytics-head p,.hint,small{color:#555!important}
  .analytics-metrics{grid-template-columns:repeat(5,1fr)!important;gap:6px}.analytics-metrics article{padding:9px}.analytics-metrics strong{font-size:16pt}.grid-2{grid-template-columns:1fr 1fr!important;gap:10px}.executive-priorities{grid-template-columns:1fr 1fr!important;gap:6px}.executive-item{background:#fff!important;border-color:#bbb!important;padding:8px}
  .table-scroll{overflow:visible!important}.table-scroll table{min-width:0!important;width:100%!important}th,td{padding:6px 7px;font-size:8.5pt}th{background:#eee!important;color:#222!important}.bar,.mini-bar{border:1px solid #aaa;background:#eee!important}.bar span,.mini-bar span{background:#555!important}
  details.analytics-details>*{display:block!important}details.analytics-details summary{margin-bottom:6px}
  a{color:#111!important;text-decoration:none!important}.badge{border:1px solid #aaa;background:#fff!important;color:#222!important}
  .report-printable{break-inside:auto}.analytics-school,.program-analytics{break-before:auto}
}


/* v1.0.7 Public, Prospect & Registration Prefill Foundation */
.public-hero-compact{padding:40px 0 46px}.public-hero-compact h1{font-size:clamp(2.2rem,4.6vw,4.5rem);max-width:760px}.public-hero-compact>div:first-child{padding:10px 0}.compact-programs{align-self:stretch}.public-essentials{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:26px 0 50px}.public-essential{display:flex;gap:12px;align-items:flex-start;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.public-essential>b{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:9px;background:#eef4ff;color:var(--brand)}.public-essential strong{display:block}.public-essential p{margin:3px 0 0;color:var(--muted);font-size:.84rem}.registration-page>h1{max-width:720px}.lookup-card,.known-data-card{border:1px solid var(--line);border-radius:16px;padding:18px;margin:18px 0;background:var(--panel)}.lookup-card>div>h2,.known-data-card h2{margin:0 0 5px;font-size:1.08rem}.lookup-card>div>p{margin:0 0 14px;color:var(--muted);max-width:760px}.known-data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.known-data-grid>div{padding:11px 12px;border-radius:11px;background:#f8fafc;border:1px solid var(--line)}.known-data-grid span{display:block;font-size:.74rem;color:var(--muted);margin-bottom:3px}.known-data-grid strong{display:block;font-size:.88rem}.registration-form{margin-top:16px}.manual-registration{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}.manual-registration>summary{cursor:pointer;font-weight:800;color:var(--brand);margin-bottom:14px}.profile-groups{display:grid;gap:14px}.profile-group{padding-top:13px;border-top:1px solid var(--line)}.profile-group:first-child{padding-top:0;border-top:0}.profile-group h3{font-size:.84rem;margin:0 0 10px;color:#344054}.prospect-profile .detail{grid-template-columns:108px 1fr}.public-staff-link{color:var(--muted)}
html[data-theme="dark"] .known-data-grid>div{background:#0d1626}html[data-theme="dark"] .public-essential>b{background:#102143}
@media(max-width:760px){.public-essentials{grid-template-columns:1fr}.known-data-grid{grid-template-columns:1fr}.known-data-grid .span-2{grid-column:auto}.public-staff-link{display:none}.prospect-profile .detail{grid-template-columns:94px 1fr}}

/* v1.0.10 Digital Application Form Prefill & Persistence */
.registration-intro{max-width:760px;margin:-4px 0 18px;color:var(--muted)}
.registration-digital-form{display:grid;gap:14px;margin-top:16px}
.registration-section{margin:0;border:1px solid var(--line);border-radius:16px;padding:17px;background:var(--panel);min-width:0}
.registration-section legend{padding:0 7px;font-weight:850;color:var(--text);font-size:.93rem}
.registration-section .section-copy{margin:0 0 13px;color:var(--muted);font-size:.83rem}
.parent-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.parent-card{min-width:0;padding:14px;border:1px solid var(--line);border-radius:13px;background:#f8fafc}
.parent-card h3{margin:0 0 11px;font-size:.88rem}
.prefill-summary{padding:13px 14px;border:1px solid #b2ddff;border-radius:14px;background:#eff8ff}
.prefill-summary>strong{display:block;font-size:.88rem;margin-bottom:7px}
.prefill-summary>small{display:block;color:var(--muted);margin-top:7px;line-height:1.5}
.prefill-chips{display:flex;gap:6px;flex-wrap:wrap}.prefill-chips span{font-size:.73rem;font-weight:750;padding:5px 8px;border-radius:999px;background:#fff;border:1px solid #b2ddff}
.registration-submit{position:sticky;bottom:10px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--panel) 94%,transparent);box-shadow:0 8px 28px rgba(16,24,40,.12);backdrop-filter:blur(10px);z-index:5}
.registration-submit>div{display:flex;flex-direction:column;gap:2px}.registration-submit strong{font-size:.85rem}.registration-submit small{color:var(--muted)}
.registration-account-section{border-color:#b2ccff}
html[data-theme="dark"] .parent-card{background:#0d1626}html[data-theme="dark"] .prefill-summary{background:#102143;border-color:#234d99}html[data-theme="dark"] .prefill-chips span{background:#111c32;border-color:#234d99}
@media(max-width:760px){.parent-grid{grid-template-columns:1fr}.registration-section{padding:15px}.registration-submit{position:static;display:grid}.registration-submit .btn{width:100%}}

/* v1.0.11 Read-only Application Form Workspace */
.application-form-workspace{margin-bottom:18px}.application-form-workspace .panel-head{align-items:flex-start}.application-form-workspace .panel-head p{margin:4px 0 0;max-width:760px}.form-readiness{display:flex;align-items:baseline;gap:6px;white-space:nowrap}.form-readiness strong{font-size:1.45rem;color:var(--brand)}.form-readiness span{font-size:.76rem;color:var(--muted)}.application-form-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:0 0 14px;border-bottom:1px solid var(--line);color:var(--muted);font-size:.78rem}.form-section-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:14px 0}.form-status-card{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px 11px;border:1px solid var(--line);border-radius:12px;background:#f8fafc;min-width:0}.form-status-card>span{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#eef4ff;color:var(--brand);font-weight:900}.form-status-card strong,.form-status-card small{display:block}.form-status-card strong{font-size:.8rem}.form-status-card small{font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}.form-profile-sections{display:grid;gap:8px}.profile-read-section{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--panel)}.profile-read-section>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 13px;cursor:pointer;font-weight:800}.profile-read-section>summary::-webkit-details-marker{display:none}.profile-read-section>summary span{display:flex;align-items:center;gap:9px}.profile-read-section>summary b{display:grid;place-items:center;width:26px;height:26px;border-radius:7px;background:#eef4ff;color:var(--brand);font-size:.78rem}.profile-read-section[open]>summary{border-bottom:1px solid var(--line);background:#fafcff}.profile-read-body{padding:14px}.profile-detail-grid{grid-template-columns:125px minmax(0,1fr) 125px minmax(0,1fr);gap:9px 14px}.profile-detail-grid .profile-long{grid-column:span 3}.parent-read-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.parent-read-grid section{padding:12px;border:1px solid var(--line);border-radius:11px;background:#f8fafc}.parent-read-grid h3{margin:0 0 10px;font-size:.86rem}.form-workspace-foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid var(--line);font-size:.75rem;color:var(--muted)}
html[data-theme="dark"] .form-status-card,html[data-theme="dark"] .parent-read-grid section{background:#0d1626}html[data-theme="dark"] .profile-read-section[open]>summary{background:#111c32}html[data-theme="dark"] .form-status-card>span,html[data-theme="dark"] .profile-read-section>summary b{background:#102143}
@media(max-width:980px){.form-section-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-detail-grid{grid-template-columns:110px minmax(0,1fr)}.profile-detail-grid .profile-long{grid-column:auto}.parent-read-grid{grid-template-columns:1fr}}
@media(max-width:620px){.application-form-workspace .panel-head{display:grid}.form-readiness{justify-self:start}.form-section-status-grid{grid-template-columns:1fr}.form-status-card small{max-width:58vw}.profile-read-section>summary{padding:11px}.profile-read-body{padding:12px}.profile-detail-grid{grid-template-columns:96px minmax(0,1fr)}.profile-read-section>summary .badge{font-size:.7rem}.form-workspace-foot{display:grid}}


/* v1.0.13 Candidate self-service form editor */
.candidate-portal{max-width:980px;margin:0 auto}.candidate-form-state{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--panel);margin-bottom:14px}.candidate-form-state p{margin:4px 0 0;color:var(--muted);font-size:.84rem}.candidate-form-state.editable{border-color:#b2ddff;background:#eff8ff}.candidate-readiness{display:flex;align-items:baseline;gap:6px;white-space:nowrap}.candidate-readiness strong{font-size:1.5rem;color:var(--brand)}.candidate-readiness span{font-size:.74rem;color:var(--muted)}.candidate-edit-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 16px;border:1px solid var(--line);border-radius:14px;background:var(--panel);margin-bottom:16px}.candidate-edit-cta strong,.candidate-edit-cta small{display:block}.candidate-edit-cta small{margin-top:3px}.candidate-self-editor{display:grid;gap:14px}.candidate-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-top:6px}.candidate-editor-head h2{margin:0;font-size:1.35rem}.candidate-editor-head p{margin:5px 0 0;color:var(--muted);max-width:680px}.candidate-canonical{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.candidate-canonical span{display:flex;flex-direction:column;gap:3px;padding:11px 12px;border:1px solid var(--line);border-radius:11px;background:#f8fafc;min-width:0;overflow:hidden;text-overflow:ellipsis}.candidate-canonical b{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.candidate-authority-note{padding:13px 14px}.candidate-editor-sections{display:grid;gap:9px}.candidate-edit-section{border:1px solid var(--line);border-radius:13px;background:var(--panel);overflow:hidden}.candidate-edit-section>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;cursor:pointer}.candidate-edit-section>summary::-webkit-details-marker{display:none}.candidate-edit-section>summary>span:first-child{display:flex;align-items:center;gap:10px;min-width:0}.candidate-edit-section>summary b{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#eef4ff;color:var(--brand);font-size:.78rem;flex:none}.candidate-edit-section>summary span span{display:flex;flex-direction:column;min-width:0;font-weight:800}.candidate-edit-section>summary small{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:500px}.candidate-edit-section[open]>summary{border-bottom:1px solid var(--line);background:#fafcff}.candidate-edit-body{padding:15px}.candidate-save-bar{position:sticky;bottom:10px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 14px;border:1px solid #b2ddff;background:rgba(239,248,255,.97);backdrop-filter:blur(8px);border-radius:14px;box-shadow:0 10px 35px #102a5618}.candidate-save-bar strong,.candidate-save-bar small{display:block}.candidate-locked-note{margin-top:14px}
html[data-theme="dark"] .candidate-form-state.editable,html[data-theme="dark"] .candidate-save-bar{background:#102143;border-color:#234d99}html[data-theme="dark"] .candidate-canonical span{background:#111c32}html[data-theme="dark"] .candidate-edit-section[open]>summary{background:#111c32}
@media(max-width:760px){.candidate-metrics{grid-template-columns:1fr!important}.candidate-form-state,.candidate-edit-cta,.candidate-editor-head,.candidate-save-bar{align-items:flex-start;flex-direction:column}.candidate-edit-cta .btn,.candidate-save-bar .btn{width:100%}.candidate-canonical{grid-template-columns:repeat(2,minmax(0,1fr))}.candidate-edit-section>summary{align-items:flex-start}.candidate-edit-section>summary .badge{display:none}.candidate-save-bar{position:static}.candidate-edit-body{padding:13px}}
@media(max-width:520px){.candidate-canonical{grid-template-columns:1fr}.candidate-portal{padding:16px}.candidate-edit-section>summary small{max-width:250px}}

/* v1.0.14 Guided correction request */
.candidate-form-state.correction{border-color:#f7d394;background:#fffaeb}.candidate-correction-request{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:16px;border:1px solid #f7d394;border-radius:14px;background:#fffaeb;margin-bottom:16px}.candidate-correction-request p{margin:5px 0 10px;color:#7a2e0e}.correction-section-chips{display:flex;flex-wrap:wrap;gap:7px}.correction-section-chips span{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border-radius:999px;background:var(--panel);border:1px solid var(--line);font-size:.75rem}.correction-section-chips b{color:var(--brand)}.candidate-correction-note{background:#fffaeb;border-color:#f7d394}.correction-request-panel{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}.correction-request-panel>summary{display:flex;justify-content:space-between;align-items:center;gap:10px;cursor:pointer;list-style:none;padding:8px 0}.correction-request-panel>summary::-webkit-details-marker{display:none}.correction-request-panel>summary span{font-size:.76rem;color:var(--muted)}.correction-request-form{display:grid;gap:12px;padding:12px 0 2px}.correction-request-form>label{display:grid;gap:6px;font-size:.83rem;font-weight:700}.correction-request-form textarea{width:100%;border:1px solid #cfd7e5;background:var(--panel);color:var(--text);border-radius:10px;padding:10px 11px}.correction-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.correction-checks label{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#f8fafc;cursor:pointer}.correction-checks input{width:auto}.correction-checks span{display:flex;gap:7px;align-items:center;font-size:.8rem}.correction-checks b{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:#eef4ff;color:var(--brand)}.correction-waiting{padding:13px;border:1px solid #f7d394;border-radius:12px;background:#fffaeb;margin-bottom:12px}.correction-waiting p{margin:9px 0 4px}.correction-waiting small{display:block}
html[data-theme="dark"] .candidate-form-state.correction,html[data-theme="dark"] .candidate-correction-request,html[data-theme="dark"] .candidate-correction-note,html[data-theme="dark"] .correction-waiting{background:#2b1d0b;border-color:#7a4f18}html[data-theme="dark"] .correction-checks label{background:#0d1626}
@media(max-width:760px){.candidate-correction-request{flex-direction:column}.candidate-correction-request .btn{width:100%}.correction-checks{grid-template-columns:1fr}.correction-request-panel>summary{align-items:flex-start;flex-direction:column}}
/* v1.0.15 — controlled staff correction workspace */
.staff-correction-workspace{margin-top:12px;border:1px solid var(--line);border-radius:12px;background:#f8fafc;overflow:hidden}.staff-correction-workspace>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 13px;cursor:pointer;list-style:none}.staff-correction-workspace>summary::-webkit-details-marker{display:none}.staff-correction-workspace>summary>div{display:grid;gap:2px}.staff-correction-workspace>summary span:not(.badge){font-size:.75rem;color:var(--muted)}.staff-correction-intro{padding:0 13px 10px;color:var(--muted);font-size:.8rem}.staff-correction-intro p{margin:0}.staff-correction-sections{display:grid;gap:8px;padding:0 12px 12px}.staff-correction-sections>details{border:1px solid var(--line);border-radius:10px;background:var(--panel);overflow:hidden}.staff-correction-sections>details>summary{display:flex;align-items:center;gap:9px;padding:10px 11px;cursor:pointer;list-style:none;font-weight:800}.staff-correction-sections>details>summary::-webkit-details-marker{display:none}.staff-correction-sections>details>summary b{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:#eef4ff;color:var(--brand);font-size:.75rem}.staff-correction-form{padding:12px;border-top:1px solid var(--line)}.staff-correction-form textarea{width:100%}html[data-theme="dark"] .staff-correction-workspace{background:#0d1626}html[data-theme="dark"] .staff-correction-sections>details>summary b{background:#102143}@media(max-width:620px){.staff-correction-workspace>summary{align-items:flex-start}.staff-correction-form{grid-template-columns:1fr}.staff-correction-form .span-2{grid-column:auto}.staff-correction-form .form-actions .btn{width:100%}}

/* v1.0.17 · Prospect import safe-enrichment preview */
.import-preview{margin:0 0 16px}.import-preview .panel-head{align-items:flex-start}.import-preview .panel-head .eyebrow{margin-bottom:3px}.import-preview .panel-head h2{margin:0}.import-preview-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:4px 0 12px}.import-preview-metrics article{border:1px solid var(--line);border-radius:12px;padding:12px;background:#f8fafc}.import-preview-metrics span{display:block;color:var(--muted);font-size:.76rem}.import-preview-metrics strong{display:block;font-size:1.35rem;margin-top:4px}.import-preview-table{margin-top:12px;border:1px solid var(--line);border-radius:12px}.import-preview-table table{min-width:720px}.import-preview-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.import-preview-actions form{margin:0}html[data-theme="dark"] .import-preview-metrics article{background:#111c32}@media(max-width:760px){.import-preview-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.import-preview-actions{display:grid;grid-template-columns:1fr}.import-preview-actions .btn{width:100%}}@media(max-width:480px){.import-preview-metrics{grid-template-columns:1fr 1fr}}

/* v1.0.18 Registration Prefill Completeness + Prospect Editing */
.registration-optional{margin-top:13px;border:1px dashed var(--line);border-radius:12px;background:#fafcff;overflow:hidden}.registration-optional>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;list-style:none;padding:11px 12px;font-weight:800;color:#344054}.registration-optional>summary::-webkit-details-marker{display:none}.registration-optional>summary span{font-size:.72rem;font-weight:650;color:var(--muted)}.registration-optional[open]>summary{border-bottom:1px solid var(--line)}.registration-optional>.form-grid,.registration-optional>.parent-grid{padding:12px}.registration-extra-sections{display:block}.registration-extra-sections>fieldset{margin:12px;border-radius:12px}.prospect-edit-cta{display:flex;justify-content:flex-end;align-items:center}.prospect-editor{grid-column:1/-1}.prospect-editor .alert{margin-top:0}html[data-theme="dark"] .registration-optional{background:#0d1626}@media(max-width:860px){.prospect-edit-cta{grid-column:auto}.prospect-editor{grid-column:auto}.registration-optional>summary{align-items:flex-start}}

/* v1.0.19 Prospect detail action bar + in-context editor */
.prospect-detail-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:0 0 14px}.prospect-detail-actions .btn{min-width:132px}#prospect-activity{scroll-margin-top:96px}.prospect-editor-active{overflow:hidden}.prospect-editor-overlay{position:fixed;inset:0;z-index:70;background:rgba(15,23,42,.42);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .18s ease}.prospect-editor-overlay.show{opacity:1;pointer-events:auto}.prospect-editor-drawer{position:fixed;inset:0 0 0 auto;z-index:80;width:min(580px,92vw);background:var(--panel);border-left:1px solid var(--line);box-shadow:-18px 0 48px rgba(15,23,42,.18);transform:translateX(102%);transition:transform .22s ease;display:flex;flex-direction:column;min-height:0}.prospect-editor-drawer.open{transform:translateX(0)}.prospect-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px 15px;border-bottom:1px solid var(--line);background:var(--panel);flex:none}.prospect-editor-head .eyebrow{margin-bottom:3px}.prospect-editor-head h2{margin:0;font-size:1.22rem}.prospect-editor-head p{margin:4px 0 0;color:var(--muted);font-size:.82rem}.prospect-editor-close{font-size:1.3rem;line-height:1;flex:none}.prospect-editor-form{display:flex;flex:1;min-height:0;flex-direction:column}.prospect-editor-scroll{flex:1;min-height:0;overflow:auto;padding:16px 20px 20px;overscroll-behavior:contain}.prospect-edit-section{border:1px solid var(--line);border-radius:12px;background:var(--panel);overflow:hidden;margin-bottom:10px}.prospect-edit-section>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;cursor:pointer;padding:12px 13px}.prospect-edit-section>summary::-webkit-details-marker{display:none}.prospect-edit-section>summary span{display:flex;flex-direction:column;min-width:0}.prospect-edit-section>summary strong{font-size:.88rem}.prospect-edit-section>summary small{font-size:.74rem}.prospect-edit-section>summary b{font-size:.72rem;color:var(--brand)}.prospect-edit-section[open]>summary{background:#f8fafc;border-bottom:1px solid var(--line)}.prospect-edit-section>.form-grid{padding:13px}.prospect-editor-footer{display:flex;align-items:center;justify-content:flex-end;gap:9px;padding:13px 20px calc(13px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:rgba(255,255,255,.96);backdrop-filter:blur(10px);flex:none}.prospect-editor-footer .btn{min-width:116px}html[data-theme="dark"] .prospect-edit-section[open]>summary{background:#0d1626}html[data-theme="dark"] .prospect-editor-footer{background:rgba(17,26,42,.96)}
@media(max-width:680px){.prospect-detail-actions{display:grid;grid-template-columns:1fr 1fr}.prospect-detail-actions .btn{width:100%;min-width:0}.prospect-editor-drawer{width:100vw;border-left:0}.prospect-editor-head{padding:15px 16px 13px}.prospect-editor-scroll{padding:13px 16px 18px}.prospect-edit-section>.form-grid{grid-template-columns:1fr}.prospect-edit-section>.form-grid .span-2{grid-column:auto}.prospect-editor-footer{padding-left:16px;padding-right:16px}.prospect-editor-footer .btn{flex:1;min-width:0}}
@media(max-width:420px){.prospect-detail-actions{grid-template-columns:1fr}.prospect-editor-head p{display:none}}

/* v1.0.20 Prospect queue in-context actions */
.prospect-queue-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;white-space:nowrap}
.prospect-queue-actions .btn{white-space:nowrap}
.prospect-row-name{display:inline-block;font-weight:800;color:var(--text);text-decoration:none}
.prospect-row-name:hover,.prospect-row-name:focus-visible{color:var(--brand);text-decoration:underline}
.prospect-table tr:target{outline:2px solid var(--brand);outline-offset:-2px;background:rgba(59,130,246,.055)}
.prospect-table tr[id^="prospect-"]{scroll-margin-top:92px}
.prospect-queue-drawer .prospect-queue-content{flex:1;min-height:0;overflow:auto;padding:18px 20px 22px;overscroll-behavior:contain}
.prospect-queue-drawer .prospect-queue-content.is-edit{padding:0;display:flex;overflow:hidden}
.prospect-queue-drawer .prospect-queue-content.is-edit>.prospect-editor-form{flex:1;min-height:0;min-width:0}
.prospect-queue-drawer .prospect-queue-content.is-activity .form-grid{margin-top:8px}
.prospect-queue-drawer .prospect-queue-content.is-activity .form-actions{padding-bottom:calc(10px + env(safe-area-inset-bottom))}
@media(max-width:760px){.prospect-queue-drawer .prospect-queue-content{padding:14px 16px 18px}.prospect-queue-actions{justify-content:flex-start}.prospect-table td:last-child{min-width:178px}}
@media(prefers-reduced-motion:reduce){.prospect-queue-drawer{transition:none}}

/* v1.0.21: read-only readiness indicators + narrow-screen queue cards. */
.operational-readiness{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:13px 17px;margin:0 0 16px;box-shadow:0 4px 14px rgba(15,23,42,.035)}
.readiness-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.readiness-summary>div:first-child{min-width:180px;flex:1}.readiness-summary strong{display:block;font-size:.91rem}.readiness-summary small{display:block;font-size:.75rem;margin-top:2px}.readiness-missing{max-width:min(100%,440px);position:relative;font-size:.8rem}.readiness-missing>summary{cursor:pointer;color:var(--brand);font-weight:750;white-space:nowrap;list-style-position:inside}.readiness-missing[open]>summary{white-space:normal}.readiness-missing ul{margin:7px 0 0;padding:9px 12px 9px 28px;border:1px solid var(--line);border-radius:10px;background:var(--bg);max-height:240px;overflow:auto}.readiness-missing li{margin:3px 0}.readiness-missing li small{font-size:.75rem;margin:1px 0 6px}.readiness-done{font-size:.77rem;font-weight:800;color:var(--ok)}.readiness-track{height:5px;border-radius:999px;background:var(--line);overflow:hidden;margin-top:10px}.readiness-track>span{display:block;height:100%;background:var(--brand);border-radius:inherit}.readiness-inline{display:block;font-size:.75rem;line-height:1.4;color:var(--muted);margin-top:3px;max-width:330px;overflow-wrap:anywhere}.prospect-table .prospect-queue-actions{flex-wrap:wrap;row-gap:5px}.application-queue .btn.small,.prospect-queue-actions .btn.small{min-height:34px;padding:6px 10px}
@media(max-width:700px){
 .operational-readiness{padding:13px 14px}.readiness-summary{align-items:flex-start}.readiness-missing{width:100%;max-width:none}.readiness-missing>summary{white-space:normal}
 .prospect-table .table-scroll,.application-queue .table-scroll{overflow:visible}
 .prospect-table table,.application-queue table,.prospect-table tbody,.application-queue tbody{display:block;width:100%}
 .prospect-table thead,.application-queue thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
 .prospect-table tbody tr,.application-queue tbody tr{display:block;padding:13px 15px;border-bottom:1px solid var(--line)}
 .prospect-table tbody td,.application-queue tbody td{display:flex;justify-content:space-between;align-items:baseline;gap:12px;width:100%;min-width:0;border:0;padding:4px 0;text-align:right;font-size:.82rem}
 .prospect-table tbody td:first-child,.application-queue tbody td:first-child{display:block;text-align:left;padding-bottom:10px;margin-bottom:5px;border-bottom:1px solid var(--line)}
 .prospect-table tbody td:not(:first-child):not(:last-child)::before,.application-queue tbody td:not(:first-child):not(:last-child)::before{content:attr(data-label);display:block;flex:none;color:var(--muted);font-size:.73rem;white-space:nowrap;text-align:left}
 .prospect-table tbody td:last-child,.application-queue tbody td:last-child{display:block;text-align:left;padding-top:12px}
 .prospect-table tbody td:last-child .prospect-queue-actions{justify-content:flex-start}
 .prospect-table .readiness-inline,.application-queue .readiness-inline{max-width:none}
 .prospect-table tbody tr[id^="prospect-"]{scroll-margin-top:88px}
}

/* v1.0.22 — locality-first coverage; no map or inferred distance */
.dusun-coverage{margin-bottom:18px}
.dusun-coverage .panel-head{align-items:flex-start}
.dusun-filters{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:12px 0 10px}
.dusun-filters label{display:grid;gap:5px;font-size:.77rem;color:var(--muted);font-weight:700;flex:1 1 160px;min-width:130px}
.dusun-filters select{width:100%;min-height:40px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--text)}
.dusun-filters select:disabled{opacity:.5}
.dusun-coverage-table{min-width:880px}
.dusun-coverage-table td:first-child{min-width:190px}
.dusun-coverage-table td small,.coverage-top strong small{display:block;font-weight:400;font-size:.78rem;color:var(--muted)}
.dusun-coverage .inline-actions{margin:8px 0 12px}
@media(max-width:640px){.dusun-filters{padding:0 15px}.dusun-coverage>p.hint,.dusun-coverage>.inline-actions{margin-left:15px;margin-right:15px}.dusun-filters label{min-width:100%;flex-basis:100%}.dusun-filters .btn{flex:1}}
@media print{.dusun-coverage-table{min-width:0!important}.dusun-coverage-table td,.dusun-coverage-table th{padding:4px 3px;font-size:7pt}.dusun-coverage .panel-head{margin-bottom:6px}.dusun-coverage>.hint{font-size:8pt}.dusun-coverage{break-inside:auto!important}.dusun-coverage tr{break-inside:avoid}}


/* v1.0.23 — Shared geographic filters: quiet in desktop, compact on mobile */
.field-geo-panel{margin:12px 0 16px;padding:12px 15px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}
.field-geo-title{display:flex;align-items:center;margin-bottom:10px}
.field-geo-title strong{font-size:.88rem}
.field-geo-panel .dusun-filters{padding:0}
@media(max-width:640px){.field-geo-panel{margin:10px 0;padding:12px}.field-geo-panel .dusun-filters{padding:0}.field-geo-panel .dusun-filters .btn{width:100%}}
@media print{.field-geo-panel{display:none!important}}

/* v1.0.24 — Compact count-aware geographic filters and contextual metrics. */
.field-geo-summary{display:flex;align-items:center;flex-wrap:wrap;gap:5px 14px;margin:-4px 0 16px;padding:2px 4px;color:var(--muted);font-size:.8rem}
.field-geo-summary strong{color:var(--text);font-size:.89rem}
.field-geo-summary span{display:inline-flex;align-items:center;gap:6px}
.field-geo-summary span::before{content:'·';color:var(--muted)}
@media(max-width:640px){.field-geo-summary{margin:0 0 12px;gap:4px 10px}.field-geo-summary span::before{content:none}}
@media print{.field-geo-summary{display:none!important}}

/* v1.0.26 — quiet, one-line school + domicile in field lists. Wraps naturally on mobile. */
.field-prospect-meta{display:block;margin-top:3px;font-size:.79rem;line-height:1.45;color:var(--muted);overflow-wrap:anywhere;white-space:normal}
.field-prospect-meta>span{color:var(--muted);margin:0 2px}
/* Override legacy nowrap/ellipsis in list rows and flex layout for nested checklist spans. */
.list-row small.field-prospect-meta,.field-visit-choices small.field-prospect-meta{white-space:normal;overflow:visible;text-overflow:clip}
.field-visit-choices .field-prospect-meta>span{display:inline;flex-direction:initial}
.field-activity-grid{margin-top:12px}
.field-activity-prospects .list-row>div,.field-activity-recent .list-row>div{min-width:0;flex:1}
.field-activity-prospects .list-row{align-items:flex-start;gap:12px}
.field-activity-prospects .list-row>.btn{flex:none;align-self:flex-start}
.field-activity-recent .list-row{align-items:flex-start;gap:9px}
.field-activity-recent .list-row>.badge{flex:none}
.field-visit-choices .checklist label span{min-width:0;overflow-wrap:anywhere}
@media(max-width:680px){.field-activity-prospects .list-row,.field-activity-recent .list-row{align-items:flex-start}.field-prospect-meta{font-size:.78rem}}

/* v1.0.27 — Compact Prospek queue (read-only UI, desktop + mobile). */
.prospect-table .prospect-row-top{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:3px 10px;min-width:0}
.prospect-table .prospect-row-readiness{flex:none;color:var(--muted);font-size:.73rem;font-weight:700;text-decoration:none;white-space:nowrap}
.prospect-table .prospect-row-readiness:hover,.prospect-table .prospect-row-readiness:focus-visible{color:var(--brand);text-decoration:underline}
.prospect-table td:first-child{min-width:240px}
.prospect-table td .field-prospect-meta{margin-top:4px;font-weight:400;line-height:1.4}
@media(max-width:700px){.prospect-table td:first-child{min-width:0}.prospect-table tbody td:first-child{padding-bottom:7px;margin-bottom:4px}.prospect-table tbody td:last-child{padding-top:9px}.prospect-table .prospect-row-top{align-items:center}}

/* v1.0.28 — Penerimaan compact queue/detail; no admission behavior changes. */
.admission-queue-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}
.admission-queue-head h2{font-size:1.12rem;line-height:1.25;margin:0}
.admission-queue-head>strong{color:var(--brand);font-size:.78rem;font-weight:800;white-space:nowrap}
.admission-chips{margin-bottom:3px}
.admission-toolbar{gap:9px;flex-wrap:wrap;align-items:center}
.admission-toolbar .search{min-width:min(100%,270px)}
.admission-toolbar .hint{margin-left:auto;white-space:nowrap;font-size:.76rem}
.application-queue .panel-head{padding-bottom:10px}
.application-queue .panel-head h2{font-size:1.03rem}
.application-queue td{vertical-align:middle}
.application-queue .applicant-queue-identity{min-width:215px;max-width:490px}
.application-queue .applicant-queue-identity>strong{display:block;line-height:1.35;font-size:.88rem}
.application-queue .applicant-queue-identity>small{display:block;color:var(--muted);font-size:.76rem;margin-top:2px;line-height:1.35;overflow-wrap:anywhere}
.application-queue .applicant-queue-identity .readiness-inline{font-size:.73rem}
.application-queue .queue-next{font-size:.77rem;font-weight:750}
.application-queue td:last-child{white-space:nowrap}
.applicant-hero{padding:14px 17px}
.applicant-hero h2{font-size:1.14rem;line-height:1.3;margin:0 0 4px}
.applicant-hero p{font-size:.79rem;line-height:1.45;overflow-wrap:anywhere}
.applicant-hero-status{flex:none}
.application-readiness{padding:10px 15px;margin-bottom:10px}
.application-readiness .readiness-summary strong{font-size:.83rem}
.application-readiness .readiness-track{margin-top:7px;height:4px}
.admission-steps{display:flex;gap:6px;margin:10px 0 13px;overflow-x:auto;scrollbar-width:thin;padding:1px 1px 3px}
.admission-step{min-width:104px;flex:1 0 0;padding:7px 9px;gap:7px}
.admission-step>span{width:22px;height:22px;min-width:22px;font-size:.7rem}
.admission-step>strong{font-size:.74rem;white-space:nowrap}
.applicant-workspace .process-panel{order:-1}
.applicant-workspace>.panel{min-width:0}
.applicant-workspace .process-panel h2{font-size:1.03rem;line-height:1.35;margin:0 0 10px}
.applicant-workspace .process-panel>.eyebrow{font-size:.7rem;letter-spacing:.08em}
.applicant-workspace .applicant-document-panel .detail{margin-bottom:10px}
.applicant-document-panel .form-actions{margin-top:8px}
.application-form-workspace{margin-top:13px}
.application-form-workspace .panel-head{margin-bottom:8px}
.application-form-workspace .panel-head h2{margin:0;font-size:1.06rem}
.application-form-meta{padding-bottom:9px;gap:6px}
.application-form-workspace .form-profile-sections{margin-top:10px}
.activation-workspace .panel-head{align-items:center}
.activation-workspace .panel-head h2{margin:0;font-size:1.06rem}
@media(max-width:800px){
 .application-queue table{min-width:600px}
 .admission-steps{grid-template-columns:none}
 .admission-step{min-width:108px;flex:1 0 auto}
 .applicant-hero{flex-direction:row;align-items:center}
 .applicant-hero-status{align-items:flex-end;text-align:right}
}
@media(max-width:700px){
 .admission-queue-head{align-items:baseline}
 .admission-queue-head h2{font-size:1.04rem}
 .admission-toolbar{display:grid;grid-template-columns:1fr auto;gap:7px}
 .admission-toolbar .search{grid-column:1/-1;min-width:0;max-width:none;width:100%}
 .admission-toolbar .search input{min-width:0}
 .admission-toolbar .hint{margin-left:0;justify-self:end}
 .admission-toolbar .admission-search-reset{justify-self:start}
 .application-queue table{min-width:0}
 .application-queue tbody tr:not(.application-empty-row){display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;padding:12px 14px}
 .application-queue tbody tr:not(.application-empty-row) td{border:0;min-width:0;padding:2px 0;margin:0;align-items:flex-start}
 .application-queue tbody tr:not(.application-empty-row) td:first-child{grid-column:1/-1;text-align:left;padding-bottom:7px}
 .application-queue tbody tr:not(.application-empty-row) td:nth-child(2){grid-column:1;grid-row:2;display:block;text-align:left}
 .application-queue tbody tr:not(.application-empty-row) td:nth-child(3){grid-column:1;grid-row:3;display:block;text-align:left}
 .application-queue tbody tr:not(.application-empty-row) td:nth-child(2)::before,
 .application-queue tbody tr:not(.application-empty-row) td:nth-child(3)::before{display:none}
 .application-queue tbody tr:not(.application-empty-row) td:last-child{grid-column:2;grid-row:2/4;display:block;align-self:center;text-align:right}
 .application-queue .applicant-queue-identity{max-width:none}
 .application-queue .queue-next{display:block;overflow-wrap:anywhere}
 .applicant-hero{gap:10px;padding:12px 14px;flex-wrap:wrap}
 .applicant-hero h2{font-size:1.06rem}
 .applicant-workspace{gap:10px}
 .application-readiness{padding:10px 12px}
 .application-readiness .readiness-missing{width:auto}
 .activation-workspace .panel-head{flex-wrap:wrap;gap:6px}
}
@media(prefers-reduced-motion:reduce){.admission-steps{scroll-behavior:auto}}

/* v1.0.29 — Reporting-first, low-noise UI. Reporting SQL/CSV and print table stay unchanged. */
.report-section-nav{display:flex;gap:6px;align-items:center;overflow-x:auto;scrollbar-width:thin;margin:-3px 0 12px;padding:3px 0 6px}
.report-section-nav a{display:inline-flex;align-items:center;min-height:36px;padding:6px 11px;border:1px solid var(--line);border-radius:10px;color:var(--muted);background:var(--panel);font-size:.79rem;font-weight:750;white-space:nowrap}
.report-section-nav a:hover,.report-section-nav a:focus-visible{border-color:var(--brand);color:var(--brand);outline-offset:2px}
#report-dusun,#report-followup,#report-schools,#report-programs{scroll-margin-top:24px}
.analytics-head{align-items:center;margin-bottom:12px}
.analytics-head .eyebrow{margin-bottom:4px}
.analytics-head h2{font-size:1.24rem;margin-bottom:2px}
.analytics-head p{font-size:.78rem}
.analytics-metrics{gap:8px;margin-bottom:13px}
.analytics-metrics article{padding:11px 13px;border-radius:12px}
.analytics-metrics strong{font-size:1.43rem;margin:5px 0 2px}
.analytics-metrics span,.analytics-metrics small{font-size:.72rem}
.executive-summary{padding:15px 18px;margin-bottom:13px}
.executive-summary .panel-head{margin-bottom:6px}
.executive-summary .panel-head .eyebrow{font-size:.65rem;margin-bottom:0;letter-spacing:.08em}
.executive-summary .panel-head h2{font-size:1rem}
.executive-priorities{display:block}
.executive-summary .executive-item{display:flex;flex-wrap:wrap;gap:3px 9px;align-items:baseline;padding:8px 0;background:transparent!important;border:0;border-bottom:1px solid var(--line);border-radius:0}
.executive-summary .executive-item:last-child{border-bottom:0}
.executive-summary .executive-item strong{font-size:.84rem;line-height:1.35}
.executive-summary .executive-item span{font-size:.75rem;line-height:1.4}
.report-export{padding-top:9px;margin-top:5px;border-top:1px solid var(--line)}
.report-export summary{cursor:pointer;width:max-content;max-width:100%;font-size:.79rem;font-weight:750;color:var(--brand);padding:3px 0}
.report-export summary:focus-visible{outline:2px solid var(--brand);outline-offset:4px}
.report-export .report-actions{margin:6px 0 0;padding:0;border:0}
.report-export .report-actions .btn{min-height:36px;padding:6px 10px;font-size:.77rem}
.report-method-note{color:var(--muted);font-size:.75rem;line-height:1.4;margin:4px 0 8px}
.analytics-top{margin-bottom:13px}
.analytics-top .panel{padding:16px 18px}
.analytics-top .panel-head{margin-bottom:7px}
.analytics-top .list-row,.analytics-top .signal-row{padding:8px 0}
.analytics-top .mini-metrics{margin-bottom:4px}
.analytics-top .mini-metrics article{padding:8px}
.analytics-top .mini-metrics strong{font-size:1.1rem;margin-top:2px}
.dusun-coverage{margin-bottom:13px}
.dusun-coverage .panel-head{margin-bottom:6px}
.dusun-coverage .panel-head h2{font-size:1.05rem}
.coverage-scope{display:flex;align-items:baseline;gap:5px 13px;flex-wrap:wrap;margin:0 18px 6px;color:var(--muted);font-size:.78rem}
.coverage-scope strong{font-size:.88rem;color:var(--text)}
.coverage-scope span::before{content:'·';margin-right:9px}
.dusun-coverage .dusun-filters{margin:9px 17px 7px;gap:7px}
.dusun-coverage .dusun-filters label{flex-basis:145px;font-size:.73rem}
.dusun-coverage .dusun-filters select{min-height:38px;padding:6px 9px}
.coverage-export-row{display:flex;gap:8px 12px;align-items:center;flex-wrap:wrap;margin:0 18px 11px}
.coverage-export-row .btn{min-height:34px;padding:5px 10px;font-size:.77rem}
.coverage-export-row small{font-size:.72rem}
.report-data-table table{width:100%}
.report-data-table td{vertical-align:top}
.report-data-table td:first-child strong{display:block}
.report-data-table td:first-child small{display:block;font-size:.74rem;line-height:1.35}
.report-data-table td:not(:first-child){white-space:nowrap}
.report-data-table .mini-bar{min-width:0;max-width:100px}
@media screen and (max-width:800px){
 .analytics-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
 .analytics-head{flex-direction:row;flex-wrap:wrap}
 .report-head-actions{width:auto;margin-left:auto}
 .report-head-actions .btn{flex:auto}
 .executive-summary .executive-item{display:block}
 .executive-summary .executive-item span{display:block;margin-top:2px}
 .dusun-coverage .dusun-filters{padding:0}
}
@media screen and (max-width:700px){
 .analytics-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
 .analytics-metrics article{padding:10px}
 .analytics-metrics strong{font-size:1.35rem}
 .report-section-nav{margin-bottom:10px}
 .executive-summary{padding:12px 14px}
 .executive-summary .panel-head{align-items:center}
 .executive-summary .panel-head>small{font-size:.65rem}
 .analytics-top .panel{padding:13px}
 .analytics-top .mini-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
 .analytics-top .mini-metrics span{font-size:.68rem;line-height:1.25}
 .analytics-top .mini-metrics strong{font-size:1rem}
 .dusun-coverage .panel-head{margin-bottom:4px}
 .coverage-scope{margin:2px 13px 5px}
 .dusun-coverage .dusun-filters{margin:8px 13px 7px;padding:0}
 .dusun-coverage .dusun-filters label{min-width:0;flex:1 1 100%}
 .dusun-coverage .dusun-filters .btn{flex:1}
 .coverage-export-row{margin:0 13px 10px}
 .report-data-table>.table-scroll{overflow:visible;max-width:none}
 .report-data-table table{min-width:0!important;width:100%;display:block}
 .report-data-table thead{display:none}
 .report-data-table tbody{display:grid;gap:8px;padding:0 10px 12px}
 .report-data-table tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 11px;border:1px solid var(--line);border-radius:12px;padding:11px 12px;background:var(--panel);min-width:0}
 .report-data-table tbody td{display:block;min-width:0;padding:0!important;border:0!important;text-align:left;font-size:.82rem;white-space:normal!important;overflow-wrap:anywhere}
 .report-data-table tbody td:first-child{grid-column:1/-1;border-bottom:1px solid var(--line)!important;padding-bottom:7px!important;margin-bottom:1px}
 .report-data-table tbody td:not(:first-child)::before{display:block;content:attr(data-label);font-size:.68rem;line-height:1.3;color:var(--muted);margin-bottom:2px}
 .report-data-table td:first-child strong{font-size:.85rem}
 .report-data-table .mini-bar{height:4px;margin-top:3px}
 .report-data-table tbody td[colspan]{grid-column:1/-1;text-align:center}
 .report-data-table tbody td[colspan] .empty{border:0;min-height:0;padding:12px}
}
@media screen and (max-width:420px){.analytics-head h2{font-size:1.13rem}.analytics-top .mini-metrics span{font-size:.65rem}.report-section-nav a{font-size:.73rem}}
@media print{
 .executive-summary .executive-item{background:#fff!important;border-bottom:1px solid #bbb!important}
 .coverage-scope{margin:5px 0;color:#444!important}
 .dusun-coverage .panel-head{padding:0}
 .report-data-table table{display:table!important}
 .report-data-table thead{display:table-header-group!important}
 .report-data-table tbody{display:table-row-group!important;padding:0!important}
 .report-data-table tbody tr{display:table-row!important;border:0!important;padding:0!important}
 .report-data-table tbody td{display:table-cell!important;padding:4px 3px!important;font-size:7.5pt;white-space:normal!important}
 .report-data-table tbody td::before{display:none!important}
}

/* v1.0.30 — Global interaction and responsive polish (non-destructive). */
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--brand);outline-offset:3px}
:where(button,.btn,.icon-btn,summary){touch-action:manipulation}
:where(.panel,.table-panel,.analytics-school,.program-analytics){min-width:0}
:where(.panel-head,.toolbar,.report-head-actions,.inline-actions,.form-actions){row-gap:10px}
:where(.form-grid,.grid-2,.metrics,.analytics-metrics)>*{min-width:0}
:where(input,select,textarea){max-width:100%}
:where(.panel,.table-panel) :is(p,small,td,dd){overflow-wrap:anywhere}
:where(.btn,.icon-btn,button):disabled{cursor:not-allowed;opacity:.58}
:where(.btn,.icon-btn,button):not(:disabled){transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease}
:where(.btn,.icon-btn):hover:not(:disabled){box-shadow:0 3px 10px rgba(15,23,42,.09)}
.table-scroll:focus-visible{outline:3px solid var(--brand);outline-offset:2px}
@media(max-width:800px){.toolbar{flex-wrap:wrap}.toolbar>.search{max-width:none;flex:1 1 100%}.form-actions{flex-wrap:wrap}.content{min-width:0}.sidebar{max-width:calc(100vw - 48px)}}
@media(max-width:520px){.form-grid{grid-template-columns:minmax(0,1fr)}.form-grid>.span-2{grid-column:auto}.form-actions>.btn{max-width:100%}.panel-head{gap:9px}.top-actions{min-width:0}.topbar h1{overflow-wrap:anywhere}}
@media(hover:none){.btn,.icon-btn,.nav-item{min-height:44px}}
@media(prefers-reduced-motion:reduce){:where(.btn,.icon-btn,button){transition:none!important}}

/* v1.0.31 — Operational queue clarity; presentation only. */
.prospect-toolbar .search,.admission-toolbar .search{min-width:0;display:flex;align-items:center;gap:8px;flex:1}
.prospect-toolbar .search input[type="search"],.admission-toolbar .search input[type="search"]{min-width:0;flex:1;width:100%;max-width:100%}
.prospect-toolbar .queue-count{margin-left:auto;white-space:nowrap;font-size:.78rem}
.prospect-toolbar .prospect-search-reset,.admission-toolbar .admission-search-reset{white-space:nowrap}
.filter-chips .chip:focus-visible{outline:3px solid var(--brand);outline-offset:2px}
@media(max-width:700px){.prospect-toolbar,.admission-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.prospect-toolbar .search,.admission-toolbar .search{flex-basis:100%;width:100%}.prospect-toolbar .search button,.admission-toolbar .search button{flex-shrink:0}.prospect-toolbar .queue-count,.admission-toolbar .hint{margin-left:auto}.prospect-search-reset,.admission-search-reset{flex-shrink:0}.prospect-toolbar .drop{max-width:100%}.filter-chips{scroll-padding-inline:12px}}

/* v1.0.32 — Field list search, mobile-first and no-JS safe. */
.field-prospect-find{display:grid;gap:6px;margin:12px 0;padding:0 2px}
.field-prospect-find label{font-weight:650;font-size:.85rem}
.field-prospect-find input{width:100%;max-width:100%;min-width:0}
.field-prospect-find small{font-size:.78rem;opacity:.8}
.field-activity-prospects [hidden]{display:none!important}
@media(max-width:700px){.field-activity-prospects .list-row{gap:10px;flex-wrap:wrap}.field-activity-prospects .list-row>.btn{min-height:44px}}

/* v1.0.33 — Dashboard follow-up links keep keyboard focus visible. */
.dashboard-prospect-link{font-weight:700;color:inherit;text-decoration:none;text-underline-offset:3px}
.dashboard-prospect-link:hover,.dashboard-prospect-link:focus-visible{text-decoration:underline}
.dashboard-prospect-link:focus-visible{outline:2px solid currentColor;outline-offset:3px;border-radius:2px}

/* v1.0.36 — Field activity form mobile */
#prospect-activity{scroll-margin-top:1.25rem}
#prospect-activity:focus{outline:none}
.field-activity-form select,.field-activity-form input,.field-activity-form textarea{max-width:100%;min-width:0}
@media(max-width:640px){.field-activity-form{grid-template-columns:minmax(0,1fr)}.field-activity-form>label,.field-activity-form>.form-more,.field-activity-form>.form-actions{grid-column:1/-1}.field-activity-form .form-actions .btn{width:100%;min-height:44px}}

/* v1.0.38 — unified server-side search */
.field-activity-search{display:flex;gap:8px;align-items:center;margin:10px 0;min-width:0}.field-activity-search input[type="search"]{flex:1;min-width:0;width:100%}.field-search-reset{display:inline-flex;margin-bottom:10px}.field-geo-panel .dusun-filters{align-items:end}
@media(max-width:640px){.field-activity-search input[type="search"]{min-width:0}.field-geo-panel .dusun-filters .btn{width:auto}}

/* v1.0.39 — Unified in-list live search, minimal clear icon and no toolbar buttons. */
.operational-live-search{display:flex;align-items:center;width:100%;max-width:none;min-width:0;margin:12px 0;gap:8px}
.operational-live-search .live-search-field{position:relative;display:block;flex:1;min-width:0;width:100%}
.operational-live-search .live-search-field input[type="search"]{display:block;width:100%;min-width:0;max-width:none;padding-inline:43px 42px;margin:0}
.operational-live-search input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}
.operational-live-search .live-search-clear{position:absolute;inset-inline-end:5px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:0;border-radius:8px;color:var(--muted);font-size:21px;line-height:1;text-decoration:none;background:transparent}
.operational-live-search .live-search-clear:hover{background:var(--bg);color:var(--text)}
.operational-live-search .live-search-clear:focus-visible{outline:2px solid var(--brand);outline-offset:1px}
.operational-live-search .live-search-clear[hidden],.live-search-feedback[hidden]{display:none!important}
.prospect-table .panel-head{gap:10px;flex-wrap:wrap}
.prospect-table .panel-head .queue-count{margin-left:auto;font-weight:500}
.prospect-import-actions{display:flex;justify-content:flex-end;margin:0 0 10px}
.live-search-feedback{display:block;margin:4px 0 10px;color:var(--danger);font-size:.8rem}
/* Preserve content contrast during asynchronous refresh; do not blink the entire list. */
[data-live-search-results][aria-busy="true"]{opacity:1}
@media(max-width:640px){.operational-live-search .live-search-field input[type="search"]{min-height:43px}.prospect-import-actions .btn{min-height:38px}}

/* v1.0.39 — Live search is the first control, before location and queue filters. */
.operational-search-top{width:100%;margin:0 0 12px;min-width:0}
.operational-search-top .operational-live-search{margin:0}
.operational-live-search .live-search-icon{position:absolute;inset-inline-start:13px;top:50%;transform:translateY(-50%);height:20px;width:20px;display:flex;align-items:center;justify-content:center;color:var(--muted);pointer-events:none}
.operational-search-top + [data-live-geo] .field-geo-panel{margin-top:0}
.operational-live-search .live-search-clear{z-index:1}

/* v1.0.40 — Admission uses the same search-first control as operational queues. */
.admission-search-top{margin-top:0;margin-bottom:12px}
.admission-search-top .operational-live-search{max-width:none;width:100%}
.admission-chips{margin-top:0;margin-bottom:12px}
.application-queue .panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.application-queue .panel-head [data-live-search-count]{font-size:.8rem;font-weight:500;white-space:nowrap}
@media(max-width:640px){.admission-search-top .live-search-field input[type="search"]{min-height:44px}}


/* v1.0.41 — Compact admission actions and consistent prospect identity links. */
.application-queue .applicant-queue-name{display:inline-block;color:var(--text);font-weight:800;font-size:.88rem;line-height:1.35;text-decoration:none;text-underline-offset:3px}
.application-queue .applicant-queue-name:hover,.application-queue .applicant-queue-name:focus-visible{color:var(--brand);text-decoration:underline}
.application-queue .applicant-queue-identity .readiness-inline{margin-top:5px}
.application-queue .queue-next{line-height:1.4}
.field-activity-recent .dashboard-prospect-link{display:inline-block;max-width:100%;overflow-wrap:anywhere}
@media(max-width:700px){
 .application-queue tbody tr:not(.application-empty-row){gap:3px 12px}
 .application-queue tbody tr:not(.application-empty-row) td:first-child{border-bottom:0;padding-bottom:4px;margin-bottom:0}
 .application-queue tbody tr:not(.application-empty-row) td:last-child{min-width:74px}
 .application-queue tbody tr:not(.application-empty-row) td:last-child .btn{min-height:44px;min-width:70px}
 .application-queue .queue-next{font-size:.79rem}
 .field-activity-prospects .list-row>.btn{min-height:44px}
 .prospect-table .prospect-queue-actions .btn{min-height:44px}
}

/* v1.0.42 — Geographic filter copy diet. Keep an accessible name while
   removing duplicate visible labels above self-descriptive dropdowns. */
.dusun-filters .geo-select-label{position:relative}
.dusun-filters .geo-select-label .geo-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.dusun-filters .geo-select-label select:focus-visible{outline:2px solid var(--brand);outline-offset:2px}

/* v1.0.43 — Stable search + compact operational rhythm (presentation only). */
.operational-live-search .live-search-field input[type="search"]{scroll-margin-block:16px}
.operational-live-search .live-search-clear{touch-action:manipulation}
.operational-search-top{margin-bottom:10px}
.field-geo-panel .dusun-filters{margin-top:4px;margin-bottom:4px}
@media(max-width:700px){
 .operational-search-top{margin-bottom:10px}
 .field-geo-panel{padding:10px 12px}
 .field-geo-panel .dusun-filters{gap:8px}
 .prospect-table .panel-head,.application-queue .panel-head{align-items:baseline}
 .prospect-table .panel-head [data-live-search-count],.application-queue .panel-head [data-live-search-count]{white-space:normal;text-align:right}
}

/* v1.0.44 — Dashboard + operational detail mobile consolidation.
   No changes to data authority, submission, or permission handling. */
.focus-board-head{margin-bottom:12px;align-items:center}
.focus-board-head h2{margin:0;font-size:1.17rem;line-height:1.4}
.focus-card{position:relative;padding-right:34px;min-height:130px}
.focus-card::after{content:"↗";position:absolute;right:14px;top:12px;font-size:1.08rem;line-height:1;color:currentColor;opacity:.82}
.focus-card>small{min-width:0;overflow-wrap:anywhere}
.dashboard-secondary .list-row>div:first-child{flex:1 1 160px;min-width:0}
.dashboard-secondary .list-row .badge{max-width:100%;text-align:center;white-space:normal;flex:none}
.dashboard-secondary .list-row .btn.small{min-height:40px;flex:none}
#prospect-activity{scroll-margin-top:106px}
.prospect-detail-actions{display:flex;flex-wrap:wrap;gap:8px}
.prospect-profile .detail dd{overflow-wrap:anywhere;min-width:0}
.field-activity-form .form-more summary{min-height:44px;display:flex;align-items:center}
.application-queue .applicant-queue-identity{min-width:0}
.application-queue .applicant-queue-name{overflow-wrap:anywhere}
@media(max-width:700px){
  .focus-board{padding:14px}
  .focus-grid{gap:9px}
  .focus-card{min-height:112px;padding:12px 30px 12px 12px}
  .focus-card>strong{font-size:1.7rem;margin:4px 0}
  .dashboard-secondary .panel{padding:14px}
  .dashboard-secondary .list-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px 10px}
  .dashboard-secondary .list-row>div:first-child{grid-column:1;grid-row:1;min-width:0}
  .dashboard-secondary .list-row>.badge{grid-column:2;grid-row:1;justify-self:end}
  .dashboard-secondary .dashboard-followup-row>div:first-child{grid-row:1 / span 2}
  .dashboard-secondary .dashboard-followup-row>.btn.small{grid-column:2;grid-row:2;justify-self:end;min-width:68px}
  .prospect-detail-actions .btn{min-height:44px}
  .field-activity-form .form-more .form-grid{grid-template-columns:minmax(0,1fr)}
  .field-activity-form .form-more .form-grid>label{grid-column:1/-1}
}
@media(max-width:460px){
  .focus-card{min-height:94px}
  .focus-card>small{flex:0 1 auto}
  .prospect-detail-actions>.btn{flex:1 1 auto}
}

/* v1.0.45 — Read-first prospect detail and action-aware mobile forms.
   Native disclosure affects presentation only; no form fields or write paths change. */
.prospect-profile-school{margin:-6px 0 12px;color:var(--muted);font-size:.83rem;overflow-wrap:anywhere}
.prospect-profile .profile-group-extra>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;cursor:pointer;font-size:.84rem;font-weight:750;color:var(--text);list-style:none}
.prospect-profile .profile-group-extra>summary::-webkit-details-marker{display:none}
.prospect-profile .profile-group-extra>summary::after{content:"+";font-size:1.08rem;line-height:1;color:var(--muted);font-weight:600}
.prospect-profile .profile-group-extra[open]>summary::after{content:"−"}
.prospect-profile .profile-group-extra>summary:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:5px}
.prospect-profile .profile-group-extra[open]>.detail{padding:5px 0 9px}
.field-activity-target{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;margin:-5px 0 13px;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:var(--bg);font-size:.81rem;overflow-wrap:anywhere}
.field-activity-target strong{color:var(--text)}
.field-activity-target span{color:var(--muted)}
@media(max-width:700px){
  .prospect-profile{padding:15px}
  .prospect-profile .profile-groups{gap:7px}
  .prospect-profile .profile-group-extra{padding-top:7px}
  .field-activity-target{display:grid;gap:2px}
  .field-activity-form input,.field-activity-form select,.field-activity-form textarea{min-height:44px}
  .field-activity-form textarea{min-height:78px}
  .applicant-workspace .process-panel{order:-1}
  .applicant-workspace .process-form .form-actions>.btn{min-height:44px}
  .application-form-workspace .profile-read-section>summary{min-height:44px}
}
html[data-theme="dark"] .field-activity-target{background:var(--panel)}

/* v1.0.46 — Progressive geo hierarchy + compact Prospek toolbar.
   Hidden children must override the older grid-label display rule. */
.dusun-filters .geo-select-label[hidden]{display:none!important}
.prospect-filter-bar{display:flex;align-items:flex-start;gap:8px;min-width:0;margin:0 0 10px}
.prospect-filter-bar .filter-chips{min-width:0;flex:1 1 auto;padding-bottom:4px;margin:0;overflow-x:auto;overscroll-behavior-inline:contain}
.prospect-filter-bar .prospect-import-actions{flex:0 0 auto;justify-content:flex-end;margin:0}
.prospect-filter-bar .prospect-import-actions .drop>summary{min-height:34px;border-radius:999px;padding:6px 11px;font-size:.8rem;white-space:nowrap}
.prospect-filter-bar .prospect-import-actions .drop-panel{left:auto;right:0;width:min(380px,90vw)}
@media(max-width:640px){
 .prospect-filter-bar{gap:7px}
 .prospect-filter-bar .prospect-import-actions .drop>summary{min-height:34px;padding:6px 10px}
}


/* v1.0.47 — Prospect queue: show next action and status on one mobile row.
   Keep every data field and canonical Catat/Edit action, reduce repeated labels. */
@media(max-width:700px){
 .prospect-table tbody tr[id^="prospect-"]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 9px;padding:12px 14px}
 .prospect-table tbody tr[id^="prospect-"]>td{min-width:0;margin:0;padding:0;border:0}
 .prospect-table tbody tr[id^="prospect-"]>td:first-child{grid-column:1/-1;margin:0;padding:0 0 3px;border:0;text-align:left}
 .prospect-table tbody tr[id^="prospect-"]>td[data-label="Berikutnya"]{grid-column:1;grid-row:2;display:flex;align-items:center;justify-content:flex-start;text-align:left;overflow-wrap:anywhere}
 .prospect-table tbody tr[id^="prospect-"]>td[data-label="Status"]{grid-column:2;grid-row:2;display:flex;align-items:center;justify-content:flex-end;text-align:right}
 .prospect-table tbody tr[id^="prospect-"]>td[data-label="Berikutnya"]::before,
 .prospect-table tbody tr[id^="prospect-"]>td[data-label="Status"]::before{content:none;display:none}
 .prospect-table tbody tr[id^="prospect-"]>td:last-child{grid-column:1/-1;grid-row:3;padding-top:4px;text-align:left}
 .prospect-table .prospect-row-top{gap:3px 8px;align-items:center}
 .prospect-table td .field-prospect-meta{margin-top:3px;line-height:1.35;white-space:normal;overflow-wrap:anywhere}
 .prospect-table .prospect-queue-actions{gap:7px}
 .prospect-table .prospect-queue-actions .btn.small{min-height:40px;padding:7px 12px}
}

/* v1.0.48 — Mobile operational list consistency. Presentation/navigation only.
   Keep field identity, domicile and canonical Catat; keep admission state and actions. */
.field-activity-prospects .field-prospect-identity{min-width:0;flex:1 1 auto}
.field-activity-prospects .field-prospect-name{display:inline-block;max-width:100%;font-size:.89rem;font-weight:750;line-height:1.4;color:var(--text);overflow-wrap:anywhere;text-decoration:none;text-underline-offset:3px}
.field-activity-prospects .field-prospect-name:hover,.field-activity-prospects .field-prospect-name:focus-visible{color:var(--brand);text-decoration:underline}
.field-activity-prospects .field-prospect-name:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:3px}
.field-activity-prospects .field-prospect-row>.btn{white-space:nowrap;min-width:66px}
@media(max-width:700px){
  .field-activity-grid{gap:10px}
  .field-activity-grid>.panel{padding:13px 14px}
  .field-activity-grid .panel-head{align-items:baseline;gap:5px 9px;margin-bottom:6px;flex-wrap:wrap}
  .field-activity-grid .panel-head h2{font-size:.99rem;line-height:1.3}
  .field-activity-grid [data-live-search-count]{font-size:.75rem;white-space:normal}
  .field-activity-prospects .field-prospect-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;padding:10px 0;align-items:center}
  .field-activity-prospects .field-prospect-row>.btn{align-self:center;min-height:44px;padding:8px 11px}
  .field-activity-prospects .field-prospect-row .field-prospect-meta{margin-top:3px;line-height:1.35}
  .field-activity-recent .list-row{padding:10px 0;gap:8px}
  .field-activity-recent .list-row>.badge{max-width:42%;white-space:normal;line-height:1.3;text-align:center;overflow-wrap:anywhere}
  .application-queue tbody tr:not(.application-empty-row){gap:3px 9px;padding:10px 13px;align-items:center}
  .application-queue tbody tr:not(.application-empty-row) td:first-child{padding-bottom:5px}
  .application-queue .applicant-queue-identity small{line-height:1.36;white-space:normal;overflow-wrap:anywhere}
  .application-queue .applicant-queue-identity .readiness-inline{margin-top:3px}
  .application-queue .queue-next{line-height:1.3;overflow-wrap:anywhere}
  .application-queue tbody tr:not(.application-empty-row) td:last-child .btn{white-space:nowrap}
}
@media(max-width:380px){
  .field-activity-prospects .field-prospect-row{gap:5px 7px}
  .field-activity-prospects .field-prospect-row>.btn{min-width:60px;padding-inline:9px}
  .application-queue tbody tr:not(.application-empty-row){gap:3px 7px}
  .application-queue tbody tr:not(.application-empty-row) td:last-child{min-width:64px}
  .application-queue tbody tr:not(.application-empty-row) td:last-child .btn{min-width:64px;padding-inline:8px}
}

/* v1.0.49 — Consolidated touch and keyboard affordances.
   Only presentation is changed; existing mobile card data, actions, filters and forms are retained. */
@media(max-width:700px){
 .prospect-filter-bar .filter-chips .chip,.admission-chips .chip{min-height:40px;scroll-margin-inline:8px}
 .prospect-table .prospect-queue-actions .btn.small{min-height:44px}
 .application-queue tbody tr:not(.application-empty-row) td:last-child .btn{min-height:44px}
 .field-activity-prospects .field-prospect-row>.btn{min-height:44px}
 .prospect-editor-footer .btn{min-height:44px}
}
.prospect-editor-drawer[aria-hidden="true"]{visibility:hidden}
.prospect-editor-drawer[aria-hidden="false"]{visibility:visible}


/* v1.0.51 — Dark mode button contrast & operational action polish */
/* Preserve the existing primary action hierarchy. Secondary buttons must never
   combine the old white surface with dark-theme foreground text. */
html[data-theme="dark"]{
  --action-bg:#203047;
  --action-hover:#2d4260;
  --action-border:#445b7c;
  --action-text:#f1f6ff;
  --action-muted-bg:#19283d;
  --action-muted-text:#becce0;
}
html[data-theme="dark"] .btn{
  background:var(--action-bg);
  border-color:var(--action-border);
  color:var(--action-text);
}
html[data-theme="dark"] .btn.primary{
  background:var(--brand);
  border-color:var(--brand);
  color:#fff;
}
html[data-theme="dark"] .btn.ghost{
  background:transparent;
  border-color:var(--action-border);
  color:var(--action-text);
}
html[data-theme="dark"] .btn.muted{
  background:var(--action-muted-bg);
  border-color:var(--line);
  color:var(--action-muted-text);
}
html[data-theme="dark"] .icon-btn{
  background:var(--action-bg);
  border-color:var(--action-border);
  color:var(--action-text);
}
html[data-theme="dark"] .filter-chips .chip:not(.active){
  background:var(--action-muted-bg);
  border-color:var(--action-border);
  color:#d8e6f8;
}
html[data-theme="dark"] .btn:hover:not(:disabled):not(.primary):not(.muted),
html[data-theme="dark"] .icon-btn:hover:not(:disabled),
html[data-theme="dark"] .filter-chips .chip:not(.active):hover{
  background:var(--action-hover);
  border-color:#7da2d9;
  color:#fff;
}
html[data-theme="dark"] .btn.primary:hover:not(:disabled),
html[data-theme="dark"] .filter-chips .chip.active:hover{
  background:var(--brand2);
  border-color:var(--brand2);
  color:#fff;
}
html[data-theme="dark"] :is(.btn,.icon-btn,.filter-chips .chip):focus-visible{
  outline:3px solid #a4ceff;
  outline-offset:3px;
}
html[data-theme="dark"] :is(.btn,.icon-btn):disabled,
html[data-theme="dark"] .btn[aria-disabled="true"]{
  opacity:.72;
  box-shadow:none;
  cursor:not-allowed;
}
/* The white-on-blue Dashboard CTA is an intentional visual exception. */
html[data-theme="dark"] .focus-board-head .btn:not(.primary){
  background:#fff;
  border-color:#fff;
  color:#174ea6;
}
html[data-theme="dark"] .focus-board-head .btn:not(.primary):hover{
  background:#eaf2ff;
  border-color:#eaf2ff;
  color:#123d83;
}
@media(hover:none){
  html[data-theme="dark"] :is(.btn,.icon-btn,.filter-chips .chip){
    -webkit-tap-highlight-color:rgba(164,206,255,.16);
  }
}
@media print{
  html[data-theme="dark"] :is(.btn,.icon-btn,.filter-chips .chip){
    background:#fff!important;
    color:#111!important;
    border-color:#bbb!important;
    box-shadow:none!important;
  }
}

/* v1.0.52 — Compact quick-action on recent field activity, no action reordering. */
.field-activity-recent-row>.btn.small{flex:none;min-height:40px;white-space:nowrap}
@media(max-width:700px){
 .field-activity-recent .field-activity-recent-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 9px;align-items:center}
 .field-activity-recent-row>div:first-child{grid-column:1;grid-row:1 / span 2;min-width:0}
 .field-activity-recent .field-activity-recent-row>.badge{grid-column:2;grid-row:1;justify-self:end;max-width:100%}
 .field-activity-recent-row>.btn.small{grid-column:2;grid-row:2;justify-self:end;min-width:66px;min-height:44px}
}

/* v1.0.53 — Field contact context + explicit return on successful save. */
.field-activity-recent-context{display:flex;align-items:baseline;flex-wrap:wrap;gap:3px 9px;margin:-4px 0 12px;color:var(--muted);font-size:.79rem;line-height:1.45}
.field-activity-recent-context strong{color:var(--text);font-weight:740}
.field-activity-recent-context time{font-variant-numeric:tabular-nums}
.field-activity-save-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.field-activity-save-actions>.btn{min-height:44px}
@media(max-width:700px){
 .field-activity-save-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .field-activity-save-actions>.btn{min-width:0;min-height:46px;white-space:normal;padding:9px 8px;text-align:center}
 .field-activity-save-actions>.btn:only-child{grid-column:1/-1}
}

/* v1.0.58 — light queue expansion, accessible on mobile and in dark mode. */
.prospect-table [data-live-search-results="prospects"]>.table-scroll{width:100%}
.prospect-pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;padding:16px 14px;border-top:1px solid var(--line)}
.prospect-pagination .hint{font-size:.81rem;margin:0}
.prospect-pagination .btn{min-height:42px}
.prospect-pagination .btn[aria-busy="true"]{pointer-events:none;opacity:.7}
@media(max-width:640px){.prospect-pagination{padding:12px;gap:8px}.prospect-pagination .btn{min-width:156px}}

@media print{.prospect-pagination{display:none!important}}

/* v1.0.60: short entry workspace, no second explanatory-only column. */
.entry-workspace{max-width:880px}
.entry-workspace .entry-form{margin-top:12px}
.entry-workspace .entry-optional{grid-column:1/-1}
.entry-workspace .entry-optional>summary{min-height:44px;display:flex;align-items:center}
.entry-workspace .entry-optional>.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:600px){.entry-workspace .entry-optional>.form-grid{grid-template-columns:minmax(0,1fr)}.entry-workspace .entry-optional>.form-grid>.span-2{grid-column:auto}.entry-workspace .entry-form>.form-actions>.btn{width:100%;min-height:44px}}


/* v1.0.63 — keyboard-safe, scrollable mobile navigation drawer. */
.sidebar-close{display:none}
@media(max-width:860px){
 .admin-body.mobile-menu-open{overflow:hidden;overscroll-behavior:contain}
 .sidebar{height:100dvh;padding-bottom:max(18px,env(safe-area-inset-bottom))}
 .sidebar-close{display:inline-flex;margin-left:auto;flex:none;width:36px;height:36px;border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#fff}
 .sidebar nav{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
 .sidebar-foot{margin-top:0}
}
@media(prefers-reduced-motion:reduce){.sidebar{transition:none}}

/* v1.0.67-pl1 — one public login entry; hero owns Daftar and Cek status. */
.public-head .public-brand-short{display:none}
.public-head nav{align-items:center}
.public-head .public-login-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 13px;border:1px solid var(--line);border-radius:12px;color:var(--text);background:var(--panel);font-weight:700;white-space:nowrap}
.public-head .public-login-link .ico{width:18px;height:18px}
.public-head .public-login-link:hover{border-color:var(--brand)}
.public-head .public-login-link:focus-visible,.public-login-option:focus-visible{outline:3px solid var(--brand);outline-offset:3px}
.public-login-gateway{max-width:520px}
.public-login-gateway .hint{margin:0 0 20px}
.public-login-options{display:grid;gap:10px}
.public-login-option{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--panel);min-height:64px}
.public-login-option:hover{border-color:var(--brand);background:var(--bg)}
.public-login-option strong,.public-login-option small{display:block}
.public-login-option strong{font-size:.94rem}
.public-login-option small{font-size:.82rem;margin-top:3px}
.public-login-option>span:last-child{font-size:1.4rem;color:var(--muted)}
@media(max-width:620px){.public-head .public-brand-full{display:none}.public-head .public-brand-short{display:block}.public-head{gap:10px}.public-brand{min-width:0;gap:7px}.public-head nav a.public-login-link:first-child{display:inline-flex}}
@media(max-width:400px){.public-head{padding:12px 10px;gap:7px}.public-brand .brand-mark{width:32px;height:32px}.public-head .public-login-link{padding:7px 11px}.public-login-gateway{margin:22px auto;padding:20px}}

/* v1.0.68: A-F are visible sections, not nested in a hidden optional disclosure. */
.registration-page .registration-extra-sections{display:grid;gap:14px;min-width:0}
.registration-page .registration-extra-sections>.registration-section{margin:0}
.registration-page .registration-intro{max-width:680px;margin:8px 0 14px}
@media(max-width:520px){.registration-page .registration-extra-sections{gap:12px}}

/* v1.0.69 · Read-only IDs are available only inside applicant/staff sessions. */
.candidate-identity-readonly{grid-template-columns:repeat(2,minmax(0,1fr));margin:0 0 12px}
.candidate-identity-readonly span{overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
@media(max-width:520px){.candidate-identity-readonly{grid-template-columns:repeat(2,minmax(0,1fr))}.candidate-identity-readonly span{padding:10px 8px;font-size:.85rem}}

/* v1.0.70: concise account-first registration; no JS requirement for NIK/NISN selection. */
.registration-account-create{max-width:470px;display:grid;gap:14px;margin-top:16px}
.registration-account-create>label{display:grid;gap:6px}
.registration-account-create>.btn{width:100%;min-height:46px}
.registration-identity-options{display:grid;grid-template-columns:1fr 1fr;gap:0 8px}
.registration-identity-options>input[type=radio]{position:absolute;width:1px;height:1px;opacity:0}
.registration-identity-options>label{padding:11px 12px;border:1px solid var(--border,#cbd5e1);border-radius:10px;text-align:center;cursor:pointer;font-weight:650}
#register-by-nik:checked+label,#register-by-nisn:checked+label{border-color:var(--primary,#2563eb);box-shadow:inset 0 0 0 1px var(--primary,#2563eb)}
.registration-identity-options>input[type=radio]:focus-visible+label{outline:3px solid var(--primary,#2563eb);outline-offset:2px}
.registration-identity-input{grid-column:1/-1;margin-top:13px}
.registration-identity-input>label{display:grid;gap:6px}
#register-by-nik:checked~.registration-input-nisn,#register-by-nisn:checked~.registration-input-nik{display:none}
.registration-locked-id{display:flex;flex-direction:column;gap:3px;padding:11px 13px;border:1px solid var(--border,#cbd5e1);border-radius:10px}
.registration-locked-id span{font-size:.76rem;color:var(--muted)}
.registration-locked-id strong{font-size:.96rem;overflow-wrap:anywhere}

/* v1.0.71: compact, mobile-first confirmed identity gate. */
.registration-identity-confirm{max-width:560px;margin:18px auto 8px;padding:20px;border:1px solid var(--line, #cbd5e1);border-radius:18px;background:var(--panel,transparent)}
.registration-identity-confirm h2{margin:0 0 8px;font-size:1.25rem}
.registration-identity-confirm p{margin:0 0 16px}
.registration-identity-confirm .detail{margin:0 0 18px}
.registration-confirm-actions{display:flex;gap:10px;flex-wrap:wrap}
.registration-confirm-actions .btn{flex:1;min-height:44px}
@media(max-width:540px){.registration-identity-confirm{padding:16px}.registration-confirm-actions{flex-direction:column}}

/* v1.0.71 confirmed identity popup: native, no inline scripts and no hidden fallback. */
dialog.registration-identity-confirm{position:fixed;inset:0;margin:auto;width:min(460px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto;color:var(--text);background:var(--panel);box-shadow:0 20px 70px #0005;z-index:99}
dialog.registration-identity-confirm::backdrop{background:rgba(5,12,24,.65)}
html[data-theme="dark"] dialog.registration-identity-confirm{background:var(--panel);color:var(--text)}

/* v1.0.72 optional candidate document, isolated from main admission flow */
.candidate-document-upload{margin-top:16px;padding:16px;border:1px solid var(--border,#d8dce4);border-radius:14px}.candidate-document-upload h2{font-size:1.05rem;margin:0 0 10px}.candidate-document-form{display:grid;gap:12px}.candidate-document-form input[type=file]{width:100%;max-width:100%;padding:10px 0}.candidate-document-form .btn{justify-self:start}.candidate-document-review{margin-top:16px;border-top:1px solid var(--border,#d8dce4);padding-top:12px}.candidate-document-review p{margin:7px 0}@media(max-width:600px){.candidate-document-upload{padding:12px}.candidate-document-form .btn{width:100%;justify-self:stretch}}

/* v1.0.73 — Device-persistence controls */
/* v1.0.117 — applicant remember choice: compact, left-aligned and accessible.
   Specific selectors override .auth-card form>label flex-direction:column and
   full-width input padding. Label is clickable and still has a 40px touch target. */
.auth-card form>label.remember-option,.registration-account-create>label.remember-option{display:inline-flex!important;flex-direction:row!important;justify-content:flex-start!important;align-items:center;align-self:start;justify-self:start;width:fit-content;max-width:100%;min-height:40px;gap:8px;margin:2px 0 8px;padding:6px 0;font-size:.78rem;line-height:1.3;font-weight:500;color:var(--muted);cursor:pointer}
.auth-card form>label.remember-option input[type=checkbox],.registration-account-create>label.remember-option input[type=checkbox]{appearance:auto;width:16px!important;height:16px!important;min-width:16px!important;flex:0 0 16px;margin:0!important;padding:0!important;border-radius:4px;accent-color:var(--brand,#2563eb);cursor:pointer}
.auth-card form>label.remember-option span,.registration-account-create>label.remember-option span{display:inline;white-space:normal}
.staff-sso-gateway{width:100%;display:grid;gap:0;min-width:0}
.staff-sso-gateway .public-login-option{width:100%;text-align:left;cursor:pointer;font:inherit;color:inherit}
/* v1.0.94 — small but touch-accessible single-session escape for shared devices. */
.staff-sso-gateway .staff-login-once{justify-self:end;display:inline-flex;align-items:center;min-height:44px;padding:8px 6px;color:var(--muted);font-size:.8rem;text-decoration:underline;text-underline-offset:3px;border-radius:6px}
.staff-sso-gateway .staff-login-once:hover{color:var(--brand)}
.staff-sso-gateway .staff-login-once:focus-visible{outline:3px solid var(--brand);outline-offset:2px}

/** v1.0.118 — two clear Core gateway choices, accessible dual-role server POST. */
.access-choice-button{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer}
.access-choice-button:focus-visible{outline:3px solid var(--brand);outline-offset:3px}
/* v1.0.73 — Document categories, compact mobile grid */
.candidate-document-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;margin-top:12px}
.candidate-document-item,.staff-document-item{border:1px solid var(--border,#d5dce5);border-radius:12px;padding:12px;margin:7px 0}
.candidate-document-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}
.candidate-document-heading small,.staff-document-item small{color:var(--muted)}
.candidate-document-item .candidate-document-form{display:flex;align-items:end;flex-wrap:wrap;gap:8px}
.candidate-document-item .candidate-document-form label{flex:1 1 160px;min-width:0}
.candidate-document-item .candidate-document-form input[type=file]{max-width:100%;width:100%}
.candidate-document-item .candidate-document-form .btn{min-height:42px}
.staff-document-item .form-grid{margin-top:9px}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Keep eight attachments scannable without a long upload form on mobile. */
.candidate-document-grid{display:grid;grid-template-columns:1fr;gap:6px}
.candidate-document-item{padding:0;margin:0}
.candidate-document-summary{display:flex;justify-content:space-between;align-items:center;gap:9px;flex-wrap:wrap;cursor:pointer;list-style:none;padding:12px 14px;min-height:48px}
.candidate-document-summary::-webkit-details-marker{display:none}
.candidate-document-summary::after{content:"⌄";color:var(--muted);margin-left:auto}
.candidate-document-item[open]>.candidate-document-summary{border-bottom:1px solid var(--border,#d5dce5)}
.candidate-document-item>.hint{padding:0 14px}
.candidate-document-item .candidate-document-form{padding:8px 14px 14px}
.candidate-document-summary:focus-visible{outline:3px solid var(--primary,#2563eb);outline-offset:2px}

/* v1.0.74 — small mobile-friendly smart registration fields */
.spmb-school-hint{margin:0;font-size:.8rem}
.spmb-achievements{display:grid;gap:.65rem;min-width:0}
.spmb-achievement-list{display:grid;gap:.65rem}
.spmb-achievement-item{border:1px solid var(--border, #d6dde5);border-radius:12px;padding:.75rem;display:grid;gap:.55rem;min-width:0}
.spmb-achievement-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
.spmb-achievement-fields label{min-width:0}
.spmb-achievement-fields input,.spmb-achievement-fields select{width:100%;max-width:100%}
.spmb-achievement-item [data-achievement-remove]{justify-self:start}
.spmb-achievement-legacy{font-size:.84rem}
.spmb-achievement-legacy p{overflow-wrap:anywhere}
@media(max-width:600px){.spmb-achievement-fields{grid-template-columns:minmax(0,1fr)}.spmb-achievement-item{padding:.65rem}}

/* v1.0.76 — create Prospect and record first field activity in one clear screen. */
.field-entry-shortcut{display:flex;justify-content:flex-end;align-items:center;margin:0 0 12px}
.field-entry-wrap{max-width:880px;margin:0 auto}
.field-entry-wrap .field-new-entry-form{margin-top:12px}
.field-entry-wrap .field-entry-divider{padding:14px 0 2px;border-top:1px solid var(--border,rgba(120,133,150,.25))}
.field-entry-wrap .field-new-entry-form :is(input,select,textarea):focus-visible{outline:2px solid var(--accent,#2563eb);outline-offset:2px}
@media (max-width:680px){.field-entry-shortcut .btn{width:100%;justify-content:center}.field-entry-wrap .form-grid>label{min-width:0}.field-entry-wrap .field-new-entry-form .form-actions{display:flex;flex-wrap:wrap}}

/* v1.0.77 — domicile is required, visibly grouped, keyboard/touch safe. */
.field-entry-wrap .field-entry-domicile{min-width:0;margin:2px 0 8px;padding:14px 16px 16px;border:1px solid var(--border,rgba(120,133,150,.25));border-radius:12px}
.field-entry-wrap .field-entry-domicile legend{padding:0 6px;font-weight:750}
.field-entry-wrap .field-entry-address-hint{margin:0 0 12px;color:var(--muted);font-size:.88rem;line-height:1.45}
.field-entry-wrap .field-entry-domicile .form-grid{margin:0}
.field-entry-wrap .field-entry-domicile input{min-width:0;width:100%}
@media(max-width:600px){.field-entry-wrap .field-entry-domicile{padding:12px}.field-entry-wrap .field-entry-domicile .form-grid{gap:10px}}

/* v1.0.78 — visible duplicate hints without changing field-entry density elsewhere */
.field-entry-duplicate-guard{border:1px solid var(--border,#cbd5e1);border-radius:12px;padding:12px;display:grid;gap:5px}
.field-entry-duplicate-guard .hint{margin:2px 0 4px}
.field-entry-duplicate-results{display:grid;gap:6px}
.field-entry-duplicate-warning{margin:4px 0;color:var(--text,#334155);font-weight:600}
.field-entry-duplicate-match{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--border,#cbd5e1);padding:9px 0}
.field-entry-duplicate-match span{display:grid;gap:3px;min-width:0;overflow-wrap:anywhere}
.field-entry-duplicate-match small{color:var(--muted)}
@media(max-width:600px){.field-entry-duplicate-match{align-items:flex-start;flex-wrap:wrap}.field-entry-duplicate-match .btn{min-height:44px}}

/* v1.0.79 — compact, accessible masked details and opt-in reveal buttons */
.field-entry-duplicate-info{display:grid;gap:4px;min-width:0;flex:1;overflow-wrap:anywhere}
.field-entry-private-fields{display:flex;flex-wrap:wrap;gap:5px 14px;font-size:.84rem;color:var(--muted)}
.field-entry-private-item{display:inline-block;font-variant-numeric:tabular-nums}
.field-entry-duplicate-actions{display:flex;gap:6px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.field-entry-duplicate-actions .btn{white-space:nowrap}
.field-entry-duplicate-actions button:disabled{opacity:.65;cursor:wait}
@media(max-width:600px){.field-entry-duplicate-info{flex-basis:100%}.field-entry-duplicate-actions{justify-content:flex-start;width:100%}.field-entry-duplicate-actions .btn{min-height:44px}}

.field-entry-duplicate-match .field-entry-private-item{display:inline-block}

/* v1.0.80 staff registration: reuse responsive A–F visual language. */
.staff-registration-queue-action{display:flex;gap:8px;align-items:center;margin:0 0 12px}
.staff-registration-intro{margin-bottom:16px}
.staff-registration-card{max-width:980px;margin:0 auto}
.staff-registration-form{display:grid;gap:14px}
.staff-registration-form .registration-section{min-width:0}
.staff-registration-form .registration-submit{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:space-between}
.staff-registration-form .registration-submit strong{font-size:.94rem}
@media(max-width:620px){.staff-registration-form .registration-submit .btn{width:100%;justify-content:center}}

.staff-registration-form .registration-extra-sections{display:grid;gap:14px;min-width:0}
.staff-register-search{margin-bottom:14px}
.staff-prospect-choices{display:grid;gap:6px;margin-top:14px}
.staff-prospect-choices .list-row small{display:block}

/* v1.0.81 — iPhone focus typography + narrow-screen containment, without disabling zoom. */
@media (max-width:860px) and (pointer:coarse){
  :where(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),select,textarea){font-size:16px!important;line-height:1.35}
}
@media (max-width:600px){
  :where(.content,.public-main,.panel,.registration-digital-form,.registration-section,.registration-extra-sections,.parent-card,.staff-registration-card,.staff-registration-form,.staff-register-search){min-width:0;max-width:100%}
  .staff-registration-form .form-grid,.staff-register-search .form-grid,.staff-registration-form .spmb-achievement-fields{grid-template-columns:minmax(0,1fr)}
  .staff-registration-form .form-grid>.span-2{grid-column:auto}
  .staff-registration-form .registration-extra-sections>fieldset{margin:0}
  .staff-registration-form :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){min-width:0;max-width:100%}
  .staff-prospect-choices .list-row{align-items:flex-start;flex-wrap:wrap}
  .staff-prospect-choices .list-row>.btn{min-height:44px}
  .staff-registration-form .registration-submit{position:static}
  .staff-registration-form .registration-submit strong{overflow-wrap:anywhere}
}
.staff-identity-alert[hidden]{display:none!important}
.staff-identity-alert{grid-column:1/-1;min-width:0;border-radius:12px;padding:12px 14px;border:1px solid var(--line);display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap;overflow-wrap:anywhere}
.staff-identity-alert p{margin:0;flex:1 1 220px;font-size:.92rem}
.staff-identity-alert .btn{flex:none;min-height:44px}
.staff-identity-alert-warning{background:var(--bg);border-color:#d97706}
.staff-identity-alert-review{background:var(--bg);border-color:var(--line)}
@media(max-width:600px){.staff-identity-alert .btn{width:100%}}

/* v1.0.81 — consent checkbox stays next to its label on small screens. */
.staff-registration-form .staff-consent-option{display:flex;flex-direction:row;align-items:flex-start;gap:10px;line-height:1.4}
.staff-registration-form .staff-consent-option input[type="checkbox"]{width:20px;min-width:20px;height:20px;flex:0 0 20px;margin:0;accent-color:var(--brand)}

/* v1.0.82: accessible school import preview, safe mobile width. */
.school-management-grid>*{min-width:0}
.school-import-summary{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.school-import-summary>*{border:1px solid var(--border,#ddd);border-radius:8px;padding:6px 10px;font-size:.9rem}
.school-map-form select,.spmb-school-form input{width:100%;min-width:0}
@media(max-width:760px){.school-management-grid{display:grid;grid-template-columns:minmax(0,1fr)}.school-management-grid .form-grid{grid-template-columns:minmax(0,1fr)}.school-management-grid .span-2{grid-column:1/-1}}


/* v1.0.84: searchable alternative schools; no offscreen mobile controls. */
.spmb-competitor-picker{min-width:0;display:flex;flex-direction:column;gap:6px}
.spmb-competitor-picker input,.spmb-competitor-picker select{width:100%;max-width:100%;min-width:0}
.spmb-competitor-picker select{font-size:inherit}
@media (max-width:600px){.spmb-competitor-picker{grid-column:1/-1}}

/* v1.0.85 candidate security settings: collapsed by default, keyboard/mobile-friendly */
.candidate-password-settings{margin:12px 0;border-top:1px solid var(--line,#ddd);padding-top:8px}
.candidate-password-settings>summary{cursor:pointer;font-weight:600;padding:8px 0;min-height:40px}
.candidate-password-settings>form{margin-top:10px}
.candidate-password-settings input{min-width:0;width:100%;font-size:16px}

/* v1.0.87 cached Core brand mark: preserve existing compact navigation geometry. */
.brand-mark-logo{background:transparent!important;border-color:transparent!important;padding:0!important;overflow:hidden}.brand-mark-logo img{display:block;width:100%;height:100%;object-fit:contain}

/* v1.0.88 SIMAKSI achievement proposal actions: mobile safe */
@media(max-width:640px){.application-form-workspace~.panel .list-row{flex-wrap:wrap;min-width:0;gap:10px}.application-form-workspace~.panel .list-row form{width:100%;min-width:0}.application-form-workspace~.panel .list-row .btn{min-height:44px}}

/* v1.0.90 referral disclosure; no horizontal overflow on narrow mobile */
.referral-notice { display:flex; gap:.65rem; align-items:center; justify-content:space-between; flex-wrap:wrap; padding:.75rem; margin:0 0 1rem; border:1px solid var(--border,#cbd5e1); border-radius:.75rem; }
.referral-notice form { margin:0; }
.referral-panel input[readonly]{width:100%;min-width:0;max-width:100%;font-size:16px;overflow:hidden;text-overflow:ellipsis;}
.referral-panel .table-scroll {width:100%;max-width:100%;overflow-x:auto;}

/* v1.0.91: a narrow, readable self-service link panel for verified students */
.referral-student-page{max-width:740px;margin-inline:auto;min-width:0}
.referral-student-page label{display:block;margin:.75rem 0;font-weight:600}
.referral-student-page label input{display:block;width:100%;min-width:0;max-width:100%;font-size:16px;margin-top:.3rem}
.referral-student-page form{margin:.7rem 0}
.referral-student-count{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding:1rem;border:1px solid var(--border,#cbd5e1);border-radius:.8rem}
.referral-student-count strong{font-size:2rem}
.referral-student-logout{margin-top:1.3rem!important}
.referral-student-entry{display:inline-block;margin-top:1rem;font-size:.9rem}

/* v1.0.95 — compact Core-student referral milestones & copy action. */
.referral-student-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 18px}
.referral-student-stats .referral-stat{min-width:0;padding:13px 14px;border:1px solid var(--line);border-radius:12px;display:grid;gap:3px}
.referral-student-stats .referral-stat strong{font-size:clamp(1.6rem,4.6vw,2rem);font-variant-numeric:tabular-nums;line-height:1.2}
.referral-student-stats .referral-stat span{font-size:.88rem;color:var(--muted,#94a3b8);line-height:1.35}
.referral-student-page .referral-student-link-row{display:flex;gap:8px;align-items:stretch;min-width:0}
.referral-student-page .referral-student-link-row input{min-width:0;flex:1;width:0;margin:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}
.referral-student-page .referral-student-link-row .btn{flex-shrink:0;min-height:44px}
.referral-copy-feedback{display:block;min-height:1.1rem;font-size:.8rem;color:var(--muted,#94a3b8)}
.referral-student-actions{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0}
.referral-student-page .referral-student-actions form,.referral-student-page .referral-student-actions .referral-student-logout{margin:0!important}
.referral-student-actions .btn{min-height:44px}
@media(max-width:390px){.referral-student-stats{gap:8px}.referral-student-stats .referral-stat{padding:12px 10px}.referral-student-actions .btn{padding-inline:12px}}


/* v1.0.96 — Global workspace containment & mobile input stability.
 * Constrain content at component boundaries instead of hiding global overflow.
 * Tables retain their explicit horizontal scroll; zoom remains user controlled. */
:where(.admin-main,.content,.public-main,.public-head,.public-foot,.auth-card,.panel,.grid-2,.form-grid,.registration-digital-form,.registration-section,.parent-grid,.parent-card,.candidate-document-upload,.field-geo-panel,.referral-student-page,.staff-registration-card,.staff-registration-form,.school-management-grid){min-width:0}
:where(.content,.public-main,.auth-card,.panel,.registration-section,.parent-card,.candidate-document-upload,.referral-student-page){max-width:100%}
:where(.auth-card,.registration-section,.parent-card,.candidate-document-upload,.panel,.staff-registration-form) :is(input:not([type=checkbox]):not([type=radio]),select,textarea){min-width:0;max-width:100%}
:where(.public-main,.content) :is(.alert,.note,.empty,.detail dd,.report-row,.status-line,.readiness-summary,.panel-head){overflow-wrap:anywhere}
:where(.content,.public-main) :is(.grid-2,.form-grid,.parent-grid,.registration-extra-sections)>*{min-width:0}
:where(.public-main,.content) .table-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
:where(.public-main,.content) .table-scroll table{max-width:none}
@media(max-width:700px){
  .public-main{padding-inline:clamp(12px,4vw,16px);padding-bottom:max(36px,env(safe-area-inset-bottom))}
  .public-head{padding-inline:clamp(12px,4vw,16px)}
  .auth-card{margin:18px auto;max-width:100%;padding:clamp(14px,4vw,20px)}
  .registration-section{padding:12px 13px}
  .registration-section legend{max-width:100%;overflow-wrap:anywhere}
  .registration-digital-form,.registration-extra-sections,.parent-grid{grid-template-columns:minmax(0,1fr)}
  .registration-section .form-grid,.parent-card .form-grid{grid-template-columns:minmax(0,1fr)}
  .registration-section .span-2,.parent-card .span-2{grid-column:1/-1}
  .panel-head,.toolbar,.report-row,.status-line{flex-wrap:wrap;gap:8px 12px}
  .panel-head>*,.toolbar>*,.report-row>*,.status-line>*{min-width:0}
  .detail{grid-template-columns:minmax(0,92px) minmax(0,1fr)}
  .detail dd{overflow-wrap:anywhere}
  .public-foot{flex-wrap:wrap;gap:6px 16px;padding:16px clamp(12px,4vw,16px);padding-bottom:max(16px,env(safe-area-inset-bottom))}
}
@media(max-width:420px){
  .referral-student-stats .referral-stat{min-width:0}
  .referral-student-stats .referral-stat span{overflow-wrap:anywhere}
  .referral-student-page .referral-student-link-row{min-width:0;max-width:100%}
  .topbar>div:not(.top-actions){min-width:0}
  .topbar h1,.topbar p{overflow-wrap:anywhere}
}
@media (max-width:860px) and (pointer:coarse){
  :where(.auth-card,.registration-digital-form,.content,.public-main) :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]),select,textarea){font-size:16px!important}
}
@media print{
  /* Print layouts keep their own widths and native form/table representation. */
  .public-foot{padding-bottom:16px}
}

/* v1.0.97 — Operational POST guard; visual only, server handles the write. */
:where(.field-new-entry-form,.field-activity-form,.staff-registration-form).is-submitting button[type="submit"]{
  opacity:.75;cursor:progress;
}


/* v1.0.98 — predictable queue feedback: native links stay no-JS capable. */
:where([data-admission-more],[data-prospect-more],[data-field-more])[aria-busy="true"]{opacity:.65;cursor:progress;}

/* v1.0.100 — compact, touch-friendly form assistance */
.form-smart-options{display:grid;gap:2px;min-width:0;max-height:240px;overflow-y:auto;border:1px solid var(--line,#cbd5e1);border-radius:10px;background:var(--surface,#fff);padding:4px}
.form-smart-options[hidden],input[data-parent-job-other][hidden]{display:none!important}
.form-smart-option{display:flex;flex-direction:column;align-items:flex-start;width:100%;border:0;background:transparent;color:inherit;text-align:left;padding:10px 12px;border-radius:8px;cursor:pointer;min-height:44px;font:inherit;overflow-wrap:anywhere}
.form-smart-option small{color:var(--muted);font-size:.8em}
.form-smart-option:hover,.form-smart-option:focus-visible{background:var(--soft,#eef2f7);outline:2px solid var(--primary,#2563eb);outline-offset:-2px}
.parent-same-address{display:inline-flex;align-items:center;margin-inline-start:6px;vertical-align:middle;min-height:36px}
@media(max-width:640px){.form-smart-options{max-height:200px}.parent-same-address{min-height:40px}}

.parent-address{min-width:0}.parent-address textarea{display:block;width:100%;max-width:100%}.parent-address-heading{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:7px}.parent-address-heading label{margin:0}.parent-address-heading .parent-same-address{margin:0}

/* v1.0.101 — compact mobile form helper, no global overflow clipping. */
.parent-same-address[aria-pressed="true"]{border-color:var(--primary,#2563eb)}
.form-smart-options{overscroll-behavior:contain;scrollbar-gutter:stable;max-width:100%}
@media (max-width:640px){.form-smart-options{max-height:min(176px,28dvh)}.form-smart-option{min-height:44px}.parent-address-heading{align-items:center}}

/* v1.0.102: subtle, accessible field cue on a rejected form submission. */
.registration-digital-form :is(input,select,textarea)[aria-invalid="true"]{border-color:var(--danger);scroll-margin-block:100px 28px}


/* v1.0.104 — Prospek mobile list aligns with field activity address layout.
 * Scoped only to Prospek mobile cards; desktop/report tables keep local scrolling. */
@media(max-width:700px){
 .content .prospect-table [data-live-search-results="prospects"]>.table-scroll{overflow:visible;max-width:100%}
 .content .prospect-table .table-scroll>table{min-width:0;width:100%;max-width:100%;table-layout:fixed}
 .content .prospect-table .table-scroll>table>tbody{min-width:0;max-width:100%}
 .content .prospect-table tbody tr[id^="prospect-"]{min-width:0;max-width:100%}
 .content .prospect-table tbody td:first-child{min-width:0;max-width:100%;overflow-wrap:anywhere}
 .content .prospect-table .prospect-row-top{min-width:0;max-width:100%}
 .content .prospect-table .prospect-row-name{white-space:normal;overflow-wrap:anywhere}
 .content .prospect-table .field-prospect-meta{display:block;max-width:100%;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;line-height:1.4}
}


/* v1.0.105 — bounded, same-origin Admission document preview, phone-safe. */
.document-preview-open{overflow:hidden}
dialog.document-preview-dialog{position:fixed;inset:0;margin:auto;padding:0;width:min(960px,calc(100vw - 32px));max-width:calc(100vw - 32px);height:min(780px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);border:1px solid var(--line);border-radius:16px;background:var(--panel);color:var(--text);box-shadow:0 24px 72px #0006;overflow:hidden}
dialog.document-preview-dialog::backdrop{background:rgba(3,10,22,.77)}
.document-preview-dialog[open]{display:flex;flex-direction:column}
.document-preview-header,.document-preview-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;flex:none;background:var(--panel)}
.document-preview-header{border-bottom:1px solid var(--line)}
.document-preview-header strong{font-size:1rem;min-width:0;overflow-wrap:anywhere}
.document-preview-footer{justify-content:flex-end;border-top:1px solid var(--line)}
.document-preview-body{flex:1;min-height:0;min-width:0;display:flex;align-items:center;justify-content:center;overflow:auto;background:var(--bg)}
.document-preview-body img{max-width:100%;max-height:100%;object-fit:contain}
.document-preview-body iframe{display:block;width:100%;height:100%;border:0;background:#fff}
.document-preview-body [hidden]{display:none!important}
@media(max-width:600px){dialog.document-preview-dialog{inset:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border:0;border-radius:0}.document-preview-header{padding:12px 16px}.document-preview-footer{padding:10px 16px calc(10px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){dialog.document-preview-dialog{scroll-behavior:auto}}

/* v1.0.107 — single canonical Prospect activity form in an accessible mobile sheet. */
dialog.prospect-activity-dialog{width:min(620px,calc(100% - 32px));max-width:none;max-height:min(90dvh,900px);padding:0;border:1px solid var(--line);border-radius:16px;background:var(--panel);color:var(--text);box-shadow:0 24px 76px rgba(0,0,0,.25);overflow:hidden}
dialog.prospect-activity-dialog[open]{display:flex;flex-direction:column}
dialog.prospect-activity-dialog::backdrop{background:rgba(4,12,26,.7)}
.prospect-activity-dialog-head{display:flex;justify-content:flex-end;flex:none;padding:10px 16px;border-bottom:1px solid var(--line);background:var(--panel)}
.prospect-activity-dialog-head>.btn{min-height:42px}
.prospect-activity-dialog-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.prospect-activity-dialog-scroll>#prospect-activity{border:0;box-shadow:none;margin:0;max-width:100%;scroll-margin:0}
.prospect-activity-dialog-scroll .field-activity-form{min-width:0}
body.prospect-activity-open{overflow:hidden}
@media(max-width:680px){
  dialog.prospect-activity-dialog{width:100%;height:100dvh;max-height:100dvh;max-width:100%;margin:0;border:0;border-radius:0}
  .prospect-activity-dialog-head{padding:calc(10px + env(safe-area-inset-top)) 14px 10px}
  .prospect-activity-dialog-scroll>#prospect-activity{padding:16px 16px calc(28px + env(safe-area-inset-bottom))}
}

/* v1.0.107-pl1 — Operational actions are server-rendered, not JS-only. */
.prospect-activity-server-backdrop{position:fixed;inset:0;z-index:85;background:rgba(4,12,26,.68);opacity:0;visibility:hidden;pointer-events:none}
.prospect-activity-server-backdrop.is-open{opacity:1;visibility:visible;pointer-events:auto}
#prospect-activity.prospect-activity-server-sheet.is-open{position:fixed;z-index:86;inset:0 0 0 auto;width:min(630px,100vw);height:100dvh;max-height:100dvh;margin:0;padding:0;box-sizing:border-box;display:flex;flex-direction:column;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border-radius:0;border-left:1px solid var(--line);background:var(--panel);color:var(--text);box-shadow:-18px 0 48px rgba(4,12,26,.2)}
#prospect-activity.prospect-activity-server-sheet.is-open>.panel-head{position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0;padding:16px;background:var(--panel);border-bottom:1px solid var(--line)}
#prospect-activity.prospect-activity-server-sheet.is-open>.panel-head h2{margin:0}
#prospect-activity.prospect-activity-server-sheet.is-open>.field-activity-target{margin:14px 16px}
#prospect-activity.prospect-activity-server-sheet.is-open>.field-activity-form{padding:0 16px calc(28px + env(safe-area-inset-bottom));min-width:0}
#prospect-activity.prospect-activity-server-sheet.is-open>.field-activity-recent-context{margin:8px 16px}
@media(max-width:680px){
 #prospect-activity.prospect-activity-server-sheet.is-open{width:100vw;border-left:0}
 #prospect-activity.prospect-activity-server-sheet.is-open>.panel-head{padding:calc(12px + env(safe-area-inset-top)) 16px 12px}
}

/* v1.0.107-pl2: server-first Prospect action workspace.
   Canonical POST forms remain in the document; no modal moves them offscreen. */
#prospect-activity.prospect-activity-server-sheet:not(.is-open):not(:target){display:none}
#prospect-activity.prospect-activity-server-sheet.is-open,
#prospect-activity.prospect-activity-server-sheet:target{
  position:relative;inset:auto;z-index:auto;display:block;
  width:100%;height:auto;max-height:none;min-width:0;
  margin:0 0 16px;padding:16px;overflow:visible;
  border:1px solid var(--line);border-radius:16px;
  background:var(--panel);box-shadow:none;
}
#prospect-activity.prospect-activity-server-sheet.is-open>.panel-head,
#prospect-activity.prospect-activity-server-sheet:target>.panel-head{
  position:static;display:flex;align-items:center;justify-content:space-between;
  gap:10px;padding:0 0 12px;margin:0 0 10px;border:0;
}
#prospect-activity.prospect-activity-server-sheet.is-open>.field-activity-form,
#prospect-activity.prospect-activity-server-sheet:target>.field-activity-form{
  padding:0;min-width:0;
}
#prospect-activity.prospect-activity-server-sheet.is-open>.field-activity-target,
#prospect-activity.prospect-activity-server-sheet:target>.field-activity-target{margin:6px 0 12px}
#prospect-activity.prospect-activity-server-sheet.is-open>.field-activity-recent-context,
#prospect-activity.prospect-activity-server-sheet:target>.field-activity-recent-context{margin:8px 0}
.prospect-editor-drawer.prospect-editor-server-panel{
  position:relative;inset:auto;z-index:auto;display:flex;transform:none;
  visibility:visible;opacity:1;pointer-events:auto;
  width:100%;height:auto;max-height:none;min-width:0;
  margin:0 0 16px;border:1px solid var(--line);border-radius:16px;
  box-shadow:none;
}
.prospect-editor-server-panel .prospect-editor-scroll{
  flex:none;overflow:visible;max-height:none;-webkit-overflow-scrolling:auto;
}
.prospect-editor-server-panel .prospect-editor-form{min-height:0;display:flex;flex-direction:column}
.prospect-editor-server-panel .prospect-editor-head,
.prospect-editor-server-panel .prospect-editor-footer{position:static}
@media(max-width:680px){
 #prospect-activity.prospect-activity-server-sheet.is-open,
 #prospect-activity.prospect-activity-server-sheet:target{width:100%;padding:14px;border-radius:14px}
 .prospect-editor-drawer.prospect-editor-server-panel{width:100%;border-radius:14px}
}

/* v1.0.108 — Unified Prospect actions: existing Catat/Edit plus scoped Daftarkan. */
.prospect-table .prospect-queue-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}
.prospect-table .prospect-queue-actions .btn{max-width:100%}
@media(max-width:640px){.prospect-table .prospect-queue-actions{gap:6px}.prospect-table .prospect-queue-actions .btn{white-space:normal}}

/* v1.0.110 — EXAMPIA-inspired single update workspace. */
.update-workspace{display:grid;gap:14px;min-width:0}
.update-workspace .panel{min-width:0}
.update-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 2px 2px}
.update-head>div{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;min-width:0}
.update-head strong{font-size:1.03rem;letter-spacing:-.02em}
.update-head strong span{color:var(--brand)}
.update-head small{font-size:.81rem}
.update-columns{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:14px}
.update-columns .panel{margin:0;padding:18px}
.update-upload-form{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.update-file-label{font-size:.81rem;font-weight:750;margin-bottom:-5px}
.update-upload-buttons{display:flex;gap:9px;flex-wrap:wrap}
.update-upload-buttons>.btn{min-width:0;min-height:42px}
.update-upload-buttons>.btn.primary{flex:1 1 auto}
.update-upload-form input[type=file]{display:block;width:100%;min-width:0;padding:8px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);font-size:.85rem;line-height:1.3}
.update-upload-form input[type=file]::file-selector-button{border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:7px;padding:5px 9px;margin-right:8px;cursor:pointer}
.update-action-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.update-action-list>.btn,.update-action-list form,.update-action-list form>.btn{width:100%;min-width:0}
.update-action-list form{grid-column:1/-1}
.update-action-list .btn{min-height:43px;white-space:normal;text-align:center;font-size:.87rem}
.update-current{border-color:var(--brand);color:var(--brand);background:var(--bg)}
.update-candidate{border-top:1px solid var(--line);margin-top:16px;padding-top:13px}
.update-candidate-title{display:flex;align-items:center;gap:9px;justify-content:space-between}
.update-candidate-title strong{font-size:1rem}
.update-candidate-title span,.update-schema-note{font-size:.78rem;color:var(--muted)}
.update-candidate p{margin:6px 0 11px;font-size:.83rem}
.update-candidate .update-pending-note{font-weight:750;color:var(--text)}
.update-apply-form{margin-top:10px}
.update-results{scroll-margin-top:78px}
.update-results .panel-head{align-items:center}
.update-results .panel-head h2{margin:0}
.update-result-meta{font-size:.83rem;color:var(--muted);margin:3px 0 0}
.update-result-details{border-top:1px solid var(--line);padding-top:10px}
.update-result-details>summary,.update-history>summary{cursor:pointer;font-weight:750;font-size:.87rem}
.update-result-details .json-box{max-height:48vh;margin:10px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
.update-history{padding:14px 18px!important}
.update-history .table-scroll{margin-top:14px}
.update-history table{width:100%;min-width:390px}
html[data-theme="dark"] .update-current{background:#102143}
@media(max-width:860px){.update-columns{grid-template-columns:1fr}}
@media(max-width:520px){.update-upload-buttons{display:grid;grid-template-columns:minmax(0,1fr)}.update-upload-buttons>.btn{width:100%;padding-inline:10px}.update-action-list{grid-template-columns:1fr}.update-action-list form{grid-column:auto}.update-results .panel-head{align-items:flex-start;flex-wrap:wrap}.update-columns .panel{padding:15px}}

/* v1.0.114 · Registration wizard and scoped Dusun suggestions. */
.registration-wizard-nav{display:grid;gap:9px;padding:14px 15px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}
.registration-wizard-nav [data-wizard-progress]{font-weight:800;font-size:.91rem}
.wizard-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.wizard-step-button{border:1px solid var(--line);border-radius:10px;padding:10px 5px;background:var(--panel);color:var(--muted);font:inherit;font-weight:700;font-size:.78rem;cursor:pointer;min-height:42px}
.wizard-step-button[aria-current="step"]{background:var(--brand,#175cd3);border-color:var(--brand,#175cd3);color:white}
.wizard-step-button:disabled{opacity:.45;cursor:default}
.wizard-step-button:not(:disabled):focus-visible{outline:2px solid var(--brand,#175cd3);outline-offset:2px}
.registration-wizard-nav [data-draft-status]{color:var(--muted);min-height:1em}
.registration-wizard-nav [data-draft-status][data-error="1"]{color:var(--danger)}
.wizard-controls{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0}
.wizard-controls .btn{min-height:44px;min-width:118px}
.registration-digital-form [hidden]{display:none!important}
.registration-wizard-review{border:1px solid var(--line);background:var(--panel);padding:16px;border-radius:14px}
.registration-wizard-review>h3{margin:0 0 12px}
.wizard-review-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.wizard-review-group{padding:12px;border:1px solid var(--line);border-radius:12px;min-width:0}
.wizard-review-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}
.wizard-review-items{margin:0;display:grid;gap:6px}
.wizard-review-item{display:grid;grid-template-columns:minmax(0,38%) minmax(0,1fr);gap:6px;line-height:1.38;overflow-wrap:anywhere;font-size:.8rem}
.wizard-review-item dt{color:var(--muted);overflow-wrap:normal;word-break:normal}.wizard-review-item dd{margin:0;font-weight:600}
.hamlet-lookup-label{position:relative}
.hamlet-lookup-results{position:absolute;z-index:25;top:100%;left:0;right:0;max-height:238px;overflow:auto;border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:0 12px 28px rgba(14,28,50,.13)}
.hamlet-lookup-option{display:block;width:100%;min-height:44px;padding:11px 12px;border:0;border-bottom:1px solid var(--line);text-align:left;background:var(--panel);color:var(--text);font:inherit;font-size:.86rem;cursor:pointer}
.hamlet-lookup-option:last-child{border:0}.hamlet-lookup-option:hover,.hamlet-lookup-option.active{background:var(--surface,#f1f5fb)}
@media(max-width:760px){.wizard-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.wizard-review-groups{grid-template-columns:1fr}.wizard-controls{position:sticky;bottom:0;z-index:10;background:var(--panel);border-top:1px solid var(--line);padding:11px 5px}.wizard-controls .btn{flex:1}}

/* v1.0.119 — Compact responsive affiliate policy choices */
.affiliate-policy-choices{display:flex;flex-wrap:wrap;gap:7px 16px;margin-top:8px}
.affiliate-policy-choice{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:7px;width:auto!important;font-size:.88rem;white-space:nowrap}
.affiliate-policy-choice input[type=checkbox]{width:16px!important;height:16px!important;min-height:16px!important;margin:0;flex:none}
.affiliate-policy-subhead{border-top:1px solid var(--border,#d9e1ea);padding-top:13px}
@media(max-width:600px){.affiliate-policy-choices{gap:9px 13px}.affiliate-policy-choice{white-space:normal}.affiliate-policy-subhead{padding-top:10px}}
/* v1.0.120: compact public affiliate enrollment without changing the candidate login */
.affiliate-public{max-width:690px}
.affiliate-join-form{margin-top:12px}
.affiliate-consent{display:flex;align-items:flex-start;gap:10px;font-size:.88rem;line-height:1.45}
.affiliate-consent input{flex:0 0 auto;width:17px;height:17px;margin-top:2px}
.affiliate-status{margin:12px 0;padding:13px 15px;border:1px solid var(--border,#dce3eb);border-radius:12px;line-height:1.7}
.affiliate-secondary-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:16px;font-size:.9rem}
.affiliate-secondary-actions details{width:100%}
.affiliate-secondary-actions summary{cursor:pointer}
.affiliate-secondary-actions form{margin-top:12px}
@media(max-width:640px){.affiliate-join-form{grid-template-columns:minmax(0,1fr)}.affiliate-public{padding:20px 17px}.affiliate-consent{grid-column:1 / -1}}
/* Keep the consent checkbox inline even under generic auth-card/form-grid label rules. */
.auth-card form.form-grid>label.affiliate-consent{display:flex;flex-direction:row;align-items:flex-start;justify-content:flex-start;font-weight:500;margin:6px 0;gap:10px}
.auth-card form.form-grid>label.affiliate-consent input[type=checkbox]{appearance:auto;width:17px!important;height:17px!important;min-width:17px;flex:0 0 17px;margin:2px 0 0!important;padding:0!important;cursor:pointer}
.auth-card form.form-grid>label.affiliate-consent span{flex:1;min-width:0}

/* v1.0.121 — compact shared affiliate dashboard. */
.referral-whatsapp{display:inline-flex;align-items:center;justify-content:center;margin:9px 0 3px;min-height:40px;font-size:.88rem}
.affiliate-public{max-width:740px}.affiliate-shared-stats{margin:8px 0 12px}
.affiliate-public .affiliate-status{margin:10px 0 14px}
@media(max-width:390px){.referral-whatsapp{width:100%}}

/* v1.0.121-pl1: compact server-side System settings navigation */
.system-settings-tabs{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0 0 16px;padding:0}
.system-settings-tab{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;min-height:36px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);font-size:.82rem;font-weight:700;line-height:1.2}
.system-settings-tab.is-active{background:var(--brand);border-color:var(--brand);color:#fff}
.system-settings-tab:focus-visible,.system-settings-shortcuts a:focus-visible{outline:3px solid var(--brand);outline-offset:2px}
.system-settings-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0 0}
.system-settings-shortcuts a{display:flex;flex-direction:column;gap:2px;min-width:0;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
.system-settings-shortcuts strong{font-size:.88rem}
.system-settings-shortcuts small{font-size:.78rem;white-space:normal}
@media(max-width:720px){.system-settings-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.system-settings-tab{font-size:.78rem;padding:9px 6px}.system-settings-shortcuts{grid-template-columns:1fr}}

/* v1.0.123: compact commission operations, isolated from global forms. */
.commission-filters{display:flex;flex-wrap:wrap;align-items:end;gap:10px}
.commission-filters label{display:grid;gap:4px;flex:1 1 160px;font-size:.85rem}
.commission-filters select{width:100%;min-width:0}
.commission-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}
.commission-totals>div{min-width:0;border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--panel);display:grid;gap:5px}
.commission-totals small{color:var(--muted)}
.commission-totals strong{font-size:1.1rem;overflow-wrap:anywhere}
.commission-record{padding:12px 0;border-top:1px solid var(--line)}
.commission-record-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.commission-record-head>div{display:grid;gap:3px;min-width:0}
.commission-record-head small{color:var(--muted);font-size:.8rem}
.commission-record-right{text-align:right;flex-shrink:0}
.commission-record-right .badge{display:block;margin-top:3px}
.commission-record details{margin-top:8px}
.commission-record summary{cursor:pointer;padding:5px 0;font-weight:600}
.commission-action{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px;padding:12px;border-radius:10px;background:var(--bg)}
.commission-action label{display:grid;gap:5px;min-width:0}
.commission-action input:not([type=checkbox]),.commission-action select{width:100%;min-width:0}
.commission-action .commission-confirm{display:flex;align-items:center;gap:8px;grid-column:1/-1}
.commission-action .commission-confirm input{width:16px;height:16px;flex:0 0 auto}
.commission-action button{justify-self:start}
@media(max-width:680px){.commission-totals{grid-template-columns:repeat(2,minmax(0,1fr))}.commission-record-head{align-items:start}.commission-action{grid-template-columns:1fr}}

.commission-filters select,.commission-action input:not([type=checkbox]),.commission-action select{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:10px;padding:9px 11px;min-height:42px}
.commission-filters :is(input,select):focus-visible,.commission-action :is(input,select):focus-visible{outline:2px solid var(--brand);outline-offset:2px}
@media (pointer:coarse){.commission-filters select,.commission-action input,.commission-action select{font-size:16px}}

/* v1.0.124: compact read-only commission audit and mobile affiliate operations */
.commission-reconciliation{border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:10px 13px;margin:10px 0}
.commission-reconciliation-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.commission-reconciliation p{font-size:.84rem;color:var(--muted);margin:5px 0 0}
.commission-reconciliation-details{margin-top:7px;font-size:.85rem}
.commission-reconciliation-details summary{cursor:pointer}
.commission-reconciliation-details ul{margin:7px 0;padding-left:22px}
.commission-reconciliation-details code{font-size:.83rem}
.commission-history{margin-top:6px}
.commission-history summary{font-size:.82rem;color:var(--muted);padding:3px 0}
.commission-history dl{display:grid;gap:6px;margin:8px 0 0;padding:10px;border-radius:10px;background:var(--bg)}
.commission-history dl>div{display:grid;grid-template-columns:minmax(105px,32%) minmax(0,1fr);gap:8px;font-size:.83rem}
.commission-history dt{color:var(--muted)}
.commission-history dd{margin:0;min-width:0;overflow-wrap:anywhere}
.affiliate-admin-action{display:inline-flex;margin:2px}
@media(max-width:720px){
 .commission-filters{gap:7px}.commission-filters label{flex:1 1 30%;min-width:0;font-size:.75rem}
 .commission-filters .btn{flex:0 0 auto}.commission-totals{gap:7px;margin:9px 0}
 .commission-totals>div{padding:9px}.commission-totals strong{font-size:.96rem}
 .commission-record{padding:10px 0}.commission-record-head{gap:8px}
 .commission-record-head small{font-size:.74rem}.commission-record-right strong{font-size:.95rem}
 .commission-history dl>div{grid-template-columns:1fr;gap:1px}
 .affiliate-admin-table table,.affiliate-admin-table tbody,.affiliate-admin-table tr,.affiliate-admin-table td{display:block;width:100%}
 .affiliate-admin-table thead{display:none}
 .affiliate-admin-table tr.affiliate-admin-row{padding:10px 0;border-bottom:1px solid var(--line);display:grid;gap:5px}
 .affiliate-admin-table td{border:0!important;padding:0!important;min-width:0;overflow-wrap:anywhere}
 .affiliate-admin-table td[data-label="Aksi"]{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
 .affiliate-admin-action{margin:0}.affiliate-admin-action .btn{min-height:36px}
}

/* v1.0.125 · Affiliate essentials first. No global form/input overrides. */
.referral-student-page .referral-student-stats,.affiliate-public .referral-student-stats{
  gap:7px;margin:10px 0 12px;grid-template-columns:repeat(3,minmax(0,1fr))
}
.referral-student-page .referral-stat,.affiliate-public .referral-stat{padding:10px 11px;gap:2px}
.referral-student-page .referral-stat strong,.affiliate-public .referral-stat strong{
  font-size:clamp(1.15rem,3vw,1.45rem);line-height:1.2;overflow-wrap:anywhere
}
.referral-student-page .referral-stat span,.affiliate-public .referral-stat span{font-size:.78rem}
.affiliate-commission-summary{margin:12px 0}
.affiliate-commission-summary h2{font-size:1rem;margin:6px 0}
.affiliate-commission-summary .referral-student-stats{margin-top:7px}
.affiliate-public .affiliate-status{padding:9px 11px;font-size:.84rem;line-height:1.55}
.referral-history{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:12px 0;padding:9px 0;font-size:.85rem}
.referral-history>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;font-weight:650;list-style:revert;min-height:32px}
.referral-history-count{color:var(--muted);font-size:.76rem;font-weight:400;margin-left:auto}
.referral-history-list{display:grid;gap:0;margin-top:6px}
.referral-history-row{display:grid;grid-template-columns:minmax(82px,1fr) repeat(3,minmax(0,auto));align-items:center;gap:7px;padding:10px 3px;border-bottom:1px solid var(--line);font-size:.8rem}
.referral-history-row:last-child{border:0}
.referral-history-row span{color:var(--muted);white-space:nowrap}
.referral-history-foot{font-size:.75rem;margin:8px 0 2px}
.affiliate-admin-insights{margin:10px 0;padding:12px}
.affiliate-admin-insights>summary{cursor:pointer;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.affiliate-admin-insights .table-scroll{margin:10px 0}
@media(max-width:480px){
  .referral-history-row{grid-template-columns:minmax(0,1fr) repeat(3,auto);gap:5px;font-size:.73rem}
  .referral-history-row strong{font-size:.76rem}
  .affiliate-admin-insights{padding:10px}
}

.referral-student-page .referral-student-stats:has(>.referral-stat:nth-child(4)),
.affiliate-public .referral-student-stats:has(>.referral-stat:nth-child(4)){grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:640px){
  .referral-student-page .referral-student-stats,.affiliate-public .referral-student-stats,
  .referral-student-page .referral-student-stats:has(>.referral-stat:nth-child(4)),
  .affiliate-public .referral-student-stats:has(>.referral-stat:nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* v1.0.126 — Global low-motion navigation, stable shell, concise mobile density.
   Scoped to UI; database/permission/business workflows remain server-owned. */
.sidebar nav{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.sidebar-foot{flex:none;margin-top:0}
.admin-main,.content,.public-main{min-width:0}
.topbar>div:not(.top-actions){min-width:0}
.topbar h1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.topbar p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
:is(.content,.public-main) :is(.panel,.table-panel,.grid-2,.form-grid){min-width:0}
:is(a,button,summary,input,textarea,select):focus-visible{outline:2px solid var(--brand);outline-offset:3px}
:is(.content,.public-main) :is(h2,h3,[id]){scroll-margin-top:94px}
.spmb-navigation-cue{display:none;position:fixed;z-index:110;top:0;left:0;width:min(38vw,220px);height:2px;background:var(--brand);pointer-events:none}
.spmb-navigation-cue.is-visible{display:block;animation:spmb-navigation-wait 1s ease-in-out infinite alternate}
@keyframes spmb-navigation-wait{from{opacity:.55;transform:translateX(0)}to{opacity:1;transform:translateX(65vw)}}
@media(max-width:860px){
  .content{padding-top:13px}
  .topbar{gap:9px;min-height:64px}
  .topbar h1{font-size:1rem}
  .topbar p{font-size:.73rem}
  .top-actions{gap:5px;flex:none}
}
@media(max-width:440px){
  .topbar{padding:10px 12px}
  .top-actions .icon-btn,.topbar .menu-btn{width:38px;height:38px}
  .content{padding-left:12px;padding-right:12px}
  .content>.panel:not(.table-panel){padding:15px}
  .content>.panel .panel-head{gap:8px}
}
@media(prefers-reduced-motion:reduce){.spmb-navigation-cue.is-visible{animation:none}}
@media print{.spmb-navigation-cue{display:none!important}}

/* v1.0.127 — compact, accessible eye inside password textbox. */
.password-control{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:.84rem;font-weight:700;color:var(--text)}
.auth-card form>.password-control{margin:10px 0}
.form-grid>.password-control{margin:0}
.password-control>label{font:inherit;color:inherit}
.password-field{position:relative;min-width:0;width:100%}
.password-field>input{display:block;width:100%;min-width:0;max-width:100%;border:1px solid #cfd7e5;border-radius:10px;background:#fff;color:var(--text);padding:10px 49px 10px 11px;outline:none}
.password-field>input:focus{border-color:#84adff;box-shadow:0 0 0 3px #155eef12}
.password-eye{position:absolute;right:2px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:42px;height:42px;padding:0;border:0;border-radius:9px;background:transparent;color:var(--muted);cursor:pointer}
.password-eye svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round;pointer-events:none}
.password-eye .password-eye-slash{display:none}
.password-eye.is-visible .password-eye-slash{display:block}
.password-eye:hover{color:var(--brand);background:color-mix(in srgb,var(--brand) 8%,transparent)}
.password-eye:focus-visible{outline:2px solid var(--brand);outline-offset:-3px}
html[data-theme="dark"] .password-field>input{background:#0d1626;border-color:#2d3a51;color:var(--text)}
@media(hover:none){.password-eye{width:44px;height:44px}}

/* v1.0.128 — compact candidate journey, no new navigation runtime. */
.registration-submit-compact{justify-content:flex-end;gap:8px}
.registration-submit-compact [data-wizard-review-back]{margin-right:auto}
.registration-submit-compact .btn{min-height:44px}
.registration-wizard-review h3:focus,.registration-section legend:focus{outline:2px solid var(--brand);outline-offset:3px}
.candidate-portal .candidate-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
.candidate-portal .candidate-metrics article{min-width:0}
.candidate-portal .candidate-metrics strong{display:block;line-height:1.3;font-size:.95rem;overflow-wrap:anywhere}
@media(max-width:760px){
  .registration-wizard-nav{padding:10px 11px;gap:7px}
  .registration-wizard-nav .wizard-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
  .registration-wizard-nav .wizard-step-button{min-width:0;min-height:42px;padding:7px 3px;font-size:.69rem;line-height:1.15;overflow-wrap:normal}
  .registration-submit-compact{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
  .registration-submit-compact .btn{width:auto;flex:1 1 130px}
  .candidate-portal .candidate-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px}
  .candidate-portal .candidate-metrics article:first-child{grid-column:1/-1}
  .candidate-portal .candidate-metrics article{padding:12px}
  .candidate-portal .candidate-metrics article span{margin-bottom:4px}
}
@media(max-width:380px){
  .registration-wizard-nav .wizard-step-button{font-size:.63rem;padding:7px 2px}
  .registration-submit-compact .btn{padding-inline:9px}
}

/* v1.0.129 — affiliate account menu: compact native disclosure, no dashboard footer logout. */
.public-head{position:relative;z-index:35}
.affiliate-user-menu{position:relative;min-width:0}
.affiliate-user-menu>summary{list-style:none}
.affiliate-user-menu>summary::-webkit-details-marker{display:none}
.affiliate-user-toggle{display:flex;align-items:center;gap:8px;max-width:min(270px,48vw);min-height:44px;padding:8px 11px;border:1px solid var(--line);border-radius:12px;background:var(--panel);cursor:pointer;color:var(--text)}
.affiliate-user-toggle .ico{width:19px;height:19px}
.affiliate-user-name{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:.84rem;font-weight:750}
.affiliate-user-chevron{font-size:1.06rem;line-height:1;color:var(--muted)}
.affiliate-user-menu[open] .affiliate-user-toggle{border-color:var(--brand)}
.affiliate-user-menu :is(summary,a,button):focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.affiliate-user-popover{position:absolute;right:0;top:calc(100% + 7px);z-index:100;width:min(236px,calc(100vw - 32px));padding:6px;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 36px #09182a28}
.affiliate-user-popover a,.affiliate-user-popover button{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:10px;border:0;border-radius:9px;background:none;color:var(--text);font:inherit;font-size:.84rem;text-align:left;cursor:pointer}
.affiliate-user-popover :is(a,button):hover{background:var(--bg)}
.affiliate-user-popover .ico{width:18px;height:18px}
.affiliate-user-popover form{margin:4px 0 0;padding-top:4px;border-top:1px solid var(--line)}
.affiliate-account-back{margin:0 0 15px;font-size:.84rem;color:var(--muted)}
.affiliate-account-back a{display:inline-flex;align-items:center;min-height:40px}
.affiliate-account-readonly{display:flex;flex-direction:column;gap:2px;min-width:0;padding:10px 0 14px;border-bottom:1px solid var(--line)}
.affiliate-account-readonly span{font-size:.8rem;color:var(--muted)}
.affiliate-account-readonly strong{font-size:.86rem;overflow-wrap:anywhere}
.affiliate-account-form{display:grid;gap:8px;max-width:430px;margin:14px 0 16px}
.affiliate-account-form>label{font-size:.84rem;font-weight:750}
.affiliate-account-form>input{width:100%;min-width:0;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);padding:10px 12px}
.affiliate-account-form-actions{display:flex;justify-content:flex-start;margin-top:4px}
.affiliate-account-password{border-top:1px solid var(--line);padding-top:14px}
.affiliate-account-password>summary{min-height:44px;padding:10px 0;cursor:pointer;font-weight:750}
.affiliate-account-password .password-control{margin:4px 0}
@media(max-width:620px){.public-head .affiliate-user-popover a:first-child{display:flex!important}.public-head nav:has(.affiliate-user-menu){display:flex}.affiliate-user-toggle{max-width:min(175px,47vw);padding:7px 9px;gap:6px}.affiliate-user-name{font-size:.8rem}.affiliate-user-popover{right:0}.affiliate-account-form{max-width:100%}}

/* v1.0.132: consistent account menu without horizontal overflow, native details fallback. */
.topbar{position:sticky;top:0;z-index:34;overflow:visible}
.topbar .top-actions{display:flex;align-items:center;min-width:0}
.staff-user-menu .affiliate-user-toggle{max-width:min(240px,31vw);min-height:40px}
.staff-user-menu .affiliate-user-popover{z-index:110}
.staff-profile-panel{max-width:660px}
.candidate-account-settings h1{margin:3px 0 10px}
.candidate-account-settings .account-back-link{display:inline-block;padding:5px 0;margin-bottom:10px;color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.candidate-account-facts{margin:12px 0;display:grid;gap:0}
.candidate-account-facts>div{padding:12px 0;border-bottom:1px solid var(--line);min-width:0}
.candidate-account-facts dt{color:var(--muted);font-size:.79rem}
.candidate-account-facts dd{margin:2px 0 0;font-weight:700;overflow-wrap:anywhere}
@media(max-width:620px){.staff-user-menu .affiliate-user-toggle{max-width:min(168px,44vw);gap:6px;padding:6px 8px}.staff-user-menu .affiliate-user-name{font-size:.76rem}.topbar .top-actions{gap:5px}}
@media(max-width:370px){.staff-user-menu .affiliate-user-toggle{max-width:130px}.topbar .top-actions .icon-btn{width:36px;height:36px}}

/* v1.0.133 — account appearance: compact shared two-way setting, no header clutter. */
.account-theme-preference{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:13px 0;margin:8px 0;border-bottom:1px solid var(--line)}
.account-theme-label{font-size:.85rem;font-weight:750;color:var(--text)}
.account-theme-options{display:inline-flex;max-width:100%;gap:3px;padding:3px;border:1px solid var(--line);border-radius:11px;background:var(--bg)}
.account-theme-options button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:94px;min-height:38px;padding:7px 11px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted);font-size:.82rem;font-weight:750;cursor:pointer}
.account-theme-options button[aria-pressed="true"]{background:var(--panel);color:var(--text);border-color:var(--line);box-shadow:0 1px 2px #09182a12}
.account-theme-options .ico{width:16px;height:16px}
.account-theme-options button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
@media(max-width:370px){.account-theme-options{width:100%}.account-theme-options button{flex:1;min-width:0}}

/* v1.0.134 — mobile width budget and concise public operational layout.
   Containment is local: never conceal focus, fixed overlays, or table scrolling. */
:where(.public-main,.content) :is(.panel-head,.inline-actions,.form-actions,.candidate-form-state,.registration-submit) > * { min-width:0; }
:where(.public-main,.content) :is(.alert,.empty,.candidate-account-facts,.affiliate-account-readonly,.registration-submit) { overflow-wrap:anywhere; }
:where(.public-main,.content) :is(.form-grid,.parent-grid,.candidate-metrics,.referral-student-stats) { min-width:0; }
:where(.public-main,.content) :is(.form-grid,.parent-grid,.candidate-metrics,.referral-student-stats)>* { min-width:0; }
@media(max-width:620px){
  /* Public main already provides horizontal gutters; do not double-inset the portal. */
  .public-main .auth-card.candidate-portal { padding:14px; margin:10px auto 18px; }
  .public-main .auth-card.candidate-portal .panel-head { margin-bottom:10px; }
  .public-main .auth-card.affiliate-public,
  .public-main .auth-card.referral-student-page { margin-block:10px 18px; }
  .public-main :is(.registration-section,.candidate-edit-body) .section-copy { margin-bottom:8px; }
  .public-main :is(.inline-actions,.form-actions) { gap:8px; }
  .public-main :is(.inline-actions,.form-actions) .btn { min-width:0; max-width:100%; white-space:normal; text-align:center; }
}
@media(max-width:380px){
  .public-main .auth-card.candidate-portal { padding:12px; }
  .public-main .candidate-metrics article { padding:10px; }
  .public-main .candidate-metrics strong { overflow-wrap:anywhere; }
}
@media print{
  .public-main .auth-card.candidate-portal { margin:0; padding:0; }
}

/* v1.0.137 — compact audited school masters; no global form changes. */
.school-master-editor-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px}
.school-master-disclosure{min-width:0;border:1px solid var(--border,#d7dde4);border-radius:12px;padding:10px 12px;margin-bottom:12px}
.school-master-disclosure>summary{cursor:pointer;font-weight:650;min-height:28px}
.school-master-disclosure>.panel{margin:12px 0 0;box-shadow:none}
.school-master-search{margin-bottom:12px}
.school-master-filter{display:grid;grid-template-columns:minmax(145px,1.5fr) repeat(3,minmax(100px,1fr)) minmax(115px,1fr) auto;gap:8px;align-items:end}
.school-master-filter>label{min-width:0;margin:0;font-size:.82rem}
.school-master-filter input,.school-master-filter select{width:100%;min-width:0;max-width:100%;margin-top:4px}
.school-master-filter-actions{display:flex;gap:6px;align-items:center;padding-bottom:2px}
.school-master-audit{display:flex;flex-wrap:wrap;gap:5px 14px;font-size:.78rem;margin-top:9px;opacity:.88}
@media(max-width:950px){.school-master-filter{grid-template-columns:repeat(3,minmax(0,1fr))}.school-master-filter>label:first-of-type{grid-column:span 2}.school-master-filter-actions{align-self:end}}
@media(max-width:610px){.school-master-editor-row{grid-template-columns:minmax(0,1fr)}.school-master-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.school-master-filter>label:first-of-type{grid-column:span 2}.school-master-filter-actions{grid-column:span 2;justify-content:flex-start}.school-master-filter select,.school-master-filter input{font-size:16px}}

/* v1.0.138 — list-first school master. CSS :target is a fully working no-JS fallback. */
.school-master-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:0 0 12px}
.school-master-toolbar .btn{min-height:38px;display:inline-flex;align-items:center;justify-content:center}
.school-master-import{margin-top:12px;scroll-margin-top:90px}
.school-master-backdrop{position:fixed;inset:0;z-index:110;background:rgba(10,20,36,.52);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease}
.school-master-drawer{position:fixed;inset:0 0 0 auto;z-index:111;display:flex;flex-direction:column;width:min(620px,100vw);max-width:100vw;min-width:0;min-height:0;background:var(--panel);color:var(--text);border-left:1px solid var(--line);box-shadow:-14px 0 40px rgba(0,0,0,.18);transform:translateX(102%);visibility:hidden;pointer-events:none;transition:transform .2s ease,visibility .2s ease}
.school-master-drawer:target,.school-master-drawer.is-open{visibility:visible;pointer-events:auto;transform:translateX(0)}
/* The backdrop precedes the drawer; :has() enables CSS-only hash-navigation fallback. */
body:has(.school-master-drawer:target) .school-master-backdrop,.school-master-backdrop.is-open{visibility:visible;pointer-events:auto;opacity:1}
.school-master-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none;padding:16px 20px;border-bottom:1px solid var(--line);background:var(--panel)}
.school-master-drawer-head h2{margin:0;font-size:1.13rem;line-height:1.35}
.school-master-drawer-head .icon-btn{font-size:1.4rem;flex:none;text-decoration:none}
.school-master-drawer-body{overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;flex:1;min-height:0;padding:18px 20px calc(28px + env(safe-area-inset-bottom));min-width:0}
.school-master-drawer-body .panel{margin:0;padding:0;background:transparent;border:0;box-shadow:none}
.school-master-drawer-body .panel>.panel-head,.school-master-drawer-body .panel>h2{display:none}
.school-master-drawer-body .form-grid{min-width:0;max-width:100%}
.school-master-drawer-body .form-grid label,.school-master-drawer-body input,.school-master-drawer-body select,.school-master-drawer-body textarea{min-width:0;max-width:100%}
.school-master-drawer-body .form-actions{position:sticky;bottom:0;margin-top:12px;padding:12px 0 calc(8px + env(safe-area-inset-bottom));background:var(--panel);z-index:1}
@media(max-width:640px){.school-master-drawer{width:100vw;border-left:0}.school-master-drawer-head{padding:14px 16px}.school-master-drawer-body{padding:14px 16px calc(20px + env(safe-area-inset-bottom))}.school-master-drawer-body .form-grid{grid-template-columns:minmax(0,1fr)}.school-master-drawer-body .form-grid .span-2{grid-column:1}.school-master-toolbar .btn{flex:1 1 auto}}
@media(prefers-reduced-motion:reduce){.school-master-drawer,.school-master-backdrop{transition:none}}

body.school-master-drawer-active{overflow:hidden}


/* v1.0.142 · Single school picker for Prospek, field entry and outreach */
.source-school-picker{position:relative;min-width:0;display:grid;gap:5px}
.source-school-picker>label{min-width:0}
.source-school-picker [hidden]{display:none!important}
.source-school-picker [data-source-school-search]{width:100%;min-width:0}
.source-school-suggestions{position:absolute;top:calc(100% - 3px);left:0;right:0;z-index:35;max-height:min(315px,50vh);overflow-y:auto;overscroll-behavior:contain;display:grid;gap:0;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 28px rgba(15,23,42,.16)}
.source-school-suggestion{font:inherit;text-align:left;display:grid;gap:3px;padding:11px 13px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);cursor:pointer;width:100%;overflow-wrap:anywhere}
.source-school-suggestion:last-child{border-bottom:0}
.source-school-suggestion:hover,.source-school-suggestion:focus-visible{background:color-mix(in srgb,var(--brand) 8%,var(--panel));outline:2px solid var(--brand);outline-offset:-2px}
.source-school-suggestion strong{font-size:.92em;line-height:1.4}
.source-school-suggestion small,.source-school-picked{font-size:.78rem;color:var(--muted);line-height:1.45}
.source-school-empty{padding:12px;color:var(--muted);font-size:.9rem}
.source-school-picked{overflow-wrap:anywhere}
@media(max-width:640px){.source-school-suggestions{max-height:min(280px,42vh)}}

.source-school-picker label{color:var(--text)}

/* v1.0.143 — compact activity entry, one alternative-school autocomplete. */
.spmb-competitor-picker{min-width:0;display:grid;gap:5px;grid-column:span 1}
.spmb-competitor-picker [hidden]{display:none!important}
.spmb-competitor-picker>label{min-width:0;display:flex;flex-direction:column;gap:6px;font-size:.83rem;font-weight:700}
.spmb-competitor-picker [data-competitor-search]{width:100%;min-width:0}
.spmb-competitor-picked{font-size:.78rem;line-height:1.45;color:var(--muted);overflow-wrap:anywhere}
.spmb-competitor-results{min-width:0;max-height:min(252px,36vh);overflow:auto;overscroll-behavior:contain;background:var(--panel);border:1px solid var(--line);border-radius:11px;box-shadow:0 8px 22px rgba(15,23,42,.09)}
.spmb-competitor-suggestion{width:100%;display:grid;gap:2px;text-align:left;cursor:pointer;background:transparent;color:var(--text);font:inherit;padding:10px 12px;border:0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.spmb-competitor-suggestion:last-child{border-bottom:0}
.spmb-competitor-suggestion:hover,.spmb-competitor-suggestion:focus-visible{background:color-mix(in srgb,var(--brand) 8%,var(--panel));outline:2px solid var(--brand);outline-offset:-2px}
.spmb-competitor-suggestion strong{font-size:.91rem}
.spmb-competitor-suggestion small{font-size:.76rem;line-height:1.3}
.spmb-competitor-empty{padding:10px 12px;color:var(--muted);font-size:.83rem}
.field-activity-compact .field-activity-details{min-width:0}
.field-activity-compact .field-activity-details>.form-grid{row-gap:10px}
.field-activity-compact .field-activity-details>summary{color:var(--text);font-size:.87rem}
.field-activity-compact textarea{min-height:64px;resize:vertical}
.field-activity-compact .field-activity-save-actions{gap:8px;flex-wrap:wrap}
@media(max-width:680px){
  .field-activity-compact{grid-template-columns:minmax(0,1fr);gap:11px}
  .field-activity-compact>label,.field-activity-compact>.form-more,.field-activity-compact>.form-actions{grid-column:1/-1;min-width:0}
  .field-activity-compact .field-activity-details>.form-grid{grid-template-columns:minmax(0,1fr);padding:12px;gap:10px}
  .field-activity-compact .field-activity-details>.form-grid>*{grid-column:1/-1;min-width:0}
  .field-activity-compact .field-activity-save-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch}
  .field-activity-compact .field-activity-save-actions>.btn{width:auto;min-width:0;min-height:44px;white-space:normal}
  .field-new-entry-form .field-activity-save-actions>.btn.primary{padding-inline:9px}
}
@media(max-width:370px){.field-activity-compact .field-activity-save-actions{grid-template-columns:1fr}.field-activity-compact .field-activity-save-actions>.btn{width:100%}}

/* v1.0.144 — Duplication cues only take space when they convey useful results. */
.field-entry-duplicate-guard{min-width:0;padding:9px 12px;gap:4px}
.field-entry-duplicate-guard[data-match-state="idle"]{border-style:dashed;background:transparent}
.field-entry-duplicate-guard[data-match-state="idle"] .field-entry-duplicate-results:empty{display:none}
.field-entry-duplicate-guard[data-match-state="clear"]{background:transparent}
.field-entry-duplicate-guard[data-match-state="matches"]{border-color:var(--border,#cbd5e1)}
.field-entry-match-priority{font-weight:650;color:var(--text,#334155)}
.field-activity-alternative-hint:not([hidden]){font-size:.81rem;line-height:1.4;color:var(--muted);margin:4px 0 9px}
.field-activity-alternative-hint[hidden]{display:none!important}
@media(max-width:600px){
 .field-activity-compact .field-entry-duplicate-guard{padding:9px 10px}
 .field-activity-compact .field-activity-details>.form-grid{gap:9px}
 .field-entry-duplicate-actions{justify-content:flex-start}
 .field-entry-duplicate-info,.field-entry-duplicate-match{min-width:0}
}

/* v1.0.145 — compact linked-Prospect readiness before staff registration. */
.staff-registration-intro{padding-block:14px}
.staff-registration-intro h2{margin:0 0 4px}
.staff-registration-intro p{margin:0;color:var(--muted)}
.staff-prefill-context{display:grid;gap:10px;margin-bottom:12px}
.staff-prefill-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}
.staff-prefill-head>div{min-width:0}
.staff-prefill-head .eyebrow{font-size:.72rem;letter-spacing:.055em;text-transform:uppercase;color:var(--muted)}
.staff-prefill-head h2{margin:3px 0;font-size:1.05rem;overflow-wrap:anywhere}
.staff-prefill-head p{margin:0;color:var(--muted);overflow-wrap:anywhere}
.staff-prefill-readiness{display:grid;gap:3px;padding:10px 12px;border-radius:10px;background:var(--surface-alt,rgba(128,128,128,.07));border:1px solid var(--border)}
.staff-prefill-readiness strong{font-size:.9rem}
.staff-prefill-readiness span{font-size:.83rem;color:var(--muted);overflow-wrap:anywhere}
.staff-prefill-context>.hint{margin:0;font-size:.8rem}
.staff-prefill-review-notice{margin:2px 0 10px}
@media(max-width:620px){.staff-prefill-head{align-items:flex-start}.staff-prefill-head .btn{flex:0 0 auto;max-width:44%;white-space:normal;text-align:center}.staff-prefill-context{gap:8px}}

/* v1.0.146 — compact locality reuse and structured follow-up. */
.field-entry-domicile [list]{min-width:0;width:100%}
.field-activity-compact select[name="follow_up_action"]{min-width:0;width:100%}
.field-entry-address-hint{font-size:.78rem;line-height:1.4}

/* v1.0.147 — No duplicate, no card; dark/light native theme surfaces. */
.field-entry-duplicate-guard[hidden],.field-entry-duplicate-note[hidden]{display:none!important}
.field-entry-duplicate-guard{border-color:var(--line,#cbd5e1)}
.field-entry-duplicate-guard[data-match-state="matches"]{background:var(--panel,#fff);color:var(--text,inherit);border-color:var(--line,#cbd5e1)}
.field-entry-duplicate-note{font-size:.82rem;line-height:1.45;color:var(--muted);padding:0 2px;overflow-wrap:anywhere}

/* v1.0.148 — compact, theme-aware opt-in RT/RW and follow-up suggestions */
.field-domicile-pairs[hidden],.field-followup-suggestion[hidden]{display:none!important}
.field-domicile-pairs{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:0;padding:1px 0}
.field-domicile-pairs>span{font-size:.78rem;color:var(--muted);width:100%;line-height:1.35}
.field-domicile-pair-choice{border:1px solid var(--border,#cbd5e1);border-radius:10px;padding:7px 10px;background:var(--panel,#fff);color:var(--text,#334155);font:inherit;font-size:.8rem;cursor:pointer;min-height:36px}
.field-domicile-pair-choice:hover,.field-domicile-pair-choice:focus-visible{outline:2px solid var(--accent,#2563eb);outline-offset:1px}
.field-followup-suggestion{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:7px 10px;border:1px solid var(--border,#cbd5e1);border-radius:10px;color:var(--muted);font-size:.82rem;line-height:1.45}
.field-followup-suggestion>span{flex:1;min-width:180px}
.field-followup-suggestion .btn.small{min-height:36px;white-space:nowrap}
@media(max-width:600px){.field-followup-suggestion{padding:7px 9px}.field-followup-suggestion .btn.small{min-height:40px}.field-domicile-pair-choice{min-height:40px}}


/* v1.0.149 — compact adaptive form + read-only contact context. */
.field-activity-details [data-activity-when][hidden],
.field-activity-compact [data-followup-date-field][hidden],
.field-activity-show-all[hidden]{display:none!important}
.field-activity-show-all{margin:9px 12px 0;padding:6px 10px;min-height:38px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--text);font:inherit;font-size:.8rem;font-weight:650;cursor:pointer}
.field-activity-show-all:focus-visible,.field-history-disclosure>summary:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
.field-activity-conditional-picker{min-width:0;grid-column:auto}
.field-activity-conditional-picker>.spmb-competitor-picker{min-width:0}
.field-activity-recent-context>small{flex-basis:100%;font-size:.77rem;line-height:1.45;color:var(--muted);overflow-wrap:anywhere}
.history-timeline{padding:0;overflow:hidden}
.field-history-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;min-height:44px;padding:12px 16px;font-size:.9rem;font-weight:750;color:var(--text)}
.field-history-disclosure>summary small{font-size:.76rem;font-weight:500;color:var(--muted)}
.field-history-disclosure[open]>summary{border-bottom:1px solid var(--line)}
.field-history-entries{padding:12px 16px}
@media(max-width:600px){.field-history-disclosure>summary{padding:10px 12px}.field-history-entries{padding:10px 12px}.field-activity-show-all{min-height:44px}}

/* v1.0.150: first-class, compact Catat Aktivitas with consistent field guidance. */
.field-activity-primary-meeting[hidden],.field-activity-compact [data-activity-visit-schedule][hidden]{display:none!important}
.field-activity-compact .field-activity-primary-meeting{min-width:0}
#prospect-activity.prospect-activity-server-sheet.is-open>.field-activity-form .field-activity-save-actions{
 position:sticky;bottom:0;z-index:2;background:var(--panel);border-top:1px solid var(--line);
 padding:12px 0 max(12px,env(safe-area-inset-bottom));margin-top:2px;
}
#prospect-activity.prospect-activity-server-sheet.is-open>.field-activity-target{margin-bottom:6px}
@media(max-width:680px){
 #prospect-activity.prospect-activity-server-sheet.is-open>.field-activity-form{gap:10px}
 #prospect-activity.prospect-activity-server-sheet.is-open>.field-activity-form .field-activity-save-actions{margin-bottom:0}
}

/* v1.0.152: compact, accessible planned action + urgency on every device. */
.prospect-table .next-action-inline{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;max-width:290px}
.prospect-table .next-action-inline .next-label{font-size:.8rem;line-height:1.3;white-space:normal;overflow-wrap:anywhere;color:var(--text)}
.prospect-table .next-action-inline .next-label.warn{color:var(--warn)}
.prospect-table .next-action-inline .next-label.today{color:var(--brand)}
.prospect-table .next-action-inline .next-label.ok{color:var(--ok)}
.prospect-table .next-meta{font-size:.72rem;line-height:1.35;font-weight:650;color:var(--muted)}
@media(max-width:700px){.prospect-table .next-action-inline{max-width:100%}.prospect-table tbody td[data-label="Berikutnya"]{align-items:flex-start}}

/* v1.0.153 — one readable operational flow; read-only history and unobtrusive save feedback. */
.next-action .next-action-meta{display:block;font-size:.76rem;font-weight:600;color:var(--muted);margin-top:3px;text-transform:none;letter-spacing:normal}
.history-timeline .field-history-entries{list-style:none;margin:0;padding:10px 16px;display:grid;gap:0}
.field-history-event{position:relative;padding:10px 0 11px 18px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}
.field-history-event:last-child{border-bottom:0}
.field-history-event::before{content:"";position:absolute;left:1px;top:18px;width:7px;height:7px;border-radius:50%;background:var(--brand)}
.field-history-event .field-history-kind{color:var(--muted);font-size:.7rem;font-weight:750}
.field-history-event strong{font-size:.85rem;line-height:1.35;overflow-wrap:anywhere}
.field-history-event small{font-size:.73rem;overflow-wrap:anywhere}
.operational-save-feedback{position:sticky;top:calc(78px + env(safe-area-inset-top));z-index:19;display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:680px;margin:0 0 16px auto;box-shadow:var(--shadow)}
.operational-save-feedback strong{min-width:0;font-size:.84rem;line-height:1.35}
.operational-flash-dismiss{flex:none;display:inline-flex;align-items:center;justify-content:center;min-height:36px;min-width:36px;padding:0;border:1px solid currentColor;border-radius:9px;background:transparent;color:inherit;cursor:pointer;font-size:1.2rem}
.operational-flash-dismiss:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.prospect-queue-drawer{height:100vh;height:100dvh}
.prospect-queue-drawer .prospect-queue-content.is-activity{scroll-padding-bottom:110px}
.prospect-queue-drawer .prospect-queue-content.is-activity .field-activity-save-actions{position:sticky;bottom:0;z-index:2;display:flex;flex-wrap:wrap;gap:8px;background:var(--panel);border-top:1px solid var(--line);padding:10px 0 max(12px,env(safe-area-inset-bottom));margin-top:8px}
@media(max-width:680px){.operational-save-feedback{top:calc(64px + env(safe-area-inset-top));max-width:100%}.history-timeline .field-history-entries{padding:6px 12px}.prospect-queue-drawer .prospect-queue-content.is-activity .field-activity-save-actions>.btn{flex:1 1 135px;white-space:normal;min-height:44px}.prospect-queue-drawer .prospect-editor-head{padding-top:max(12px,env(safe-area-inset-top))}}

/* v1.0.154 — factual, read-only journey in authorized Prospect detail only. */
.prospect-journey{margin-top:12px}
.prospect-journey h2{margin:0 0 12px;font-size:1rem}
.prospect-journey-steps{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;padding:0}
.prospect-journey-step{min-width:0;padding:10px 11px;border:1px solid var(--line);border-radius:11px;background:var(--panel);display:flex;flex-direction:column;gap:4px}
.prospect-journey-stage{font-weight:650;font-size:.83rem;line-height:1.3;overflow-wrap:anywhere}
.prospect-journey-step time,.prospect-journey-step small{font-size:.75rem;color:var(--muted)}
.prospect-journey-step.is-recorded{border-inline-start:3px solid var(--brand)}
.prospect-journey-summary{display:flex;gap:5px 16px;flex-wrap:wrap;margin-top:10px;color:var(--muted);font-size:.81rem;line-height:1.45}
.prospect-journey-summary strong{color:var(--text)}
.prospect-journey-attention{display:flex;flex-direction:column;gap:3px;padding:10px 12px;margin-top:10px;border:1px solid var(--line);border-inline-start:3px solid var(--brand);border-radius:10px;line-height:1.4}
.prospect-journey-attention strong{font-size:.82rem;color:var(--text)}
.prospect-journey-attention small{font-size:.78rem;color:var(--muted)}
@media(max-width:680px){.prospect-journey-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.prospect-journey-step{padding:9px 10px}.prospect-journey-summary{display:grid;gap:3px}}


/* v1.0.155 — compact registration preparation without duplicate full cards. */
.prospect-conversion-inline{display:flex;flex-wrap:wrap;align-items:center;gap:5px 12px;margin:-5px 0 13px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--muted);font-size:.8rem;line-height:1.4}
.prospect-conversion-inline strong{color:var(--text)}
.prospect-conversion-inline details{min-width:0}
.prospect-conversion-inline summary,.staff-prefill-readiness summary{cursor:pointer;font-weight:650;color:var(--brand)}
.prospect-conversion-inline details span,.staff-prefill-readiness details span{display:block;margin-top:5px;overflow-wrap:anywhere;color:var(--muted)}
.prospect-conversion-inline summary:focus-visible,.staff-prefill-readiness summary:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
.staff-prefill-readiness details{font-size:.82rem}
@media(max-width:600px){.prospect-conversion-inline{margin-top:-4px;gap:5px 8px;padding:8px 10px}.staff-prefill-readiness{padding:9px 10px}}

/* v1.0.156 — compact Prospect queue and action-first Admission, with no hidden rights. */
.prospect-table tbody tr[id^="prospect-"]>td{padding-block:11px}
.prospect-table tbody tr[id^="prospect-"]>td:last-child{width:1%;white-space:nowrap}
.prospect-table .prospect-row-top{gap:6px}
.prospect-table .prospect-row-readiness{font-size:.7rem}
.prospect-table .prospect-queue-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:nowrap;gap:5px}
.prospect-table .prospect-queue-actions .btn.small{font-size:.75rem;padding:6px 9px;min-height:36px;white-space:nowrap}
.prospect-table .prospect-queue-actions .btn:first-child{font-weight:750}
.prospect-table td[data-label="Status"] .badge{max-width:150px;display:inline-block;font-size:.73rem;line-height:1.25}
.prospect-table .field-prospect-meta{font-size:.77rem;line-height:1.35}
.admission-quick-nav{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 11px}
.admission-quick-nav a{display:inline-flex;align-items:center;min-height:36px;padding:7px 12px;border:1px solid var(--line);border-radius:9px;background:var(--panel);font-size:.78rem;font-weight:700;color:var(--text);text-decoration:none}
.admission-quick-nav a:hover,.admission-quick-nav a:focus-visible{color:var(--brand);border-color:var(--brand);outline-offset:3px}
#admission-action,#admission-documents,#admission-form{scroll-margin-top:96px}
.applicant-workspace .process-panel{order:initial}
.admission-document-cue{font-size:.79rem;line-height:1.4;margin:0 0 10px;color:var(--muted)}
.admission-document-cue a{font-weight:750;color:var(--brand)}
.candidate-document-review .staff-document-item{margin:6px 0;padding:0;border:1px solid var(--line);background:var(--panel);border-radius:10px;overflow:hidden}
.staff-document-disclosure>summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:11px 12px}
.staff-document-disclosure>summary::-webkit-details-marker{display:none}
.staff-document-disclosure>summary::after{content:'⌄';font-weight:700;color:var(--muted);margin-left:2px}
.staff-document-disclosure[open]>summary::after{content:'⌃'}
.staff-document-disclosure>summary strong,.staff-document-missing strong{font-size:.82rem;line-height:1.35}
.staff-document-disclosure>summary span,.staff-document-missing>span{font-size:.72rem;color:var(--muted);line-height:1.4}
.staff-document-disclosure>summary:focus-visible{outline:2px solid var(--brand);outline-offset:-3px}
.staff-document-disclosure .staff-document-body{padding:0 12px 12px;border-top:1px solid var(--line)}
.candidate-document-review .staff-document-missing{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px}
.staff-document-disclosure .form-grid{margin-top:8px}
@media(max-width:700px){
 .prospect-table tbody tr[id^="prospect-"]{padding:10px 12px;gap:4px 9px}
 .prospect-table tbody tr[id^="prospect-"]>td:last-child{width:auto;white-space:normal;padding-top:2px}
 .prospect-table .prospect-queue-actions{justify-content:flex-start;gap:6px;flex-wrap:wrap}
 .prospect-table .prospect-queue-actions .btn.small{min-height:44px;padding:8px 12px}
 .admission-quick-nav{gap:5px}
 .admission-quick-nav a{flex:1 1 auto;justify-content:center;min-height:40px;padding:7px 9px}
 .staff-document-disclosure>summary{min-height:44px}
}
@media(min-width:701px) and (max-width:1140px){.prospect-table .prospect-queue-actions .btn.small{padding:6px 7px;font-size:.73rem}}

/* v1.0.157 — read-only admission document signals, compact on both desktop and HP. */
.application-queue .readiness-inline{line-height:1.45}
.application-queue .admission-doc-signal{color:var(--muted);font-weight:650}
.application-queue .admission-doc-signal.needs-replacement{color:var(--warn)}
.staff-document-disclosure>summary .document-state{font-weight:650;text-align:right}
.staff-document-disclosure>summary .document-state.needs-replacement{color:var(--warn)}
.staff-document-disclosure>summary .document-state.pending-review{color:var(--muted)}
.staff-document-disclosure>summary .document-state.reviewed{color:var(--ok)}
@media(max-width:700px){
 .application-queue .readiness-inline{font-size:.71rem;line-height:1.4}
 .staff-document-disclosure>summary{gap:10px}
 .staff-document-disclosure>summary .document-state{max-width:50%;overflow-wrap:anywhere}
}

/* v1.0.157-pl2 — staff registration copy diet and Indonesian DOB display. */
.staff-prefill-context{gap:6px;padding-block:13px}
.staff-prefill-head h2{margin:2px 0}
.staff-prefill-readiness{display:block;padding:8px 10px;border-radius:9px;background:var(--surface-alt,rgba(128,128,128,.07));border:1px solid var(--line)}
.staff-prefill-readiness[hidden]{display:none!important}
.staff-prefill-readiness [data-staff-prefill-message]{font-size:.81rem;color:var(--text);font-weight:650}
.spmb-date-local{position:relative;display:block;min-width:0}
.spmb-date-local input[type=date]{width:100%;min-width:0}
.spmb-date-human{display:none;pointer-events:none;position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--text);font:inherit;font-size:1rem;line-height:1.4;white-space:nowrap}
.spmb-date-local.is-formatted:not(.is-editing) .spmb-date-human{display:block}
.spmb-date-local.is-formatted:not(.is-editing) input[type=date]{color:transparent!important}
.spmb-date-local.is-formatted:not(.is-editing) input[type=date]::-webkit-datetime-edit{color:transparent!important}
.spmb-date-local.is-formatted:not(.is-editing) input[type=date]::-webkit-datetime-edit-fields-wrapper{color:transparent!important}
@media(max-width:620px){.staff-prefill-context{padding:11px 12px;gap:5px}.staff-prefill-readiness{padding:7px 9px}}

/* v1.0.161 Affiliate admin pager: narrow, low-noise and touch accessible */
.affiliate-admin-pages{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-top:.75rem}
.affiliate-mail-diagnostics p{margin:.45rem 0}
@media(max-width:650px){.affiliate-admin-pages .btn{min-height:40px}.affiliate-admin-pages span{font-size:.875rem}}
