/* zac-teach’s: shared Stitch-inspired workspace, with existing behaviours intact. */
body.atelier,body.zt-login{background:var(--zt-wash);color:var(--zt-ink);font:14px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;margin:0}
body.atelier h1,body.atelier h2,body.atelier h3,body.atelier .atelier-brand,body.atelier .subject>summary,body.atelier .metric strong,body.atelier .stats strong{font-family:inherit;color:var(--zt-ink);font-weight:650;letter-spacing:-.025em}
body.atelier h1{font-size:32px}body.atelier h2{font-size:22px}body.atelier h3{font-size:18px}
body.atelier a{color:var(--zt-primary)}body.atelier .zt-sidebar{position:fixed;inset:0 auto 0 0;width:232px;background:var(--zt-surface);border-right:1px solid var(--zt-line);padding:28px 18px;box-sizing:border-box;z-index:30;display:flex;flex-direction:column;overflow:auto}
body.atelier .atelier-brand{font-size:23px;letter-spacing:-.6px;text-decoration:none;color:var(--zt-ink)}
.brand-mark,body.atelier .brand-mark{background:var(--zt-primary);color:var(--zt-surface);border-radius:10px;display:inline-grid;place-items:center;width:35px;height:35px;font:700 20px/1 sans-serif;box-shadow:0 4px 12px var(--zt-accent-1)}
.zt-portal{font-size:10px;letter-spacing:1.6px;font-weight:700;color:var(--zt-muted);margin:20px 0}
.zt-sidebar nav{display:grid;gap:6px}.zt-sidebar nav a{display:flex;align-items:center;gap:12px;padding:12px;border-radius:9px;font-weight:550;font-size:13px}
body.atelier .zt-sidebar nav a{color:var(--zt-accent-2);text-decoration:none}.zt-sidebar nav a span{width:22px;text-align:center;font-size:19px}
body.atelier .zt-sidebar nav a:hover{background:var(--zt-soft);color:var(--zt-primary)}body.atelier .zt-sidebar nav a[aria-current]{background:var(--zt-primary);color:var(--zt-on-primary);box-shadow:0 4px 10px var(--zt-accent-3)}
.zt-sidebar-note{margin-top:auto;padding:24px 12px 0;font-weight:600;color:var(--zt-accent-4)}.zt-sidebar-note span{font-size:12px;font-weight:400;color:var(--zt-muted)}
body.atelier .atelier-header{margin-left:232px;background:var(--zt-accent-5);border-bottom:1px solid var(--zt-line);position:sticky;top:0;z-index:20}
body.atelier .header-inner{max-width:none;min-height:76px;padding:12px 30px;gap:18px;box-sizing:border-box;flex-wrap:wrap}.zt-context{font-size:13px;font-weight:600;color:var(--zt-muted);margin-right:auto}
body.atelier .header-actions{margin-left:auto}.learner-selector{display:flex;align-items:center;gap:8px;margin:0}.learner-selector label{font-size:12px;color:var(--zt-muted)}
body.atelier .atelier-main,body.atelier:has(.bank-workspace) .atelier-main{margin:0 0 0 232px;max-width:none;padding:32px 36px 56px;box-sizing:border-box;min-height:calc(100vh - 160px)}
body.atelier .atelier-footer{margin-left:232px;background:var(--zt-surface);border-color:var(--zt-line);padding:20px;font-size:12px}body.atelier .atelier-footer .atelier-brand{font-size:16px}
body.atelier article,body.atelier .content-main>details{border:1px solid var(--zt-line);border-radius:14px;background:var(--zt-surface);box-shadow:0 3px 12px var(--zt-accent-6)}
body.atelier .content-main>article{margin-top:20px}body.atelier .eyebrow,body.atelier .muted,body.atelier .note{color:var(--zt-muted)}
body.atelier button,body.atelier .soft-button{border-color:var(--zt-line);color:var(--zt-soft-ink);border-radius:8px;min-height:36px;transition:background .15s,box-shadow .15s,transform .1s}
body.atelier button:hover{background:var(--zt-accent-7);border-color:var(--zt-accent-8)}body.atelier button:active{transform:translateY(1px)}
body.atelier .primary-button,body.atelier .content-main .button,body.atelier button[type=submit],body.atelier .editor-form>button{background:var(--zt-primary);color:var(--zt-surface);border-color:var(--zt-primary);font-weight:600}
body.atelier .primary-button:hover,body.atelier button[type=submit]:hover,body.atelier .editor-form>button:hover{background:var(--zt-primary-hover);color:var(--zt-on-primary)}
body.atelier input:not([type=checkbox]):not([type=radio]):not([type=hidden]),body.atelier select,body.atelier textarea{background:var(--zt-input);border:1px solid var(--zt-input-line);color:var(--zt-ink);border-radius:8px;padding:9px 11px;font-family:inherit;max-width:100%;box-sizing:border-box}
body.atelier input[type=checkbox],body.atelier input[type=radio],body.atelier progress{accent-color:var(--zt-primary)}body.atelier :focus-visible,.zt-login :focus-visible{outline:3px solid var(--zt-focus);outline-offset:3px}
body.atelier .pill,body.atelier .badge,body.atelier .tag,body.atelier .avatar{background:var(--zt-accent-9);color:var(--zt-accent-10)}body.atelier .inline-panel,body.atelier .file-strip,body.atelier .stats>div{background:var(--zt-accent-11)}
body.atelier .chat-heading{background:var(--zt-accent-12)}body.atelier .chat-bubble.mine{background:var(--zt-accent-13)}body.atelier .chat-compose{background:var(--zt-accent-14)}
body.atelier pre{background:var(--zt-accent-15);border-color:var(--zt-line);color:var(--zt-accent-16)}body.atelier .teacher-answer{border-color:var(--zt-accent-17)}body.atelier .filter-pills button.active{background:var(--zt-accent-18);color:var(--zt-accent-19)}
body.atelier dialog{border:1px solid var(--zt-line);border-radius:16px;box-shadow:0 24px 90px var(--zt-accent-20);max-height:85vh;overflow:auto}body.atelier dialog::backdrop{background:var(--zt-accent-21);backdrop-filter:blur(3px)}
/* Keep the compact bank and its selection workflow; unify its palette. */
body.atelier:has(.bank-workspace){background:var(--zt-wash)}body.atelier .bank-workspace{--bank-blue:var(--zt-primary)}body.atelier .bank-panel{border-color:var(--zt-line);box-shadow:0 3px 12px var(--zt-accent-6);border-radius:14px}
body.atelier .bank-step,body.atelier #review-assignment,body.atelier #show-import{background:var(--zt-primary);color:var(--zt-on-primary)}body.atelier .bank-modes a[aria-current],body.atelier .bank-topics a[aria-current]{background:var(--zt-primary);color:var(--zt-on-primary);border-color:var(--zt-primary)}body.atelier .bank-submit{background:var(--zt-accent-22);border-color:var(--zt-accent-23)}body.atelier .bank-row{border-color:var(--zt-line)}body.atelier .bank-row:hover{background:var(--zt-accent-24)}body.atelier .bank-title{color:var(--zt-accent-25)}body.atelier .bank-number{background:var(--zt-accent-26);color:var(--zt-accent-27)}
.skip-link{position:fixed;top:-100px;left:250px;z-index:100;background:var(--zt-on-primary);padding:12px}.skip-link:focus{top:12px}
.zt-login{min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at top,var(--zt-accent-13),transparent 65%),var(--zt-accent-28)!important}.zt-login main{width:min(440px,calc(100% - 40px));box-sizing:border-box;background:var(--zt-surface);border:1px solid var(--zt-line);border-radius:20px;padding:36px!important;box-shadow:0 20px 70px var(--zt-accent-29);margin:40px auto!important}.zt-login h1{font-size:28px;line-height:1.25;letter-spacing:-.6px}.zt-login p{color:var(--zt-muted)}
@media(min-width:1600px){body.atelier .atelier-main{padding-left:60px;padding-right:60px}}
@media(max-width:1000px){body.atelier .zt-sidebar{width:200px;padding:22px 12px}body.atelier .atelier-header,body.atelier .atelier-main,body.atelier:has(.bank-workspace) .atelier-main,body.atelier .atelier-footer{margin-left:200px}body.atelier .atelier-main,body.atelier:has(.bank-workspace) .atelier-main{padding:24px}.focus-grid,.dashboard-columns{grid-template-columns:1fr}}
@media(max-width:700px){body.atelier .zt-sidebar{position:relative;width:auto;padding:18px;overflow:visible}.zt-sidebar .zt-portal{margin:10px 0}.zt-sidebar nav{display:flex;overflow:auto;gap:6px;padding:4px 0 8px}.zt-sidebar nav a{var(--zt-on-primary)-space:nowrap;padding:8px 12px;flex-shrink:0}.zt-sidebar-note{display:none}body.atelier .atelier-header,body.atelier .atelier-main,body.atelier:has(.bank-workspace) .atelier-main,body.atelier .atelier-footer{margin-left:0}body.atelier .header-inner{padding:12px 18px;gap:10px}.zt-context{display:none}body.atelier .atelier-main,body.atelier:has(.bank-workspace) .atelier-main{padding:22px 16px 40px}body.atelier h1{font-size:27px}.learner-selector{flex-wrap:wrap}.skip-link{left:15px}body.atelier .atelier-header{position:relative}}
@media(prefers-reduced-motion:reduce){body.atelier *{transition:none!important;scroll-behavior:auto!important}}
body.atelier .learner-selector button,body.atelier .date-picker button{background:var(--zt-primary);color:var(--zt-on-primary)}body.atelier .bank-students{background:var(--zt-soft)}body.atelier .atelier-main~p.note{margin-left:232px}@media(max-width:700px){body.atelier .atelier-main~p.note{margin-left:0}}

/* Explicit colour pairs prevent legacy blue backgrounds mixing with dark text. */
body.atelier button,body.atelier button[type=submit],body.atelier .editor-form>button,body.atelier .primary-button,body.atelier .content-main .button{background:var(--zt-primary);color:var(--zt-on-primary);border-color:var(--zt-primary)}
body.atelier button:hover,body.atelier button[type=submit]:hover,body.atelier .editor-form>button:hover,body.atelier .primary-button:hover,body.atelier .content-main .button:hover{background:var(--zt-primary-hover);color:var(--zt-on-primary)}
body.atelier button.secondary,body.atelier .soft-button,body.atelier .bank-toolbar button,body.atelier .filter-pills button{background:var(--zt-soft);color:var(--zt-soft-ink);border-color:var(--zt-input-line)}
body.atelier button.secondary:hover,body.atelier .bank-toolbar button:hover{background:var(--zt-line);color:var(--zt-ink)}
body.atelier button.bank-title,body.atelier button.bell{background:transparent;color:var(--zt-primary);border-color:transparent;box-shadow:none}
body.atelier button.bank-title:hover,body.atelier button.bell:hover{background:var(--zt-soft);color:var(--zt-ink)}
body.atelier button:disabled{background:var(--zt-line);color:var(--zt-muted);border-color:var(--zt-line);opacity:1;cursor:not-allowed;box-shadow:none}
body.atelier .learner-selector{padding:8px 10px;background:var(--zt-soft);border:1px solid var(--zt-input-line);border-radius:15px;gap:10px;box-shadow:0 3px 12px var(--zt-accent-1)}
.learner-picker-fields{display:grid;gap:2px}.learner-picker-fields label{font-size:10px!important;letter-spacing:1px;text-transform:uppercase;font-weight:700}
body.atelier .learner-selector select{max-width:220px;min-width:150px;padding:5px 8px;background:var(--zt-surface);font-size:14px;font-weight:650;border-color:var(--zt-input-line)}
.learner-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--zt-primary);color:var(--zt-on-primary);font-size:17px;font-weight:700;flex-shrink:0}
body.atelier .learner-selector button{min-height:40px;padding:8px 14px;border-radius:10px}
@media(max-width:700px){body.atelier .learner-selector{width:100%;flex-wrap:nowrap}.learner-picker-fields{flex:1;min-width:0}body.atelier .learner-selector select{min-width:0;width:100%;max-width:none}}

/* Status, selection and focus highlights. No overdue/failure styling. */
body.atelier .assignment-card,body.atelier .doubt-card{border-left:4px solid var(--zt-line)}
body.atelier .assignment-card[data-status="Completed"],body.atelier .doubt-card[data-resolved="true"]{border-left-color:var(--zt-success)}
body.atelier .assignment-card[data-status="Completed"] .pill,body.atelier .doubt-card[data-resolved="true"] .pill{background:var(--zt-success-soft);color:var(--zt-success)}
body.atelier .assignment-card[data-status="Needs help"],body.atelier .assignment-card[data-status="Ready for review"],body.atelier .doubt-card[data-resolved="false"]{border-left-color:var(--zt-attention)}
body.atelier .assignment-card[data-status="Needs help"] .pill,body.atelier .assignment-card[data-status="Ready for review"] .pill,body.atelier .doubt-card[data-resolved="false"] .pill{background:var(--zt-attention-soft);color:var(--zt-attention)}
body.atelier .assignment-card[data-status="Working on it"]{border-left-color:var(--zt-info)}
body.atelier .assignment-card[data-status="Working on it"] .pill{background:var(--zt-info-soft);color:var(--zt-info)}
body.atelier .focus-card{border-top:3px solid var(--zt-primary)}
body.atelier .bank-row.is-selected{background:var(--zt-soft);box-shadow:inset 3px 0 var(--zt-primary)}
body.atelier .bank-student-options label:has(input:checked){background:var(--zt-soft);border-color:var(--zt-primary);box-shadow:0 0 0 1px var(--zt-primary);color:var(--zt-ink)}
body.atelier .filter-pills button.active{background:var(--zt-primary);color:var(--zt-on-primary)}
body.atelier .save-notice,body.atelier .bank-notice{background:var(--zt-success-soft);color:var(--zt-success);border:1px solid var(--zt-success);padding:12px 16px;border-radius:10px}

body.atelier .syllabus-track{margin-top:24px;padding:20px;border:1px solid var(--zt-line);border-radius:14px;background:var(--zt-surface)}body.atelier .syllabus-track>summary{font-size:20px;font-weight:700;color:var(--zt-primary)}body.atelier .syllabus-track>article{margin-top:16px;background:var(--zt-wash)}
