: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;--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{max-width:1160px;margin:0 auto;padding:36px 44px 72px;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;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)}.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)}.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}.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}
