:root{
  color-scheme:light;
  --bg:#f3f6fa;--surface:#fff;--surface-2:#f7f9fc;--surface-3:#eef3f8;
  --text:#142333;--muted:#687b8e;--faint:#93a3b2;--line:#dce4ec;
  --nav:#07131f;--nav-2:#0d1f2e;--nav-text:#a9bbca;
  --primary:#1d65a6;--primary-2:#174d80;--primary-soft:#e6f0fa;
  --gold:#c3a252;--success:#247459;--warning:#a87316;--danger:#b43d48;
  --shadow-sm:0 1px 2px rgba(15,35,52,.05),0 5px 18px rgba(15,35,52,.04);
  --shadow-lg:0 24px 70px rgba(6,20,32,.18);--radius:12px;--radius-sm:8px;
  font:14px/1.5 Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif
}
*{box-sizing:border-box}html{min-width:320px}body{margin:0;background:var(--bg);color:var(--text);text-rendering:optimizeLegibility}button,input,select,textarea{font:inherit}button,a{transition:background .16s,border-color .16s,color .16s,transform .16s,box-shadow .16s}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}.hidden{display:none!important}
button,.primary,.secondary,.danger,.intro a{align-items:center;gap:7px}.icon{width:15px;height:15px;display:inline-block;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;vertical-align:-2px}.actions button{display:inline-flex;align-items:center;justify-content:center}.actions .icon{width:14px;height:14px}
.dark{color-scheme:dark;--bg:#071019;--surface:#0d1924;--surface-2:#101f2c;--surface-3:#172837;--text:#edf4f9;--muted:#93a7b8;--faint:#6f8495;--line:#223746;--nav:#050c13;--nav-2:#0b1925;--primary:#3b82c4;--primary-2:#2869a6;--primary-soft:#102c44;--shadow-sm:0 1px 2px #0005,0 8px 24px #0002;--shadow-lg:0 30px 90px #0009}
::selection{background:#4b91ca55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #4996d555;outline-offset:2px}

.login{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 18% 12%,#214e72 0,transparent 32%),radial-gradient(circle at 85% 85%,#173b57 0,transparent 32%),linear-gradient(145deg,#07111b,#0a1c2b 55%,#061019)}
.login:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.15;background-image:linear-gradient(#8db6d111 1px,transparent 1px),linear-gradient(90deg,#8db6d111 1px,transparent 1px);background-size:40px 40px}
.login form{position:relative;width:min(450px,100%);padding:42px;border:1px solid #41617a88;border-radius:18px;background:linear-gradient(145deg,#102230ee,#0a1823f5);color:#eef6fb;box-shadow:0 40px 100px #0009;backdrop-filter:blur(20px)}
.login form:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 1px #ffffff15}
.seal{width:62px;height:62px;display:grid;place-items:center;border:1px solid #d5b867;border-radius:18px;color:#d5b867;font-size:27px;background:#d5b8670d;box-shadow:inset 0 0 25px #d5b8670d}
.login form>small{display:block;margin-top:22px;color:#80a9c7;font-size:10px;font-weight:800;letter-spacing:.2em}.login h1{margin:5px 0 4px;font-size:34px;line-height:1.15;letter-spacing:-.035em}.login p{margin:0 0 28px;color:#9fb2c1}
.login label{display:grid;gap:7px;margin:15px 0;color:#bdcbd6;font-size:12px;font-weight:650}.login input{width:100%;padding:13px 14px;border:1px solid #36536a;border-radius:9px;background:#07131d;color:#fff;box-shadow:inset 0 1px 2px #0004}.login input:focus{border-color:#4d94cd}.login button{width:100%;margin-top:8px;padding:13px 16px;border:0;border-radius:9px;background:linear-gradient(135deg,#2d78b7,#1c5687);color:#fff;font-weight:750;box-shadow:0 10px 26px #0e416d66}.login button:hover{transform:translateY(-1px);box-shadow:0 14px 32px #0e416d88}.login output{display:block;min-height:20px;margin-top:13px;color:#ff9ca5}

.shell{min-height:100vh;display:grid;grid-template-columns:264px minmax(0,1fr)}
aside{position:fixed;inset:0 auto 0 0;z-index:10;width:264px;display:flex;flex-direction:column;background:linear-gradient(180deg,var(--nav),#081725);color:#e9f2f8;border-right:1px solid #243746;box-shadow:8px 0 35px #06111b12}
.brand{height:78px;display:flex;align-items:center;gap:13px;padding:0 20px;border-bottom:1px solid #203342}.brand i{width:42px;height:42px;display:grid;place-items:center;border:1px solid #b99a50;border-radius:12px;background:linear-gradient(145deg,#c4a3571b,#c4a35708);color:#d1b467;font-style:normal;font-size:20px}.brand span{display:grid}.brand b{font-size:21px;line-height:1.1;letter-spacing:.08em}.brand small{margin-top:3px;color:#7190a7;font-size:9px;font-weight:800;letter-spacing:.19em}
nav{flex:1;overflow:auto;padding:15px 11px;scrollbar-width:thin;scrollbar-color:#2a4254 transparent}nav>small{display:block;margin:18px 12px 7px;color:#66849b;font-size:9px;font-weight:800;letter-spacing:.17em}nav button,.side-actions button{position:relative;width:100%;margin:2px 0;padding:10px 12px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--nav-text);text-align:left;font-weight:580}nav button:hover{background:#ffffff0a;color:#eaf3f9}nav button.active{border-color:#2e52701f;background:linear-gradient(90deg,#1e5a8d55,#153d6033);color:#fff;box-shadow:inset 3px 0 #4694d0}.side-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:12px;border-top:1px solid #203342;background:#06121c}.side-actions button{padding:9px;text-align:center;border-color:#293f50;font-size:12px}.side-actions button:hover{background:#132b3d;color:#fff}
main{grid-column:2;min-width:0}main>header{position:sticky;top:0;z-index:5;height:66px;display:flex;align-items:center;gap:18px;padding:0 30px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 90%,transparent);backdrop-filter:blur(16px);box-shadow:0 1px 0 #ffffff08}main>header>span{color:var(--muted);font-size:10px;font-weight:750;letter-spacing:.15em}main>header>b{padding-left:18px;border-left:1px solid var(--line);font-size:13px}main>header>em{margin-left:auto;color:var(--success);font-size:9px;font-style:normal;font-weight:800;letter-spacing:.1em}#menu{display:none;border:0;background:transparent;color:var(--text);font-size:20px}
.content{width:100%;max-width:1500px;margin:0 auto;padding:34px}.intro{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:25px}.intro>div{min-width:0}.intro small{color:var(--primary);font-size:10px;font-weight:800;letter-spacing:.16em}.intro h1{margin:4px 0 3px;font-size:32px;line-height:1.2;letter-spacing:-.035em}.intro p{margin:0;color:var(--muted)}
.primary,.intro>button,.intro a,form button[type=submit]{display:inline-flex;align-items:center;justify-content:center;padding:10px 15px;border:1px solid var(--primary);border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;text-decoration:none;font-weight:720;box-shadow:0 7px 18px #1b5b9125}.primary:hover,.intro>button:hover,.intro a:hover,form button[type=submit]:hover{transform:translateY(-1px);box-shadow:0 10px 24px #1b5b9138}
.stats{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:15px;margin-bottom:20px}.stat{position:relative;overflow:hidden;padding:20px 21px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,var(--surface),var(--surface-2));box-shadow:var(--shadow-sm)}.stat:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--primary),#58a0d5);opacity:.8}.stat small{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.11em}.stat b{display:block;margin:7px 0 0;font-size:30px;line-height:1.2;letter-spacing:-.04em}.stat span{color:var(--faint);font-size:12px}
.card{margin-bottom:18px;padding:19px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm)}.grid{display:grid;grid-template-columns:repeat(3,minmax(240px,1fr));gap:16px}.grid .card{position:relative;margin:0;border-top:3px solid var(--primary);overflow:hidden}.grid .card:after{content:"";position:absolute;right:-30px;top:-50px;width:120px;height:120px;border-radius:50%;background:var(--primary-soft);opacity:.55}.grid h2{position:relative;z-index:1;margin:2px 0 8px;font-size:18px;letter-spacing:-.02em}.grid p{position:relative;z-index:1;min-height:44px;color:var(--muted)}
.toolbar{display:flex;gap:9px;margin-bottom:16px;flex-wrap:wrap}.toolbar input,.toolbar select{min-width:180px;flex:1;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);color:var(--text)}.toolbar input::placeholder{color:var(--faint)}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:9px}table{width:100%;border-collapse:collapse;background:var(--surface)}th{padding:11px 13px;border-bottom:1px solid var(--line);background:var(--surface-2);color:var(--muted);text-align:left;font-size:9px;font-weight:800;letter-spacing:.11em;white-space:nowrap}td{padding:12px 13px;border-bottom:1px solid var(--line);vertical-align:middle}tbody tr{transition:background .12s}tbody tr:hover{background:var(--surface-2)}tbody tr:last-child td{border-bottom:0}td small{color:var(--muted)}
.badge{display:inline-flex;align-items:center;padding:4px 8px;border:1px solid #3f96712a;border-radius:999px;background:#e6f4ee;color:#1c6e4f;font-size:11px;font-weight:700;white-space:nowrap}.dark .badge{background:#123628;color:#83d0af}.badge.warn{border-color:#b786302e;background:#f7edd6;color:#825e15}.dark .badge.warn{background:#3b2d12;color:#edca7e}.badge.bad{border-color:#b5414d33;background:#f9e4e6;color:#9b303c}.dark .badge.bad{background:#421b22;color:#f2a0a9}
.actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.actions button,.secondary,.danger{padding:7px 10px;border:1px solid var(--line);border-radius:7px;background:var(--surface-2);color:var(--text);font-size:12px;font-weight:650}.actions button:hover,.secondary:hover{border-color:#8cabc3;background:var(--surface-3)}.actions .danger,.danger{border-color:#b43d48;background:#b43d48;color:#fff}.actions .danger:hover,.danger:hover{border-color:#9d303b;background:#9d303b}
.row-card{display:grid;grid-template-columns:62px minmax(180px,1fr) 190px 190px;align-items:center;gap:13px;padding:13px 10px;border-bottom:1px solid var(--line)}.row-card:last-child{border:0}.row-card:hover{background:var(--surface-2)}.swatch{width:49px;height:39px;display:grid;place-items:center;border-radius:8px;color:#fff;font-style:normal;font-size:10px;font-weight:800;box-shadow:inset 0 1px #fff4}.empty{padding:42px;color:var(--muted);text-align:center}.notice{margin:9px 0;padding:13px 14px;border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:8px;background:var(--surface-2)}

dialog{width:min(760px,94vw);max-height:90vh;padding:0;border:1px solid var(--line);border-radius:15px;background:var(--surface);color:var(--text);box-shadow:var(--shadow-lg)}dialog::backdrop{background:#020a10bd;backdrop-filter:blur(5px)}dialog>form>header{display:flex;justify-content:space-between;gap:20px;padding:21px 24px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,var(--surface),var(--surface-2))}dialog h2{margin:0;font-size:22px;letter-spacing:-.025em}dialog p{margin:4px 0 0;color:var(--muted)}dialog header>button{width:35px;height:35px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);color:var(--text);font-size:21px;line-height:1}.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:23px}.fields label{display:grid;gap:7px;color:var(--muted);font-size:12px;font-weight:650}.fields .full{grid-column:1/-1}.fields input,.fields select,.fields textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);color:var(--text);font-weight:450}.fields input:focus,.fields select:focus,.fields textarea:focus{border-color:#4d91c7;background:var(--surface)}.fields textarea{min-height:105px;resize:vertical}dialog footer{display:flex;align-items:center;gap:9px;padding:16px 23px;border-top:1px solid var(--line);background:var(--surface-2)}dialog footer>span{flex:1}
#toast{position:fixed;right:24px;bottom:24px;z-index:30;padding:13px 17px;border:1px solid #385b73;border-radius:9px;background:#112b3d;color:#fff;box-shadow:0 18px 45px #0005;opacity:0;transform:translateY(20px);pointer-events:none;transition:.2s}#toast.show{opacity:1;transform:none}

@media print{aside,main>header,.intro button,.intro a,.actions,.toolbar,#toast{display:none!important}.shell{display:block}.content{max-width:none;padding:0}.card,.stat{box-shadow:none}body{background:#fff;color:#000}}
@media(max-width:1050px){.shell{display:block}aside{transform:translateX(-105%);transition:transform .22s}aside.open{transform:none;box-shadow:20px 0 60px #0008}main{display:block}#menu{display:block}.content{padding:24px}.stats{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:repeat(2,1fr)}main>header>span{display:none}}
@media(max-width:680px){.content{padding:19px 14px}.intro{align-items:flex-start;flex-direction:column}.intro h1{font-size:27px}.stats,.grid{grid-template-columns:1fr}.stat{padding:17px}.fields{grid-template-columns:1fr;padding:18px}.fields .full{grid-column:auto}.row-card{grid-template-columns:50px 1fr}.row-card>:nth-child(3){display:none}main>header{height:58px;padding:0 15px}main>header>em{display:none}dialog footer{flex-wrap:wrap}dialog footer>span{display:none}.table-wrap{margin:0 -10px;border-left:0;border-right:0;border-radius:0}}
