/* Public role and account entry; real authentication is deferred. */
.product-account-nav { margin-left:auto; display:flex; align-items:center; gap:22px; flex:none; }
.product-login { font-size:13px; white-space:nowrap; }
.product-account-nav .product-signup { padding:11px 19px; font-size:13px; min-height:40px; }
.product-home-entries { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr)); gap:26px 24px; margin-top:28px; }
.product-home-entry { display:flex; flex-direction:column; align-items:flex-start; min-width:0; }
.product-home-entry h2 { font:600 23px/1.3 var(--sans); letter-spacing:-.5px; margin:0; }
.product-home-entry p { font-size:14px; line-height:1.65; color:var(--muted); margin:9px 0 18px; }
.product-home-entry>.btn { margin-top:auto; max-width:100%; font-size:13px; padding:12px 14px; gap:8px; }
.product-home-entry>.btn .icon { width:17px; height:17px; flex:none; }
.product-entry-page { padding-top:45px; }
.entry-intro { display:grid; grid-template-columns:1.2fr .8fr; gap:85px; align-items:center; }
.entry-intro h1 { font-size:clamp(42px,4.4vw,58px); margin-top:0; }
.entry-intro>div>p:not(.product-kicker):not(.entry-caption) { max-width:540px; color:var(--muted); font-size:16px; line-height:1.85; margin:24px 0; }
.entry-primary-actions { display:flex; flex-wrap:wrap; gap:12px; }
.entry-primary-actions .btn { font-size:13px; padding:15px 19px; }
.entry-caption { font-size:12px; color:var(--muted); margin:23px 0 0; }
.entry-caption .text-link { color:var(--ink); text-decoration:underline; text-underline-offset:3px; }
.entry-profile-example { background:var(--soft); padding:28px; border-radius:var(--radius); }
.entry-profile-example>.product-kicker { display:block; font-size:9px; margin:0 0 17px; }
.entry-profile-example .member-card { margin:0; }
.entry-details { margin-top:52px; padding-top:32px; border-top:1px solid var(--line); }
.entry-details>h2 { font-size:29px; margin:0; }
.product-account-page { max-width:1030px; padding-top:45px; }
.account-heading { max-width:690px; margin:0 auto 27px; text-align:center; }
.account-heading h1 { margin:0 0 17px; }
.account-heading>p:last-child { font-size:15px; line-height:1.8; color:var(--muted); margin:0; }
.account-preview-note { display:flex; align-items:baseline; gap:18px; background:var(--panel-tint); border:1px solid var(--line); border-radius:var(--radius); padding:15px 20px; margin-bottom:23px; }
.account-preview-note strong { font-size:12px; flex:none; }
.account-preview-note p { font-size:12px; line-height:1.7; margin:0; color:var(--muted); }
.account-role-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.account-role-grid.single { grid-template-columns:minmax(0,550px); justify-content:center; }
.account-role-card { background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:29px; display:flex; flex-direction:column; align-items:flex-start; }
.account-role-icon { display:inline-flex; padding:12px; background:var(--soft); border-radius:50%; color:var(--brand-deep); margin-bottom:23px; }
.account-role-icon>.icon { width:23px; height:23px; }
.account-role-card .product-kicker { margin:0 0 12px; }
.account-role-card h2 { font-size:27px; line-height:1.3; margin:0; }
.account-role-card>p:not(.product-kicker) { font-size:14px; line-height:1.8; color:var(--muted); margin:16px 0 25px; }
.account-role-card>.btn { margin-top:auto; font-size:13px; width:100%; }
.account-switch { text-align:center; margin:26px 0 0; font-size:12px; color:var(--muted); line-height:2; }
.account-switch .text-link { text-decoration:underline; text-underline-offset:3px; }
[data-theme=cobalt] .account-role-card h2,[data-theme=mono] .account-role-card h2 { font-size:25px; font-weight:650; }
@media (max-width:1100px) {
  .product-nav { gap:26px; }
  .product-public-nav { gap:22px; }
  .product-account-nav { gap:17px; }
  .entry-intro { gap:35px; }
}
@media (max-width:900px) {
  .entry-intro { grid-template-columns:1fr 1fr; gap:25px; }
  .entry-profile-example { padding:18px; }
}
@media (max-width:800px) {
  .entry-intro { grid-template-columns:1fr; }
  .entry-profile-example { max-width:450px; }
  .entry-details { margin-top:35px; }
}
@media (max-width:600px) {
  .product-account-nav { gap:18px; }
  .product-account-nav .product-signup { min-height:36px; padding:8px 13px; font-size:12px; }
  .product-login { font-size:12px; }
  .product-public-nav { gap:18px; justify-content:space-between; }
  .product-public-nav .product-nav-link { font-size:11px; }
  .account-heading { text-align:left; }
  .account-preview-note { flex-direction:column; gap:7px; }
  .account-role-grid { grid-template-columns:1fr; gap:17px; }
  .account-role-card { padding:24px; }
  .entry-details>h2 { font-size:25px; }
}

/* First-contact identity preview: one retained draft, no real sign-in. */
.account-contact { max-width:680px; margin:0 auto; }
.account-contact-context { font-size:16px; line-height:1.6; margin:20px 0; }
.account-contact-person { display:flex; gap:16px; align-items:center; margin:28px 0 16px; }
.account-contact-person h2 { font:600 25px/1.3 var(--sans); margin:0 0 6px; }
.account-contact-person p,.account-contact-details { font-size:14px; line-height:1.75; color:var(--muted); margin:0; }
.account-contact .small-note { margin:22px 0; }
.account-contact-actions { display:flex; flex-wrap:wrap; gap:18px 24px; align-items:center; margin-top:26px; }
@media(max-width:600px) { .account-contact-actions .btn { width:100%; } }

/* A single account, with an explicit workspace choice. */
.product-account-menu { position:relative; margin-left:auto; flex:none; max-width:230px; }
.product-account-menu summary { display:flex; align-items:center; gap:9px; cursor:pointer; padding:12px 0 12px 18px; font-size:13px; font-weight:600; list-style:none; }
.product-account-menu summary::-webkit-details-marker { display:none; }
.product-account-menu summary>span:not(.account-chevron) { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.product-account-menu summary>.icon { width:18px; flex:none; }
.product-account-menu summary:focus-visible { outline:2px solid var(--brand); outline-offset:4px; }
.account-chevron { margin-left:4px; }
.product-account-dropdown { position:absolute; z-index:30; top:100%; right:0; width:260px; padding:16px; background:var(--surface); border:1px solid var(--line); border-radius:8px; }
.product-account-dropdown>p { margin:0 0 12px; color:var(--muted); font-size:12px; overflow-wrap:anywhere; }
.product-account-dropdown fieldset { margin:10px 0; padding:12px 0; border:0; border-block:1px solid var(--line); }
.product-account-dropdown legend { padding:0; font-size:11px; color:var(--muted); }
.account-menu-link { display:flex; align-items:center; justify-content:space-between; width:100%; padding:10px 9px; background:none; border-radius:4px; text-align:left; font-size:13px; color:var(--ink); }
.account-menu-link:hover,.account-menu-link.selected { background:var(--soft); }
.account-menu-link.selected { font-weight:650; }
.account-menu-link .icon { width:16px; height:16px; }
.account-entry-panel { max-width:520px; margin:0 auto; }
.account-form { display:grid; gap:21px; max-width:520px; margin:28px auto; }
.account-form label { display:grid; gap:9px; font-size:14px; font-weight:600; }
.account-form input { width:100%; min-height:48px; }
.account-form .btn { margin-top:4px; }
.account-step { font-size:12px; color:var(--muted); margin:0 0 12px; }
.account-form .small-note { margin:0; font-weight:400; }
.account-form .form-error:empty { display:none; }
.product-account-page .account-preview-note { background:transparent; border:0; border-top:1px solid var(--line); border-radius:0; padding:16px 0 0; }
.product-account-page .account-role-card { background:transparent; border:0; border-top:1px solid var(--line); border-radius:0; padding:24px 0; }
.product-account-page .account-role-grid { gap:40px; }
@media(max-width:600px) {
  .product-account-menu { max-width:180px; }
  .product-account-menu summary { padding-left:0; font-size:12px; }
  .product-account-dropdown { width:min(270px,calc(100vw - 40px)); }
  .account-form { margin:24px 0; }
  .product-account-page .account-role-grid { gap:10px; }
}
.product-account-page { max-width:700px; }
.product-account-page .account-preview-note { margin:30px auto; max-width:520px; display:block; }
.product-account-page .account-preview-note strong { display:block; margin-bottom:5px; }
.product-account-page>.account-contact-context,.product-account-page>.account-contact-actions { max-width:520px; margin-inline:auto; }
.account-entry-panel>p:not(.account-step) { font-size:15px; line-height:1.8; overflow-wrap:anywhere; }
.account-entry-panel>.btn { margin:14px 16px 14px 0; }
.account-purpose-options { display:grid; gap:15px; margin-top:22px; }
.account-purpose-options .btn { min-height:54px; justify-content:space-between; }
/* Progressive setup can save a draft at every step. */
.member-wizard .wizard-footer { flex-wrap:wrap; }
.member-wizard .wizard-footer>div { flex-wrap:wrap; flex:1 1 auto; justify-content:flex-end; }
.member-wizard .wizard-page-heading>div:last-child .text-button { display:block; margin-top:12px; }
@media(max-width:600px) { .member-wizard .wizard-footer>div { justify-content:flex-start; } }
.account-form input { padding:12px 14px; border:1px solid var(--line); border-radius:6px; background:var(--surface); color:var(--ink); font:400 16px/1.5 var(--sans); }
.account-form input:focus { outline:2px solid var(--brand); outline-offset:2px; }

/* Password controls stay within the existing, unboxed account form. */
.account-password-control { display:grid; gap:9px; font-size:14px; }
.account-password-field { position:relative; display:block; }
.account-password-field input { padding-right:72px; }
.account-password-toggle { position:absolute; right:8px; top:50%; transform:translateY(-50%); min-height:36px; padding:6px 9px; color:var(--brand); background:transparent; border-radius:4px; font:600 13px var(--sans); }
.account-password-toggle:focus-visible { outline:2px solid var(--brand); outline-offset:1px; }
.account-form-link { text-align:right; margin-top:-9px; font-size:14px; }
.account-alternative { text-align:center; padding-top:4px; }
.account-form input:disabled,.account-password-toggle:disabled { opacity:.65; }

/* Cloud status uses the existing typography and palette. */
.cloud-notice{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding-top:1rem;padding-bottom:1rem;font-size:.9rem;border-bottom:1px solid var(--line);}
.cloud-notice span{flex:1 1 24rem;}
