/* Translator Phone web account. Layout only — account.js relies on ids and the [hidden] rule from product.css. */
.account-body{display:flex;flex-direction:column;min-height:100svh;background:var(--bg)}
.account-main{flex:1;min-height:100svh;padding:calc(var(--header) + clamp(36px,5vw,72px)) 0 clamp(56px,7vw,104px);}
.account-wrap{max-width:none}
.account-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px 24px;margin-bottom:clamp(28px,4vw,44px)}
.account-heading .eyebrow{grid-column:1/-1;margin-bottom:6px}
/* Same voice as .page-hero h1; margin + 8px row gap = 24px to the intro. */
.account-heading h1{font-size:clamp(2.3rem,1.5rem + 2.6vw,3.6rem);font-weight:var(--fw-display);letter-spacing:-.026em;line-height:1.02;margin-bottom:var(--sp-4)}
.account-intro{grid-column:1;max-width:620px;color:var(--muted);font-size:1.05rem}
.account-heading #sign-out{grid-column:2;grid-row:2/4;align-self:center}
.account-body .button{min-height:50px}
.account-body button:not(.button):not(.icon-button):not(.menu-toggle){min-height:44px;padding:9px 16px;border:1px solid var(--line-2);border-radius:999px;background:#fff;font-size:.92rem;font-weight:600;color:var(--ink);transition:background .2s,border-color .2s}
.account-body button:not(.button):not(.icon-button):not(.menu-toggle):hover{border-color:rgba(0,107,118,.35);background:var(--bg)}
.account-body button:disabled{opacity:.55;cursor:wait}
.global-status:not(:empty){margin:0 0 18px;color:var(--ink-2);font-weight:560}
.global-error{margin:0 0 20px;padding:14px 18px;border-radius:14px;color:#8a2b22;background:#fff0ed;border:1px solid #f0c3bc;overflow-wrap:anywhere}
#reload-data{margin-bottom:20px}

/* Sign-in card */
.auth-layout{display:grid;grid-template-columns:minmax(0,520px) minmax(0,1fr);gap:clamp(24px,5vw,72px);align-items:center}
.auth-layout:has(#auth-panel[hidden]){display:none}
.auth-aside h2{font-size:1.25rem;margin-bottom:18px}
.auth-aside ul{list-style:none;padding:0;display:grid;gap:14px}
.auth-aside li{display:flex;align-items:center;gap:14px;font-size:1rem;color:var(--ink-2)}
.auth-aside li svg{flex:none;width:42px;height:42px;padding:10px;border-radius:13px;background:#fff;color:var(--teal-700);box-shadow:var(--shadow-sm)}
.auth-aside p{margin-top:22px;font-size:.9rem;color:var(--muted);max-width:420px}
.auth-panel{width:min(100%,520px);padding:clamp(22px,3.4vw,36px);border-radius:28px;background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--line);box-shadow:var(--shadow)}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:999px;background:var(--mist);margin-bottom:26px}
.account-body .auth-tabs button{min-height:44px;border:0!important;border-radius:999px!important;background:transparent!important;padding:10px 12px!important;font-size:.95rem;font-weight:620;color:var(--muted)!important;line-height:1.25}
.account-body .auth-tabs button[aria-selected=true]{background:#fff!important;color:var(--teal-900)!important;box-shadow:var(--shadow-sm)}
.auth-hint{color:var(--ink-2);font-size:.98rem;margin-bottom:20px}
.auth-panel form{display:grid;gap:18px}
.auth-panel label,.account-body dialog label{display:grid;gap:8px;font-size:.92rem;font-weight:620;color:var(--ink)}
.account-body input:not([type=checkbox]),.account-body select{width:100%;min-width:0;min-height:52px;padding:12px 16px;border:1px solid var(--line-2);border-radius:14px;background:#fff;color:var(--ink);font-size:1rem;transition:border-color .2s,box-shadow .2s}
.account-body input:not([type=checkbox]):focus,.account-body select:focus{outline:0;border-color:var(--teal-600);box-shadow:0 0 0 3px var(--blue)}
.account-body .consent{display:flex;align-items:flex-start;gap:10px;font-size:.84rem;font-weight:400;color:var(--ink-2)}
.consent input{flex:none;margin-top:3px;width:18px;height:18px;accent-color:var(--teal-700)}
.consent a{text-decoration:underline;color:var(--teal-700)}
.notice{padding:14px 16px;border-radius:14px;background:var(--mist);color:var(--ink-2);font-size:.95rem;overflow-wrap:anywhere}
#sms-availability{background:#fff6e6;color:#5f4100}
.auth-panel #code-hint{margin:0}
.account-body #auth-code{font-size:1.6rem;letter-spacing:.18em;font-variant-numeric:tabular-nums;text-align:center}
.account-body #auth-code[type=password]{font-size:1.1rem;letter-spacing:0;text-align:left}
.auth-secondary{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
.account-body .auth-secondary button{font-size:.86rem!important;min-height:40px!important}
.auth-foot{display:flex;gap:10px;align-items:flex-start;margin-top:22px;padding-top:18px;border-top:1px solid var(--line);font-size:.84rem;line-height:1.5;color:var(--muted)}
.auth-foot svg{flex:none;color:var(--teal-700);margin-top:.1em}

/* Dashboard */
.dashboard-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}
.dashboard-heading p{min-width:0;overflow-wrap:anywhere;font-weight:620;color:var(--ink)}
.dashboard-tabs{display:flex;gap:4px;padding:4px;margin-bottom:28px;border-radius:999px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm);width:fit-content;max-width:100%;overflow-x:auto}
.account-body .dashboard-tabs button{display:inline-flex;align-items:center;gap:8px;border:0!important;border-radius:999px!important;background:transparent!important;padding:10px 18px!important;color:var(--muted)!important;white-space:nowrap}
.account-body .dashboard-tabs button[aria-pressed=true]{background:var(--ink)!important;color:#fff!important}
.account-body .dashboard-tabs button:focus-visible{outline-offset:-3px}
.dashboard-tabs svg{width:1.1em;height:1.1em}
.account-summary{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}
.balance-panel,.subscription-panel,.data-section{padding:clamp(22px,3vw,32px);border-radius:24px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.balance-panel{background:linear-gradient(150deg,#073840,#0a5a66 60%,#0b6a78);border-color:transparent;color:#cfeef2}
.balance-panel h2{color:#9ff0f6}
.balance-panel>strong{display:block;margin-top:6px;font-size:clamp(2.6rem,2rem + 2vw,3.6rem);line-height:1.05;font-weight:720;letter-spacing:-.04em;color:#fff;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.balance-panel>span{display:block;margin:4px 0 22px;color:#a6d1d7}
.balance-panel .button{background:#fff;color:var(--teal-900)}
.balance-panel .smallprint{margin-top:16px;color:#d6eff2}
.balance-panel :focus-visible{outline-color:#9ff0f6}
.account-summary h2,.data-section h2{font-size:1.15rem;margin-bottom:14px}
.subscription-panel>strong{display:block;font-size:1.2rem;color:var(--ink);margin-bottom:6px;overflow-wrap:anywhere}
.subscription-panel .smallprint{margin:14px 0}
.store-links{display:grid}
.store-links a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;border-top:1px solid var(--line);font-weight:620;color:var(--teal-700)}
.data-section{margin-top:18px}
.data-section>p{margin-bottom:14px}
.table-scroll{overflow-x:auto;margin-inline:-6px;padding-inline:6px}
.account-body table{width:100%;min-width:440px;border-collapse:collapse;text-align:start;font-size:.92rem}
.account-body :is(th,td){text-align:start}
.account-body th,.account-body td{padding:13px 10px;border-bottom:1px solid var(--line);min-width:90px;vertical-align:top}
.account-body thead th{font-size:.76rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:650;background:none}
.account-body td:first-child{font-variant-numeric:tabular-nums;color:var(--muted)}
.empty-state{padding:14px 0;color:var(--muted)}
.credit-packages{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.credit-packages p{padding:14px 16px;border-radius:14px;background:var(--bg);font-weight:620;font-size:.95rem;color:var(--ink)}
.account-body dl{display:grid;grid-template-columns:150px 1fr;gap:12px;margin:0 0 20px}
.account-body dt{color:var(--muted)}
.account-body dd{margin:0;overflow-wrap:anywhere;color:var(--ink)}
.account-body .danger-button{display:inline-flex;align-items:center;gap:8px;border-color:#e3b1aa!important;color:#9e352a!important;background:#fff!important}
.account-body .danger-button:hover{background:#fff0ed!important}
.danger-zone{border-color:#f3d4cf}
.danger-zone>p{color:var(--ink-2);margin-bottom:16px;max-width:640px}

/* Delete dialog */
.account-body dialog{width:min(520px,100% - 32px);padding:clamp(22px,3vw,32px);border:1px solid var(--line);border-radius:24px;color:var(--ink);box-shadow:var(--shadow)}
.account-body dialog::backdrop{background:rgba(5,28,36,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.account-body dialog h2{font-size:1.4rem;margin-bottom:12px}
.account-body dialog p{margin-bottom:16px;color:var(--ink-2)}
.dialog-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:22px}
#delete-error{color:#9e352a;margin:10px 0 0}
#delete-error:empty{display:none}

@media (max-width:860px){
  .auth-layout{grid-template-columns:1fr}
  .auth-aside{order:2}
}
@media (max-width:420px){
  .dashboard-tabs{display:grid!important;grid-template-columns:1fr 1fr;border-radius:22px}
  .account-body .dashboard-tabs button{border-radius:18px!important}
}
@media (max-width:700px){
  .dashboard-heading{flex-direction:column;align-items:flex-start;gap:10px}
  .account-body table{min-width:0}
  .account-body thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .account-body tbody{display:block}
  /* Card rows: date | amount, then item | status. Every cell is placed explicitly, so a row without an amount
     cannot pull the next cell up. The date may wrap rather than run under the right column (no nowrap). */
  .account-body tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;padding:12px 0;border-bottom:1px solid var(--line)}
  .account-body td{border:0;padding:0;min-width:0}
  .account-body td:nth-child(1){grid-column:1;grid-row:1}
  .account-body td:nth-child(2){grid-column:1;grid-row:2}
  .account-body td:nth-child(3){grid-column:2;grid-row:1;font-weight:650;text-align:end;color:var(--ink)}
  .account-body td:nth-child(4){grid-column:2;grid-row:2;text-align:end;color:var(--muted)}
  .table-scroll{overflow:visible;margin:0;padding:0}
  /* "Amount not reported" is a note, not an amount: its own full-width line under the row; the date then has the whole first line. */
  .account-body td.amount-unknown{grid-column:1/-1;grid-row:3;margin-top:2px;max-width:none;text-align:start;font-size:var(--fs-small);font-weight:var(--fw-small);line-height:var(--lh-small);color:var(--muted)}
  .account-body tr:has(>td.amount-unknown)>td:first-child{grid-column:1/-1}
  .account-heading{grid-template-columns:1fr}
  .account-heading #sign-out{grid-column:1;grid-row:auto;justify-self:start;margin-top:var(--sp-2)}
  .account-summary{grid-template-columns:1fr}
  .dashboard-tabs{width:100%}
  .account-body .dashboard-tabs button{flex:1;justify-content:center;padding:10px 10px!important;font-size:.84rem}
  .dashboard-tabs svg{display:none}
  .account-body dl{grid-template-columns:1fr;gap:4px}
  .account-body dd{margin-bottom:10px}
}
