*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:#f9fafb}.container{max-width:960px;margin:0 auto;padding:2rem 1rem}body{color:#1f2937;-webkit-font-smoothing:antialiased;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5}a{color:#4f46e5;text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{color:#1f2937;line-height:1.2}.navbar{background:#fff;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:.75rem 1.25rem;display:flex}.navbar .brand{color:#4f46e5;font-size:1.05rem;font-weight:600}.navbar .brand:hover{text-decoration:none}.navbar .nav-actions{align-items:center;gap:1rem;display:flex}.navbar .nav-user{color:#6b7280;font-size:.9rem}.navbar form{margin:0}.navbar .btn-link{cursor:pointer;font:inherit;color:#4f46e5;background:0 0;border:none;padding:0}.navbar .btn-link:hover{text-decoration:underline}.demo-panel{background:#fff;border:1px solid #e5e7eb;border-radius:6px;margin-top:1rem;padding:1rem;display:none}.demo-panel.is-open{display:block}.auth{place-items:center;min-height:100vh;padding:1rem;display:grid}.auth .auth-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;width:100%;max-width:380px;padding:2rem;box-shadow:0 1px 2px #0000000a}.auth h1{margin:0 0 1.5rem;font-size:1.25rem}.auth .field{margin-bottom:1rem}.auth label{color:#6b7280;margin-bottom:.35rem;font-size:.875rem;display:block}.auth input{border:1px solid #e5e7eb;border-radius:6px;width:100%;padding:.55rem .75rem}.auth input:focus{outline-offset:1px;outline:2px solid #4f46e5}.auth .btn{cursor:pointer;font:inherit;color:#fff;background:#4f46e5;border:none;border-radius:6px;width:100%;padding:.65rem;font-weight:600}.auth .btn:hover{background:#4338ca}.auth .error{color:#dc2626;margin-bottom:1rem;font-size:.85rem}
