:root{--color-primary: #6c5ce7;--color-primary-light: #a29bfe;--color-primary-dark: #5544c9;--color-secondary: #00c2a8;--color-secondary-dark: #00a28c;--color-accent-pink: #ff6b9d;--color-accent-orange: #ffb020;--color-accent-blue: #4da8ff;--color-accent-green: #2ecc71;--color-accent-yellow: #ffd93d;--color-accent-coral: #ff6b6b;--color-bg: #fafbff;--color-bg-alt: #f4f6fb;--color-surface: #ffffff;--color-text: #1f2933;--color-text-muted: #5b6472;--color-text-on-brand: #ffffff;--color-border: #e7ecf5;--font-family-base: "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-family-heading: "Fredoka", var(--font-family-base);--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-md: 1.125rem;--font-size-lg: 1.375rem;--font-size-xl: 1.75rem;--font-size-2xl: 2.25rem;--font-size-3xl: 2.75rem;--fw-regular: 400;--fw-semibold: 600;--fw-bold: 700;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4rem;--radius-sm: 8px;--radius-md: 16px;--radius-lg: 24px;--radius-pill: 999px;--shadow-sm: 0 2px 6px rgba(31, 41, 51, .06);--shadow-md: 0 10px 24px rgba(31, 41, 51, .1);--shadow-lg: 0 20px 45px rgba(31, 41, 51, .16);--transition-fast: .15s;--transition-base: .25s;--transition-slow: .45s;--ease-standard: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1)}*{box-sizing:border-box}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);white-space:nowrap;border-radius:var(--radius-pill);padding:.55rem 1rem;font-size:var(--font-size-sm);font-weight:var(--fw-semibold);font-family:var(--font-family-base);text-decoration:none;cursor:pointer;border:2px solid transparent;transition:transform var(--transition-fast) var(--ease-standard),background-color var(--transition-fast) var(--ease-standard),box-shadow var(--transition-fast) var(--ease-standard)}.btn:focus-visible{outline:3px solid var(--color-primary-light);outline-offset:2px}.btn:active{transform:translateY(0)}@media(min-width:600px){.btn{padding:.65rem 1.4rem;font-size:var(--font-size-base)}}@media(prefers-reduced-motion:no-preference){.btn:hover{transform:translateY(-1px)}}.btn--ghost{color:var(--color-primary);border-color:var(--color-border);background:transparent}.btn--ghost:hover{background:var(--color-bg-alt)}.btn--primary{color:var(--color-text-on-brand);background:var(--color-primary);box-shadow:var(--shadow-sm)}.btn--primary:hover{background:var(--color-primary-dark);box-shadow:var(--shadow-md)}.btn--lg{padding:.8rem 1.75rem;font-size:var(--font-size-md)}body{margin:0;font-family:Segoe UI,Roboto,Helvetica,Arial,sans-serif;background-color:#f4f6f8;color:#1f2933}.auth-page,.dashboard-page{min-height:100vh;display:flex;justify-content:center;align-items:flex-start;padding:3rem 1rem}.auth-card{width:100%;max-width:380px;background:#fff;border-radius:8px;box-shadow:0 1px 4px #0000001a;padding:2rem}.auth-card h1{margin-top:0;font-size:1.5rem;text-align:center}.auth-card form{display:flex;flex-direction:column}.auth-card label{margin-top:1rem;margin-bottom:.25rem;font-weight:600;font-size:.9rem}.auth-card input{padding:.6rem .75rem;border:1px solid #cbd2d9;border-radius:4px;font-size:1rem}.auth-card input:focus{outline:none;border-color:#3b82f6}.auth-card button{margin-top:1.5rem;padding:.7rem;border:none;border-radius:4px;background-color:#3b82f6;color:#fff;font-size:1rem;cursor:pointer}.auth-card button:disabled{background-color:#9ca3af;cursor:not-allowed}.auth-links{margin-top:1.25rem;display:flex;justify-content:space-between;font-size:.9rem}.field-error{margin:.25rem 0 0;color:#dc2626;font-size:.8rem}.field-hint{margin:.25rem 0 0;color:#6b7280;font-size:.8rem}.form-error{margin-top:1rem;color:#dc2626;font-size:.9rem}.form-success{margin-top:1rem;color:#16a34a;font-size:.9rem}.dashboard-page{align-items:flex-start;justify-content:center}.dashboard-page>div,.dashboard-card{width:100%;max-width:480px;background:#fff;border-radius:8px;box-shadow:0 1px 4px #0000001a;padding:2rem}.dashboard-card header{display:flex;justify-content:space-between;align-items:center}.dashboard-card button{padding:.5rem 1rem;border:none;border-radius:4px;background-color:#dc2626;color:#fff;cursor:pointer}
