@font-face{font-family:"Manrope";font-style:normal;font-display:swap;font-weight:200 800;src:url("../fonts/manrope-latin.woff2") format("woff2")}
:root{--app-bg:#e9e9e6;--surface:#fff;--surface-2:#f4f4f2;--text:#1a1a18;--text-muted:#6a6a67;--border:#e4e4e1;--border-soft:#ededea;--accent:#86e06a;--accent-hover:#6fd653;--accent-soft:#eafbe3;--on-accent:#0c3b24;--danger-bg:#fbe9e4;--danger-text:#a5341c;--danger-border:#f2c4b8;--success-bg:#eafbe3;--success-text:#215f31;--success-border:#bfe7b1;--shadow:rgba(20,20,18,.06);--radius-pane:18px;--radius-input:8px;--radius-md:12px;--radius-pill:999px;--font-sans:"Manrope","Segoe UI",Tahoma,Geneva,Verdana,sans-serif}
@media(prefers-color-scheme:dark){:root{--app-bg:#101010;--surface:#1a1a19;--surface-2:#222220;--text:#f1f1ef;--text-muted:#aaa9a5;--border:#2e2e2b;--border-soft:#262624;--accent:#86e06a;--accent-hover:#98e87f;--accent-soft:#12301f;--on-accent:#0c3b24;--danger-bg:#2a130f;--danger-text:#fca5a5;--danger-border:#5a241c;--success-bg:#12301f;--success-text:#a7f3a1;--success-border:#285b35;--shadow:rgba(0,0,0,.5)}}
*{box-sizing:border-box;margin:0;padding:0}
body{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--app-bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}
.auth-card{width:100%;max-width:420px;padding:36px 32px 28px;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-pane);box-shadow:0 1px 2px var(--shadow),0 6px 20px var(--shadow)}
.auth-header{text-align:center;margin-bottom:24px}.auth-brand{display:flex;align-items:center;justify-content:center;margin-bottom:16px}.auth-brand img{height:36px;width:auto;max-width:200px;object-fit:contain}.brand-dark{display:none}@media(prefers-color-scheme:dark){.brand-light{display:none}.brand-dark{display:block}}
.auth-header h1{font-size:22px;font-weight:800;letter-spacing:-.01em;line-height:1.3;margin-bottom:6px}.auth-header p{max-width:340px;margin:0 auto;color:var(--text-muted);font-size:14px;font-weight:500;line-height:1.55;overflow-wrap:anywhere}
.auth-form{display:block}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:8px;font-size:14px;font-weight:600}.form-group input{width:100%;min-height:46px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-input);background:var(--surface);color:var(--text);font:inherit;font-size:16px;transition:border-color .16s,box-shadow .16s}.form-group input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.field-hint{display:block;margin-top:7px;color:var(--text-muted);font-size:12px;line-height:1.5}.password-wrap{position:relative}.password-wrap input{padding-inline-end:74px}.password-toggle{position:absolute;inset-inline-end:8px;top:50%;transform:translateY(-50%);padding:7px 8px;border:0;border-radius:8px;background:transparent;color:var(--text-muted);font:inherit;font-size:12px;font-weight:700;cursor:pointer}.password-toggle:hover{background:var(--surface-2);color:var(--text)}.password-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.auth-button{width:100%;min-height:46px;padding:12px 16px;border:0;border-radius:var(--radius-pill);background:var(--accent);color:var(--on-accent);font:inherit;font-size:15px;font-weight:700;cursor:pointer;transition:background .16s,transform .12s ease,opacity .16s}.auth-button:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.auth-button:active:not(:disabled){transform:none}.auth-button:focus-visible{outline:0;box-shadow:0 0 0 3px var(--accent-soft)}.auth-button:disabled,.auth-button[aria-busy=true]{opacity:.6;cursor:wait;transform:none}
.auth-message{display:none;margin-bottom:16px;padding:12px 14px;border:1px solid;border-radius:var(--radius-md);font-size:14px;line-height:1.5;overflow-wrap:anywhere}.auth-message.is-visible{display:block}.auth-message.error{border-color:var(--danger-border);background:var(--danger-bg);color:var(--danger-text)}.auth-message.success{border-color:var(--success-border);background:var(--success-bg);color:var(--success-text)}
.auth-link{display:block;margin-top:18px;border-radius:4px;color:var(--text-muted);font-size:14px;font-weight:600;text-align:center;text-decoration:none}.auth-link:hover{color:var(--text)}.auth-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.auth-note{margin-top:20px;padding-top:18px;border-top:1px solid var(--border);color:var(--text-muted);font-size:12px;line-height:1.55;text-align:center;overflow-wrap:anywhere}
@media(max-width:480px){body{align-items:flex-start;padding:16px;padding-top:max(16px,env(safe-area-inset-top))}.auth-card{padding:28px 22px 24px}.auth-header{margin-bottom:22px}}
@media(prefers-reduced-motion:reduce){.auth-button,.form-group input{transition:none}.auth-button:hover:not(:disabled){transform:none}}
