/* Refined controls: shared across home, account and information pages. */
:root{--ref-surface:#fff;--ref-soft:#f7faf9;--ref-line:#dce7e2;--ref-text:#183d33;--ref-muted:#61796f;--ref-accent:#087e61}
.refined-password{position:relative;min-width:0}
.auth-modal-dialog .refined-password input,.auth-card-inner .refined-password input{width:100%;height:44px;min-height:44px;padding:10px 44px 10px 13px;border-radius:10px;background:var(--ref-soft);border:1px solid var(--ref-line);box-shadow:0 1px 2px #13382b03;transition:border-color .15s,box-shadow .15s}
.auth-modal-dialog .refined-password input:focus,.auth-card-inner .refined-password input:focus{outline:0;border-color:var(--ref-accent);box-shadow:0 0 0 3px #0c8a6a12;background:var(--ref-surface)}
.password-reveal{position:absolute;inset-inline-end:2px;top:0;width:42px;height:44px;border:0;border-radius:8px;background:transparent;color:var(--ref-muted);display:grid;place-items:center;cursor:pointer}
.password-reveal:hover{color:var(--ref-accent);background:#0c8a6a08}.password-reveal .eye-slash{display:none}.password-reveal[aria-pressed=true] .eye-slash{display:block}
.auth-password-row{gap:14px}.auth-password-row .auth-field{min-width:0}.auth-password-row label{font-size:12px!important;font-weight:600!important;color:var(--ref-muted)!important;letter-spacing:.01em}
.refined-languages{position:relative;flex-shrink:0;color:var(--ref-text)}
.language-trigger{display:flex;align-items:center;gap:9px;height:38px;max-width:184px;padding:0 11px;border:1px solid var(--ref-line);border-radius:10px;background:var(--ref-surface);color:var(--ref-text);font:inherit;font-size:12px;cursor:pointer}
.language-trigger span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.language-trigger>svg{flex-shrink:0;color:var(--ref-muted)}.language-trigger[aria-expanded=true]{border-color:var(--ref-accent);box-shadow:0 0 0 3px #0c8a6a0a}
.language-panel{position:absolute;inset-inline-end:0;top:calc(100% + 10px);width:320px;max-width:calc(100vw - 24px);padding:12px;border:1px solid var(--ref-line);border-radius:16px;background:var(--ref-surface);box-shadow:0 16px 48px #16382b20;z-index:1000}
.language-search{width:100%;height:40px;padding:0 12px;border:1px solid var(--ref-line);border-radius:9px;background:var(--ref-soft);color:var(--ref-text);font:inherit;font-size:16px;margin-bottom:8px;box-sizing:border-box}
.language-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;max-height:min(350px,55dvh);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.language-grid button{min-height:40px;border:0;border-radius:8px;padding:9px 10px;background:transparent;color:var(--ref-muted);text-align:start;font:inherit;font-size:13px;cursor:pointer;overflow-wrap:anywhere}
.language-grid button:hover{background:var(--ref-soft);color:var(--ref-text)}.language-grid button[aria-current=true]{background:#0c8a6a10;color:var(--ref-accent);font-weight:650}.language-grid button[hidden],.language-panel[hidden]{display:none}
.language-trigger:focus-visible,.language-grid button:focus-visible,.language-search:focus-visible,.password-reveal:focus-visible{outline:2px solid var(--ref-accent);outline-offset:3px}
.recent-friendly-hint{display:flex;flex-wrap:nowrap;align-items:center;gap:12px;width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid var(--ref-line);border-radius:12px;background:var(--ref-soft);box-shadow:none;animation:none;color:var(--ref-muted);font-size:12px;line-height:1.7}
.recent-friendly-hint:hover{background:var(--ref-soft);border-color:var(--ref-line)}.recent-friendly-hint .hint-sparkle{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;border-radius:9px;background:#0c8a6a0c;color:var(--ref-accent)}
.recent-friendly-hint .hint-text{flex:1;min-width:0;color:var(--ref-muted)}.recent-friendly-hint .hint-text strong{font-weight:600;color:var(--ref-text);margin-inline-end:5px}.recent-friendly-hint .hint-link{flex-shrink:0;margin:0;padding:6px 10px;border:1px solid var(--ref-line);border-radius:8px;text-decoration:none;font-size:12px;color:var(--ref-accent);background:var(--ref-surface);font-weight:600}
html.theme-dark{--ref-surface:#14231e;--ref-soft:#11201b;--ref-line:#2b4036;--ref-text:#e0ece5;--ref-muted:#a4b8ad;--ref-accent:#67d4ad}
html.theme-dark .recent-friendly-hint{background:var(--ref-soft);border-color:var(--ref-line)}html.theme-dark .recent-friendly-hint .hint-text{color:var(--ref-muted)}html.theme-dark .recent-friendly-hint .hint-text strong{color:var(--ref-text)}html.theme-dark .recent-friendly-hint .hint-link{color:var(--ref-accent)}
@media(prefers-color-scheme:dark){html:not(.theme-light){--ref-surface:#14231e;--ref-soft:#11201b;--ref-line:#2b4036;--ref-text:#e0ece5;--ref-muted:#a4b8ad;--ref-accent:#67d4ad}}
@media(max-width:600px){.language-trigger{max-width:128px;gap:6px;padding-inline:9px}.language-panel{width:290px}.recent-friendly-hint{flex-wrap:wrap;gap:8px 10px}.recent-friendly-hint .hint-text{flex-basis:calc(100% - 42px)}.recent-friendly-hint .hint-link{margin-inline-start:42px}.auth-password-row{gap:10px}}
@media(prefers-reduced-motion:reduce){.refined-password input{transition:none!important}}

/* Account layout v2: one field per row at every viewport width. */
.auth-modal-dialog .auth-password-row,
.auth-card-inner .auth-password-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  width: 100%;
}
.auth-modal-dialog .auth-field,
.auth-card-inner .auth-field { min-width: 0; gap: 6px; }
.auth-modal-dialog .auth-field label,
.auth-card-inner .auth-field label,
.auth-modal-dialog .auth-password-row label,
.auth-card-inner .auth-password-row label {
  color: var(--ref-text) !important;
  font-size: 13px !important;
  font-weight: 550 !important;
  line-height: 1.4;
  letter-spacing: 0;
}
.auth-modal-dialog .auth-field input,
.auth-card-inner .auth-field input {
  width: 100%;
  box-sizing: border-box;
  height: 44px;
  min-height: 44px;
  padding: 10px 13px;
  border: 1px solid var(--ref-line);
  border-radius: 9px;
  background: var(--ref-surface);
  color: var(--ref-text);
  box-shadow: 0 1px 2px #173e2c04;
  font-size: 15px !important;
  line-height: 22px;
}
.auth-modal-dialog .refined-password input,
.auth-card-inner .refined-password input { padding-inline-end: 46px; }
.auth-modal-dialog .auth-field input:focus,
.auth-card-inner .auth-field input:focus {
  outline: none;
  background: var(--ref-surface);
  border-color: var(--ref-accent);
  box-shadow: 0 0 0 3px #0c8a6a12;
}
.auth-modal-dialog .auth-form,
.auth-card-inner .auth-form { gap: 12px; }
.auth-modal-dialog .send-code-btn,
.auth-card-inner .send-code-btn {
  min-height: 44px;
  border-radius: 9px;
  box-shadow: none;
}
.auth-modal-dialog .auth-panel-title,
.auth-card-inner .auth-panel-title {
  margin-bottom: 16px;
  font-size: 24px;
  line-height: 1.25;
  letter-spacing: -.03em;
  font-weight: 650;
}
.auth-modal-dialog .auth-submit-btn,
.auth-card-inner .auth-submit-btn {
  min-height: 44px;
  border-radius: 9px;
  font-weight: 600;
  box-shadow: 0 2px 5px #087e6112;
}
.auth-modal-dialog .password-reveal,
.auth-card-inner .password-reveal {
  inset-inline-end: 1px;
  height: 44px;
  width: 44px;
  color: var(--ref-muted);
  opacity: .8;
}
.auth-modal-dialog .password-reveal:hover,
.auth-card-inner .password-reveal:hover { opacity: 1; color: var(--ref-accent); }
@media (max-height: 740px) and (min-width: 601px) {
  .auth-modal-dialog .auth-form,
  .auth-modal-dialog .auth-password-row { gap: 10px; }
  .auth-modal-dialog .auth-panel-title { margin-bottom: 12px; }
  .auth-modal-body { padding-block: 14px 16px; }
}
@media (max-width: 600px) {
  .auth-modal-dialog .auth-field input,
  .auth-card-inner .auth-field input { font-size: 16px !important; }
  .auth-modal-dialog .auth-password-row,
  .auth-card-inner .auth-password-row { gap: 12px; }
}
/* Account workspace v3: neutral surfaces, restrained brand accents, complete copy. */
.auth-modal-dialog,.auth-card-inner {
  --account-bg: #ffffff;
  --account-soft: #f3f5f6;
  --account-border: #e0e5e8;
  --account-text: #16212b;
  --account-muted: #66717d;
  --account-action: #16212b;
  --account-on-action: #ffffff;
  color: var(--account-text);
  background: var(--account-bg);
  border: 1px solid var(--account-border);
  border-radius: 18px;
  box-shadow: 0 24px 80px #07172424, 0 2px 8px #07172405;
  text-align: start;
}
.auth-modal-backdrop { background: #0a152a70; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.auth-modal-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 36px;
  gap: 16px 12px;
  padding: 20px 24px 0;
  border: 0;
  background: transparent;
}
.auth-modal-header .auth-brand { grid-column: 1; grid-row: 1; }
.auth-modal-header .auth-brand-wordmark { color: var(--account-text); font-size: 14px; letter-spacing: -.3px; font-weight: 650; }
.auth-modal-header .auth-brand-icon { width: 28px; height: 28px; border-radius: 8px; box-shadow: none; }
.auth-modal-header .auth-modal-close { grid-column: 2; grid-row: 1; width: 36px; height: 36px; color: var(--account-muted); border-radius: 9px; }
.auth-modal-header .auth-modal-close:hover { background: var(--account-soft); color: var(--account-text); }
.auth-modal-header .auth-tabs,
.auth-card-inner > .auth-tabs {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  grid-column: 1 / -1;
  gap: 4px;
  width: 100%;
  padding: 4px;
  margin: 0;
  border: 1px solid var(--account-border);
  border-radius: 11px;
  background: var(--account-soft);
  box-sizing: border-box;
}
.auth-modal-header .auth-tab,
.auth-card-inner > .auth-tabs .auth-tab {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 34px;
  padding: 7px 12px;
  margin: 0;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: var(--account-muted);
  font-size: 13px;
  line-height: 20px;
  font-weight: 500;
  text-align: center;
  text-decoration: none;
  box-shadow: none;
}
.auth-modal-header .auth-tab::after,
.auth-card-inner > .auth-tabs .auth-tab::after { display: none; }
.auth-modal-header .auth-tab.is-active,
.auth-card-inner > .auth-tabs .auth-tab.is-active {
  background: var(--account-bg);
  color: var(--account-text);
  font-weight: 600;
  box-shadow: 0 1px 3px #10202b12;
}
.auth-modal-body { padding: 22px 24px 24px; }
.auth-card-inner { max-width: 456px; padding: 24px; }
.auth-card-inner > .auth-tabs { margin-bottom: 24px; }
.auth-modal-dialog .auth-panel-title,
.auth-card-inner .auth-panel-title {
  margin: 0 0 7px;
  color: var(--account-text);
  font-size: 25px;
  font-weight: 650;
  line-height: 1.3;
  letter-spacing: -.035em;
}
.auth-intro { margin: 0 0 22px; color: var(--account-muted); font-size: 13px; line-height: 1.6; }
.auth-modal-dialog .auth-form,.auth-card-inner .auth-form { gap: 14px; }
.auth-modal-dialog .auth-password-row,.auth-card-inner .auth-password-row { grid-template-columns: minmax(0,1fr); gap: 14px; }
.auth-modal-dialog .auth-field label,.auth-card-inner .auth-field label,
.auth-modal-dialog .auth-password-row label,.auth-card-inner .auth-password-row label {
  color: var(--account-text) !important;
  font-weight: 500 !important;
  font-size: 12px !important;
  line-height: 1.5;
}
.auth-modal-dialog .auth-field input,.auth-card-inner .auth-field input {
  height: 44px;
  min-height: 44px;
  background: var(--account-bg);
  color: var(--account-text);
  border-color: var(--account-border);
  border-radius: 9px;
  font-size: 15px !important;
  box-shadow: 0 1px 2px #152c3903;
}
.auth-modal-dialog .auth-field input:hover,.auth-card-inner .auth-field input:hover { border-color: #b1bdc6; }
.auth-modal-dialog .auth-field input:focus,.auth-card-inner .auth-field input:focus { background: var(--account-bg); border-color: #0b8b71; box-shadow: 0 0 0 3px #0b8b7110; }
.auth-modal-dialog .password-reveal,.auth-card-inner .password-reveal { color: var(--account-muted); }
.auth-modal-dialog .send-code-btn,.auth-card-inner .send-code-btn {
  background: var(--account-soft);
  color: var(--account-text);
  border: 1px solid var(--account-border);
  font-size: 12px;
  font-weight: 550;
}
.auth-modal-dialog .auth-submit-btn,.auth-card-inner .auth-submit-btn {
  min-height: 44px;
  background: var(--account-action);
  color: var(--account-on-action);
  border: 1px solid transparent;
  border-radius: 9px;
  font-size: 14px;
  font-weight: 600;
  box-shadow: 0 2px 4px #06172b10;
  transition: filter .15s, box-shadow .15s;
}
.auth-modal-dialog .auth-submit-btn:hover,.auth-card-inner .auth-submit-btn:hover { background: var(--account-action); filter: brightness(1.12); box-shadow: 0 3px 8px #06172b18; transform: none; }
.auth-modal-dialog .auth-submit-btn:disabled,.auth-card-inner .auth-submit-btn:disabled { opacity: .55; cursor: wait; }
.auth-modal-dialog .auth-forgot-link,.auth-card-inner .auth-forgot-link { color: #08785f; font-size: 12px; font-weight: 500; }
.auth-modal-dialog .auth-switch-prompt,.auth-card-inner .auth-switch-prompt { margin: 2px 0 0; color: var(--account-muted); font-size: 12px; line-height: 1.7; }
.auth-modal-dialog .auth-switch-prompt a,.auth-card-inner .auth-switch-prompt a { color: #08785f; font-weight: 600; margin-inline-start: 4px; }
.auth-modal-dialog .auth-submit-btn:focus-visible,.auth-card-inner .auth-submit-btn:focus-visible,
.auth-modal-dialog .auth-tab:focus-visible,.auth-card-inner .auth-tab:focus-visible { outline: 2px solid #0b8b71; outline-offset: 3px; }
.recent-friendly-hint { align-items: center; padding: 14px 16px; }
.recent-friendly-hint .hint-text strong { display: block; margin: 0 0 2px; font-size: 12px; }
.recent-friendly-hint .hint-text { font-size: 12px; line-height: 1.7; }
html.theme-dark .auth-modal-dialog,html.theme-dark .auth-card-inner {
  --account-bg: #141b23;
  --account-soft: #1b242e;
  --account-border: #303b47;
  --account-text: #edf2f7;
  --account-muted: #a2adba;
  --account-action: #e4edf5;
  --account-on-action: #15212d;
}
html.theme-dark .auth-modal-dialog .auth-forgot-link,html.theme-dark .auth-card-inner .auth-forgot-link,
html.theme-dark .auth-modal-dialog .auth-switch-prompt a,html.theme-dark .auth-card-inner .auth-switch-prompt a { color: #68d4b2; }
@media(prefers-color-scheme:dark){html:not(.theme-light) .auth-modal-dialog,html:not(.theme-light) .auth-card-inner {
  --account-bg:#141b23;--account-soft:#1b242e;--account-border:#303b47;--account-text:#edf2f7;--account-muted:#a2adba;--account-action:#e4edf5;--account-on-action:#15212d;
}}
@media(max-height:760px) and (min-width:601px){
  .auth-modal-header { padding-top: 12px; gap: 10px 12px; }
  .auth-modal-body { padding-block: 16px 18px; }
  .auth-intro { margin-bottom: 16px; }
  .auth-modal-dialog .auth-form,.auth-modal-dialog .auth-password-row { gap: 10px; }
}
@media(max-width:600px){
  .auth-modal-dialog { border-radius: 0; border: 0; }
  .auth-modal-header { padding: max(12px,env(safe-area-inset-top)) 16px 0; }
  .auth-modal-body { padding: 20px 16px max(24px,env(safe-area-inset-bottom)); }
  .auth-standalone-card { padding-top: 20px; }
  .auth-card-inner { max-width: 400px; padding: 0; border: 0; background: transparent; box-shadow: none; border-radius: 0; }
  .auth-card-inner > .auth-tabs { margin-bottom: 24px; }
  .auth-modal-dialog .auth-field input,.auth-card-inner .auth-field input { font-size: 16px !important; }
  .auth-page-main { background: #f8fafb; }
  html.theme-dark .auth-page-main { background: #0e151d; }
}
@media(max-width:360px){
  .auth-modal-header { padding-inline: 10px; }
  .auth-modal-header .auth-brand-wordmark { display: block; }
  .auth-modal-body { padding-inline: 10px; }
}
@media(prefers-reduced-motion:reduce){.auth-submit-btn { transition: none !important; }}

/* Second visual review: keep the register flow compact without reducing touch targets. */
@media(min-width:601px){
  .auth-modal-header { grid-template-columns: minmax(0,1fr) minmax(140px,180px) 36px; gap: 12px; padding: 16px 20px 0; }
  .auth-modal-header .auth-tabs { grid-column: 2; grid-row: 1; }
  .auth-modal-header .auth-modal-close { grid-column: 3; grid-row: 1; }
}
.auth-modal-dialog .auth-form,.auth-card-inner .auth-form { gap: 12px; }
.auth-modal-dialog .auth-password-row,.auth-card-inner .auth-password-row { gap: 12px; }
.auth-modal-dialog .auth-panel-title,.auth-card-inner .auth-panel-title { margin-bottom: 18px; }
.auth-modal-dialog .auth-panel-title:has(+ .auth-intro),.auth-card-inner .auth-panel-title:has(+ .auth-intro) { margin-bottom: 7px; }
@media(max-height:760px) and (min-width:601px){
  .auth-modal-dialog .auth-form,.auth-modal-dialog .auth-password-row { gap: 10px; }
  .auth-modal-header { padding-top: 12px; }
}

html.theme-dark .auth-modal-dialog,html.theme-dark .auth-card-inner {
  background: var(--account-bg); border-color: var(--account-border);
}
@media(max-width:600px){html.theme-dark .auth-card-inner {background:transparent;border:0}}
@media(prefers-color-scheme:dark){html:not(.theme-light) .auth-page-main{background:#0e151d}html:not(.theme-light) .auth-modal-dialog .auth-forgot-link,html:not(.theme-light) .auth-card-inner .auth-forgot-link,html:not(.theme-light) .auth-modal-dialog .auth-switch-prompt a,html:not(.theme-light) .auth-card-inner .auth-switch-prompt a{color:#68d4b2}}

html.theme-dark .auth-modal-dialog .auth-field input,
html.theme-dark .auth-card-inner .auth-field input { background: var(--account-bg); border-color: var(--account-border); color: var(--account-text); }
html.theme-dark .auth-modal-dialog .auth-field input:focus,
html.theme-dark .auth-card-inner .auth-field input:focus { border-color: #48c7a4; box-shadow: 0 0 0 3px #48c7a415; }
html.theme-dark .auth-modal-dialog .auth-field label,
html.theme-dark .auth-card-inner .auth-field label { color: var(--account-text) !important; }
