:root{--sage-50:#f1f5ee;--sage-100:#dce6d2;--sage-200:#bdd1a8;--sage-300:#97b67e;--sage-400:#7a9c63;--sage-500:#5d7d4b;--sage-600:#46603a;--clay-100:#f5e3d4;--clay-200:#ecc8a8;--clay-300:#d9a87c;--clay-400:#b88052;--peach-100:#fadfd0;--peach-200:#f4c2a8;--butter-100:#f7ecc4;--butter-200:#edd684;--sky-100:#d8e6ec;--sky-200:#aed0dc;--rose-100:#f3dbd8;--rose-200:#e6b3ad;--r-xs:6px;--r-sm:10px;--r-md:14px;--r-lg:20px;--r-xl:28px;--r-full:99px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-7:32px;--s-8:40px;--s-9:48px;--s-10:64px;--f-display:"Fraunces",Georgia,serif;--f-sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--fs-xs:12px;--fs-sm:13px;--fs-base:14.5px;--fs-lg:17px;--fs-xl:22px;--fs-2xl:30px;--t-fast:160ms;--t-med:260ms;--t-slow:440ms;--ease:cubic-bezier(.22,.61,.36,1);--focus-ring:0 0 0 3px rgba(122,156,99,.32)}:root,:root[data-theme="light"]{color-scheme:light;--bg:#fbf7f1;--bg-soft:#f5efe6;--surface:#ffffff;--surface-2:#faf5ec;--surface-3:#f0e9dc;--card:var(--surface);--chip:var(--surface-2);--line:#ece4d3;--line-soft:#f3ede1;--ink-0:#2c2620;--ink-1:#4a423a;--ink-2:#6f6759;--ink-3:#968d7e;--ink-4:#b8b1a2;--brand:var(--sage-500);--brand-strong:var(--sage-600);--brand-soft:#eef3e8;--success:#5d7d4b;--warn:#b88052;--danger:#b9544d;--danger-soft:#fbeae8;--warn-soft:#fbf0e2;--sky-soft:#e8f1f5;--shadow-sm:0 1px 2px rgba(60,48,30,.04),0 2px 8px rgba(60,48,30,.045);--shadow-md:0 4px 14px rgba(60,48,30,.07),0 2px 4px rgba(60,48,30,.04);--shadow-lg:0 14px 40px rgba(60,48,30,.10),0 4px 12px rgba(60,48,30,.05);--glass:rgba(251,247,241,.78)}:root[data-theme="dark"]{color-scheme:dark;--bg:#1c1916;--bg-soft:#231f1a;--surface:#27221d;--surface-2:#2f2922;--surface-3:#39322a;--card:var(--surface);--chip:var(--surface-2);--line:#39332b;--line-soft:#2f2922;--ink-0:#f5efe2;--ink-1:#dcd4c3;--ink-2:#a89f8c;--ink-3:#827969;--ink-4:#5e574e;--brand:var(--sage-300);--brand-strong:var(--sage-200);--brand-soft:rgba(151,182,126,.12);--success:var(--sage-300);--warn:var(--clay-300);--danger:#e6b3ad;--danger-soft:rgba(185,84,77,.16);--warn-soft:rgba(184,128,82,.16);--sky-soft:rgba(174,208,220,.12);--shadow-sm:0 1px 2px rgba(0,0,0,.24);--shadow-md:0 4px 14px rgba(0,0,0,.30);--shadow-lg:0 16px 44px rgba(0,0,0,.45);--glass:rgba(28,25,22,.74)}*{box-sizing:border-box;margin:0;padding:0}[hidden]{display:none!important}html,body{height:100%}body{font-family:var(--f-sans);background:var(--bg);color:var(--ink-1);font-size:var(--fs-base);line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body.reduce-motion *{animation-duration:.001ms!important;transition-duration:.001ms!important}::selection{background:var(--sage-200);color:var(--ink-0)}h1,h2,h3,h4{font-family:var(--f-display);font-weight:500;color:var(--ink-0);line-height:1.18;letter-spacing:-.01em}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}svg{display:block}:focus-visible{outline:0;box-shadow:var(--focus-ring);border-radius:var(--r-sm)}*::-webkit-scrollbar{width:9px;height:9px}*::-webkit-scrollbar-thumb{background:var(--line);border-radius:99px;border:2px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:var(--ink-4)}.app{display:grid;grid-template-columns:var(--sb-w,260px) 1fr;height:100vh;transition:grid-template-columns var(--t-med) var(--ease)}.app.collapsed{--sb-w:74px}.sidebar{background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;height:100vh;position:relative;z-index:40;overflow:hidden}.sb-head{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-5) var(--s-5) var(--s-4)}.logo{width:34px;height:34px;border-radius:10px;flex:0 0 auto;display:grid;place-items:center;background:linear-gradient(150deg,var(--sage-400),var(--sage-600));color:#fff;box-shadow:0 2px 8px rgba(93,125,75,.35);position:relative}.logo svg{width:19px;height:19px}.brand-name{font-family:var(--f-display);font-size:19px;font-weight:600;color:var(--ink-0);letter-spacing:-.02em;white-space:nowrap}.brand-sub{font-size:11px;color:var(--ink-3);letter-spacing:.04em;white-space:nowrap;margin-top:-3px}.collapsed .brand-name,.collapsed .brand-sub,.collapsed .nav-label,.collapsed .nav-group-t{display:none}.collapsed .sb-foot .who{justify-content:center;padding:8px 4px;margin:-8px 0}.collapsed .sb-foot .who>div,.collapsed .sb-foot .who .who-caret{display:none}.collapsed .sb-head{justify-content:center;padding-left:0;padding-right:0}.nav{flex:1;overflow-y:auto;padding:var(--s-2) var(--s-3) var(--s-4);display:flex;flex-direction:column;gap:2px}.nav-group-t{font-size:10.5px;letter-spacing:.10em;text-transform:uppercase;color:var(--ink-4);font-weight:600;padding:var(--s-4) var(--s-3) var(--s-2)}.nav-item{display:flex;align-items:center;gap:var(--s-3);padding:9px var(--s-3);border-radius:var(--r-sm);color:var(--ink-2);font-weight:450;font-size:14px;position:relative;transition:background var(--t-fast),color var(--t-fast);white-space:nowrap}.nav-item:hover{background:var(--surface-2);color:var(--ink-0)}.nav-item.active{background:var(--brand-soft);color:var(--brand-strong);font-weight:500}.nav-item.active::before{content:"";position:absolute;left:-12px;top:50%;transform:translateY(-50%);width:4px;height:18px;border-radius:99px;background:var(--brand)}.nav-item svg{width:18px;height:18px;flex:0 0 auto;stroke-width:1.9}.collapsed .nav-item{justify-content:center;padding:10px}.nav-badge{margin-left:auto;font-size:11px;font-weight:600;background:var(--danger-soft);color:var(--danger);padding:1px 7px;border-radius:99px}.nav-badge.soft{background:var(--brand-soft);color:var(--brand-strong)}.collapsed .nav-badge{position:absolute;top:4px;right:6px;margin:0;padding:0;width:8px;height:8px;font-size:0;border-radius:99px}.sb-foot{padding:var(--s-3) var(--s-3) var(--s-4);border-top:1px solid var(--line-soft)}.who{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-2);border-radius:var(--r-md)}.avatar{width:34px;height:34px;border-radius:50%;flex:0 0 auto;display:grid;place-items:center;font-weight:600;font-size:13px;color:#fff;background:linear-gradient(150deg,var(--clay-300),var(--clay-400))}.who .nm{font-size:13.5px;font-weight:500;color:var(--ink-0);line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.who .rl{font-size:11.5px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.main{display:flex;flex-direction:column;height:100vh;overflow:hidden}.topbar{height:64px;flex:0 0 auto;display:flex;align-items:center;gap:var(--s-4);padding:0 var(--s-6);border-bottom:1px solid var(--line);background:var(--glass);backdrop-filter:blur(14px);position:sticky;top:0;z-index:30}.icon-btn{width:38px;height:38px;border-radius:var(--r-sm);display:grid;place-items:center;color:var(--ink-2);transition:background var(--t-fast),color var(--t-fast)}.icon-btn:hover{background:var(--surface-2);color:var(--ink-0)}.icon-btn svg{width:19px;height:19px;stroke-width:1.9}.search{flex:1;max-width:440px;display:flex;align-items:center;gap:var(--s-3);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-full);padding:8px var(--s-4);color:var(--ink-3);transition:border var(--t-fast),box-shadow var(--t-fast)}.search:focus-within{border-color:var(--sage-300);box-shadow:var(--focus-ring)}.search svg{width:16px;height:16px;flex:0 0 auto}.search input{flex:1;border:0;background:none;outline:none;color:var(--ink-0);font-size:14px}.search kbd{font:inherit;font-size:11px;color:var(--ink-3);background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:1px 6px}.tb-right{margin-left:auto;display:flex;align-items:center;gap:var(--s-2)}.dot-bell{position:relative}.dot-bell::after{content:"";position:absolute;top:8px;right:9px;width:7px;height:7px;border-radius:99px;background:var(--danger);border:2px solid var(--glass)}.view{flex:1;overflow-y:auto;padding:var(--s-7) var(--s-7) var(--s-9);scroll-behavior:smooth}@media(max-width:900px){.view{padding:var(--s-5) var(--s-5) var(--s-9)}}.view-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s-4);margin-bottom:var(--s-6);flex-wrap:wrap}.view-head .eyebrow{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--brand);font-weight:600;margin-bottom:6px}.view-head h1{font-size:var(--fs-2xl);font-weight:500}.view-head p.sub{color:var(--ink-2);margin-top:6px;font-size:14.5px;max-width:60ch}.btn{display:inline-flex;align-items:center;gap:var(--s-2);padding:9px 16px;border-radius:var(--r-sm);font-size:13.5px;font-weight:500;transition:all var(--t-fast);white-space:nowrap}.btn svg{width:16px;height:16px;stroke-width:2}.btn.primary{background:var(--brand);color:#fff;box-shadow:0 2px 8px rgba(93,125,75,.28)}.btn.primary:hover{background:var(--brand-strong);transform:translateY(-1px);box-shadow:0 6px 16px rgba(93,125,75,.32)}.btn.ghost{background:var(--surface);border:1px solid var(--line);color:var(--ink-1)}.btn.ghost:hover{background:var(--surface-2);border-color:var(--ink-4)}.btn.soft{background:var(--brand-soft);color:var(--brand-strong)}.btn.soft:hover{background:var(--sage-100)}.btn:active{transform:translateY(1px)}.btn:disabled,.btn[disabled],.btn[aria-disabled="true"]{opacity:.55;cursor:not-allowed;pointer-events:auto;transform:none!important;box-shadow:none!important}a.icon-btn{text-decoration:none}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--t-med) var(--ease),transform var(--t-med) var(--ease),border-color var(--t-med)}.card.pad{padding:var(--s-5)}.card.hover:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-t{display:flex;align-items:center;gap:var(--s-3);margin-bottom:var(--s-4)}.card-t h3{font-size:16px;font-weight:500}.card-t .ic{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand-strong);flex:0 0 auto}.card-t .ic svg{width:17px;height:17px;stroke-width:1.9}.card-t .more{margin-left:auto;color:var(--ink-3);font-size:13px}.muted{color:var(--ink-3)}.tiny{font-size:12px}.grid{display:grid;gap:var(--s-5)}.cols-4{grid-template-columns:repeat(4,1fr)}.cols-3{grid-template-columns:repeat(3,1fr)}.cols-2{grid-template-columns:repeat(2,1fr)}@media(max-width:1180px){.cols-4{grid-template-columns:repeat(2,1fr)}.cols-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.cols-4,.cols-3,.cols-2{grid-template-columns:1fr}}.span-2{grid-column:span 2}.span-3{grid-column:span 3}@media(max-width:720px){.span-2,.span-3{grid-column:span 1}}.kpi{position:relative;overflow:hidden}.kpi .lbl{font-size:12.5px;color:var(--ink-2);display:flex;align-items:center;gap:7px;font-weight:450}.kpi .lbl .d{width:8px;height:8px;border-radius:99px}.kpi .val{font-family:var(--f-display);font-size:34px;font-weight:500;color:var(--ink-0);margin:8px 0 4px;letter-spacing:-.02em}.kpi .val small{font-size:16px;color:var(--ink-3);font-weight:400}.kpi .delta{font-size:12.5px;font-weight:500;display:inline-flex;align-items:center;gap:4px}.delta.up{color:var(--success)}.delta.down{color:var(--danger)}.delta.flat{color:var(--ink-3)}.kpi .spark{position:absolute;right:16px;bottom:14px;opacity:.85}.chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;padding:4px 10px;border-radius:99px;background:var(--surface-2);color:var(--ink-2);border:1px solid var(--line)}.chip.risk{background:var(--danger-soft);color:var(--danger);border-color:transparent}.chip.warn{background:var(--warn-soft);color:var(--warn);border-color:transparent}.chip.ok{background:var(--brand-soft);color:var(--brand-strong);border-color:transparent}.chip.sky{background:var(--sky-soft);color:#5a7f8c;border-color:transparent}.chip .d{width:7px;height:7px;border-radius:99px;background:currentColor}.ai-feed{display:flex;flex-direction:column;gap:2px}.ai-item{display:flex;gap:var(--s-3);padding:var(--s-3);border-radius:var(--r-md);transition:background var(--t-fast)}.ai-item:hover{background:var(--surface-2)}.ai-ic{width:32px;height:32px;border-radius:9px;flex:0 0 auto;display:grid;place-items:center}.ai-ic svg{width:16px;height:16px;stroke-width:1.9}.ai-item .tt{font-size:13.5px;color:var(--ink-0);font-weight:450;line-height:1.4}.ai-item .mt{font-size:12px;color:var(--ink-3);margin-top:2px}.ai-item .act{margin-left:auto;align-self:center;font-size:12.5px;color:var(--brand-strong);font-weight:500;flex:0 0 auto;opacity:0;transition:opacity var(--t-fast)}.ai-item:hover .act{opacity:1}.row{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) 0;border-top:1px solid var(--line-soft)}.row:first-of-type{border-top:0}.row .nm{font-weight:500;color:var(--ink-0);font-size:14px}.row .meta{font-size:12px;color:var(--ink-3)}.mini-av{width:30px;height:30px;border-radius:50%;flex:0 0 auto;display:grid;place-items:center;color:#fff;font-weight:600;font-size:11px}.bar{height:8px;border-radius:99px;background:var(--surface-3);overflow:hidden}.bar>span{display:block;height:100%;border-radius:99px;background:var(--brand);transition:width var(--t-slow) var(--ease)}.dim{display:grid;grid-template-columns:120px 1fr 38px;align-items:center;gap:var(--s-3);padding:7px 0}.dim .dn{font-size:13px;color:var(--ink-1)}.dim .dv{font-size:12.5px;color:var(--ink-2);text-align:right;font-variant-numeric:tabular-nums}.tabs{display:flex;gap:4px;background:var(--surface-2);border:1px solid var(--line);padding:4px;border-radius:var(--r-full);align-self:flex-start}.tab{padding:6px 15px;border-radius:99px;font-size:13px;font-weight:500;color:var(--ink-2);transition:all var(--t-fast)}.tab.active{background:var(--surface);color:var(--ink-0);box-shadow:var(--shadow-sm)}.pipe{display:flex;align-items:stretch;gap:0;overflow-x:auto;padding-bottom:4px}.pstep{flex:1;min-width:118px;text-align:center;position:relative;padding:0 6px}.pstep .node{width:46px;height:46px;border-radius:14px;margin:0 auto 10px;display:grid;place-items:center;border:1.5px solid var(--line);background:var(--surface);color:var(--ink-3);position:relative;z-index:2;transition:all var(--t-med)}.pstep .node svg{width:21px;height:21px;stroke-width:1.8}.pstep.done .node{background:var(--brand-soft);border-color:var(--sage-300);color:var(--brand-strong)}.pstep.active .node{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 0 0 5px var(--brand-soft);animation:pulse 2s var(--ease) infinite}@keyframes pulse{0%,100%{box-shadow:0 0 0 5px var(--brand-soft)}50%{box-shadow:0 0 0 9px transparent}}.pstep::after{content:"";position:absolute;top:23px;left:50%;width:100%;height:2px;background:var(--line);z-index:1}.pstep:last-child::after{display:none}.pstep.done::after{background:var(--sage-300)}.pstep .pn{font-size:12.5px;font-weight:500;color:var(--ink-1)}.pstep .ps{font-size:11px;color:var(--ink-3);margin-top:2px}.empty{text-align:center;padding:var(--s-10) var(--s-6);max-width:440px;margin:8vh auto 0}.empty .glyph{width:72px;height:72px;border-radius:20px;margin:0 auto var(--s-5);display:grid;place-items:center;background:var(--brand-soft);color:var(--brand-strong)}.empty .glyph svg{width:32px;height:32px;stroke-width:1.6}.empty h2{font-size:22px;margin-bottom:8px}.empty p{color:var(--ink-2);margin-bottom:var(--s-5)}.field label .hint{margin-left:6px;font-weight:400}.inp,select,textarea{width:100%;font:inherit;font-size:14px;color:var(--ink-0);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:10px 12px;transition:border var(--t-fast),box-shadow var(--t-fast)}.inp:focus,select:focus,textarea:focus{outline:0;border-color:var(--sage-300);box-shadow:var(--focus-ring)}textarea{resize:vertical;min-height:84px;line-height:1.5}.ctx-tag{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;padding:6px 11px;border-radius:99px;background:var(--surface);border:1px solid var(--line);margin:4px 6px 4px 0;cursor:pointer;transition:all var(--t-fast)}.ctx-tag .x{color:var(--ink-3);font-size:14px;line-height:1}.ctx-tag:hover{border-color:var(--danger);color:var(--danger)}.tmpl{display:flex;gap:var(--s-3);align-items:flex-start;padding:var(--s-3);border:1px solid var(--line);border-radius:var(--r-md);cursor:pointer;transition:all var(--t-fast);background:var(--surface)}.tmpl:hover{border-color:var(--sage-300);background:var(--surface-2)}.tmpl .ti{width:34px;height:34px;border-radius:10px;flex:0 0 auto;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand-strong)}.tmpl .ti svg{width:17px;height:17px}.scrim{display:none}@media(max-width:900px){.app{grid-template-columns:1fr}.sidebar{position:fixed;left:0;top:0;width:280px;transform:translateX(-100%);transition:transform var(--t-med) var(--ease);box-shadow:var(--shadow-lg)}.app.mobile-open .sidebar{transform:none}.app.collapsed{--sb-w:1fr}.collapsed .nav-label,.collapsed .brand-name,.collapsed .brand-sub{display:block}.collapsed .nav-item{justify-content:flex-start;padding:9px 12px}.scrim{display:block;position:fixed;inset:0;background:var(--backdrop,rgba(20,15,10,.45));z-index:35;opacity:0;pointer-events:none;transition:opacity var(--t-med)}.app.mobile-open .scrim{opacity:1;pointer-events:auto}.search kbd{display:none}.hide-sm{display:none!important}}.fade{animation:fade var(--t-slow) var(--ease) both}@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.stagger>*{animation:fade var(--t-slow) var(--ease) both}.stagger>*:nth-child(1){animation-delay:.02s}.stagger>*:nth-child(2){animation-delay:.06s}.stagger>*:nth-child(3){animation-delay:.10s}.stagger>*:nth-child(4){animation-delay:.14s}.stagger>*:nth-child(5){animation-delay:.18s}.stagger>*:nth-child(6){animation-delay:.22s}.g-2{grid-template-columns:repeat(2,1fr)}.g-3{grid-template-columns:repeat(3,1fr)}.g-4{grid-template-columns:repeat(4,1fr)}@media(max-width:1180px){.g-4{grid-template-columns:repeat(2,1fr)}.g-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.g-2,.g-3,.g-4{grid-template-columns:1fr}}.list{display:flex;flex-direction:column}.list .row:first-child{border-top:0}.dot-bell::after{display:none}.icon-btn.has-unread{color:var(--ink-0)}.notif-badge{position:absolute;top:3px;right:3px;min-width:16px;height:16px;padding:0 4px;display:grid;place-items:center;border-radius:99px;background:var(--danger);color:#fff;font-size:10px;font-weight:700;line-height:1;font-family:var(--f-sans);border:2px solid var(--surface);box-shadow:var(--shadow-sm)}.notif-panel{position:fixed;z-index:1000;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);overflow:hidden;display:flex;flex-direction:column;max-height:min(70vh,520px);animation:notif-in var(--t-fast) var(--ease) both}@keyframes notif-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.notif-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 16px;border-bottom:1px solid var(--line-soft)}.notif-head strong{font-family:var(--f-display);font-size:15px;color:var(--ink-0)}.notif-readall{font-size:12px;color:var(--brand-strong);padding:4px 8px;border-radius:var(--r-sm);transition:background var(--t-fast)}.notif-readall:hover{background:var(--brand-soft)}.notif-list{overflow-y:auto;-webkit-overflow-scrolling:touch}.notif-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:34px 18px;color:var(--ink-3);text-align:center;font-size:13px}.notif-empty svg{width:26px;height:26px;opacity:.6}.notif-item{display:flex;gap:11px;align-items:flex-start;padding:12px 16px;cursor:pointer;border-bottom:1px solid var(--line-soft);transition:background var(--t-fast);position:relative}.notif-item:last-child{border-bottom:0}.notif-item:hover,.notif-item:focus{background:var(--surface-2);outline:none}.notif-item:focus-visible{box-shadow:inset var(--focus-ring)}.notif-item.is-unread{background:var(--brand-soft)}.notif-item.is-unread:hover{background:var(--surface-2)}.notif-ico{flex:0 0 auto;width:30px;height:30px;border-radius:var(--r-sm);display:grid;place-items:center;background:var(--surface-3);color:var(--ink-2)}.notif-item.is-unread .notif-ico{background:var(--surface);color:var(--brand-strong)}.notif-ico svg{width:16px;height:16px}.notif-body{flex:1;min-width:0}.notif-title{font-size:13.5px;font-weight:600;color:var(--ink-0);line-height:1.3}.notif-text{font-size:12.5px;color:var(--ink-2);margin-top:2px;line-height:1.4}.notif-time{font-size:11px;color:var(--ink-3);margin-top:4px}.notif-dot{flex:0 0 auto;width:8px;height:8px;border-radius:99px;background:var(--brand);margin-top:6px}@media(max-width:720px){.notif-panel{max-height:70vh}}.interv{display:flex;flex-direction:column;gap:10px}.interv-top{display:flex;align-items:center;gap:10px}.interv-signals{display:flex;flex-wrap:wrap;gap:6px}.interv-action{margin-top:2px}.interv-btn{width:100%;justify-content:center}.interv-sug{background:var(--surface-2);border:1px solid var(--line);border-radius:14px;padding:12px 14px}.interv-sug-t{font-family:var(--f-display);font-size:15.5px;font-weight:600;color:var(--ink-0);line-height:1.3}.interv-alts{margin-top:8px}.interv-alts ul{margin:4px 0 0;padding-left:18px;color:var(--ink-2)}.interv-alts li{margin:2px 0}.tiny-btn{font-size:12px;padding:6px 12px}.spider-legend{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.spider-legend .lg{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-2)}.spider-legend .dot{width:9px;height:9px;border-radius:99px;flex:0 0 auto}.cls-health{display:flex;align-items:center;gap:10px}.health-bar{flex:1;height:7px;border-radius:99px;background:var(--surface-3);overflow:hidden}.health-bar>span{display:block;height:100%;border-radius:99px;transition:width var(--t-slow) var(--ease)}.tbl{width:100%;border-collapse:collapse;font-size:13.5px}.tbl th{text-align:left;font-weight:500;color:var(--ink-3);font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;padding:8px 10px;border-bottom:1px solid var(--line)}.tbl td{padding:11px 10px;border-bottom:1px solid var(--line-soft);color:var(--ink-1)}.tbl tr:last-child td{border-bottom:none}.tbl tr.clickable{cursor:pointer;transition:background var(--t-fast)}.tbl tr.clickable:hover{background:var(--surface-2)}body.panel-coord .brand-sub{color:var(--clay-400)}body.panel-resp .brand-sub{color:var(--sky-200)}.kid-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:var(--s-5)}.kid-tab{display:flex;align-items:center;gap:10px;padding:8px;border:1px solid var(--line);border-radius:var(--r-full);background:var(--surface);cursor:pointer;transition:all var(--t-fast);font:inherit;color:var(--ink-1)}.kid-tab:hover{border-color:var(--sage-300);background:var(--surface-2)}.kid-tab.on{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-strong);font-weight:500}.kid-tab .mini-av{width:30px;height:30px;font-size:12px}.kid-tab .pad-x{padding-right:8px}.kid-tab .x{width:20px;height:20px;border-radius:99px;display:grid;place-items:center;color:var(--ink-3);font-size:14px;line-height:1;opacity:.45;transition:opacity var(--t-fast),background var(--t-fast),color var(--t-fast)}.kid-tab:hover .x,.kid-tab:focus-visible .x{opacity:1}.kid-tab .x:hover{background:var(--danger-soft);color:var(--danger);opacity:1}.dim-row{margin-bottom:14px}.dim-row .dh{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:5px}.dim-row .dl{font-size:13.5px;color:var(--ink-1);font-weight:450}.dim-row .dv{font-size:12px;color:var(--ink-3)}.dim-row .dt{height:8px;border-radius:99px;background:var(--surface-3);overflow:hidden}.dim-row .dt>span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--sage-300),var(--sage-400));transition:width var(--t-slow) var(--ease)}.dim-hint{font-size:11.5px;color:var(--ink-3);margin-top:3px}.rank-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line-soft)}.rank-row:last-child{border-bottom:none}.rank-row.you{background:var(--brand-soft);border-radius:10px;padding:8px 12px;border:none;margin:2px 0}.rank-pos{width:24px;font-weight:600;color:var(--ink-2);text-align:center}body.panel-admin .brand-sub{color:var(--clay-400)}.role-pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;padding:3px 10px;border-radius:99px;background:var(--surface-3);color:var(--ink-1)}.role-pill .d{width:7px;height:7px;border-radius:99px;flex:0 0 auto}.r-teacher .d{background:var(--sage-400)}.r-coordinator .d{background:var(--clay-400)}.r-admin .d{background:#9b8fb8}.r-student .d{background:var(--sky-200)}.r-guardian .d{background:var(--butter-200)}.status-badge{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:500;padding:5px 12px;border-radius:99px}.status-paid{background:var(--sage-100);color:var(--sage-600)}.status-free{background:var(--surface-3);color:var(--ink-2)}.school-switch{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.school-switch select{font:inherit;padding:8px 12px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink-0);max-width:320px}.mini-actions{display:flex;gap:6px;justify-content:flex-end}.plan-card{display:flex;flex-direction:column;gap:6px}.plan-card .price{font-family:Fraunces;font-size:30px;font-weight:600;color:var(--ink-0)}.plan-card .price small{font-size:14px;color:var(--ink-2);font-weight:400}.feat-line{display:flex;align-items:center;gap:9px;font-size:13.5px;color:var(--ink-1);padding:4px 0}.feat-line svg{width:16px;height:16px;flex:0 0 auto;color:var(--sage-500)}.aud-seg{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:var(--s-5)}.aud-opt{position:relative;display:flex;align-items:flex-start;gap:11px;text-align:left;padding:13px 14px;border:1.5px solid var(--line);border-radius:var(--r-md);background:var(--surface);transition:border-color var(--t-fast),background var(--t-fast),box-shadow var(--t-fast)}.aud-opt:hover{border-color:var(--sage-300)}.aud-opt .ai{width:34px;height:34px;flex:0 0 auto;border-radius:10px;display:grid;place-items:center;background:var(--surface-2);color:var(--ink-2);transition:background var(--t-fast),color var(--t-fast)}.aud-opt .ai svg{width:18px;height:18px}.aud-opt .at{display:flex;flex-direction:column;gap:2px;min-width:0}.aud-opt .at b{font-size:13.5px;font-weight:600;color:var(--ink-0);font-family:var(--f-sans)}.aud-opt .at i{font-style:normal;font-size:12px;line-height:1.4;color:var(--ink-2)}.aud-opt .ac{position:absolute;top:10px;right:10px;width:18px;height:18px;border-radius:99px;display:grid;place-items:center;background:var(--brand);color:#fff;opacity:0;transform:scale(.7);transition:opacity var(--t-fast),transform var(--t-fast)}.aud-opt .ac svg{width:11px;height:11px;stroke-width:3}.aud-opt.on{border-color:var(--brand);background:var(--brand-soft);box-shadow:0 2px 10px rgba(93,125,75,.12)}.aud-opt.on .ai{background:var(--brand);color:#fff}.aud-opt.on .at b{color:var(--brand-strong)}.aud-opt.on .ac{opacity:1;transform:scale(1)}@media (max-width:560px){.aud-seg{grid-template-columns:1fr}}.gen-section{margin-top:2px}.gen-section + .gen-section{margin-top:var(--s-5);padding-top:var(--s-5);border-top:1px solid var(--line-soft)}.gen-sec-head{display:flex;align-items:center;gap:9px;margin-bottom:12px}.gen-sec-head .n{width:24px;height:24px;border-radius:8px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand-strong);font-size:12px;font-weight:700;flex:0 0 auto}.gen-sec-head h4{font-size:14px;font-weight:600;color:var(--ink-0);font-family:var(--f-sans)}.gen-sec-head .tiny{margin-left:auto}.gen-creed{background:var(--brand-soft);border:1px solid var(--sage-200);border-radius:var(--r-md);padding:13px 15px;margin-bottom:14px;display:flex;gap:11px;align-items:flex-start}.gen-creed svg{width:20px;height:20px;flex:0 0 auto;color:var(--brand-strong);margin-top:1px}.gen-creed b{color:var(--ink-0)}.gen-creed p{margin-top:3px;font-size:12.8px;color:var(--ink-1);line-height:1.5}.chip-pick{display:flex;flex-wrap:wrap;gap:8px}.chip-pick button{display:inline-flex;align-items:center;gap:7px;font-size:12.8px;font-weight:500;color:var(--ink-1);background:var(--surface-2);border:1px solid var(--line);padding:7px 12px;border-radius:99px;transition:all var(--t-fast)}.chip-pick button:hover{border-color:var(--sage-300);color:var(--ink-0)}.chip-pick button .pk-dot{width:8px;height:8px;border-radius:99px;background:var(--ink-4);flex:0 0 auto;transition:background var(--t-fast)}.chip-pick button.on{background:var(--brand-soft);border-color:var(--sage-300);color:var(--brand-strong)}.chip-pick button.on .pk-dot{background:var(--brand)}.chip-pick button:focus-visible{outline:none;box-shadow:var(--focus-ring)}.gen-toggle{display:flex;gap:12px;align-items:flex-start;padding:11px 0;cursor:pointer}.gen-toggle + .gen-toggle{border-top:1px solid var(--line-soft)}.gen-toggle .sw{flex:0 0 auto;width:38px;height:22px;border-radius:99px;background:var(--surface-3);position:relative;transition:background var(--t-fast);margin-top:1px}.gen-toggle .sw::after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:99px;background:#fff;box-shadow:var(--shadow-sm);transition:transform var(--t-fast)}.gen-toggle.on .sw{background:var(--brand)}.gen-toggle.on .sw::after{transform:translateX(16px)}.gen-toggle .tg-body{flex:1;min-width:0}.gen-toggle .tg-t{font-size:13.2px;font-weight:600;color:var(--ink-0)}.gen-toggle .tg-d{font-size:12px;color:var(--ink-2);margin-top:2px;line-height:1.45}.gen-toggle:focus-visible{outline:none}.gen-toggle:focus-visible .sw{box-shadow:var(--focus-ring)}.gen-engine{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11.6px;color:var(--ink-3);margin-top:12px}.gen-engine .eng{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:99px;background:var(--surface-3);color:var(--ink-2);font-weight:500}.gen-engine .eng svg{width:13px;height:13px}.mat-out h3{font-size:17px;margin-bottom:2px}.mat-doc{font-size:13.6px;line-height:1.62;color:var(--ink-1)}.mat-doc h2{font-size:16px;margin:18px 0 6px}.mat-doc h3{font-size:14.5px;margin:14px 0 5px}.mat-doc h4{font-size:13.5px;margin:12px 0 4px;color:var(--ink-0)}.mat-doc p{margin:7px 0}.mat-doc ul,.mat-doc ol{margin:7px 0 7px 20px}.mat-doc li{margin:3px 0}.mat-doc strong{color:var(--ink-0)}.mat-doc blockquote{border-left:3px solid var(--sage-300);background:var(--brand-soft);padding:8px 13px;border-radius:0 10px 10px 0;margin:10px 0;color:var(--ink-1)}.mat-doc code{background:var(--surface-3);padding:1px 6px;border-radius:6px;font-size:.92em}.mat-doc hr{border:0;border-top:1px solid var(--line);margin:14px 0}.mat-block{border:1px solid var(--line);border-radius:var(--r-md);padding:13px 15px;margin-top:14px;background:var(--surface-2)}.mat-block-t{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;color:var(--ink-0);margin-bottom:8px}.mat-block-t svg{width:15px;height:15px;color:var(--brand-strong)}.mat-adapt{display:flex;flex-wrap:wrap;gap:7px}.mat-adapt .ad{font-size:12px;padding:4px 10px;border-radius:99px;background:var(--brand-soft);color:var(--brand-strong);border:1px solid var(--sage-200)}.source-item{display:flex;gap:10px;align-items:flex-start;padding:8px 0;font-size:12.8px;border-top:1px solid var(--line-soft)}.source-item:first-child{border-top:0}.source-item .sx{flex:0 0 auto;width:22px;height:22px;border-radius:7px;display:grid;place-items:center;background:var(--surface-3);color:var(--ink-2)}.source-item .sx svg{width:13px;height:13px}.source-item .nm{font-weight:600;color:var(--ink-0);font-size:12.8px}.source-item .meta{font-size:11.4px}.mat-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}.conf-line{font-size:11.6px;color:var(--ink-3);margin-top:10px;display:flex;align-items:center;gap:6px}.conf-line svg{width:13px;height:13px;flex:0 0 auto}@media(max-width:900px){#genGridMat{grid-template-columns:1fr!important}}.btn.danger{background:var(--danger);color:#fff}.btn.danger:hover{filter:brightness(.94);transform:translateY(-1px)}.pk-toasts{position:fixed;right:18px;bottom:18px;z-index:1200;display:flex;flex-direction:column;gap:10px;max-width:min(360px,calc(100vw - 36px));pointer-events:none}.pk-toast{pointer-events:auto;cursor:pointer;background:var(--surface);color:var(--ink-0);border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:var(--r-sm);padding:11px 14px;font-size:13.5px;line-height:1.45;box-shadow:0 8px 24px rgba(0,0,0,.14);opacity:0;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease}.pk-toast.show{opacity:1;transform:translateY(0)}.pk-modal-back{position:fixed;inset:0;z-index:1300;background:rgba(20,16,12,.42);display:flex;align-items:center;justify-content:center;padding:20px;animation:pkfade .14s ease}@keyframes pkfade{from{opacity:0}to{opacity:1}}.pk-modal{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md,16px);padding:22px 22px 18px;max-width:420px;width:100%;box-shadow:0 20px 50px rgba(0,0,0,.28)}.pk-modal h3{font-size:17px;color:var(--ink-0);margin:0 0 8px}.pk-modal p{font-size:13.6px;color:var(--ink-1);line-height:1.55;margin:0 0 18px}.pk-modal-actions{display:flex;gap:10px;justify-content:flex-end}.who{position:relative}.who.is-menu{cursor:pointer;border-radius:12px;padding:8px;margin:-8px;transition:background var(--t-fast)}.who.is-menu:hover{background:var(--surface-2)}.who .who-caret{margin-left:auto;color:var(--ink-3);flex:0 0 auto}.acct-menu{position:absolute;left:0;right:0;bottom:calc(100% + 8px);background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 40px rgba(0,0,0,.2);padding:6px;z-index:60}.acct-menu[hidden]{display:none!important}.acct-menu button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:0;padding:9px 10px;border-radius:8px;font-size:13.4px;color:var(--ink-1);cursor:pointer;transition:background var(--t-fast)}.acct-menu button:hover{background:var(--surface-2);color:var(--ink-0)}.acct-menu button.danger{color:var(--danger)}.acct-menu button svg{width:16px;height:16px;flex:0 0 auto}.acct-menu .sep{height:1px;background:var(--line);margin:6px 4px}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.profile-grid .full{grid-column:1 / -1}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-size:12.5px;font-weight:500;color:var(--ink-1)}.field input{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink-0);font-size:14px;transition:border-color var(--t-fast)}.field input:focus{outline:none;border-color:var(--brand)}.field .hint{font-size:11.5px;color:var(--ink-3)}.avatar-row{display:flex;align-items:center;gap:16px;margin-bottom:18px}.avatar-row .avatar-lg{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:600;color:#fff;flex:0 0 auto}@media(max-width:680px){.profile-grid{grid-template-columns:1fr}}.grid.g-2{grid-template-columns:repeat(2,1fr)}.grid.g-3{grid-template-columns:repeat(3,1fr)}.grid.g-4{grid-template-columns:repeat(4,1fr)}@media(max-width:1180px){.grid.g-4{grid-template-columns:repeat(2,1fr)}.grid.g-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.grid.g-4,.grid.g-3,.grid.g-2{grid-template-columns:1fr}}.span-2{grid-column:span 2}@media(max-width:720px){.span-2{grid-column:span 1}}.seg{display:inline-flex;background:var(--surface-2);border:1px solid var(--line);border-radius:99px;padding:3px;gap:2px}.seg button{border:0;background:none;padding:7px 14px;border-radius:99px;font-size:13px;font-weight:500;color:var(--ink-2);cursor:pointer;transition:all var(--t-fast)}.seg button:hover{color:var(--ink-0)}.seg button.on{background:var(--surface);color:var(--brand-strong);box-shadow:var(--shadow-sm)}.tbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:var(--s-5)}.tbar .spacer{margin-left:auto}.tbar .nav-arrows{display:inline-flex;gap:6px}.tbar .nav-arrows button{width:34px;height:34px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink-1);display:grid;place-items:center;cursor:pointer;transition:all var(--t-fast)}.tbar .nav-arrows button:hover{border-color:var(--brand);color:var(--brand-strong)}.tbar .period-title{font-family:var(--f-display);font-size:18px;color:var(--ink-0);min-width:170px;text-transform:capitalize}.cal{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.cal-dow{display:grid;grid-template-columns:repeat(7,1fr);background:var(--surface-2);border-bottom:1px solid var(--line)}.cal-dow span{padding:10px 8px;text-align:center;font-size:11.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr)}.cal-cell{min-height:104px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:6px 7px;position:relative;cursor:pointer;transition:background var(--t-fast);display:flex;flex-direction:column;gap:4px}.cal-cell:nth-child(7n){border-right:0}.cal-cell:hover{background:var(--surface-2)}.cal-cell.out{background:var(--bg-soft);opacity:.55}.cal-cell.today .cal-num{background:var(--brand);color:#fff}.cal-num{font-size:12.5px;font-weight:600;color:var(--ink-1);width:26px;height:26px;display:grid;place-items:center;border-radius:50%}.cal-ev{font-size:11px;line-height:1.25;padding:3px 7px;border-radius:7px;color:#fff;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-left:3px solid rgba(255,255,255,.45)}.cal-ev.aula{background:var(--sage-400)}.cal-ev.avaliacao{background:var(--clay-400)}.cal-ev.reuniao{background:#5a7f8c}.cal-ev.evento{background:#9b8fb8}.cal-ev.entrega{background:#b9544d}.cal-ev.lembrete{background:var(--butter-200);color:#6b5413}.cal-more{font-size:10.5px;color:var(--ink-3);font-weight:600;padding-left:4px}@media(max-width:720px){.cal-cell{min-height:64px}.cal-ev{display:none}.cal-cell::after{content:attr(data-count);position:absolute;bottom:6px;right:8px;font-size:10px;color:var(--brand-strong);font-weight:700}}.agenda-list{display:flex;flex-direction:column;gap:10px}.agenda-day{margin-top:6px}.agenda-day-h{font-size:12.5px;font-weight:600;color:var(--ink-2);text-transform:capitalize;margin:14px 0 8px;display:flex;align-items:center;gap:8px}.agenda-day-h::after{content:"";flex:1;height:1px;background:var(--line)}.agenda-item{display:flex;align-items:center;gap:14px;padding:13px 16px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);transition:all var(--t-fast)}.agenda-item:hover{border-color:var(--brand);box-shadow:var(--shadow-sm)}.agenda-time{font-variant-numeric:tabular-nums;font-weight:600;color:var(--ink-0);font-size:13.5px;min-width:54px;text-align:center}.agenda-bar{width:4px;align-self:stretch;border-radius:4px;background:var(--brand)}.agenda-bar.aula{background:var(--sage-400)}.agenda-bar.avaliacao{background:var(--clay-400)}.agenda-bar.reuniao{background:#5a7f8c}.agenda-bar.evento{background:#9b8fb8}.agenda-bar.entrega{background:#b9544d}.agenda-bar.lembrete{background:var(--butter-200)}.agenda-body{flex:1;min-width:0}.agenda-body .t{font-weight:500;color:var(--ink-0);font-size:14px}.agenda-body .m{font-size:12px;color:var(--ink-3);margin-top:2px}.agenda-type{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:4px 9px;border-radius:99px;background:var(--surface-2);color:var(--ink-2)}.legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:14px}.legend span{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-2)}.legend i{width:11px;height:11px;border-radius:4px;display:inline-block}.act-row{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);margin-bottom:10px;transition:all var(--t-fast)}.act-row:hover{border-color:var(--brand);box-shadow:var(--shadow-sm)}.act-ico{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand-strong);flex:0 0 auto}.act-ico svg{width:20px;height:20px}.act-main{flex:1;min-width:0}.act-main .t{font-weight:500;color:var(--ink-0);font-size:14.5px}.act-main .m{font-size:12.5px;color:var(--ink-3);margin-top:3px}.act-status{font-size:11.5px;font-weight:600;padding:5px 11px;border-radius:99px;text-transform:capitalize}.act-status.pendente{background:var(--warn-soft);color:var(--warn)}.act-status.entregue{background:var(--sky-soft);color:#5a7f8c}.act-status.corrigido{background:var(--brand-soft);color:var(--brand-strong)}.act-status.atrasado{background:var(--danger-soft);color:var(--danger)}.act-grade{font-family:var(--f-display);font-size:19px;font-weight:600;color:var(--ink-0);min-width:54px;text-align:right}.act-grade small{font-size:12px;color:var(--ink-3);font-weight:400}.goal{padding:16px 18px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);margin-bottom:12px;transition:all var(--t-fast)}.goal:hover{box-shadow:var(--shadow-sm)}.goal.done{background:var(--brand-soft);border-color:transparent}.goal-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.goal-head .t{font-weight:500;color:var(--ink-0);font-size:14.5px;flex:1}.goal-head .due{font-size:11.5px;color:var(--ink-3)}.goal-check{width:24px;height:24px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;cursor:pointer;flex:0 0 auto;color:transparent;transition:all var(--t-fast)}.goal.done .goal-check{background:var(--brand);border-color:var(--brand);color:#fff}.goal-check svg{width:13px;height:13px;stroke-width:3}.goal-prog{display:flex;align-items:center;gap:12px}.goal-prog .bar{flex:1}.goal-prog .pct{font-size:12.5px;font-weight:600;color:var(--ink-1);min-width:64px;text-align:right;font-variant-numeric:tabular-nums}.hbar{display:flex;flex-direction:column;gap:11px}.hbar-row{display:grid;grid-template-columns:130px 1fr 48px;align-items:center;gap:12px}.hbar-row .lbl{font-size:13px;color:var(--ink-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hbar-row .track{height:10px;border-radius:99px;background:var(--surface-3);overflow:hidden}.hbar-row .track>span{display:block;height:100%;border-radius:99px;background:var(--brand);transition:width 1s var(--ease)}.hbar-row .val{font-size:12.5px;font-weight:600;color:var(--ink-1);text-align:right;font-variant-numeric:tabular-nums}@media(max-width:720px){.hbar-row{grid-template-columns:96px 1fr 42px}}.stat-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.stat-tile{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);padding:14px}.stat-tile .n{font-family:var(--f-display);font-size:26px;font-weight:600;color:var(--ink-0);line-height:1}.stat-tile .l{font-size:11.5px;color:var(--ink-3);margin-top:6px;text-transform:uppercase;letter-spacing:.04em}.stat-tile .delta{font-size:11.5px;font-weight:600;margin-top:4px}.stat-tile .delta.up{color:var(--success)}.stat-tile .delta.down{color:var(--danger)}.timeline{position:relative;padding-left:28px}.timeline::before{content:"";position:absolute;left:9px;top:6px;bottom:6px;width:2px;background:var(--line)}.tl-item{position:relative;padding:0 0 20px}.tl-item:last-child{padding-bottom:0}.tl-dot{position:absolute;left:-23px;top:2px;width:20px;height:20px;border-radius:50%;background:var(--surface);border:2px solid var(--brand);display:grid;place-items:center;color:var(--brand-strong)}.tl-dot svg{width:11px;height:11px;stroke-width:2.4}.tl-item.achievement .tl-dot{border-color:var(--clay-400);color:var(--clay-400)}.tl-item.level .tl-dot{border-color:#9b8fb8;color:#9b8fb8}.tl-item.daily .tl-dot{border-color:#5a7f8c;color:#5a7f8c}.tl-t{font-weight:500;color:var(--ink-0);font-size:14px}.tl-m{font-size:12px;color:var(--ink-3);margin-top:2px}.tl-xp{font-size:11.5px;font-weight:600;color:var(--brand-strong);margin-left:8px}.ach-grid2{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}.ach-card{text-align:center;padding:20px 14px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);transition:all var(--t-fast);position:relative}.ach-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.ach-card.locked{opacity:.62;filter:saturate(.4)}.ach-medal{width:58px;height:58px;border-radius:50%;margin:0 auto 12px;display:grid;place-items:center;color:#fff;font-size:26px}.ach-medal.bronze{background:linear-gradient(145deg,#cd9b6a,#a06b3d)}.ach-medal.prata{background:linear-gradient(145deg,#c9ccd1,#9097a0)}.ach-medal.ouro{background:linear-gradient(145deg,#e8c66a,#c79a2e)}.ach-medal svg{width:26px;height:26px}.ach-card .nm2{font-weight:600;color:var(--ink-0);font-size:13.5px}.ach-card .ds{font-size:11.5px;color:var(--ink-3);margin-top:4px;line-height:1.4}.ach-card .pbar{height:6px;border-radius:99px;background:var(--surface-3);overflow:hidden;margin-top:10px}.ach-card .pbar>span{display:block;height:100%;background:var(--brand)}.ach-card .pmeta{font-size:10.5px;color:var(--ink-3);margin-top:5px}.rank-list{display:flex;flex-direction:column;gap:8px}.rank-item{display:flex;align-items:center;gap:14px;padding:12px 16px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface)}.rank-item.me{background:var(--brand-soft);border-color:transparent}.rank-item .pos{font-family:var(--f-display);font-size:18px;font-weight:600;color:var(--ink-2);width:30px;text-align:center}.rank-item.top1 .pos{color:#c79a2e}.rank-item.top2 .pos{color:#9097a0}.rank-item.top3 .pos{color:#a06b3d}.rank-item .who2{flex:1;font-weight:500;color:var(--ink-0);font-size:14px}.rank-item .xp2{font-size:13px;font-weight:600;color:var(--brand-strong);font-variant-numeric:tabular-nums}.mini-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.mini-cal .mc-dow{font-size:10px;text-align:center;color:var(--ink-3);font-weight:600;padding-bottom:4px}.mini-cal .mc-day{aspect-ratio:1;display:grid;place-items:center;font-size:12px;border-radius:8px;color:var(--ink-1);position:relative}.mini-cal .mc-day.out{color:var(--ink-4)}.mini-cal .mc-day.today{background:var(--brand);color:#fff;font-weight:600}.mini-cal .mc-day.has::after{content:"";position:absolute;bottom:3px;width:4px;height:4px;border-radius:50%;background:var(--clay-400)}.mini-cal .mc-day.today.has::after{background:#fff}.pring{display:inline-grid;place-items:center;position:relative}.pring .pv{position:absolute;font-family:var(--f-display);font-weight:600;color:var(--ink-0)}.rep-card{display:flex;align-items:center;gap:16px;padding:18px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);transition:all var(--t-fast)}.rep-card:hover{border-color:var(--brand);box-shadow:var(--shadow-sm)}.rep-ico{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:var(--clay-100);color:var(--clay-400);flex:0 0 auto}.rep-ico svg{width:22px;height:22px}.rep-main{flex:1}.rep-main .t{font-weight:500;color:var(--ink-0);font-size:14.5px}.rep-main .m{font-size:12.5px;color:var(--ink-3);margin-top:3px}.sec-h{display:flex;align-items:center;gap:10px;margin:var(--s-6) 0 var(--s-4)}.sec-h h2{font-size:18px;font-weight:500;color:var(--ink-0)}.sec-h .line{flex:1;height:1px;background:var(--line)}.donut-pair{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.donut-legend{display:flex;flex-direction:column;gap:8px;flex:1;min-width:140px}.donut-legend .dlg{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--ink-1)}.donut-legend .dlg i{width:11px;height:11px;border-radius:3px}.donut-legend .dlg b{margin-left:auto;color:var(--ink-0);font-variant-numeric:tabular-nums}.pk-ic{width:18px;height:18px;flex:0 0 auto;display:inline-block;vertical-align:-.18em}.view svg.pk-ic:not([width]){width:18px;height:18px}.acad-table{width:100%;border-collapse:collapse;font-size:13.5px}.acad-table th{text-align:left;font-weight:500;color:var(--ink-3);font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;padding:9px 10px;border-bottom:1px solid var(--line);white-space:nowrap}.acad-table td{padding:11px 10px;border-bottom:1px solid var(--line-soft);color:var(--ink-1);vertical-align:middle}.acad-table tbody tr:last-child td{border-bottom:none}.acad-table tbody tr:hover{background:var(--surface-2)}.acad-table td strong{color:var(--ink-0);font-weight:600}.comm-tabs{display:flex;gap:6px;margin:4px 0 18px;border-bottom:1px solid var(--line);flex-wrap:wrap}.comm-tab{background:none;border:none;padding:10px 14px;font:inherit;font-weight:600;color:var(--ink-3);cursor:pointer;border-bottom:2px solid transparent;display:inline-flex;align-items:center;gap:7px;transition:color var(--t-fast),border-color var(--t-fast)}.comm-tab:hover{color:var(--ink-1)}.comm-tab.active{color:var(--ink-0);border-bottom-color:var(--brand)}.comm-tab svg{width:16px;height:16px;flex:0 0 auto}.comm-meta{font-size:12px;color:var(--ink-3)}.comm-chip{font-size:11.5px;font-weight:600;background:var(--chip);color:var(--ink-2);padding:3px 9px;border-radius:999px;display:inline-flex;align-items:center;gap:6px}.comm-chip.is-closed{background:var(--danger-soft);color:var(--danger)}.acad-toolbar{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-bottom:16px}.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 calc(var(--s-5) * -1);padding:0 var(--s-5)}.tbl-wrap .tbl,.tbl-wrap .acad-table{min-width:560px}@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}html.pref-reduce-motion *,html.pref-reduce-motion *::before,html.pref-reduce-motion *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.pk-switch{position:relative;display:inline-flex;flex:0 0 auto}.pk-switch input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}.pk-switch .trk{width:40px;height:23px;border-radius:99px;background:var(--line);transition:background var(--t-fast) var(--ease);position:relative}.pk-switch .trk::after{content:"";position:absolute;top:3px;left:3px;width:17px;height:17px;border-radius:50%;background:var(--surface);box-shadow:0 1px 3px rgba(20,16,12,.3);transition:transform var(--t-fast) var(--ease)}.pk-switch input:checked + .trk{background:var(--brand)}.pk-switch input:checked + .trk::after{transform:translateX(17px)}.pk-switch input:focus-visible + .trk{box-shadow:var(--focus-ring)}.pk-switch input:disabled + .trk{opacity:.45;cursor:not-allowed}.pref-row{display:flex;align-items:center;gap:var(--s-4);padding:13px 0;border-bottom:1px solid var(--line-soft)}.pref-row:last-child{border-bottom:0}.pref-row .pr-txt{flex:1;min-width:0}.pref-row .pr-txt b{display:block;font-size:14px;font-weight:550;color:var(--ink-0)}.pref-row .pr-txt .tiny{display:block;margin-top:2px;line-height:1.5}.pref-row select{min-width:148px;font:inherit;font-size:13.5px;padding:8px 12px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink-0);cursor:pointer;transition:border-color var(--t-fast)}.pref-row select:hover{border-color:var(--ink-4)}.pref-row select:focus-visible{outline:none;box-shadow:var(--focus-ring);border-color:var(--brand)}.pref-scope{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;color:var(--ink-3);background:var(--surface-2);border:1px solid var(--line-soft);border-radius:99px;padding:5px 11px;margin-top:2px}.pref-scope svg{width:13px;height:13px;flex:0 0 auto}.nrn-logo{display: inline-flex;align-items: center;gap: var(--s-3);color: var(--ink-0);text-decoration: none;line-height: 1;border-radius: var(--r-md);padding: 4px;margin: -4px;transition: opacity var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}.nrn-logo:hover{text-decoration: none}.nrn-logo__tile{--tile: 38px;width: var(--tile);height: var(--tile);flex: 0 0 auto;border-radius: 11px;display: grid;place-items: center;background: linear-gradient(150deg,var(--sage-400),var(--sage-600));box-shadow: 0 2px 8px rgba(93,125,75,.30),inset 0 1px 0 rgba(255,255,255,.22);position: relative;overflow: hidden;transition: box-shadow var(--t-fast) var(--ease),transform var(--t-med) var(--ease)}.nrn-logo__tile svg{width: 64%;height: auto;display: block;color: #fff}@media (hover: hover){.nrn-logo:hover .nrn-logo__tile{box-shadow: 0 6px 18px rgba(93,125,75,.38),inset 0 1px 0 rgba(255,255,255,.28);transform: translateY(-1px)}.nrn-logo:active .nrn-logo__tile{transform: translateY(0)}}.nrn-logo__mark{flex: 0 0 auto;display: grid;place-items: center}.nrn-logo__mark svg{width: 30px;height: auto;display: block;color: var(--brand)}.nrn-logo__word{font-family: var(--f-display);font-size: 20px;font-weight: 600;letter-spacing: -.02em;color: var(--ink-0);white-space: nowrap}.nrn-logo__word em{font-style: italic;font-weight: 500;color: var(--brand-strong)}.nrn-logo--stacked{align-items: center}.nrn-logo--stacked .nrn-logo__text{display: flex;flex-direction: column;gap: 1px;min-width: 0}.nrn-logo__sub{font-family: var(--f-sans);font-size: 11px;font-weight: 500;letter-spacing: .04em;color: var(--ink-3);white-space: nowrap;margin-top: 1px}.nrn-logo--sm .nrn-logo__tile{--tile: 30px}.nrn-logo--sm .nrn-logo__word{font-size: 17px}.nrn-logo--lg .nrn-logo__tile{--tile: 48px;border-radius: 14px}.nrn-logo--lg .nrn-logo__word{font-size: 26px}.nrn-logo--xl .nrn-logo__tile{--tile: 60px;border-radius: 17px}.nrn-logo--xl .nrn-logo__word{font-size: 32px}.nrn-logo--symbol-only .nrn-logo__word,.nrn-logo--symbol-only .nrn-logo__sub,.nrn-logo--symbol-only .nrn-logo__text{display: none}.collapsed .nrn-logo__word,.collapsed .nrn-logo__sub,.collapsed .nrn-logo__text{display: none}.collapsed .sb-head .nrn-logo{justify-content: center;gap: 0}.nrn-logo--center{display: flex;flex-direction: column;align-items: center;justify-content: center;gap: var(--s-3);width: 100%;margin: 0 auto var(--s-4);text-align: center}.nrn-logo--center .nrn-logo__word{font-size: 28px}.nrn-logo--center .nrn-logo__tile{--tile: 56px;border-radius: 16px}.modal-head--branded{text-align: center}.modal-head--branded .eyebrow{display: block}@media (max-width: 560px){.nrn-logo__word{font-size: 18px}.nrn-logo--lg .nrn-logo__word{font-size: 22px}}@media (prefers-reduced-motion: reduce){.nrn-logo,.nrn-logo__tile{transition: none !important}.nrn-logo:hover .nrn-logo__tile{transform: none !important}}body.reduce-motion .nrn-logo:hover .nrn-logo__tile{transform: none !important}.nrn-avatar{display: grid;place-items: center;overflow: hidden}.nrn-avatar svg{width: 60%;height: auto;color: #fff}.view-head{margin-bottom:var(--s-7)}.view-head .eyebrow{letter-spacing:.12em;font-size:11.5px}.view-head h1{letter-spacing:-.02em;line-height:1.1}.view-head p.sub{font-size:15px;color:var(--ink-2);line-height:1.55}.kpi .val,.acad-avg,.acad-att-num,.act-grade,.stat-tile .n,.hbar-row .val,.rank-item .xp2,.dim .dv{font-variant-numeric:tabular-nums}.card,.qa,.kpi{transition:box-shadow var(--t-med) var(--ease),transform var(--t-med) var(--ease),border-color var(--t-med) var(--ease),background var(--t-med) var(--ease)}.card{box-shadow:var(--shadow-sm)}.view .card.pad{padding:var(--s-6)}@media (hover:hover){.card.hover:hover,.kpi.hover:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px);border-color:var(--sage-200)}.qa:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);border-color:var(--sage-200)}}.card.hover:active,.qa:active{transform:translateY(-1px)}.card-t h3{font-size:16.5px;letter-spacing:-.01em}.card-t .ic{box-shadow:inset 0 0 0 1px var(--line-soft)}.kpi{position:relative;isolation:isolate}.kpi::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;border-radius:var(--r-lg) var(--r-lg) 0 0;background:linear-gradient(90deg,var(--brand),var(--sage-300));opacity:.55;z-index:0;transition:opacity var(--t-med) var(--ease)}@media (hover:hover){.kpi.hover:hover::before{opacity:1}}.kpi .val{position:relative;z-index:1;font-size:36px;letter-spacing:-.025em}.kpi .lbl{font-weight:500}.btn{border-radius:var(--r-sm);letter-spacing:.005em;transition:transform var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease),background var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),filter var(--t-fast) var(--ease)}.btn.primary{background:linear-gradient(180deg,var(--brand),var(--brand-strong));box-shadow:0 1px 0 rgba(255,255,255,.10) inset,0 2px 8px rgba(93,125,75,.28)}@media (hover:hover){.btn.primary:hover{box-shadow:0 1px 0 rgba(255,255,255,.12) inset,0 8px 20px rgba(93,125,75,.32),0 2px 6px rgba(93,125,75,.22);transform:translateY(-1px)}.btn.ghost:hover{border-color:var(--sage-300);background:var(--surface-2)}.btn.soft:hover{box-shadow:var(--shadow-sm);background:var(--sage-100)}}.btn.primary:active{transform:translateY(0) scale(.985);box-shadow:0 1px 4px rgba(93,125,75,.30) inset}.btn.ghost:active,.btn.soft:active{transform:translateY(0) scale(.985)}@media (hover:hover){.icon-btn:hover{box-shadow:inset 0 0 0 1px var(--line)}}.inp,select,textarea{transition:border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease),background var(--t-fast) var(--ease)}@media (hover:hover){.inp:hover,select:hover,textarea:hover{border-color:var(--ink-4)}}.inp:focus,select:focus,textarea:focus{outline:0;border-color:var(--sage-300);box-shadow:var(--focus-ring);background:var(--surface)}select{-webkit-appearance:none;appearance:none;padding-right:38px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23968d7e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px}:root[data-theme="dark"] select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23a89f8c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}@media (hover:hover){.search:hover{border-color:var(--ink-4)}}.search:focus-within{border-color:var(--sage-300);box-shadow:var(--focus-ring);background:var(--surface)}.nav-item{transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}@media (hover:hover){.nav-item:hover{box-shadow:inset 0 0 0 1px var(--line-soft)}}.nav-item.active{box-shadow:inset 0 0 0 1px var(--sage-200)}.nav-item.active::before{height:20px;box-shadow:0 0 0 3px var(--brand-soft)}.nav-group-t{letter-spacing:.12em}.logo{box-shadow:0 2px 10px rgba(93,125,75,.35),inset 0 1px 0 rgba(255,255,255,.18)}.ai-item,.row.clickable,.tbl tr.clickable{position:relative}@media (hover:hover){.ai-item:hover,.row.clickable:hover{box-shadow:inset 2px 0 0 var(--brand);border-radius:var(--r-sm)}}.chip,.tab,.kid-tab,.role-pill,.status-badge,.comm-chip{transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}.tab:focus-visible,.chip:focus-visible{box-shadow:var(--focus-ring);outline:0}.tab.active{box-shadow:var(--shadow-sm),inset 0 0 0 1px var(--line-soft)}.status-badge{box-shadow:inset 0 0 0 1px var(--line-soft)}.role-pill{box-shadow:inset 0 0 0 1px var(--line-soft)}.empty{margin-top:6vh}.empty .glyph{box-shadow:0 6px 20px rgba(93,125,75,.12),inset 0 0 0 1px var(--sage-100)}.empty h2{font-size:23px}.view .comm-tabs{gap:2px;margin:2px 0 var(--s-6)}.view .comm-tab{position:relative;padding:9px 14px;border-radius:var(--r-sm) var(--r-sm) 0 0;font-weight:600;color:var(--ink-3);border-bottom:2px solid transparent;transition:color var(--t-fast) var(--ease),background var(--t-fast) var(--ease)}@media (hover:hover){.view .comm-tab:hover{color:var(--ink-1);background:var(--surface-2)}}.view .comm-tab.active{color:var(--ink-0);border-bottom-color:var(--brand)}.view .comm-tab.active::after{content:"";position:absolute;left:14px;right:14px;bottom:-2px;height:2px;background:var(--brand);border-radius:2px}.view .acad-table,.tbl{font-size:13.5px}.view .acad-table th,.tbl th{font-weight:600;color:var(--ink-3);font-size:11px;text-transform:uppercase;letter-spacing:.06em;padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}.view .acad-table td,.tbl td{padding:12px;border-bottom:1px solid var(--line-soft);color:var(--ink-1);vertical-align:middle}.view .acad-table tbody tr,.tbl tr.clickable{transition:background var(--t-fast) var(--ease)}@media (hover:hover){.view .acad-table tbody tr:hover,.tbl tr.clickable:hover{background:var(--surface-2)}}.view .acad-table tbody tr:last-child td,.tbl tr:last-child td{border-bottom:0}.view .acad-table td strong{color:var(--ink-0);font-weight:600}.view .acad-table input.acad-score{text-align:center;font-variant-numeric:tabular-nums}.view .acad-toolbar{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap;margin-bottom:var(--s-6)}.view .acad-field{display:flex;flex-direction:column;gap:6px}.view .acad-field label{font-size:12px;color:var(--ink-3);font-weight:600;letter-spacing:.01em}.view .acad-field .inp,.view .acad-field select{min-width:172px}.view .acad-boletim{display:flex;flex-direction:column;gap:var(--s-5)}.view .acad-boletim-name{display:flex;align-items:center;gap:10px;font-family:var(--f-sans);font-size:13px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--ink-2);margin-bottom:2px}.view .acad-boletim-name svg{width:18px;height:18px;padding:7px;box-sizing:content-box;flex:0 0 auto;border-radius:var(--r-sm);background:var(--brand-soft);color:var(--brand-strong)}.view .acad-term{border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.view .acad-term-head{display:flex;align-items:center;gap:10px;margin-bottom:var(--s-4)}.view .acad-term-head h3{margin:0;font-size:18px;letter-spacing:-.01em}.view .acad-subjects{display:flex;flex-direction:column;gap:10px}.view .acad-subj{border:1px solid var(--line);border-radius:var(--r-md);padding:13px 15px;background:var(--surface-2);transition:border-color var(--t-fast) var(--ease)}@media (hover:hover){.view .acad-subj:hover{border-color:var(--sage-200)}}.view .acad-subj-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.view .acad-subj-name{font-family:var(--f-sans);font-weight:600;font-size:14.5px;color:var(--ink-0)}.view .acad-avg{font-family:var(--f-display);font-size:23px;font-weight:600;line-height:1;color:var(--ink-1);letter-spacing:-.02em;display:inline-flex;align-items:baseline;gap:1px}.view .acad-avg small{font-family:var(--f-sans);font-size:12px;font-weight:500;color:var(--ink-3);margin-left:1px}.view .acad-avg.ok{color:var(--success)}.view .acad-avg.low{color:var(--danger)}.view .acad-pills{display:flex;gap:7px;flex-wrap:wrap;margin-top:11px}.view .acad-pill{font-size:12px;font-weight:500;color:var(--ink-2);background:var(--surface);border:1px solid var(--line);padding:4px 11px;border-radius:var(--r-full);white-space:nowrap}.view .acad-pill strong{color:var(--ink-0);font-weight:600;font-variant-numeric:tabular-nums}.view .acad-att-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:var(--s-5);padding-top:var(--s-5);border-top:1px solid var(--line-soft)}.view .acad-att-stat{display:flex;flex-direction:column;gap:3px;align-items:flex-start;background:var(--surface-2);border:1px solid var(--line-soft);border-radius:var(--r-md);padding:12px 14px}.view .acad-att-num{font-family:var(--f-display);font-size:24px;font-weight:600;line-height:1;color:var(--ink-0);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.view .acad-att-stat .comm-meta{font-size:11px;font-weight:500;letter-spacing:.03em;text-transform:uppercase;color:var(--ink-3)}@media (max-width:720px){.view .acad-att-summary{grid-template-columns:repeat(2,1fr)}}.view .acad-split{display:grid;grid-template-columns:320px 1fr;gap:var(--s-5)}@media (max-width:900px){.view .acad-split{grid-template-columns:1fr}}.view .acad-list{display:flex;flex-direction:column;gap:8px}.view .acad-asmt{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:12px 14px;cursor:pointer;width:100%;font:inherit;transition:border-color var(--t-fast) var(--ease),background var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}@media (hover:hover){.view .acad-asmt:hover{border-color:var(--sage-300);box-shadow:var(--shadow-sm)}}.view .acad-asmt.active{border-color:var(--brand);background:var(--brand-soft);box-shadow:inset 2px 0 0 var(--brand)}.view .acad-asmt-title{font-weight:600;font-size:14px;color:var(--ink-0)}.view .acad-asmt svg{width:16px;height:16px;opacity:.45;transform:rotate(180deg)}.view .acad-detail{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-5);min-height:220px;box-shadow:var(--shadow-sm)}.view .acad-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:var(--s-4)}.view .acad-hint{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--ink-3);padding:var(--s-9) var(--s-4);text-align:center;min-height:200px}.view .acad-hint svg{width:30px;height:30px;opacity:.4}.view .acad-hint p{font-size:13.5px;color:var(--ink-3);max-width:34ch}.view .acad-att-group{display:flex;gap:6px;flex-wrap:wrap}.view .acad-att-btn{border:1px solid var(--line);background:var(--surface);border-radius:var(--r-sm);padding:6px 12px;font:inherit;font-size:12.5px;cursor:pointer;color:var(--ink-2);font-weight:500;transition:all var(--t-fast) var(--ease)}@media (hover:hover){.view .acad-att-btn:hover{border-color:var(--ink-4);color:var(--ink-0)}}.view .acad-att-btn.on{background:var(--c,var(--brand));border-color:var(--c,var(--brand));color:#fff;font-weight:600;box-shadow:var(--shadow-sm)}.view .comm-chip{font-size:11px;font-weight:600;letter-spacing:.02em;background:var(--surface-3);color:var(--ink-2);padding:4px 10px;border-radius:var(--r-full);display:inline-flex;align-items:center;gap:6px;box-shadow:inset 0 0 0 1px var(--line-soft)}.view .comm-chip.is-closed{background:var(--danger-soft);color:var(--danger);box-shadow:inset 0 0 0 1px var(--danger-border)}.view .comm-list{display:flex;flex-direction:column;gap:12px}.view .comm-card{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px 18px;cursor:pointer;width:100%;font:inherit;box-shadow:var(--shadow-sm);transition:border-color var(--t-med) var(--ease),transform var(--t-med) var(--ease),box-shadow var(--t-med) var(--ease)}@media (hover:hover){.view .comm-card:hover{border-color:var(--sage-200);transform:translateY(-2px);box-shadow:var(--shadow-md)}}.view .comm-card:active{transform:translateY(0)}.view .comm-card-top{display:flex;align-items:center;gap:11px;margin-bottom:9px}.view .comm-card-title{font-family:var(--f-sans);font-weight:600;color:var(--ink-0);font-size:15px;letter-spacing:-.005em}.view .comm-card-body{color:var(--ink-2);font-size:13.5px;margin:0 0 11px;line-height:1.55}.view .comm-card-foot{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.view .mini-av{box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),0 1px 3px rgba(0,0,0,.12)}.view .comm-chip.pin{margin-left:auto;background:var(--warn-soft);color:var(--warn);box-shadow:inset 0 0 0 1px var(--clay-200)}:root[data-theme="dark"] .view .comm-chip.pin{box-shadow:inset 0 0 0 1px rgba(184,128,82,.4)}.view .comm-detail{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-5);box-shadow:var(--shadow-sm)}.view .comm-conv{border-radius:var(--r-md);transition:background var(--t-fast) var(--ease)}@media (hover:hover){.view .comm-conv:hover{background:var(--surface-2)}}.view .comm-bubble{background:var(--surface-2);color:var(--ink-0);border:1px solid var(--line-soft);padding:9px 13px;border-radius:14px;font-size:14px;line-height:1.45}.view .comm-msg.mine .comm-bubble{background:var(--brand);color:#fff;border-color:transparent}.view .comm-badge{background:var(--brand);color:#fff;box-shadow:var(--shadow-sm)}@media (prefers-reduced-motion:reduce){.card,.qa,.kpi,.btn,.chip,.tab,.ai-item,.row.clickable,.nav-item,.icon-btn,.view .comm-card,.view .acad-subj,.view .acad-asmt,.view .acad-att-btn{transition:none !important}.card.hover:hover,.kpi.hover:hover,.qa:hover,.btn.primary:hover,.view .comm-card:hover{transform:none !important}}body.reduce-motion .card.hover:hover,body.reduce-motion .kpi.hover:hover,body.reduce-motion .qa:hover,body.reduce-motion .btn.primary:hover,body.reduce-motion .view .comm-card:hover{transform:none !important}.pk-skel{position:relative;overflow:hidden;background:var(--surface-2);border-radius:var(--r-sm)}.pk-skel::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 32%,color-mix(in srgb,var(--surface) 72%,transparent) 50%,transparent 68%);background-size:220% 100%;animation:pkShimmer 1.15s linear infinite}@keyframes pkShimmer{from{background-position:200% 0}to{background-position:-200% 0}}.pk-skel--text{height:13px;border-radius:6px}.pk-skel--title{height:22px;width:min(320px,56%);border-radius:8px}.pk-skel--eyebrow{height:11px;width:96px;border-radius:6px}.pk-skel--kpi{height:104px;border-radius:var(--r-lg)}.pk-skel--row{height:52px;border-radius:var(--r-md)}.pk-skel--circle{border-radius:50%}.pk-skel-stack{display:grid;gap:10px}@media (prefers-reduced-motion:reduce){.pk-skel::after{animation:none;opacity:.5}}body.reduce-motion .pk-skel::after{animation:none;opacity:.5}.pk-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;padding:56px 24px;border:1px dashed var(--line);border-radius:var(--r-lg);background:color-mix(in srgb,var(--surface) 55%,transparent)}.pk-empty .glyph{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--surface-2);color:var(--ink-3);margin-bottom:4px}.pk-empty .glyph svg{width:25px;height:25px}.pk-empty h3{margin:0;font-size:15.5px;color:var(--ink-1);font-weight:600}.pk-empty p{margin:0;font-size:13.5px;color:var(--ink-3);max-width:380px;line-height:1.5}.pk-empty .btn{margin-top:10px}.btn:focus-visible,.tab:focus-visible,.chip:focus-visible,.icon-btn:focus-visible,.row.clickable:focus-visible,.nav-item:focus-visible,a:focus-visible,.acad-tab:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,[role="button"]:focus-visible,button:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:var(--r-sm)}