:root{--bg:#f5f6f8;--surface:#fff;--border:#e2e5ea;--text:#1a1d21;--text-muted:#6b7280;--primary:#2563eb;--primary-hover:#1d4ed8;--danger:#dc2626;--danger-bg:#fef2f2;--success:#16a34a;--success-bg:#f0fdf4;--warning:#d97706;--warning-bg:#fffbeb;--neutral-bg:#f1f2f4;--radius:10px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;font-size:inherit;cursor:pointer}input,select,textarea{font-family:inherit;font-size:inherit}.btn{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-weight:500;display:inline-flex}.btn:hover{background:var(--neutral-bg)}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.input{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;width:100%;padding:7px 10px}.label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em;margin-bottom:4px;font-size:12px;font-weight:600;display:block}.badge{white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:3px 9px;font-size:12px;font-weight:600;display:inline-flex}.badge-neutral{background:var(--neutral-bg);color:var(--text-muted)}.badge-success{background:var(--success-bg);color:var(--success)}.badge-danger{background:var(--danger-bg);color:var(--danger)}.badge-warning{background:var(--warning-bg);color:var(--warning)}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:10px 12px}th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em;font-size:12px;font-weight:600}tbody tr:hover{background:var(--neutral-bg)}.login-page{background:linear-gradient(135deg,#3b9dfb,#2563eb 55%,#1c3f8f);justify-content:center;align-items:center;min-height:100vh;padding:40px 24px;display:flex;position:relative;overflow:hidden}.login-stage{width:100%;max-width:900px;position:relative}.login-decor-circle{z-index:0;background:#ffffffe6;border-radius:50%;position:absolute}.login-decor-circle-tl{width:64px;height:64px;top:-22px;left:64px}.login-decor-circle-br{width:84px;height:84px;bottom:-30px;right:76px}.login-split-card{z-index:1;background:var(--surface);border-radius:24px;grid-template-columns:1fr 1fr;animation:.35s ease-out login-card-in;display:grid;position:relative;overflow:hidden;box-shadow:0 30px 60px -20px #0f172a59}@media (width<=760px){.login-split-card{grid-template-columns:1fr}.login-split-left{min-height:180px!important;padding:36px 28px!important}}@keyframes login-card-in{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:none}}.login-split-left{text-align:center;color:#fff;background:linear-gradient(160deg,#2563eb,#16255c 85%);flex-direction:column;justify-content:center;align-items:center;padding:48px 44px;display:flex;position:relative;overflow:hidden}.login-split-left-image-wrap{z-index:1;aspect-ratio:395/411;align-self:center;width:68%;max-width:240px;margin-top:28px;animation:5s ease-in-out infinite alternate login-glyph-float;position:relative}.login-split-left-image{object-fit:contain;filter:drop-shadow(0 20px 30px #00000059);width:100%;height:100%;position:absolute;inset:0}.login-device-a{animation:10s ease-in-out infinite login-device-cycle}.login-device-b{animation:10s ease-in-out -5s infinite login-device-cycle}@keyframes login-device-cycle{0%,47%{opacity:1}53%,94%{opacity:0}to{opacity:1}}@keyframes login-glyph-float{0%{transform:translateY(-8px)}to{transform:translateY(10px)}}@media (prefers-reduced-motion:reduce){.login-split-left-image-wrap,.login-device-a,.login-device-b{animation:none}.login-device-b{opacity:0}}.login-brand-script{letter-spacing:-.01em;z-index:1;margin:0 0 14px;font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:32px;font-weight:700;line-height:1.25;position:relative}.login-brand-tagline{opacity:.88;z-index:1;max-width:260px;margin:0;font-size:14px;line-height:1.7;position:relative}.login-split-right{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:56px 48px;display:flex;position:relative;overflow:hidden}.login-split-right-glyph{width:42%;height:auto;color:var(--primary);opacity:.12;z-index:0;position:absolute;bottom:-14%;right:-8%}.login-welcome{z-index:1;color:var(--primary);margin:0 0 6px;font-size:32px;font-weight:800;position:relative}.login-subtitle{z-index:1;color:var(--text-muted);margin-bottom:28px;font-size:13.5px;line-height:1.5;position:relative}.login-actions{z-index:1;flex-direction:column;gap:10px;width:100%;display:flex;position:relative}.login-btn{border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:10px;width:100%;padding:11px 16px;font-size:14px;font-weight:600;transition:background .15s,border-color .15s,transform .1s;display:flex}.login-btn:active:not(:disabled){transform:scale(.98)}.login-btn:disabled{cursor:default;opacity:.7}.login-btn-google{border-color:var(--border);color:#1f1f1f;background:#fff}.login-btn-google:hover:not(:disabled){background:#f8f9fa;border-color:#c8ccd2}.login-btn-apple{color:#fff;background:#000}.login-btn-apple:hover:not(:disabled){background:#1a1a1a}.login-error{z-index:1;background:var(--danger-bg);color:var(--danger);text-align:center;border-radius:10px;flex-direction:column;gap:4px;margin-top:18px;padding:10px 14px;font-size:12.5px;line-height:1.5;display:flex;position:relative}.login-error-hint{color:var(--text-muted)}.spinner{border:2px solid #ffffff59;border-top-color:currentColor;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin}.login-btn-google .spinner{border:2px solid #00000026;border-top-color:var(--primary)}@keyframes spin{to{transform:rotate(360deg)}}
