:root{--font-display:"Sora", system-ui, sans-serif;--font-body:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--bg:#f6f6f4;--surface:#fff;--surface-2:#fafafa;--sunk:#f1f1ee;--ink:#1a1a1a;--ink-2:#4a4a4a;--muted:#7a7a76;--faint:#9c9c97;--line:#e7e7e3;--line-2:#efefec;--brand:#5546d6;--brand-2:#6f5ff0;--brand-soft:#ece9fb;--brand-ink:#3a2fa0;--green:#1f9d57;--green-soft:#e3f4ea;--amber:#e07a1a;--amber-soft:#fbeed9;--red:#d4373a;--red-soft:#fbe3e3;--cyan:#0e9ab5;--cyan-soft:#dcf3f7;--radius:18px;--radius-sm:12px;--radius-xs:9px;--shadow-sm:0 1px 2px #0000000a, 0 2px 8px #0000000a;--shadow-md:0 8px 30px -12px #0000002e;--rail-w:266px;--rail-collapsed:80px}:root[data-theme=dark]{--bg:#131316;--surface:#1b1b20;--surface-2:#202027;--sunk:#17171b;--ink:#f2f2f0;--ink-2:#c6c6c2;--muted:#8e8e93;--faint:#6d6d73;--line:#2b2b33;--line-2:#24242b;--brand-soft:#241f4d;--brand-ink:#b3a8ff;--green-soft:#14301f;--amber-soft:#33220d;--red-soft:#3a1618;--cyan-soft:#0e2c33;--shadow-sm:0 1px 2px #0000004d, 0 2px 8px #0000003d;--shadow-md:0 8px 30px -12px #0009}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.adm-app{grid-template-columns:var(--rail-w) 1fr;min-height:100vh;transition:grid-template-columns .18s;display:grid}.adm-app.collapsed{grid-template-columns:var(--rail-collapsed) 1fr}.adm-rail{background:var(--surface);border-right:1px solid var(--line);overscroll-behavior:contain;flex-direction:column;gap:20px;height:100vh;padding:16px 16px 20px;display:flex;position:sticky;top:0;overflow-y:auto}.adm-app.collapsed .adm-rail{align-items:center;padding:16px 10px 18px}.adm-brand{align-items:center;gap:11px;padding:0 4px;display:flex}.adm-brand .mark{background:linear-gradient(135deg, var(--brand), var(--brand-2));color:#fff;width:38px;height:38px;font-family:var(--font-display);border-radius:11px;flex:none;place-items:center;font-size:17px;font-weight:800;display:grid}.adm-brand h1{font-family:var(--font-display);letter-spacing:-.01em;font-size:15px;font-weight:800;line-height:1.1}.adm-brand span{color:var(--muted);letter-spacing:.04em;font-size:10.5px;font-weight:500}.adm-app.collapsed .adm-brand .txt{display:none}.adm-railtoggle{border-radius:var(--radius-xs);border:1px solid var(--line);background:var(--surface);cursor:pointer;width:30px;height:30px;color:var(--muted);flex:none;place-items:center;margin-left:auto;display:grid}.adm-railtoggle:hover{background:var(--brand-soft);color:var(--brand-ink);border-color:var(--brand-soft)}.adm-railtoggle svg{width:15px;height:15px;transition:transform .2s}.adm-app.collapsed .adm-railtoggle{margin:0;transform:rotate(180deg)}.adm-navgroup{flex-direction:column;gap:3px;display:flex}.adm-navlabel{letter-spacing:.13em;color:var(--faint);text-transform:uppercase;margin-bottom:6px;padding:0 10px;font-size:10px;font-weight:700}.adm-app.collapsed .adm-navlabel{display:none}.adm-navitem{border-radius:var(--radius-sm);color:var(--muted);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:12px;width:100%;padding:10px 12px;font-family:inherit;font-size:13.5px;font-weight:500;transition:background .15s,color .15s;display:flex}.adm-navitem svg{stroke:currentColor;fill:none;stroke-width:2px;flex:none;width:18px;height:18px}.adm-navitem:hover{background:var(--brand-soft);color:var(--brand-ink)}.adm-navitem.active{background:linear-gradient(90deg, var(--brand), var(--brand-2));color:#fff;box-shadow:0 8px 18px -10px var(--brand)}.adm-navitem .badge{background:var(--amber);color:#fff;border-radius:20px;margin-left:auto;padding:1px 8px;font-size:10.5px;font-weight:700}.adm-navitem.active .badge{color:var(--brand);background:#fff}.adm-app.collapsed .adm-navitem{justify-content:center;width:48px;padding:11px 0}.adm-app.collapsed .adm-navitem .txt,.adm-app.collapsed .adm-navitem .badge{display:none}.adm-railfoot{background:var(--brand-soft);border-radius:var(--radius-sm);align-items:center;gap:10px;margin-top:auto;padding:12px;display:flex}.adm-railfoot .av{background:var(--brand);color:#fff;border-radius:10px;flex:none;place-items:center;width:36px;height:36px;font-size:13px;font-weight:700;display:grid}.adm-railfoot .acts{gap:2px;margin-left:auto;display:flex}.adm-app.collapsed .adm-railfoot .acts{display:none}.adm-railfoot b{color:var(--ink);font-size:12.5px;font-weight:600;display:block}.adm-railfoot small{color:var(--muted);font-size:11px}.adm-app.collapsed .adm-railfoot{background:0 0;padding:8px}.adm-app.collapsed .adm-railfoot .txt,.adm-app.collapsed .adm-railfoot .out{display:none}.adm-railfoot .out{border-radius:var(--radius-xs);width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.adm-railfoot .out:hover{background:var(--surface);color:var(--red)}.adm-main{min-width:0;max-width:1360px;padding:24px 30px 56px}.adm-head{flex-wrap:wrap;align-items:flex-start;gap:18px;margin-bottom:22px;display:flex}.adm-head h2{font-family:var(--font-display);letter-spacing:-.02em;font-size:23px;font-weight:800}.adm-head p{color:var(--muted);max-width:66ch;margin-top:4px;font-size:13.5px;line-height:1.55}.adm-head .spacer{margin-left:auto}.adm-headactions{align-items:center;gap:10px;display:flex}.adm-btn{cursor:pointer;border-radius:var(--radius-sm);white-space:nowrap;border:0;align-items:center;gap:8px;padding:10px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.adm-btn svg{stroke:currentColor;fill:none;stroke-width:2px;width:15px;height:15px}.adm-btn:disabled{opacity:.55;cursor:not-allowed}.adm-btn-primary{background:var(--brand);color:#fff}.adm-btn-primary:not(:disabled):hover{background:var(--brand-ink)}.adm-btn-ghost{background:var(--surface);border:1px solid var(--line);color:var(--ink)}.adm-btn-ghost:not(:disabled):hover{border-color:var(--brand);color:var(--brand-ink)}.adm-btn-danger{background:var(--red-soft);color:var(--red)}.adm-btn-danger:not(:disabled):hover{background:var(--red);color:#fff}.adm-btn-sm{padding:7px 12px;font-size:12.5px}.adm-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:20px 22px}.adm-kpis{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px;display:grid}.adm-kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:18px}.adm-kpi .chip{border-radius:var(--radius-sm);background:var(--brand-soft);width:38px;height:38px;color:var(--brand-ink);place-items:center;margin-bottom:13px;display:grid}.adm-kpi .chip svg{stroke:currentColor;fill:none;stroke-width:2px;width:18px;height:18px}.adm-kpi.green .chip{background:var(--green-soft);color:var(--green)}.adm-kpi.amber .chip{background:var(--amber-soft);color:var(--amber)}.adm-kpi.cyan .chip{background:var(--cyan-soft);color:var(--cyan)}.adm-kpi.red .chip{background:var(--red-soft);color:var(--red)}.adm-kpi .lab{color:var(--muted);font-size:12.5px;font-weight:500}.adm-kpi .val{font-family:var(--font-display);letter-spacing:-.03em;margin-top:2px;font-size:28px;font-weight:800;line-height:1.1}.adm-kpi .foot{color:var(--muted);margin-top:8px;font-size:11.5px;line-height:1.5}.adm-grid2{grid-template-columns:1.7fr 1fr;gap:16px;margin-bottom:20px;display:grid}.adm-cardhead{align-items:center;gap:12px;margin-bottom:14px;display:flex}.adm-cardhead h3{font-family:var(--font-display);font-size:15px;font-weight:700}.adm-cardhead .sub{color:var(--muted);margin-top:2px;font-size:12px}.adm-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;display:flex}.adm-seg{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);flex-wrap:wrap;gap:2px;padding:4px;display:flex}.adm-seg button{color:var(--muted);border-radius:var(--radius-xs);cursor:pointer;background:0 0;border:0;padding:7px 13px;font-family:inherit;font-size:12.5px;font-weight:600}.adm-seg button.on{background:var(--brand);color:#fff}.adm-search{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);flex:0 300px;align-items:center;gap:9px;min-width:240px;padding:9px 13px;display:flex}.adm-search svg{width:15px;height:15px;stroke:var(--faint);fill:none;stroke-width:2px;flex:none}.adm-search input{color:var(--ink);background:0 0;border:0;outline:0;width:100%;font-family:inherit;font-size:13px}.adm-pill{background:var(--sunk);color:var(--muted);white-space:nowrap;border-radius:20px;align-items:center;gap:5px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.adm-pill.brand{background:var(--brand-soft);color:var(--brand-ink)}.adm-pill.green{background:var(--green-soft);color:var(--green)}.adm-pill.amber{background:var(--amber-soft);color:var(--amber)}.adm-pill.red{background:var(--red-soft);color:var(--red)}.adm-pill.cyan{background:var(--cyan-soft);color:var(--cyan)}.adm-pill .d{background:currentColor;border-radius:50%;width:6px;height:6px}.adm-tablecard{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.adm-tablescroll{overflow-x:auto}.adm-table{border-collapse:collapse;width:100%}.adm-table thead th{background:var(--brand-soft);text-align:left;letter-spacing:.05em;text-transform:uppercase;color:var(--brand-ink);white-space:nowrap;padding:13px 18px;font-size:11px;font-weight:700}.adm-table tbody td{border-top:1px solid var(--line);vertical-align:middle;padding:13px 18px;font-size:13px}.adm-table tbody tr:hover{background:var(--surface-2)}.adm-table .num{font-family:var(--font-mono);font-size:12px}.adm-tcell{align-items:center;gap:11px;min-width:0;display:flex}.adm-tav{color:#fff;background:linear-gradient(135deg, var(--brand), var(--brand-2));border-radius:10px;flex:none;place-items:center;width:34px;height:34px;font-size:12px;font-weight:700;display:grid}.adm-tcell .nm{color:var(--ink);font-weight:600}.adm-tcell .em{color:var(--muted);font-size:11.5px}.adm-rowact{justify-content:flex-end;gap:6px;display:flex}.adm-rowact button{border-radius:var(--radius-xs);background:var(--sunk);width:30px;height:30px;color:var(--muted);cursor:pointer;border:0;place-items:center;display:grid}.adm-rowact button svg{stroke:currentColor;fill:none;stroke-width:2px;width:14px;height:14px}.adm-rowact button:hover{background:var(--brand-soft);color:var(--brand-ink)}.adm-rowact button.danger:hover{background:var(--red-soft);color:var(--red)}.adm-tfoot{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px;padding:13px 18px;font-size:12.5px;display:flex}.adm-pager{gap:6px;margin-left:auto;display:flex}.adm-pager button{border-radius:var(--radius-xs);border:1px solid var(--line);background:var(--surface);min-width:32px;height:32px;color:var(--muted);cursor:pointer;padding:0 8px;font-family:inherit;font-size:12.5px}.adm-pager button.on{background:var(--brand);color:#fff;border-color:var(--brand)}.adm-pager button:disabled{opacity:.4;cursor:not-allowed}.adm-field{margin-bottom:14px}.adm-field label{color:var(--muted);margin-bottom:6px;font-size:11.5px;font-weight:600;display:block}.adm-field input,.adm-field select,.adm-field textarea{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--ink);padding:10px 12px;font-family:inherit;font-size:13.5px}.adm-field textarea{resize:vertical;min-height:88px;line-height:1.6}.adm-field input:focus,.adm-field select:focus,.adm-field textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);outline:0}.adm-field .hint{color:var(--faint);margin-top:5px;font-size:11.5px;line-height:1.5}.adm-formgrid{grid-template-columns:1fr 1fr;gap:0 18px;display:grid}.adm-field.full{grid-column:1/-1}.adm-switch{background:var(--line);cursor:pointer;border:0;border-radius:20px;flex:none;width:42px;height:24px;padding:0;transition:background .18s;position:relative}.adm-switch:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:left .18s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000040}.adm-switch.on{background:var(--brand)}.adm-switch.on:after{left:21px}.adm-switch:disabled{opacity:.5;cursor:not-allowed}.adm-empty{text-align:center;color:var(--muted);padding:54px 24px}.adm-empty svg{width:30px;height:30px;stroke:var(--faint);fill:none;stroke-width:1.6px;margin-bottom:12px}.adm-empty p{max-width:44ch;margin:0 auto;font-size:13.5px;line-height:1.6}.adm-skel{background:linear-gradient(90deg, var(--sunk) 25%, var(--line-2) 37%, var(--sunk) 63%);border-radius:var(--radius-sm);background-size:400% 100%;animation:1.4s infinite admshimmer}@keyframes admshimmer{0%{background-position:100%}to{background-position:0}}.adm-note{background:var(--amber-soft);color:var(--amber);border-radius:var(--radius-sm);margin-bottom:16px;padding:12px 14px;font-size:12.5px;line-height:1.6}.adm-toasts{z-index:100;flex-direction:column;gap:10px;display:flex;position:fixed;top:18px;right:18px}.adm-toast{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--brand);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);min-width:260px;max-width:360px;padding:12px 16px;animation:.2s admslide}.adm-toast.green{border-left-color:var(--green)}.adm-toast.amber{border-left-color:var(--amber)}.adm-toast.red{border-left-color:var(--red)}.adm-toast b{margin-bottom:2px;font-size:13px;display:block}.adm-toast span{color:var(--muted);font-size:12px;line-height:1.5}@keyframes admslide{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:none}}.adm-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:90;background:#1414186b;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.adm-modal{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-md);width:min(560px,100%);max-height:88vh;overflow-y:auto}.adm-modal header{padding:20px 22px 0}.adm-modal header h3{font-family:var(--font-display);font-size:17px;font-weight:700}.adm-modal header p{color:var(--muted);margin-top:4px;font-size:12.5px;line-height:1.55}.adm-modal .body{padding:18px 22px}.adm-modal footer{justify-content:flex-end;gap:10px;padding:0 22px 20px;display:flex}.adm-login{background:var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.adm-login .box{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:min(400px,100%);box-shadow:var(--shadow-sm);padding:30px}.adm-login .box h1{font-family:var(--font-display);letter-spacing:-.02em;margin-bottom:4px;font-size:21px;font-weight:800}.adm-login .box p{color:var(--muted);margin-bottom:22px;font-size:13px;line-height:1.6}.adm-err{background:var(--red-soft);color:var(--red);border-radius:var(--radius-sm);margin-bottom:14px;padding:10px 12px;font-size:12.5px;line-height:1.5}@media (width<=1100px){.adm-kpis{grid-template-columns:repeat(2,1fr)}.adm-grid2{grid-template-columns:1fr}}@media (width<=760px){.adm-app,.adm-app.collapsed{grid-template-columns:var(--rail-collapsed) 1fr}.adm-app .adm-rail{align-items:center;padding:16px 10px 18px}.adm-app .adm-brand .txt,.adm-app .adm-navlabel,.adm-app .adm-navitem .txt,.adm-app .adm-navitem .badge,.adm-app .adm-railfoot .txt,.adm-app .adm-railfoot .out{display:none}.adm-app .adm-navitem{justify-content:center;width:48px;padding:11px 0}.adm-main{padding:18px 16px 40px}.adm-kpis,.adm-formgrid{grid-template-columns:1fr}}
