:root{--blue-50:#eff6ff;--blue-100:#dbeafe;--blue-200:#bfdbfe;--blue-300:#93c5fd;--blue-500:#06f;--blue-600:#0052cc;--blue-700:#1d4ed8;--blue-900:#1e3a8a;--purple-100:#ede9fe;--purple-300:#c4b5fd;--purple-500:#6b46c1;--purple-600:#5b34b0;--purple-700:#4c2a92;--grad:linear-gradient(135deg,#06f 0%,#6b46c1 100%);--grad-soft:linear-gradient(135deg,#eff6ff 0%,#ede9fe 100%);--ink-900:#0b1220;--ink-800:#131c2e;--ink-700:#1f2a3d;--ink-600:#3a475c;--ink-500:#5b6b82;--ink-400:#8493a8;--ink-300:#aab6c6;--ink-200:#d6dde6;--ink-150:#e4e9ef;--ink-100:#eef2f6;--ink-50:#f6f8fb;--paper:#fff;--green-50:#ecfdf5;--green-500:#10b981;--green-600:#059669;--green-700:#047857;--amber-50:#fffbeb;--amber-500:#f59e0b;--amber-600:#d97706;--amber-700:#b45309;--red-50:#fef2f2;--red-500:#ef4444;--red-600:#dc2626;--red-700:#b91c1c;--font-display:"Bricolage Grotesque","Poppins",system-ui,sans-serif;--font-body:"Inter",system-ui,-apple-system,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,monospace;--r-xs:6px;--r-sm:9px;--r-md:13px;--r-lg:18px;--r-xl:26px;--r-pill:999px;--sh-xs:0 1px 2px #101c330f;--sh-sm:0 2px 6px #101c3312,0 1px 2px #101c330d;--sh-md:0 8px 24px #101c3317,0 2px 6px #101c330d;--sh-lg:0 24px 60px #101c3324,0 6px 16px #101c3312;--sh-glow:0 12px 36px #06f3;--accent:var(--blue-500);--accent-600:var(--blue-600)}@keyframes alt-fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.alt{font-family:var(--font-body);color:var(--ink-800);background:var(--ink-50)}.alt *,.alt :before,.alt :after{box-sizing:border-box}.alt h1,.alt h2,.alt h3,.alt h4{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink-900);margin:0;line-height:1.18}.alt p{margin:0}.alt a{color:inherit;text-decoration:none}.alt .mono{font-family:var(--font-mono)}.alt .grad-text{background:var(--grad);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text}.alt .truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.alt .hr{background:var(--ink-150);border:0;height:1px}@media (prefers-reduced-motion:no-preference){.alt .fade-up,.alt .stagger>*{animation:.5s cubic-bezier(.22,.61,.36,1) both alt-fadeUp}.alt .stagger>:first-child{animation-delay:20ms}.alt .stagger>:nth-child(2){animation-delay:60ms}.alt .stagger>:nth-child(3){animation-delay:.1s}.alt .stagger>:nth-child(4){animation-delay:.14s}.alt .stagger>:nth-child(5){animation-delay:.18s}.alt .stagger>:nth-child(6){animation-delay:.22s}}.alt .btn{border-radius:var(--r-sm);white-space:nowrap;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:11px 16px;font-family:inherit;font-size:14px;font-weight:600;line-height:1;transition:all .16s;display:inline-flex}.alt .btn svg{width:16px;height:16px}.alt .btn-primary{background:var(--accent);color:#fff;box-shadow:var(--sh-sm)}.alt .btn-primary:hover{background:var(--accent-600);box-shadow:var(--sh-md);transform:translateY(-1px)}.alt .btn-grad{background:var(--grad);color:#fff;box-shadow:var(--sh-sm);background-size:140% 140%}.alt .btn-grad:hover{box-shadow:var(--sh-glow);background-position:100% 0;transform:translateY(-1px)}.alt .btn-ghost{color:var(--ink-600);border-color:var(--ink-200);background:0 0}.alt .btn-ghost:hover{background:var(--ink-50);border-color:var(--ink-300);color:var(--ink-800)}.alt .btn-soft{background:var(--blue-50);color:var(--accent-600)}.alt .btn-soft:hover{background:var(--blue-100)}.alt .btn-danger{color:var(--red-600);background:#fff;border-color:#f3c7c7}.alt .btn-danger:hover{background:var(--red-50);border-color:var(--red-500)}.alt .btn-sm{padding:8px 12px;font-size:13px}.alt .btn:disabled{opacity:.5;pointer-events:none}.alt .btn-icon{border-radius:var(--r-sm);padding:9px}.alt .btn-icon svg{width:18px;height:18px}.alt .badge{border-radius:var(--r-pill);border:1px solid #0000;align-items:center;gap:5px;padding:4px 9px;font-size:12px;font-weight:600;line-height:1;display:inline-flex}.alt .badge .dot{background:currentColor;border-radius:50%;width:6px;height:6px}.alt .badge-blue{background:var(--blue-50);color:var(--blue-700);border-color:var(--blue-100)}.alt .badge-green{background:var(--green-50);color:var(--green-700);border-color:#c7f0dd}.alt .badge-amber{background:var(--amber-50);color:var(--amber-700);border-color:#fde8c0}.alt .badge-red{background:var(--red-50);color:var(--red-700);border-color:#f6cccc}.alt .badge-purple{background:var(--purple-100);color:var(--purple-700);border-color:#ddd1f5}.alt .badge-gray{background:var(--ink-100);color:var(--ink-600);border-color:var(--ink-150)}.alt .card{background:var(--paper);border:1px solid var(--ink-150);border-radius:var(--r-lg);box-shadow:var(--sh-sm)}.alt .field-label{color:var(--ink-700);margin-bottom:7px;font-size:13px;font-weight:600;display:block}.alt .input{width:100%;color:var(--ink-900);background:var(--paper);border:1px solid var(--ink-200);border-radius:var(--r-sm);padding:11px 13px;font-family:inherit;font-size:14px;transition:all .15s}.alt .input::placeholder{color:var(--ink-400)}.alt .input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent)16%,transparent);outline:none}.alt .field-hint{color:var(--ink-400);margin-top:6px;font-size:12px}.alt .avatar{color:#fff;font-weight:700;font-family:var(--font-display);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.alt .avatar-ring{background:var(--grad);border-radius:50%;padding:2px;display:inline-flex}.alt .avatar-ring .avatar{border:2px solid #fff}.alt .tbl{border-collapse:collapse;width:100%}.alt .tbl th{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-400);border-bottom:1px solid var(--ink-150);white-space:nowrap;padding:12px 16px;font-size:11.5px;font-weight:700}.alt .tbl td{border-bottom:1px solid var(--ink-100);color:var(--ink-700);padding:13px 16px;font-size:14px}.alt .tbl tbody tr{transition:background .12s}.alt .tbl tbody tr:hover{background:var(--ink-50)}.alt .tbl tbody tr:last-child td{border-bottom:none}.alt .altbanner{border-radius:var(--r-md);border:1px solid #0000;padding:12px 16px;font-size:14px;font-weight:500}.alt .altbanner.ok{background:var(--green-50);color:var(--green-700);border-color:#c7f0dd}.alt .altbanner.err{background:var(--red-50);color:var(--red-700);border-color:#f6cccc}
