:root{--color-accent:99 102 241;--color-accent-hover:129 140 248;--color-accent-text:129 140 248;--color-bg-base:10 11 15;--color-bg-surface:17 18 24;--color-bg-elevated:24 25 38;--color-text-primary:242 243 247;--color-text-secondary:129 135 168;--color-text-tertiary:90 95 125;--color-border:42 45 66;--font-sans:"Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--duration-fast:.1s;--duration-normal:.2s;--ease-default:cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background:rgb(var(--color-bg-base));color:rgb(var(--color-text-primary));min-height:100vh}.container{justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex}.card{background:rgb(var(--color-bg-surface));border:1px solid rgb(var(--color-border));border-radius:var(--radius-lg);width:100%;max-width:400px;padding:32px}.logo{text-align:center;color:rgb(var(--color-text-primary));margin-bottom:4px;font-size:1.75rem;font-weight:700}.subtitle{text-align:center;color:rgb(var(--color-text-secondary));margin-bottom:24px;font-size:.875rem}.field{margin-bottom:16px}.field label{color:rgb(var(--color-text-secondary));margin-bottom:4px;font-size:.875rem;font-weight:500;display:block}.field input{border:1px solid rgb(var(--color-border));border-radius:var(--radius-md);background:rgb(var(--color-bg-elevated));width:100%;color:rgb(var(--color-text-primary));font-family:var(--font-sans);transition:border-color var(--duration-normal) var(--ease-default);outline:none;padding:10px 12px;font-size:.875rem}.field input::placeholder{color:rgb(var(--color-text-tertiary))}.field input:focus{border-color:rgb(var(--color-accent))}.field input:disabled{background:rgb(var(--color-bg-base));color:rgb(var(--color-text-tertiary))}.field input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px rgb(var(--color-bg-elevated)) inset;-webkit-text-fill-color:rgb(var(--color-text-primary));border-color:rgb(var(--color-border))}.field input:-webkit-autofill:hover{-webkit-box-shadow:0 0 0 1000px rgb(var(--color-bg-elevated)) inset;-webkit-text-fill-color:rgb(var(--color-text-primary));border-color:rgb(var(--color-border))}.field input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px rgb(var(--color-bg-elevated)) inset;-webkit-text-fill-color:rgb(var(--color-text-primary));border-color:rgb(var(--color-border))}.btn{background:rgb(var(--color-accent));color:#fff;border-radius:var(--radius-md);width:100%;font-family:var(--font-sans);cursor:pointer;transition:background var(--duration-fast) var(--ease-default);border:none;margin-top:8px;padding:10px;font-size:.875rem;font-weight:500}.btn:hover:not(:disabled){background:rgb(var(--color-accent-hover))}.btn:disabled{opacity:.5;cursor:not-allowed}.error-box{color:#f87171;border-radius:var(--radius-md);background:#dc26261a;border:1px solid #dc262633;margin-bottom:16px;padding:12px;font-size:.875rem}.link-text{text-align:center;color:rgb(var(--color-text-secondary));margin-top:16px;font-size:.875rem}.link-text a{color:rgb(var(--color-accent-text));font-weight:500;text-decoration:none}.link-text a:hover{text-decoration:underline}.divider{color:rgb(var(--color-text-tertiary));align-items:center;gap:12px;margin:16px 0;font-size:.75rem;display:flex}.divider:before,.divider:after{content:"";border-top:1px solid rgb(var(--color-border));flex:1}.btn-google{color:rgb(var(--color-text-primary));border:1px solid rgb(var(--color-border));transition:background var(--duration-fast) var(--ease-default);background:0 0;justify-content:center;align-items:center;gap:8px;margin-top:0;display:flex}.btn-google:hover:not(:disabled){background:rgb(var(--color-bg-elevated))}.btn-google svg{flex-shrink:0;width:18px;height:18px}
