:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f6f7f9;color:#1d252d}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}.shell{width:min(1440px,calc(100vw - 32px));margin:0 auto;padding:24px 0 40px}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-panel{width:min(420px,100%);display:grid;gap:14px}.auth-mode{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:4px;border:1px solid #dfe5eb;border-radius:8px;background:#f5f7f9}.auth-mode button{min-height:34px;border:0;border-radius:6px;background:transparent;color:#4c5a67;font-weight:800}.auth-mode button.active{background:#fff;color:#0f766e;box-shadow:0 1px 2px #18243014}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.top-actions{display:flex;align-items:end;gap:10px}.user-chip{min-height:40px;display:grid;align-content:center;padding:0 12px;border:1px solid #dfe5eb;border-radius:8px;background:#fff}.user-chip strong{font-size:.86rem}.user-chip span{color:#657382;font-size:.75rem}.academy-picker{min-width:min(340px,52vw)}.eyebrow{margin:0 0 4px;color:#607080;font-size:.78rem;font-weight:700;text-transform:uppercase}h1,h2{margin:0;letter-spacing:0}h1{font-size:clamp(2rem,5vw,3.6rem);line-height:1}h2{font-size:1rem}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.metric{display:flex;align-items:center;gap:12px;min-height:78px;padding:16px;background:#fff;border:1px solid #dfe5eb;border-radius:8px;box-shadow:0 1px 2px #1824300f}.metric svg{color:#0f766e}.metric span{display:block;color:#657382;font-size:.82rem}.metric strong{display:block;font-size:1.45rem}.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.tab,.icon-button,.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border:1px solid #cfd8e3;border-radius:8px;background:#fff;color:#23313f;font-weight:700}.tab{padding:0 14px}.tab.active{border-color:#0f766e;background:#e7f5f2;color:#075e59}.icon-button{width:40px;padding:0}.primary{width:fit-content;padding:0 16px;border-color:#0f766e;background:#0f766e;color:#fff}.secondary{padding:0 12px;border-color:#29465b;background:#29465b;color:#fff}.toast{margin-bottom:16px;padding:12px 14px;border:1px solid #a7d6bd;border-radius:8px;background:#eef9f1;color:#22543d;font-weight:700}.toast.error{border-color:#f0b8b8;background:#fff1f1;color:#8b1e1e}.workspace{display:grid;gap:16px}.two-column{grid-template-columns:minmax(320px,.85fr) minmax(360px,1.15fr)}.three-column{grid-template-columns:repeat(3,minmax(0,1fr))}.schedule-workspace{grid-template-columns:minmax(0,1fr) minmax(320px,390px);align-items:start}.portal-workspace{grid-template-columns:.9fr 1.15fr 1fr;align-items:start}.side-stack{display:grid;gap:16px}.panel{background:#fff;border:1px solid #dfe5eb;border-radius:8px;padding:18px;box-shadow:0 1px 2px #1824300f}.loading{min-height:180px;display:grid;place-items:center;color:#657382;font-weight:700}.panel-title{display:flex;align-items:center;gap:10px;margin-bottom:16px;color:#1d252d}.panel-title svg{color:#b45309}.schedule-panel{overflow:hidden}.weekly-grid{overflow-x:auto;padding-bottom:4px}.timetable-grid{display:grid;grid-template-columns:72px repeat(7,max-content);border:1px solid #dfe5eb;border-radius:8px;background:#fff}.time-header,.day-header,.time-axis,.day-timeline{border-right:1px solid #e5eaf0}.time-header,.day-header{z-index:1;min-height:38px;padding:10px;background:#f5f7f9;color:#1d252d;font-size:.82rem;font-weight:900}.time-axis{position:relative;background:#fbfcfd}.time-tick{position:absolute;left:0;right:0;min-height:20px;padding:4px 8px 0;border-top:1px solid #eef2f5;color:#607080;font-size:.78rem;font-weight:900}.time-gap{position:absolute;left:0;right:0;display:grid;place-items:center;border-top:1px dashed #cfd8e3;border-bottom:1px dashed #cfd8e3;background:#f1f4f7;color:#7a8794;font-size:.68rem;font-weight:900}.day-timeline{position:relative;background:#fff}.day-timeline.has-overlap{background:#fbfcfd}.day-time-line,.day-gap{position:absolute;left:0;right:0;pointer-events:none}.day-time-line{z-index:0;border-top:1px solid #eef2f5}.day-gap{z-index:0;border-top:1px dashed #cfd8e3;border-bottom:1px dashed #cfd8e3;background:repeating-linear-gradient(135deg,rgba(223,229,235,.42) 0,rgba(223,229,235,.42) 5px,transparent 5px,transparent 10px)}.schedule-card{position:absolute;z-index:1;min-width:0;min-height:34px;padding:7px 34px 7px 8px;border:1px solid #dfe5eb;border-radius:8px;background:#fff;overflow:hidden}.schedule-card.editable{cursor:pointer}.schedule-card.editable:hover{border-color:#8bd4cc;box-shadow:0 2px 7px #0f766e1f}.schedule-card-body{display:grid;gap:2px;min-width:0}.schedule-card strong,.schedule-card span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-card strong{color:#0f766e;font-size:.86rem;line-height:1.1}.schedule-card span{color:#4c5a67;font-size:.74rem;line-height:1.15}.schedule-card.compact .optional-meta{display:none}.schedule-edit-button{position:absolute;top:5px;right:5px;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid #cfd8e3;border-radius:8px;background:#fff;color:#29465b}.schedule-edit-button:hover,.schedule-edit-button:focus{border-color:#0f766e;color:#0f766e}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-content:start}.form-grid .panel-title,.form-grid button{grid-column:1 / -1}.single-column{grid-template-columns:1fr}.form-actions{display:flex;flex-wrap:wrap;gap:8px}label{display:grid;gap:6px;color:#4c5a67;font-size:.82rem;font-weight:700}input,select{width:100%;min-height:40px;border:1px solid #cfd8e3;border-radius:7px;padding:0 10px;background:#fff;color:#1d252d}input:focus,select:focus{outline:2px solid #8bd4cc;outline-offset:1px}.list{display:grid;gap:10px;max-height:640px;overflow:auto;padding-right:2px}.row-card{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;padding:12px;border:1px solid #e5eaf0;border-radius:8px;background:#fbfcfd}.row-card div:first-child,.stack{min-width:0}.row-card strong,.row-card span{display:block}.row-card span{color:#647281;font-size:.86rem}.row-actions,.split{display:flex;align-items:center;gap:8px}.split{justify-content:space-between;width:100%}.stack{display:grid;align-items:start}.badge{display:inline-flex;align-items:center;min-height:26px;padding:0 8px;border-radius:999px;background:#edf2f7;color:#425466;font-size:.76rem;font-weight:800;white-space:nowrap}.badge.ok{background:#e4f6ea;color:#1f7a43}.badge.warn{background:#fff4dc;color:#92590d}.setup-stack{display:grid;gap:14px;align-content:start}.compact-form{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;align-items:end}.compact-form.wide{grid-template-columns:1.2fr 1.2fr .8fr .7fr .7fr .7fr auto}.program-form{display:grid;gap:10px;padding-top:4px}.checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.check{display:flex;align-items:center;gap:8px;min-height:34px;padding:0 8px;border:1px solid #dfe5eb;border-radius:7px;background:#fbfcfd}.check input{width:auto;min-height:auto}.inline-check{min-height:40px;display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid #dfe5eb;border-radius:7px;background:#fbfcfd}.inline-check input{width:auto;min-height:auto}.mini-button{width:fit-content;display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 9px;border:1px solid #cfd8e3;border-radius:7px;background:#fff;color:#29465b;font-size:.78rem;font-weight:800}.compact-list{max-height:280px}@media(max-width:980px){.metrics,.two-column,.three-column,.schedule-workspace,.portal-workspace,.compact-form,.compact-form.wide{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.shell{width:min(100vw - 20px,640px);padding-top:16px}.metrics,.two-column,.three-column,.schedule-workspace,.portal-workspace,.form-grid,.compact-form,.compact-form.wide,.checks{grid-template-columns:1fr}.topbar{align-items:flex-start}.top-actions{align-items:stretch;flex:1;flex-direction:column}.academy-picker{min-width:0}.tab{flex:1 1 calc(50% - 8px)}.row-card{align-items:flex-start;flex-direction:column}.row-actions{flex-wrap:wrap}}
