:root{font-family:system-ui,sans-serif;color:#17302c;background:#f3f6f4}*{box-sizing:border-box}body{margin:0}main{max-width:980px;margin:auto;padding:28px}h1{font-size:2rem}h2{margin-top:0}header{padding:12px 0}section,form,.card{background:#fff;border:1px solid #b9c9c2;border-radius:12px;padding:22px;margin:18px 0}.notice{background:#e2eee7;padding:16px;border-radius:8px}nav{display:flex;gap:10px;flex-wrap:wrap}button{background:#155a46;color:white;border:0;border-radius:7px;padding:12px 16px;font:inherit;cursor:pointer;margin:6px 6px 6px 0}button:disabled{opacity:.6;cursor:wait}button[aria-pressed=false]{background:#e0e9e4;color:#17302c}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #cc7e00;outline-offset:3px}label{display:block;margin:12px 0}input,select{display:block;max-width:100%;width:360px;border:1px solid #60786b;border-radius:5px;padding:10px;font:inherit;margin-top:6px}dl{display:grid;grid-template-columns:1fr 1fr;gap:8px}dt{font-weight:600}dd{margin:0;overflow-wrap:anywhere}#status{min-height:1.6em}p{line-height:1.7}[hidden]{display:none!important}@media(max-width:580px){main{padding:16px}section,form,.card{padding:16px}dl{grid-template-columns:1fr}button{width:100%}}
.candidate-table{width:100%;border-collapse:collapse}.candidate-table th,.candidate-table td{text-align:left;padding:8px;border-bottom:1px solid #b9c9c2;overflow-wrap:anywhere}.table-scroll{overflow:auto}details>summary{cursor:pointer;font-weight:600;padding:12px 0}.candidate-checks{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:580px){.candidate-checks{grid-template-columns:1fr}}
textarea{display:block;width:100%;max-width:100%;font:14px/1.5 ui-monospace,monospace;padding:12px;border:1px solid #728e83;border-radius:6px;resize:vertical}textarea:focus-visible{outline:3px solid #216b57;outline-offset:2px}

#live-invitation-management fieldset,#live-student-registration fieldset{border:1px solid #b9c9c2;border-radius:8px;padding:16px;margin:16px 0}#live-invitation-management legend{font-weight:600}#live-student-registration ol{padding-left:24px;line-height:1.8}

/* Administrator workspace; existing mock forms keep their own controls. */
:root{--ink:#1c3430;--muted:#536a62;--line:#d5e0da;--surface:#fff;--accent:#155a46;background:#f4f7f5;color:var(--ink)}
main{max-width:1280px;padding:32px}h1{letter-spacing:-.04em;font-size:2.4rem;margin:8px 0}h2{font-size:1.35rem}h3{font-size:1.2rem}h4{font-size:1.05rem}p{color:var(--muted)}
.page-header{display:flex;align-items:center;justify-content:space-between;gap:20px}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.09em}.badge{display:inline-block;background:#edf2ee;color:#365849;padding:6px 10px;border:1px solid var(--line);border-radius:20px;font-size:.85rem;white-space:normal}
#admin{background:transparent;border:0;padding:0}.access-bar{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:14px;margin:20px 0}.access-bar label{margin-top:0}.access-bar input{width:330px}
.admin-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px;align-items:start}.workspace-nav{display:flex;flex-direction:column;position:sticky;top:18px;padding:18px;background:#e9f0eb;border-radius:14px}.workspace-nav button{text-align:left;margin:4px 0;background:transparent;color:var(--ink);width:100%}.workspace-nav button[aria-pressed=true]{background:var(--accent);color:white}.workspace-nav p{font-size:.85rem;line-height:1.6;overflow-wrap:anywhere}.workspace-content{min-width:0}.admin-panel>h2{margin:8px 0}.admin-panel section{margin-top:0;border-color:var(--line)}.panel-help{margin-bottom:20px}.global-status{border-left:4px solid var(--accent);padding:10px 16px;background:#edf3ef;min-height:48px}.secondary{background:#e7eee9;color:var(--ink)}
.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.metric{background:#f5f8f6;border:1px solid var(--line);border-radius:10px;padding:16px}.metric span{display:block;font-size:.85rem;color:var(--muted)}.metric strong{display:block;font-size:1.8rem;margin-top:8px}.list-toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.list-toolbar label{flex:1}.list-toolbar input{width:100%}.education-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.education-card{margin:0;padding:18px}.education-card h4{margin:14px 0}.education-card p{margin:5px 0;font-size:.9rem}.education-card button{margin-top:14px}.student-row{padding:16px 0;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:10px;align-items:center}.student-row strong{font-size:.85rem;overflow-wrap:anywhere}.student-row span{font-size:.9rem}.selected-education{background:#f5f8f6}
form{border-color:var(--line)}input,select{width:100%;max-width:480px;border-color:#81968b}input[type=checkbox]{display:inline-block;width:auto;margin:0 0 0 10px;accent-color:var(--accent)}fieldset{border:1px solid var(--line);border-radius:10px;padding:18px;margin:16px 0}legend{font-weight:600;padding:0 6px}button:disabled{cursor:not-allowed;opacity:.5}label{font-weight:500}details{padding:10px 0}details>summary{color:var(--accent)}.skip-link{position:absolute;left:16px;top:-60px;background:white;padding:12px;z-index:2}.skip-link:focus{top:8px}
@media(max-width:900px){.admin-layout{grid-template-columns:1fr}.workspace-nav{position:static;display:flex;flex-direction:row;flex-wrap:wrap;gap:6px}.workspace-nav button{width:auto}.workspace-nav p{width:100%}.access-bar{grid-template-columns:1fr}.education-grid{grid-template-columns:1fr}.page-header{align-items:start}.metric-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:580px){main{padding:16px}.page-header{display:block}.metric-grid{grid-template-columns:1fr}.workspace-nav button{width:100%}.access-bar{padding:18px}.access-bar input{width:100%}.metric strong{font-size:1.5rem}.list-toolbar{display:block}}

/* Student helper instructions; command preparation never applies PC settings. */
.helper-guide{border-color:var(--line);min-width:0}
.helper-guide .helper-notice{border-left:4px solid var(--accent);background:#edf3ef;padding:12px 16px}
.helper-progress{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;list-style:none;padding:0!important;margin:20px 0}
.helper-progress li{background:#f4f7f5;border:1px solid var(--line);border-radius:8px;padding:12px;font-size:.85rem;overflow-wrap:anywhere}
.helper-guide .helper-step{border:1px solid var(--line);border-radius:10px;padding:12px 18px;margin:14px 0;background:#fff}
.helper-step>summary{color:var(--ink);font-size:1.05rem;line-height:1.5}
.helper-step>summary:focus-visible{outline:3px solid #cc7e00;outline-offset:3px}
.helper-guide .helper-check{display:flex;align-items:flex-start;gap:10px;max-width:760px;line-height:1.6}
.helper-guide .helper-check input{flex-shrink:0;margin:5px 0 0;width:auto}
.helper-metadata{grid-template-columns:minmax(100px,1fr) minmax(0,3fr);font-size:.95rem}
.helper-command{background:#f4f7f5;border:1px solid var(--line);border-radius:8px;padding:14px;margin:14px 0;min-width:0}
.helper-command textarea{width:100%;max-width:none;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65;background:white}
.helper-command p{font-size:.85rem;margin-bottom:0}
@media(max-width:900px){.helper-progress{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){.helper-progress{grid-template-columns:1fr}.helper-guide .helper-step{padding:10px 14px}.helper-metadata{grid-template-columns:1fr}.helper-command{padding:10px}}

/* Installation metadata stays distinct from completed installation. */
.setup-editor-card{background:#f8faf8;border-color:var(--line)}.setup-editor-card legend{font-size:1rem}.setup-editor-card details{background:#fff;border-radius:8px;padding:10px 14px}.setup-check{display:flex;align-items:flex-start;gap:10px;line-height:1.6}.setup-check input[type=checkbox]{flex:none;margin:5px 0 0}.setup-public-card{border:1px solid var(--line);border-radius:10px;padding:16px;margin:12px 0;background:#f8faf8}.setup-public-card h5{font-size:1rem;margin:0 0 10px}.setup-public-card dd,.setup-public-card p{overflow-wrap:anywhere}.setup-public-card a{display:inline-block;margin:8px 0;font-weight:600;color:var(--accent)}.setup-student-info{margin:16px 0;padding:16px;background:#edf3ef;border-radius:10px}.setup-student-info>h4{margin-top:0}.setup-student-info dl{grid-template-columns:minmax(100px,1fr) minmax(0,2fr)}@media(max-width:580px){.setup-student-info{padding:12px}.setup-student-info dl{grid-template-columns:1fr}}
.setup-editor-body{border:0;padding:0;margin:0;min-width:0}

/* Preserve readable audit JSON without widening narrow administrator screens. */
.finance-panel,.finance-panel fieldset{min-width:0}
.finance-output{max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;line-height:1.6}
:root { --student-accent: #205d45; }
.student-onboarding { max-width: 960px; margin: auto; }
.student-welcome { padding: 1.25rem 0; }
.student-welcome h3 { font-size: clamp(1.35rem, 3vw, 2rem); margin: .5rem 0; }
.student-welcome p { max-width: 70ch; }
.student-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; margin: 1rem 0; }
.student-steps button { margin: 0; min-height: 48px; white-space: normal; }
.student-steps button[aria-pressed="true"] { background: var(--student-accent); color: white; border-color: var(--student-accent); }
.student-next { padding: 1rem; background: #eef6f1; border-left: 4px solid var(--student-accent); }
.student-onboarding > section { border: 1px solid #d5dfd9; border-radius: 12px; padding: 1rem; margin: 1rem 0; }
.student-onboarding input, .student-onboarding select, .student-onboarding textarea { max-width: 100%; box-sizing: border-box; }
.student-onboarding button, .student-onboarding summary { overflow-wrap: anywhere; }
.student-onboarding li { margin: .65rem 0; line-height: 1.6; }
.student-onboarding .helper-guide { border: 0; padding: 0; }
.student-onboarding > section > section { border: 0; padding: 0; margin: 0; }
.student-onboarding form { border: 0; padding: 0; margin: 0; }
.student-entry-page .page-header { padding: 0; margin-bottom: .5rem; }
.student-entry-page .page-header h1 { font-size: 1.5rem; margin: .3rem 0; }
.student-entry-page #page-description { margin: .3rem 0; }
.student-entry-page #student { padding: 1rem; }
.student-entry-page #student > h2 { margin-bottom: .4rem; }
.student-entry-page .student-welcome { padding: .25rem 0; }
.student-entry-page .student-welcome > p:first-child { display: none; }
@media (max-width: 560px) {
 .student-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .student-onboarding > section { padding: .75rem; }
 .student-onboarding button { max-width: 100%; }
}
