body{margin:0;background:#f4f6f9;color:#0f172a;font-family:Inter,system-ui,sans-serif;font-size:14px;line-height:1.45}a{color:#0072b7}a:hover{color:#005a92}.app{display:grid;grid-template-columns:236px minmax(0,1fr);grid-template-rows:auto 1fr;grid-template-areas:"head head" "nav main";min-height:100vh;background:#f4f6f9}@media (max-width: 760px){.app{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "nav" "main"}}.ws-head{grid-area:head;box-sizing:border-box;display:flex;align-items:center;gap:14px;padding:0 18px;min-height:46px;background:#0b1220;color:#dbe7f3}.ws-brand-block{display:inline-flex;align-items:baseline;gap:8px;min-width:204px}.ws-word{font-family:Sora,Inter,sans-serif;font-weight:700;font-size:14px;letter-spacing:.02em;color:#fff}.ws-brand{font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;font-weight:700;color:#7cc9f2}.ws-rule{width:1px;align-self:stretch;margin:12px 0;background:#0072b7}.ws-pick{display:inline-flex;align-items:center;gap:9px;background:transparent;border:0;color:#fff;border-radius:8px;padding:5px 10px;font:inherit;font-size:15px;font-weight:600;cursor:pointer}.ws-pick:hover,.ws-pick[aria-expanded=true]{background:#0072b7}.ws-search{margin-left:auto;display:flex;align-items:center;gap:8px;background:#ffffff14;border:1px solid rgba(255,255,255,.14);border-radius:8px;padding:4px 10px;color:#9fb3c8;min-width:260px;font-size:13px}.ws-search input{background:none;border:0;color:#fff;font:inherit;outline:none;width:100%}.avatar{width:28px;height:28px;border-radius:50%;background:#7cc9f2;color:#0b1220;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;flex:none}.avatar.sm{width:26px;height:26px;font-size:11px}nav.side{grid-area:nav;box-sizing:border-box;background:#0b1220;color:#dbe7f3;padding:14px 12px 18px;display:flex;flex-direction:column;gap:2px}.nav a{display:flex;align-items:center;gap:10px;color:#dbe7f3;text-decoration:none;padding:8px 10px;border-radius:6px;font-weight:500;opacity:.85}.nav a.on{background:#ffffff1f;opacity:1}.nav a:hover{opacity:1;background:#ffffff12}.nav svg{width:16px;height:16px;flex:none;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.nav .count{margin-left:auto;font-size:11px;font-weight:600;background:#ffffff24;border-radius:999px;padding:1px 7px}.nav .count.hot{background:#d9892b;color:#fff}.nav-rule{height:1px;background:#ffffff1f;margin:10px 4px}.nav.sub a{font-size:13px;opacity:.7}.nav-fill{flex:1}.nav-me{display:flex;align-items:center;gap:10px;padding:8px 10px;color:#dbe7f3}.nav-me .who{font-size:13px;font-weight:600}.nav-me .role{font-size:11px;color:#7cc9f2}main{grid-area:main;min-width:0;box-sizing:border-box;padding:28px 32px 40px;display:flex;flex-direction:column;gap:22px}.top{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px}.top h1{margin:0;font-family:Sora,Inter,sans-serif;font-size:24px;font-weight:700;letter-spacing:-.01em}.top .sub{margin:4px 0 0;color:#64748b}.crumbs{font-size:13px;color:#64748b;margin:0 0 6px}.crumbs a{text-decoration:none}.btns{display:flex;flex-wrap:wrap;gap:8px}.btn{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 14px;border-radius:8px;border:1px solid #cbd5e1;background:#fff;color:#0f172a;font:inherit;font-weight:600;cursor:pointer;text-decoration:none;white-space:nowrap}.btn.primary{background:#0072b7;border-color:#0072b7;color:#fff}.btn.danger{background:#b23a30;border-color:#b23a30;color:#fff}.btn.quiet{border-color:transparent;background:transparent;color:#0072b7}.btn.sm{min-height:30px;padding:0 10px;font-size:13px}.btn svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 2px #0b12200a,0 8px 24px #0b12200d}.card .head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid #e2e8f0;flex-wrap:wrap}.card .head h2{margin:0;font-size:15px;font-weight:600}.card .body{padding:16px 18px}.card .body.tight{padding:0}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}.kpi{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:16px 18px;display:flex;flex-direction:column;gap:6px}.kpi .k{font-size:12px;color:#64748b;font-weight:500}.kpi .v{font-family:Sora,Inter,sans-serif;font-size:26px;font-weight:700;letter-spacing:-.02em}.kpi .d{font-size:12px;color:#64748b}.pill{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;padding:3px 9px;border-radius:999px;background:#eef2f7;color:#475569;white-space:nowrap}.pill.ok{background:#e3f3ea;color:#1f7a4d}.pill.warn{background:#fdf0d8;color:#9a5b00}.pill.bad{background:#fbe4e1;color:#b23a30}.pill.info{background:#e4ecf8;color:#2f5e9e}.pill.brand{background:#e6f2fa;color:#0072b7}.table-wrap{overflow-x:auto}table.data{width:100%;border-collapse:collapse;font-size:13.5px}table.data th{text-align:left;font-size:12px;font-weight:600;color:#64748b;padding:10px 14px;border-bottom:1px solid #e2e8f0;white-space:nowrap}table.data td{padding:12px 14px;border-bottom:1px solid #eef2f7;vertical-align:top}table.data tr:last-child td{border-bottom:0}table.data tr.sel td{background:#f4f9fd}table.data tr.danger td:first-child{box-shadow:inset 3px 0 #b23a30}.muted{color:#64748b}.strong{font-weight:600}.small{font-size:12.5px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}.bar{height:8px;border-radius:999px;background:#e2e8f0;overflow:hidden}.bar i{display:block;height:100%;background:#0072b7;border-radius:999px}.two{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:18px}.split{display:flex;flex-wrap:wrap;gap:18px;align-items:flex-start}.split .wide{flex:999 1 520px;min-width:0}.split .narrow{flex:1 1 320px;min-width:0}.split>.narrow:has(>.note-box:only-child){display:none}.list{display:flex;flex-direction:column}.list .row{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid #eef2f7}.list .row:last-child{border-bottom:0}.dot{width:8px;height:8px;border-radius:50%;background:#0072b7;margin-top:7px;flex:none}.dot.warn{background:#d9892b}.dot.bad{background:#b23a30}.dot.ok{background:#1f7a4d}.dot.grey{background:#94a3b8}.tabs{display:flex;flex-wrap:wrap;gap:4px;border-bottom:1px solid #e2e8f0}.tab{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;border:0;background:none;font:inherit;font-weight:600;color:#64748b;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;text-decoration:none}.tab.on{color:#0072b7;border-bottom-color:#0072b7}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:6px;border:1px solid #cbd5e1;background:#fff;border-radius:999px;padding:5px 12px;font:inherit;font-size:13px;font-weight:500;cursor:pointer}.chip.on{background:#0b1220;border-color:#0b1220;color:#fff}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:13px;font-weight:600}.field input,.field select,.field textarea{min-height:38px;border:1px solid #cbd5e1;border-radius:8px;padding:8px 12px;font:inherit;color:#0f172a;background:#fff;box-sizing:border-box}.field textarea{min-height:84px;resize:vertical}.field .hint{font-size:12px;color:#64748b}.form{display:flex;flex-direction:column;gap:14px}.kv{display:grid;grid-template-columns:140px 1fr;gap:8px 16px;font-size:13.5px}.kv dt{color:#64748b;margin:0}.kv dd{margin:0}.timeline{display:flex;flex-direction:column;gap:0;position:relative}.tl{display:grid;grid-template-columns:20px 1fr;gap:12px;padding:10px 0}.tl .line{display:flex;flex-direction:column;align-items:center}.tl .line i{width:10px;height:10px;border-radius:50%;background:#0072b7;margin-top:5px}.tl .line b{flex:1;width:2px;background:#e2e8f0;margin-top:4px}.tl .when{font-size:12px;color:#64748b}.banner{display:flex;align-items:center;gap:10px;background:#fff;border-left:3px solid #d9892b;border-radius:10px;padding:12px 18px;box-shadow:0 1px 2px #0b12200a}.banner.bad{border-left-color:#b23a30}.banner.info{border-left-color:#0072b7}.reason{background:#fff8ec;border:1px solid #f1dfb8;border-radius:10px;padding:12px 14px;font-size:13px;color:#6b4a0b}.note-box{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;padding:12px 14px;font-size:13px;color:#475569}.toggle{display:inline-flex;width:38px;height:22px;border-radius:999px;background:#cbd5e1;position:relative;vertical-align:middle;border:0;cursor:pointer}.toggle i{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0003}.toggle.on{background:#0072b7}.toggle.on i{left:19px}.lockmsg{display:flex;gap:10px;align-items:flex-start;background:#eef2f7;border-radius:10px;padding:12px 14px;font-size:13px;color:#475569}:focus-visible{outline:2px solid #0072b7;outline-offset:2px}.ws-head :focus-visible,nav.side :focus-visible{outline-color:#7cc9f2}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.splash{padding:40px 32px}.ws-switch{position:relative}.ws-only{font-weight:600;font-size:15px;color:#fff;padding:5px 10px}.ws-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:20;min-width:240px;background:#fff;color:#0f172a;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 8px 24px #0b12202e;padding:6px;display:flex;flex-direction:column}.ws-menu-item{display:block;padding:8px 10px;border-radius:6px;color:#0f172a;text-decoration:none;font-weight:500}.ws-menu-item:hover{background:#f4f6f9;color:#0f172a}.ws-menu-item.on{background:#e6f2fa;color:#0072b7;font-weight:600}.ws-me{text-decoration:none}.ws-me:hover{color:#0b1220}.ws-me.on{box-shadow:0 0 0 2px #fff}.nav a.locked{opacity:.55}.nav .lock-note{margin-left:auto;display:inline-flex}.nav .lock-note svg{width:12px;height:12px}.nav .lock-note+.count{margin-left:6px}.stack{display:flex;flex-direction:column;gap:18px}.inline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.grow{flex:1;min-width:0}.person{display:flex;gap:10px;align-items:center}.filter-row{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end}.filter-row .field{flex:1 1 200px}.filter-actions{align-self:flex-end}.card .head .field input{min-height:34px}.field .label{font-size:13px;font-weight:600}fieldset.checks{border:0;padding:0;margin:0}fieldset.checks legend{font-size:13px;font-weight:600;padding:0;margin-bottom:6px}.check{display:flex;align-items:center;gap:8px;font-size:13.5px;padding:2px 0}.check input{width:16px;height:16px;margin:0}.btn:disabled{opacity:.55;cursor:not-allowed}table.data tbody tr{cursor:default}.row-pick{all:unset;cursor:pointer;display:block;border-radius:4px}.row-pick:focus-visible{outline:2px solid #0072b7;outline-offset:2px}pre.diff{margin:0;background:#0b1220;color:#dbe7f3;border-radius:10px;padding:12px 14px;font-size:12px;line-height:1.5;overflow-x:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap;word-break:break-word}pre.diff .m{color:#f08a80}pre.diff .p{color:#86cfa5}dialog.modal{border:0;padding:0;background:transparent;width:min(520px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:auto}dialog.modal::backdrop{background:#0b122073}dialog.modal .card{margin:0}.auth{min-height:100vh;display:flex;flex-wrap:wrap;box-sizing:border-box;background:#f4f6f9}.auth .rail{flex:0 1 480px;background:#0b1220;color:#dbe7f3;padding:48px;box-sizing:border-box;display:flex;flex-direction:column;gap:12px}.auth .word{font-family:Sora,Inter,sans-serif;font-weight:700;font-size:22px;color:#fff}.auth .kicker{font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:#7cc9f2;margin-top:4px}.auth .rail h2{font-family:Sora,Inter,sans-serif;font-size:30px;line-height:1.2;font-weight:700;color:#fff;margin:auto 0 4px}.auth .rail p{margin:0;color:#9fb3c8;font-size:15px;max-width:34ch}.auth .rail .foot{margin-top:auto;font-size:12px;color:#7f93a8}.auth-main{flex:1 1 420px;display:flex;align-items:center;justify-content:center;padding:40px;box-sizing:border-box}.auth .card{width:400px;max-width:100%;border-radius:14px;padding:32px;box-sizing:border-box;display:flex;flex-direction:column;gap:18px}.auth .card h1{margin:0;font-family:Sora,Inter,sans-serif;font-size:22px;font-weight:700}.auth .card .sub{margin:-8px 0 0;color:#64748b}.auth .field input{min-height:44px;font-size:15px}.auth .btn{justify-content:center;min-height:44px}.auth .step{font-size:12px;font-weight:600;color:#64748b;letter-spacing:.06em;text-transform:uppercase}.auth .code{display:flex;gap:8px}.auth .code input{width:48px;min-height:52px;text-align:center;font-size:22px;font-weight:600;border:1px solid #cbd5e1;border-radius:8px;font-family:Sora,Inter,sans-serif;box-sizing:border-box}.auth .note{font-size:13px;color:#64748b;margin:0}.auth .lock{display:flex;gap:10px;align-items:flex-start;background:#e6f2fa;color:#0b4a73;border-radius:10px;padding:12px 14px;font-size:13px}.auth .lock svg{flex:none}.auth .enroll{display:flex;flex-direction:column;align-items:center;gap:8px}.auth .enroll .mono{word-break:break-all}
