:root{--accent: #0f766e;--soft: color-mix(in srgb, var(--accent) 7%, white);--soft2: color-mix(in srgb, var(--accent) 12%, white);--aink: color-mix(in srgb, var(--accent) 78%, black);--ink: #20201e;--muted: #6f6e69;--muted-2: #9a9994;--text-2: #5f5e57;--text-3: #3f3e3a;--line: rgba(32, 32, 30, .09);--line-2: rgba(32, 32, 30, .14);--row-line: rgba(32, 32, 30, .07);--head-line: rgba(32, 32, 30, .09);--bg: #ffffff;--sidebar-bg: #f7f7f5;--surface: #ffffff;--hover: rgba(32, 32, 30, .045);--ok: #177e4e;--ok-dot: #22a55d;--ok-bg: #eaf6ef;--warn: #a16207;--warn-dot: #d97706;--warn-bg: #fbf3df;--warn-border: #edd9a8;--warn-text: #7c5106;--err: #b3251e;--err-dot: #d9463b;--info: #175cd3;--radius: 8px;--radius-sm: 7px;--sidebar: 220px;--sidebar-collapsed: 56px;--page-pad-x: clamp(20px, 2.4vw, 48px);--prose: 82ch;--font: "Geist", -apple-system, "Segoe UI", sans-serif;--dur: 1}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{font-family:var(--font);color:var(--ink);background:var(--bg);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--aink);text-decoration:none}a:hover{color:var(--accent)}button,input,select,textarea{font-family:inherit}::selection{background:color-mix(in srgb,var(--accent) 20%,white)}@keyframes pageIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes drawerIn{0%{transform:translate(32px);opacity:0}to{transform:none;opacity:1}}@keyframes modalIn{0%{transform:scale(.96) translateY(10px);opacity:0}to{transform:none;opacity:1}}@keyframes paletteIn{0%{transform:scale(.98) translateY(-8px);opacity:0}to{transform:none;opacity:1}}@keyframes toastIn{0%{transform:translateY(18px) scale(.94);opacity:0}65%{transform:translateY(-2px) scale(1.004);opacity:1}to{transform:none;opacity:1}}@keyframes authCardIn{0%{opacity:0;transform:translateY(10px) scale(.992)}to{opacity:1;transform:none}}@keyframes authDot{0%,70%,to{opacity:.32;transform:translateY(0)}35%{opacity:1;transform:translateY(-2px)}}@keyframes authMarkPulse{0%,to{opacity:.42;transform:scale(.98)}50%{opacity:1;transform:scale(1)}}@keyframes authNetworkCamera{0%{transform:translate3d(-5%,-3%,0) scale(1.02)}to{transform:translate3d(5%,3%,0) scale(1.11)}}@keyframes authNodePulse{0%,62%,to{r:4px;opacity:0;stroke-width:1px}7%{opacity:.38}24%{r:25px;opacity:0;stroke-width:.6px}}@keyframes authNodeBreathe{0%,to{opacity:.42;transform:scale(.88)}50%{opacity:.92;transform:scale(1.08)}}@keyframes authSignalInbound{0%,4%{opacity:0;stroke-dashoffset:1}7%{opacity:.55}31%{opacity:.55;stroke-dashoffset:0}32%,to{opacity:0;stroke-dashoffset:0}}@keyframes authSignalBranch{0%,30%{opacity:0;stroke-dashoffset:1}33%{opacity:.46}62%{opacity:.42;stroke-dashoffset:0}63%,to{opacity:0;stroke-dashoffset:0}}@keyframes authBranchBurst{0%,28%,to{r:4px;opacity:0;stroke-width:1.2px}32%{r:5px;opacity:.62}46%{r:27px;opacity:0;stroke-width:.6px}}@keyframes hubOverlayIn{0%{opacity:0}to{opacity:1}}@keyframes hubLoadingContentIn{0%{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}@keyframes hubAuraBreathe{0%,to{opacity:.45;transform:scale(.9)}50%{opacity:.85;transform:scale(1.08)}}@keyframes hubOrbitClockwise{to{transform:rotate(360deg)}}@keyframes hubOrbitCounter{to{transform:rotate(-360deg)}}@keyframes hubCoreFloat{0%,to{transform:translateY(0) rotateX(0)}50%{transform:translateY(-4px) rotateX(2deg)}}@keyframes hubCoreSheen{0%,18%{transform:translate(-150%) rotate(18deg);opacity:0}30%{opacity:.7}55%,to{transform:translate(180%) rotate(18deg);opacity:0}}@keyframes hubTileGather{0%{opacity:0;transform:translate(var(--tile-x),var(--tile-y)) scale(.68) rotate(var(--tile-r))}14%{opacity:0}28%{opacity:.95;transform:translate(var(--tile-x),var(--tile-y)) scale(1) rotate(var(--tile-r))}70%{opacity:.72;transform:translate(var(--tile-mx),var(--tile-my)) scale(.82) rotate(0)}84%,to{opacity:0;transform:translate(0) scale(.38) rotate(0)}}@keyframes hubCornerFocus{0%,to{opacity:.25;transform:scale(.86)}50%{opacity:.9;transform:scale(1)}}@keyframes hubPhaseIn{0%{opacity:0;transform:translateY(5px);filter:blur(3px)}to{opacity:1;transform:none;filter:none}}@keyframes hubSignalPulse{0%,to{box-shadow:0 0 #0f766e29}50%{box-shadow:0 0 0 6px #0f766e00}}@keyframes hubCheckDraw{to{stroke-dashoffset:0}}.app-shell{display:flex;height:100%;overflow:hidden}.sidebar{width:var(--sidebar);flex-shrink:0;background:var(--sidebar-bg);border-right:1px solid var(--line);display:flex;flex-direction:column;overflow:hidden;transition:width .22s cubic-bezier(.3,.7,.3,1)}.sidebar.collapsed{width:var(--sidebar-collapsed)}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:14px 14px 10px;min-width:0}.brand-mark{border-radius:0;background:transparent;color:#111;border:none;display:grid;place-items:center;flex-shrink:0;box-shadow:none}.brand-mark svg{display:block}.brand-text{min-width:0;line-height:1.2}.brand-text .title{font-size:13px;font-weight:600}.brand-text .sub{font-size:11px;color:var(--muted)}.sidebar.collapsed .brand-text,.sidebar.collapsed .nav-label,.sidebar.collapsed .nav-group,.sidebar.collapsed .nav-badge,.sidebar.collapsed .cmd-trigger span,.sidebar.collapsed .user-meta{display:none}.icon-btn{border:none;background:transparent;color:var(--muted);padding:4px;border-radius:6px;cursor:pointer;display:inline-grid;place-items:center}.icon-btn:hover{background:#efefed;color:var(--ink)}.cmd-trigger-wrap{padding:4px 10px 8px}.cmd-trigger{width:100%;display:flex;align-items:center;gap:8px;border:1px solid var(--line-2);background:#fdfdfb;border-radius:var(--radius-sm);padding:6px 9px;font-size:12.5px;color:var(--muted);cursor:pointer;min-width:0}.cmd-trigger:hover{border-color:#d3d0c5;color:var(--text-2)}.cmd-kbd{margin-left:auto;font-size:10.5px;border:1px solid var(--line-2);border-radius:4px;padding:0 4px;background:#fff;color:var(--muted-2)}.nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:2px 10px 12px;display:flex;flex-direction:column;gap:1px;min-width:0}.nav-group{font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2);padding:14px 8px 4px}.nav a,.nav-item{display:flex;align-items:center;gap:9px;padding:6px 8px;border-radius:7px;font-size:13px;font-weight:500;color:var(--text-3);text-decoration:none;cursor:pointer;white-space:nowrap;border:none;background:transparent;width:100%;text-align:left;transition:background .12s}.nav a:hover,.nav-item:hover{background:#efefed;color:var(--ink);text-decoration:none}.nav a.active,.nav-item.active{background:var(--soft2);color:var(--aink)}.nav a.active:hover,.nav-item.active:hover{background:var(--soft2)}.nav svg{flex-shrink:0;opacity:.85}.nav-badge{margin-left:auto;font-size:11px;font-weight:600;color:var(--warn);background:var(--warn-bg);border-radius:99px;padding:0 7px;line-height:18px}.sidebar-user{border-top:1px solid var(--line);padding:10px 12px;display:flex;align-items:center;gap:9px;min-width:0}.sidebar-sign-out{width:27px;height:27px;padding:0;margin-left:auto;display:grid;place-items:center;flex:0 0 auto;border:0;border-radius:6px;color:var(--muted-2);background:transparent;cursor:pointer}.sidebar-sign-out:hover{color:var(--ink);background:#ececea}.sidebar-sign-out:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 35%,white);outline-offset:1px}.sidebar.collapsed .sidebar-user{flex-direction:column;gap:5px;padding-inline:8px}.sidebar.collapsed .sidebar-sign-out{margin-left:0}.sidebar-tour{width:27px;height:27px;display:grid;place-items:center;flex:0 0 auto;border:1px solid var(--line);border-radius:50%;color:var(--muted);background:transparent;font-size:12px;font-weight:650;cursor:pointer}.sidebar-tour:hover{color:var(--aink);border-color:#c9c4b3;background:var(--soft2)}.sidebar.collapsed .sidebar-tour{order:3}.avatar{width:24px;height:24px;border-radius:99px;background:#e4e2d9;color:var(--text-2);display:grid;place-items:center;font-size:10px;font-weight:600;flex-shrink:0}.avatar.accent{background:var(--soft);color:var(--aink)}.avatar.lg{width:44px;height:44px;border-radius:12px;background:var(--soft2);font-size:15px}.user-meta{line-height:1.25;min-width:0}.user-meta .name{font-size:12.5px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-meta .role{font-size:11px;color:var(--muted);white-space:nowrap}.main{flex:1;overflow-y:auto;min-width:0}.main-inner{width:100%;max-width:none;margin:0;padding:32px var(--page-pad-x) 64px;animation:pageIn calc(var(--dur) * .26s) cubic-bezier(.2,.7,.3,1)}.page-kicker{font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--aink)}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}.page-header h1{margin:0;font-size:21px;font-weight:600;letter-spacing:-.01em}.page-header p{margin:3px 0 0;max-width:var(--prose);color:var(--muted);font-size:13px}.page-header .toolbar{margin:0}.back-link{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;color:var(--muted);cursor:pointer;font-weight:500;border:none;background:none;padding:0;margin-bottom:6px}.back-link:hover{color:var(--ink)}.toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:14px}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line-2);background:var(--surface);color:var(--ink);border-radius:var(--radius-sm);padding:6px 12px;font:inherit;font-size:13px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .12s,border-color .12s,filter .12s}.btn:hover{background:#f7f7f5;border-color:#d4d4d0}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{filter:brightness(1.08);background:var(--accent)}.btn-danger{color:var(--err);border-color:#f3d0cd}.btn-danger-solid{color:#fff;border-color:var(--err);background:var(--err)}.btn-danger-solid:hover{color:#fff;border-color:#941f1a;background:#941f1a}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{padding:4px 10px;font-size:12.5px;border-radius:7px}.input,.select,.textarea{border:1px solid var(--line-2);border-radius:var(--radius-sm);padding:6px 10px;font:inherit;font-size:13px;line-height:1.45;background:var(--surface);color:var(--ink);outline:none}.input,.select{height:32px}.textarea{min-height:64px;width:100%;resize:vertical;padding:7px 10px}.textarea[rows]{min-height:0}.lookup-textarea{max-width:340px}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--soft)}.input-search{padding-left:30px;width:180px}.search-wrap{position:relative;display:inline-flex}.search-wrap svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--muted-2);pointer-events:none}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:14px}.metric{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;cursor:default;transition:border-color .15s,box-shadow .15s,transform .15s}.metric.clickable{cursor:pointer}.metric.clickable:hover{border-color:#d6d3c9;box-shadow:0 2px 10px #1b1b180f;transform:translateY(-1px)}.metric .label{font-size:12px;font-weight:500;color:var(--muted)}.metric .value{font-size:26px;font-weight:600;letter-spacing:-.02em;margin-top:6px}.metric .caption{font-size:12px;color:var(--muted);margin-top:2px}.metric .caption.warn{color:var(--warn)}.dashboard-page .page-header{margin-bottom:28px}.dashboard-page .metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-bottom:28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.dashboard-page .metric{min-width:0;padding:19px 20px 20px;border:0;border-radius:0;background:transparent}.dashboard-page .metric+.metric{border-left:1px solid var(--line)}.dashboard-page .metric.clickable:hover{border-color:var(--line);background:var(--hover);box-shadow:none;transform:none}.dashboard-page .metric .value{margin-top:7px;font-size:28px}.dashboard-page .metric .caption{margin-top:4px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0 14px}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:12px 16px}.stat-card .label{font-size:11.5px;color:var(--muted-2);font-weight:500}.stat-card .value{font-size:13px;font-weight:500;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 18px;margin-bottom:14px;overflow:hidden}.panel.flush{padding:0}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 10px;font-size:13px;font-weight:600}.panel.flush .panel-head{padding:13px 18px 9px}.panel h2,.panel h3,.panel-title{margin:0;font-size:13px;font-weight:600}.panel-title .count{color:var(--muted-2);font-weight:500;margin-left:4px}.history-totals{color:var(--muted);font-size:11px;font-weight:500}.history-year{border-top:1px solid var(--row-line)}.history-year>summary{display:flex;align-items:center;gap:7px;padding:9px 18px;color:var(--text-2);font-size:11.5px;font-weight:600;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.history-year>summary::-webkit-details-marker{display:none}.history-year>summary:before{content:"";width:0;height:0;border-left:4px solid currentColor;border-top:3.5px solid transparent;border-bottom:3.5px solid transparent;opacity:.5;transition:transform calc(var(--dur) * .14s) ease}.history-year[open]>summary:before{transform:rotate(90deg)}.history-year>summary:hover{background:var(--soft)}.history-year .count{color:var(--muted-2);font-weight:500;font-variant-numeric:tabular-nums}.history-list{margin:0;padding:0 18px 12px;list-style:none;display:grid;gap:9px}.history-item{display:grid;gap:4px;padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:#fbfaf7}.history-main{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.history-school{font-size:13px;font-weight:550;color:var(--ink)}button.history-school{font-weight:550}button.history-school:hover{text-decoration:underline}.history-meta{display:flex;flex-wrap:wrap;gap:4px 13px;color:var(--muted);font-size:11px}.history-weeks{color:var(--muted-2);font-variant-numeric:tabular-nums}.attachments-panel{padding:0 0 6px}.attachments-panel .panel-head{padding:13px 18px 9px}.attachment-meta-fields{display:grid;grid-template-columns:minmax(0,150px) minmax(0,1fr);gap:9px;padding:0 18px 9px}.attachment-meta-fields label{display:grid;gap:4px;color:var(--muted);font-size:9.5px;font-weight:650;letter-spacing:.04em;text-transform:uppercase}.attachment-meta-fields .select,.attachment-meta-fields .input{font-size:12px;font-weight:400;letter-spacing:0;text-transform:none}.attachment-dropzone{margin:0 18px 11px;padding:15px;border:1px dashed var(--line-2);border-radius:10px;background:#fbfaf7;color:var(--muted);font-size:11.5px;text-align:center;cursor:pointer;transition:border-color calc(var(--dur) * .14s) ease,background calc(var(--dur) * .14s) ease}.attachment-dropzone:hover,.attachment-dropzone.is-dragging{border-color:var(--accent);background:var(--accent-soft);color:var(--aink)}.attachment-dropzone.is-busy{cursor:progress;opacity:.7}.attachment-error{margin:0 18px 11px;padding:9px 11px;border:1px solid #e6c4c0;border-radius:8px;background:#fef3f2;color:var(--err);font-size:11.5px;line-height:1.5}.attachment-list{margin:0;padding:0 18px;list-style:none;display:grid;gap:7px}.attachment-item{border:1px solid var(--line);border-radius:9px;background:#fff;overflow:hidden}.attachment-row{display:flex;align-items:center;gap:11px;padding:9px 11px}.attachment-icon{flex:0 0 auto;display:grid;place-items:center;width:34px;height:34px;border-radius:7px;background:var(--soft);color:var(--aink);font-size:8.5px;font-weight:700;letter-spacing:.04em}.attachment-main{flex:1;min-width:0;display:grid;gap:2px}.attachment-name{display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:var(--ink);font-size:12.5px;font-weight:550}.attachment-meta{display:flex;flex-wrap:wrap;gap:3px 11px;color:var(--muted);font-size:10.5px}.attachment-actions{display:flex;align-items:center;gap:11px;flex:0 0 auto}.attachment-actions .text-button{font-size:11px}.attachment-actions .text-button.danger{color:var(--err)}.attachment-eml{display:grid;gap:3px;margin:0;padding:10px 12px;border-top:1px solid var(--row-line);background:#fbfaf7;font-size:11.5px}.attachment-eml>div{display:grid;grid-template-columns:60px minmax(0,1fr);gap:9px}.attachment-eml dt{color:var(--muted-2);font-weight:600}.attachment-eml dd{margin:0;color:var(--text-2);word-break:break-word}.attachment-eml.err{color:var(--err)}.attachment-count{margin-left:6px;color:var(--muted-2);font-size:10.5px;font-weight:400;font-variant-numeric:tabular-nums}.requirement-list{margin:0;padding:0 18px 12px;list-style:none;display:grid;gap:7px}.requirement-item{display:flex;align-items:flex-start;gap:14px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#fff}.requirement-item.is-inactive{background:#fbfaf7;opacity:.72}.requirement-main{flex:1;min-width:0;display:grid;gap:3px}.requirement-name{display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:var(--ink);font-size:13px;font-weight:550}.requirement-meta{display:flex;flex-wrap:wrap;gap:3px 12px;color:var(--muted);font-size:10.5px}.requirement-description{margin:3px 0 0;color:var(--text-2);font-size:11.5px;line-height:1.5}.requirement-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end}.requirement-actions .text-button{font-size:11px}.requirement-actions .text-button.danger{color:var(--err)}.requirement-actions .icon-btn{width:24px;height:24px;font-size:12px}@media(max-width:620px){.requirement-item{flex-direction:column}.requirement-actions{width:100%;justify-content:flex-start}}.training-summary{display:flex;align-items:center;gap:9px;font-size:11px;font-weight:500}.training-list{margin:0;padding:0 18px 12px;list-style:none;display:grid;gap:7px}.training-item{display:flex;align-items:flex-start;gap:14px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#fff}.training-item.is-historic{background:#fbfaf7;opacity:.8}.training-main{flex:1;min-width:0;display:grid;gap:3px}.training-name{display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:var(--ink);font-size:12.5px;font-weight:550}.training-meta{display:flex;flex-wrap:wrap;gap:3px 12px;color:var(--muted-2);font-size:10.5px}.training-state{color:var(--text-2);font-size:11.5px}.training-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}.training-actions .text-button{font-size:11px}.training-historic{padding:0 18px 12px}.training-historic>summary{color:var(--muted);font-size:11px;cursor:pointer;padding:4px 0}.training-historic .training-list{padding:8px 0 0}.training-rollup{display:grid;gap:6px;padding:4px 18px 10px}.training-bar{height:6px;border-radius:99px;background:#eceae2;overflow:hidden}.training-bar>span{display:block;height:100%;background:var(--accent);border-radius:99px}.training-rollup-counts{display:flex;flex-wrap:wrap;gap:3px 14px;color:var(--muted);font-size:11px}.training-rollup-counts .warn{color:var(--warn)}.training-rollup-counts .err{color:var(--err)}.training-rollup-clear{padding:0 18px 12px;color:var(--muted);font-size:11.5px}.training-gaps{margin:0;padding:0 18px 12px 33px;color:var(--text-2);font-size:11.5px;line-height:1.75}.training-gaps strong{color:var(--ink);font-weight:550}.training-modal{width:min(520px,94vw);display:grid;gap:13px;padding:22px}.training-modal h2{margin:0;font-size:16px}.training-modal>p{margin:-8px 0 0}.training-session-modal{width:min(720px,96vw);display:grid;gap:13px;padding:22px;max-height:88vh}.training-session-modal h2{margin:0;font-size:16px}.training-session-modal>p{margin:-8px 0 0}.training-session-modal .filter-bar{margin-bottom:0}.session-mentor-list{margin:0;padding:6px;list-style:none;display:grid;gap:2px;max-height:280px;overflow-y:auto;border:1px solid var(--line);border-radius:9px}.session-mentor-list>li>label{display:flex;align-items:center;gap:10px;padding:7px 9px;border-radius:7px;cursor:pointer}.session-mentor-list>li>label:hover{background:var(--soft)}.session-mentor-name{color:var(--ink);font-size:12.5px;font-weight:500}.session-mentor-meta{color:var(--muted-2);font-size:11px}.session-mentor-list>li.muted{padding:10px;font-size:11.5px}.record-drawer{width:min(600px,96vw)}.record-drawer-body{display:grid;align-content:start;gap:14px}.record-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 16px;margin:0}.record-facts>div{display:grid;gap:3px;min-width:0}.record-facts dt{color:var(--muted);font-size:9.5px;font-weight:650;letter-spacing:.04em;text-transform:uppercase}.record-facts dd{margin:0;color:var(--ink);font-size:13px;word-break:break-word}.record-notes{margin:0;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#fbfaf7;color:var(--text-2);font-size:12px;line-height:1.55}.record-drawer-body .panel{margin-bottom:0}@media(max-width:620px){.record-facts{grid-template-columns:minmax(0,1fr)}}@media(max-width:620px){.attachment-meta-fields{grid-template-columns:minmax(0,1fr)}.attachment-row{flex-wrap:wrap}.attachment-actions{width:100%;justify-content:flex-end}}.panel-link{font-size:12px;color:var(--aink);cursor:pointer;font-weight:500;border:none;background:none;padding:0}.panel-link:hover{color:var(--accent)}.attention-row{display:flex;align-items:center;gap:12px;padding:11px 18px;border-top:1px solid var(--row-line);cursor:pointer;transition:background .12s}.attention-row:hover{background:var(--hover)}.attention-row .title{font-size:13px;font-weight:500}.attention-row .meta{font-size:12px;color:var(--muted)}.activity-row{display:flex;gap:10px;margin-top:12px;font-size:12.5px;line-height:1.45}.activity-row .summary{font-weight:500}.activity-row .when{color:var(--muted-2);font-size:11.5px}.alert-box{display:flex;align-items:center;gap:10px;margin-top:12px;padding:9px 12px;border:1px solid var(--warn-border);background:var(--warn-bg);border-radius:var(--radius-sm);font-size:12.5px;color:var(--warn-text);line-height:1.45}.alert-box.block{align-items:flex-start}.check-ok{display:flex;align-items:center;gap:10px;margin-top:8px;font-size:12.5px;color:var(--muted)}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.panel.flush .table-wrap,.panel .table-wrap{border:none;border-radius:0}table.data{width:100%;border-collapse:collapse;font-size:13px}table.data th,table.data td{text-align:left;padding:12px 18px;border-bottom:1px solid var(--row-line);vertical-align:middle}table.data th{padding:9px 18px;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--muted-2);background:transparent;border-bottom:1px solid var(--head-line);position:sticky;top:0}table.data td{color:var(--text-2)}table.data td.strong{color:var(--ink);font-weight:500}table.data tr:last-child td{border-bottom:none}table.data tr:hover td{background:var(--hover)}table.data tr.clickable{cursor:pointer}table.data .chevron{text-align:right;padding-right:18px;color:#c9c6bb;width:28px}table.data .mono,.tabular{font-variant-numeric:tabular-nums}.status-dot{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:500}.status-dot .dot{width:6px;height:6px;border-radius:99px;flex-shrink:0}.status-pill{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:500;border-radius:99px;padding:3px 10px}.chip{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:500;border-radius:99px;padding:2px 8px}.chip-derived{color:var(--muted-2);font-size:9px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.filter-bar{display:flex;align-items:flex-end;flex-wrap:wrap;gap:10px;margin-bottom:12px;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:#fbfaf7}.filter-bar label{display:grid;gap:4px;color:var(--muted);font-size:9.5px;font-weight:650;letter-spacing:.04em;text-transform:uppercase}.filter-bar .select{min-width:150px;background:#fff;font-size:12px;font-weight:400;letter-spacing:0;text-transform:none}.filter-bar>.btn{align-self:flex-end}@media(max-width:620px){.filter-bar label{flex:1 1 140px}.filter-bar .select{min-width:0;width:100%}}.chip-ok{color:var(--ok);background:var(--ok-bg)}.chip-warn{color:var(--warn);background:var(--warn-bg)}.chip-muted{color:var(--text-2);background:#f4f2ec}.chip-err{color:var(--err);background:#fef3f2}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid var(--line);background:#fff}.badge-ok{color:var(--ok);border-color:#b7e0c5;background:var(--ok-bg)}.badge-warn{color:var(--warn);border-color:var(--warn-border);background:var(--warn-bg)}.badge-err{color:var(--err);border-color:#f3d0cd;background:#fef3f2}.badge-info{color:var(--info);border-color:#b2ddff;background:#eff8ff}.badge-brand{color:var(--aink);border-color:color-mix(in srgb,var(--accent) 25%,white);background:var(--soft)}.banner{border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 12px;margin-bottom:14px;font-size:13px;background:var(--surface)}.banner-warn{border-color:var(--warn-border);background:var(--warn-bg);color:var(--warn-text)}.banner-err{border-color:#f3d0cd;background:#fef3f2;color:var(--err)}.banner-info{border-color:color-mix(in srgb,var(--accent) 25%,white);background:var(--soft);color:var(--aink)}.banner-ok{border-color:#b7e3c9;background:var(--ok-bg);color:var(--ok)}.auth-screen{position:relative;min-height:100%;display:grid;place-items:center;overflow:hidden;padding:40px 20px;background:#fff}.auth-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;background:radial-gradient(circle at 50% 47%,rgba(255,255,255,.9) 0 11%,rgba(255,255,255,.38) 29%,transparent 61%),linear-gradient(135deg,#fff,#fafafa 46%,#fff)}.auth-backdrop:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(90deg,rgba(255,255,255,.78),transparent 17%,transparent 83%,rgba(255,255,255,.78)),linear-gradient(rgba(255,255,255,.56),transparent 20%,transparent 80%,rgba(255,255,255,.56))}.auth-network-plane{position:absolute;top:-14%;right:-14%;bottom:-14%;left:-14%;will-change:transform;transform-origin:50% 50%;animation:authNetworkCamera 15s cubic-bezier(.45,0,.55,1) infinite alternate}.auth-network-plane svg{width:100%;height:100%;overflow:visible}.auth-network-mesh-line{fill:none;stroke:#0e0e0d1d;stroke-width:1.35;vector-effect:non-scaling-stroke}.auth-network-junction{fill:#fff;stroke:#0c0c0b7a;stroke-width:1.15;vector-effect:non-scaling-stroke}.auth-network-node-halo{fill:none;stroke:#0f0f0e94;transform-origin:center;animation:authNodePulse 6.8s ease-out infinite}.auth-network-node-core{fill:#fff;stroke:#0c0c0bad;stroke-width:1.4;transform-box:fill-box;transform-origin:center;animation:authNodeBreathe 3.8s ease-in-out infinite}.auth-network-node.node-b :is(.auth-network-node-halo,.auth-network-node-core){animation-delay:-1.1s}.auth-network-node.node-c :is(.auth-network-node-halo,.auth-network-node-core){animation-delay:-4.6s}.auth-network-node.node-d :is(.auth-network-node-halo,.auth-network-node-core){animation-delay:-2.8s}.auth-network-node.node-e :is(.auth-network-node-halo,.auth-network-node-core){animation-delay:-5.7s}.auth-network-node.node-f :is(.auth-network-node-halo,.auth-network-node-core){animation-delay:-3.7s}.auth-compute-signal{fill:none;stroke:#0909089e;stroke-width:2.25;stroke-linecap:round;stroke-dasharray:.026 .974;stroke-dashoffset:1;vector-effect:non-scaling-stroke}.auth-compute-signal.signal-inbound{animation:authSignalInbound 8.6s linear infinite}.auth-compute-signal.signal-branch{animation:authSignalBranch 8.6s linear infinite}.auth-compute-signal.branch-lower{animation-delay:.16s}.auth-branch-burst{fill:#ffffffd1;stroke:#090908a6;vector-effect:non-scaling-stroke;animation:authBranchBurst 8.6s ease-out infinite}.auth-compute-flow.flow-b .auth-compute-signal,.auth-compute-flow.flow-b .auth-branch-burst{animation-delay:-4.3s}.auth-compute-flow.flow-b .branch-lower{animation-delay:-4.14s}.auth-card{position:relative;z-index:1;width:min(402px,100%);padding:30px;border:1px solid var(--line);border-radius:12px;background:#fffffff0;box-shadow:0 22px 68px #14141216,0 2px 8px #14141208;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);animation:authCardIn .48s cubic-bezier(.22,.78,.25,1) both}.auth-brand{display:flex;align-items:center;gap:12px;min-height:32px;padding-bottom:21px;border-bottom:1px solid var(--line)}.auth-product{color:var(--ink);font-size:14.5px;font-weight:600;line-height:1;letter-spacing:-.012em}.auth-heading{padding:25px 0 21px}.auth-heading .page-kicker{margin-bottom:7px;color:var(--accent);font-weight:600;letter-spacing:.07em;text-transform:uppercase}.auth-heading h1{margin:0;color:var(--ink);font-size:22px;font-weight:600;line-height:1.25;letter-spacing:-.025em}.auth-heading p{margin:8px 0 0;color:var(--muted);font-size:13px;line-height:1.55}.auth-form{display:grid}.auth-form label,.auth-label-row label{color:var(--text-3);font-size:12px;font-weight:600}.auth-label-row{display:flex;align-items:baseline;justify-content:space-between;margin-top:15px}.auth-label-row span{color:var(--muted-2);font-size:10.5px}.auth-input{width:100%;height:42px;margin-top:6px;padding:0 12px;border:1px solid var(--line-2);border-radius:var(--radius-sm);outline:none;background:#fff;color:var(--ink);font-size:13.5px;transition:border-color .15s ease,box-shadow .15s ease}.auth-input::placeholder{color:#aaa8a1}.auth-input:hover:not(:disabled){border-color:#c7c5bd}.auth-input:focus{border-color:color-mix(in srgb,var(--accent) 58%,white);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 10%,transparent)}.auth-input:disabled{color:var(--muted);background:#fafaf8}.auth-password-field{position:relative}.auth-password-field .auth-input{padding-right:58px}.auth-password-toggle{position:absolute;right:5px;top:11px;height:32px;padding:0 7px;border:0;border-radius:5px;background:transparent;color:var(--muted);font-size:11px;font-weight:500;cursor:pointer}.auth-password-toggle:hover:not(:disabled){color:var(--ink);background:var(--hover)}.auth-error{min-height:36px;padding:8px 0 7px;color:transparent;font-size:11.5px;line-height:1.35}.auth-error.is-visible{color:var(--err)}.auth-submit{width:100%;height:42px;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 15px;border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--accent);color:#fff;font-size:13px;font-weight:600;cursor:pointer;box-shadow:0 1px 2px #0f766e2e;transition:background .15s ease,transform .15s ease,box-shadow .15s ease}.auth-submit:hover:not(:disabled){background:#0c6b64;box-shadow:0 3px 10px #0f766e33;transform:translateY(-1px)}.auth-submit:active:not(:disabled){transform:translateY(0)}.auth-submit:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 18%,transparent);outline-offset:2px}.auth-submit:disabled{cursor:wait;opacity:.86}.auth-progress{display:inline-flex;align-items:center;gap:3px}.auth-progress i{width:3px;height:3px;border-radius:50%;background:currentColor;animation:authDot 1s ease-in-out infinite}.auth-progress i:nth-child(2){animation-delay:.14s}.auth-progress i:nth-child(3){animation-delay:.28s}.auth-footer{display:flex;align-items:flex-start;gap:8px;margin-top:23px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted-2);font-size:10.5px;line-height:1.45}.auth-status-dot{width:6px;height:6px;margin-top:4px;flex:0 0 auto;border-radius:50%;background:var(--ok-dot);box-shadow:0 0 0 3px var(--ok-bg)}.auth-loading-mark{position:relative;z-index:1;display:grid;justify-items:center;gap:12px;color:var(--muted);font-size:12px;font-weight:500;animation:authMarkPulse 1.25s ease-in-out infinite}.auth-link-state{padding:30px 0 2px;text-align:center}.auth-link-state h1{margin:16px 0 8px;font-size:22px;line-height:1.25;letter-spacing:-.025em}.auth-link-state p{margin:0 auto 24px;max-width:310px;color:var(--muted);font-size:13px;line-height:1.6}.auth-link-icon{width:38px;height:38px;margin:0 auto;display:grid;place-items:center;border-radius:50%;color:var(--ok);background:var(--ok-bg);font-size:18px;font-weight:700}.auth-link-icon.is-error{color:var(--err);background:#fef3f2}.welcome-screen{min-height:100%;display:grid;place-items:center;padding:40px 20px;background:var(--bg)}.welcome{max-width:520px;width:100%;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:32px;box-shadow:0 8px 32px #1b1b180a}.welcome .brand-row{display:flex;align-items:center;gap:12px;margin-bottom:16px}.welcome h1{margin:0;font-size:21px;font-weight:600;letter-spacing:-.01em}.welcome p{color:var(--muted);font-size:13px;line-height:1.55}.welcome-screen{background:radial-gradient(circle at 16% 12%,rgba(85,107,47,.055),transparent 28%),radial-gradient(circle at 86% 88%,rgba(181,137,45,.04),transparent 30%),#f7f7f4}.setup-wizard{width:min(820px,100%);min-height:570px;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 20px 70px #1b1b1814;overflow:hidden;position:relative}.setup-wizard.is-modal{max-height:min(820px,92dvh);overflow-y:auto;z-index:1002}.setup-header{display:flex;align-items:center;justify-content:space-between;padding:24px 28px 18px;border-bottom:1px solid var(--line)}.setup-header .brand-row{display:flex;align-items:center;gap:12px}.setup-header h1{margin:2px 0 0;font-size:18px;letter-spacing:-.015em}.setup-close{align-self:flex-start;font-size:21px;line-height:1}.setup-progress{display:flex;align-items:center;justify-content:center;padding:20px 28px 0}.setup-progress span{width:26px;height:26px;display:grid;place-items:center;border:1px solid var(--line-2);border-radius:50%;color:var(--muted-2);background:#fff;font-size:11px;font-weight:650}.setup-progress span.is-active{border-color:var(--accent);color:var(--aink);background:var(--soft2)}.setup-progress span.is-done{border-color:var(--ok);color:var(--ok);background:var(--ok-bg)}.setup-progress i{width:52px;height:1px;background:var(--line-2)}.setup-wizard>.banner{margin:18px 28px 0}.setup-body{padding:28px}.setup-narrow{width:min(610px,100%);margin:0 auto;padding-block:24px 32px}.setup-intro{margin-bottom:22px}.setup-intro.centered{text-align:center;max-width:500px;margin-inline:auto}.setup-intro h2,.setup-step-heading h2{margin:0 0 7px;color:var(--ink);font-size:20px;letter-spacing:-.02em}.setup-intro p,.setup-step-heading p{margin:0;color:var(--muted);font-size:13px;line-height:1.58}.setup-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.setup-choice-grid.single{grid-template-columns:minmax(0,1fr);max-width:430px}.setup-choice-card{min-height:220px;padding:22px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;border:1px solid var(--line-2);border-radius:12px;background:#fff;color:var(--text-2);cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.setup-choice-card:hover{transform:translateY(-2px);border-color:#c8c3b2;box-shadow:0 14px 32px #1b1b1812}.setup-card-icon{width:34px;height:34px;display:inline-grid;place-items:center;flex:0 0 auto;border-radius:9px;background:var(--soft2);color:var(--aink);font-size:17px;font-weight:650}.setup-choice-card>strong{margin:18px 0 7px;font-size:15px;color:var(--ink)}.setup-choice-card p{margin:0;color:var(--muted);font-size:12.5px;line-height:1.55}.setup-card-action{margin-top:auto;padding-top:18px;color:var(--aink);font-size:12px;font-weight:650}.setup-card-action b{margin-left:5px}.setup-reconnect{margin:-3px 0 18px;padding:13px 14px;display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #d5dfca;border-radius:10px;background:#f7faf3}.setup-reconnect>div{display:flex;align-items:center;gap:12px}.setup-reconnect strong{display:block;font-size:13px}.setup-reconnect p{margin:3px 0 0;color:var(--muted);font-size:11.5px}.setup-step-heading{display:flex;gap:13px;align-items:flex-start;margin-bottom:18px}.setup-step-heading+.setup-step-heading{margin-top:25px}.setup-instruction{margin:0 0 25px 47px;padding:15px 17px;border:1px solid var(--line);border-radius:10px;background:#fafaf8}.setup-instruction strong{font-size:12.5px}.setup-instruction p{margin:4px 0 8px;color:var(--muted);font-size:12px;line-height:1.5}.setup-instruction a{font-size:12px;font-weight:600}.setup-footnote{margin:12px 0 20px 47px;color:var(--muted-2);font-size:11px;line-height:1.5}.setup-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin-top:22px}.setup-actions.split{display:flex;grid-template-columns:none;justify-content:space-between}.setup-warning-mark{width:48px;height:48px;margin:4px auto 16px;display:grid;place-items:center;border-radius:50%;color:var(--warn);background:var(--warn-bg);font-size:20px;font-weight:700}.setup-form{display:grid;grid-template-columns:1fr 160px;gap:15px}.setup-form label{display:grid;align-content:start;gap:6px;color:var(--text-2);font-size:12px;font-weight:600}.input.is-invalid{border-color:#d69b95}.field-error{color:var(--err);font-size:10.5px;font-weight:500;line-height:1.35}.setup-folder-preview{grid-column:1 / -1;display:grid;gap:5px;padding:13px 15px;border-radius:9px;background:#f6f6f2}.setup-folder-preview span{color:var(--muted);font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.setup-folder-preview code,.setup-review code,.setup-body code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere}.setup-review{margin:0 0 18px;border-block:1px solid var(--line)}.setup-review>div{display:grid;grid-template-columns:130px 1fr;gap:18px;padding:11px 3px}.setup-review>div+div{border-top:1px solid var(--line)}.setup-review dt{color:var(--muted);font-size:11.5px}.setup-review dd{margin:0;color:var(--text-2);font-size:12.5px;font-weight:550;overflow-wrap:anywhere}.setup-modal-shell{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:24px}.setup-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:#16171485;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.setup-advanced-tools>summary{color:var(--text-2);font-size:13px;font-weight:650;cursor:pointer}.setup-advanced-tools[open]>summary{margin-bottom:18px}.setup-advanced-tools h2{font-size:14px}.product-tour{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000}.tour-shade{position:fixed;background:#141612ad;-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px)}.tour-spotlight{position:fixed;z-index:2001;border:2px solid #fff;border-radius:10px;box-shadow:0 0 0 4px #6376418f,0 10px 30px #00000040;pointer-events:none;transition:top .2s ease,left .2s ease,width .2s ease,height .2s ease}.tour-panel{position:fixed;z-index:2002;width:min(360px,calc(100vw - 32px));min-height:220px;padding:22px;border:1px solid rgba(255,255,255,.5);border-radius:13px;background:#fff;box-shadow:0 22px 70px #00000047}.tour-progress{display:flex;justify-content:space-between;color:var(--muted);font-size:10.5px;text-transform:uppercase;letter-spacing:.07em}.tour-progress strong{color:var(--aink)}.tour-panel h2{margin:18px 0 8px;color:var(--ink);font-size:19px;letter-spacing:-.02em}.tour-panel p{min-height:55px;margin:0 0 22px;color:var(--muted);font-size:12.5px;line-height:1.58}.tour-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.tour-actions>div{display:flex;gap:7px}.tour-skip{border:0;background:transparent;color:var(--muted);font-size:11.5px;cursor:pointer;padding:6px 0}.tour-skip:hover{color:var(--ink);text-decoration:underline}.administration-page{animation:pageIn calc(var(--dur) * .26s) cubic-bezier(.2,.7,.3,1)}.admin-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:3px 0 26px;border-block:1px solid var(--line)}.admin-summary>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:14px 18px}.admin-summary>div+div{border-left:1px solid var(--line)}.admin-summary span{color:var(--muted);font-size:11.5px}.admin-summary strong{color:var(--ink);font-size:18px;font-weight:600;font-variant-numeric:tabular-nums}.admin-layout{display:grid;grid-template-columns:minmax(270px,330px) minmax(0,1fr);gap:22px;align-items:start}.admin-create-panel{position:sticky;top:0}.admin-create-panel .panel-title{margin-bottom:5px}.admin-create-panel>.muted{margin:0 0 20px;font-size:12px;line-height:1.55}.admin-create-button{width:100%;justify-content:center;margin-top:2px}.admin-privacy-note{display:flex;gap:8px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line);color:var(--muted);font-size:11px;line-height:1.5}.admin-privacy-note span{color:var(--ok);font-weight:700}.admin-users-panel .panel-head{align-items:flex-start;gap:16px}.admin-users-panel .panel-head .muted{margin:3px 0 0;font-size:11.5px}.admin-user-tools{display:flex;align-items:center;gap:7px;flex:0 0 auto}.admin-user-tools .search-wrap{margin:0}.admin-user-tools .select{min-width:132px}.admin-user-list{border-top:1px solid var(--line)}.admin-user-row{display:grid;grid-template-columns:30px minmax(150px,1.35fr) minmax(130px,1fr) 90px auto;gap:11px;align-items:center;padding:13px 16px;border-bottom:1px solid var(--row-line);transition:background .14s ease}.admin-user-row:last-child{border-bottom:0}.admin-user-row:hover{background:var(--hover)}.admin-user-row.is-suspended{background:#b3251e05}.admin-user-row.is-suspended .admin-user-avatar{color:var(--muted);background:#f1f0ed}.admin-user-avatar{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--soft);color:var(--aink);font-size:11px;font-weight:700}.admin-user-identity,.admin-user-role,.admin-user-activity{min-width:0}.admin-user-name{display:flex;align-items:center;gap:7px;min-width:0;color:var(--ink);font-size:12.5px;font-weight:600}.admin-user-email{overflow:hidden;margin-top:2px;color:var(--muted);font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}.admin-user-role span,.admin-user-activity span{display:block;margin-bottom:2px;color:var(--muted-2);font-size:9.5px;letter-spacing:.035em;text-transform:uppercase}.admin-user-role strong,.admin-user-activity strong{display:block;overflow:hidden;color:var(--text-2);font-size:10.5px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.admin-user-actions{display:flex;justify-content:flex-end;gap:6px}.admin-account-controls{display:grid;gap:8px;margin-top:4px;padding-top:18px;border-top:1px solid var(--line)}.admin-account-controls h3{margin:0;color:var(--ink);font-size:12px;font-weight:600}.admin-account-controls p{margin:3px 0 8px;color:var(--muted);font-size:10.5px;line-height:1.5}.admin-account-controls .btn{justify-content:center;width:100%}.admin-account-controls .admin-protected-note{margin:4px 0 0;padding:10px 11px;border-radius:var(--radius-sm);background:var(--soft);color:var(--aink)}.admin-delete-modal{width:min(470px,100%);padding:26px}.admin-delete-modal h2{margin:14px 0 7px;font-size:18px}.admin-delete-modal>p{margin:0 0 20px;color:var(--muted);font-size:12.5px;line-height:1.6}.admin-delete-modal>label{display:grid;gap:7px;color:var(--text-3);font-size:11.5px}.purge-dependencies{margin:0 0 16px;padding:12px 14px;border-radius:var(--radius-sm);background:var(--soft)}.purge-dependencies-title{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);margin-bottom:8px}.purge-dependencies ul{margin:0;padding:0;list-style:none;display:grid;gap:5px}.purge-dependencies li{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12.5px;color:var(--aink)}.purge-dependencies li.is-blocking{color:#b42318}.purge-tag{font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:#b42318}.purge-blocked,.purge-note{margin:0 0 16px;font-size:12px;line-height:1.6}.purge-blocked{color:#b42318}.purge-note{color:var(--muted)}.tenant-list{list-style:none;margin:0;padding:0;display:grid;gap:9px}.tenant-option{display:grid;gap:3px;padding:13px 15px;border:1px solid var(--line);border-radius:var(--radius-sm);text-decoration:none;background:var(--card);transition:border-color .15s ease,background .15s ease}.tenant-option:hover{border-color:var(--accent);background:var(--soft)}.tenant-option-name{font-size:13.5px;font-weight:600;color:var(--aink)}.tenant-option-host{font-size:11.5px;color:var(--muted)}.auth-footnote{margin:16px 0 0;font-size:11.5px;color:var(--muted);line-height:1.6}.admin-danger-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#fef3f2;color:var(--err);font-size:16px;font-weight:700}.admin-delete-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}.admin-tabs{display:inline-flex;gap:3px;margin:0 0 22px;padding:3px;border:1px solid var(--line);border-radius:9px;background:var(--soft)}.admin-tabs button{padding:7px 13px;border:0;border-radius:6px;background:transparent;color:var(--muted);font:inherit;font-size:12px;cursor:pointer}.admin-tabs button.active{background:var(--surface);box-shadow:0 1px 3px #1b1b1814;color:var(--ink);font-weight:600}.role-controls{display:grid;gap:18px}.role-controls-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:22px 24px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(135deg,var(--surface),#f8f8f6)}.role-controls-intro h2{margin:4px 0 7px;font-size:19px;letter-spacing:-.015em}.role-controls-intro p{max-width:720px;margin:0;color:var(--muted);font-size:12.5px;line-height:1.6}.role-controls-status{flex:0 0 auto;min-width:112px;text-align:right}.role-controls-status strong{display:block;color:var(--ink);font-size:27px;line-height:1;font-variant-numeric:tabular-nums}.role-controls-status span{display:block;margin-top:5px;color:var(--muted-2);font-size:10.5px}.role-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.role-picker button{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text-2);font:inherit;font-size:11.5px;text-align:left;cursor:pointer;transition:border-color .14s ease,background .14s ease,box-shadow .14s ease}.role-picker button:hover{border-color:var(--line-strong)}.role-picker button.active{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent);color:var(--ink);font-weight:600}.role-picker small{color:var(--muted-2);font-size:9.5px;font-weight:500;white-space:nowrap}.role-controls-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 15px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.role-controls-toolbar>div:first-child{display:grid;gap:2px}.role-controls-toolbar strong{color:var(--ink);font-size:12.5px}.role-controls-toolbar span{color:var(--muted);font-size:10.5px}.role-controls-toolbar>div:last-child{display:flex;gap:7px}.permission-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.permission-group{overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.permission-group-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:15px 16px 13px;border-bottom:1px solid var(--line);background:#fafaf8}.permission-group-head h3{margin:0 0 3px;color:var(--ink);font-size:13px}.permission-group-head p{margin:0;color:var(--muted);font-size:10.5px;line-height:1.45}.permission-group-actions{display:flex;align-items:center;gap:3px;flex:0 0 auto}.permission-group-actions span{margin-right:5px;color:var(--muted-2);font-size:9.5px;font-variant-numeric:tabular-nums}.permission-group-actions button{padding:3px 6px;border:0;border-radius:4px;background:transparent;color:var(--accent);font:inherit;font-size:9.5px;cursor:pointer}.permission-group-actions button:hover{background:var(--accent-soft)}.permission-list{display:grid}.permission-row{position:relative;display:grid;grid-template-columns:19px minmax(0,1fr);gap:10px;padding:11px 14px;border-bottom:1px solid var(--row-line);cursor:pointer;transition:background .12s ease}.permission-row:last-child{border-bottom:0}.permission-row:hover{background:var(--hover)}.permission-row.selected{background:#0f7a6f06}.permission-row input{position:absolute;opacity:0;pointer-events:none}.permission-check{width:18px;height:18px;display:grid;place-items:center;margin-top:1px;border:1px solid var(--line-strong);border-radius:5px;color:transparent;font-size:11px;font-weight:700}.permission-row.selected .permission-check{border-color:var(--accent);background:var(--accent);color:#fff}.permission-row>span:last-child{display:grid;gap:2px}.permission-row strong{color:var(--text-2);font-size:11.5px;font-weight:600}.permission-row small{color:var(--muted);font-size:10px;line-height:1.45}.access-denied{min-height:55vh;display:flex;align-items:center;justify-content:center;gap:18px;max-width:650px;margin:auto}.access-denied-mark{width:40px;height:40px;display:grid;place-items:center;flex:0 0 auto;border:1px solid var(--line);border-radius:50%;color:var(--muted);font-size:22px}.access-denied h1{margin:4px 0 7px;font-size:20px}.access-denied p{margin:0;color:var(--muted);font-size:12.5px;line-height:1.6}.permission-loading{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:12px;background:var(--bg);color:var(--muted)}.permission-loading span{width:25px;height:25px;border:1px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.permission-loading p{margin:0;font-size:12px}.hub-loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:140;display:grid;place-items:center;padding:24px;overflow:hidden;color:var(--ink);background:radial-gradient(circle at 50% 42%,rgba(15,118,110,.055),transparent 32%),#fffffff0;-webkit-backdrop-filter:blur(18px) saturate(.85);backdrop-filter:blur(18px) saturate(.85);animation:hubOverlayIn .32s ease both}.hub-loading-grain{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.26;background-image:linear-gradient(rgba(32,32,30,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(32,32,30,.018) 1px,transparent 1px);background-size:32px 32px;-webkit-mask-image:radial-gradient(circle at center,black,transparent 68%);mask-image:radial-gradient(circle at center,black,transparent 68%)}.hub-loading-content{position:relative;width:min(390px,100%);display:grid;justify-items:center;text-align:center;animation:hubLoadingContentIn .58s cubic-bezier(.22,.78,.25,1) both}.hub-assembly{position:relative;width:226px;height:210px;margin-bottom:10px;perspective:600px}.hub-assembly-aura{position:absolute;top:34px;right:39px;bottom:28px;left:39px;border-radius:999px;background:radial-gradient(circle,rgba(15,118,110,.16),rgba(15,118,110,.03) 52%,transparent 72%);filter:blur(8px);animation:hubAuraBreathe 3.4s ease-in-out infinite}.hub-orbit{position:absolute;left:50%;top:50%;border:1px dashed rgba(15,118,110,.16);border-radius:50%}.hub-orbit-outer{width:178px;height:146px;margin:-73px 0 0 -89px;transform:rotate(-12deg);animation:hubOrbitClockwise 18s linear infinite}.hub-orbit-inner{width:132px;height:132px;margin:-66px 0 0 -66px;border-color:#20201e17;animation:hubOrbitCounter 14s linear infinite}.hub-assembly-core{position:absolute;left:50%;top:50%;width:84px;height:84px;margin:-42px 0 0 -42px;display:grid;place-items:center;overflow:hidden;border:1px solid rgba(32,32,30,.11);border-radius:22px;color:var(--ink);background:#ffffffe0;box-shadow:0 22px 48px #20201e17,0 3px 9px #20201e0d,inset 0 1px #fffffff2;animation:hubCoreFloat 3s ease-in-out infinite;transition:color .45s ease,background .45s ease,border-color .45s ease}.hub-core-sheen{position:absolute;inset:-20px auto -20px -20%;width:28px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.9),transparent);animation:hubCoreSheen 3.2s ease-in-out infinite}.hub-loader-brand{position:absolute;display:grid;place-items:center;transition:opacity .25s ease,transform .45s cubic-bezier(.22,.78,.25,1)}.hub-loader-check{position:absolute;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;opacity:0;transform:scale(.72);transition:opacity .24s ease,transform .4s cubic-bezier(.18,.9,.25,1.25)}.hub-loader-check path{stroke-dasharray:28;stroke-dashoffset:28}.hub-data-tile{--tile-x: 0px;--tile-y: 0px;--tile-mx: 0px;--tile-my: 0px;--tile-r: 0deg;position:absolute;left:50%;top:50%;width:22px;height:27px;margin:-13px 0 0 -11px;padding:7px 5px;display:grid;align-content:center;gap:4px;border:1px solid rgba(32,32,30,.11);border-radius:6px;background:#fffffff0;box-shadow:0 7px 18px #20201e14;animation:hubTileGather 2.75s cubic-bezier(.25,.7,.22,1) infinite}.hub-data-tile i{display:block;height:1px;border-radius:99px;background:#0f766e61}.hub-data-tile i:last-child{width:65%;background:#20201e29}.hub-data-tile-1{--tile-x: -92px;--tile-y: -58px;--tile-mx: -31px;--tile-my: -20px;--tile-r: -10deg;animation-delay:-.15s}.hub-data-tile-2{--tile-x: 2px;--tile-y: -93px;--tile-mx: 1px;--tile-my: -34px;--tile-r: 7deg;animation-delay:-1.58s}.hub-data-tile-3{--tile-x: 94px;--tile-y: -47px;--tile-mx: 32px;--tile-my: -16px;--tile-r: 11deg;animation-delay:-.82s}.hub-data-tile-4{--tile-x: -96px;--tile-y: 55px;--tile-mx: -31px;--tile-my: 18px;--tile-r: 8deg;animation-delay:-2.2s}.hub-data-tile-5{--tile-x: -3px;--tile-y: 94px;--tile-mx: -1px;--tile-my: 34px;--tile-r: -7deg;animation-delay:-1.02s}.hub-data-tile-6{--tile-x: 94px;--tile-y: 58px;--tile-mx: 31px;--tile-my: 20px;--tile-r: -11deg;animation-delay:-2.55s}.hub-corner{position:absolute;width:13px;height:13px;opacity:.45;animation:hubCornerFocus 2.8s ease-in-out infinite}.hub-corner-1{left:35px;top:31px;border-left:1px solid var(--accent);border-top:1px solid var(--accent)}.hub-corner-2{right:35px;top:31px;border-right:1px solid var(--accent);border-top:1px solid var(--accent);animation-delay:-.7s}.hub-corner-3{left:35px;bottom:25px;border-left:1px solid var(--accent);border-bottom:1px solid var(--accent);animation-delay:-1.4s}.hub-corner-4{right:35px;bottom:25px;border-right:1px solid var(--accent);border-bottom:1px solid var(--accent);animation-delay:-2.1s}.hub-loading-copy{min-height:94px}.hub-loading-eyebrow{margin-bottom:7px;color:var(--aink);font-size:10.5px;font-weight:650;letter-spacing:.11em;text-transform:uppercase}.hub-loading-copy h2{margin:0;font-size:21px;font-weight:600;letter-spacing:-.025em}.hub-loading-copy p{margin:7px 0 0;color:var(--muted);font-size:13px;animation:hubPhaseIn .38s cubic-bezier(.22,.78,.25,1) both}.hub-loading-signals{display:flex;align-items:center;gap:7px;height:18px;margin-top:10px}.hub-loading-signals span{width:5px;height:5px;border-radius:99px;background:#20201e21;transition:width .35s ease,background .35s ease,transform .35s ease}.hub-loading-signals span.is-done{background:#0f766e66}.hub-loading-signals span.is-active{width:16px;background:var(--accent);animation:hubSignalPulse 1.65s ease-in-out infinite}.hub-loading-overlay.is-ready .hub-assembly-core{color:#fff;border-color:var(--accent);background:var(--accent);box-shadow:0 20px 48px #0f766e38,0 3px 9px #0f766e1f}.hub-loading-overlay.is-ready .hub-loader-brand{opacity:0;transform:scale(.72) rotate(-8deg)}.hub-loading-overlay.is-ready .hub-loader-check{opacity:1;transform:scale(1)}.hub-loading-overlay.is-ready .hub-loader-check path{animation:hubCheckDraw .38s .1s ease forwards}.hub-loading-overlay.is-ready .hub-data-tile{animation-play-state:paused;opacity:0}.hub-loading-overlay.is-ready .hub-orbit{border-style:solid;border-color:#0f766e24}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#18171340;z-index:70;display:flex;justify-content:flex-end;animation:fadeIn calc(var(--dur) * .16s) ease both}.drawer{width:min(560px,94vw);height:100vh;height:100dvh;max-height:100dvh;min-height:0;background:var(--surface);border-left:1px solid var(--line);box-shadow:-16px 0 48px #1817131f;display:flex;flex-direction:column;animation:drawerIn calc(var(--dur) * .24s) cubic-bezier(.2,.7,.3,1) both;padding:0;overflow:hidden}.drawer-header{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #f0eee7}.drawer-header h2{margin:0;font-size:15px;font-weight:600}.drawer-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:20px}.drawer-footer{flex:0 0 auto;display:flex;gap:8px;justify-content:flex-end;padding:14px 20px;border-top:1px solid #f0eee7;background:#fbfaf7}.bulk-import-backdrop{align-items:center}.bulk-import-modal{width:min(900px,100%);max-height:min(90dvh,820px);display:flex;flex-direction:column;gap:16px;padding:0;overflow-x:hidden;overflow-y:auto}.bulk-import-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 24px 0}.bulk-import-header h2{margin:4px 0 6px;font-size:19px}.bulk-import-header p{max-width:650px;margin:0;color:var(--muted);font-size:12px;line-height:1.55}.bulk-import-modal>.banner{margin:0 24px}.bulk-import-steps{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 24px}.bulk-template-card,.bulk-drop-zone{position:relative;min-height:116px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px 12px;padding:17px;border:1px solid var(--line);border-radius:10px;background:#fafaf8}.bulk-template-card>.btn{grid-column:2;justify-self:start}.bulk-template-card strong,.bulk-drop-zone strong{color:var(--ink);font-size:12.5px}.bulk-template-card p,.bulk-drop-zone p{margin:3px 0 0;color:var(--muted);font-size:10.5px;line-height:1.45}.bulk-step-number{width:22px;height:22px;display:grid;place-items:center;align-self:start;border:1px solid var(--line-strong);border-radius:50%;background:var(--surface);color:var(--muted);font-size:10px;font-weight:700}.bulk-drop-zone{grid-template-columns:auto 32px 1fr auto;border-style:dashed;background:var(--surface);transition:border-color .14s ease,background .14s ease}.bulk-drop-zone.is-dragging{border-color:var(--accent);background:var(--accent-soft)}.bulk-drop-zone.has-file{border-style:solid}.bulk-drop-mark{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:var(--soft);color:var(--accent);font-size:18px}.bulk-guidance{margin:-3px 24px 0;overflow:hidden;border:1px solid var(--line);border-radius:9px;background:#fafaf8;color:var(--muted);font-size:10px}.bulk-guidance-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:12px 14px 10px;border-bottom:1px solid var(--row-line)}.bulk-guidance-head>div{display:grid;gap:2px}.bulk-guidance-head strong{color:var(--ink);font-size:11.5px}.bulk-guidance-head span{line-height:1.45}.bulk-required{flex:0 0 auto;padding:3px 7px;border-radius:5px;background:var(--soft);color:var(--aink);font-weight:600}.bulk-guidance ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 28px;margin:0;padding:11px 30px 10px}.bulk-guidance li{padding-left:1px;line-height:1.45}.bulk-guidance p{margin:0;padding:8px 14px;border-top:1px solid var(--row-line);background:var(--surface);color:var(--muted-2);line-height:1.5}.bulk-preview{min-height:0;display:flex;flex:0 0 auto;flex-direction:column;gap:10px;padding:0 24px}.bulk-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:8px}.bulk-summary>div{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:10px 12px}.bulk-summary>div+div{border-left:1px solid var(--line)}.bulk-summary span{color:var(--muted);font-size:10.5px}.bulk-summary strong{color:var(--ink);font-size:16px;font-variant-numeric:tabular-nums}.bulk-preview-table-wrap{min-height:150px;max-height:280px;overflow:auto;border:1px solid var(--line);border-radius:8px}.bulk-preview-table{width:100%;border-collapse:collapse;font-size:11px}.bulk-preview-table th{position:sticky;top:0;z-index:1;padding:8px 10px;border-bottom:1px solid var(--line);background:#fafaf8;color:var(--muted-2);font-size:9px;letter-spacing:.05em;text-align:left;text-transform:uppercase}.bulk-preview-table td{padding:9px 10px;border-bottom:1px solid var(--row-line);color:var(--text-2);vertical-align:top}.bulk-preview-table tr:last-child td{border-bottom:0}.bulk-row-error{color:var(--err);font-size:10px;line-height:1.4}.bulk-source-school,.bulk-selected-match{display:grid;gap:3px;min-width:155px}.bulk-source-school strong,.bulk-selected-match strong{color:var(--ink);font-size:11.5px}.bulk-source-school span,.bulk-selected-match span{color:var(--muted);font-size:9.8px;line-height:1.4}.bulk-match-candidates{display:grid;gap:5px;min-width:280px}.bulk-match-option{width:100%;display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:8px 9px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);text-align:left;cursor:pointer}.bulk-match-option:hover{border-color:var(--accent);background:var(--accent-soft)}.bulk-match-option>span{display:grid;gap:2px}.bulk-match-option strong{font-size:10.8px}.bulk-match-option small{color:var(--muted);font-size:9.3px}.bulk-match-option em{max-width:105px;color:var(--accent);font-size:8.8px;font-style:normal;line-height:1.35;text-align:right}.bulk-no-match{color:var(--muted);font-size:10.5px}.bulk-match-actions{display:grid;justify-items:start;gap:7px;min-width:130px}.bulk-match-actions .text-button{font-size:10px;line-height:1.35}.bulk-import-footer{position:sticky;bottom:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:16px;flex:0 0 auto;padding:13px 24px;border-top:1px solid var(--line);background:#fbfaf7}.bulk-import-footer>span{color:var(--muted);font-size:10.5px}.bulk-import-footer>div{display:flex;gap:7px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 14px;align-content:start}.form-grid>*{grid-column:1 / -1}.form-grid>.field-half{grid-column:span 1}.form-grid label{display:grid;gap:4px;font-size:12px;font-weight:500;color:#6e6b64}.form-grid label>:is(input,select,textarea){font-weight:400;color:var(--ink)}@media(max-width:620px){.form-grid,.school-manual-fields{grid-template-columns:minmax(0,1fr)}.form-grid>.field-half{grid-column:1 / -1}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#18171352;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:80;display:grid;place-items:center;padding:20px;animation:fadeIn calc(var(--dur) * .14s) ease both}.modal{background:var(--surface);border:1px solid var(--line);border-radius:12px;width:min(640px,100%);max-height:90vh;overflow:auto;padding:20px;box-shadow:0 28px 80px #18171347,0 2px 8px #1817131a;animation:modalIn calc(var(--dur) * .18s) cubic-bezier(.2,.7,.3,1) both}.modal h2{margin:0 0 12px;font-size:15px;font-weight:600}.cmd-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#18171352;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:90;animation:fadeIn calc(var(--dur) * .14s) ease both}.cmd-palette{width:min(560px,92vw);margin:13vh auto 0;background:#fff;border-radius:12px;box-shadow:0 28px 80px #18171347,0 2px 8px #1817131a;overflow:hidden;animation:paletteIn calc(var(--dur) * .18s) cubic-bezier(.2,.7,.3,1) both}.cmd-input-row{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid #f0eee7}.cmd-input-row input{flex:1;border:none;outline:none;font-size:14.5px;background:transparent;color:var(--ink)}.cmd-list{max-height:340px;overflow-y:auto;padding:6px}.cmd-group{font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2);padding:10px 10px 4px}.cmd-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);cursor:pointer}.cmd-row:hover,.cmd-row.active{background:var(--soft)}.cmd-row .label{font-size:13.5px;font-weight:500}.cmd-row .meta{font-size:12px;color:var(--muted-2)}.cmd-row .enter{margin-left:auto;font-size:11px;color:#c9c6bb}.cmd-footer{display:flex;gap:14px;padding:9px 16px;border-top:1px solid #f0eee7;background:#fbfaf7;font-size:11px;color:var(--muted-2)}.cmd-footer strong{font-weight:600;color:var(--muted)}.diff-table td.changed{background:var(--warn-bg)}.toast{position:fixed;right:20px;bottom:20px;background:var(--ink);color:#fff;padding:10px 14px;border-radius:var(--radius-sm);font-size:13px;z-index:100;box-shadow:0 8px 24px #0000002e;animation:toastIn calc(var(--dur) * .28s) cubic-bezier(.2,.7,.3,1) both}.timeline{display:grid;gap:10px}.timeline-row{display:grid;grid-template-columns:140px 1fr;gap:12px;align-items:center}.timeline-track{position:relative;height:28px;background:#f3f1eb;border-radius:6px;overflow:hidden;border:1px solid var(--line)}.timeline-block{position:absolute;top:2px;bottom:2px;border-radius:4px;background:var(--soft);border:1px solid color-mix(in srgb,var(--accent) 30%,white);font-size:11px;padding:0 6px;display:flex;align-items:center;white-space:nowrap;overflow:hidden;color:var(--aink)}.timeline-block.active{background:var(--soft2);border-color:var(--accent)}.timeline-toolbar{position:relative;display:flex;align-items:end;flex-wrap:wrap;gap:9px;margin-bottom:13px}.timeline-toolbar>label{display:grid;gap:4px;color:var(--muted);font-size:9.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.timeline-toolbar select{min-width:150px;border:1px solid var(--line-2);border-radius:7px;padding:8px 28px 8px 9px;background:var(--surface);color:var(--ink);font:inherit;font-size:12px}.display-menu-wrap{position:relative;margin-left:auto}.display-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:40;display:grid;gap:8px;min-width:215px;padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--surface);box-shadow:0 14px 34px #0f172a29}.display-menu label{display:flex;align-items:center;gap:8px;font-size:11.5px;cursor:pointer}.planning-scroll{overflow:auto;max-height:630px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:0 3px 14px #0f172a0d}.planning-grid{display:grid;grid-template-columns:190px minmax(860px,1fr);min-width:1050px}.zoom-term .planning-grid{grid-template-columns:190px minmax(1120px,1fr)}.zoom-month .planning-grid{grid-template-columns:190px minmax(1900px,1fr)}.zoom-week .planning-grid{grid-template-columns:190px minmax(3800px,1fr)}.planning-corner,.planning-months{position:sticky;top:0;z-index:12;min-height:42px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 96%,var(--page))}.planning-corner{left:0;z-index:14;display:flex;align-items:center;justify-content:space-between;padding:0 13px;border-right:1px solid var(--line);font-size:11px}.planning-corner span{color:var(--muted-2);font-size:9.5px}.planning-months{position:sticky}.planning-months>div{position:absolute;inset-block:0;display:grid;place-items:center;border-left:1px solid var(--line);color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.programme-cell,.allocation-cell{position:sticky;left:0;z-index:7;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;min-height:67px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 12px;background:var(--surface);color:var(--ink);text-align:left;font:inherit;cursor:pointer}.programme-cell:hover{background:color-mix(in srgb,var(--accent-soft) 35%,var(--surface))}.programme-cell strong{display:block;font-size:12.5px}.programme-cell small,.allocation-cell small{display:block;margin-top:3px;color:var(--muted-2);font-size:9.5px}.programme-colour{width:4px;height:32px;border-radius:4px}.programme-track{position:relative;min-height:67px;overflow:hidden;border-bottom:1px solid var(--line);background:repeating-linear-gradient(90deg,transparent 0,transparent calc(100% / 52 - 1px),rgb(148 163 184 / 7%) calc(100% / 52 - 1px),rgb(148 163 184 / 7%) calc(100% / 52))}.month-gridline{position:absolute;inset-block:0;width:1px;background:color-mix(in srgb,var(--line) 80%,transparent);pointer-events:none}.today-line{position:absolute;inset-block:0;z-index:10;width:2px;background:#d14545;pointer-events:none}.today-line span{position:absolute;top:2px;left:5px;border-radius:4px;padding:2px 4px;background:#d14545;color:#fff;font-size:8px}.placement-window{position:absolute;top:16px;z-index:3;display:flex;align-items:center;gap:6px;min-width:18px;height:34px;overflow:hidden;border:0;border-radius:7px;padding:0 9px;color:#fff;font:inherit;text-align:left;white-space:nowrap;cursor:grab;box-shadow:0 4px 10px #0f172a29;transition:transform 90ms ease,box-shadow .18s ease}.placement-window:hover{z-index:8;transform:translateY(-2px);box-shadow:0 10px 20px #0f172a38}.placement-window:active{cursor:grabbing;transform:rotate(1deg) scale(1.012)}.placement-window strong{overflow:hidden;font-size:10.5px;text-overflow:ellipsis}.placement-window span{opacity:.78;font-size:8.5px}.window-draft{opacity:.72}.window-cancelled{opacity:.4;text-decoration:line-through}.partnership-event{position:absolute;top:0;bottom:0;z-index:5;width:2px;border:0;padding:0;background:#7c3aed;color:#5b21b6;cursor:pointer}.partnership-event span{position:absolute;top:3px;left:4px;max-width:115px;overflow:hidden;font-size:8px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.partnership-event.event-band{width:auto;background:#7c3aed17;border-inline:1px solid rgb(124 58 237 / 25%)}.timeline-milestone{position:absolute;top:44px;z-index:8;border:0;padding:0;background:transparent;color:#b45309;font-size:13px;transform:translate(-50%) rotate(45deg);cursor:pointer}.timeline-card-bar{position:absolute;top:48px;z-index:7;height:12px;overflow:hidden;border:1px solid #D4A72C;border-radius:3px;padding:0 4px;background:#fff4ce;color:#6b4f00;font-size:7.5px;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.allocation-cell{grid-template-columns:1fr;min-height:42px;padding-left:30px;background:color-mix(in srgb,var(--page) 55%,var(--surface));cursor:default}.allocation-cell span{overflow:hidden;font-family:ui-monospace,monospace;font-size:10px;text-overflow:ellipsis}.allocation-track{min-height:42px;background-color:color-mix(in srgb,var(--page) 55%,var(--surface))}.allocation-bar{position:absolute;top:11px;height:19px;overflow:hidden;border:1px solid #8DA3B8;border-radius:4px;padding:0 6px;background:#dce8f2;color:#29445d;font:inherit;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.allocation-bar.exception{border-style:dashed;border-color:#b45309;background:#fff4ce;color:#7a4a08}.upcoming-head{display:flex;align-items:end;justify-content:space-between;margin:27px 0 10px}.upcoming-head h2{margin:3px 0 0;font-size:17px}.upcoming-head>span{color:var(--muted);font-size:11px}@media(max-width:720px){.timeline-actions{display:flex;flex-wrap:wrap}.display-menu-wrap{margin-left:0}.planning-grid{grid-template-columns:145px minmax(860px,1fr)}}@media(prefers-reduced-motion:reduce){.placement-window,.planning-scroll{scroll-behavior:auto!important}.placement-window:hover,.placement-window:active{transform:none!important}}.split{display:grid;grid-template-columns:1.5fr 1fr;gap:14px;align-items:start}.split-stack{display:grid;gap:14px}.dashboard-page .split{gap:32px}.dashboard-page .split-stack{gap:22px;align-content:start}.dashboard-page .split-stack .panel{margin:0;padding:16px 0 0;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent}.dashboard-page .split-stack .panel-title{font-size:13.5px}@media(max-width:960px){.app-shell{flex-direction:column;height:auto;min-height:100%}.sidebar{width:100%!important;height:auto;border-right:none;border-bottom:1px solid var(--line)}.sidebar.collapsed{width:100%!important}.main{overflow:visible}.main-inner{padding:24px 20px 48px}.split,.stat-grid{grid-template-columns:1fr}.dashboard-page .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-page .metric:nth-child(3){border-left:0;border-top:1px solid var(--line)}.dashboard-page .metric:nth-child(4){border-top:1px solid var(--line)}.dashboard-page .split{gap:24px}.admin-layout{grid-template-columns:1fr}.admin-create-panel{position:static}.admin-users-panel .panel-head{flex-wrap:wrap}.admin-user-tools{width:100%}.admin-user-tools .search-wrap{flex:1}.admin-user-tools .input-search{width:100%!important}.admin-user-row{grid-template-columns:30px minmax(150px,1fr) minmax(120px,.8fr) auto}.admin-user-activity{display:none}.role-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.permission-groups,.bulk-import-steps{grid-template-columns:1fr}.setup-wizard{min-height:0}}@media(max-width:560px){.auth-screen{padding:18px}.auth-card{padding:25px 22px;box-shadow:0 12px 36px #1b1b180e}.admin-summary{grid-template-columns:1fr}.admin-summary>div+div{border-left:0;border-top:1px solid var(--line)}.admin-user-row{grid-template-columns:28px minmax(0,1fr)}.admin-user-role{grid-column:2}.admin-user-actions{grid-column:1 / -1;justify-content:flex-start;padding-top:4px}.admin-user-tools{align-items:stretch;flex-direction:column}.admin-delete-actions{align-items:stretch;flex-direction:column-reverse}.admin-delete-actions .btn{justify-content:center}.role-controls-intro{align-items:flex-start;flex-direction:column}.role-controls-status{text-align:left}.role-picker{grid-template-columns:1fr}.role-controls-toolbar{align-items:stretch;flex-direction:column}.role-controls-toolbar>div:last-child{flex-direction:column}.role-controls-toolbar .btn{justify-content:center}.bulk-import-modal{max-height:96dvh}.bulk-import-header{padding:18px 18px 0}.bulk-import-modal>.banner,.bulk-import-steps,.bulk-preview{margin-inline:0;padding-inline:18px}.bulk-guidance{margin-inline:18px}.bulk-guidance-head{flex-direction:column;gap:8px}.bulk-required{align-self:flex-start}.bulk-guidance ul{grid-template-columns:1fr}.bulk-drop-zone{grid-template-columns:auto 1fr}.bulk-drop-mark{display:none}.bulk-drop-zone .btn{grid-column:2;justify-self:start}.bulk-summary{grid-template-columns:1fr}.bulk-summary>div+div{border-left:0;border-top:1px solid var(--line)}.bulk-import-footer{align-items:stretch;flex-direction:column;padding-inline:18px}.bulk-import-footer>div{flex-direction:column-reverse}.bulk-import-footer .btn{justify-content:center}.dashboard-page .metric-grid{grid-template-columns:1fr}.dashboard-page .metric+.metric{border-left:0;border-top:1px solid var(--line)}.welcome-screen{padding:12px;align-items:start}.setup-wizard{border-radius:11px}.setup-header{padding:18px}.setup-header h1{font-size:16px}.setup-progress{padding-top:15px}.setup-body{padding:20px 18px 24px}.setup-choice-grid{grid-template-columns:1fr}.setup-choice-card{min-height:190px}.setup-reconnect{align-items:stretch;flex-direction:column}.setup-form{grid-template-columns:1fr}.setup-folder-preview{grid-column:1}.setup-instruction,.setup-footnote{margin-left:0}.setup-actions.split{align-items:stretch;flex-direction:column-reverse}.setup-actions.split .btn{justify-content:center}.setup-review>div{grid-template-columns:105px 1fr;gap:12px}.setup-modal-shell{padding:8px}.setup-wizard.is-modal{max-height:96dvh}.tour-panel{min-height:0}}@media(max-height:520px){.drawer-header{padding-block:10px}.drawer-body{padding-block:13px}.drawer-footer{padding-block:9px}.bulk-import-backdrop{padding:0}.bulk-import-modal{width:min(900px,100%);max-height:100dvh;border-radius:0}.bulk-import-header{padding-top:14px}.bulk-template-card,.bulk-drop-zone{min-height:94px;padding-block:12px}}@media(prefers-reduced-motion:reduce){.auth-card,.auth-progress i,.auth-loading-mark,.auth-network-plane,.auth-network-node-halo,.auth-network-node-core,.auth-compute-signal,.auth-branch-burst,.hub-loading-overlay,.hub-loading-content,.hub-assembly-aura,.hub-orbit,.hub-assembly-core,.hub-core-sheen,.hub-data-tile,.hub-corner,.hub-loading-copy p,.hub-loading-signals span.is-active,.hub-loading-overlay.is-ready .hub-loader-check path{animation:none!important}.hub-data-tile{display:none}.hub-loader-check path{stroke-dashoffset:0}}.muted{color:var(--muted)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.empty{padding:22px 18px;color:var(--muted-2);text-align:center;font-size:13px}.detail-hero{display:flex;align-items:center;gap:14px;margin-top:8px}.detail-hero h1{margin:0}.inline-status{margin-left:12px}.school-create-drawer{width:min(680px,100vw)}.school-create-header{align-items:flex-start;padding:22px 24px 18px}.school-create-header>div{display:grid;gap:4px}.school-create-header h2{font-size:20px;letter-spacing:-.02em}.school-create-header p{max-width:510px;margin:2px 0 0;color:var(--muted);font-size:11.5px;line-height:1.5}.school-create-form{align-content:start;gap:13px 16px;padding:24px}.school-combobox{position:relative;display:grid;align-content:start;gap:10px;padding:18px;border:1px solid var(--line-2);border-radius:12px;background:linear-gradient(145deg,#fff,#fbfbf8)}.school-combobox>label{font-weight:560;color:var(--text-3)}.school-search-intro{display:flex;align-items:flex-start;gap:11px;margin-bottom:2px}.school-search-icon{width:36px;height:36px;display:grid;flex:0 0 auto;place-items:center;border-radius:9px;background:var(--accent-soft);color:var(--accent)}.school-search-intro>div:last-child{display:grid;gap:3px}.school-search-intro strong{color:var(--ink);font-size:13.5px}.school-search-intro span{color:var(--muted);font-size:11px;line-height:1.5}.school-search-filters{display:grid;grid-template-columns:1.35fr 1fr;gap:9px;padding:10px;border:1px solid var(--row-line);border-radius:9px;background:#f8f8f5}.school-search-filters label{display:grid;gap:4px;color:var(--muted);font-size:9.5px;font-weight:650;letter-spacing:.04em;text-transform:uppercase}.school-search-filters .select{height:34px;background:#fff;font-size:11.5px;text-transform:none;letter-spacing:0}.school-search-field{position:relative}.school-search-field .input{height:45px;padding-right:92px;border-color:var(--line-2);background:#fff;font-size:13px;box-shadow:0 1px #17171405}.school-search-field .input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.school-search-status{position:absolute;right:13px;top:50%;transform:translateY(-50%);font-size:11.5px;color:var(--muted)}.school-search-results{position:absolute;z-index:8;top:calc(100% + 7px);left:0;right:0;max-height:310px;overflow:auto;background:#fff;border:1px solid var(--line-2);border-radius:10px;box-shadow:0 18px 48px #18181624;padding:5px}.school-search-results button{width:100%;display:grid;gap:2px;text-align:left;border:0;background:transparent;border-radius:7px;padding:10px 11px;color:var(--ink);cursor:pointer}.school-search-results button.active{background:var(--soft)}.school-search-results strong{font-size:13px}.school-search-results span,.school-search-empty,.school-search-error{color:var(--muted);font-size:11.5px;margin:0}.school-search-empty{display:grid;gap:2px;padding:10px 11px;border:1px dashed var(--line);border-radius:8px;background:#fff}.school-search-empty strong{color:var(--text-2);font-size:11.5px}.school-search-empty span{font-size:10.5px}.school-search-error{color:var(--err)}.school-search-footnote{margin:0;color:var(--muted-2);font-size:10px;line-height:1.45}.text-button{border:0;padding:0;background:transparent;color:var(--aink);font-size:12px;text-align:left;cursor:pointer;justify-self:start}.school-manual-option{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid var(--line);border-radius:9px;color:var(--muted);font-size:11px}.school-manual-option .text-button{font-weight:600}.school-manual-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 14px}.school-manual-fields>.banner{grid-column:1 / -1}.school-form-divider{margin:5px 0 -3px;padding-top:15px;border-top:1px solid var(--line);color:var(--muted);font-size:11px;font-weight:650;text-transform:uppercase;letter-spacing:.08em}.optional{color:var(--muted-2);font-weight:400}.official-school-card{border:1px solid var(--line-2);border-radius:12px;background:linear-gradient(140deg,#fff 50%,color-mix(in srgb,var(--accent) 3%,white));padding:21px;margin:0 0 18px}.official-school-card.compact{padding:15px;margin:0}.official-school-head{display:flex;gap:20px;justify-content:space-between;align-items:flex-start}.official-school-head h2{margin:4px 0 1px;font-size:18px}.official-school-head p{margin:0;color:var(--muted);font-size:12.5px}.official-reference{display:block;margin-top:6px;color:var(--muted-2);font-size:10.5px;font-variant-numeric:tabular-nums}.official-mark{color:var(--accent);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.09em}.official-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:18px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--line)}.official-grid>div{display:grid;gap:3px;padding:11px 12px;background:#fff}.official-grid span,.inspection-areas span{color:var(--muted);font-size:10.5px;text-transform:uppercase;letter-spacing:.04em}.official-grid strong{font-size:12.5px;font-weight:560}.inspection-card{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.inspection-title{display:flex;justify-content:space-between;gap:12px}.inspection-title a{font-size:12px;font-weight:560}.inspection-card>p{margin:9px 0 0}.inspection-context{padding:9px 11px;border-left:3px solid var(--info);background:color-mix(in srgb,var(--info) 5%,white);color:var(--text-2);font-size:12px}.inspection-areas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:11px}.inspection-areas>div{display:grid;gap:2px;padding:10px 11px;border:1px solid var(--line);border-radius:7px;background:#ffffffb3}.inspection-areas strong{font-size:12px}.inspection-areas small{color:var(--muted);font-size:10.5px}.official-note,.official-attribution{color:var(--muted);font-size:10.5px!important;line-height:1.5}.official-attribution{margin:14px 0 0}.official-alerts,.dashboard-official-alerts{margin-bottom:18px;border:1px solid var(--warn-border);background:#fffcf5;border-radius:10px;overflow:hidden}.official-link-bar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:9px;padding:12px 14px;border:1px solid var(--line-2);border-radius:9px;background:var(--soft)}.official-link-bar>div{display:grid;gap:2px}.official-link-bar span{color:var(--muted);font-size:11.5px}.official-alerts-head{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:14px 16px;border-bottom:1px solid var(--warn-border)}.official-alerts-head>div{display:grid;gap:2px}.official-alerts-head span{color:var(--muted);font-size:11.5px}.official-alert{width:100%;display:grid;grid-template-columns:62px 1fr auto;align-items:center;gap:10px;padding:10px 16px;border:0;border-bottom:1px solid rgba(32,32,30,.07);background:transparent;color:var(--ink);text-align:left}button.official-alert{cursor:pointer}button.official-alert:hover{background:#ffffffbf}.official-alert:last-child{border-bottom:0}.official-alert>span{font-size:9.5px;font-weight:750;color:var(--muted);letter-spacing:.06em}.official-alert>strong{font-size:12px;font-weight:560}.official-alert>small{color:var(--muted)}.official-alert.critical{box-shadow:inset 3px 0 var(--err-dot)}.official-alert.warning{box-shadow:inset 3px 0 var(--warn-dot)}.official-alert.info{box-shadow:inset 3px 0 var(--info)}.dashboard-official-alerts{padding:0;background:#fff;border-color:var(--line-2)}.dashboard-official-alerts .panel-head{margin:0}.reference-health-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px}.reference-health-grid>.banner{grid-column:1 / -1}.reference-health-card{display:grid;gap:7px;padding:14px;border:1px solid var(--line);border-radius:9px;background:#fff}.reference-health-card.stale{border-color:var(--warn-border);background:var(--warn-bg)}.reference-health-card>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.reference-health-card span{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.reference-health-card strong{font-size:12.5px}.reference-health-card small{color:var(--muted)}.reference-snapshot{display:block;margin-top:6px;color:var(--ink)!important;font-weight:650}.reference-admin-panel{margin-bottom:18px}.workspace-admin{display:grid;gap:16px}.workspace-cluster-list{display:grid;gap:8px;margin-top:16px}.workspace-cluster{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid var(--line)}.workspace-cluster small,.workspace-preview span,.workspace-preview small{display:block;margin-top:3px;color:var(--muted)}.workspace-groups{display:grid;gap:8px;margin:14px 0;padding:12px;border:1px solid var(--line);border-radius:8px}.workspace-preview{margin-top:14px;padding:14px;border-radius:9px;background:var(--soft)}.workspace-preview code{display:block;margin-top:10px;overflow-wrap:anywhere}.workspace-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.workboard-page{min-width:0}.workboard-toolbar{display:flex;align-items:center;gap:12px;margin:-4px 0 18px}.workboard-toolbar .search-wrap{margin-left:auto}.view-tabs{display:inline-flex;gap:3px;padding:3px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.view-tabs button{border:0;border-radius:6px;padding:7px 12px;background:transparent;color:var(--muted);font:inherit;font-size:12px;cursor:pointer;transition:background .16s ease,color .16s ease,box-shadow .16s ease}.view-tabs button.active{background:var(--ink);color:#fff;box-shadow:0 2px 8px #0f172a24}.workboard-scroll{overflow-x:auto;margin:0 -4px;padding:4px 4px 18px;scrollbar-width:thin}.workboard{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(255px,1fr);align-items:start;gap:13px}.work-column{min-width:0;min-height:240px;padding:9px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--surface) 88%,var(--page));transition:border-color .18s ease,background .18s ease,transform .18s ease}.work-column.drop-target{border-color:var(--accent);background:var(--accent-soft);transform:translateY(-2px)}.work-column>header{display:flex;align-items:center;gap:8px;min-height:35px;padding:0 3px 7px;font-size:12.5px}.work-column>header>span:not(.work-status-dot){margin-left:auto;color:var(--muted-2);font-variant-numeric:tabular-nums}.work-column>header .icon-btn{width:27px;height:27px;margin-left:2px;font-size:17px}.work-status-dot{width:8px;height:8px;border-radius:50%;box-shadow:0 0 0 3px #64748b17}.work-card-list{display:grid;gap:8px;min-height:175px}.work-card{width:100%;display:grid;gap:8px;padding:13px;border:1px solid color-mix(in srgb,var(--line) 85%,transparent);border-radius:9px;background:var(--surface);box-shadow:0 1px 2px #0f172a0d;color:var(--ink);text-align:left;font:inherit;cursor:grab;touch-action:manipulation;transform:translateZ(0);transition:transform 90ms ease,box-shadow .18s ease,border-color .16s ease}.work-card:hover,.work-card:focus-visible{border-color:color-mix(in srgb,var(--accent) 42%,var(--line));box-shadow:0 7px 18px #0f172a1a;transform:translateY(-2px);outline:none}.work-card:active{transform:scale(.992)}.work-card.dragging{opacity:.94;transform:rotate(1deg) scale(1.018);box-shadow:0 18px 36px #0f172a33;cursor:grabbing;z-index:20}.work-card strong{font-size:13px;line-height:1.38}.work-card-top,.work-card-meta{display:flex;align-items:center;justify-content:space-between;gap:7px}.work-type,.work-priority{display:inline-flex;align-items:center;width:fit-content;border-radius:999px;padding:3px 6px;background:#eef2f7;color:#526173;font-size:9px;font-weight:700;letter-spacing:.045em;text-transform:uppercase}.work-type-risk,.priority-urgent{background:#fce8e6;color:#a61b1b}.work-type-decision{background:#efe9fe;color:#6941c6}.work-type-information{background:#e8f2fb;color:#245b89}.priority-high{background:#fff2d8;color:#986113}.work-context{overflow:hidden;color:var(--muted);font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.work-labels{display:flex;flex-wrap:wrap;gap:4px}.work-labels span{border-radius:999px;padding:2px 6px;color:#fff;font-size:8px;font-weight:700}.work-card-meta{color:var(--muted-2);font-size:10.5px}.work-card-meta .overdue{color:#b42318;font-weight:650}.work-column-empty{display:grid;min-height:105px;place-items:center;border:1px dashed var(--line);border-radius:8px;color:var(--muted-2);font-size:11px}.work-drawer{width:min(680px,96vw)}.work-drawer.compact{width:min(510px,96vw)}.work-drawer .drawer-head{align-items:flex-start}.work-drawer .drawer-head>div{flex:1;min-width:0}.work-title-input{width:100%;margin-top:5px;border:0;padding:0;background:transparent;color:var(--ink);font:inherit;font-size:21px;font-weight:650;line-height:1.3}.work-title-input:focus{outline:0;box-shadow:0 2px 0 var(--accent)}.work-drawer-body{flex:1;overflow-y:auto;padding:18px 22px 30px}.work-fields-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.work-fields-grid label,.work-description,.work-create-form label{display:grid;gap:6px;color:var(--muted);font-size:11px;font-weight:650}.work-fields-grid input,.work-fields-grid select,.work-description textarea,.work-create-form input,.work-create-form select,.inline-add input,.inline-add select,.comment-box textarea{width:100%;border:1px solid var(--line);border-radius:7px;padding:9px 10px;background:var(--surface);color:var(--ink);font:inherit;font-size:12.5px}.work-description{margin-top:16px}.linked-record{display:flex;align-items:center;gap:9px;margin-top:14px;padding:10px 12px;border-radius:8px;background:var(--accent-soft);font-size:12px}.linked-record span{color:var(--muted)}.additional-links{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.additional-links>span{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:4px 8px;background:#eef2f7;color:#526173;font-size:9.5px}.additional-links button{border:0;padding:0;background:transparent;color:inherit;cursor:pointer}.work-label-picker{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:12px}.work-label-picker>span{margin-right:2px;color:var(--muted);font-size:10px;font-weight:650}.work-label-picker button{border:1px solid var(--label-colour);border-radius:999px;padding:4px 8px;background:transparent;color:var(--ink);font:inherit;font-size:9.5px;cursor:pointer;opacity:.65}.work-label-picker button.selected{background:var(--label-colour);color:#fff;opacity:1}.work-drawer-section{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.work-drawer-section h3{display:flex;gap:8px;margin:0 0 11px;font-size:13px}.work-drawer-section h3 span{color:var(--muted-2);font-weight:500}.check-row{display:flex;align-items:center;gap:9px;padding:6px 2px;font-size:12.5px;cursor:pointer}.check-row input:checked+span{color:var(--muted-2);text-decoration:line-through}.inline-add{display:flex;gap:7px;margin-top:8px}.link-add{display:grid;grid-template-columns:.7fr 1fr auto}.file-button{position:relative;overflow:hidden;margin-top:9px}.file-button input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.attachment-row{display:flex;align-items:center;gap:8px;padding:6px 2px;font-size:12px}.attachment-row a{color:var(--accent)}.attachment-row .attachment-remove{width:24px;height:24px;margin-left:auto}.work-event{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;padding:10px 0;border-bottom:1px solid var(--line);font-size:11.5px}.work-event>span{color:var(--muted-2);text-align:right}.work-event p{grid-column:1 / -1;margin:4px 0 0;line-height:1.5}.comment-box{display:grid;justify-items:end;gap:7px;margin-top:12px}.work-create-form{display:grid;gap:13px;padding:20px 22px;overflow-y:auto}.work-undo{position:fixed;right:20px;bottom:66px;z-index:110;display:flex;align-items:center;gap:14px;max-width:min(420px,calc(100vw - 32px));border-radius:8px;padding:10px 13px;background:#17212b;color:#fff;box-shadow:0 10px 26px #0f172a3d;font-size:11.5px;animation:toastIn .2s ease both}.work-undo button{border:0;padding:0;background:transparent;color:#8cc8ff;font:inherit;font-weight:700;cursor:pointer}.school-work-card{display:flex;align-items:flex-start;gap:9px;width:100%;margin-top:8px;border:1px solid var(--line);border-radius:8px;padding:10px;background:var(--surface);color:var(--ink);text-align:left;font:inherit;cursor:pointer;transition:border-color .16s ease,transform 90ms ease,box-shadow .18s ease}.school-work-card:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));box-shadow:0 5px 14px #0f172a14;transform:translateY(-1px)}.school-work-card>span:last-child{display:grid;gap:3px}.school-work-card strong{font-size:12px}.school-work-card small{color:var(--muted);font-size:10px}.note-convert{margin-top:5px;font-size:10px}.notification-center{position:fixed;top:18px;right:20px;z-index:80}.notification-trigger{position:relative;display:grid;width:36px;height:36px;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--ink);font-size:18px;cursor:pointer;box-shadow:0 4px 14px #0f172a1a}.notification-trigger b{position:absolute;top:-4px;right:-3px;display:grid;min-width:17px;height:17px;place-items:center;border:2px solid var(--surface);border-radius:999px;background:#b42318;color:#fff;font-size:8px}.notification-popover{position:absolute;top:44px;right:0;width:min(360px,calc(100vw - 30px));overflow:hidden;border:1px solid var(--line);border-radius:11px;background:var(--surface);box-shadow:0 18px 46px #0f172a33}.notification-popover>header{display:flex;align-items:center;justify-content:space-between;padding:13px 14px;border-bottom:1px solid var(--line)}.notification-popover>header>div{display:grid;gap:2px}.notification-popover>header strong{font-size:13px}.notification-popover>header span{color:var(--muted-2);font-size:9.5px}.notification-item{padding:11px 14px;border-bottom:1px solid var(--line)}.notification-item>button{display:grid;gap:3px;width:100%;border:0;padding:0;background:none;color:var(--ink);text-align:left;cursor:pointer}.notification-item strong{font-size:11.5px}.notification-item span{color:var(--muted);font-size:9.5px}.notification-item>div{display:flex;gap:10px;margin-top:7px}.settings-year-list,.settings-status-list{display:grid;gap:7px;margin:14px 0}.settings-year-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.settings-year-row>div{display:grid;gap:3px}.settings-year-row span{color:var(--muted);font-size:10px}.settings-programmes{display:grid;gap:7px;margin:10px 0}.settings-programmes>div{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:8px 10px;border:1px solid var(--line);border-radius:7px;font-size:11.5px}.settings-programmes>div>span:last-child{color:var(--muted);font-size:10px}.settings-status-list>div{display:grid;grid-template-columns:auto minmax(120px,1fr) auto auto;align-items:center;gap:9px}.status-colour-input{width:24px;height:24px;border:0;padding:0;background:transparent;cursor:pointer}.status-actions{display:flex;gap:3px}.status-actions .icon-btn{width:25px;height:25px}@media(max-width:720px){.workboard-toolbar{align-items:stretch;flex-direction:column}.workboard-toolbar .search-wrap{margin-left:0}.view-tabs{overflow-x:auto}.work-drawer{width:100vw;max-width:none;border-radius:0}.work-fields-grid,.link-add{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.work-card,.work-column,.view-tabs button{transition-duration:1ms!important}.work-card:hover,.work-card.dragging{transform:none!important}}.bulk-row-warning{display:block;max-width:380px;margin-top:5px;color:var(--warn-text);font-size:10.5px;line-height:1.4}@media(max-width:760px){.official-grid,.inspection-areas,.reference-health-grid{grid-template-columns:1fr}.official-school-head,.official-alerts-head,.official-link-bar{flex-direction:column;align-items:flex-start}.official-alert{grid-template-columns:52px 1fr}.official-alert>:last-child{display:none}.school-search-filters{grid-template-columns:1fr}.school-manual-option{align-items:flex-start;flex-direction:column}}.training-evidence{margin-top:6px}.training-evidence .attachments-panel{margin:0;border-color:var(--row-line);background:#fbfaf7}.attachments-panel.compact .panel-head{padding:8px 12px 6px;font-size:11.5px}.attachments-panel.compact .attachment-meta-fields{padding:0 12px 7px}.attachments-panel.compact .attachment-dropzone{margin:0 12px 8px;padding:10px;font-size:11px}.attachments-panel.compact .attachment-list{padding:0 12px}.attachments-panel.compact .attachment-error{margin:0 12px 8px}.attachments-panel.compact .empty{padding:10px 12px;font-size:11px}.planning-weeks{position:absolute;inset-inline:0;bottom:0;height:14px}.planning-weeks span{position:absolute;inset-block:0;display:grid;place-items:center;border-left:1px solid color-mix(in srgb,var(--line) 55%,transparent);color:var(--muted);font-size:8px;font-weight:600}.weekend-band{position:absolute;inset-block:0;z-index:1;background:#94a3b81a;pointer-events:none}.closure-band{position:absolute;inset-block:0;z-index:2;background:repeating-linear-gradient(45deg,rgb(217 119 6 / 12%) 0 6px,transparent 6px 12px);border-inline:1px solid rgb(217 119 6 / 35%);pointer-events:none}.school-date-bar{position:absolute;top:22px;z-index:6;height:16px;overflow:hidden;border:1px solid #0F766E;border-radius:4px;padding:0 5px;background:color-mix(in srgb,#0F766E 14%,var(--surface));color:#0f766e;font-size:8px;font-weight:600;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.partnership-row-cell{cursor:default}.timeline-drag-hint{position:fixed;bottom:22px;left:50%;z-index:60;transform:translate(-50%);border-radius:8px;padding:7px 13px;background:var(--text);color:var(--surface);font-size:12px;font-variant-numeric:tabular-nums;box-shadow:0 8px 24px #00000038;pointer-events:none}.menu-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:59}.timeline-add-menu{position:fixed;z-index:60;display:flex;flex-direction:column;min-width:190px;border:1px solid var(--line);border-radius:10px;padding:6px;background:var(--surface);box-shadow:0 12px 32px #0000002e}.timeline-add-menu .eyebrow{padding:4px 8px 6px}.timeline-add-menu button{border:0;border-radius:6px;padding:7px 9px;background:none;color:var(--text);font-size:12.5px;text-align:left;cursor:pointer}.timeline-add-menu button:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}.filter-menu{display:grid;gap:8px;min-width:230px}.filter-menu label{display:grid;gap:3px;font-size:11px;color:var(--muted)}.btn.has-filters{border-color:var(--accent);color:var(--accent)}.upcoming-filter{display:flex;gap:6px;align-items:center;margin-left:auto;font-size:11px;color:var(--muted)}.impact-review{width:min(680px,94vw);max-height:88vh;overflow-y:auto}.impact-dates{display:flex;gap:14px;align-items:center;margin:12px 0 4px}.impact-dates>div{display:grid;gap:2px}.impact-dates span{color:var(--muted);font-size:10.5px;text-transform:uppercase;letter-spacing:.05em}.impact-arrow{color:var(--muted);font-size:18px}.impact-groups{display:grid;gap:14px;margin-top:14px}.impact-groups h3{display:flex;gap:7px;align-items:center;margin:0 0 7px;font-size:12.5px}.impact-groups h3 span{border-radius:99px;padding:1px 7px;background:color-mix(in srgb,var(--accent) 13%,transparent);font-size:10.5px;font-variant-numeric:tabular-nums}.impact-groups ul{display:grid;gap:4px;margin:0;padding:0;list-style:none}.impact-groups li{display:grid;gap:1px;border-radius:6px;padding:5px 8px;background:var(--page);font-size:11.5px}.impact-groups li span{color:var(--muted);font-size:10.5px}@media(prefers-reduced-motion:reduce){.timeline-drag-hint{transition:none}}:root{--motion-press: 90ms;--motion-ui: .16s;--motion-drop: .22s;--motion-view: .29s;--ease-out: cubic-bezier(.2, .7, .3, 1);--ease-spring: cubic-bezier(.2, 1.2, .3, 1)}.work-card{transition:transform var(--motion-ui) var(--ease-spring),box-shadow var(--motion-ui) var(--ease-out),opacity var(--motion-ui) var(--ease-out);will-change:transform}.work-card:active{transform:scale(.985);transition-duration:var(--motion-press)}.work-card.dragging,.work-card.lifted{transform:scale(1.02) rotate(1deg);box-shadow:0 14px 34px #00000042;opacity:.96}.work-card.lifted{outline:2px solid var(--accent);outline-offset:2px}.work-column.drop-target{background:color-mix(in srgb,var(--accent) 7%,transparent);outline:2px dashed color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:-3px;transition:background var(--motion-ui) var(--ease-out)}.work-card-list>*{transition:transform var(--motion-drop) var(--ease-spring)}.work-card-move{position:absolute;top:6px;right:6px;z-index:3;width:22px;height:22px;border:0;border-radius:5px;background:none;color:var(--muted);font-size:14px;line-height:1;opacity:0;cursor:pointer;transition:opacity var(--motion-ui) var(--ease-out)}.work-card-wrap:hover .work-card-move,.work-card-move:focus-visible{opacity:1}.work-card-move:hover{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--text)}.move-to-menu{position:fixed;transform:translate(-100%);z-index:60;display:flex;flex-direction:column;min-width:165px;border:1px solid var(--line);border-radius:9px;padding:5px;background:var(--surface);box-shadow:0 12px 30px #0003}.move-to-menu .eyebrow{padding:3px 7px 5px}.move-to-menu button{display:flex;gap:7px;align-items:center;border:0;border-radius:6px;padding:6px 8px;background:none;color:var(--text);font-size:12.5px;text-align:left;cursor:pointer}.move-to-menu button:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 10%,transparent)}.move-to-menu button:disabled{opacity:.45;cursor:default}.move-to-empty{padding:6px 8px 8px;color:var(--muted-2);font-size:11.5px}.markdown{font-size:12.5px;line-height:1.55}.markdown>:first-child{margin-top:0}.markdown>:last-child{margin-bottom:0}.markdown h3,.markdown h4,.markdown h5{margin:10px 0 5px;font-size:13px}.markdown p{margin:0 0 8px}.markdown ul,.markdown ol{margin:0 0 8px;padding-left:20px}.markdown li{margin-bottom:2px}.markdown code{border-radius:4px;padding:1px 4px;background:color-mix(in srgb,var(--muted) 16%,transparent);font-family:ui-monospace,monospace;font-size:11.5px}.markdown blockquote{margin:0 0 8px;border-left:3px solid var(--line);padding-left:10px;color:var(--muted)}.markdown a{color:var(--accent)}.mention{border-radius:4px;padding:0 3px;background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent);font-weight:600}.mention-note{color:var(--muted);font-size:10.5px}.work-description-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}@media(prefers-reduced-motion:reduce){.work-card,.work-card.dragging,.work-card.lifted,.work-card-list>*{transform:none!important;transition-duration:1ms!important}.work-card.dragging,.work-card.lifted{box-shadow:0 0 0 2px var(--accent)}.work-card-move{transition:none}}.work-card-wrap{position:relative}.work-column-more{width:100%;border:1px dashed var(--line);border-radius:7px;padding:7px;background:none;color:var(--muted);font-size:11.5px;cursor:pointer}.work-column-more:hover{border-color:var(--accent);color:var(--accent)}.placement-window{touch-action:none;-webkit-user-select:none;user-select:none}.placement-window.dragging{z-index:20;opacity:.92;box-shadow:0 10px 26px #0000004d;transition:none}.placement-window:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.window-handle{position:absolute;inset-block:0;width:9px;cursor:ew-resize;opacity:0;transition:opacity var(--motion-ui, .16s) ease}.window-handle:after{content:"";position:absolute;inset-block:4px;left:3px;width:2px;border-radius:1px;background:#ffffffd9}.window-handle.start{left:0}.window-handle.end{right:0}.placement-window:hover .window-handle,.placement-window:focus-visible .window-handle{opacity:1}@media(prefers-reduced-motion:reduce){.placement-window.dragging{box-shadow:0 0 0 2px var(--accent)}.window-handle{transition:none}}.drawer-head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line)}.drawer-head h2{margin:0;font-size:15px;font-weight:600}.drawer-head .eyebrow{display:block;margin-bottom:3px}.drawer-head .icon-btn{flex:0 0 auto}.work-create-form{flex:1;min-height:0;align-content:start}.work-title-input{width:100%;border:1px solid transparent;border-radius:7px;padding:5px 7px;margin-left:-7px;background:transparent;color:var(--ink);font:inherit;font-size:15px;font-weight:600}.work-title-input:hover:not(:disabled){border-color:var(--line)}.work-title-input:focus{border-color:var(--accent);background:var(--surface);outline:none}.workboard-page{display:flex;flex-direction:column;min-height:clamp(460px,calc(100dvh - 215px),1200px)}.workboard-scroll{flex:1;min-height:0;display:flex;padding-bottom:6px}.workboard{flex:1 0 auto;align-items:stretch}.work-column{display:flex;flex-direction:column;height:100%;min-height:0}.work-column>header{flex:0 0 auto}.work-card-list{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-right:2px;align-content:start}.work-column-empty{min-height:105px}@media(max-width:780px){.workboard-page{min-height:0}.work-column{width:min(290px,80vw);height:auto;max-height:72vh}}.work-column-add{flex:0 0 auto;display:flex;align-items:center;gap:6px;width:100%;margin-top:7px;border:0;border-radius:8px;padding:8px 9px;background:none;color:var(--muted-2);font:inherit;font-size:12.5px;text-align:left;cursor:pointer;transition:background var(--motion-ui, .16s) ease,color var(--motion-ui, .16s) ease}.work-column-add:hover{background:color-mix(in srgb,var(--accent) 9%,transparent);color:var(--ink)}.work-column-add svg{width:13px;height:13px}.card-composer{display:grid;gap:7px}.card-composer textarea{width:100%;resize:vertical;min-height:58px;border:1px solid var(--accent);border-radius:9px;padding:9px 10px;background:var(--surface);color:var(--ink);font:inherit;font-size:12.5px;line-height:1.45;box-shadow:0 2px 8px #00000014}.card-composer textarea:focus{outline:none;box-shadow:0 0 0 3px var(--accent-soft)}.card-composer-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.composer-hint{flex-basis:100%;color:var(--muted-2);font-size:10.5px}.work-card.has-colour{border-left:4px solid var(--card-colour);background:color-mix(in srgb,var(--card-colour) 6%,var(--surface))}.work-colour-picker{display:grid;gap:6px;margin-top:15px}.work-colour-picker>span{color:var(--muted);font-size:11px;font-weight:650}.work-colour-picker>div{display:flex;gap:6px;flex-wrap:wrap}.colour-swatch{width:24px;height:24px;border:1px solid rgb(0 0 0 / 12%);border-radius:7px;padding:0;cursor:pointer;transition:transform var(--motion-press, 90ms) ease,box-shadow var(--motion-ui, .16s) ease}.colour-swatch:hover:not(:disabled){transform:scale(1.1)}.colour-swatch.selected{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--accent)}.colour-swatch.none{background:linear-gradient(45deg,transparent 45%,var(--muted-2) 45% 55%,transparent 55%),var(--surface)}.colour-swatch:disabled{opacity:.5;cursor:default}.mention-wrap{position:relative}.mention-wrap textarea{width:100%}.mention-menu{position:fixed;z-index:80;transform:translateY(-100%) translateY(-6px);display:grid;gap:1px;margin:0;padding:5px;list-style:none;max-height:246px;overflow-y:auto;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:0 12px 32px #0003}.mention-menu button{display:flex;align-items:center;gap:9px;width:100%;border:0;border-radius:7px;padding:7px 8px;background:none;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.mention-menu button.active{background:color-mix(in srgb,var(--accent) 12%,transparent)}.mention-menu button>span:last-child{display:grid;gap:1px;min-width:0}.mention-menu strong{font-size:12.5px;font-weight:600}.mention-menu small{color:var(--muted-2);font-size:10.5px}.mention-empty{padding:9px 10px;color:var(--muted-2);font-size:11.5px}.mention-avatar{display:grid;place-items:center;flex:0 0 auto;width:26px;height:26px;border-radius:50%;background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent);font-size:11px;font-weight:700}@media(prefers-reduced-motion:reduce){.work-column-add,.colour-swatch{transition:none}.colour-swatch:hover:not(:disabled){transform:none}}.comment-box{justify-items:stretch}.comment-box>button{justify-self:end}.comment-box textarea{min-height:74px;resize:vertical}.mention-wrap textarea{display:block}.rich-text{display:grid;gap:0}.rich-text-label{margin-bottom:6px;color:var(--muted);font-size:11px;font-weight:650}.rich-toolbar{display:flex;gap:2px;align-items:center;border:1px solid var(--line);border-bottom:0;border-radius:7px 7px 0 0;padding:4px 5px;background:color-mix(in srgb,var(--surface) 92%,var(--page))}.rich-tool{display:grid;place-items:center;width:27px;height:26px;border:0;border-radius:5px;background:none;color:var(--ink);font-size:12.5px;line-height:1;cursor:pointer;transition:background var(--motion-ui, .16s) ease}.rich-tool:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 12%,transparent)}.rich-tool:disabled{opacity:.4;cursor:default}.rich-tool .mono{font-size:11px}.rich-text textarea{width:100%;resize:vertical;border:1px solid var(--line);border-radius:0 0 7px 7px;padding:9px 10px;background:var(--surface);color:var(--ink);font:inherit;font-size:12.5px;line-height:1.5}.rich-text textarea:focus{outline:none;border-color:var(--accent)}.sidebar-bell{position:relative;display:grid;place-items:center;flex:0 0 auto;width:28px;height:28px;border:0;border-radius:7px;background:none;color:var(--muted-2);cursor:pointer;transition:background var(--motion-ui, .16s) ease,color var(--motion-ui, .16s) ease}.sidebar-bell:hover{background:#ffffff1a;color:inherit}.sidebar-bell.has-unread{color:inherit}.bell-dot{position:absolute;top:4px;right:4px;width:8px;height:8px;border-radius:50%;background:#e5484d;box-shadow:0 0 0 2px var(--sidebar-bg, #1F2937)}.sidebar.collapsed .sidebar-bell{display:none}.reminder-popout{position:fixed;bottom:16px;left:16px;z-index:60;width:min(360px,calc(100vw - 32px));overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:0 20px 52px #0f172a42}.reminder-popout>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 14px;border-bottom:1px solid var(--line)}.reminder-popout>header>div{display:grid;gap:2px}.reminder-popout>header strong{font-size:13px}.reminder-popout>header span{color:var(--muted-2);font-size:10px}.reminder-list{max-height:min(460px,60vh);overflow-y:auto}.reminder-list .empty{padding:22px 14px;color:var(--muted-2);font-size:12px;text-align:center}@media(prefers-reduced-motion:reduce){.sidebar-bell,.rich-tool{transition:none}}.card-modal{display:flex;flex-direction:column;margin:auto;width:min(1180px,94vw);max-height:min(88dvh,900px);border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:0 24px 64px #18171338;overflow:hidden;animation:cardModalIn calc(var(--dur) * .2s) cubic-bezier(.2,.7,.3,1) both}@keyframes cardModalIn{0%{opacity:0;transform:translateY(8px) scale(.995)}to{opacity:1;transform:none}}.card-modal-bar{flex:0 0 auto;display:flex;align-items:center;gap:10px;padding:11px 14px;border-bottom:1px solid var(--line)}.card-status-select select{border:1px solid var(--line-2);border-radius:7px;padding:5px 26px 5px 10px;background:var(--soft);color:var(--aink);font:inherit;font-size:12px;font-weight:600;cursor:pointer}.card-modal-id{color:var(--muted-2);font-size:11px;font-variant-numeric:tabular-nums}.card-modal-panes{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.95fr)}.card-main{min-width:0;overflow-y:auto;padding:22px 26px 30px;scrollbar-width:thin}.card-title-row{display:flex;align-items:flex-start;gap:12px}.card-title-tick{flex:0 0 auto;width:17px;height:17px;margin-top:7px;border:1.8px solid var(--muted-2);border-radius:50%}.card-title-tick.is-done{border-color:var(--ok);background:var(--ok)}.card-title-input{flex:1;min-width:0;border:1px solid transparent;border-radius:7px;padding:4px 8px;background:transparent;color:var(--ink);font:inherit;font-size:21px;font-weight:650;letter-spacing:-.01em;line-height:1.25;resize:none;overflow:hidden}.card-title-input:hover:not(:disabled){border-color:var(--line)}.card-title-input:focus{border-color:var(--accent);background:var(--surface);outline:none}.card-title-sub{margin:2px 0 16px 41px;color:var(--muted);font-size:12px}.card-title-sub strong{color:var(--text-3);font-weight:600}.card-actions-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.card-action{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line-2);border-radius:8px;padding:7px 12px;background:var(--surface);color:var(--text-3);font:inherit;font-size:12.5px;font-weight:500;cursor:pointer;transition:background .14s ease,border-color .14s ease}.card-action:hover{background:var(--hover);border-color:#c9c4b3}.card-action.is-open{border-color:var(--accent);background:var(--soft);color:var(--aink)}.card-popover{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:16px;padding:13px;border:1px solid var(--line);border-radius:9px;background:#fafaf8}.card-popover>p{flex:1 0 100%;margin:0;font-size:11.5px}.card-popover .inline-add{flex:1 0 100%}.card-date-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:11px}.card-date-fields label{display:grid;gap:4px;color:var(--muted);font-size:10px;font-weight:650;letter-spacing:.04em;text-transform:uppercase}.card-date-fields input{border:1px solid var(--line-2);border-radius:7px;padding:6px 9px;font:inherit;font-size:12px}.card-colour-row{display:flex;align-items:center;gap:11px;flex:1 0 100%;padding-top:4px;border-top:1px solid var(--line)}.card-colour-row>span{color:var(--muted);font-size:11px;font-weight:600}.card-colour-row [role=radiogroup]{display:flex;gap:6px}.card-chips{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}.label-chip{display:inline-flex;align-items:center;border:1px solid var(--line-2);border-left:3px solid var(--label-colour, var(--accent));border-radius:7px;padding:4px 10px;background:var(--surface);color:var(--text-3);font:inherit;font-size:11.5px;cursor:pointer}.label-chip.selected{background:color-mix(in srgb,var(--label-colour, var(--accent)) 12%,white);color:var(--ink)}.record-chip,.person-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line-2);border-radius:999px;padding:4px 10px 4px 8px;background:var(--surface);color:var(--text-3);font-size:11.5px}.record-chip em{color:var(--muted-2);font-size:9.5px;font-style:normal;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.record-chip button,.person-chip button{border:0;background:transparent;color:var(--muted-2);font:inherit;line-height:1;cursor:pointer}.record-chip button:hover{color:var(--err)}.person-chip-avatar{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:var(--soft2);color:var(--aink);font-size:8.5px;font-weight:700}.card-section{margin-top:22px}.card-section h3{display:flex;align-items:center;gap:8px;margin:0 0 9px;color:var(--ink);font-size:13.5px;font-weight:650}.card-section h3 svg{color:var(--muted)}.card-count{color:var(--muted-2);font-weight:500}.card-section-body{margin-left:23px}.card-preview-toggle{display:block;margin-bottom:6px}.card-details .work-fields-grid{margin-left:23px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.card-rail{display:flex;flex-direction:column;min-height:0;border-left:1px solid var(--line);background:#fafaf8}.card-rail-head{flex:0 0 auto;padding:18px 20px 12px}.card-rail-head h3{display:flex;align-items:center;gap:8px;margin:0;font-size:13.5px;font-weight:650}.card-rail-head h3 svg{color:var(--muted)}.card-comment-form{flex:0 0 auto;padding:0 20px 12px}.card-comment-form .mention-wrap textarea{width:100%;border:1px solid var(--line-2);border-radius:9px;padding:10px 12px;background:var(--surface);font:inherit;font-size:12.5px;line-height:1.55;resize:vertical}.card-comment-form .mention-wrap textarea:focus{border-color:var(--accent);outline:none}.card-comment-actions{display:flex;align-items:center;gap:8px;margin-top:8px}.card-comment-actions .composer-hint{margin-left:auto}.card-comment-warning{margin:7px 0 0;color:var(--warn-text);font-size:10.5px;line-height:1.45}.activity-stream{flex:1;min-height:0;overflow-y:auto;margin:0;padding:4px 20px 22px;list-style:none;scrollbar-width:thin}.activity-entry{display:flex;gap:10px;padding:11px 0}.activity-entry+.activity-entry{border-top:1px solid var(--row-line)}.activity-avatar{flex:0 0 auto;display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:var(--soft2);color:var(--aink);font-size:10px;font-weight:700}.activity-body{min-width:0;flex:1}.activity-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin:0 0 4px}.activity-meta strong{font-size:12.5px;font-weight:600}.activity-meta time{color:var(--muted-2);font-size:10.5px}.activity-bubble{border:1px solid var(--line);border-radius:9px;padding:9px 11px;background:var(--surface);font-size:12.5px;line-height:1.55}.activity-bubble>*:first-child{margin-top:0}.activity-bubble>*:last-child{margin-bottom:0}.activity-system{margin:0;color:var(--muted);font-size:11.5px;text-transform:capitalize}.activity-mentions{margin:5px 0 0;color:var(--muted-2);font-size:10.5px}.activity-empty{padding:18px 0;color:var(--muted-2);font-size:12px}.card-modal-footer{flex:0 0 auto;display:flex;align-items:center;gap:9px;padding:12px 16px;border-top:1px solid var(--line);background:var(--surface)}@media(max-width:900px){.card-modal{width:100vw;max-width:none;max-height:100dvh;border-radius:0;margin:0}.card-modal-panes{grid-template-columns:minmax(0,1fr);overflow-y:auto}.card-main,.activity-stream{overflow:visible}.card-rail{border-left:0;border-top:1px solid var(--line)}}.notification-group h4{margin:12px 14px 4px;color:var(--muted-2);font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.mention-item.is-unread{background:var(--soft)}.mention-item strong{display:flex;align-items:center;gap:6px}.unread-dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}.mention-card-title{color:var(--text-3);font-weight:500}.mention-body{color:var(--muted)}.portal{--pa: var(--portal-accent, #68246d);min-height:100%;display:flex;flex-direction:column;background:var(--bg);color:var(--ink)}.portal-visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.portal-skip{position:absolute;left:12px;top:-48px;z-index:20;background:var(--pa);color:#fff;padding:10px 16px;border-radius:var(--radius);transition:top calc(.15s * var(--dur)) ease}.portal-skip:focus{top:12px;color:#fff}.portal-boot,.portal-standalone{padding:clamp(48px,10vh,120px) var(--page-pad-x);max-width:var(--prose);margin:0 auto}.portal-standalone h1{font-size:1.6rem;margin:0 0 12px}.portal-standalone p{color:var(--muted)}.portal-devbar{background:var(--warn-bg);color:var(--warn-text);border-bottom:1px solid var(--warn-border);text-align:center;font-size:.8rem;padding:6px 16px}.portal-header{border-bottom:1px solid var(--line);background:var(--surface);position:sticky;top:0;z-index:10}.portal-header-inner{max-width:1160px;margin:0 auto;padding:14px var(--page-pad-x);display:flex;align-items:center;gap:20px;justify-content:space-between}.portal-brand{display:inline-flex;align-items:center;gap:12px;color:var(--ink);font-weight:600}.portal-brand:hover{color:var(--ink)}.portal-brand-dot{width:12px;height:26px;border-radius:3px;background:var(--pa);flex:none}.portal-brand-name{display:block;font-size:1.02rem;line-height:1.2}.portal-brand-year{display:block;font-size:.78rem;color:var(--muted)}.portal-search{display:flex;gap:8px;align-items:center}.portal-search input{border:1px solid var(--line-2);border-radius:var(--radius);padding:8px 12px;min-width:230px;background:var(--bg);color:var(--ink)}.portal-search input:focus-visible{outline:2px solid var(--pa);outline-offset:1px}.portal-search button{border:1px solid var(--pa);background:var(--pa);color:#fff;border-radius:var(--radius);padding:8px 16px;cursor:pointer}.portal-body{flex:1;width:100%;max-width:1160px;margin:0 auto;padding:0 var(--page-pad-x);display:grid;grid-template-columns:232px 1fr;gap:40px;align-items:start}.portal-nav{position:sticky;top:74px;padding:28px 0;align-self:start}.portal-nav ul{list-style:none;margin:0;padding:0}.portal-nav li{margin:1px 0}.portal-nav a{display:block;padding:8px 12px;border-radius:var(--radius-sm);color:var(--text-2);border-left:3px solid transparent}.portal-nav a:hover{background:var(--hover);color:var(--ink)}.portal-nav a.current{color:var(--ink);font-weight:600;border-left-color:var(--pa);background:color-mix(in srgb,var(--pa) 8%,transparent)}.portal-main{padding:28px 0 64px;min-width:0}.portal-main:focus{outline:none}.portal-article{max-width:var(--prose)}.portal-article h1{font-size:1.7rem;line-height:1.2;margin:0 0 14px}.portal-article h2{font-size:1.2rem;margin:32px 0 12px}.portal-lede{font-size:1.05rem;color:var(--text-2);margin:0 0 24px}.portal-empty{color:var(--muted);border:1px dashed var(--line-2);border-radius:var(--radius);padding:18px 20px}.portal-prose{color:var(--text-3)}.portal-prose h3{font-size:1.1rem;margin:26px 0 10px}.portal-prose h4{font-size:1rem;margin:22px 0 8px}.portal-prose p{margin:0 0 14px}.portal-prose ul,.portal-prose ol{margin:0 0 14px;padding-left:22px}.portal-prose li{margin:4px 0}.portal-prose a{color:var(--pa);text-decoration:underline}.portal-prose blockquote{margin:0 0 14px;padding:10px 16px;border-left:3px solid var(--line-2);background:var(--soft);color:var(--text-2);border-radius:0 var(--radius) var(--radius) 0}.portal-prose code{background:var(--soft2);padding:1px 5px;border-radius:4px;font-size:.9em}.portal-cards{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:12px}.portal-card{display:block;padding:16px 18px;border:1px solid var(--line-2);border-radius:var(--radius);color:var(--ink);background:var(--surface)}.portal-card:hover{border-color:var(--pa);color:var(--ink)}.portal-card-kind{display:inline-block;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:4px}.portal-card-title{display:block;font-weight:600}.portal-card-summary{display:block;color:var(--muted);margin-top:4px;font-size:.92rem}.portal-filters{display:flex;flex-wrap:wrap;gap:16px;margin:0 0 22px}.portal-filters label{display:flex;flex-direction:column;gap:4px;font-size:.8rem;color:var(--muted)}.portal-filters select{border:1px solid var(--line-2);border-radius:var(--radius);padding:7px 10px;background:var(--bg);color:var(--ink);min-width:170px}.portal-filters select:focus-visible{outline:2px solid var(--pa);outline-offset:1px}.portal-docs{list-style:none;margin:0;padding:0}.portal-doc{display:flex;align-items:flex-start;gap:20px;padding:18px 0;border-top:1px solid var(--row-line)}.portal-doc:first-child{border-top:none}.portal-doc-main{flex:1;min-width:0}.portal-doc-main h2{font-size:1.05rem;margin:0 0 4px}.portal-doc-main p{margin:0 0 6px;color:var(--text-2)}.portal-doc-meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.82rem;color:var(--muted)}.portal-doc-meta span{position:relative}.portal-doc-meta span+span:before{content:"·";position:absolute;left:-9px;color:var(--muted-2)}.portal-doc-review,.portal-doc-a11y{font-size:.82rem;color:var(--muted)}.portal-doc-action{flex:none}.portal-download{display:inline-block;border:1px solid var(--pa);color:var(--pa);border-radius:var(--radius);padding:8px 16px;font-weight:500}.portal-download:hover{background:var(--pa);color:#fff}.portal-download-disabled{border-color:var(--line-2);color:var(--muted-2);cursor:not-allowed}.portal-download-disabled:hover{background:transparent;color:var(--muted-2)}.portal-review-note{margin-top:32px;padding-top:14px;border-top:1px solid var(--line);font-size:.82rem;color:var(--muted)}.portal-footer{border-top:1px solid var(--line);background:var(--sidebar-bg)}.portal-footer-inner{max-width:1160px;margin:0 auto;padding:24px var(--page-pad-x);color:var(--muted);font-size:.86rem}.portal-footer-inner p{margin:0 0 6px}.portal-footer-meta{color:var(--muted-2)}.portal a:focus-visible,.portal button:focus-visible,.portal-download:focus-visible{outline:2px solid var(--pa);outline-offset:2px;border-radius:4px}@media(max-width:820px){.portal-body{grid-template-columns:1fr;gap:0}.portal-nav{position:static;padding:14px 0;border-bottom:1px solid var(--line)}.portal-nav ul{display:flex;flex-wrap:wrap;gap:4px}.portal-nav a,.portal-nav a.current{border-left:none}.portal-header-inner{flex-wrap:wrap}.portal-search input{min-width:0;flex:1}.portal-doc{flex-direction:column;gap:10px}}@media(prefers-reduced-motion:reduce){.portal-skip{transition:none}}.portal-admin-url{font-size:.86rem;color:var(--muted);margin:4px 0 14px}.portal-admin-live{color:var(--ok);font-weight:600}.portal-admin-off{color:var(--warn)}.portal-admin-loading,.portal-admin-empty{color:var(--muted);padding:16px 0}.portal-admin-toolbar{margin-bottom:12px}.portal-admin-table{width:100%;border-collapse:collapse;font-size:.9rem}.portal-admin-table th,.portal-admin-table td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--row-line);vertical-align:top}.portal-admin-table th{color:var(--muted);font-weight:500}.portal-admin-table code{background:var(--soft2);padding:1px 5px;border-radius:4px}.portal-admin-actions{white-space:nowrap;text-align:right}.portal-admin-actions button{border:1px solid var(--line-2);background:var(--surface);color:var(--text-2);border-radius:var(--radius-sm);padding:4px 9px;margin-left:6px;cursor:pointer;font-size:.82rem}.portal-admin-actions button:hover:not(:disabled){border-color:var(--accent);color:var(--ink)}.portal-admin-actions button.danger:hover:not(:disabled){border-color:var(--err);color:var(--err)}.portal-admin-actions button:disabled{opacity:.5;cursor:default}.portal-admin-status{display:inline-block;font-size:.72rem;text-transform:capitalize;padding:1px 8px;border-radius:999px;border:1px solid var(--line-2)}.portal-admin-status-published{color:var(--ok);background:var(--ok-bg);border-color:transparent}.portal-admin-status-draft{color:var(--warn);background:var(--warn-bg);border-color:transparent}.portal-admin-status-archived{color:var(--muted);background:var(--hover);border-color:transparent}.portal-admin-editor{display:flex;flex-direction:column;gap:14px;max-width:860px}.portal-admin-editor>label{display:flex;flex-direction:column;gap:4px;font-size:.82rem;color:var(--muted)}.portal-admin-editor input,.portal-admin-editor select,.portal-admin-editor textarea{border:1px solid var(--line-2);border-radius:var(--radius);padding:8px 10px;background:var(--bg);color:var(--ink);font-size:.92rem}.portal-admin-editor input:focus-visible,.portal-admin-editor select:focus-visible,.portal-admin-editor textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.portal-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.portal-admin-grid label{display:flex;flex-direction:column;gap:4px;font-size:.82rem;color:var(--muted)}.portal-admin-preview{border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;background:var(--sidebar-bg)}.portal-admin-preview-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:8px}.portal-admin-editor-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.portal-admin-hint{font-size:.8rem;color:var(--muted)}.portal-admin-toggle{flex-direction:row!important;align-items:center;gap:10px!important;color:var(--ink)!important;font-size:.95rem!important}.portal-admin-file{display:flex;flex-direction:column;gap:6px}.portal-admin-file-label{font-size:.82rem;color:var(--muted);display:flex;flex-direction:column;gap:4px}.portal-admin-toolbar{display:flex;align-items:center;gap:12px}.portal-admin-working{font-size:.85rem;color:var(--muted)}.portal-admin .banner-ok,.portal-admin .banner-err{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.portal-admin-dismiss{border:none;background:transparent;cursor:pointer;font-size:1.1rem;line-height:1;color:inherit;opacity:.7;padding:0 2px}.portal-admin-dismiss:hover{opacity:1}.portal-embed{margin:0 0 18px}.portal-embed-frame{width:100%;height:560px;border:1px solid var(--line-2);border-radius:var(--radius);background:var(--surface)}.portal-embed figcaption{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;font-size:.88rem}.portal-embed-title{font-weight:500}.portal-embed-file{border:1px solid var(--line-2);border-radius:var(--radius);padding:14px 16px;background:var(--surface)}.portal-embed-file figcaption{margin:0}.portal-embed-missing{border:1px dashed var(--line-2);border-radius:var(--radius);padding:14px 16px;color:var(--muted);margin:0 0 18px}.portal-canvas{display:flex;flex-direction:column;gap:8px}.portal-canvas-empty{border:1px dashed var(--line-2);border-radius:var(--radius);padding:22px;text-align:center;color:var(--muted)}.portal-canvas-empty p{margin:0 0 12px}.portal-block{border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;background:var(--surface)}.portal-block-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.portal-block-kind{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.portal-block-move button{border:1px solid var(--line-2);background:var(--bg);color:var(--text-2);border-radius:var(--radius-sm);width:26px;height:26px;margin-left:4px;cursor:pointer}.portal-block-move button:hover:not(:disabled){border-color:var(--accent);color:var(--ink)}.portal-block-move button.danger:hover:not(:disabled){border-color:var(--err);color:var(--err)}.portal-block-move button:disabled{opacity:.4;cursor:default}.portal-block-add{display:flex;gap:8px;margin-top:8px}.portal-block-add button{border:1px dashed var(--line-2);background:transparent;color:var(--muted);border-radius:var(--radius-sm);padding:4px 12px;cursor:pointer;font-size:.82rem}.portal-block-add button:hover{border-color:var(--accent);color:var(--ink)}.portal-embed-editor{display:flex;flex-direction:column;gap:8px}.portal-embed-editor>label{display:flex;flex-direction:column;gap:4px;font-size:.82rem;color:var(--muted)}.portal-embed-editor .portal-embed-frame{height:420px}
