#auth-shell{--auth-accent:var(--brand);max-width:1120px;margin:auto;padding:30px 36px 24px;color:var(--ink)}
#auth-shell.admin-auth{max-width:520px;padding-top:42px}.admin-auth .auth-header{margin-bottom:36px}.admin-auth .auth-main{max-width:none;background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:32px;box-shadow:var(--shadow)}.admin-auth .admin-auth-note{margin-top:22px;text-align:center}
@media(max-width:480px){#auth-shell.admin-auth{padding:24px 18px}.admin-auth .auth-main{padding:26px 22px}}
#auth-shell *{box-sizing:border-box}
.auth-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:32px}
.auth-logo{display:flex;align-items:center;gap:10px;font-size:21px;font-weight:750;letter-spacing:-.7px;color:var(--ink);text-decoration:none}
.auth-logo-mark{width:38px;height:38px;display:grid;place-items:center;background:var(--brand);color:var(--surface);border-radius:13px;font-size:27px;letter-spacing:-3px;padding-right:4px}
.auth-theme{background:var(--surface);border:1px solid var(--line);color:var(--muted);border-radius:50%;min-width:42px;min-height:42px;display:grid;place-items:center}
.auth-theme svg,.auth-pass-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.auth-layout{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;min-height:650px}
.auth-story{position:relative;overflow:hidden;align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding:42px 36px;border-radius:32px;background:linear-gradient(145deg,var(--soft),var(--surface));border:1px solid color-mix(in srgb,var(--brand) 12%,var(--line))}
.auth-story:before{content:'';position:absolute;width:340px;height:340px;border-radius:50%;right:-180px;top:-170px;border:45px solid color-mix(in srgb,var(--brand) 5%,transparent);pointer-events:none}
.auth-eyebrow{color:var(--brand);font-size:11px;font-weight:700;letter-spacing:1.7px;text-transform:uppercase;margin:0 0 18px}
.auth-story h1{font-size:40px;line-height:1.16;letter-spacing:-1.8px;margin:0 0 20px;font-weight:720}
.auth-story h1 span{color:var(--brand)}
.auth-story>p{font-size:15px;line-height:1.7;max-width:300px;color:var(--muted);margin:0}
.auth-day{margin:35px 0 26px;padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:0 18px 40px color-mix(in srgb,var(--ink) 5%,transparent);transform:rotate(-2deg)}
.auth-day-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:15px;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}
.auth-day-head strong{color:var(--ink);font-size:14px}
.auth-day-row{display:flex;align-items:center;gap:13px;padding-top:18px;font-size:12px}
.auth-day-time{font-weight:650;font-variant-numeric:tabular-nums;color:var(--muted)}
.auth-day-dot{width:3px;height:35px;background:var(--brand);border-radius:3px}
.auth-day-row small{display:block;color:var(--muted);font-size:11px;margin-top:4px}
.auth-day-check{margin-left:auto;width:26px;height:26px;border-radius:50%;background:var(--soft);color:var(--brand);display:grid;place-items:center}
.auth-story-foot{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:8px}
.auth-story-foot span{color:var(--brand)}
.auth-main{padding:14px 0;max-width:400px;width:100%;margin:auto}
.auth-main h2{font-size:30px;line-height:1.2;letter-spacing:-1px;margin:0 0 12px;font-weight:720}
.auth-description{font-size:14px;color:var(--muted);line-height:1.65;margin:0 0 27px}
.auth-google{width:100%;min-height:50px;border:1px solid var(--line);border-radius:13px;display:flex;align-items:center;justify-content:center;gap:12px;background:var(--surface);color:var(--ink);font-size:14px;font-weight:600}
.auth-google:hover{border-color:var(--muted);background:var(--bg)}
.auth-google svg{width:19px;height:19px;flex-shrink:0}
.auth-divider{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:11px;margin:24px 0}
.auth-divider:before,.auth-divider:after{content:'';height:1px;background:var(--line);flex:1}
.auth-form{display:grid;gap:18px}
.auth-field{display:grid;gap:8px;margin:0;color:var(--ink);font-size:12px;font-weight:600}
.auth-field input,.auth-field select{width:100%;min-width:0;height:50px;border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:12px 14px;color:var(--ink);font:inherit;font-size:16px;font-weight:400;transition:border-color .15s,box-shadow .15s}
.auth-field input:focus,.auth-field select:focus{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 12%,transparent);outline:2px solid transparent}
.auth-field input::placeholder{color:var(--muted);opacity:.75;font-size:14px}
.auth-pass{position:relative}
.auth-pass input{padding-right:54px}
.auth-pass-toggle{position:absolute;right:4px;top:3px;width:44px;height:44px;display:grid;place-items:center;background:transparent;border:0;color:var(--muted);border-radius:10px}
.auth-forgot{justify-self:end;background:transparent;border:0;color:var(--brand);font-size:12px;padding:2px 0;min-height:30px;margin-top:-10px;font-weight:600}
.auth-submit{width:100%;min-height:50px;border-radius:13px;border:1px solid transparent;background:var(--brand);color:var(--surface);font-size:14px;font-weight:650;display:flex;align-items:center;justify-content:center;gap:14px;box-shadow:0 5px 15px color-mix(in srgb,var(--brand) 12%,transparent)}
.auth-submit:hover{filter:brightness(1.07)}
.auth-switch{text-align:center;color:var(--muted);font-size:13px;margin:25px 0 0}
.auth-link{color:var(--brand);font-weight:650;background:transparent;border:0;padding:7px 3px;min-height:36px;text-decoration:none;font-size:inherit}
.auth-footer{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:30px;font-size:11px;color:var(--muted)}
.auth-footer a{color:var(--muted);text-decoration:none;padding:5px 0}
.auth-footer a:hover{text-decoration:underline}
.auth-message{font-size:13px;line-height:1.6;padding:12px 14px;border-radius:12px;background:var(--red-soft);color:var(--red);margin:0 0 18px}
.auth-message:empty{display:none}
.auth-message.success{background:var(--soft);color:var(--brand)}
.auth-hint{font-size:11px;line-height:1.6;color:var(--muted);margin:0;font-weight:400}
.auth-steps{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:11px;margin-bottom:22px}
.auth-steps span{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:var(--line);color:var(--muted)}
.auth-steps .active{color:var(--surface);background:var(--brand)}
.auth-steps i{height:1px;width:22px;background:var(--line);margin:0 4px}
.auth-check{display:flex;align-items:flex-start;gap:10px;font-size:11px;line-height:1.7;color:var(--muted);margin:0}
.auth-check input{margin-top:3px;width:17px;height:17px;flex-shrink:0;accent-color:var(--brand)}
.auth-check a{color:var(--brand)}
.auth-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.auth-back{margin:0 0 16px;padding:4px 0;min-height:32px;text-align:left}
.auth-account-note{display:flex;gap:10px;align-items:center;padding:12px 14px;background:var(--soft);border-radius:12px;font-size:12px;color:var(--brand);margin-bottom:20px;overflow-wrap:anywhere}
.auth-account-note small{color:var(--muted);display:block;margin-top:3px}
.auth-account-note svg{width:20px;height:20px;flex-shrink:0}
.auth-security{max-width:640px}.auth-security .panel{margin:18px 0}.auth-security .auth-form{max-width:400px}.auth-security .form-actions{flex-wrap:wrap}.auth-security .auth-link{font-size:13px}
#auth-shell.auth-phone{max-width:414px;padding:24px;margin:22px auto;background:var(--bg);border:1px solid var(--line);border-radius:28px}
.auth-phone .auth-header{margin-bottom:38px}.auth-phone .auth-layout{display:block;min-height:0}.auth-phone .auth-story{display:none}.auth-phone .auth-main{padding:0}.auth-phone .auth-main h2{font-size:29px}.auth-phone .auth-footer{margin-top:34px}
.auth-phone .auth-header{margin-bottom:24px}.auth-phone .auth-description{margin-bottom:18px}.auth-phone .auth-divider{margin:18px 0}.auth-phone .auth-form{gap:14px}.auth-phone .auth-eyebrow{margin-bottom:12px}.auth-phone .auth-forgot{min-height:40px}.auth-phone .auth-switch{margin-top:18px}.auth-phone .auth-link{min-height:44px}
@media(max-width:850px){#auth-shell{max-width:500px;padding:24px}.auth-header{margin-bottom:40px}.auth-layout{display:block;min-height:0}.auth-story{display:none}.auth-main{max-width:400px;padding:0}.auth-main h2{font-size:29px}.auth-footer{margin-top:40px;padding-bottom:15px}}
@media(max-width:360px){#auth-shell{padding:20px}.auth-main h2{font-size:27px}.auth-header{margin-bottom:30px}.auth-two{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.auth-field input,.auth-field select{transition:none}}
.auth-provider-status{margin:10px 2px 0;color:var(--muted);font-size:12px;line-height:1.6}.auth-google:disabled{cursor:not-allowed;opacity:.65}.auth-provider-status[hidden]{display:none}
