*{margin:0;padding:0;box-sizing:border-box}:root{--color-primary: #0066CC;--color-secondary: #00CC99;--color-accent: #FF6B6B;--color-success: #28A745;--color-warning: #FFC107;--color-error: #DC3545;--color-info: #17A2B8;--color-text: #333333;--color-text-light: #666666;--color-border: #CCCCCC;--color-background: #F5F5F5;--color-white: #FFFFFF;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--spacing-xs: 8px;--spacing-sm: 16px;--spacing-md: 24px;--spacing-lg: 32px;--spacing-xl: 48px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1)}body{font-family:var(--font-family);color:var(--color-text);background-color:var(--color-background);line-height:1.6}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-md)}.auth-card{background:var(--color-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:var(--spacing-xl);width:100%;max-width:500px}.auth-card h1{font-size:28px;margin-bottom:var(--spacing-md);color:var(--color-primary)}.form-group{margin-bottom:var(--spacing-md)}.form-group label{display:block;margin-bottom:var(--spacing-xs);font-weight:500;color:var(--color-text)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:16px;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #0066cc1a}.form-group input.error{border-color:var(--color-error)}.form-group .error-message{color:var(--color-error);font-size:14px;margin-top:4px;display:block}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm)}fieldset{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-md)}legend{font-weight:600;padding:0 var(--spacing-xs)}.btn-primary,.btn-secondary,.btn-link{display:inline-block;padding:12px 24px;border-radius:var(--radius-md);font-size:16px;font-weight:500;text-decoration:none;cursor:pointer;transition:all .2s;border:none}.btn-primary{background-color:var(--color-primary);color:var(--color-white);width:100%}.btn-primary:hover{background-color:#0052a3}.btn-primary:disabled{background-color:#999;cursor:not-allowed}.btn-secondary{background-color:transparent;border:2px solid var(--color-primary);color:var(--color-primary)}.btn-secondary:hover{background-color:var(--color-primary);color:var(--color-white)}.btn-link{background:none;color:var(--color-primary);padding:8px 16px}.btn-link:hover{text-decoration:underline}.consents{margin:var(--spacing-md) 0}.checkbox-group{display:flex;align-items:flex-start;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm)}.checkbox-group input[type=checkbox]{width:auto;margin-top:4px}.checkbox-group label{font-weight:400;font-size:14px;color:var(--color-text-light)}.checkbox-group.error input[type=checkbox]{accent-color:var(--color-error)}.password-requirements{background:var(--color-background);border-radius:var(--radius-md);padding:var(--spacing-sm);margin-top:var(--spacing-xs)}.password-requirements p{font-size:14px;font-weight:500;margin-bottom:var(--spacing-xs)}.password-requirements ul{list-style:none;font-size:13px}.password-requirements li{padding:2px 0;color:var(--color-text-light)}.password-requirements li.met{color:var(--color-success)}.error-banner{background-color:#fef2f2;border:1px solid var(--color-error);border-radius:var(--radius-md);padding:var(--spacing-sm);color:var(--color-error);margin-bottom:var(--spacing-md)}.auth-link{text-align:center;margin-top:var(--spacing-md);color:var(--color-text-light)}.auth-link a{color:var(--color-primary);text-decoration:none;font-weight:500}.auth-link a:hover{text-decoration:underline}.confirmation-page,.validate-email-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-md)}.confirmation-card,.validation-card{background:var(--color-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:var(--spacing-xl);width:100%;max-width:500px;text-align:center}.icon{font-size:64px;margin-bottom:var(--spacing-md)}.icon.success{color:var(--color-success)}.icon.error{color:var(--color-error)}.instructions{background:var(--color-background);border-radius:var(--radius-md);padding:var(--spacing-md);margin:var(--spacing-md) 0;text-align:left}.instructions h2{font-size:18px;margin-bottom:var(--spacing-sm)}.instructions ol{padding-left:var(--spacing-md)}.instructions li{margin-bottom:var(--spacing-xs)}.actions{display:flex;gap:var(--spacing-sm);justify-content:center;margin:var(--spacing-md) 0}.resend-section{border-top:1px solid var(--color-border);padding-top:var(--spacing-md);margin-top:var(--spacing-md)}.resend-section p{margin-bottom:var(--spacing-sm)}.note{font-size:13px;color:var(--color-text-light)}.support{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border);font-size:14px;color:var(--color-text-light)}.support a{color:var(--color-primary)}.spinner{border:4px solid var(--color-background);border-top-color:var(--color-primary);border-radius:50%;width:48px;height:48px;animation:spin 1s linear infinite;margin:0 auto var(--spacing-md)}@keyframes spin{to{transform:rotate(360deg)}}.forgot-password-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-md)}.form-actions{margin-bottom:var(--spacing-md)}.forgot-password{color:var(--color-primary);font-size:14px;text-decoration:none}.forgot-password:hover{text-decoration:underline}.dashboard{padding:var(--spacing-xl);max-width:1200px;margin:0 auto}.dashboard h1{color:var(--color-primary);margin-bottom:var(--spacing-md)}@media (max-width: 768px){.form-row{grid-template-columns:1fr}.auth-card{padding:var(--spacing-md)}.actions{flex-direction:column}}@media (prefers-reduced-motion: reduce){.spinner{animation:none;border-top-color:var(--color-primary)}}*:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
