:root{--ink: #15171C;--paper: #F7F5F0;--signal: #4B34E8;--ember: #F2622E;--yellow: #FFE58F;--lilac: #CFC5FB;--peach: #FFCDB4;--mint: #A8E6C9;--sand: #EFE7DA;--line: #E4E0D8;--muted: #4A4F5B;--link: #2F1FA8;--disabled: #6B7080;--disabled-line: #B9B4AA;--ok-dot: #1F8F4E;--warn-dot: #C99A00;--bad-dot: #D2421B;--font-head: "Bricolage Grotesque", Georgia, serif;--font-body: "Manrope", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-body);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}a{color:var(--ink);text-decoration:none}a:hover{color:var(--signal)}button,input,select,textarea{font-family:var(--font-body);color:var(--ink)}:focus-visible{outline:3px solid var(--signal);outline-offset:2px}.dots{background-color:var(--paper);background-image:radial-gradient(var(--line) 1.2px,transparent 1.2px);background-size:22px 22px}.mono{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase}.code,.num{font-family:var(--font-mono);font-size:11.5px}.num{font-variant-numeric:tabular-nums}.h1{margin:0;font-family:var(--font-head);font-weight:800;font-size:34px;letter-spacing:-.035em;line-height:1.05}.h2{margin:0;font-family:var(--font-head);font-weight:800;font-size:19px;letter-spacing:-.02em}.muted{color:var(--muted)}.link{color:var(--link);font-weight:700}.link:hover{text-decoration:underline}.nav,.navon{display:flex;align-items:center;gap:10px;height:38px;padding:0 12px;border-radius:999px;font-weight:700;font-size:13.5px;color:var(--ink)}.nav:hover{background:var(--yellow);color:var(--ink)}.navon{font-weight:800;background:var(--ink);color:#fff}.navon:hover{color:#fff}.navbadge{margin-left:auto;font-size:11px;font-weight:800;padding:1px 7px;border-radius:999px;background:var(--sand);color:var(--ink);border:1.5px solid var(--ink)}.navbadge.alert{background:var(--ember)}.card{background:#fff;border:2px solid var(--ink);border-radius:20px}.card.raised{box-shadow:6px 6px 0 var(--ink)}.tbl{width:100%;border-collapse:collapse}.th{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:left;padding:0 10px 10px 0;font-weight:500;white-space:nowrap}.th button{all:unset;cursor:pointer;display:inline-flex;gap:4px;align-items:center}.th button:hover{color:var(--ink)}.td{padding:10px 10px 10px 0;border-top:1.5px solid var(--line);font-size:13px;font-weight:600;vertical-align:middle}.tr-click{cursor:pointer}.tr-click:hover .td{background:#fffbea}.chip{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 9px;border-radius:999px;font-size:11px;font-weight:800;border:1.5px solid var(--ink);white-space:nowrap;background:#fff}.chip .dot{width:8px;height:8px;border-radius:999px}.btn,.btnp,.btnd,.btnx,.btng{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:38px;padding:0 15px;border-radius:999px;border:2px solid var(--ink);background:#fff;font:800 13px var(--font-body);color:var(--ink);cursor:pointer;white-space:nowrap}.btnp{background:var(--signal);color:#fff;box-shadow:3px 3px 0 var(--ink)}.btnp:hover{color:#fff}.btnd{background:var(--ember);color:var(--ink);box-shadow:3px 3px 0 var(--ink)}.btnx{border-style:dashed;border-color:var(--disabled-line);color:var(--disabled);cursor:not-allowed;box-shadow:none;background:#fff}.btng{border-color:transparent;background:transparent}.btng:hover{background:var(--yellow)}.btn:hover{background:var(--yellow);color:var(--ink)}.btnp:active,.btnd:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}.btn-sm{height:30px;padding:0 12px;font-size:12px}.inp{height:40px;border:2px solid var(--ink);border-radius:12px;padding:0 12px;font:600 13px var(--font-body);background:#fff;color:var(--ink);width:100%}textarea.inp{height:auto;min-height:84px;padding:10px 12px;resize:vertical;line-height:1.45}.inp:disabled{border-style:dashed;border-color:var(--disabled-line);color:var(--disabled)}.inp.invalid{border-color:var(--ember)}.lbl{font-size:12px;font-weight:800;display:flex;flex-direction:column;gap:6px}.hint{font-size:12px;font-weight:600;color:var(--muted)}.err{font-size:12.5px;font-weight:700;color:#b3330f}.bar{height:8px;border-radius:99px;background:var(--sand);overflow:hidden;border:1px solid var(--ink)}.bar>span{display:block;height:100%;background:var(--signal)}.tab,.tabon{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 13px;border-radius:999px;font-weight:800;font-size:13px;color:var(--ink);border:2px solid transparent;background:transparent;cursor:pointer}.tab:hover{background:var(--sand)}.tabon{background:var(--yellow);border-color:var(--ink)}.tabcount{font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--muted)}.sw{width:34px;height:20px;border-radius:999px;border:2px solid var(--ink);position:relative;display:inline-block;flex-shrink:0;background:var(--sand);cursor:pointer;padding:0}.sw:after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:999px;background:var(--ink);transition:left .12s}.sw[aria-checked=true]{background:var(--mint)}.sw[aria-checked=true]:after{left:16px}.sw:disabled{opacity:.5;cursor:not-allowed}.dim{position:fixed;top:0;right:0;bottom:0;left:0;background:#15171c73;display:flex;align-items:flex-start;justify-content:center;padding:80px 20px 20px;z-index:50;overflow-y:auto}.banner{padding:12px 14px;border-radius:14px;border:2px solid var(--ink);font-size:13px;font-weight:700;display:flex;gap:10px;align-items:center}.banner.warn{background:var(--peach)}.banner.info{background:var(--sand)}.banner.ok{background:var(--mint)}.shell{min-height:100vh;display:flex;gap:18px;padding:20px}.sidebar{width:244px;flex-shrink:0;padding:18px 12px;display:flex;flex-direction:column;gap:2px;background:#fff;border:2px solid var(--ink);border-radius:28px;position:sticky;top:20px;height:calc(100vh - 40px);overflow-y:auto}.main{flex-grow:1;min-width:0;display:flex;flex-direction:column;gap:16px}.topbar{display:flex;align-items:center;gap:12px}.search{position:relative;flex:0 1 520px;min-width:240px}.search label{display:flex;align-items:center;gap:10px;height:44px;padding:0 16px;border-radius:999px;border:2px solid var(--ink);background:#fff}.search input{border:0;outline:none;width:100%;font-size:13px;font-weight:600;background:transparent}.search-results{position:absolute;top:50px;left:0;right:0;background:#fff;border:2px solid var(--ink);border-radius:18px;box-shadow:6px 6px 0 var(--ink);padding:8px;z-index:40;max-height:420px;overflow-y:auto}.search-item{display:flex;gap:10px;align-items:center;padding:8px 10px;border-radius:12px;cursor:pointer}.search-item.active,.search-item:hover{background:var(--yellow)}.avatar{width:32px;height:32px;border-radius:999px;border:2px solid var(--ink);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;flex-shrink:0;background:var(--lilac)}.grid-2{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:16px;align-items:start}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}@media (max-width: 1180px){.shell{gap:12px;padding:12px}.sidebar{width:210px;top:12px;height:calc(100vh - 24px)}.grid-2{grid-template-columns:minmax(0,1fr)}.h1{font-size:30px}}.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 20px}.auth-card{width:440px;max-width:100%;padding:30px;display:flex;flex-direction:column;gap:18px}.digits{display:flex;gap:8px}.digits input{width:48px;height:56px;text-align:center;border:2px solid var(--ink);border-radius:14px;font:800 22px var(--font-mono);background:#fff}.digits input:placeholder-shown{background:var(--sand)}.spin{width:22px;height:22px;border-radius:999px;border:3px solid var(--sand);border-top-color:var(--signal);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
