:root{--bg:#f6f7f9;--panel:#ffffff;--panel-soft:#fafbfc;--line:#e7eaf0;--text:#1d2530;--muted:#697386;--muted-2:#9aa3b2;--brand:#2457e6;--brand-soft:#eef3ff;--ok:#13835f;--warn:#a76a00;--danger:#c83a3a;--shadow:0 12px 34px rgba(25,33,50,.06);--radius:14px}*{box-sizing:border-box}html{background:var(--bg)}body,html{min-height:100%}body{margin:0;color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px;font-weight:400;line-height:1.45;background:radial-gradient(circle at 0 0,rgba(36,87,230,.08),transparent 28%),radial-gradient(circle at 100% 0,rgba(19,131,95,.06),transparent 24%),linear-gradient(180deg,#f9fafc,#f3f5f8)}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.avatar,.badge,.brandMark,.btn,.btnSubtle,.btnTiny,.navBtn,b,h1,h2,h3,h4,strong,th{font-weight:500}.loginShell{min-height:100vh;display:grid;place-items:center;padding:16px}.loginCard{width:min(360px,100%);padding:20px;border-radius:18px;background:rgba(255,255,255,.92);border:1px solid rgba(231,234,240,.95);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.brandMark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand),#8cabff);color:white;letter-spacing:-.04em;box-shadow:0 10px 22px rgba(36,87,230,.18)}.smallMark{width:36px;height:36px;border-radius:12px;flex:0 0 auto}.loginCard h1,.pageTitle h1,.panel h2{margin:0;letter-spacing:-.025em}.loginCard h1{font-size:22px}.loginCard p,.pageTitle p{margin:4px 0 0;color:var(--muted);line-height:1.45;font-size:12px}.formGrid{display:grid;grid-gap:10px;gap:10px;margin-top:16px}.field{display:grid;grid-gap:5px;gap:5px;min-width:0}.field label{font-size:11px;color:var(--muted);font-weight:400}.input,.select,.textarea{width:100%;border:1px solid var(--line);background:white;color:var(--text);border-radius:10px;padding:9px 10px;min-height:38px;outline:none;transition:border-color .16s,box-shadow .16s,background .16s}.textarea{resize:vertical;min-height:78px}.input:focus,.select:focus,.textarea:focus{border-color:rgba(36,87,230,.55);box-shadow:0 0 0 3px rgba(36,87,230,.08)}.btn,.btnSubtle,.btnTiny,.iconBtn,.menuBtn{border:1px solid var(--line);border-radius:10px;transition:transform .12s,border-color .12s,background .12s}.btn:active,.btnSubtle:active,.btnTiny:active,.iconBtn:active,.menuBtn:active{transform:translateY(1px)}.btn{padding:9px 12px;color:white;background:linear-gradient(135deg,var(--brand),#1747c4);border-color:transparent;box-shadow:0 10px 20px rgba(36,87,230,.14)}.btn:disabled,.btnSubtle:disabled,.iconBtn:disabled{opacity:.62;cursor:not-allowed}.btnSubtle{background:white;color:var(--text);padding:8px 10px}.btnTiny{background:white;border-radius:999px;padding:5px 8px;font-size:11px}.btnDanger{color:var(--danger)}.btnOk{color:var(--ok)}.iconBtn,.menuBtn{background:white;color:var(--text);width:34px;height:34px;display:grid;place-items:center;padding:0}.iconBtn{width:32px;height:32px}.errorBox,.successBox{border-radius:11px;padding:9px 10px;font-size:12px;line-height:1.4}.errorBox{background:#fff3f3;color:#8f2727;border:1px solid #ffd7d7}.successBox{background:#effbf6;color:#087052;border:1px solid #cbeadf}.appShell{min-height:100vh;display:grid;grid-template-columns:1fr}.sidebar{position:fixed;z-index:60;inset:0 auto 0 0;width:min(270px,calc(100vw - 34px));height:100vh;padding:12px;border-right:1px solid rgba(231,234,240,.9);background:rgba(255,255,255,.96);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transform:translateX(-104%);transition:transform .18s ease;box-shadow:20px 0 44px rgba(25,33,50,.08)}.sidebar.open{transform:translateX(0)}.menuBackdrop{position:fixed;z-index:55;inset:0;border:0;padding:0;background:rgba(13,19,30,.24);cursor:default}.sidebarTop{display:flex;align-items:center;gap:9px;padding:4px 2px 12px}.sidebarBrandText{min-width:0;flex:1 1}.sidebarTop strong{letter-spacing:-.02em;font-size:14px}.sidebarTop span,.sidebarTop strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebarTop span{font-size:11px;color:var(--muted);margin-top:1px}.sideClose{flex:0 0 auto}.nav{display:grid;grid-gap:4px;gap:4px}.navBtn{width:100%;border:0;background:transparent;color:var(--muted);padding:9px 10px;border-radius:11px;text-align:left;font-size:12px}.navBtn:hover{background:#f4f6fa;color:var(--text)}.navBtn.active{background:var(--brand-soft);color:var(--brand)}.sidebarFooter{position:absolute;left:12px;right:12px;bottom:12px;display:grid;grid-gap:8px;gap:8px}.main{padding:12px;max-width:1440px;width:100%;margin:0 auto}.commandTop{position:-webkit-sticky;position:sticky;top:0;z-index:40;display:flex;justify-content:space-between;align-items:center;gap:8px;margin:-12px -12px 10px;padding:10px 12px;background:rgba(246,247,249,.88);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(231,234,240,.8)}.commandTop span{color:var(--muted);font-size:12px}.topbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.pageTitle h1{font-size:clamp(20px,2.2vw,28px)}.userPill{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.85);border:1px solid var(--line);border-radius:999px;padding:5px 9px 5px 5px;min-width:0}.avatar{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--brand-soft);color:var(--brand);font-size:12px}.userPill strong{display:block;font-size:12px;max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.userPill span{display:block;font-size:10.5px;color:var(--muted)}.gridStats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}.panel,.statCard{border-radius:var(--radius);background:rgba(255,255,255,.9);border:1px solid rgba(231,234,240,.95);box-shadow:var(--shadow)}.statCard{padding:12px;min-width:0}.statCard span{color:var(--muted);font-size:11px}.statCard strong{display:block;margin-top:3px;font-size:23px;letter-spacing:-.04em}.statCard small{color:var(--muted-2);font-size:11px}.panel{padding:12px}.panelHead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.panelHead h2{font-size:15px}.panelHead p{margin:2px 0 0;font-size:11.5px;color:var(--muted)}.grid2{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);grid-gap:10px;gap:10px;margin-top:10px}.gridForm{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:9px;gap:9px}.gridForm3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:9px;gap:9px}.stack{display:grid;grid-gap:10px;gap:10px}.row{display:flex;gap:7px;align-items:center;flex-wrap:wrap;min-width:0}.tableWrap{overflow:auto;border:1px solid var(--line);border-radius:12px;background:white;-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse;min-width:680px}td,th{padding:8px 9px;text-align:left;border-bottom:1px solid var(--line);font-size:12px;vertical-align:top}th{color:var(--muted);font-size:11px;background:#fbfcfe;white-space:nowrap}td{color:#2a3342}tr:last-child td{border-bottom:0}.empty{padding:20px;text-align:center;font-size:12px}.badge,.empty{color:var(--muted)}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 7px;border-radius:999px;font-size:10.5px;background:#f4f6fa;white-space:nowrap;text-transform:lowercase}.badge.ok{background:#eaf8f2;color:var(--ok)}.badge.warn{background:#fff6e8;color:var(--warn)}.badge.danger{background:#fff1f1;color:var(--danger)}.badge.blue{background:var(--brand-soft);color:var(--brand)}.mobileTop{display:none}@media (min-width:1280px){.commandTop,.main{padding-left:18px;padding-right:18px}.commandTop{margin-left:-18px;margin-right:-18px}}@media (max-width:1060px){.gridStats{grid-template-columns:repeat(2,minmax(0,1fr))}.grid2,.gridForm3{grid-template-columns:1fr}}@media (max-width:740px){body{font-size:12.5px}.main{padding:10px}.commandTop{margin:-10px -10px 10px;padding:9px 10px}.topbar{align-items:flex-start;flex-direction:column}.userPill{max-width:100%}.userPill strong{max-width:250px}.gridForm,.gridStats{grid-template-columns:1fr}.panelHead{flex-direction:column;align-items:stretch}.panelHead .row .input{width:100%!important}.panelHead .row{width:100%}.panelHead .row>*{flex:1 1 auto}.loginCard{padding:18px;border-radius:16px}table{min-width:620px}td,th{padding:7px 8px}}@media (max-width:420px){.sidebar{width:calc(100vw - 24px)}.pageTitle h1{font-size:19px}.statCard strong{font-size:21px}.brandMark{width:38px;height:38px}}