:root{--neutral-25:#fdfdfd;--neutral-50:#fafafa;--neutral-100:#f5f5f5;--neutral-200:#e9eaeb;--neutral-300:#d5d7da;--neutral-400:#a3a7ae;--neutral-500:#717680;--neutral-600:#535862;--neutral-700:#414651;--neutral-800:#252b37;--neutral-900:#181d27;--neutral-950:#0b0d12;--brand-25:#e9eafa;--brand-50:#d2d6f3;--brand-100:#bcc1ef;--brand-200:#8f98e5;--brand-300:#4b59d5;--brand-400:#1e31ca;--brand-500:#1a2bb6;--brand-600:#1826a2;--brand-700:#15228d;--brand-800:#111d79;--brand-900:#0f1865;--brand-950:#0b1351;--green-25:#f7fef9;--green-50:#ecfef3;--green-100:#dcfae6;--green-200:#a9efc5;--green-300:#75e1a7;--green-400:#46cd89;--green-500:#19b26b;--green-600:#079455;--green-700:#047647;--green-800:#065d3a;--green-900:#084d31;--green-950:#053321;--yellow-25:#fffcf5;--yellow-50:#fffaea;--yellow-100:#fef1c6;--yellow-200:#fedf88;--yellow-300:#ffc84b;--yellow-400:#fdb022;--yellow-500:#f79008;--yellow-600:#dc6903;--yellow-700:#b54707;--yellow-800:#93370e;--yellow-900:#7a2e0d;--yellow-950:#4e1d09;--red-25:#fffbfa;--red-50:#fef3f2;--red-100:#fee4e2;--red-200:#fecdca;--red-300:#fda29b;--red-400:#f97066;--red-500:#f14437;--red-600:#d92d21;--red-700:#b42419;--red-800:#912019;--red-900:#7b271a;--red-950:#55160c;--white:#ffffff;--black:#000000;--background:var(--white);--surface:var(--white);--surface-muted:var(--neutral-100);--surface-subtle:var(--neutral-50);--panel:var(--white);--ink:var(--neutral-900);--ink-secondary:var(--neutral-800);--ink-soft:var(--neutral-600);--ink-muted:var(--neutral-500);--ink-strong:var(--neutral-950);--ink-inverse:var(--white);--line:var(--neutral-200);--line-strong:var(--neutral-300);--border:var(--neutral-200);--input:var(--neutral-200);--ring:var(--brand-300);--primary:var(--brand-400);--primary-hover:var(--brand-500);--primary-foreground:var(--white);--primary-soft:var(--brand-25);--accent:var(--brand-400);--accent-hover:var(--brand-500);--accent-soft:var(--brand-25);--success:var(--green-600);--success-soft:var(--green-50);--warn:var(--yellow-700);--warn-soft:var(--yellow-50);--danger:var(--red-600);--danger-soft:var(--red-50);--radius:0.625rem;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.625rem;--radius-xl:0.875rem;--shadow:0 1px 2px rgba(15,24,101,0.04),0 6px 16px rgba(30,49,202,0.06);--shadow-lg:0 18px 50px rgba(15,24,101,0.08);--shadow-card:0 2px 8px rgba(15,24,101,0.06),0 1px 2px rgba(11,13,18,0.04);--auth-gradient:linear-gradient(135deg,#ff8000,#ff4880,#7f30ff,#00b0ff,#0038ff);--auth-gradient-mask:linear-gradient(170deg,transparent 49.9%,#ffffff 0,#ffffff 50.1%,#ffffff);--sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--mono:"JetBrains Mono",ui-monospace,Menlo,Monaco,Consolas,monospace}*,:after,:before{box-sizing:border-box}body,html{margin:0;min-height:100%;font-family:var(--sans);color:var(--ink);background:var(--background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--primary)}.console-boot{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--background)}.console-boot--embedded{min-height:60vh;background:transparent}.console-boot-inner{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}.console-boot-sub{margin:0;font-size:.875rem;color:var(--ink-muted)}.console-boot-spinner{width:22px;height:22px;margin-top:4px;border:2px solid var(--neutral-200);border-top-color:var(--brand-400);border-radius:50%;animation:console-boot-spin .7s linear infinite}@keyframes console-boot-spin{to{transform:rotate(1turn)}}.auth-shell{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--auth-gradient-mask),var(--auth-gradient);background-repeat:no-repeat;background-size:100% 100%,100% 100%}@media (max-width:768px){.auth-shell{padding:16px;background:linear-gradient(168deg,transparent 56%,rgba(255,255,255,.82) 56.3%,rgba(255,255,255,.92)),linear-gradient(145deg,#ff8000,#ff4880 35%,#7f30ff 68%,#00b0ff 86%,#0038ff);background-size:100% 100%,100% 100%}}.auth-card{width:min(448px,100%);background:var(--panel);border:none;border-radius:12px;box-shadow:var(--shadow-card);padding:40px 32px;text-align:center}.auth-card h1{margin:0 0 8px;font-size:1.25rem;font-weight:600;letter-spacing:-.02em;line-height:1.4;color:var(--ink)}.auth-card>p{margin:0 0 24px;color:var(--ink-muted);font-size:.875rem;line-height:1.5}.brand-row{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:12px;margin-bottom:28px;text-align:left}.brand-mark{width:36px;height:36px;border-radius:50%;background:url(/images/root-mark.svg) 50%/contain no-repeat;flex-shrink:0}.brand-text{display:flex;flex-direction:column;gap:2px;min-width:0}.brand-name{color:var(--ink)}.auth-card h1.brand-name,.brand-name{margin:0;font-weight:700;font-size:1.05rem;letter-spacing:-.02em;line-height:1.25}.brand-sub{margin:0;font-size:.8rem;line-height:1.35;color:var(--ink-muted)}.auth-footer{margin:20px 0 0;font-size:.82rem;color:var(--ink-muted)}.auth-footer a{color:var(--primary);text-decoration:none;font-weight:500}.auth-footer a:hover{text-decoration:underline}.btn{border:1px solid transparent;border-radius:var(--radius-md);padding:11px 14px;font:inherit;font-weight:600;cursor:pointer}.btn-primary{background:var(--primary);color:var(--primary-foreground)}.btn-primary.btn-block{width:100%}.btn-primary:hover{background:var(--primary-hover)}.btn-google{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;border:1.5px solid var(--neutral-200);border-radius:8px;background:var(--neutral-50);color:var(--neutral-900);font-weight:600;font-size:1rem;padding:10px 20px;cursor:pointer;transition:background .15s ease,box-shadow .15s ease}.btn-google:hover{background:var(--white);box-shadow:0 2px 8px rgba(0,0,0,.1)}.btn-secondary{background:var(--white);border-color:var(--line);color:var(--ink)}.field{display:grid;grid-gap:6px;gap:6px;margin-bottom:12px}.field label{font-size:.82rem;font-weight:600;color:var(--ink-muted)}.field input{border:1px solid var(--line);border-radius:var(--radius-md);padding:11px 12px;font:inherit;color:var(--ink);background:var(--white)}.field input:focus{outline:none;border-color:var(--brand-300);background:var(--white);box-shadow:0 0 0 1px var(--brand-300)}.error{color:var(--danger);font-size:.88rem;margin:0 0 12px}.auth-card .field{text-align:left}.auth-card .btn-block{margin-top:4px}.admin-shell{max-width:720px;margin:0 auto;padding:32px 20px 64px}.admin-shell h1{margin:0 0 6px;color:var(--ink)}.admin-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:18px}.table{width:100%;border-collapse:collapse}.table td,.table th{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);font-size:.92rem}.table th{color:var(--ink-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.add-row{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.add-row input{flex:1 1;min-width:180px;border:1px solid var(--line);border-radius:var(--radius-md);padding:10px 12px;font:inherit}