:root{--bg: #F6F8FB;--card: #fff;--ink: #0E1B2E;--soft: #55657D;--mute: #6B7A90;--line: #E3E8F0;--line2: #EEF2F7;--navy: #12355B;--nav: #0E2744;--navInk: #C9D6E8;--orange: #E97F1E;--orangeSoft: #FFF1E3;--orangeInk: #A3530B;--ok: #0F6E44;--okSoft: #E4F5EC;--bad: #B42318;--badSoft: #FDECEA;--blueSoft: #EAF0F8;--display: "Sora", "Segoe UI", system-ui, sans-serif;--body: "DM Sans", "Segoe UI", system-ui, sans-serif;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font:400 15px/1.5 var(--body)}a{color:var(--navy)}a:hover{color:var(--orange)}button,input,select,textarea{font:inherit;color:inherit}.boot{min-height:100vh;display:flex;flex-direction:column;gap:14px;align-items:center;justify-content:center;color:var(--soft)}.shell{display:flex;min-height:100vh}.side{width:236px;flex:none;background:var(--nav);color:var(--navInk);padding:18px 12px;display:flex;flex-direction:column;gap:2px;position:sticky;top:0;height:100vh;overflow-y:auto}.brand{display:flex;align-items:center;gap:10px;padding:4px 10px 16px}.brand b{font:700 18px var(--display);color:#fff;display:block}.brand small{font-size:11px;letter-spacing:.18em;color:#f7a54a;font-weight:700}.navlink{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:10px;color:var(--navInk);text-decoration:none;font-size:15px;font-weight:500}.navlink:hover{background:#ffffff14;color:#fff}.navlink.on{background:#ffffff21;color:#fff}.navlink svg{width:18px;height:18px;flex:none}.navsep{height:1px;background:#ffffff1a;margin:10px 8px}.plan{margin-top:auto;padding:12px;border-radius:12px;background:#ffffff0f;font-size:13px}.mainwrap{flex:1;min-width:0;display:flex;flex-direction:column}.top{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:14px 28px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.search{flex:1 1 280px;position:relative}.search input{width:100%;height:42px;padding:0 14px 0 40px;border:1.5px solid var(--line);border-radius:10px;background:var(--bg);font-size:15px}.search input:focus{outline:none;border-color:var(--navy);background:#fff}.search svg{position:absolute;left:13px;top:12px;color:var(--mute)}.results{position:absolute;top:48px;left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 24px 60px -20px #0e1b2e59;padding:6px;max-height:420px;overflow:auto;z-index:30}.results a{display:flex;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:10px;text-decoration:none;color:var(--ink)}.results a:hover{background:var(--bg)}.pill{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 14px;border-radius:10px;font-size:14px;font-weight:700}.pill.live{background:var(--okSoft);color:var(--ok)}.pill.off{background:var(--orangeSoft);color:var(--orangeInk)}.pill.demo{background:var(--blueSoft);color:var(--navy)}.dot{width:8px;height:8px;border-radius:50%;background:currentColor}.iconbtn{position:relative;width:42px;height:42px;border-radius:10px;border:1.5px solid var(--line);background:#fff;display:grid;place-items:center;cursor:pointer;color:var(--navy)}.badge{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--orange);color:#fff;font-size:12px;font-weight:700;display:grid;place-items:center}.avatar{width:42px;height:42px;border-radius:50%;border:0;background:var(--navy);color:#fff;font-weight:700;cursor:pointer}.page{padding:24px 28px 48px;display:flex;flex-direction:column;gap:18px}.ph{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px}.ph h1{margin:0;font:800 28px var(--display);color:var(--navy);letter-spacing:-.02em}.ph p{margin:4px 0 0;color:var(--soft)}.crumbs{font-size:14px;color:var(--soft)}.crumbs a{font-weight:700;text-decoration:none}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.grow{flex:1}.btn{height:42px;padding:0 16px;border-radius:10px;border:1.5px solid #D9E1EC;background:#fff;color:var(--navy);font-weight:700;font-size:14.5px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;text-decoration:none;white-space:nowrap}.btn:hover{border-color:var(--navy);color:var(--navy)}.btn.primary{background:var(--orange);border-color:var(--orange);color:#fff}.btn.primary:hover{background:#d9700f;color:#fff}.btn.dark{background:var(--navy);border-color:var(--navy);color:#fff}.btn.danger{color:var(--bad)}.btn.small{height:34px;padding:0 12px;font-size:13.5px}.btn.ghost{border-color:transparent;background:transparent}.btn:disabled{opacity:.55;cursor:default}.card{background:var(--card);border:1px solid var(--line);border-radius:16px}.card.pad{padding:18px 20px}.card h2,.h2{margin:0;font:700 17px var(--display);color:var(--navy)}.cardhead{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:16px 18px}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.span2{grid-column:span 2}.kpi{display:flex;flex-direction:column;gap:4px;padding:18px 20px;text-decoration:none;color:var(--ink)}.kpi span{font-size:13px;font-weight:700;color:var(--soft)}.kpi b{font:800 28px var(--display);color:var(--navy);letter-spacing:-.02em}.kpi small{font-size:13.5px;color:var(--soft)}.tag{display:inline-block;padding:3px 9px;border-radius:999px;font-size:12.5px;font-weight:700;white-space:nowrap}.tag.soon{background:var(--orangeSoft);color:var(--orangeInk)}.tag.ok{background:var(--blueSoft);color:var(--navy)}.tag.bad{background:var(--badSoft);color:var(--bad)}.tag.good{background:var(--okSoft);color:var(--ok)}.tag.grey{background:var(--line2);color:var(--soft)}.tablewrap{overflow-x:auto}table.t{width:100%;border-collapse:collapse}.t th{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--mute);text-align:left;padding:10px 14px;border-bottom:1px solid var(--line);background:#fafbfd;white-space:nowrap;position:sticky;top:0}.t th.sort{cursor:pointer}.t th.sort:hover{color:var(--navy)}.t td{padding:11px 14px;border-bottom:1px solid var(--line2);font-size:14.5px;white-space:nowrap}.t td.wrap{white-space:normal}.t tr.click{cursor:pointer}.t tr.click:hover td{background:#fafbfd}.t tr.sel td{background:#fff7ee}.t .num{text-align:right;font-variant-numeric:tabular-nums}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.muted{color:var(--soft)}.small{font-size:13.5px}.empty{padding:40px 20px;text-align:center;color:var(--soft)}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{height:36px;padding:0 14px;border-radius:999px;border:1.5px solid #D9E1EC;background:#fff;font-weight:700;font-size:14px;color:#33415c;cursor:pointer}.chip.on{background:var(--navy);border-color:var(--navy);color:#fff}.field{display:flex;flex-direction:column;gap:6px;font-size:13.5px;font-weight:700;color:#33415c;min-width:0}.field input,.field select,.field textarea{height:44px;border:1.5px solid #D9E1EC;border-radius:10px;padding:0 12px;font-size:15px;font-weight:400;background:#fff;width:100%;color:var(--ink)}.field textarea{height:80px;padding:10px 12px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px #12355b1f}.field .hint{font-size:12.5px;font-weight:400;color:var(--mute)}.err{color:var(--bad);font-weight:700;font-size:14px}.notice{padding:12px 14px;border-radius:12px;font-size:14.5px}.notice.warn{background:var(--orangeSoft);color:#7a3e08}.notice.info{background:var(--blueSoft);color:var(--navy)}.notice.bad{background:var(--badSoft);color:#8f1d14}.notice.good{background:var(--okSoft);color:var(--ok)}.kv{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--line2);font-size:14.5px}.kv>span:first-child{color:var(--soft)}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);flex-wrap:wrap}.tabs button{height:44px;padding:0 16px;border:0;background:none;border-bottom:3px solid transparent;color:var(--soft);font-weight:700;cursor:pointer}.tabs button.on{color:var(--navy);border-bottom-color:var(--orange)}.split{display:flex;gap:0;align-items:stretch;min-height:0}.split>.main{flex:1;min-width:0}.panel{width:400px;flex:none;background:#fff;border-left:1px solid var(--line);padding:20px 22px 30px;display:flex;flex-direction:column;gap:14px;position:sticky;top:71px;height:calc(100vh - 71px);overflow-y:auto}.panelhead{display:flex;gap:10px;align-items:flex-start}.panelhead h2{margin:2px 0 0;font:800 21px var(--display);color:var(--navy)}.eyebrow{font-size:12.5px;font-weight:700;letter-spacing:.08em;color:var(--orange);text-transform:uppercase}.stat{padding:12px;border-radius:12px;background:var(--bg)}.stat span{display:block;font-size:12px;font-weight:700;color:var(--mute);text-transform:uppercase;letter-spacing:.04em}.stat b{font:700 19px var(--display)}.timeline>div{display:flex;gap:12px;padding:9px 0;border-bottom:1px solid var(--line2)}.timeline i{flex:none;width:8px;height:8px;border-radius:50%;margin-top:7px;background:var(--navy)}.overlay{position:fixed;inset:0;background:#0e1b2e73;display:grid;place-items:center;padding:20px;z-index:50}.dialog{width:100%;max-width:560px;max-height:calc(100vh - 40px);overflow:auto;background:#fff;border-radius:18px;padding:22px 24px;display:flex;flex-direction:column;gap:14px;box-shadow:0 30px 80px -20px #00000073}.dialog.wide{max-width:860px}.dialog h2{margin:0;font:800 21px var(--display);color:var(--navy)}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);background:var(--nav);color:#fff;padding:12px 18px;border-radius:12px;font-weight:600;box-shadow:0 16px 40px -12px #0006;z-index:60;display:flex;gap:14px;align-items:center}.toast button{background:none;border:0;color:#f7a54a;font-weight:700;cursor:pointer}.menu{position:absolute;right:0;top:50px;width:380px;max-width:calc(100vw - 32px);background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 60px -20px #0e1b2e59;padding:8px;z-index:40}.menu a,.menu button.mi{display:flex;gap:12px;padding:11px 12px;border-radius:12px;text-decoration:none;color:var(--ink);width:100%;border:0;background:none;text-align:left;cursor:pointer}.menu a:hover,.menu button.mi:hover{background:var(--bg)}.bars{display:flex;align-items:flex-end;gap:6px;height:160px}.bars>div{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;height:100%}.bars i{width:100%;border-radius:5px 5px 2px 2px;background:var(--navy);min-height:3px}.bars span{font-size:11px;color:var(--soft)}.auth{min-height:100vh;display:grid;place-items:center;padding:20px;background:#eef2f7}.auth .box{width:100%;max-width:440px;display:flex;flex-direction:column;gap:14px}.seg{display:flex;background:#e6ecf3;border-radius:12px;padding:4px;gap:4px}.seg button{flex:1;height:38px;border:0;border-radius:9px;background:none;font-weight:700;color:var(--soft);cursor:pointer}.seg button.on{background:#fff;color:var(--navy)}@media (max-width: 1100px){.grid4{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{width:340px}}@media (max-width: 900px){.shell{flex-direction:column}.side{width:100%;height:auto;position:static;flex-direction:row;flex-wrap:wrap}.plan,.navsep{display:none}.grid2,.grid3{grid-template-columns:minmax(0,1fr)}.span2{grid-column:auto}.split{flex-direction:column}.panel{width:100%;position:static;height:auto;border-left:0;border-top:1px solid var(--line)}.top{position:static}.page{padding:18px 16px 40px}}@media print{.side,.top,.noprint{display:none!important}.page{padding:0}body{background:#fff}}
