*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%}body{font-family:var(--sans);-webkit-font-smoothing:antialiased;color:var(--text);background:var(--bg)}button,input,select,textarea{font-family:inherit}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:7px;border:3px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--text-3);background-clip:content-box}::-webkit-scrollbar-track{background:transparent}:root{--sans:"IBM Plex Sans",system-ui,-apple-system,sans-serif;--mono:"IBM Plex Mono",ui-monospace,monospace;--bg:#eef1f6;--surface:#ffffff;--surface-2:#f3f5f9;--surface-3:#e9edf4;--border:#e3e8f0;--border-strong:#cdd5e1;--text:#101a2b;--text-2:#586577;--text-3:#98a2b3;--primary:#2563d9;--primary-weak:color-mix(in oklab,var(--primary) 11%,#fff);--primary-strong:color-mix(in oklab,var(--primary) 84%,#000);--success:#0e8a4f;--warning:#b46a16;--danger:#d23b3b;--info:#2563d9;--muted:#6c5ce0;--shadow:0 1px 2px rgba(16,26,43,.06),0 1px 3px rgba(16,26,43,.05);--shadow-md:0 4px 14px rgba(16,26,43,.1);--shadow-lg:0 16px 48px rgba(16,26,43,.18);--rh:33px;--cpy:7px;--pad:14px;--fs:12.5px;--gap:14px}[data-density=comfortable]{--rh:43px;--cpy:11px;--pad:18px;--fs:13.5px;--gap:18px}[data-theme=dark]{--bg:#0a0e15;--surface:#131a25;--surface-2:#1a2230;--surface-3:#222d3d;--border:#26303f;--border-strong:#3a4658;--text:#e8edf4;--text-2:#9aa7b8;--text-3:#697789;--primary:#5b8def;--primary-weak:color-mix(in oklab,var(--primary) 20%,#131a25);--primary-strong:color-mix(in oklab,var(--primary) 70%,#fff);--success:#2fae6a;--warning:#d6a14a;--danger:#e06464;--info:#5b8def;--muted:#8b82f0;--shadow:0 1px 2px rgba(0,0,0,.5);--shadow-md:0 6px 20px rgba(0,0,0,.5);--shadow-lg:0 20px 56px rgba(0,0,0,.6)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes drawerIn{0%{transform:translate(102%)}to{transform:translate(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{transform:scale(.96) translateY(6px);opacity:0}to{transform:none;opacity:1}}@keyframes toastIn{0%{transform:translateY(14px);opacity:0}to{transform:none;opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}.mono{font-family:var(--mono)}.num{font-family:var(--mono);font-variant-numeric:tabular-nums}a{color:inherit}.app{display:grid;grid-template-columns:auto 1fr;height:100vh;overflow:hidden}.main{display:flex;flex-direction:column;min-width:0;height:100vh}.content{flex:1;overflow:auto}.page{max-width:1480px;margin:0 auto;padding:22px 26px 60px}.sidebar{width:230px;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;height:100vh;transition:width .16s ease;z-index:20}.sidebar.collapsed{width:62px}.sb-head{height:52px;display:flex;align-items:center;gap:9px;padding:0 14px;border-bottom:1px solid var(--border)}.sb-logo{width:26px;height:26px;border-radius:7px;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex:none;overflow:hidden}.sb-logo img{width:100%;height:100%;object-fit:contain}.sb-name{font-weight:700;font-size:14px;white-space:nowrap}.sb-nav{flex:1;overflow-y:auto;padding:9px 8px}.sb-group{margin-bottom:10px}.sb-group-label{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--text-3);font-weight:600;padding:8px 8px 5px}.sb-item{display:flex;align-items:center;gap:10px;width:100%;padding:0 10px;height:34px;border:none;background:none;color:var(--text-2);border-radius:8px;cursor:pointer;font-size:12.5px;font-weight:500;white-space:nowrap;text-decoration:none}.sb-item:hover{background:var(--surface-2);color:var(--text)}.sb-item.active{background:var(--primary-weak);color:var(--primary);font-weight:600}.sb-item .ico{flex:none;display:flex}.sb-badge{margin-left:auto;background:var(--danger);color:#fff;font-size:10px;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 5px}.sb-foot{border-top:1px solid var(--border);padding:8px}.collapsed .sb-name,.collapsed .sb-group-label,.collapsed .sb-item span.lbl,.collapsed .sb-badge{display:none}.collapsed .sb-item{justify-content:center;padding:0}.topbar{height:52px;display:flex;align-items:center;gap:10px;padding:0 16px;background:var(--surface);border-bottom:1px solid var(--border);z-index:15}.tb-brand{display:flex;align-items:center;gap:8px;padding-right:12px;margin-right:2px;border-right:1px solid var(--border);flex:none}.tb-brand .sb-name{font-size:13px}.tb-cmdk{flex:0 1 440px;min-width:180px;display:flex;align-items:center;gap:8px;height:34px;padding:0 11px;border:1px solid var(--border-strong);border-radius:9px;background:var(--surface-2);color:var(--text-3);cursor:text;font-size:12.5px}.tb-cmdk kbd{margin-left:auto;font-family:var(--mono);font-size:10.5px;background:var(--surface);border:1px solid var(--border-strong);border-radius:5px;padding:1px 5px;color:var(--text-2)}.tb-right{display:flex;align-items:center;gap:10px;margin-left:auto}.icon-btn{width:34px;height:34px;border:1px solid var(--border);background:var(--surface);border-radius:9px;color:var(--text-2);display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.dot-badge{position:absolute;top:6px;right:6px;width:7px;height:7px;border-radius:50%;background:var(--danger)}.count-badge{position:absolute;top:-5px;right:-5px;min-width:16px;height:16px;padding:0 4px;border-radius:9px;background:var(--danger);color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center;border:1.5px solid var(--surface)}.linklike{background:none;border:0;color:var(--primary);font-size:11.5px;font-weight:600;cursor:pointer;padding:0}.notif-item{display:flex;align-items:flex-start;gap:8px;width:100%;text-align:left;background:none;border:0;padding:9px 10px;border-radius:8px;cursor:pointer;color:var(--text)}.notif-item:hover{background:var(--surface-2)}.notif-dot{margin-top:6px;width:7px;height:7px;border-radius:50%;background:var(--primary);flex:none}.notif-body{display:flex;flex-direction:column;gap:2px;min-width:0}.notif-text{font-size:12.5px;line-height:1.4;white-space:normal;overflow-wrap:anywhere}.tb-switch{display:flex;align-items:center;gap:8px;height:34px;padding:0 9px;border:1px solid var(--border);background:var(--surface);border-radius:9px;cursor:pointer;color:var(--text);font-size:12.5px}.tb-switch:hover{background:var(--surface-2)}.tb-switch .badge{width:18px;height:18px;border-radius:5px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:10px;color:#fff;flex:none}.tb-switch .who{display:flex;flex-direction:column;line-height:1.15;text-align:left}.tb-switch .who small{color:var(--text-2);font-size:10.5px}.menu{position:absolute;top:46px;background:var(--surface);border:1px solid var(--border);border-radius:11px;box-shadow:var(--shadow-lg);padding:6px;z-index:40;animation:pop .14s ease}.menu-item{display:flex;align-items:center;gap:9px;width:100%;padding:8px 9px;border:none;background:none;border-radius:8px;cursor:pointer;color:var(--text);font-size:12.5px;text-align:left}.menu-item:hover{background:var(--surface-2)}.menu-item .badge{width:18px;height:18px;border-radius:5px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:10px;color:#fff;flex:none}.menu-item .who{display:flex;flex-direction:column;line-height:1.15}.menu-item .who small{color:var(--text-2);font-size:10.5px}.menu-item .chk{margin-left:auto;color:var(--primary)}.menu-head{display:flex;align-items:center;justify-content:space-between;padding:6px 9px;font-weight:700;font-size:12px}.menu-head a{color:var(--primary);font-size:11px;cursor:pointer}.ctxbar{height:42px;display:flex;align-items:center;gap:7px;padding:0 16px;border-bottom:1px solid var(--border);background:var(--surface);color:var(--text-2);font-size:12px;z-index:14}.ctxbar .crumb{cursor:pointer}.ctxbar .crumb:hover{color:var(--text)}.ctxbar .sep{color:var(--text-3);display:flex}.ctxbar .ts{margin-left:auto;font-family:var(--mono);font-size:11px;color:var(--text-3)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:36px;padding:0 14px;border-radius:9px;font-size:12.5px;font-weight:600;cursor:pointer;border:1px solid transparent;white-space:nowrap}.btn.sm{height:30px;padding:0 10px;font-size:11.5px}.btn.primary{background:var(--primary);color:#fff;font-weight:700}.btn.primary:hover{background:var(--primary-strong)}.btn.secondary{background:var(--surface);border-color:var(--border-strong);color:var(--text)}.btn.secondary:hover{background:var(--surface-2)}.btn.ghost{background:none;color:var(--text-2)}.btn.ghost:hover{background:var(--surface-2);color:var(--text)}.btn.danger{background:var(--danger);color:#fff}.btn.danger:hover{filter:brightness(.94)}.btn.success{background:var(--success);color:#fff}.btn:disabled{opacity:.5;cursor:not-allowed}.input,.select{height:34px;border:1px solid var(--border-strong);background:var(--surface-2);border-radius:8px;padding:0 11px;font-size:12.5px;color:var(--text);outline:none;width:100%}.input:focus,.select:focus{border-color:var(--primary);background:var(--surface)}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:13px}.field label{font-size:11.5px;font-weight:600;color:var(--text-2)}.typegrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.typecard{border:1px solid var(--border-strong);border-radius:10px;padding:14px 12px;cursor:pointer;font-weight:600;font-size:13px;text-align:center;background:var(--surface);transition:border-color .12s ease,background .12s ease}.typecard:hover{background:var(--surface-2)}.typecard.on{border-color:var(--primary);background:var(--primary-weak);color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}.chip{display:inline-flex;align-items:center;gap:6px;padding:1px 8px;border-radius:6px;font-size:11px;line-height:18px;font-weight:600;border:1px solid;white-space:nowrap}.chip .cdot{width:5px;height:5px;border-radius:50%;flex:none}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow)}.card.pad{padding:16px}.card-title{font-weight:700;font-size:13px;margin:0 0 10px}.subhead{font-weight:700;font-size:13px;margin:16px 0 6px}.section-title{font-weight:700;font-size:15px;letter-spacing:-.2px;margin:0 0 10px}.stat{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);padding:15px;position:relative;overflow:hidden}.stat .lbl{display:flex;align-items:center;gap:7px;font-size:11.5px;font-weight:600;color:var(--text-2)}.stat .lbl .tdot{width:8px;height:8px;border-radius:50%;flex:none}.stat .val{font-size:25px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.6px;margin:6px 0 2px}.stat .sub{font-size:11.5px;color:var(--text-2)}.stat .spark{position:absolute;right:12px;bottom:10px;opacity:.9}.grid-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:var(--gap)}.legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:8px;font-size:11.5px;color:var(--text-2)}.legend-item{display:inline-flex;align-items:center;gap:6px}.legend-swatch{width:10px;height:10px;border-radius:3px;flex:none}.legend-val{color:var(--text-1);font-weight:600;font-variant-numeric:tabular-nums}.chart-card{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.chart-card .legend{flex-direction:column;flex-wrap:nowrap;gap:7px}.chart-card .legend .legend-item{justify-content:space-between;min-width:190px}.queue-card{display:block;width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer}.queue-card:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.ph{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}.ph h1{font-size:23px;font-weight:700;letter-spacing:-.3px;margin:0 0 3px}.desc{font-size:13px;color:var(--text-2);line-height:1.45}.seg{display:inline-flex;border:1px solid var(--border-strong);border-radius:8px;overflow:hidden}.seg button{height:32px;width:34px;border:none;background:var(--surface);color:var(--text-2);cursor:pointer;display:flex;align-items:center;justify-content:center}.seg button.on{background:var(--primary-weak);color:var(--primary)}.seg.seg-wide button{width:auto;padding:0 14px;font-size:13px;gap:6px}.seg.seg-wide button+button{border-left:1px solid var(--border)}.seg-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;font-size:11px;font-weight:600;background:var(--surface-2);color:var(--text-2)}.seg button.on .seg-count{background:var(--primary);color:#fff}.tbl{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--surface)}.tbl-scroll{overflow-x:auto}.tr{display:grid;align-items:center;column-gap:12px;padding:0 14px;border-bottom:1px solid var(--border);min-height:var(--rh);font-size:var(--fs)}.tr>*{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tr>.cell-wrap{white-space:normal;overflow:visible;text-overflow:clip}.tr:last-child{border-bottom:none}.tr.head{background:var(--surface-2);font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--text-3);min-height:36px;position:sticky;top:0}.tr.body:hover{background:var(--surface-2)}.tr.body{cursor:default}.tr.click{cursor:pointer}.cell-r{justify-self:end;text-align:right}.cell-c{justify-self:center;text-align:center}table.tbl{display:table;width:100%;border-collapse:collapse}table.tbl .tr{display:table-row;min-height:0}table.tbl th,table.tbl td{display:table-cell;padding:8px 14px;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;font-size:var(--fs)}table.tbl .tr>*{min-width:auto;overflow:visible;text-overflow:clip;white-space:normal}table.tbl tr:last-child td{border-bottom:none}table.tbl .tr.head th{background:var(--surface-2);font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--text-3)}table.tbl th.num,table.tbl td.num{text-align:right}table.tbl .tr.body:hover td{background:var(--surface-2)}.c360-head{display:flex;flex-direction:column;gap:16px}.c360-top{display:flex;align-items:flex-start;gap:14px}.avatar{width:48px;height:48px;min-width:48px;border-radius:11px;background:var(--primary-weak);color:var(--primary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px}.c360-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:3px;font-size:12px;color:var(--text-2)}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:var(--gap)}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px 14px}.kpi .l{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--text-3)}.kpi .v{font-size:19px;font-weight:700;margin-top:5px;color:var(--text)}.toolbar{display:flex;align-items:center;gap:9px;flex-wrap:nowrap;margin-bottom:12px}.dt-filters{display:flex;align-items:center;gap:9px;flex:1;min-width:0;overflow-x:auto;flex-wrap:nowrap;padding-bottom:1px}.dt-filters .select{width:auto;flex:0 0 auto;min-width:110px;max-width:170px}.toolbar .search{flex:0 1 220px;min-width:140px;width:auto}.toolbar>*:not(.dt-filters){flex:0 0 auto}.savedviews{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:11px}.savedviews button{height:30px;padding:0 11px;border:1px solid var(--border);background:var(--surface);border-radius:8px;font-size:11.5px;color:var(--text-2);cursor:pointer;display:flex;align-items:center;gap:6px}.savedviews button.on{background:var(--primary-weak);border-color:transparent;color:var(--primary);font-weight:600}.savedviews .cnt{background:var(--surface-3);border-radius:9px;font-size:10px;padding:0 5px}.dt-menu{position:absolute;top:calc(100% + 5px);right:0;z-index:40;min-width:180px;background:var(--surface);border:1px solid var(--border-strong);border-radius:10px;box-shadow:var(--shadow-lg);padding:6px;display:flex;flex-direction:column;gap:1px}.dt-menu-item{display:flex;align-items:center;gap:9px;width:100%;text-align:left;padding:7px 9px;border:none;background:none;border-radius:7px;font-size:12.5px;color:var(--text-1);cursor:pointer}.dt-menu-item:hover{background:var(--surface-2)}.dt-menu-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30}.dt-view{display:inline-flex;align-items:center;gap:0}.dt-view-del{padding:0 7px!important;color:var(--text-3);font-size:13px}.dt-pager{display:flex;align-items:center;gap:9px;margin-top:11px;font-size:12px}.select.sm{height:30px;padding:0 8px;font-size:11.5px}.skeleton{height:11px;border-radius:4px;background:linear-gradient(90deg,var(--surface-2),var(--surface-3),var(--surface-2));background-size:200% 100%;animation:shimmer 1.2s infinite}.empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:48px 20px;color:var(--text-3);text-align:center}.banner{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:var(--shadow);margin-bottom:var(--gap)}.banner.info{border-color:var(--primary);background:var(--primary-weak)}.banner.warning{border-color:var(--warning);background:var(--warning-weak,transparent)}.banner.danger{border-color:var(--danger);background:var(--danger-weak,transparent)}.banner .banner-body{flex:1}.banner .banner-title{font-weight:600;display:flex;align-items:center;gap:8px}.banner .checklist{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:8px;font-size:12px}.banner .checklist .step{display:inline-flex;align-items:center;gap:6px;color:var(--text-2)}.banner .checklist .step.done{color:var(--success)}.banner .checklist .step.todo button{color:var(--primary);font-weight:600;background:none;border:none;cursor:pointer;padding:0;text-decoration:underline}.collapsible{border-top:1px solid var(--border);margin-top:4px}.collapsible-head{display:flex;align-items:center;gap:8px;width:100%;padding:11px 2px;background:none;border:none;cursor:pointer;font-size:12.5px;font-weight:600;color:var(--text-2)}.collapsible-head:hover{color:var(--text)}.collapsible-head .cnt{background:var(--surface-3);border-radius:9px;font-size:10px;padding:0 6px;color:var(--text-2)}.collapsible-body{padding-bottom:8px}.stepper{list-style:none;display:flex;flex-direction:column;gap:2px;margin:0;padding:0}.stepper .step{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:9px;color:var(--text-3);font-size:12.5px}.stepper .step.current{background:var(--primary-weak);color:var(--primary);font-weight:600}.stepper .step.done{color:var(--text-2)}.stepper .step-dot{width:22px;height:22px;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;border:1.5px solid var(--border);background:var(--surface)}.stepper .step.current .step-dot{border-color:var(--primary);color:var(--primary)}.stepper .step.done .step-dot{border-color:var(--success);background:var(--success);color:#fff}.wizard{display:grid;grid-template-columns:200px 1fr;gap:20px;align-items:start}@media (max-width:680px){.wizard{grid-template-columns:1fr}}.tb-new{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border:1px solid var(--border);background:var(--surface);border-radius:9px;color:var(--text);font-size:12.5px;font-weight:600;cursor:pointer}.tb-new:hover{background:var(--surface-2)}.focus-row{outline:2px solid var(--primary);outline-offset:1px}.tr.body.focus-row{background:var(--primary-weak)}.tabs{display:flex;gap:2px;overflow-x:auto;border-bottom:1px solid var(--border);margin-bottom:16px}.tabs button{padding:11px 16px;border:none;background:none;border-bottom:2px solid transparent;color:var(--text-2);cursor:pointer;font-size:12.5px;font-weight:600;white-space:nowrap;display:flex;align-items:center;gap:7px}.tabs button:hover{color:var(--text)}.tabs button.on{color:var(--primary);border-bottom-color:var(--primary)}.tabs .tcount{background:var(--surface-3);color:var(--text-2);border-radius:9px;font-size:10px;padding:0 6px;font-weight:700}.tabs .warndot{width:6px;height:6px;border-radius:50%;background:var(--warning)}.tabs-wrap{position:relative}.tabs-wrap .tabs{scrollbar-width:none;scroll-padding:0 30px}.tabs-wrap .tabs::-webkit-scrollbar{display:none}.tabs-chev{position:absolute;top:0;bottom:16px;width:26px;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;color:var(--text-2);background:var(--surface);z-index:2}.tabs-chev:hover{color:var(--text)}.tabs-chev.left{left:0;box-shadow:8px 0 8px -6px #080c142e}.tabs-chev.right{right:0;box-shadow:-8px 0 8px -6px #080c142e}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#080c146b;z-index:60;animation:fadeIn .14s ease}.drawer{position:fixed;top:0;right:0;height:100vh;width:min(540px,94vw);background:var(--surface);border-left:1px solid var(--border);box-shadow:var(--shadow-lg);z-index:61;display:flex;flex-direction:column;animation:drawerIn .2s cubic-bezier(.2,.8,.2,1)}.drawer-head,.modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.drawer-head h3,.modal-head h3{margin:0;font-size:15px;font-weight:700}.drawer-body{flex:1;overflow-y:auto;padding:18px 20px}.drawer-foot,.modal-foot{display:flex;gap:9px;justify-content:flex-end;padding:14px 20px;border-top:1px solid var(--border)}.modal{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:61;animation:fadeIn .14s ease}.modal .box{width:min(460px,94vw);background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-lg);animation:pop .16s ease}.modal .modal-body{padding:18px 20px}.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:12.5px}.kv .k{color:var(--text-2)}.cmdk-wrap{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;justify-content:center;align-items:flex-start;z-index:80;animation:fadeIn .12s ease}.cmdk{width:min(580px,94vw);margin-top:90px;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-lg);overflow:hidden;animation:pop .14s ease}.cmdk input{width:100%;border:none;border-bottom:1px solid var(--border);background:none;padding:16px 18px;font-size:15px;color:var(--text);outline:none}.cmdk-list{max-height:50vh;overflow-y:auto;padding:8px}.cmdk-group-label{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--text-3);font-weight:600;padding:8px 8px 4px}.cmdk-item{display:flex;align-items:center;gap:11px;width:100%;border:none;background:none;padding:9px 10px;border-radius:8px;cursor:pointer;color:var(--text);text-align:left;font-size:12.5px}.cmdk-item:hover{background:var(--surface-2)}.cmdk-item .ib{width:28px;height:28px;border-radius:7px;background:var(--surface-2);display:flex;align-items:center;justify-content:center;color:var(--text-2);flex:none}.cmdk-item .sub{color:var(--text-2);font-size:11px}.cmdk-item .chev{margin-left:auto;color:var(--text-3)}.cmdk-item.active{background:var(--surface-2)}.cmdk-badge{margin-left:auto;font-size:9.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-3);border:1px solid var(--border);border-radius:6px;padding:1px 6px;flex:none}.cmdk-hint{display:flex;gap:14px;padding:8px 14px;border-top:1px solid var(--border);font-size:10.5px;color:var(--text-3)}.picker{position:relative}.picker .input{width:100%}.picker-clear{position:absolute;top:50%;right:8px;transform:translateY(-50%);border:none;background:none;color:var(--text-3);cursor:pointer;font-size:12px;line-height:1;padding:2px 4px}.picker-clear:hover{color:var(--text-1)}.picker-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:45;max-height:260px;overflow-y:auto;background:var(--surface);border:1px solid var(--border-strong);border-radius:10px;box-shadow:var(--shadow-lg);padding:6px;display:flex;flex-direction:column;gap:1px}.picker-item{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;text-align:left;padding:7px 9px;border:none;background:none;border-radius:7px;cursor:pointer;color:var(--text-1)}.picker-item:hover,.picker-item.active{background:var(--surface-2)}.picker-title{font-size:12.5px}.picker-sub{color:var(--text-2);font-size:11px}.cmdk-hint kbd{font-family:var(--mono);font-size:10px;background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:0 4px}.diff{display:grid;grid-template-columns:auto 1fr;gap:7px 14px;align-items:center;font-size:12px}.diff .diff-field{color:var(--text-3);font-size:11px}.diff .diff-change{display:flex;gap:8px;align-items:center;color:var(--text-3)}.diff .before{color:var(--text-3);text-decoration:line-through}.diff .after{font-weight:600;background:var(--primary-weak);color:var(--primary-strong);border-radius:5px;padding:1px 6px}.pipeline{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--text-3)}.pipeline .stage{display:inline-flex;align-items:center;gap:5px}.pipeline .pdot{width:7px;height:7px;border-radius:50%;background:var(--border-strong);flex:none}.pipeline .stage.done .pdot{background:var(--success)}.pipeline .stage.current .pdot{background:var(--warning)}.pipeline .psep{opacity:.5}.pipeline .stage-wrap{display:inline-flex;align-items:center;gap:6px}.appr-pipe{display:flex;flex-direction:column;gap:0;margin:4px 0 6px}.appr-pipe .appr-stage{position:relative;display:grid;grid-template-columns:7px 1fr;gap:10px;padding:6px 0;align-items:start}.appr-pipe .appr-stage:before{content:"";position:absolute;left:3px;top:14px;bottom:-6px;width:1px;background:var(--border)}.appr-pipe .appr-stage:last-child:before{display:none}.appr-pipe .appr-stage .pdot{width:7px;height:7px;border-radius:50%;background:var(--border-strong);margin-top:5px;flex:none;z-index:1}.appr-pipe .appr-stage.done .pdot{background:var(--success)}.appr-pipe .appr-stage.current .pdot{background:var(--warning)}.appr-pipe .appr-stage.halted .pdot{background:var(--danger)}.appr-pipe .appr-stage-name{font-size:12.5px;font-weight:600}.appr-pipe .appr-stage.current .appr-stage-name{color:var(--text-1)}.bulkbar{position:sticky;bottom:12px;display:flex;gap:10px;align-items:center;background:var(--surface);border:1px solid var(--border-strong);border-radius:10px;box-shadow:var(--shadow-lg);padding:10px 14px;margin-top:12px;font-size:12.5px}.tl-day{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--text-3);margin:16px 0 9px}.tl-day:first-child{margin-top:4px}.timeline{display:flex;flex-direction:column}.tl-item{position:relative;display:grid;grid-template-columns:11px 1fr;gap:12px;padding:0 0 15px}.tl-item:before{content:"";position:absolute;left:5px;top:15px;bottom:-2px;width:1px;background:var(--border)}.tl-item:last-child:before{display:none}.tl-item:last-child{padding-bottom:2px}.tldot{width:11px;height:11px;border-radius:50%;background:var(--surface);border:2px solid var(--border-strong);margin-top:3px;z-index:1;flex:none}.tldot.ok{border-color:var(--success)}.tldot.bad{border-color:var(--danger)}.tldot.warn{border-color:var(--warning)}.tldot.info{border-color:var(--primary)}.tl-body{min-width:0}.tl-head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;line-height:1.35}.tl-action{font-size:13px;font-weight:600;color:var(--text)}.tl-detail{font-size:var(--fs);color:var(--text-2);min-width:0;overflow-wrap:anywhere}.tl-meta{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-3);margin-top:2px}.tl-meta .who{color:var(--text-2);font-weight:600}.tl-meta .dot-sep{opacity:.6}.tl-diff{margin-top:9px;padding:9px 11px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px}.toast{position:fixed;right:22px;bottom:22px;z-index:100;max-width:380px;display:flex;align-items:center;gap:11px;background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--info);border-radius:10px;box-shadow:var(--shadow-lg);padding:13px 16px;animation:toastIn .2s ease}.toast .msg{font-size:12.5px;font-weight:500}.toast .toast-action{background:none;border:none;color:var(--primary);font-weight:700;font-size:12px;cursor:pointer;white-space:nowrap}.toast .x{margin-left:6px;color:var(--text-3);cursor:pointer;display:flex}.grid-queues{display:grid;gap:var(--gap)}.queue{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);overflow:hidden}.queue-head{display:flex;align-items:center;justify-content:space-between;padding:13px 15px;border-bottom:1px solid var(--border)}.queue-head .t{font-weight:700;font-size:13px;display:flex;align-items:center;gap:8px}.queue-head .cnt{background:var(--surface-3);border-radius:9px;font-size:11px;font-weight:700;padding:1px 7px}.qrow{display:flex;align-items:center;gap:10px;padding:10px 15px;border-bottom:1px solid var(--border);font-size:12.5px}.qrow:last-child{border-bottom:none}.qrow .pri{font-weight:600}.qrow .meta{color:var(--text-2);font-size:11.5px}.qrow .r{margin-left:auto;text-align:right}.two-col{display:grid;grid-template-columns:1.6fr 1fr;gap:var(--gap)}.two-eq{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)}@media (max-width:1100px){.two-col,.two-eq{grid-template-columns:1fr}}.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:24px}.auth-card{width:min(420px,94vw);background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-lg);padding:30px}.auth-brand{display:flex;align-items:center;gap:11px;margin-bottom:6px}.auth-brand .sb-logo{width:34px;height:34px;border-radius:9px;font-size:16px}.auth-brand h1{font-size:18px;font-weight:700;margin:0}.auth-sub{color:var(--text-2);font-size:13px;margin:2px 0 22px}.auth-foot{margin-top:18px;text-align:center;color:var(--text-2);font-size:11.5px}.auth-hint{margin-top:10px;font-size:11.5px;color:var(--text-2);background:var(--surface-2);border:1px dashed var(--border-strong);border-radius:8px;padding:8px 10px}.matrix{border:1px solid var(--border);border-radius:12px;overflow:auto;background:var(--surface)}.matrix table{border-collapse:collapse;width:100%;font-size:12px}.matrix th,.matrix td{border-bottom:1px solid var(--border);border-right:1px solid var(--border);padding:8px 10px;text-align:center;white-space:nowrap}.matrix th:first-child,.matrix td:first-child{text-align:left;position:sticky;left:0;background:var(--surface);font-weight:600}.matrix thead th{background:var(--surface-2);font-size:10.5px;text-transform:uppercase;letter-spacing:.4px;color:var(--text-3)}.matrix input[type=checkbox]{width:15px;height:15px;cursor:pointer;accent-color:var(--primary)}.spinner{width:22px;height:22px;border-radius:50%;border:2.5px solid var(--surface-3);border-top-color:var(--primary);animation:spin .7s linear infinite}.center-fill{height:100vh;display:flex;align-items:center;justify-content:center}.err{color:var(--danger);font-size:12px;margin-top:6px}.muted{color:var(--text-2)}.row-actions{display:flex;gap:6px;justify-content:flex-end}.taglist{display:flex;gap:5px;flex-wrap:wrap}.tag{background:var(--surface-3);border-radius:6px;font-size:10.5px;padding:1px 7px;color:var(--text-2)}.entity-link{display:inline-flex;align-items:center;gap:5px;color:var(--primary);text-decoration:none;font-weight:600;border-radius:6px;padding:1px 4px;margin:-1px -4px;max-width:100%}.entity-link:hover{background:var(--primary-weak);text-decoration:underline}.entity-link .ico{opacity:.75;flex:none}.entity-link>span:not(.el-code){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entity-link .el-code{color:var(--text-3);font-weight:500}.record-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
