@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--bg-darkest:#000;--bg-dark:#040405;--bg-main:#07090b;--bg-light:#111417;--bg-lighter:#1a1d22;--bg-extra-light:#23282f;--stroke-dark:#141414;--stroke-main:#1d1d1e;--stroke-light:#2c2f31;--text-primary:#fff;--text-secondary:#e8e8f0;--text-muted:#7f8590;--text-dim:#5a5a78;--text-dark:#363b47;--accent-start:#07d6ef;--accent-end:#2df88e;--accent:#2df88e;--accent-dim:#2df88e14;--accent-border:#2df88e40;--danger:#e95555;--danger-dim:#e9555514;--warning:#e9ff3f;--success:#2df88e;--info:#5189ff;--radius:12px;--radius-sm:8px;--radius-lg:16px;--sidebar-width:235px;--header-height:64px;--shadow:0 4px 24px #0006}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body,#root{overflow:hidden}body{background:var(--bg-dark);color:var(--text-secondary);-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.5}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#fff3}a{color:var(--accent);text-decoration:none}a:hover{opacity:.8}button{cursor:pointer;border:none;outline:none;font-family:inherit}input,select,textarea{background:var(--bg-main);border:1px solid var(--stroke-main);color:var(--text-secondary);border-radius:var(--radius-sm);outline:none;padding:10px 14px;font-family:inherit;font-size:14px;transition:border-color .2s}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}input::placeholder{color:var(--text-dim)}.gradient-text{background:linear-gradient(135deg, var(--accent-start), var(--accent-end));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.btn{border-radius:var(--radius-sm);white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--accent-start), var(--accent-end));color:var(--bg-dark)}.btn-primary:hover{opacity:.9;transform:translateY(-1px)}.btn-ghost{border:1px solid var(--stroke-main);color:var(--text-muted);background:#ffffff0d}.btn-ghost:hover{color:var(--text-secondary);background:#ffffff14}.btn-danger{background:var(--danger-dim);color:var(--danger);border:1px solid #e9555540}.btn-danger:hover{background:#e9555526}.btn-sm{padding:7px 14px;font-size:13px}.card{background:var(--bg-light);border:1px solid var(--stroke-main);border-radius:var(--radius);overflow:hidden}.card-header{border-bottom:1px solid var(--stroke-main);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.card-body{padding:20px}.badge{border-radius:20px;align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.badge-success{color:var(--accent);border:1px solid var(--accent-border);background:#2df88e1a}.badge-danger{background:var(--danger-dim);color:var(--danger);border:1px solid #e9555540}.badge-warning{color:var(--warning);background:#e9ff3f14;border:1px solid #e9ff3f33}.badge-info{color:var(--info);background:#5189ff14;border:1px solid #5189ff33}.badge-muted{color:var(--text-muted);border:1px solid var(--stroke-main);background:#ffffff0d}.stat-card{background:var(--bg-light);border:1px solid var(--stroke-main);border-radius:var(--radius);padding:18px 20px;transition:border-color .2s}.stat-card:hover{border-color:var(--stroke-light)}.stat-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.6px;margin-bottom:8px;font-size:11px;font-weight:600}.stat-value{color:var(--text-primary);letter-spacing:-.5px;font-size:28px;font-weight:800}.stat-sub{color:var(--text-dim);margin-top:4px;font-size:11px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}thead{z-index:5;position:sticky;top:0}th{text-align:left;border-bottom:1px solid var(--stroke-main);text-transform:uppercase;letter-spacing:.7px;color:var(--text-dim);white-space:nowrap;background:#ffffff06;padding:10px 14px;font-size:11px;font-weight:700}td{color:var(--text-muted);border-bottom:1px solid #ffffff08;padding:11px 14px;font-size:13px}tbody tr{transition:background .1s}tbody tr:hover{background:#ffffff06}.toggle{background:var(--stroke-main);cursor:pointer;border-radius:12px;width:44px;height:24px;transition:background .2s;position:relative}.toggle.active{background:var(--accent)}.toggle:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s;position:absolute;top:2px;left:2px}.toggle.active:after{transform:translate(20px)}.pill{background:var(--accent-dim);color:var(--accent);border:1px solid var(--accent-border);border-radius:20px;align-items:center;gap:4px;padding:4px 12px;font-size:12px;font-weight:500;display:inline-flex}.empty-state{text-align:center;color:var(--text-dim);border-radius:var(--radius-lg);border:1px dashed var(--stroke-light);background:linear-gradient(135deg,#2df88e08,#07d6ef08);padding:60px 20px}.empty-state .icon{background:linear-gradient(135deg,#2df88e14,#07d6ef14);border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 20px;font-size:48px;display:flex}.empty-state .icon svg{opacity:.5}.empty-state .title{color:var(--text-muted);margin-bottom:8px;font-size:16px;font-weight:700}.empty-state .desc{max-width:320px;margin:0 auto 20px;font-size:13px}.empty-state .cta{display:inline-block}.spinner{border:2px solid #ffffff1a;border-top-color:var(--accent);border-radius:50%;width:20px;height:20px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes blitz-spin{to{transform:rotate(360deg)}}@media (width<=850px){:root{--sidebar-width:0px;--header-height:54px}.stat-card{padding:14px 16px}.stat-value{font-size:22px}.card-header{padding:12px 16px}.card-body{padding:16px}table{font-size:12px}th,td{padding:8px 10px}.btn{padding:8px 14px;font-size:13px}}@media (width<=480px){.btn{padding:8px 12px;font-size:12px}.stat-value{font-size:20px}}[data-theme=cool]{--accent:#07d6ef;--accent-start:#09c;--accent-end:#07d6ef;--accent-dim:#07d6ef14;--accent-border:#07d6ef40}[data-theme=warm]{--accent:orange;--accent-start:#ff6b6b;--accent-end:orange;--accent-dim:#ffa50014;--accent-border:#ffa50040}[data-theme=violet]{--accent:#9b59b6;--accent-start:#6c5ce7;--accent-end:#9b59b6;--accent-dim:#9b59b614;--accent-border:#9b59b640}[data-theme=sepia]{--bg-dark:#1a1410;--bg-main:#1f1a14;--bg-light:#2a2219;--bg-lighter:#342b20;--bg-extra-light:#3e3326;--stroke-dark:#2a2219;--stroke-main:#3a3028;--accent:#d4a76a;--accent-start:#c4854a;--accent-end:#d4a76a;--accent-dim:#d4a76a14;--accent-border:#d4a76a40}[data-theme=light]{--bg-darkest:#e8e8e8;--bg-dark:#f5f5f5;--bg-main:#fff;--bg-light:#fafafa;--bg-lighter:#f0f0f0;--bg-extra-light:#e8e8e8;--stroke-dark:#e0e0e0;--stroke-main:#ddd;--stroke-light:#ccc;--text-primary:#111;--text-secondary:#333;--text-muted:#555;--text-dim:#888;--text-dark:#aaa;--accent:#2df88e;--accent-start:#07d6ef;--accent-end:#2df88e;--accent-dim:#2df88e1f;--accent-border:#2df88e59}[data-theme=light] body{color:var(--text-secondary)}[data-theme=light] input,[data-theme=light] select,[data-theme=light] textarea{color:#111;background:#fff;border-color:#ddd}[data-theme=light] ::-webkit-scrollbar-thumb{background:#00000026}[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:#00000040}@keyframes rgb-cycle{0%{--accent:#ff6b6b;--accent-start:#ff6b6b;--accent-end:#ff9f43}16%{--accent:#ffc312;--accent-start:#ffc312;--accent-end:#a3cb38}33%{--accent:#a3cb38;--accent-start:#a3cb38;--accent-end:#1289a7}50%{--accent:#1289a7;--accent-start:#1289a7;--accent-end:#c44569}66%{--accent:#6c5ce7;--accent-start:#6c5ce7;--accent-end:#a29bfe}83%{--accent:#fd79a8;--accent-start:#fd79a8;--accent-end:#e17055}to{--accent:#ff6b6b;--accent-start:#ff6b6b;--accent-end:#ff9f43}}[data-theme=rgb]{animation:6s linear infinite rgb-cycle}[data-theme=rgb] .btn-primary{background:linear-gradient(135deg,#ff6b6b,#6c5ce7,#1289a7,#a3cb38) 0 0/300% 300%;animation:4s infinite rgb-gradient}@keyframes rgb-gradient{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}[data-theme=rgb] .gradient-text{background:linear-gradient(135deg,#ff6b6b,#6c5ce7,#1289a7,#a3cb38) 0 0/300% 300%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;animation:4s infinite rgb-gradient}
