*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fafaf9;--surface:#fff;--cream:#f7fee7;--text:#111827;--muted:#57534e;--faint:#78716c;--border:#e7e5e4;--input-border:#d6d3d1;--accent:#a3e635;--accent-dark:#84cc16;--forest:#4d7c0f;--forest-dark:#365314;--danger:#b91c1c;--font-sans:"DM Sans", system-ui, sans-serif;--font-serif:"IBM Plex Serif", Georgia, serif;--radius:12px}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100vh}a{color:var(--forest)}a:hover{color:var(--forest-dark)}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--forest);outline-offset:2px}.auth-root{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100vh;display:grid}.auth-form-panel{background:var(--surface);flex-direction:column;padding:2rem 1.5rem;display:flex}.auth-form-top{color:var(--text);align-items:center;gap:.625rem;font-size:1.05rem;font-weight:800;text-decoration:none;display:flex}.auth-form-top img{object-fit:contain;width:30px;height:30px}.auth-form-center{flex:1;justify-content:center;align-items:center;padding:2.5rem 0;display:flex}.auth-form-box{width:100%;max-width:400px}.auth-form-title{letter-spacing:-.02em;color:var(--text);margin-bottom:.5rem;font-size:1.75rem;font-weight:800;line-height:1.2}.auth-form-subtitle{color:var(--muted);margin-bottom:1.75rem;font-size:.9rem;line-height:1.6}.auth-form-subtitle a{font-weight:600;text-decoration:none}.auth-form-subtitle a:hover{text-decoration:underline}.auth-legal{color:var(--faint);font-size:.75rem;line-height:1.6}.auth-legal a{color:var(--muted)}.auth-brand{background:var(--cream);border-left:1px solid #ecfccb;flex-direction:column;justify-content:center;padding:4rem clamp(2rem,5vw,5rem);display:flex}.auth-brand-headline{letter-spacing:-.03em;color:var(--forest-dark);max-width:14ch;font-size:clamp(2rem,3.2vw,2.9rem);font-weight:800;line-height:1.12}.auth-brand-headline em{font-family:var(--font-serif);color:var(--forest);font-style:italic;font-weight:400}.auth-brand-desc{color:var(--muted);max-width:40ch;margin-top:1rem;font-size:.95rem;line-height:1.7}.auth-products{border-top:1px solid #d9f99d;max-width:440px;margin-top:2.25rem;list-style:none}.auth-products li{border-bottom:1px solid #d9f99d;grid-template-columns:7.5rem minmax(0,1fr);gap:1rem;padding:.9rem 0;display:grid}.auth-products strong{color:var(--text);font-weight:700}.auth-products span{color:var(--muted);font-size:.875rem;line-height:1.55}@media (max-width:900px){.auth-root{grid-template-columns:minmax(0,1fr)}.auth-brand{display:none}.auth-form-center{align-items:flex-start;padding-top:2rem}}.form-group{margin-bottom:1.125rem}.form-label{color:var(--text);justify-content:space-between;align-items:baseline;margin-bottom:.4rem;font-size:.85rem;font-weight:600;display:flex}.form-label a{font-size:.8rem;font-weight:500;text-decoration:none}.form-label a:hover{text-decoration:underline}.form-input{background:var(--surface);border:1px solid var(--input-border);width:100%;min-height:46px;font-family:var(--font-sans);color:var(--text);border-radius:10px;outline:none;padding:.7rem .9rem;font-size:1rem;transition:border-color .15s,box-shadow .15s}.form-input::placeholder{color:#a8a29e}.form-input:focus{border-color:var(--forest);box-shadow:0 0 0 3px #4d7c0f26}.form-input:disabled{color:var(--muted);background:#f5f5f4}.input-wrap{position:relative}.input-wrap .form-input{padding-right:7.5rem}.input-toggle{min-height:42px;font-family:var(--font-sans);color:var(--forest);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:0 .75rem;font-size:.8rem;font-weight:600;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.input-toggle:hover{background:var(--cream)}.form-hint{color:var(--faint);margin-top:.375rem;font-size:.78rem}.form-error{color:var(--danger);margin-top:.375rem;font-size:.78rem}.auth-btn{background:var(--accent);width:100%;min-height:48px;color:var(--text);font-family:var(--font-sans);cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;margin-top:1.5rem;padding:.8rem;font-size:.95rem;font-weight:700;text-decoration:none;transition:background .15s;display:flex}.auth-btn:hover{background:var(--accent-dark);color:var(--text)}.auth-btn:disabled{opacity:.6;cursor:not-allowed}.btn-plain{background:var(--surface);border:1px solid var(--input-border);min-height:40px;font-family:var(--font-sans);color:var(--text);cursor:pointer;border-radius:10px;padding:0 1rem;font-size:.85rem;font-weight:600}.btn-plain:hover{background:var(--bg)}.btn-plain.danger{color:var(--danger)}.demo-line{border:1px dashed var(--input-border);color:var(--muted);border-radius:10px;flex-wrap:wrap;align-items:center;gap:.25rem .75rem;margin-bottom:1.25rem;padding:.7rem .9rem;font-size:.82rem;display:flex}.demo-line code{color:var(--text);font-family:inherit;font-weight:600}.demo-line button{font:inherit;color:var(--forest);cursor:pointer;background:0 0;border:none;min-height:44px;margin-left:auto;font-weight:600}.demo-line button:hover{text-decoration:underline}.auth-alert{border-radius:10px;margin-bottom:1.25rem;padding:.8rem .95rem;font-size:.85rem;line-height:1.5}.auth-alert-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.auth-alert-success{background:var(--cream);color:var(--forest-dark);border:1px solid #d9f99d}.auth-alert p+p,.auth-alert p+button,.auth-alert button+p{margin-top:.35rem}.auth-inline-btn{font:inherit;color:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:none;min-height:44px;padding:0;font-weight:700;text-decoration:underline}.auth-inline-btn:disabled{cursor:default;text-decoration:none}.page-plain{background:var(--bg);min-height:100vh;padding:2rem 1rem}.page-plain-box{max-width:640px;margin:0 auto}.page-plain .auth-form-panel{background:0 0;padding:0}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1rem;padding:1.5rem}.panel h3{margin-bottom:1.1rem;font-size:1rem;font-weight:700}.muted{color:var(--muted)}.faint{color:var(--faint)}.profile-header{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.avatar-xl{background:var(--cream);width:64px;height:64px;color:var(--forest-dark);border:1px solid #d9f99d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.4rem;font-weight:700;display:flex}.loading-screen{background:var(--bg);min-height:100vh;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:1rem;font-size:.9rem;display:flex}.loading-screen img{object-fit:contain;width:44px;height:44px}.loading-screen p{align-items:center;gap:.6rem;display:flex}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:2px solid #11182733;border-top-color:var(--text);border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.7s linear infinite spin}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2s}}.page-single{background:var(--bg);flex-direction:column;align-items:center;gap:1.5rem;min-height:100vh;padding:3rem 1rem;display:flex}.page-single-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:2rem 1.5rem}.page-single-card .auth-form-title{font-size:1.5rem}.page-single-card>:last-child{margin-bottom:0}
