:root{color-scheme:dark;font-family:Segoe UI,system-ui,sans-serif;background:#0d1016;color:#edf0f6}*{box-sizing:border-box}body{margin:0;min-height:100vh}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:20px}.auth-card{width:min(100%,440px);padding:30px;background:#191f2a;border:1px solid #3c4c68;border-radius:18px;box-shadow:0 20px 70px #0006}.eyebrow{color:#85b2ff;letter-spacing:2px;font-size:12px}.auth-card .brand-icon{display:block;width:56px;height:56px;margin:12px 0 4px}.auth-card h1{font-size:26px;margin:12px 0}.auth-card p{color:#a8b1c2;line-height:1.5}.auth-card form{display:grid;gap:10px;margin:24px 0 14px}.auth-card form[hidden],.auth-card button[hidden]{display:none}.auth-card label{margin-top:5px;color:#c5d3d6;font-size:14px}.auth-card input,.auth-card button{width:100%;min-height:48px;padding:12px;border:1px solid #414e64;border-radius:9px;font:inherit;color:#edf0f6;background:#10141c}.auth-card input:focus,.auth-card button:focus-visible{outline:2px solid #85b2ff;outline-offset:2px}.auth-card button{margin-top:9px;background:#294773;border-color:#526d99;font-weight:700;cursor:pointer}.auth-card button:hover{border-color:#85b2ff}.auth-card .secondary-action{margin-top:0;background:transparent;border-color:#414e64;font-weight:500}.auth-card h2{font-size:18px;margin:0 0 8px;color:#85b2ff}.auth-card button:disabled{opacity:.65;cursor:wait}.auth-card small{display:block;color:#9ca8bb;line-height:1.5}.message{min-height:1.5em}.message.error{color:#ff9ba4}.setup-hint{padding:12px;background:#30291c;border:1px solid #77643b;border-radius:9px;font-size:13px}.setup-hint[hidden]{display:none}@media(max-width:480px){.auth-card{padding:24px 20px}.auth-card h1{font-size:23px}}
.password-control{position:relative;display:flex;align-items:center;width:100%}.auth-card .password-control input{padding-right:54px}.auth-card .password-control .password-toggle{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:44px;min-height:40px;height:40px;margin:0;padding:0;background:transparent;border:0;color:#a9c4c8;font-size:20px;line-height:1}.auth-card .password-control .password-toggle:hover{color:#85b2ff}

/* Bazaar identity: midnight / cobalt / carmine. Green is reserved for success. */
:root{--brand-red:#ec6673;--brand-blue:#85b2ff;--success:#82d3ac;--bg:#0d1016;--surface:#191f2a;--line:#303848;--muted:#a8b1c2;--text:#edf0f6;--green:#85b2ff;--mint:#233a5d;font-family:"Segoe UI",system-ui,sans-serif}
body{background:var(--bg);color:var(--text)}
button,input,select,textarea{border-radius:7px}button{transition:background .15s,border-color .15s}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--brand-blue);outline-offset:3px}
header{border-top:3px solid var(--brand-red);border-bottom-color:var(--line)}
.eyebrow{color:var(--brand-red);letter-spacing:1.2px;font-weight:700}
.badge{color:#bdcfee;background:#202d43;border-color:#3b4e6c;border-radius:6px}
.badge.is-paid{color:#9ae1bc;background:#19382c;border-color:#35684f}
.badge.is-pending{color:#ffc48c;background:#392c24;border-color:#705035}
.badge.is-partial{color:#bbd3ff;background:#20334e;border-color:#46658e}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.auth-card{background:#191f2a;border:1px solid #364257;border-top:3px solid #ec6673;border-radius:10px;box-shadow:0 24px 64px #0005}.auth-card h1{font-size:30px;letter-spacing:-.8px}.auth-card button{background:#375f9c;border-color:#6084bd;color:#fff}.auth-card button:hover{background:#466fac}.auth-card .secondary-action{background:transparent;color:#bdcfee}.auth-card .password-toggle{background:transparent!important}.auth-card h2{color:#d9e5fa}

.remember-choice{display:flex;align-items:center;gap:10px;font-size:13px;line-height:1.5;margin:16px 0}.remember-choice input{width:18px;height:18px;min-height:18px;margin:0;flex-shrink:0;padding:0;accent-color:#b64b5b}
