/* Shared account and native layouts use the SiteVue tokens from style.css. */
.auth-gate { position:fixed; inset:0; z-index:100; background:var(--sv-ink); overflow:auto; display:flex; flex-direction:column; align-items:center; padding:48px 24px; }
.auth-gate[hidden] { display:none; }
.signed-out .shell { display:none; }
.auth-brand { display:flex; align-items:center; gap:18px; font-size:13px; color:var(--sv-fg-3); align-self:flex-start; }
.auth-brand span { border-left:1px solid var(--sv-border-2); padding-left:18px; }
.auth-card { width:100%; max-width:380px; margin:auto; padding:64px 0; }
.auth-card h1 { font-size:28px; line-height:1.3; margin:0 0 12px; }
.auth-note { font-size:14px; line-height:1.6; color:var(--sv-fg-3); margin-bottom:28px; }
.auth-card label { display:block; font-size:12px; margin:20px 0 8px; color:var(--sv-fg-2); }
.auth-card input,.auth-card select { width:100%; min-height:48px; border:1px solid var(--sv-border-2); border-radius:6px; padding:12px; background:var(--sv-surface-1); color:var(--sv-fg-1); font:inherit; font-size:16px; }
.auth-card form>.button { width:100%; margin:24px 0 16px; min-height:48px; }
.auth-card .text-button { margin:12px 16px 0 0; }
.auth-footer { color:var(--sv-fg-4); font-size:11px; }
#signin-code { font-size:24px; letter-spacing:.22em; font-variant-numeric:tabular-nums; }
.error { color:var(--error-text); font-size:12px; line-height:1.6; }
#org-switch { width:auto; max-width:240px; border:0; border-radius:4px; background:var(--sv-surface-2); color:var(--sv-fg-1); font:inherit; font-weight:600; padding:9px 30px 9px 12px; }
#org-switch~span { display:none; }
.page-note { margin-top:-14px; margin-bottom:24px; }
.section-title { font-size:15px; margin:28px 0 16px; }
.invite-card { margin-bottom:24px; }
.inline-form { display:flex; gap:16px; align-items:flex-end; flex-wrap:wrap; }
.inline-form>div { flex:1; min-width:130px; }
.inline-form>div:first-child { flex:2; }
.inline-form .button { margin:0; min-height:42px; }
#invite-result input { width:100%; margin:8px 0; }
.member-list { overflow:hidden; }
.member-row { padding:18px 24px; display:flex; gap:20px; align-items:center; border-bottom:1px solid var(--sv-border-1); font-size:13px; }
.member-row:last-child { border-bottom:0; }
.member-row>div:first-child,.member-row>span:first-child { flex:1; min-width:0; }
.member-row strong { font-size:13px; font-weight:500; }
.member-row .hint { margin:5px 0 0; overflow-wrap:anywhere; }
.member-row[hidden] { display:none; }
.role-tag { font-size:11px; color:var(--sv-fg-3); text-transform:capitalize; border:1px solid var(--sv-border-1); border-radius:4px; padding:4px 8px; }
.metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-bottom:24px; }
.metric { padding:20px; }
.metric p { font-size:12px; color:var(--sv-fg-3); margin:0 0 16px; }
.metric strong { font-size:32px; font-weight:500; font-variant-numeric:tabular-nums; }
.trend-panel { padding:24px; }
.trend-panel h2 { font-size:14px; }
.signup-chart { height:110px; display:flex; gap:5px; margin:24px 0 14px; align-items:flex-end; }
.signup-chart>div { flex:1; height:100%; display:flex; align-items:flex-end; }
.signup-chart span { display:block; width:100%; background:var(--sv-fg-2); border-radius:2px 2px 0 0; }
#page-admin>input { width:100%; margin:0 0 16px; padding:12px; color:var(--sv-fg-1); background:var(--sv-surface-1); border:1px solid var(--sv-border-1); border-radius:6px; font:inherit; }
.account-nav[hidden] { display:none; }
@media(max-width:900px) { .metrics { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:640px) {
 .auth-gate { padding:calc(28px + env(safe-area-inset-top)) 24px calc(24px + env(safe-area-inset-bottom)); }
 .auth-card { padding-block:40px; }
 .auth-brand { align-self:center; }
 .sidebar nav { overflow-x:auto; }
 .sidebar .nav-item { flex:1 0 56px; }
 #org-switch { max-width:155px; font-size:12px; }
 .topbar { padding-top:calc(6px + env(safe-area-inset-top)); }
 .topbar .breadcrumb:has(#org-switch:not([hidden])) { display:flex; }
 .member-row { padding:16px; gap:10px; flex-wrap:wrap; }
 .member-row>div:first-child { flex-basis:55%; }
 .member-row .text-button { min-height:40px; }
 .inline-form { display:block; }
 .inline-form .button { margin-top:20px; }
 .metrics { gap:10px; }
 .metric { padding:16px; }
 .metric strong { font-size:28px; }
 .metric p { font-size:11px; }
 .trend-panel { padding:16px; }
}
:root[data-theme='dark'] .auth-brand img { filter:invert(1); }

.android-download { display:inline-flex; align-items:center; gap:10px; min-height:44px; color:var(--sv-fg-2); font-size:12px; text-decoration:none; }
.android-download:hover { color:var(--sv-fg-1); text-decoration:underline; }
.download-label { padding:3px 6px; border:1px solid var(--sv-border-1); border-radius:4px; font-size:10px; color:var(--sv-fg-3); text-decoration:none; }
.account-download { padding-top:12px; margin-bottom:0; border-top:1px solid var(--sv-border-1); }

.invite-email-wrap{display:flex;align-items:center;gap:0;border:1px solid var(--sv-border-2);border-radius:4px;background:var(--sv-surface-1);min-width:0;overflow:hidden}
.invite-email-wrap:focus-within{outline:2px solid var(--sv-fg-3);outline-offset:1px}
#invite-email{border:0;outline:0;background:transparent;min-width:60px;flex:1;width:100%}
.invite-domain{color:var(--sv-fg-4);padding-right:12px;white-space:nowrap;pointer-events:none}
#invite-result>.button{margin-top:12px;margin-right:8px}

.billing-summary{display:flex;align-items:center;gap:16px;padding:24px;margin-bottom:24px;flex-wrap:wrap}
.billing-summary>div:first-child{flex:1;min-width:160px}
.billing-summary h2,.billing-plan h2,.billing-current h2{font-size:16px;margin:0 0 8px}
.billing-summary p{margin:0}
.billing-plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:840px}
.billing-price{display:block;font-size:40px;font-weight:500;font-variant-numeric:tabular-nums;margin-top:24px}
.billing-total{display:block;font-size:28px;font-weight:500;margin:20px 0}
.billing-plan{display:flex;flex-direction:column;align-items:flex-start}
.billing-plan>.hint{margin-top:4px}
.billing-saving{font-size:12px;color:var(--sv-fg-2);margin:4px 0 16px}
.billing-plan-total{font-size:14px;margin-top:auto;padding-top:20px}
.billing-plan>.button{width:100%;min-height:44px;margin-top:12px}
.billing-note{margin:20px 0;line-height:1.6}
@media(max-width:640px){.billing-plans{grid-template-columns:1fr}.billing-summary{padding:20px}.billing-price{font-size:36px}}
