*,:before,:after{box-sizing:border-box}body{color:#0f172a;background:#f8fafc;min-height:100vh;margin:0;font-family:system-ui,sans-serif;line-height:1.5}@media (prefers-color-scheme:dark){body{color:#f1f5f9;background:#0f172a}}#root{min-height:100vh}.auth-shell{background:linear-gradient(#f7f8fb 0%,#eef1f7 100%);justify-content:center;align-items:center;min-height:100vh;padding:2rem 1rem;display:flex}.auth-card{background:#fff;border-radius:12px;flex-direction:column;gap:1.25rem;width:100%;max-width:26rem;padding:2rem;display:flex;box-shadow:0 20px 60px -25px #0f172a40}.auth-card h1{color:#0f172a;margin:0;font-size:1.5rem;font-weight:600}.auth-card p.subtitle{color:#475569;margin:0;font-size:.95rem}.auth-form{flex-direction:column;gap:.9rem;display:flex}.auth-field{flex-direction:column;gap:.35rem;display:flex}.auth-field label{color:#334155;font-size:.85rem;font-weight:500}.auth-field input,.auth-field textarea{font:inherit;color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:.6rem .75rem;transition:border-color .15s,box-shadow .15s}.auth-field textarea{resize:vertical;min-height:4.5rem}.auth-field input:focus,.auth-field textarea:focus{border-color:#4338ca;outline:none;box-shadow:0 0 0 3px #4338ca26}.auth-button{font:inherit;color:#fff;cursor:pointer;background:#4338ca;border:none;border-radius:8px;padding:.7rem 1rem;font-weight:600;transition:background .15s}.auth-button:hover:not(:disabled){background:#3730a3}.auth-button:disabled{opacity:.6;cursor:not-allowed}.auth-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:0;padding:.6rem .75rem;font-size:.875rem}.auth-success{color:#166534;background:#ecfdf5;border:1px solid #bbf7d0;border-radius:8px;margin:0;padding:.6rem .75rem;font-size:.875rem}.auth-footer{color:#475569;justify-content:space-between;font-size:.85rem;display:flex}.auth-footer a{color:#4338ca;text-decoration:none}.auth-footer a:hover{text-decoration:underline}.auth-divider{background:#e2e8f0;height:1px;margin:.25rem 0}.app{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;min-height:100%;display:flex}.app h1{margin:0;font-size:1.75rem;font-weight:600}.app p{color:#64748b;margin:0;font-size:1rem}@media (prefers-color-scheme:dark){.app p{color:#94a3b8}}
