:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#14213b;background:#f6f8fb;font-synthesis:none;text-rendering:optimizeLegibility;--navy: #101d37;--navy-2: #182a4c;--blue: #1666db;--blue-hover: #0f57bf;--muted: #68758a;--border: #e3e8f0;--critical: #c64c5c;--critical-soft: #fbecee;--attention: #d89532;--attention-soft: #fff5e7;--normal: #6f7e93;--normal-soft: #edf1f6}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;min-width:320px;min-height:100dvh;background:#f6f8fb;overflow-x:hidden;overscroll-behavior-y:none}button,input,textarea,select{font:inherit}button{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.app-shell{min-height:100dvh;display:grid;grid-template-columns:224px 1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:224px;padding:24px 16px;background:var(--navy);color:#fff;z-index:20}.brand{display:flex;align-items:center;gap:10px;padding:4px 8px 30px;font-weight:800;letter-spacing:-.02em}.brand__mark{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:var(--blue);font-size:12px}.sidebar__nav,.sidebar__secondary{display:grid;gap:6px}.sidebar button{border:0;color:#c8d2e3;background:transparent;border-radius:10px;padding:11px 12px;display:flex;gap:11px;align-items:center;text-align:left}.sidebar button:hover,.sidebar button.active{color:#fff;background:var(--navy-2)}.sidebar__secondary{margin-top:28px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1)}.sidebar__secondary>span{padding:0 12px 6px;color:#7f91ad;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.workspace{grid-column:2;min-width:0}.topbar{height:76px;padding:0 36px;display:flex;align-items:center;justify-content:flex-end;gap:22px;border-bottom:1px solid var(--border);background:#ffffffeb;position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.school-switcher{border:1px solid var(--border);background:#fff;padding:9px 12px;border-radius:10px;color:#26344c}.topbar__user{display:flex;align-items:center;gap:10px}.topbar__user>span:last-child{display:grid;gap:2px;font-size:13px}.topbar__user small{color:var(--muted)}.avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#e9eef7;font-size:12px;font-weight:800}.icon-button{width:36px;height:36px;border:0;background:transparent;border-radius:9px;color:#526078}.icon-button:hover{background:#edf1f6}.content{max-width:1180px;margin:0 auto;padding:54px 42px 90px}.page-heading{margin-bottom:28px}.page-heading h1{margin:0;font-size:clamp(2rem,3vw,2.7rem);letter-spacing:-.04em}.page-heading p{margin:8px 0 0;color:var(--muted)}.action-list{display:grid;gap:14px}.action-card{position:relative;display:grid;grid-template-columns:52px minmax(0,1fr) auto 36px;gap:18px;align-items:center;min-height:140px;padding:22px 18px 22px 22px;background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:0 6px 24px #1e30500a;overflow:visible}.action-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;border-radius:16px 0 0 16px;background:var(--normal)}.action-card--critical:before{background:var(--critical)}.action-card--attention:before{background:var(--attention)}.action-card__icon{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;font-weight:900;background:var(--normal-soft);color:var(--normal)}.action-card--critical .action-card__icon{background:var(--critical-soft);color:var(--critical)}.action-card--attention .action-card__icon{background:var(--attention-soft);color:var(--attention)}.action-card__body h2{margin:0 0 7px;font-size:17px;letter-spacing:-.015em}.action-card__body p{margin:0;color:var(--muted);font-size:14px;line-height:1.45}.action-card__body .action-card__context{margin-top:5px;color:#44526a}.action-card__actions{min-width:210px;display:grid;justify-items:stretch;gap:7px}.button{border:0;border-radius:10px;min-height:42px;padding:0 16px;font-weight:750}.button--primary{background:var(--blue);color:#fff}.button--primary:hover{background:var(--blue-hover)}.button:disabled{opacity:.55;cursor:wait}.link-button{border:0;background:transparent;color:#506787;font-size:12px;padding:2px}.link-button:hover{color:var(--blue)}.action-card__menu-wrap{position:relative;align-self:start}.action-menu{position:absolute;right:0;top:38px;width:180px;padding:6px;display:grid;gap:2px;background:#fff;border:1px solid var(--border);border-radius:11px;box-shadow:0 15px 40px #1e305021;z-index:12}.action-menu button{border:0;background:transparent;text-align:left;padding:9px 10px;border-radius:7px;color:#38465d}.action-menu button:hover{background:#f1f4f8}.notice{margin-bottom:18px;padding:13px 15px;border-radius:10px}.notice--error{background:#fff0f1;color:#9d3342;border:1px solid #f1cbd0}.empty-state{min-height:300px;display:grid;place-items:center;align-content:center;text-align:center;padding:40px;border:1px dashed #d9e0ea;border-radius:18px;background:#fff}.empty-state h2{margin:12px 0 4px}.empty-state p{margin:0;color:var(--muted)}.empty-state__check{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:#eaf7f0;color:#2c8a5d;font-size:24px}.drawer-layer{position:fixed;inset:0;background:#101d3747;z-index:50;display:flex;justify-content:flex-end}.drawer{width:min(430px,100%);height:100%;background:#fff;box-shadow:-20px 0 50px #14213b24;padding:24px;overflow:auto}.drawer__header{display:flex;justify-content:space-between;align-items:center}.drawer__eyebrow{color:var(--blue);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.drawer__content h2{margin:32px 0 10px;font-size:25px;letter-spacing:-.03em}.drawer__content>p{color:var(--muted);line-height:1.55}.drawer__context{color:#38465d!important}.drawer dl{margin-top:30px;display:grid;gap:0}.drawer dl>div{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid var(--border)}.drawer dt{color:var(--muted)}.drawer dd{margin:0;font-weight:650;text-align:right}.drawer__loading{margin-top:40px;color:var(--muted)}.mobile-tabs{display:none}@media(max-width:780px){.app-shell{display:block;padding-bottom:calc(64px + env(safe-area-inset-bottom))}.sidebar{display:none}.workspace{min-width:0}.topbar{height:calc(62px + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left));justify-content:space-between}.school-switcher{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar__user>span:last-child{display:none}.content{padding:30px max(14px,env(safe-area-inset-right)) 32px max(14px,env(safe-area-inset-left))}.page-heading{margin-bottom:20px}.page-heading h1{font-size:30px}.action-card{grid-template-columns:44px minmax(0,1fr) 44px;gap:12px;padding:18px 12px 18px 16px;align-items:start}.action-card__icon{width:42px;height:42px}.action-card__body h2{font-size:16px}.action-card__body p{font-size:13px}.action-card__actions{grid-column:1 / -1;width:100%;min-width:0;padding-top:5px}.action-card__menu-wrap{grid-column:3;grid-row:1}.action-card__menu-wrap .icon-button{width:44px;height:44px}.button{width:100%;min-height:48px}.link-button{min-height:44px;display:grid;place-items:center}.empty-state{min-height:240px;padding:28px 20px}.mobile-tabs{position:fixed;inset:auto 0 0;min-height:calc(64px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(3,1fr);background:#fffffff7;border-top:1px solid var(--border);z-index:30;padding:0 max(6px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(6px,env(safe-area-inset-left));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mobile-tabs button{min-height:60px;border:0;background:transparent;display:grid;place-items:center;align-content:center;gap:3px;color:#758197;font-size:10px}.mobile-tabs button span{font-size:18px;line-height:1}.mobile-tabs button.active{color:var(--blue);font-weight:750}.drawer-layer{align-items:flex-end}.drawer{width:100%;height:min(88dvh,760px);padding:24px max(24px,env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));border-radius:20px 20px 0 0;box-shadow:0 -20px 50px #14213b2e}}
