.login-shell{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:32px;
  background:var(--bg);
  color:var(--text);
}
.login-card{
  width:min(100%,420px);
  border:1px solid var(--line);
  background:var(--panel);
  border-radius:var(--radius);
  padding:24px;
  box-shadow:none;
  overflow:hidden;
}
.login-view{display:block}.login-view.hidden{display:none!important}
.login-brand{display:flex;justify-content:center;margin:0 0 22px}.login-brand img{width:118px;max-height:42px;object-fit:contain;filter:var(--logo-filter);display:block}
.login-header{text-align:center;margin-bottom:22px}.login-header h1,.progress-header h1{margin:0;font-size:22px;line-height:1.12;letter-spacing:-.04em;color:var(--text);font-weight:700}.login-header p,.progress-header p{margin:7px 0 0;color:var(--muted);font-size:12px;line-height:1.45;font-weight:600}
.form-stack{display:grid;gap:11px}.field-label{display:block;color:var(--text);font-weight:700;font-size:12px;margin-top:2px}.login-field{min-height:40px;border:1px solid var(--line);background:var(--panel);border-radius:13px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;overflow:hidden;transition:border-color .14s ease,background .14s ease}.login-field:focus-within{border-color:var(--orange);background:var(--panel)}.login-field>.material-symbols-rounded{color:var(--muted);justify-self:center;font-size:18px}.login-field input{width:100%;min-height:38px;border:0!important;background:transparent!important;color:var(--text)!important;padding:0 10px 0 0!important;border-radius:0!important;font-size:12px;font-weight:600;box-shadow:none!important}.login-field input::placeholder{color:var(--soft);font-weight:500}.field-icon-button{width:38px;height:38px;border:0;background:transparent;color:var(--muted);display:grid;place-items:center;padding:0;cursor:pointer}.field-icon-button:hover{color:var(--text)}
.login-options{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:4px 0 7px}.remember-row{display:inline-flex;align-items:center;gap:9px;color:var(--text);font-weight:600;cursor:pointer;white-space:nowrap}.login-switch{justify-self:auto;flex:none}.settings-switch{width:48px;height:28px;position:relative;display:inline-flex;align-items:center}.settings-switch input{position:absolute;opacity:0;inset:0;cursor:pointer}.settings-switch i{position:absolute;inset:0;border-radius:999px;background:var(--panel-soft);border:1px solid var(--line);transition:background .16s ease,border-color .16s ease}.settings-switch i:before{content:'';position:absolute;left:4px;top:4px;width:18px;height:18px;border-radius:999px;background:var(--muted);transition:transform .16s ease,background .16s ease}.settings-switch input:checked+i{background:var(--orange-soft);border-color:var(--orange-line)}.settings-switch input:checked+i:before{transform:translateX(20px);background:var(--orange)}.settings-switch input:focus-visible+i{outline:2px solid var(--orange-line);outline-offset:3px}
.link-button{border:0;background:transparent;color:var(--orange);font-weight:700;text-decoration:underline;padding:0;white-space:nowrap}.btn{border-radius:13px;min-height:40px}.btn-primary{font-size:13px;font-weight:700}.split{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;color:var(--muted);font-size:11px;font-weight:600;margin:7px 0}.split span{height:1px;background:var(--line)}.split b{font-weight:600;color:var(--muted)}.google-button{min-height:40px;width:100%;border:1px solid var(--line);border-radius:13px;background:var(--panel);color:var(--text);display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:700;cursor:pointer;transition:background .14s ease,border-color .14s ease}.google-button:hover{background:var(--panel-soft);border-color:var(--line)}.google-button svg{width:17px;height:17px;flex:none}.login-legal{margin:20px 6px 0;text-align:center;color:var(--muted);font-weight:500;font-size:11px;line-height:1.55}.login-legal a{color:var(--orange);font-weight:700}
.login-error{margin:16px 0 0;border:1px solid var(--redLine);background:var(--redBg);color:var(--red);border-radius:14px;padding:12px 14px;font-weight:650;line-height:1.45}.login-card.is-loading{width:min(100%,356px);padding:24px}.login-view-progress{text-align:center}.progress-avatar-wrap{width:92px;height:92px;margin:0 auto 18px;position:relative;display:grid;place-items:center}.progress-avatar{width:58px;height:58px;border:1px solid var(--line);border-radius:999px;background:var(--panel-soft);color:var(--text);display:grid;place-items:center;font-size:22px;font-weight:700;letter-spacing:-.04em;overflow:hidden}.progress-avatar img{width:100%;height:100%;object-fit:cover;display:block}.progress-avatar.has-photo{background:var(--panel)}.progress-ring{position:absolute;inset:0;width:92px;height:92px;transform:rotate(-90deg)}.progress-ring-bg,.progress-ring-bar{fill:none;stroke-width:4}.progress-ring-bg{stroke:var(--line)}.progress-ring-bar{stroke:var(--orange);stroke-linecap:round;stroke-dasharray:264;stroke-dashoffset:264;transition:stroke-dashoffset .28s ease}.progress-header{margin-bottom:16px}.progress-header h1 span{color:var(--orange);font-weight:700}.progress-line{height:5px;border:1px solid var(--line);background:var(--panel-soft);border-radius:999px;overflow:hidden;margin:0 0 16px}.progress-line span{display:block;width:0;height:100%;border-radius:999px;background:var(--orange);transition:width .25s ease}.progress-steps-compact{display:grid;gap:10px;text-align:left;border-top:1px solid var(--line);padding-top:15px}.progress-step{display:grid;grid-template-columns:22px 1fr;gap:9px;align-items:center;color:var(--muted)}.progress-step span{width:13px;height:13px;border-radius:999px;border:1px solid var(--line);background:var(--panel-soft);display:block;justify-self:center}.progress-step b{font-size:12px;font-weight:600}.progress-step.active{color:var(--text)}.progress-step.active span{border-color:var(--orange);background:var(--orange)}.progress-step.done{color:var(--text)}.progress-step.done span{border-color:var(--orange);background:var(--orange-soft);position:relative}.progress-step.done span:before{content:'✓';position:absolute;inset:0;display:grid;place-items:center;color:var(--orange);font-size:10px;font-weight:700}
:root[data-theme='dark'] .login-field{background:#12161c;border-color:#303741}:root[data-theme='dark'] .login-field:focus-within{background:#12161c;border-color:var(--orange)}:root[data-theme='dark'] .google-button{background:var(--panel);border-color:var(--line)}:root[data-theme='dark'] .google-button:hover{background:var(--panel-soft)}:root[data-theme='dark'] .settings-switch i{background:var(--panel-soft);border-color:var(--orange-line)}:root[data-theme='dark'] .settings-switch i:before{background:var(--orange)}:root[data-theme='dark'] .settings-switch input:not(:checked)+i{border-color:var(--line);background:var(--panel-soft)}:root[data-theme='dark'] .settings-switch input:not(:checked)+i:before{background:#6b7280}
@media(max-width:560px){.login-shell{padding:18px}.login-card{border-radius:20px;padding:22px;width:100%}.login-brand img{width:112px}.login-options{align-items:flex-start;flex-direction:column}.link-button{align-self:flex-start}.login-header h1,.progress-header h1{font-size:21px}}
