@keyframes spin{to{transform:rotate(360deg)}}:root{--ground: #F2F2F8;--bg: #F2F2F8;--surface: #FFFFFF;--surface-2: #F3F2F9;--line: #EAE8F2;--line-2: #EFEDF6;--ink: #27243A;--ink-2: #4D4963;--muted: #7E7A92;--accent: #6D5BFF;--accent-ink: #5340F0;--accent-strong: #5340F0;--accent-soft: #EDE9FF;--chip: #EDE9FF;--hero-a: #221D4E;--hero-b: #6D5BFF;--hero-c: #C9A8FF;--good: #2FA36B;--good-soft: #E5F5EC;--success: #2FA36B;--success-bg: #E5F5EC;--warn: #C98A3F;--warn-soft: #FAF0DF;--warning: #C98A3F;--warning-bg: #FAF0DF;--bad: #D2695F;--bad-soft: #FBEAE7;--danger: #D2695F;--danger-bg: #FBEAE7;--info: #5F8FD8;--info-soft: #E8EEFB;--info-bg: #E8EEFB;--accent-grad: linear-gradient(135deg, #6D5BFF, #9F7CFF 70%, #C9A8FF);--avatar-grad: linear-gradient(135deg, #6D5BFF, #F0ABFC);--sidebar-grad: radial-gradient(340px 260px at 85% -8%, rgba(159,124,255,.28), transparent 60%), radial-gradient(280px 300px at -20% 108%, rgba(240,171,252,.14), transparent 55%), linear-gradient(196deg, #171430, #1C1838 62%, #241E4E);--hero-grad: linear-gradient(115deg, #221D4E, #6D5BFF 55%, #9F7CFF 85%, #F0ABFC 125%);--shadow: 0 1px 2px rgba(24,20,45,.04), 0 4px 10px rgba(24,20,45,.04), 0 16px 36px rgba(24,20,45,.06);--shadow-lg: 0 2px 6px rgba(24,20,45,.07), 0 12px 24px rgba(24,20,45,.08), 0 32px 64px rgba(24,20,45,.1);--r: 18px;--radius: 18px;--r-sm: 8px;--r-md: 12px;--ring: 0 0 0 3.5px var(--accent-soft)}:root[data-theme=dark]{color-scheme:light}*,*:before,*:after{box-sizing:border-box}::selection{background:var(--accent-soft);color:var(--accent-ink)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#d8d4e6;border-radius:99px;border:2px solid var(--ground)}::-webkit-scrollbar-track{background:transparent}body{margin:0;font:14px/1.5 Segoe UI Variable Text,Segoe UI,system-ui,-apple-system,sans-serif;background:var(--ground);color:var(--ink);-webkit-font-smoothing:antialiased}button{font:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.ms{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:20px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}.app-layout{display:flex;height:100vh;overflow:hidden}.app-sidebar{background:var(--sidebar-grad);width:232px;flex-shrink:0;display:flex;flex-direction:column;overflow-y:auto;padding:20px 13px 15px;gap:3px}.brand{display:flex;align-items:center;gap:10px;padding:2px 8px 14px}.brand-mark{width:34px;height:34px;border-radius:11px;flex-shrink:0;background:linear-gradient(135deg,#6d5bff,#f0abfc);display:grid;place-items:center;color:#fff;font-weight:800;font-size:15px;letter-spacing:-.5px;box-shadow:0 4px 14px #6d5bff80}.brand-name{font-weight:750;font-size:13.5px;letter-spacing:.02em;color:#fff}.brand-sub{font-size:10.5px;color:#ffffffa6}.srv{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:9px;border:1px solid rgba(255,255,255,.25);background:none;width:100%;text-align:left;cursor:pointer;font-size:12px;color:#ffffffe6;margin-bottom:10px;font-family:inherit;transition:background .12s}.srv:hover{background:#ffffff14}.srv-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:#5fcb8f;box-shadow:0 0 0 3px #4cc97e4d;transition:background .2s}.srv .ms{font-size:14px;margin-left:auto;color:#ffffff80}.nav-section-label,.sb-section{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#ffffff8c;padding:16px 10px 7px}.nav-item{position:relative;display:flex;align-items:center;gap:11px;width:100%;padding:9px 11px;border-radius:10px;border:none;background:none;cursor:pointer;color:#ffffffc7;font-family:inherit;font-size:13.5px;font-weight:540;text-align:left;transition:background .12s,color .12s}.nav-item .ms{font-size:18px;opacity:.8;transition:opacity .12s}.nav-item:hover{background:#ffffff1f;color:#fff}.nav-item:focus-visible{outline:2px solid var(--hero-c);outline-offset:-2px}.nav-item.active{background:#9f7cff47;color:#fff;font-weight:700;box-shadow:inset 3px 0 #c9a8ff,0 0 20px #6d5bff26}.nav-item.active .ms{opacity:1}.nav-badge{margin-left:auto;font-size:10px;font-weight:800;background:var(--bad);color:#fff;border-radius:99px;padding:2px 7px;min-width:19px;text-align:center}.sidebar-spacer,.sb-spacer{flex:1}.sidebar-divider{border:none;border-top:1px solid rgba(255,255,255,.12);margin:8px 4px}.sb-account{display:flex;align-items:center;gap:9px;width:100%;padding:10px 6px;margin-top:4px;border:none;border-top:1px solid rgba(255,255,255,.22);border-radius:0;background:none;cursor:pointer;text-align:left;font-family:inherit;transition:background .12s}.sb-account:hover{background:#ffffff14;border-radius:10px}.avatar{width:30px;height:30px;border-radius:50%;background:#ffffff2e;display:grid;place-items:center;font-weight:700;font-size:12.5px;color:#fff;flex-shrink:0}.sb-account-meta{min-width:0;flex:1}.sb-account-name{font-size:12.5px;font-weight:650;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sb-account-role{font-size:10.5px;color:#ffffffa6}.sb-version{text-align:center;font-size:9.5px;letter-spacing:.08em;color:#fff6;padding:8px 0 2px}@media (max-width: 900px){.app-sidebar{width:64px;padding:20px 8px 15px}.brand-name,.brand-sub,.sb-section,.nav-section-label,.nav-item>span:not(.ms):not(.nav-badge),.sb-account-meta,.srv>span:not(.srv-dot),.srv .ms,.sb-version{display:none}.nav-badge{position:absolute;top:2px;right:2px}}.app-content-wrap{flex:1;display:flex;flex-direction:column;overflow:hidden}.app-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:30px 36px 42px;background:linear-gradient(180deg,#EFEDF8 0%,var(--ground) 300px);position:relative}.page-top{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:24px}.app-content h1,.page-title{font-size:24px;font-weight:800;margin:0;letter-spacing:-.022em;color:var(--ink)}.sub{color:var(--muted);font-size:13.5px;margin-top:4px;font-weight:480}.back{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:13px;font-weight:570;margin-bottom:14px;border:none;background:none;cursor:pointer;border-radius:8px;padding:4px 8px 4px 4px;font-family:inherit;transition:background .12s,color .12s}.back:hover{background:var(--surface-2);color:var(--ink-2)}.back .ms{font-size:16px}.btn{display:inline-flex;align-items:center;gap:7px;padding:10px 18px;border-radius:12px;font-family:inherit;font-weight:640;font-size:13.5px;border:1px solid transparent;cursor:pointer;transition:transform .12s,box-shadow .12s,background .12s}.btn:disabled{opacity:.55;cursor:not-allowed}.btn .ms{font-size:16px}.btn-primary{background:var(--accent-grad);color:#fff;box-shadow:0 3px 10px #6d5bff42}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 5px 14px #6d5bff52}.btn-ghost{color:var(--ink-2);background:var(--surface-2)}.btn-ghost:hover:not(:disabled){background:#e8e6f2;transform:translateY(-1px)}.btn-danger-ghost{color:var(--bad);background:var(--bad-soft)}.btn-danger-ghost:hover:not(:disabled){transform:translateY(-1px)}.btn-danger{background:var(--bad);color:#fff;box-shadow:0 3px 10px #d2695f4d}.btn-danger:hover:not(:disabled){transform:translateY(-1px)}.chip{padding:8px 16px;border-radius:99px;border:1px solid var(--line);font-family:inherit;font-size:12.5px;font-weight:600;color:var(--ink-2);background:var(--surface);cursor:pointer;transition:all .12s}.chip:hover{border-color:var(--accent);color:var(--accent-ink)}.chip.on{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:680;box-shadow:0 2px 8px #6d5bff33}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.searchbar{display:flex;align-items:stretch;background:var(--surface);border:1px solid rgba(24,20,45,.045);border-radius:14px;box-shadow:var(--shadow);max-width:580px;flex:1;min-width:280px;position:relative;transition:border-color .12s,box-shadow .12s}.searchbar:hover,.searchbar:focus-within{border-color:var(--accent);box-shadow:var(--shadow-lg)}.searchbar .q{display:flex;align-items:center;gap:10px;padding:0 16px;color:var(--muted);flex:1;font-size:13.5px;min-width:0}.searchbar .q .ms{font-size:17px;flex-shrink:0}.searchbar .q input{flex:1;border:none;background:none;outline:none;font:inherit;color:var(--ink);padding:11px 0;min-width:0}.searchbar .sep{width:1px;background:var(--line);margin:8px 0}.searchbar .filt{display:flex;align-items:center;gap:8px;padding:11px 17px;font-size:13px;font-weight:650;color:var(--ink-2);cursor:pointer;white-space:nowrap;border:none;background:none;font-family:inherit;border-radius:0 14px 14px 0;transition:background .12s}.searchbar .filt:hover{background:var(--surface-2)}.searchbar .filt .ms{font-size:16px}.fmenu{position:absolute;top:calc(100% + 8px);right:0;background:var(--surface);border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow-lg);padding:6px;z-index:60;min-width:200px;animation:fadeUp .15s ease}.fmenu button{display:flex;width:100%;padding:9px 13px;border-radius:9px;font-size:13px;gap:9px;align-items:center;color:var(--ink-2);font-weight:570;text-align:left;border:none;background:none;cursor:pointer;font-family:inherit}.fmenu button:hover{background:var(--surface-2)}.fmenu button.sel{color:var(--accent-ink);font-weight:700;background:var(--accent-soft)}.fmenu .n{margin-left:auto;color:var(--muted);font-size:11.5px;font-weight:700;font-variant-numeric:tabular-nums}.card{background:var(--surface);border:1px solid rgba(24,20,45,.045);border-radius:var(--r);box-shadow:var(--shadow)}.card-h{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--line)}.card-title{font-weight:750;font-size:15px;letter-spacing:-.012em;color:var(--ink)}.card-sub{font-size:12px;color:var(--muted);margin-top:1px}.card-h .right{margin-left:auto;font-size:12px;color:var(--accent-ink);font-weight:650}.card-body{padding:18px 20px}.home-hero{border-radius:22px;padding:26px 30px;color:#fff;margin-bottom:24px;background:var(--hero-grad);box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:18px;flex-wrap:wrap;position:relative;overflow:hidden}.home-hero:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(420px 170px at 88% -30%,rgba(255,255,255,.28),transparent 62%)}.home-hero h1{color:#fff;font-size:25px}.home-hero .sub{color:#ffffffd1}.hh-left{position:relative;z-index:1}.hh-right{margin-left:auto;display:flex;gap:9px;position:relative;z-index:1;flex-wrap:wrap}.hh-pill{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:650;padding:7px 14px;border-radius:99px;background:#ffffff29;border:1px solid rgba(255,255,255,.26);color:#fff}.hh-pill .dot{width:7px;height:7px}.kstrip{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));background:var(--surface);border:1px solid rgba(24,20,45,.045);border-radius:var(--r);box-shadow:var(--shadow);margin-bottom:24px;overflow:hidden}.kseg{display:flex;align-items:center;gap:14px;padding:20px 22px;text-align:left;background:none;border:none;cursor:pointer;font-family:inherit;position:relative;transition:background .12s}.kseg:hover{background:var(--surface-2)}.kseg+.kseg{border-left:1px solid var(--line)}.kico{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;flex-shrink:0}.kico .ms{font-size:18px}.kv{font-size:26px;font-weight:800;letter-spacing:-.025em;font-variant-numeric:tabular-nums;line-height:1.15;color:var(--ink)}.kv small{font-size:13px;color:var(--muted);font-weight:650}.kl{font-size:10.5px;font-weight:750;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-top:1px}.kdelta{position:absolute;top:14px;right:16px;font-size:10.5px;font-weight:750;padding:3px 9px;border-radius:99px}.kdelta.up{color:var(--good);background:var(--good-soft)}.kdelta.warn{color:var(--warn);background:var(--warn-soft)}.kdelta.bad{color:var(--bad);background:var(--bad-soft)}.kdelta.mut{color:var(--muted);background:var(--surface-2)}.alist{padding:14px 16px 16px;display:grid;gap:10px}.arow{display:grid;grid-template-columns:42px minmax(0,1fr) auto 118px;gap:14px;align-items:center;border:1px solid rgba(24,20,45,.05);border-radius:14px;padding:11px 14px;background:var(--surface);box-shadow:0 1px 2px #18142d08;transition:transform .13s,border-color .13s,box-shadow .13s}.arow:hover{transform:translateY(-1px);border-color:var(--accent);box-shadow:0 10px 24px #6d5bff21}.a-avatar{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;color:#fff;font-weight:780;font-size:14px;box-shadow:0 0 0 3px var(--surface),0 3px 10px #27243a33}.a-title{font-weight:740;font-size:13.5px;letter-spacing:-.005em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}.a-sub{display:block;font-size:12px;color:var(--muted);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.a-num{text-align:right;white-space:nowrap}.a-num b{font-size:17px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.a-num small{display:block;font-size:9.5px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:1px}.a-act{display:flex;justify-content:flex-end}.a-act .chip{min-width:106px;text-align:center;justify-content:center;display:inline-flex}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(276px,1fr));gap:16px}.school{background:var(--surface);border:1px solid rgba(24,20,45,.045);border-radius:var(--r);padding:18px;box-shadow:var(--shadow);text-align:left;display:flex;flex-direction:column;gap:13px;border-width:1px;cursor:pointer;font-family:inherit;transition:transform .14s,box-shadow .14s,border-color .14s}.school:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 14px 30px #6d5bff26}.school-top{display:flex;align-items:center;gap:12px}.s-avatar{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;color:#fff;font-weight:780;font-size:16px;flex-shrink:0;letter-spacing:-.3px;box-shadow:0 0 0 3px var(--surface),0 4px 12px #27243a38}.s-name{font-weight:750;font-size:15.5px;letter-spacing:-.012em;color:var(--ink)}.s-city{font-size:12.5px;color:var(--muted);margin-top:1px}.s-dot{width:10px;height:10px;border-radius:50%;margin-left:auto;flex-shrink:0;margin-top:4px}.s-dot.g{background:var(--good);box-shadow:0 0 0 3.5px var(--good-soft)}.s-dot.w{background:var(--warn);box-shadow:0 0 0 3.5px var(--warn-soft)}.s-dot.b{background:var(--bad);box-shadow:0 0 0 3.5px var(--bad-soft)}.s-meta{display:flex;gap:16px;align-items:baseline;flex-wrap:wrap}.s-m{display:inline-flex;gap:7px;align-items:baseline;font-size:12px;color:var(--muted);white-space:nowrap}.s-m .ms{font-size:14px;align-self:center}.s-m b{font-size:14.5px;color:var(--ink);font-weight:760;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.s-sync{margin-left:auto;font-size:12px;color:var(--muted)}.s-foot{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--ink-2);font-weight:540;border-top:1px solid var(--line);padding-top:12px;margin-top:2px}.pill{font-size:11px;font-weight:750;letter-spacing:.05em;text-transform:uppercase;padding:4px 11px;border-radius:99px}.pill-pro{background:var(--accent-soft);color:var(--accent-ink)}.pill-warn{background:var(--warn-soft);color:var(--warn)}.pill-off{background:var(--surface-2);color:var(--muted)}.dot{width:7px;height:7px;border-radius:50%;display:inline-block}.dot.g{background:var(--good)}.dot.w{background:var(--warn)}.dot.b{background:var(--bad)}.bar{height:7px;border-radius:99px;background:var(--surface-2);overflow:hidden;box-shadow:inset 0 0 0 1px var(--line)}.bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--hero-b),var(--hero-c))}.bar i.warn{background:linear-gradient(90deg,#c98a3f,#f2c075)}.bar i.bad{background:linear-gradient(90deg,#d2695f,#f0a79e)}.hero{border-radius:20px 20px 0 0;box-shadow:var(--shadow-lg);margin-bottom:0;background:radial-gradient(420px 200px at 88% -30%,rgba(240,171,252,.3),transparent 60%),radial-gradient(300px 220px at 8% 120%,rgba(159,124,255,.25),transparent 55%),linear-gradient(115deg,#221d4e,#4a3ecb 55%,#6d5bff);color:#fff;position:relative;overflow:hidden}.hero-in{position:relative;z-index:1;padding:24px 26px 20px;display:flex;gap:16px;align-items:center;flex-wrap:wrap}.h-avatar{width:62px;height:62px;border-radius:16px;color:#fff;background:#ffffff24;border:1.5px solid rgba(255,255,255,.3);display:grid;place-items:center;font-weight:800;font-size:23px;letter-spacing:-.5px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);flex-shrink:0}.h-name{font-size:21px;font-weight:760;letter-spacing:-.015em;color:#fff}.h-meta{display:flex;align-items:center;gap:8px;margin-top:8px;flex-wrap:wrap}.h-pill{font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:4px 11px;border-radius:99px;background:#ffffff26;border:1px solid rgba(255,255,255,.25);color:#fff}.h-pill.ok{background:#7fe0a838;border-color:#7fe0a873;color:#b7f4cf}.h-pill.warn{background:#f2c07538;border-color:#f2c07580;color:#fbe3bc}.h-city{font-size:12.5px;color:#ffffffbf}.h-health{display:flex;flex-direction:column;align-items:center;gap:3px;margin-left:auto;align-self:center}.h-health-label{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#ffffffbf}.h-actions{display:flex;gap:9px;align-self:center;flex-wrap:wrap}.h-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:11px;font-family:inherit;font-weight:650;font-size:13px;cursor:pointer;background:#ffffff21;color:#fff;border:1px solid rgba(255,255,255,.28);transition:background .12s,transform .12s}.h-btn:hover{background:#ffffff38;transform:translateY(-1px)}.h-btn.solid{background:#fff;color:#2a2456;border-color:transparent;box-shadow:0 4px 14px #0a081e40}.h-btn.solid:hover{background:#f4f1ff}.h-btn .ms{font-size:15px}.tabs{display:flex;gap:6px;padding:10px 14px;background:var(--surface);border:1px solid rgba(24,20,45,.045);border-top:none;border-radius:0 0 20px 20px;margin-bottom:22px;overflow-x:auto;box-shadow:var(--shadow)}.tab{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;font-size:13px;font-weight:600;color:var(--muted);border-radius:10px;white-space:nowrap;border:none;background:none;cursor:pointer;font-family:inherit;transition:background .12s,color .12s}.tab .ms{font-size:16px}.tab:hover{color:var(--ink-2);background:var(--surface-2)}.tab.active{color:var(--accent-ink);background:var(--accent-soft);font-weight:700}.tab .n{font-size:10.5px;font-weight:700;background:var(--surface-2);color:var(--muted);border-radius:99px;padding:1.5px 7px;margin-left:5px;font-variant-numeric:tabular-nums}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin-bottom:20px}.tile{background:linear-gradient(180deg,var(--surface) 55%,#FBFAFE);border:1px solid rgba(24,20,45,.045);border-radius:var(--r);padding:17px 19px;box-shadow:var(--shadow);transition:transform .14s,box-shadow .14s}.tile:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.tile-top{display:flex;align-items:center;gap:9px;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:9px}.tile-ico{width:30px;height:30px;border-radius:9px;display:grid;place-items:center}.tile-ico .ms{font-size:16px}.tile-value{font-size:24px;font-weight:780;letter-spacing:-.022em;font-variant-numeric:tabular-nums;color:var(--ink)}.tile-hint{font-size:12px;color:var(--muted);margin-top:2px;font-weight:540}.tbl-wrap{overflow-x:auto}.tbl{width:100%;border-collapse:collapse;font-size:13.5px}.tbl th{font-size:11px;font-weight:750;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-2);text-align:left;padding:12px 18px;border-bottom:1px solid var(--line);background:var(--surface-2);white-space:nowrap}.tbl td{padding:13px 18px;border-bottom:1px solid var(--line);vertical-align:middle;color:var(--ink-2)}.tbl tr:last-child td{border-bottom:none}.tbl tbody tr:hover td{background:var(--surface-2)}.tbl tbody tr.clickable{cursor:pointer}.mono{font-family:Consolas,ui-monospace,monospace;font-size:11.5px;color:var(--muted)}.badge{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;padding:4.5px 11px;border-radius:99px}.badge .dot{width:6px;height:6px}.badge.ok,.badge-success{background:var(--good-soft);color:var(--good)}.badge.warn,.badge-warning{background:var(--warn-soft);color:var(--warn)}.badge.off,.badge-muted{background:var(--surface-2);color:var(--muted)}.badge.bad,.badge-danger{background:var(--bad-soft);color:var(--bad)}.badge-info{background:var(--info-soft);color:var(--info)}.badge-accent{background:var(--accent-soft);color:var(--accent-ink)}.badge .ms{font-size:13px}.devc{background:var(--surface);border:1px solid rgba(24,20,45,.045);border-radius:var(--r);padding:15px 15px 14px 19px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden;text-align:left;transition:transform .14s,box-shadow .14s}.devc:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 14px 30px #6d5bff26}.devc:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--good)}.devc.w:before{background:var(--warn)}.devc.x:before{background:var(--line)}.devc .school-top{align-items:flex-start}.devc .school-top>div:nth-child(2){min-width:0;flex:1}.devc .school-top>span{flex-shrink:0}.dev-ico{width:38px;height:38px;border-radius:11px;background:var(--accent-soft);display:grid;place-items:center;color:var(--accent-ink);flex-shrink:0}.dev-ico .ms{font-size:19px}.dev-name{font-weight:750;font-size:14px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dev-school{font-size:12px;color:var(--muted);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.devc-screen{background:#2b2743;color:#c9c0f6;font-family:Consolas,ui-monospace,monospace;font-size:11px;padding:7px 12px;border-radius:8px;display:flex;align-items:center;gap:8px}.devc-screen .cur{width:7px;height:12px;background:#c9c0f6;opacity:.7;animation:blink 1.2s steps(1) infinite;flex-shrink:0}@keyframes blink{50%{opacity:0}}.devc-screen .vr{margin-left:auto;color:#ffffff8c}.devc-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:10px}.tagm{font-size:11px;font-weight:650;background:var(--surface-2);color:var(--ink-2);padding:4px 10px;border-radius:7px;font-variant-numeric:tabular-nums;white-space:nowrap}.devc .badge{font-size:10px;padding:3px 8px;white-space:nowrap;flex-shrink:0;letter-spacing:.01em;margin-top:2px}.devc .badge .dot{width:5px;height:5px}.member{background:var(--surface);border:1px solid rgba(24,20,45,.045);border-radius:var(--r);padding:18px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:14px;transition:transform .14s,box-shadow .14s,border-color .14s}.member:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 14px 30px #6d5bff26}.m-avatar{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:780;font-size:15px;flex-shrink:0;box-shadow:0 0 0 3px var(--surface),0 4px 12px #27243a38}.m-name{font-weight:750;font-size:14.5px;letter-spacing:-.01em;color:var(--ink)}.m-role{font-size:12px;color:var(--muted);margin-top:2px}.m-foot{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:13px}.m-pin{font-family:Consolas,ui-monospace,monospace;font-size:13px;letter-spacing:.25em;color:var(--muted)}.st-cta{font-size:12px;font-weight:650;color:var(--accent-ink);background:var(--accent-soft);padding:5px 12px;border-radius:8px;border:none;cursor:pointer;font-family:inherit;transition:transform .12s,background .12s}.st-cta:hover{transform:translate(2px);background:#dcd7fa}.st-cta:disabled{opacity:.55;cursor:not-allowed}.fico{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.fico .ms{font-size:14px}.licdoc{background:var(--surface);border:1px solid rgba(24,20,45,.045);border-radius:var(--r);box-shadow:var(--shadow);max-width:350px;overflow:hidden;position:relative;transition:transform .14s,box-shadow .14s}.licdoc:hover{transform:translateY(-2px);box-shadow:0 14px 30px #6d5bff21}.licdoc:before{content:"";position:absolute;top:0;left:0;right:0;height:3.5px;background:linear-gradient(90deg,#6d5bff,#9f7cff,#f0abfc)}.licdoc-h{display:flex;align-items:center;gap:10px;padding:16px 18px 0}.licdoc-brand{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink)}.licdoc-body{display:flex;gap:30px;padding:16px 18px}.licdoc-f{font-size:10px;font-weight:750;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.licdoc-v{font-size:16px;font-weight:760;font-variant-numeric:tabular-nums;margin-top:2px;letter-spacing:-.01em;color:var(--ink)}.licdoc-foot{display:flex;align-items:center;gap:10px;padding:11px 20px;border-top:1px solid var(--line);background:var(--surface-2)}.wsteps{display:flex;align-items:center;margin:2px 0 22px}.wstep{display:flex;align-items:center;gap:10px;flex-shrink:0}.wdot{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:14.5px;background:var(--surface);border:2px solid var(--line);color:var(--muted);transition:all .22s;box-shadow:var(--shadow)}.wstep.cur .wdot{background:linear-gradient(135deg,#6d5bff,#9f7cff);border-color:transparent;color:#fff;box-shadow:0 6px 18px #6d5bff66;transform:scale(1.06)}.wstep.done .wdot{background:var(--good);border-color:var(--good);color:#fff}.wlabel{font-size:12.5px;font-weight:650;color:var(--muted);white-space:nowrap}.wstep.cur .wlabel{color:var(--accent-ink);font-weight:750}.wstep.done .wlabel{color:var(--good)}.wline{flex:1;height:2.5px;background:var(--line);margin:0 14px;border-radius:99px;transition:background .3s;min-width:24px}.wline.done{background:var(--good)}.wkick{font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-ink);margin-bottom:7px}.wtitle{font-weight:800;font-size:19.5px;letter-spacing:-.015em;color:var(--ink)}.wsub{font-size:13.5px;color:var(--muted);margin-top:4px}.wbody{padding:28px 30px 0}.wfoot{display:flex;justify-content:space-between;gap:10px;padding:20px 30px 26px;border-top:1px solid var(--line);margin-top:26px;background:var(--surface-2)}.wfoot .btn{padding:10.5px 22px;border-radius:11px}@keyframes popIn{0%{transform:scale(.4);opacity:0}70%{transform:scale(1.12)}to{transform:scale(1);opacity:1}}.wsuccess{animation:popIn .45s cubic-bezier(.34,1.56,.64,1)}.wcode{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px 18px;text-align:left;box-shadow:var(--shadow)}.wcode:hover{border-color:var(--accent)}.wcode-label{font-size:10.5px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.wcode-value{display:flex;align-items:center;gap:8px;margin-top:6px;font-family:Consolas,ui-monospace,monospace;font-size:13px;font-weight:650;color:var(--ink);word-break:break-all}.field{display:grid;gap:7px;font-size:12.5px;font-weight:650;color:var(--ink-2);margin-bottom:14px}.field label{font-size:12.5px;font-weight:650;color:var(--ink-2)}.field input,.field select,.field textarea,.fld{font:inherit;font-weight:450;width:100%;padding:12px 15px;border:1px solid transparent;background:var(--surface-2);border-radius:11px;color:var(--ink);outline:none;transition:border-color .15s,box-shadow .15s,background .15s}.field input:focus,.field select:focus,.field textarea:focus,.fld:focus,input.fld:focus{border-color:var(--accent);background:var(--surface);box-shadow:var(--ring)}.field input.required-err{border-color:var(--bad)}input,select,textarea{font-family:inherit;color:var(--ink)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}input[type=checkbox],input[type=radio]{accent-color:var(--accent);width:16px;height:16px;cursor:pointer}select{appearance:none;-webkit-appearance:none;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='%237E7A92' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;padding-right:36px;cursor:pointer}.field input:disabled,.field select:disabled,.fld:disabled{opacity:.55;cursor:not-allowed}.fields-r2{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}@media (max-width: 640px){.fields-r2{grid-template-columns:1fr}}.modal-ov{position:fixed;inset:0;background:#18152d73;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeUp .18s ease}.modal{background:var(--surface);border-radius:18px;box-shadow:var(--shadow-lg);width:min(460px,92%);max-height:90vh;overflow-y:auto}.modal-h{padding:18px 22px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:11px}.modal-h-title{font-weight:780;font-size:15.5px;color:var(--ink)}.modal-h-sub{font-size:12px;color:var(--muted)}.modal-b{padding:20px 22px;display:grid;gap:14px}.modal-b .field{margin-bottom:0}.modal-f{padding:16px 22px;border-top:1px solid var(--line);display:flex;gap:10px;justify-content:flex-end;background:var(--surface-2)}.ntf-group{padding:10px 22px;background:var(--surface-2);border-bottom:1px solid var(--line);font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.ntf-group:not(:first-child){border-top:1px solid var(--line)}.ntf-row{display:grid;grid-template-columns:40px minmax(0,1fr) 56px 128px;gap:16px;align-items:center;padding:14px 22px;border-bottom:1px solid var(--line);position:relative;transition:background .12s}.ntf-row:last-child{border-bottom:none}.ntf-row:hover{background:var(--surface-2)}.ntf-row.unread{background:linear-gradient(90deg,#6d5bff0f,#6d5bff04 70%);box-shadow:inset 3px 0 0 var(--accent)}.ntf-row.unread:hover{background:linear-gradient(90deg,#6d5bff1a,#6d5bff08 70%)}.ntf-row.read{opacity:.72}.ntf-ico{width:40px;height:40px;border-radius:50%;display:grid;place-items:center}.ntf-ico .ms{font-size:18px}.ntf-title{font-size:13.5px;font-weight:720;letter-spacing:-.005em;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ntf-sub{font-size:12.5px;color:var(--muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ntf-time{font-size:11.5px;color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.ntf-act{display:flex;justify-content:flex-end}.ntf-act .st-cta{margin:0;min-width:118px;text-align:center;justify-content:center;display:inline-flex;align-items:center}.bp-day{display:inline-flex;align-items:center;gap:6px;margin:14px 16px 6px;font-size:10.5px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink);background:var(--accent-soft);padding:4px 12px;border-radius:99px}.bp-item{display:flex;gap:12px;align-items:center;padding:11px 16px;border-bottom:1px solid var(--line);position:relative;transition:background .12s}.bp-item:hover{background:var(--surface-2)}.bp-item:last-of-type{border-bottom:none}.bp-item .t{font-size:13px;line-height:1.4;min-width:0;color:var(--ink-2)}.bp-item .t b{color:var(--ink)}.bp-time{margin-left:auto;font-size:11px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;padding-left:10px}.empty-state,.placeholder{text-align:center;padding:40px 24px;color:var(--muted);font-size:13px}.empty-state .ms,.placeholder .ms{font-size:48px;color:var(--line);display:block;margin:0 auto 12px}.empty-state p{margin:0 0 16px}.placeholder b{display:block;color:var(--ink-2);font-size:14.5px;margin-bottom:4px}.loading-block{text-align:center;padding:36px;color:var(--muted)}.loading-block .ms{animation:spin .8s linear infinite;font-size:28px;display:block;margin:0 auto 10px}.skel-block{background:linear-gradient(90deg,var(--line) 0%,var(--surface-2) 50%,var(--line) 100%);background-size:200% 100%;animation:shimmer 1.4s infinite;border-radius:8px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.toast-container{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;gap:8px;z-index:9999}.toast{padding:12px 16px;border-radius:12px;font-size:13.5px;font-weight:550;min-width:220px;max-width:360px;display:flex;align-items:center;gap:8px;background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow-lg);animation:slideIn .2s ease}@keyframes slideIn{0%{transform:translate(30px);opacity:0}}.toast .ms{font-size:18px}.toast-success .ms{color:var(--good)}.toast-error{border-color:var(--bad-soft)}.toast-error .ms{color:var(--bad)}.toast-info .ms{color:var(--info)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ede9ff,#f2f2f8 60%,#faf9ff)}.login-card{background:var(--surface);border-radius:20px;box-shadow:var(--shadow-lg);padding:40px 36px;width:100%;max-width:420px}.login-logo{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:6px}.login-logo .logo-icon{width:44px;height:44px;background:var(--avatar-grad);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:24px;box-shadow:0 4px 14px #6d5bff66}.login-logo h1{font-size:22px;font-weight:800;color:var(--ink);margin:0}.login-subtitle{font-size:14px;color:var(--muted);text-align:center;margin:0 0 28px}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:12.5px;font-weight:650;color:var(--ink-2);margin-bottom:6px}.form-group input{width:100%;padding:12px 15px;border:1px solid transparent;border-radius:11px;font-family:inherit;font-size:14px;color:var(--ink);background:var(--surface-2);outline:none;transition:border-color .15s,box-shadow .15s,background .15s}.form-group input:focus{border-color:var(--accent);background:var(--surface);box-shadow:var(--ring)}.form-group input:disabled{opacity:.55;cursor:not-allowed}.error-msg{background:var(--bad-soft);color:var(--bad);border-radius:10px;padding:10px 14px;font-size:13px;margin-bottom:14px;display:flex;align-items:center;gap:6px}.action-btn{background:none;border:none;cursor:pointer;padding:5px 7px;border-radius:6px;color:var(--muted);transition:background .15s,color .15s;display:inline-flex;align-items:center;font-family:inherit}.action-btn:hover{background:var(--surface-2);color:var(--ink)}.action-btn.danger:hover{background:var(--bad-soft);color:var(--bad)}.action-btn:disabled{opacity:.4;cursor:not-allowed}.kbd{margin-left:auto;font-size:11px;color:var(--muted);border:1px solid var(--line);border-radius:6px;padding:2px 7px;background:var(--surface-2);font-family:Consolas,ui-monospace,monospace}.cols{display:grid;grid-template-columns:1.35fr 1fr;gap:14px;align-items:start}@media (max-width: 1000px){.cols{grid-template-columns:1fr}}.r2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media (max-width: 1100px){.r2{grid-template-columns:1fr}}@keyframes fadeUp{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.fade-up{animation:fadeUp .18s ease}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}
