@import "https://fonts.googleapis.com/css2?family=Chakra+Petch:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@300;400;500;600&display=swap";
:root{--bg-0:#fff;--bg-1:#f6faf8;--bg-2:#eef4f2;--bg-3:#e6edec;--glass:#ffffffbd;--glass-2:#ffffffe6;--card:#fff;--stroke:#14343c1f;--stroke-2:#14343c38;--grid:#145a5a0d;--ink:#15242a;--ink-dim:#54666c;--ink-faint:#869aa0;--ink-ghost:#b6c5c9;--label:#0e8a86;--accent:#1f86d0;--gold:#d39a2b;--gold-2:#bd8419;--gold-deep:#946312;--gold-glow:#d39a2b66;--gold-soft:#d39a2b21;--l1:#1f9d57;--l2:#0f9c86;--l3:#0e96a8;--l4:#1490c6;--l5:#2178cf;--l6:#2f63c6;--l7:#4a4fae;--r-xl:22px;--r-lg:16px;--r-md:12px;--r-sm:8px;--shadow-1:0 2px 14px #142d371a;--shadow-2:0 26px 64px -30px #0f283c57;--display:"Chakra Petch", "Segoe UI", system-ui, sans-serif;--body:"IBM Plex Sans", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace;--ease:cubic-bezier(.22,.61,.36,1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--body);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;min-height:100vh}.auth-layout{background-color:#0000;background-image:radial-gradient(1200px 820px at 86% 4%,#1f9d571c,#0000 55%),radial-gradient(1040px 760px at 2% 102%,#1f86d012,#0000 55%),radial-gradient(900px 900px at 50% 48%,#ffffffb3,#0000 72%),linear-gradient(#fff 0%,#f4f8f6 58%,#edf3f1 100%);background-position:0 0,0 0,0 0,0 0;background-repeat:repeat,repeat,repeat,repeat;background-size:auto,auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex;position:relative;overflow:hidden}.auth-layout:before{content:"";pointer-events:none;z-index:0;background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);background-size:48px 48px,48px 48px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(circle at 50% 46%,#000 0%,#0000 80%);mask-image:radial-gradient(circle at 50% 46%,#000 0%,#0000 80%)}.auth-layout:after{content:"";pointer-events:none;z-index:1;opacity:.05;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");position:fixed;inset:0}.login-card{z-index:2;border-radius:var(--r-xl);border:1px solid var(--stroke-2);width:100%;max-width:440px;box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(20px);animation:loginFadeUp .6s var(--ease) backwards;background:linear-gradient(200deg,#fffffffa,#f8fbfafa);padding:3rem 2.5rem;position:relative}@keyframes loginFadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.login-header{text-align:center;margin-bottom:2rem}.login-brand{flex-direction:column;align-items:center;gap:10px;margin-bottom:20px;display:flex}.login-logo{width:auto;height:72px;display:block}.login-brand-name{font-family:var(--display);letter-spacing:.26em;color:var(--ink);font-size:22px;font-weight:700}.login-brand-name b{color:var(--accent);font-weight:700}.login-brand-tag{font-family:var(--mono);letter-spacing:.18em;color:var(--ink-faint);text-transform:uppercase;font-size:10px}.login-title{font-family:var(--display);color:var(--ink);letter-spacing:.02em;font-size:1.35rem;font-weight:600}.login-subtitle{font-family:var(--body);color:var(--ink-dim);margin-top:6px;font-size:13px}.login-form{flex-direction:column;gap:1.25rem;display:flex}.login-error{color:#a32d2d;border-radius:var(--r-sm);text-align:center;font-size:13px;font-family:var(--body);background:#a32d2d14;border:1px solid #a32d2d2e;padding:.75rem 1rem}.login-field{flex-direction:column;gap:6px;display:flex}.login-label{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--label);font-size:10px;font-weight:600}.login-input{border-radius:var(--r-md);border:1px solid var(--stroke);font-size:14px;font-family:var(--body);color:var(--ink);background:var(--card);transition:border-color .25s var(--ease), box-shadow .25s var(--ease);outline:none;padding:.8rem 1rem}.login-input:focus{border-color:color-mix(in srgb, var(--accent) 70%, transparent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 12%, transparent)}.login-input::placeholder{color:var(--ink-ghost)}.login-btn{font-family:var(--display);letter-spacing:.06em;background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 86%, #fff), var(--accent));color:#fff;border-radius:var(--r-md);cursor:pointer;transition:all .25s var(--ease);box-shadow:0 6px 16px -8px var(--accent);border:none;margin-top:.5rem;padding:.9rem;font-size:14px;font-weight:600}.login-btn:hover{box-shadow:0 10px 24px -10px var(--accent);transform:translateY(-1px)}.login-btn:active{transform:scale(.98)}.login-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-footer{text-align:center;font-family:var(--mono);letter-spacing:.08em;color:var(--ink-ghost);margin-top:2rem;font-size:10px}.login-card:after{content:"";background:radial-gradient(circle, var(--gold-soft), transparent 70%);pointer-events:none;z-index:-1;border-radius:50%;width:200px;height:200px;position:absolute;top:-60px;right:-60px}.dashboard-frame{border:none;width:100%;height:100%;position:fixed;inset:0}
