/* Role workspaces share the existing studio, with task-specific layouts. */
:root{--path-ink:#183847;--path-muted:#3e5a65;--path-accent:#17685b;--path-line:#b8ccc2;--path-paper:#fff;--path-soft:#e9f0e9;--path-warning:#785015}
.role-hub{color:var(--path-ink);margin:0 0 3rem;scroll-margin-top:8rem}
.role-hub *{box-sizing:border-box}.role-hub [hidden]{display:none!important}
.role-hub h2{font-size:clamp(1.5rem,3vw,2rem);line-height:1.2;letter-spacing:-.035em;margin:0 0 .75rem;color:var(--path-ink)}
.role-hub h3{font-size:1.15rem;margin:0 0 .75rem;color:var(--path-ink)}
.role-hub p{color:var(--path-muted);line-height:1.6;margin:.5rem 0 1rem}
.path-eyebrow{display:block;font-size:.72rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase;color:var(--path-accent);margin-bottom:.75rem}
.path-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:1.5rem;align-items:start}
.path-panel{background:var(--path-paper);border:1px solid var(--path-line);padding:1.5rem;border-radius:.5rem;min-width:0}
.path-panel+.path-panel,.path-section{margin-top:1.5rem}.path-layout>.path-panel{margin-top:0}
.path-panel label,.path-panel legend{display:block;font-size:.9rem;font-weight:650;color:var(--path-ink);line-height:1.4}
.path-panel label+label{margin-top:1rem}
.path-panel input:not([type=checkbox]):not([type=radio]),.path-panel select,.path-panel textarea{display:block;width:100%;max-width:100%;font:inherit;font-size:1rem;line-height:1.5;color:var(--path-ink);background:#fff;border:1px solid #8fae9f;border-radius:.25rem;padding:.65rem .75rem;margin-top:.4rem;min-height:2.75rem}
.path-panel textarea{resize:vertical;min-height:5rem}.path-panel input[type=checkbox],.path-panel input[type=radio]{accent-color:var(--path-accent);width:1.1rem;height:1.1rem;flex-shrink:0}
.path-panel fieldset{border:0;padding:0;margin:1rem 0;min-width:0}
.path-panel small,.path-hint{display:block;font-size:.82rem;line-height:1.5;color:var(--path-muted);font-weight:400;margin-top:.4rem}
.path-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.path-grid>label{margin:0!important}
.path-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.path-btn,.path-hub-link{display:inline-flex;justify-content:center;align-items:center;gap:.5rem;min-height:2.75rem;border:1px solid var(--path-ink);background:var(--path-ink);color:#fff!important;padding:.65rem 1rem;font:inherit;font-size:.9rem;font-weight:650;text-decoration:none;cursor:pointer;border-radius:.25rem;line-height:1.4}
.path-btn:hover,.path-hub-link:hover{background:#2a5363}.path-btn.secondary{background:#fff;color:var(--path-ink)!important;border-color:#8eaa9b}.path-btn.secondary:hover{background:var(--path-soft)}
.path-btn:disabled{opacity:.6;cursor:wait}.path-actions{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap;margin-top:1.25rem}
.path-status{margin:1rem 0 0!important;min-height:1.5rem;font-size:.9rem;font-weight:600}.path-status:empty{min-height:0;margin:0!important}
.path-warning{background:#fff4dc;color:#65420e!important;border-left:3px solid #a96c12;padding:.75rem 1rem;font-size:.9rem;line-height:1.5}
.path-loop{counter-reset:path;list-style:none;padding:0;margin:1rem 0}.path-loop li{position:relative;border-top:1px solid var(--path-line);padding:1rem 0 1rem 2.75rem;color:var(--path-muted);line-height:1.5}.path-loop li:before{counter-increment:path;content:counter(path,decimal-leading-zero);position:absolute;left:0;color:var(--path-accent);font-weight:750}.path-loop strong{display:block;color:var(--path-ink);margin-bottom:.25rem}
.path-ratings{display:grid;gap:.75rem}.path-rating{border-bottom:1px solid var(--path-line);padding-bottom:.75rem}.path-rating>span{display:block;font-size:.9rem;font-weight:650;margin-bottom:.5rem}.path-rating-options{display:flex;gap:1rem;flex-wrap:wrap}.path-rating-options label{display:flex;align-items:center;gap:.4rem;font-size:.82rem;font-weight:450;margin:0!important;min-height:2.75rem}
.path-output{white-space:pre-wrap;font:inherit;line-height:1.7;color:var(--path-ink);overflow-wrap:anywhere;margin:1rem 0}.path-review-list{display:grid;gap:.75rem}.path-review-item{display:flex;gap:1rem;justify-content:space-between;align-items:center;border-top:1px solid var(--path-line);padding-top:.75rem}.path-review-item strong{display:block}.path-review-item small{margin-top:.25rem}
.path-inline-topic{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.75rem}.path-inline-topic button{font:inherit;font-size:.85rem;padding:.5rem .75rem;min-height:2.75rem;background:#edf3ed;color:var(--path-ink);border:1px solid #b6cabc;border-radius:.25rem;cursor:pointer}
.path-tabs{display:flex;gap:.5rem;flex-wrap:wrap;border-bottom:1px solid var(--path-line);padding-bottom:1rem;margin-bottom:1.5rem}.path-tabs button{background:#fff;color:var(--path-ink);border:1px solid var(--path-line);font:inherit;font-weight:650;min-height:2.75rem;padding:.65rem 1rem;border-radius:.25rem;cursor:pointer}.path-tabs button[aria-pressed=true]{background:var(--path-ink);color:#fff}
.path-weekdays{display:flex;gap:.6rem;flex-wrap:wrap}.path-weekdays label{display:flex;align-items:center;gap:.3rem;margin:0!important;padding:.5rem;border:1px solid var(--path-line);border-radius:.25rem}
.path-course-toolbar{display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap;margin:1.5rem 0}.path-course-toolbar p{margin:0}.path-session{border:1px solid var(--path-line);background:#fff;border-radius:.35rem;margin-bottom:.75rem}.path-session summary{list-style:none;padding:1rem;cursor:pointer;display:grid;grid-template-columns:7rem minmax(0,1fr) auto;gap:1rem;align-items:center}.path-session summary::-webkit-details-marker{display:none}.path-session summary:after{content:'+';font-weight:650}.path-session[open] summary:after{content:'−'}.path-session summary strong{display:block}.path-session summary small{display:block;margin-top:.25rem;font-weight:400;color:var(--path-muted)}.path-session-body{padding:0 1rem 1rem;border-top:1px solid var(--path-line)}.path-session-body>.path-grid{margin-top:1rem}.path-session-ready{display:flex!important;gap:.5rem;align-items:center;margin-top:1rem!important;font-weight:450!important}
.path-rotation-wrap{overflow:auto;margin:1rem 0;border:1px solid var(--path-line)}.path-rotation-wrap table{border-collapse:collapse;min-width:32rem;width:100%;font-size:.85rem}.path-rotation-wrap th,.path-rotation-wrap td{padding:.65rem .75rem;border:1px solid #d0ddd4;text-align:left;white-space:nowrap}.path-rotation-wrap th{background:var(--path-soft);color:var(--path-ink)}
.path-coach{border:1px solid var(--path-line);padding:1.25rem;background:#eef4ee;margin-bottom:1rem;border-radius:.35rem}.path-coach details{background:#fff;border:1px solid var(--path-line);padding:.75rem;margin-top:.75rem}.path-coach summary{cursor:pointer;font-weight:650}.path-coach p{line-height:1.65;margin:.5rem 0}.path-role-link{color:var(--path-accent);font-size:.85rem;font-weight:650;text-decoration:underline;text-underline-offset:.2rem}
html[data-workspace-role] .field-desk-tools,html[data-workspace-role] .field-desk-semester{display:none!important}
html[data-workspace-role=student] .field-desk-reference{display:none!important}
html[data-workspace-role=student] .field-desk-lower{grid-template-columns:1fr}
.role-hub :focus-visible,.role-gate :focus-visible,.role-choices :focus-visible{outline:3px solid #a65b31;outline-offset:4px}
@media(max-width:900px){.path-layout{grid-template-columns:1fr}.path-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.path-panel{padding:1rem}.path-grid,.path-grid.three{grid-template-columns:1fr}.path-session summary{grid-template-columns:4rem minmax(0,1fr) auto;gap:.5rem}.path-actions>.path-btn{flex-grow:1}.path-review-item{align-items:start;flex-direction:column}.path-rating-options{gap:.75rem}.path-tabs button{flex:1}.role-hub{scroll-margin-top:10rem}}
@media print{.role-hub button,.path-actions,.path-tabs,.path-role-link{display:none!important}.role-hub .path-panel{break-inside:avoid;border-color:#999}.path-layout{display:block}.path-panel{margin:0 0 1rem}.path-session-body{display:block!important}}

html[data-workspace-role] .field-desk-hero{padding:3rem 0 2rem;margin-bottom:2rem;gap:2rem;grid-template-columns:minmax(0,1.5fr) minmax(17rem,1fr)}
html[data-workspace-role] .field-desk-copy h1{font-size:clamp(2.25rem,4.5vw,4.75rem);letter-spacing:-.06em;line-height:1.04}
html[data-workspace-role] .field-status-index{margin-top:1.5rem}
html[data-workspace-role] .field-status-bottom{padding-top:1rem}
@media(max-width:850px){html[data-workspace-role] .field-desk-hero{grid-template-columns:1fr}html[data-workspace-role] .field-desk-status{display:none}}

.path-layout+.path-panel{margin-top:1.5rem}
.asmt-hub{margin-bottom:1.5rem}.asmt-hub [hidden]{display:none!important}.asmt-meta{font-size:.82rem;line-height:1.6;padding:.75rem 0;color:var(--path-muted)}
.asmt-guide>details{border:1px solid var(--path-line);border-radius:.3rem;margin-top:.75rem;padding:1rem}.asmt-guide summary,.asmt-hub summary{font-weight:650;cursor:pointer;line-height:1.5}.asmt-guide li{margin:.6rem 0;line-height:1.6;color:var(--path-muted)}
.asmt-criterion{padding:1rem 0;border-top:1px solid var(--path-line)}.asmt-criterion-head{display:flex;align-items:start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.asmt-criterion h4,.asmt-followup h4{font-size:1rem;margin:0;line-height:1.5}.asmt-priority{background:#fff1d3;color:#714b0c;padding:.25rem .5rem;border-radius:.2rem;font-size:.75rem;font-weight:600}.asmt-criterion details{background:var(--path-soft);padding:.75rem;border-radius:.25rem}.asmt-criterion details p{font-size:.88rem}
.asmt-followup{border:1px solid var(--path-line);padding:1rem;margin-top:.75rem;background:#fff;border-radius:.3rem}#assessment-print{display:none}
@media(max-width:520px){.asmt-hub .path-tabs{display:grid;grid-template-columns:1fr}.asmt-guide>details{padding:.75rem}.asmt-criterion-head{gap:.5rem}}
@media print{body.printing-assessment-package>*:not(#assessment-print){display:none!important}body.printing-assessment-package #assessment-print{display:block!important;background:#fff;color:#111;font:10pt/1.45 Arial,sans-serif}#assessment-print h1{font-size:20pt}#assessment-print h2{font-size:13pt;break-after:avoid}#assessment-print p{white-space:normal;overflow-wrap:anywhere}#assessment-print section{margin-bottom:1rem}}

/* Layout declarations must not expose inactive roles or controls. */
#tools [data-role-workspace][hidden],#tools [data-role-panel][hidden],#tools .single-topic-control[hidden],#tools #role-required[hidden],#tools #fixed-station-wrap[hidden]{display:none!important}
#tools .workspace-output{scroll-margin-top:150px}
#tools .builder-result-ready{border-bottom:1px solid #c8d4cc;padding:0 0 12px;margin:0 0 16px;font-weight:800;color:#1d5349}
