.account-welcome{min-height:100svh;display:grid;place-items:center;padding:28px;background:var(--bg,#f8f5ee)}.account-box{width:min(440px,100%);padding:36px;border-radius:28px;border:1px solid #dce0d5;background:var(--surface,#fff);box-shadow:0 16px 60px #30433a0d}.account-logo{width:180px;max-width:75%;margin-bottom:30px}.account-box h1{font-size:30px;line-height:1.2;margin:8px 0 14px;color:#30433a}.account-box p{color:#65756c;line-height:1.6}.account-box form{display:grid;gap:12px}.account-box label{display:block;font-size:14px;color:#30433a}.account-box input:not([type=checkbox]){display:block;width:100%;margin-top:6px}.account-check{display:flex!important;align-items:center;gap:10px;line-height:1.4}.account-check input{width:18px!important;margin:0;accent-color:#596d55}.account-box button{width:100%;margin-top:4px}.account-error{color:#943e32!important;background:#f8e7df;border-radius:10px;padding:12px}.account-note{font-size:12px}.account-divider{height:1px;background:#e4e5dc;margin:22px 0}.account-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}.account-links button{width:auto}.account-sync{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;padding:10px 16px;border-radius:12px;margin:0 0 14px;background:var(--soft,#edf1e8);color:var(--text,#30433a)}.account-sync[data-state=error],.account-sync[data-state=conflict]{border:1px solid #b07759}.account-status-dot{display:inline-block;width:7px;height:7px;background:currentColor;border-radius:50%;margin-right:7px}.account-summary{display:grid;gap:14px}.account-summary small{display:block}.account-summary .actions{flex-wrap:wrap}.account-meta{overflow-wrap:anywhere}@media(max-width:500px){.account-welcome{padding:18px}.account-box{padding:26px 22px}.account-box h1{font-size:27px}}

.setup-dialog{max-width:620px}.setup-progress{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:20px 0;font-size:12px;color:var(--muted)}.setup-progress>div{display:flex;gap:6px}.setup-progress i{width:30px;height:5px;border-radius:8px;background:var(--line)}.setup-progress i.filled{background:var(--ink)}.setup-dialog .settings-facts{margin-bottom:20px}.setup-dialog .actions{gap:10px}.setup-dialog [hidden]{display:none!important}.setup-dialog .account-error{margin:16px 0}.setup-dialog small{line-height:1.5;display:block}.setup-dialog .nutrition-check input{width:18px;flex:none}.setup-dialog input,.setup-dialog select{min-width:0}
.mosaic-tour{position:fixed;z-index:100;right:24px;bottom:90px;width:min(420px,calc(100vw - 32px));background:var(--surface,#fff);color:var(--text,var(--ink));padding:24px;border:1px solid var(--line);border-radius:22px;box-shadow:0 12px 60px #0003;max-height:55vh;overflow-y:auto}.mosaic-tour h2{margin-top:10px;font-size:21px}.mosaic-tour p{font-size:14px}.mosaic-tour .actions{margin-top:16px}.mosaic-tour button{min-height:42px}.tour-highlight{outline:2px solid var(--accent-strong,#51694f)!important;outline-offset:5px;border-radius:12px}.tour-running .main{padding-bottom:370px}
@media(max-width:600px){.setup-dialog .formgrid{grid-template-columns:1fr}.mosaic-tour{right:16px;bottom:88px;padding:20px;max-height:46vh}.mosaic-tour p{line-height:1.5}.setup-dialog .actions button{flex:1}.setup-dialog .actions .link{flex-basis:100%}}

/* Keep setup questions and guidance readable in every Mosaic theme. */
#section-tour-spotlight{position:fixed;z-index:98;pointer-events:none;border:2px solid var(--accent-strong,#51694f);border-radius:14px;box-shadow:0 0 0 9999px #14251f66}
.tour-running .mosaic-tour{z-index:100;box-shadow:0 12px 40px #0003}
.setup-dialog{background:var(--surface,#fff);color:var(--text,#303a36)}.setup-dialog label,.setup-dialog h2,.setup-dialog .settings-facts dt,.setup-dialog .settings-facts dd{color:var(--text,#303a36)}.setup-dialog label{font-size:16px;font-weight:600;line-height:1.5}.setup-dialog .muted,.setup-dialog small,.setup-dialog .setup-progress,.setup-dialog .link{color:var(--text,#303a36);opacity:1}.setup-dialog p,.setup-dialog small{font-size:15px;line-height:1.6}.setup-dialog input,.setup-dialog select{font-size:16px;color:var(--text,#303a36);background:var(--input,#fff)}

/* Measured guide placement stays inside the visible screen, including small phones. */
#mosaic-tour{box-sizing:border-box;max-width:calc(100vw - 24px);overflow:auto;overscroll-behavior:contain}
#mosaic-tour .actions{display:flex;flex-wrap:wrap;gap:8px}
#mosaic-tour p{color:var(--text,var(--ink));line-height:1.6}

/* Onboarding uses the same wordmark, surfaces and typography as the site. */
.account-box,.setup-dialog,#mosaic-tour{font-family:'DM Sans',sans-serif;color:var(--text,#303a36);background:var(--surface,#fff);border:1px solid var(--line,#e1e4db)}
.account-box h1,.setup-dialog h2,#mosaic-tour h2{font-family:Manrope,sans-serif;color:var(--ink,#344740)}
.onboarding-brand{margin:0 0 24px;max-width:100%;color:var(--ink,#344740)!important}
.onboarding-brand .mosaic-wordmark{font-size:39px;font-weight:600;letter-spacing:-2.3px}
.onboarding-brand .mosaic-wordmark img{width:33px;height:33px}
.onboarding-brand .mosaic-tagline{color:var(--muted,#68746f)}
.setup-dialog .onboarding-brand{margin-top:22px;margin-bottom:18px}
#mosaic-tour .onboarding-brand{margin-bottom:18px}
#mosaic-tour .onboarding-brand .mosaic-wordmark{font-size:30px;letter-spacing:-1.8px}
#mosaic-tour .onboarding-brand .mosaic-wordmark img{width:25px;height:25px}
.account-box button:not(.ghost):not(.link),.setup-dialog button:not(.ghost):not(.link),#mosaic-tour button:not(.ghost):not(.link){background:var(--ink,#344740);color:var(--button-text,#fff)}
.account-box button.ghost,.setup-dialog button.ghost,#mosaic-tour button.ghost{background:var(--soft,#edf1e7);color:var(--ink,#344740)}
.account-box button.link,.setup-dialog button.link,#mosaic-tour button.link{background:transparent;color:var(--ink,#344740)}
.setup-progress i{background:var(--lime,#dce6d5)}
.setup-progress i.filled{background:var(--accent-strong,#51694f)}
