/* Demo-only presentation details; this also keeps setup icons readable. */
.setup-step span { color: var(--surface-text); }
.demo-entry { border-color: var(--lav) !important; }
.demo-link { display: flex; justify-content: center; align-items: center; min-height: 40px; box-sizing: border-box; text-decoration: none; }
.demo-door .primary-btn, .demo-door .demo-link { width: 100%; margin-top: 13px; }
.onboarding-door { max-height: calc(100vh - 36px); overflow: auto; }
.onboarding-door form { margin-top: 16px; }
.onboarding-door label > small { font-weight: 500; color: var(--surface-muted); }
.onboarding-door .income-picker { display: grid; grid-template-columns: minmax(0, 1fr) 128px; gap: 8px; }
.onboarding-door select { min-width: 0; padding: 11px; border: 1px solid var(--border-strong); border-radius: 7px; background: var(--surface); color: var(--surface-text); font: 13px 'DM Sans'; }
@media (max-width: 460px) { .onboarding-door { padding: 25px 20px; } .onboarding-door .income-picker { grid-template-columns: 1fr; } }
.verification-door input[name="verification_code"] { font-size: 23px; font-weight: 700; letter-spacing: .32em; text-align: center; }
.admin-user-list { display: grid; gap: 9px; margin-top: 18px; }
.admin-user-list article { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px; border: 1px solid var(--border); border-radius: 9px; background: var(--paper); }
.admin-user-list article div { display: grid; gap: 3px; min-width: 0; }
.admin-user-list b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.admin-user-list small { color: var(--surface-muted); font-size: 10px; }
.admin-owner-badge { padding: 5px 8px; border-radius: 999px; background: var(--accent-soft); color: var(--accent-strong, var(--lav)); font-size: 10px; font-weight: 700; }
.admin-panel h3 { margin: 24px 0 0; font-size: 14px; }
.admin-invite-form { display: grid; grid-template-columns: minmax(0, 1fr) 150px auto; gap: 8px; align-items: center; }
.admin-invite-form input,.admin-invite-form select { min-width: 0; padding: 10px; border: 1px solid var(--border-strong); border-radius: 7px; background: var(--surface); color: var(--surface-text); font: 12px 'DM Sans'; }
.new-invite-code { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 12px; padding: 11px; border: 1px solid var(--lav); border-radius: 9px; background: var(--accent-soft); font-size: 11px; }
.new-invite-code code { padding: 4px 6px; border-radius: 5px; background: var(--surface); color: var(--surface-text); font: 700 12px monospace; letter-spacing: .05em; }
@media (max-width: 560px) { .admin-invite-form { grid-template-columns: 1fr; } }
.getting-started-card .setup-next { display: flex; align-items: center; justify-content: space-between; width: 100%; margin-top: 15px; padding: 12px 14px; border: 1px solid var(--lav); border-radius: 9px; background: var(--lav); color: #fff; font: 700 12px 'DM Sans'; cursor: pointer; }
.getting-started-card .setup-next span { font-size: 16px; line-height: 1; }
.demo-entry-note { margin: -5px 0 1px !important; text-align: center; color: var(--surface-muted); font-size: 10px !important; line-height: 1.45; }
.demo-workspace-banner { display: flex; gap: 10px; align-items: center; padding: 9px max(24px, calc((100vw - 1440px) / 2)); background: var(--accent-soft); border-bottom: 1px solid var(--border); color: var(--surface-text); font-size: 11px; }
.demo-workspace-banner b { color: var(--accent-strong, var(--lav)); }
.demo-workspace-banner span { color: var(--surface-muted); }
@media (max-width: 760px) { .demo-workspace-banner { padding: 9px 16px; align-items: flex-start; flex-direction: column; gap: 2px; } }
