:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#08090e;--bg-mesh:radial-gradient(1400px 900px at 18% -10%, #5878af0e 0%, transparent 62%), radial-gradient(1100px 800px at 92% 4%, #6e76a008 0%, transparent 58%);--mat-thick:#10131aeb;--mat-thick-blur:blur(48px) saturate(185%);--mat:#ffffff0d;--mat-h:#ffffff14;--mat-thin:#fff1;--mat-thin-h:#ffffff1a;--solid-1:#10131a;--solid-2:#14171f;--edge:#ffffff13;--edge-h:#ffffff21;--edge-light:#ffffff21;--edge-light-h:#fff3;--edge-top:var(--edge-light);--ov-1:#ffffff06;--ov-2:#ffffff0a;--ov-3:#ffffff0f;--ov-4:#ffffff1b;--text:#f2f2f7;--text-dim:#ebebf59e;--text-muted:#ebebf561;--accent:#0a84ff;--accent-soft:#0a84ff29;--accent-edge:#0a84ff73;--focus-ring:0 0 0 3.5px #0a84ff29;--cyan:#64b5ff;--cyan-g:#0a84ff29;--purple:#d08cff;--purple-g:#bf5af229;--green:#30d158;--green-g:#30d15826;--red:#ff6961;--red-g:#ff453a26;--yellow:#ffd426;--yellow-g:#ffd60a26;--orange:#ff9f0a;--orange-g:#ff9f0a26;--r-xs:6px;--r-s:10px;--r-m:14px;--r-l:20px;--r-xl:28px;--sh-1:0 1px 1px #0003, 0 2px 4px -2px #0000003d;--sh-2:0 1px 2px #00000038, 0 6px 16px -6px #0006;--sh-3:0 2px 4px #0000003d, 0 18px 44px -14px #00000085;--sh-4:0 4px 8px #00000047, 0 36px 80px -20px #0000009e;--spring:cubic-bezier(.32, .72, 0, 1);--ease:cubic-bezier(.25, .46, .45, .94);--t-fast:.12s;--t:.24s;--t-slow:.4s;--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", system-ui, "Segoe UI", Roboto, sans-serif;--font-mono:"SF Mono", ui-monospace, "JetBrains Mono", Menlo, monospace;--fs-1:11px;--ls-1:.005em;--fs-2:12.5px;--ls-2:-.003em;--fs-3:13.5px;--ls-3:-.009em;--fs-4:17px;--ls-4:-.018em;--fs-5:22px;--ls-5:-.026em;--fs-6:30px;--ls-6:-.03em;--fw-n:400;--fw-m:510;--fw-b:640;--sidebar-w:232px;--topbar-h:56px;--safe-b:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box;margin:0;padding:0}*,:before,:after{-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:var(--fs-3);letter-spacing:-.008em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-synthesis-weight:none;min-height:100dvh;line-height:1.5;overflow-x:hidden}body:before{content:"";background:var(--bg-mesh);pointer-events:none;z-index:0;position:fixed;inset:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}img,video{max-width:100%}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}::selection{background:#0a84ff59}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1c padding-box padding-box;border:3px solid #0000;border-radius:6px}::-webkit-scrollbar-thumb:hover{background:#fff3 padding-box padding-box}*{scrollbar-width:thin;scrollbar-color:#ffffff21 transparent}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.num{font-variant-numeric:tabular-nums}.dim{color:var(--text-dim)}.muted{color:var(--text-muted)}.ok-text{color:var(--green)}.err-text{color:var(--red)}.warn-text{color:var(--yellow)}.nowrap{white-space:nowrap}.ellipsis{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sr-only{clip:rect(0,0,0,0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.row{align-items:center;gap:8px;display:flex}.row-wrap{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row-between{justify-content:space-between;align-items:center;gap:12px;display:flex}.col{flex-direction:column;gap:8px;display:flex}.stack-s>*+*{margin-top:8px}.stack>*+*{margin-top:14px}.stack-l>*+*{margin-top:24px}.grow{flex:1;min-width:0}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.grid-auto{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.divider{background:var(--edge);border:0;height:1px;margin:14px 0}.app{z-index:1;min-height:100dvh;display:flex;position:relative}.sidebar{width:var(--sidebar-w);z-index:100;background:var(--mat-thick);height:100dvh;-webkit-backdrop-filter:var(--mat-thick-blur);border-right:1px solid var(--edge);flex-direction:column;display:flex;position:fixed;top:0;left:0;box-shadow:inset -1px 0 #ffffff0f}.main{margin-left:var(--sidebar-w);flex:1;min-width:0;min-height:100vh;padding:28px 32px 48px}.main-narrow{max-width:1080px}.logo{align-items:center;gap:11px;padding:16px 16px 14px;display:flex}.logo-txt{min-width:0}.logo-txt b{letter-spacing:-.022em;font-size:15px;font-weight:640;line-height:1.1;display:block}.logo-txt span{text-transform:uppercase;letter-spacing:.18em;color:var(--text-muted);margin-top:4px;font-size:8px;font-weight:650;display:block}.nav-scroll{flex:1;min-height:0;padding:6px 8px 12px;overflow-y:auto}.nav-st{text-transform:uppercase;letter-spacing:.14em;color:var(--text-muted);padding:14px 11px 6px;font-size:9px;font-weight:700}.nav-i{border-radius:var(--r-s);cursor:pointer;min-height:36px;font-size:var(--fs-2);color:var(--text-dim);transition:background var(--t-fast) var(--ease), color var(--t-fast) var(--ease);align-items:center;gap:10px;margin-bottom:1px;padding:9px 11px;font-weight:450;line-height:1.2;display:flex;position:relative}.nav-i:hover{background:var(--mat-thin);color:var(--text)}.nav-i:active{transition:transform 90ms var(--ease);transform:scale(.98)}.nav-i.active{color:#fff;background:#ffffff1c;font-weight:550}.nav-ic{opacity:.62;flex-shrink:0;justify-content:center;align-items:center;width:17px;display:flex}.nav-i.active .nav-ic{opacity:1}.nav-lbl{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.nav-badge{background:var(--red);color:#fff;text-align:center;border-radius:999px;flex-shrink:0;min-width:18px;padding:2px 6px;font-size:9.5px;font-weight:700;line-height:1}.sidebar-foot{padding:10px 12px calc(10px + var(--safe-b));border-top:1px solid var(--edge);font-size:var(--fs-1);color:var(--text-muted);align-items:center;gap:8px;display:flex}.sidebar-who{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.m-bar{display:none}.drawer-ov{z-index:150;animation:fadeIn .2s var(--ease);background:#00000080;position:fixed;inset:0}.topbar{z-index:90;height:var(--topbar-h);-webkit-backdrop-filter:var(--mat-thick-blur);border-bottom:1px solid var(--edge);background:#0a0c11c7;align-items:center;gap:12px;padding:0 20px;display:flex;position:sticky;top:0}.topbar .logo{padding:0}.topbar-nav{gap:2px;margin-left:8px;display:flex}.topbar-link{font-size:var(--fs-2);color:var(--text-dim);transition:background var(--t-fast) var(--ease), color var(--t-fast) var(--ease);border-radius:999px;padding:7px 12px;font-weight:520}.topbar-link:hover{color:var(--text);background:var(--mat-thin)}.topbar-link.active{color:var(--text);background:var(--mat-thin-h)}.topbar-right{align-items:center;gap:6px;margin-left:auto;display:flex}.page{z-index:1;width:100%;max-width:1120px;margin:0 auto;padding:28px 20px 64px;position:relative}.page-narrow{max-width:760px}.icon-btn{cursor:pointer;width:36px;height:36px;color:var(--text-dim);transition:background var(--t-fast) var(--ease), color var(--t-fast) var(--ease), transform var(--t) var(--spring);background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:relative}.icon-btn:hover{background:var(--mat-thin);color:var(--text)}.icon-btn:active{transform:scale(.92)}.icon-btn .dot{background:var(--red);color:#fff;border:2px solid var(--bg);border-radius:999px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:9px;font-weight:700;display:flex;position:absolute;top:7px;right:7px}.glass{background:var(--mat);-webkit-backdrop-filter:blur(24px)saturate(170%);border:1px solid var(--edge);border-top-color:var(--edge-top);border-radius:var(--r-l);box-shadow:var(--sh-2);transition:background var(--t) var(--spring), border-color var(--t) var(--spring), transform var(--t) var(--spring), box-shadow var(--t) var(--spring);padding:18px}.glass.pad-l{padding:24px}.glass.pad-0{padding:0;overflow:hidden}.glass.hoverable:hover{background:var(--mat-h);border-top-color:var(--edge-light-h)}.glass.clickable{cursor:pointer}.glass.clickable:active{transform:scale(.99)}.card-t{text-transform:uppercase;letter-spacing:.14em;color:var(--text-muted);margin-bottom:12px;font-size:9.5px;font-weight:700}.card-h{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.card-h .card-t{margin-bottom:0}.card-h h3{letter-spacing:-.015em;font-size:15px;font-weight:620}.page-h{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px;display:flex}.page-h h1{font-size:var(--fs-5);letter-spacing:var(--ls-5);font-weight:680;line-height:1.2}.page-h p{color:var(--text-dim);font-size:var(--fs-3);max-width:70ch;margin-top:6px}.page-h .actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.back-link{color:var(--text-muted);font-size:var(--fs-2);transition:color var(--t-fast) var(--ease);align-items:center;gap:5px;margin-bottom:10px;display:inline-flex}.back-link:hover{color:var(--text)}.kpis{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-bottom:18px;display:grid}.kpi{border-radius:var(--r-m);background:color-mix(in srgb, var(--kc,transparent) 7%, var(--mat));box-shadow:var(--sh-1);padding:14px 16px 13px;position:relative;overflow:hidden}.kpi:before{content:"";background:var(--kc,transparent);opacity:.85;width:3px;position:absolute;top:0;bottom:0;left:0}.kpi-l{font-size:var(--fs-1);color:var(--text-muted);font-weight:var(--fw-m);white-space:nowrap;text-overflow:ellipsis;margin-bottom:6px;overflow:hidden}.kpi-v{font-size:26px;font-weight:var(--fw-b);letter-spacing:-.028em;font-variant-numeric:tabular-nums;line-height:1.05}.kpi-s{color:var(--text-dim);margin-top:6px;font-size:10.5px}.btn{border-radius:var(--r-s);min-height:34px;font-size:var(--fs-2);letter-spacing:-.004em;white-space:nowrap;cursor:pointer;font-weight:560;line-height:1;font-family:var(--font);color:var(--text);transition:background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease), box-shadow var(--t) var(--spring), transform var(--t) var(--spring), color var(--t-fast) var(--ease);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:7px;padding:0 15px;display:inline-flex}.btn:active:not(:disabled){transition:transform 90ms var(--ease);transform:scale(.96)}.btn-p{box-shadow:0 1px 0 #ffffff24 inset, var(--sh-1);color:#fff;background:linear-gradient(#0a84ff61,#0a84ff3d);border-color:#0a84ff75}.btn-p:hover:not(:disabled){background:linear-gradient(#0a84ff80,#0a84ff57);box-shadow:inset 0 1px #ffffff2e,0 4px 18px -4px #0a84ff80}.btn-g{background:#fff1}.btn-g:hover:not(:disabled){background:#ffffff1c}.btn-d{background:var(--red-g);color:var(--red);border-color:#ff696147}.btn-d:hover:not(:disabled){background:#ff453a3d}.btn-plain{color:var(--text-dim);padding:0 8px}.btn-plain:hover:not(:disabled){color:var(--text);background:var(--mat-thin)}.btn-s{min-height:28px;font-size:var(--fs-1);border-radius:var(--r-xs);gap:5px;padding:0 11px}.btn-l{border-radius:var(--r-m);min-height:44px;padding:0 20px;font-size:14.5px}.btn-block{width:100%}.btn-icon{width:34px;padding:0}.btn-s.btn-icon{width:28px}.btn:disabled{opacity:.4;cursor:not-allowed}.badge{text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;background:var(--ov-3);color:var(--text-dim);border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:9.5px;font-weight:700;line-height:1;display:inline-flex}.b-green{background:var(--green-g);color:var(--green)}.b-red{background:var(--red-g);color:var(--red)}.b-blue{background:var(--cyan-g);color:var(--cyan)}.b-purple{background:var(--purple-g);color:var(--purple)}.b-yellow{background:var(--yellow-g);color:var(--yellow)}.b-orange{background:var(--orange-g);color:var(--orange)}.chip{white-space:nowrap;max-width:100%;height:22px;color:var(--text-dim);background:#ffffff0f;border:0;border-radius:999px;align-items:center;gap:5px;padding:0 9px;font-size:11px;font-weight:560;line-height:1;display:inline-flex}.chip svg{opacity:.8;flex-shrink:0}button.chip{cursor:pointer;transition:background var(--t-fast) var(--ease), color var(--t-fast) var(--ease)}button.chip:hover{color:var(--text);background:#ffffff1c}.chip.on{background:var(--cyan-g);color:var(--cyan)}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:2px solid #ffffff1f;border-top-color:var(--accent);border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.6s linear infinite spin;display:inline-block}.spinner.l{border-width:2.5px;width:28px;height:28px}.center-fill{justify-content:center;align-items:center;min-height:40vh;display:flex}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton{border-radius:var(--r-s);background:linear-gradient(90deg, var(--ov-2) 0px, var(--ov-4) 120px, var(--ov-2) 240px);background-size:800px 100%;animation:1.4s linear infinite shimmer}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field-l{font-size:var(--fs-2);color:var(--text-dim);align-items:center;gap:6px;font-weight:540;display:flex}.field-l .req{color:var(--red)}.field-h{font-size:var(--fs-1);color:var(--text-muted);line-height:1.45}.field-e{font-size:var(--fs-1);color:var(--red);line-height:1.45}.sinput{background:var(--mat-thin);border:1px solid var(--edge);border-radius:var(--r-s);width:100%;min-height:38px;color:var(--text);letter-spacing:-.006em;transition:border-color var(--t-fast) var(--ease), background var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);padding:9px 12px;font-size:14px;line-height:1.25}.sinput:hover:not(:disabled):not(:focus){border-color:var(--edge-h)}.sinput:focus{background:var(--mat-thin-h);box-shadow:var(--focus-ring);border-color:#0a84ff8c;outline:none}.sinput::placeholder{color:var(--text-muted)}.sinput:disabled{opacity:.5;cursor:not-allowed}.sinput.invalid{border-color:#ff696199}.sinput.s{min-height:30px;font-size:var(--fs-2);border-radius:var(--r-xs);padding:5px 10px}textarea.sinput{resize:vertical;min-height:88px;line-height:1.5}select.sinput{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a9adba' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 11px center;background-repeat:no-repeat;background-size:12px 12px;padding-right:32px}select.sinput option{background:var(--solid-2);color:var(--text)}input[type=datetime-local].sinput,input[type=date].sinput{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.input-group{align-items:stretch;display:flex}.input-group .sinput{border-radius:var(--r-s) 0 0 var(--r-s)}.input-group .btn{border-radius:0 var(--r-s) var(--r-s) 0;min-height:38px}.input-affix{position:relative}.input-affix .sinput{padding-right:40px}.input-affix>button{position:absolute;top:50%;right:4px;transform:translateY(-50%)}.check{cursor:pointer;font-size:var(--fs-3);color:var(--text);-webkit-user-select:none;user-select:none;align-items:flex-start;gap:9px;line-height:1.35;display:inline-flex}.check input{appearance:none;border:1.5px solid var(--edge-h);background:var(--mat-thin);cursor:pointer;width:18px;height:18px;transition:background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);border-radius:5px;flex-shrink:0;place-content:center;margin-top:1px;display:grid}.check input:after{content:"";width:9px;height:5px;transition:transform var(--t) var(--spring);border-bottom:2px solid #fff;border-left:2px solid #fff;transform:rotate(-45deg)translate(1px,-1px)scale(0)}.check input:checked{background:var(--accent);border-color:var(--accent)}.check input:checked:after{transform:rotate(-45deg)translate(1px,-1px)scale(1)}.check input[type=radio]{border-radius:50%}.check input[type=radio]:after{background:#fff;border:0;border-radius:50%;width:8px;height:8px;transform:scale(0)}.check input[type=radio]:checked:after{transform:scale(1)}.check .check-d{font-size:var(--fs-1);color:var(--text-muted);margin-top:3px;display:block}.switch{cursor:pointer;-webkit-user-select:none;user-select:none;font-size:var(--fs-3);align-items:center;gap:10px;display:inline-flex}.switch input{appearance:none;cursor:pointer;width:38px;height:23px;transition:background var(--t) var(--spring);background:#ffffff24;border-radius:999px;flex-shrink:0;position:relative}.switch input:after{content:"";width:19px;height:19px;box-shadow:var(--sh-1);transition:transform var(--t) var(--spring);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px}.switch input:checked{background:var(--green)}.switch input:checked:after{transform:translate(15px)}.switch input:disabled{opacity:.45;cursor:not-allowed}.seg{background:var(--ov-2);border-radius:999px;gap:2px;max-width:100%;padding:3px;display:inline-flex;overflow-x:auto}.seg-b{cursor:pointer;color:var(--text-muted);font-size:var(--fs-2);font-weight:var(--fw-m);white-space:nowrap;transition:background var(--t-fast) var(--ease), color var(--t-fast) var(--ease);background:0 0;border:none;border-radius:999px;padding:6px 12px;line-height:1}.seg-b:hover{color:var(--text)}.seg-b.on{background:var(--mat-thin-h);color:var(--text);box-shadow:var(--sh-1)}.tabs{background:var(--mat);border:1px solid var(--edge);border-radius:var(--r-m);scrollbar-width:none;gap:4px;margin-bottom:18px;padding:4px;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{border-radius:var(--r-s);cursor:pointer;font-size:var(--fs-2);font-weight:var(--fw-m);color:var(--text-muted);white-space:nowrap;transition:background var(--t-fast) var(--ease), color var(--t-fast) var(--ease);background:0 0;border:0;align-items:center;gap:7px;padding:8px 14px;line-height:1;display:inline-flex}.tab:hover{color:var(--text);background:var(--ov-1)}.tab.on{background:var(--mat-thin-h);color:var(--text);box-shadow:var(--sh-1)}.tab-n{font-size:9.5px;font-weight:var(--fw-b);background:var(--ov-3);color:var(--text-muted);font-variant-numeric:tabular-nums;border-radius:999px;padding:2px 6px}.tab.on .tab-n{background:var(--cyan-g);color:var(--cyan)}.tbl-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.tbl{border-collapse:collapse;width:100%}.tbl th{text-align:left;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);border-bottom:1px solid var(--edge);white-space:nowrap;padding:10px 14px;font-size:9.5px;font-weight:700}.tbl td{font-size:var(--fs-2);color:var(--text-dim);vertical-align:middle;border-bottom:1px solid #ffffff0b;padding:11px 14px}.tbl tbody tr{transition:background var(--t-fast) var(--ease)}.tbl tbody tr:hover td{background:#ffffff06}.tbl tbody tr.clickable{cursor:pointer}.tbl tbody tr:last-child td{border-bottom:0}.tbl td.strong{color:var(--text);font-weight:540}.tbl .r{text-align:right}.pager{border-top:1px solid var(--edge);font-size:var(--fs-1);color:var(--text-muted);justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.progress{background:var(--ov-3);border-radius:999px;height:6px;position:relative;overflow:hidden}.progress>i{background:linear-gradient(90deg, var(--accent), var(--cyan));transition:width var(--t-slow) var(--spring);border-radius:999px;position:absolute;inset:0 auto 0 0}.progress.done>i{background:linear-gradient(90deg, #22b04b, var(--green))}.progress.l{height:8px}.modal-ov{-webkit-backdrop-filter:blur(8px);z-index:300;animation:fadeIn .22s var(--ease);background:#00000085;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:var(--mat-thick);-webkit-backdrop-filter:var(--mat-thick-blur);border:1px solid var(--edge);border-top-color:var(--edge-top);border-radius:var(--r-xl);width:100%;max-width:520px;max-height:min(88vh,900px);box-shadow:var(--sh-4);animation:modalIn .4s var(--spring);flex-direction:column;display:flex}.modal.m{max-width:720px}.modal.l{max-width:960px}.modal-h{align-items:flex-start;gap:12px;padding:22px 24px 14px;display:flex}.modal-h h2{font-size:var(--fs-4);letter-spacing:var(--ls-4);flex:1;font-weight:640;line-height:1.3}.modal-h p{font-size:var(--fs-2);color:var(--text-dim);margin-top:4px}.modal-b{padding:4px 24px 20px;overflow-y:auto}.modal-f{border-top:1px solid var(--edge);flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:14px 24px 20px;display:flex}.modal-x{cursor:pointer;color:var(--text-muted);background:var(--mat-thin);width:30px;height:30px;transition:color var(--t-fast) var(--ease), background var(--t-fast) var(--ease), transform var(--t) var(--spring);border:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.modal-x:hover{color:var(--text);background:var(--mat-thin-h)}.modal-x:active{transform:scale(.9)}@keyframes modalIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes sheetIn{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes popIn{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:none}}.menu-wrap{display:inline-flex;position:relative}.menu{z-index:250;background:var(--mat-thick);min-width:200px;-webkit-backdrop-filter:var(--mat-thick-blur);border:1px solid var(--edge-h);border-radius:var(--r-m);box-shadow:var(--sh-3);animation:popIn .18s var(--spring);padding:5px;position:absolute;top:calc(100% + 6px);right:0}.menu.left{left:0;right:auto}.menu-i{border-radius:var(--r-xs);cursor:pointer;width:100%;font-size:var(--fs-2);color:var(--text-dim);text-align:left;white-space:nowrap;background:0 0;border:0;align-items:center;gap:9px;padding:8px 10px;display:flex}.menu-i:hover{background:var(--mat-thin-h);color:var(--text)}.menu-i.danger{color:var(--red)}.menu-i.danger:hover{background:var(--red-g)}.menu-sep{background:var(--edge);height:1px;margin:4px 2px}.menu-h{font-size:var(--fs-1);color:var(--text-muted);padding:8px 10px 6px}.toast-c{z-index:9999;pointer-events:none;flex-direction:column;gap:8px;max-width:calc(100vw - 28px);display:flex;position:fixed;top:14px;right:14px}.toast{pointer-events:auto;border-radius:var(--r-m);font-size:var(--fs-2);min-width:220px;max-width:420px;box-shadow:var(--sh-3);-webkit-backdrop-filter:blur(28px)saturate(180%);animation:toastIn .34s var(--spring);border:1px solid;align-items:flex-start;gap:9px;padding:11px 16px;font-weight:520;display:flex}.toast-s{color:var(--green);background:#14281adb;border-color:#30d15857}.toast-e{color:var(--red);background:#301414e0;border-color:#ff453a57}.toast-i{color:var(--cyan);background:#0e1c30e0;border-color:#0a84ff57}@keyframes toastIn{0%{opacity:0;transform:translate(16px)scale(.96)}to{opacity:1;transform:none}}.empty{text-align:center;color:var(--text-muted);padding:48px 20px}.empty-ic{background:var(--ov-3);width:52px;height:52px;color:var(--text-dim);border-radius:16px;justify-content:center;align-items:center;margin:0 auto 14px;display:flex}.empty h3{color:var(--text);letter-spacing:-.012em;margin-bottom:6px;font-size:15px;font-weight:620}.empty p{font-size:var(--fs-2);max-width:44ch;margin:0 auto;line-height:1.55}.empty .btn{margin-top:16px}.note{border-radius:var(--r-xs) var(--r-s) var(--r-s) var(--r-xs);background:var(--ov-1);border:1px solid var(--edge);border-left:2px solid var(--cyan);color:var(--text-dim);font-size:var(--fs-2);align-items:flex-start;gap:10px;padding:11px 14px;line-height:1.55;display:flex}.note b{color:var(--text);font-weight:600}.note svg{flex-shrink:0;margin-top:2px}.note.warn{border-left-color:var(--yellow)}.note.warn svg{color:var(--yellow)}.note.err{border-left-color:var(--red);background:var(--red-g);color:var(--text)}.note.err svg{color:var(--red)}.note.ok{border-left-color:var(--green)}.note.ok svg{color:var(--green)}.note.info svg{color:var(--cyan)}.avatar{color:#fff;letter-spacing:0;background:linear-gradient(135deg, hsl(var(--h,215) 70% 52%), hsl(calc(var(--h,215) + 40) 70% 42%));border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:11px;font-weight:700;display:inline-flex}.avatar.l{width:44px;height:44px;font-size:15px}.kbd{font-family:var(--font-mono);background:var(--ov-3);border:1px solid var(--edge);color:var(--text-dim);border-radius:5px;padding:1px 6px;font-size:10.5px}.code-box{font-family:var(--font-mono);border-radius:var(--r-s);border:1px solid var(--edge);color:var(--text);word-break:break-all;background:#0000004d;padding:10px 12px;font-size:12.5px}.auth-wrap{z-index:1;justify-content:center;align-items:center;min-height:100dvh;padding:24px 16px;display:flex;position:relative}.auth-card{width:100%;max-width:400px;padding:32px 30px 28px}.auth-card .logo{justify-content:center;padding:0 0 22px}.auth-card h1{font-size:var(--fs-5);letter-spacing:var(--ls-5);text-align:center;font-weight:680;line-height:1.25}.auth-card .sub{color:var(--text-dim);font-size:var(--fs-3);text-align:center;margin:8px 0 22px;line-height:1.5}.auth-card form{flex-direction:column;gap:14px;display:flex}.auth-foot{text-align:center;font-size:var(--fs-2);color:var(--text-muted);margin-top:18px}.auth-foot a,.link{color:var(--cyan)}.auth-foot a:hover,.link:hover{text-underline-offset:2px;text-decoration:underline}@media (min-width:1440px){.main{padding:32px 40px 56px}}@media (max-width:900px){.sidebar{transition:transform var(--t-slow) var(--spring);z-index:200;width:min(86vw,300px);box-shadow:var(--sh-4);transform:translate(-100%)}.sidebar.open{transform:none}.m-bar{z-index:90;height:var(--topbar-h);-webkit-backdrop-filter:var(--mat-thick-blur);border-bottom:1px solid var(--edge);background:#0a0c11d1;align-items:center;gap:10px;padding:0 12px;display:flex;position:sticky;top:0}.m-bar b{font-size:15px;font-weight:620}.app{flex-direction:column}.main{margin-left:0;padding:18px 14px 48px}.grid-2,.grid-3{grid-template-columns:1fr}.page-h h1{font-size:20px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{padding:0 10px}.topbar-nav{display:none}.page{padding:18px 14px 56px}}@media (max-width:560px){.modal-ov{align-items:flex-end;padding:0}.modal{border-radius:var(--r-xl) var(--r-xl) 0 0;max-height:92vh;animation:sheetIn .42s var(--spring);padding-bottom:var(--safe-b);max-width:none!important}.modal-h{padding:18px 18px 12px}.modal-b{padding:4px 18px 18px}.modal-f{padding:12px 18px 16px}.modal-f .btn{flex:1}.auth-card{padding:26px 20px 22px}.glass{border-radius:var(--r-m);padding:15px}.toast-c{left:14px;right:14px}.toast{max-width:none}.btn{min-height:38px}.btn-s{min-height:32px}.sinput{font-size:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.09ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.btn:active,.nav-i:active,.icon-btn:active,.modal-x:active,.glass.clickable:active{transform:none!important}.modal,.toast,.menu{animation:.12s linear fadeIn}}@media (prefers-reduced-transparency:reduce){:root{--mat-thick:#14171f;--mat:#ffffff17;--mat-thin:#ffffff1c}.sidebar,.modal,.toast,.glass,.topbar,.m-bar,.menu,.tabs{-webkit-backdrop-filter:none!important}.sidebar,.modal,.topbar,.m-bar,.menu{background:#14171f}body:before{opacity:.45}}@media (prefers-contrast:more){:root{--edge:#ffffff4d;--edge-h:#ffffff73;--edge-top:#ffffff5c;--text-dim:#ebebf5d1;--text-muted:#ebebf599;--mat:#ffffff1a;--mat-thin:#ffffff21}.glass{border-width:1.5px}}.btn,.badge,.chip,.tab,.seg-b,.nav-badge,.card-t{text-box:trim-both cap alphabetic}
