:root{--color-background: #000000;--color-card: #1c1c1e;--color-foreground: #ffffff;--color-muted: #8e8e93;--color-primary: #007AFF;--color-primary-hover: #0056b3;--color-danger: #FF453A;--color-success: #30D158;--color-border: rgba(255, 255, 255, .1);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-full: 9999px;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-family);background-color:var(--color-background);color:var(--color-foreground);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--color-primary);text-decoration:none;transition:color .2s}a:hover{color:var(--color-primary-hover)}input,button,textarea,select{font-family:inherit;font-size:inherit}button{cursor:pointer;border:none;outline:none}input:focus,textarea:focus,select:focus{outline:none}.auth-layout{min-height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:var(--spacing-lg)}.auth-container{width:100%;max-width:420px}.auth-logo{text-align:center;margin-bottom:var(--spacing-2xl)}.auth-logo h1{font-size:2.5rem;font-weight:700;letter-spacing:-1px;background:linear-gradient(135deg,var(--color-primary),#5856D6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-content{background-color:var(--color-card);border-radius:var(--radius-lg);padding:var(--spacing-xl);border:1px solid var(--color-border)}.auth-footer{margin-top:var(--spacing-2xl);text-align:center}.auth-footer p{color:var(--color-muted);font-size:.875rem}@media(max-width:480px){.auth-layout{padding:var(--spacing-md)}.auth-content{padding:var(--spacing-lg)}.auth-logo h1{font-size:2rem}}.input-group{margin-bottom:var(--spacing-lg)}.input-label{display:block;font-size:.875rem;color:var(--color-muted);margin-bottom:var(--spacing-sm)}.input-wrapper{position:relative}.input{width:100%;height:52px;padding:0 var(--spacing-md);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-foreground);font-size:1rem;transition:border-color .2s,box-shadow .2s}.input::placeholder{color:var(--color-muted)}.input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #007aff26}.input.input-error{border-color:var(--color-danger)}.input.input-error:focus{box-shadow:0 0 0 3px #ff453a26}.input-toggle-password{position:absolute;right:var(--spacing-md);top:50%;transform:translateY(-50%);background:none;border:none;padding:var(--spacing-xs);cursor:pointer;font-size:1.1rem;opacity:.7;transition:opacity .2s}.input-toggle-password:hover{opacity:1}.input-error-message{display:block;margin-top:var(--spacing-xs);font-size:.813rem;color:var(--color-danger)}.input:disabled,.input-frozen{background-color:var(--color-card);opacity:.8;cursor:not-allowed}.button{display:inline-flex;align-items:center;justify-content:center;height:52px;padding:0 var(--spacing-xl);border-radius:var(--radius-md);font-size:1rem;font-weight:600;transition:all .2s}.button:disabled{opacity:.6;cursor:not-allowed}.button-full{width:100%}.button-primary{background-color:var(--color-primary);color:var(--color-foreground)}.button-primary:hover:not(:disabled){background-color:var(--color-primary-hover)}.button-secondary{background-color:transparent;color:var(--color-foreground);border:1px solid var(--color-border)}.button-secondary:hover:not(:disabled){background-color:#ffffff0d;border-color:#fff3}.button-ghost{background-color:transparent;color:var(--color-primary);padding:0;height:auto}.button-ghost:hover:not(:disabled){color:var(--color-primary-hover)}.button-spinner{width:20px;height:20px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin .8s linear infinite}.auth-page{text-align:center}.auth-title{font-size:1.5rem;font-weight:600;margin-bottom:var(--spacing-sm);color:var(--color-foreground)}.auth-subtitle{color:var(--color-muted);margin-bottom:var(--spacing-xl);font-size:.938rem}.auth-form{text-align:left}.auth-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}@media(max-width:480px){.auth-row{grid-template-columns:1fr;gap:0}}.auth-forgot{text-align:right;margin-bottom:var(--spacing-lg);margin-top:calc(var(--spacing-md) * -1)}.auth-forgot a{font-size:.875rem}.auth-divider{display:flex;align-items:center;margin:var(--spacing-lg) 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background-color:var(--color-border)}.auth-divider span{padding:0 var(--spacing-md);color:var(--color-muted);font-size:.875rem}.auth-switch{margin-top:var(--spacing-xl);color:var(--color-muted);font-size:.938rem}.auth-terms{font-size:.813rem;color:var(--color-muted);margin-bottom:var(--spacing-lg);text-align:center}.auth-icon{font-size:3rem;margin-bottom:var(--spacing-lg)}.auth-hint{color:var(--color-muted);font-size:.875rem;margin-top:var(--spacing-lg)}.auth-link-button{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:inherit;padding:0}.auth-link-button:hover{color:var(--color-primary-hover)}.auth-actions{margin-top:var(--spacing-xl)}.auth-actions a{display:block}.auth-spinner-large{width:48px;height:48px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;margin:0 auto var(--spacing-xl);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
