html {
  font-size: 14px;
  --prosper-bg: #faf8f5;
  --prosper-surface: #ffffff;
  --prosper-text: #282522;
  --prosper-muted: #756f68;
  --prosper-border: #e9e3dc;
  --prosper-accent: #d66a3a;
  --prosper-accent-dark: #b94f25;
  --prosper-accent-soft: #fff3ed;
  --prosper-success: #147a50;
  --prosper-warning: #a15b17;
  --prosper-danger: #b42318;
  --prosper-radius-sm: .6rem;
  --prosper-radius-md: .9rem;
  --prosper-radius-lg: 1.15rem;
  --prosper-shadow-sm: 0 5px 18px rgba(58, 47, 38, .05);
  --prosper-shadow-md: 0 12px 32px rgba(58, 47, 38, .07);
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem rgba(214, 106, 58, .42);
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
  background: var(--prosper-bg);
  color: var(--prosper-text);
}

.welcome-panel { max-width: 820px; margin: 3rem auto 1.5rem; padding: 3rem; background: white; border-radius: 1.5rem; box-shadow: 0 20px 60px rgba(23, 32, 51, .08); }
.welcome-panel h1 { font-size: clamp(2.3rem, 6vw, 4.5rem); font-weight: 750; letter-spacing: -.04em; }
.eyebrow, .page-parent-link { color: var(--prosper-accent); font-weight: 700; text-transform: uppercase; letter-spacing: .12em; font-size: .78rem; }
.tenant-name { color: #667085; font-size: 1.05rem; }
.page-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin: 3rem 0 2rem; }
.page-parent-link { display: inline-flex; align-items: center; gap: .4rem; min-height: 2.5rem; margin-top: 1rem; padding: .45rem .75rem .45rem .25rem; color: var(--prosper-muted); text-decoration: none; transition: background-color .15s ease, color .15s ease; }
.page-parent-link:hover { background: var(--prosper-accent-soft); color: var(--prosper-accent-dark); text-decoration: none; }
.page-parent-link:focus-visible { outline: 2px solid var(--prosper-accent); outline-offset: 2px; background: var(--prosper-accent-soft); color: var(--prosper-accent-dark); }
.page-parent-link + .page-heading { margin-top: .75rem; }
.surface-card, .form-card { background: white; border: 1px solid #e7ebf0; border-radius: 1rem; box-shadow: 0 12px 35px rgba(23, 32, 51, .05); overflow: hidden; }
.form-card { max-width: 720px; margin: 4rem auto; padding: clamp(1.5rem, 5vw, 3rem); }
.status-pill { display: inline-block; border-radius: 999px; padding: .25rem .65rem; font-size: .82rem; font-weight: 650; }
.coming-soon-badge { padding: .1rem .35rem; font-size: .65rem; line-height: 1; font-weight: 600; white-space: nowrap; }
.status-pill.active { color: #067647; background: #ecfdf3; }
.status-pill.inactive { color: #b42318; background: #fef3f2; }
@media (max-width: 576px) { .welcome-panel { margin: 3rem auto; padding: 2rem 1.5rem; } .page-heading { align-items: stretch; flex-direction: column; } }
.company-results { margin-top: .75rem; }
.company-results:empty { display: none; }
.company-results.has-results { border: 1px solid #e7ebf0; border-radius: .75rem; overflow: hidden; }
.company-search-state { padding: .15rem 0; color: var(--prosper-muted); font-size: .9rem; }
.company-search-state.is-error { color: var(--prosper-danger); }
.company-result { width: 100%; padding: .85rem 1rem; border: 0; border-bottom: 1px solid #e7ebf0; background: white; text-align: left; display: flex; flex-direction: column; }
.company-result:hover { background: var(--prosper-accent-soft); }
.company-result span, .company-result small { color: #667085; }
.selected-company { padding: 1.25rem; border-radius: .75rem; background: var(--prosper-accent-soft); border: 1px solid #f4c8b5; }
.onboarding-field { margin-top: 1rem; }
.onboarding-field .text-danger { display: block; margin-top: .35rem; font-size: .875rem; }
.danger-zone { max-width: 720px; margin: 2rem auto 5rem; padding: clamp(1.5rem, 5vw, 3rem); border: 1px solid #fda29b; border-radius: 1rem; background: #fff7f6; }
.password-rules { margin: -.25rem 0 1.25rem; padding: 1rem 1.1rem; border: 1px solid #e7ebf0; border-radius: .75rem; background: #f8fafc; }
.password-rules-title { margin: 0 0 .65rem; color: #475467; font-size: .9rem; font-weight: 650; }
.password-rules ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .45rem 1rem; margin: 0; padding: 0; list-style: none; }
.password-rules li { display: flex; align-items: center; gap: .45rem; color: #667085; font-size: .88rem; transition: color .15s ease; }
.password-rules li span { display: inline-grid; width: 1.15rem; height: 1.15rem; place-items: center; flex: 0 0 auto; border: 1px solid #d0d5dd; border-radius: 50%; color: transparent; font-size: .72rem; font-weight: 800; transition: all .15s ease; }
.password-rules li.valid { color: #067647; }
.password-rules li.valid span { border-color: #12b76a; background: #12b76a; color: white; }
@media (max-width: 480px) { .password-rules ul { grid-template-columns: 1fr; } }
.section-card { padding: clamp(1.25rem, 4vw, 2rem); }
.company-profile { max-width: 880px; padding: clamp(1.25rem, 3vw, 2rem); }
.company-profile-header { display: flex; align-items: center; gap: 1.2rem; margin-bottom: 1.5rem; }
.company-profile-mark { display: grid; flex: 0 0 auto; width: 136px; height: 112px; place-items: center; padding: .9rem; overflow: hidden; border: 1px solid var(--prosper-border); border-radius: var(--prosper-radius-md); background: var(--prosper-bg); }
.company-profile-mark img { display: block; width: 100%; height: 100%; max-width: 100%; max-height: 100%; object-fit: contain; }
.company-profile-mark span { color: var(--prosper-muted); font-size: .8rem; text-align: center; }
.company-profile-heading-content { min-width: 0; }
.company-profile h2 { margin: 0; font-size: clamp(1.55rem, 3vw, 2rem); line-height: 1.2; overflow-wrap: anywhere; }
.company-profile-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-top: .45rem; color: var(--prosper-muted); }
.company-profile-meta .status-pill { font-size: .75rem; }
.company-profile-edit-logo { margin: .5rem 0 0; padding: 0; border: 0; background: none; color: var(--prosper-accent-dark); font-size: .88rem; text-align: left; text-decoration: underline; text-underline-offset: .15rem; }
.company-profile-edit-logo:hover { color: var(--prosper-accent); }
.company-profile-edit-logo:focus-visible { outline: 2px solid var(--prosper-accent); outline-offset: 3px; }
.company-profile-section + .company-profile-section { margin-top: 1.4rem; }
.company-profile h3 { margin: 0 0 .8rem; color: var(--prosper-text); font-size: 1rem; font-weight: 700; }
.company-profile-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 1rem 1.5rem; max-width: 620px; margin: 0; }
.company-profile-field { min-width: 0; }
.company-profile-field dt { margin-bottom: .25rem; color: var(--prosper-muted); font-size: .88rem; font-weight: 500; }
.company-profile-field dd { margin: 0; font-weight: 650; overflow-wrap: anywhere; }
.company-profile-identifier { user-select: text; }
.company-profile-field dd.company-profile-missing { color: var(--prosper-muted); font-weight: 400; }
.company-profile-logo-editor { max-width: 570px; margin: 0 0 1.4rem; padding: 1rem; border: 1px solid var(--prosper-border); border-radius: var(--prosper-radius-md); background: var(--prosper-bg); }
.company-profile-logo-editor h3 { margin-bottom: .65rem; }
.company-profile-logo-editor .logo-upload-form { display: flex; flex-direction: column; align-items: flex-start; gap: .6rem; }
.company-profile-logo-hint { margin: 0; color: var(--prosper-muted); font-size: .82rem; }
.company-logo-file-input { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.company-logo-file-picker { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .75rem; min-width: 0; }
.company-logo-file-picker label { margin: 0; cursor: pointer; }
.company-logo-file-input:focus-visible + .company-logo-file-picker label { outline: 2px solid var(--prosper-accent); outline-offset: 2px; }
.company-logo-filename { min-width: 0; color: var(--prosper-muted); font-size: .82rem; overflow-wrap: anywhere; }
.company-profile-logo-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.company-profile-logo-actions .btn { min-height: 38px; }
.company-profile-logo-delete { margin-top: .4rem; }
.company-profile-logo-delete .btn { padding-left: 0; font-size: .86rem; }
.company-profile-preferences { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.company-profile-technical { margin-top: 1.4rem; padding-top: .75rem; border-top: 1px solid var(--prosper-border); color: var(--prosper-muted); font-size: .8rem; }
.company-profile-technical h3 { margin-bottom: .5rem; color: var(--prosper-muted); font-size: .85rem; font-weight: 600; }
.company-profile-technical dl { display: flex; flex-wrap: wrap; gap: .25rem 1.5rem; margin: 0; }
.company-profile-technical dl > div { display: flex; flex-wrap: wrap; gap: .25rem; }
.company-profile-technical dt, .company-profile-technical dd { margin: 0; font-weight: 400; }
@media (max-width: 600px) { .company-profile-mark { width: 104px; height: 92px; } .company-profile-header { align-items: flex-start; gap: .85rem; } .company-profile-preferences { grid-template-columns: minmax(0, 1fr); } }
.details-grid { display: grid; grid-template-columns: minmax(140px, .6fr) 1.4fr; gap: .75rem 1.5rem; margin: 0; }
.details-grid dt { color: #667085; font-weight: 500; }
.details-grid dd { margin: 0; font-weight: 600; }
.settings-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.settings-card { display: flex; min-height: 170px; align-items: center; justify-content: space-between; gap: 1rem; padding: 2rem; border: 1px solid #e7ebf0; border-radius: 1rem; background: white; box-shadow: 0 12px 35px rgba(23, 32, 51, .05); color: inherit; text-decoration: none; transition: transform .15s ease, border-color .15s ease; }
.settings-card:hover { transform: translateY(-2px); border-color: #e7a487; color: inherit; }
.settings-card h2 { font-size: 1.25rem; }
.settings-card p { margin: 0; color: #667085; }
.settings-card > span { color: var(--prosper-accent); font-size: 1.6rem; }
.settings-card > .coming-soon-badge { flex: 0 0 auto; align-self: center; font-size: .65rem; }
.settings-card-disabled { background: var(--prosper-bg); cursor: not-allowed; }
.settings-card-disabled:hover { transform: none; border-color: var(--prosper-border); color: inherit; }
.settings-card-disabled p + p { margin-top: .65rem; }
.customer-email-settings-form, .customer-email-prompt-card { max-width: 1020px; }
.customer-email-setting-heading { margin-bottom: 1.5rem; }
.customer-email-setting-heading .eyebrow { margin-bottom: .3rem; }
.customer-email-setting-heading h2 { margin: 0 0 .35rem; color: var(--prosper-text); font-size: 1.2rem; }
.customer-email-switch-row { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 1rem 0; border-top: 1px solid var(--prosper-border); border-bottom: 1px solid var(--prosper-border); }
.customer-email-switch-label { margin: 0; color: var(--prosper-text); font-weight: 650; cursor: pointer; }
.customer-email-switch-control { display: inline-flex; flex: 0 0 auto; align-items: center; gap: .65rem; cursor: pointer; }
.customer-email-switch-input { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.customer-email-switch-track { position: relative; display: inline-flex; width: 3.5rem; height: 2rem; flex: 0 0 auto; align-items: center; padding: .2rem; border: 1px solid #c9c1ba; border-radius: 999px; background: #e8e3de; transition: background-color .15s ease, border-color .15s ease; }
.customer-email-switch-thumb { display: block; width: 1.5rem; height: 1.5rem; border-radius: 50%; background: white; box-shadow: 0 2px 5px rgba(58, 47, 38, .2); transform: translateX(0); transition: transform .15s ease; }
.customer-email-switch-input:checked ~ .customer-email-switch-track { border-color: var(--prosper-accent); background: var(--prosper-accent); }
.customer-email-switch-input:checked ~ .customer-email-switch-track .customer-email-switch-thumb { transform: translateX(1.5rem); }
.customer-email-switch-input:focus-visible ~ .customer-email-switch-track { outline: 2px solid var(--prosper-accent); outline-offset: 3px; }
.customer-email-switch-state { display: inline-block; width: 4.5rem; min-width: 4.5rem; flex: 0 0 4.5rem; color: var(--prosper-muted); font-size: .85rem; font-weight: 650; }
.customer-email-switch-state-off { display: inline; }
.customer-email-switch-state-on { display: none; }
.customer-email-switch-input:checked ~ .customer-email-switch-state-on { display: inline; }
.customer-email-switch-input:checked ~ .customer-email-switch-state-off { display: none; }
.customer-email-save { margin-top: 1.25rem; }
@media (max-width: 600px) { .customer-email-switch-row { align-items: flex-start; flex-direction: column; gap: .75rem; } .customer-email-switch-control { align-self: flex-start; } }
.prompt-mode-options { display: grid; gap: .65rem; margin: 0 0 1.25rem; padding: 0; border: 0; }
.prompt-mode-option { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .65rem; align-items: start; padding: .8rem .9rem; border: 1px solid var(--prosper-border); border-radius: var(--prosper-radius-md); cursor: pointer; }
.prompt-mode-option:focus-within { border-color: var(--prosper-accent); box-shadow: 0 0 0 .2rem rgba(231, 164, 135, .2); }
.prompt-mode-option input { margin-top: .2rem; accent-color: var(--prosper-accent); }
.prompt-mode-option span { min-width: 0; font-weight: 600; }
.prompt-mode-warning { grid-column: 2; color: var(--prosper-muted); font-weight: 400; }
.prompt-disabled-message { margin-bottom: 1.25rem; }
.prompt-override-form textarea { min-height: 15rem; resize: vertical; }
.prompt-override-form textarea[readonly] { background: var(--prosper-bg); }
@media (max-width: 700px) { .prompt-mode-warning { grid-column: 2; } }
.collaborator-invite-card, .collaborator-list-card { max-width: 1020px; padding: clamp(1.2rem, 3vw, 1.75rem); }
.collaborator-list-card { margin-top: 1.25rem; }
.collaborator-section-heading { margin-bottom: 1rem; }
.collaborator-section-heading .eyebrow { margin-bottom: .3rem; }
.collaborator-section-heading h2 { margin: 0; color: var(--prosper-text); font-size: 1.2rem; }
.collaborator-invite-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; align-items: end; gap: .8rem; }
.collaborator-invite-form .form-label { margin-bottom: .3rem; color: var(--prosper-muted); font-size: .85rem; }
.collaborator-invite-form .text-danger { display: block; margin-top: .25rem; font-size: .78rem; }
.collaborator-invite-submit { white-space: nowrap; }
.collaborator-list { display: grid; gap: .35rem; }
.collaborator-row { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr) auto 2.5rem; align-items: center; gap: .8rem; padding: .85rem .25rem; border-top: 1px solid var(--prosper-border); }
.collaborator-avatar { display: grid; width: 2.5rem; height: 2.5rem; place-items: center; border-radius: 50%; background: var(--prosper-accent-soft); color: var(--prosper-accent-dark); font-weight: 700; }
.collaborator-identity { display: grid; min-width: 0; gap: .1rem; }
.collaborator-identity strong { overflow-wrap: anywhere; }
.collaborator-identity span, .collaborator-identity a, .collaborator-status small { color: var(--prosper-muted); font-size: .85rem; overflow-wrap: anywhere; }
.collaborator-identity a { text-decoration: none; }
.collaborator-identity a:hover { color: var(--prosper-accent-dark); text-decoration: underline; }
.collaborator-status { display: grid; justify-items: end; gap: .2rem; text-align: right; }
.collaborator-status .status-pill { white-space: nowrap; }
.collaborator-actions { justify-self: end; }
.btn-icon { width: 2.25rem; height: 2.25rem; padding: 0; border: 1px solid transparent; border-radius: 50%; color: var(--prosper-muted); font-size: 1.35rem; line-height: 1; }
.btn-icon:hover, .btn-icon:focus-visible { border-color: var(--prosper-border); background: var(--prosper-accent-soft); color: var(--prosper-text); }
.collaborator-actions .dropdown-menu { min-width: 11rem; }
.collaborator-actions .dropdown-item form { margin: 0; }
@media (max-width: 800px) { .collaborator-invite-form { grid-template-columns: repeat(2, minmax(0, 1fr)); } .collaborator-invite-submit { grid-column: 1 / -1; justify-self: start; } }
@media (max-width: 600px) { .company-profile-header { flex-wrap: wrap; } .company-profile-heading-content { flex: 1 1 200px; } .collaborator-invite-form { grid-template-columns: minmax(0, 1fr); } .collaborator-invite-submit { grid-column: auto; width: 100%; } .collaborator-row { grid-template-columns: 2.25rem minmax(0, 1fr) 2.25rem; gap: .65rem; } .collaborator-avatar { width: 2.25rem; height: 2.25rem; } .collaborator-status { grid-column: 2; justify-items: start; text-align: left; } .collaborator-actions { grid-column: 3; grid-row: 1 / span 2; } }
.glossary-page { max-width: 1020px; }
.glossary-page-heading { margin-bottom: .75rem; }
.glossary-intro { max-width: 720px; margin: 0 0 1.25rem; color: var(--prosper-muted); }
.glossary-add-card, .glossary-list-card { padding: clamp(1.15rem, 3vw, 1.6rem); }
.glossary-list-card { margin-top: 1rem; overflow: visible; }
.glossary-section-heading { margin-bottom: 1rem; }
.glossary-section-heading .eyebrow { margin-bottom: .3rem; }
.glossary-section-heading h2 { margin: 0; color: var(--prosper-text); font-size: 1.15rem; }
.glossary-add-form { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; align-items: end; gap: .8rem; }
.glossary-add-form .form-label, .glossary-edit-form .form-label { margin-bottom: .3rem; color: var(--prosper-muted); font-size: .85rem; }
.glossary-add-submit { white-space: nowrap; }
.glossary-empty { margin: 0; padding: 1rem; border: 1px dashed var(--prosper-border); border-radius: var(--prosper-radius-md); color: var(--prosper-muted); text-align: center; }
.glossary-list { display: grid; }
.glossary-row { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto 2.5rem; align-items: center; gap: .8rem; min-width: 0; padding: .9rem .15rem; border-top: 1px solid var(--prosper-border); }
.glossary-row-view { display: grid; min-width: 0; gap: .25rem; }
.glossary-term { overflow-wrap: anywhere; font-size: 1rem; }
.glossary-corrections { overflow-wrap: anywhere; color: var(--prosper-muted); font-size: .86rem; }
.glossary-corrections span { font-weight: 600; }
.inactive-term .glossary-term, .inactive-term .glossary-corrections { color: var(--prosper-muted); }
.glossary-row-actions { position: relative; justify-self: end; }
.glossary-menu-trigger { display: grid; width: 2.25rem; height: 2.25rem; place-items: center; padding: 0 0 .35rem; border: 1px solid transparent; border-radius: 50%; background: transparent; color: var(--prosper-muted); font-size: 1.5rem; line-height: 1; }
.glossary-menu-trigger:hover, .glossary-menu-trigger:focus-visible { border-color: var(--prosper-border); background: var(--prosper-accent-soft); color: var(--prosper-text); }
.glossary-action-menu { position: absolute; z-index: 3; top: calc(100% - .15rem); right: 0; display: none; min-width: 10rem; padding: .3rem; border: 1px solid var(--prosper-border); border-radius: var(--prosper-radius-sm); background: var(--prosper-surface); box-shadow: var(--prosper-shadow-md); }
.glossary-row.menu-open .glossary-action-menu { display: grid; }
.glossary-action-menu form { margin: 0; }
.glossary-menu-item { display: block; width: 100%; padding: .45rem .6rem; border: 0; border-radius: .35rem; background: transparent; color: var(--prosper-text); font-size: .88rem; text-align: left; }
.glossary-menu-item:hover, .glossary-menu-item:focus-visible { background: var(--prosper-accent-soft); color: var(--prosper-accent-dark); }
.glossary-menu-item-danger { color: var(--prosper-danger); }
.glossary-edit-form { display: none; grid-column: 1 / -1; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; align-items: end; gap: .8rem; }
.glossary-edit-actions { display: flex; align-items: center; gap: .35rem; white-space: nowrap; }
.glossary-row.is-editing .glossary-row-view, .glossary-row.is-editing > .status-pill, .glossary-row.is-editing .glossary-row-actions { display: none; }
.glossary-row.is-editing .glossary-edit-form { display: grid; }
@media (max-width: 700px) {
  .glossary-add-form, .glossary-edit-form { grid-template-columns: minmax(0, 1fr); }
  .glossary-add-submit { justify-self: start; }
  .glossary-edit-actions { justify-content: flex-start; }
  .glossary-row { grid-template-columns: minmax(0, 1fr) 2.25rem; align-items: start; }
  .glossary-row > .status-pill { grid-column: 1; justify-self: start; }
  .glossary-row-actions { grid-column: 2; grid-row: 1 / span 2; }
  .glossary-action-menu { right: 0; }
}
@media (max-width: 700px) { .settings-grid { grid-template-columns: 1fr; } .settings-card > .coming-soon-badge { align-self: flex-start; white-space: normal; text-align: center; } .details-grid { grid-template-columns: 1fr; gap: .2rem; } .details-grid dd { margin-bottom: .8rem; } }

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}

a { color: var(--prosper-accent-dark); }
a:hover { color: #963d1c; }
.btn-primary { --bs-btn-bg: var(--prosper-accent); --bs-btn-border-color: var(--prosper-accent); --bs-btn-hover-bg: var(--prosper-accent-dark); --bs-btn-hover-border-color: var(--prosper-accent-dark); --bs-btn-active-bg: var(--prosper-accent-dark); --bs-btn-active-border-color: var(--prosper-accent-dark); --bs-btn-disabled-bg: #dba48c; --bs-btn-disabled-border-color: #dba48c; }
.form-control:focus { border-color: #e7a487; }
.navbar .nav-link.active { color: var(--prosper-accent-dark) !important; font-weight: 650; }
.user-menu { flex: 0 0 auto; }
.user-avatar { width: 46px; height: 46px; display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 50%; background: var(--prosper-accent); color: #fff; font-weight: 700; letter-spacing: .03em; box-shadow: 0 5px 14px rgba(231, 108, 54, .2); }
.user-avatar:hover, .user-avatar:focus-visible { background: var(--prosper-accent-dark); }
.user-avatar::after { margin-left: .35rem; }
.user-avatar-fallback { font-size: .85rem; }
.user-menu .dropdown-menu { min-width: 14rem; }
.user-menu form { margin: 0; }
.profile-details { margin-top: 1.5rem; }

.login-shell { min-height: 100vh; display: grid; place-items: center; padding: 2rem 1rem; background: radial-gradient(circle at top, #fff8f4 0, #f6f8fb 48%); }
.login-card { width: min(100%, 450px); padding: clamp(1.75rem, 5vw, 3rem); border: 1px solid #e7ebf0; border-radius: 1.5rem; background: white; box-shadow: 0 24px 70px rgba(23, 32, 51, .11); }
.login-identity { display: flex; align-items: center; flex-direction: column; margin-bottom: 2rem; text-align: center; }
.login-identity img { width: 88px; height: 88px; object-fit: contain; }
.login-identity p { margin: .75rem 0 0; color: #667085; font-size: .82rem; }
.login-card .form-control { min-height: 3.25rem; border-color: #d0d5dd; border-radius: .8rem; font-size: 1rem; }
.password-field { position: relative; }
.password-field .form-control { padding-right: 3.5rem; }
.password-toggle { position: absolute; top: 50%; right: .5rem; display: grid; width: 2.5rem; height: 2.5rem; padding: .55rem; transform: translateY(-50%); border: 0; border-radius: .6rem; background: transparent; color: #667085; }
.password-toggle:hover, .password-toggle:focus-visible { background: var(--prosper-accent-soft); color: var(--prosper-accent-dark); }
.password-toggle svg { width: 100%; fill: currentColor; }
.forgot-link { display: inline-block; margin-top: .35rem; font-weight: 600; text-decoration: none; }
.auth-title { margin-bottom: .75rem; font-size: 1.55rem; font-weight: 750; letter-spacing: -.02em; }
.mfa-code { text-align: center; letter-spacing: .55em; font-size: 1.45rem !important; font-variant-numeric: tabular-nums; }
.mfa-enrollment-card { width: min(100%, 560px); }
.mfa-app-choices { display: grid; gap: .75rem; }
.mfa-app-choice { display: flex; min-height: 3.5rem; align-items: center; gap: .85rem; padding: .9rem 1rem; border: 1px solid #d0d5dd; border-radius: .8rem; cursor: pointer; }
.mfa-app-choice:has(input:checked) { border-color: var(--prosper-accent); background: var(--prosper-accent-soft); }
.mfa-app-choice input { width: 1.1rem; height: 1.1rem; accent-color: var(--prosper-accent); }
.mfa-qr { display: block; width: min(240px, 75vw); height: auto; margin: 1.25rem auto; image-rendering: pixelated; }
.manual-key { display: block; margin-top: .75rem; padding: .75rem; overflow-wrap: anywhere; border-radius: .5rem; background: #f8fafc; color: #344054; }
.recovery-codes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; padding: 1rem; border: 1px solid #e7ebf0; border-radius: .8rem; background: #f8fafc; }
.recovery-codes code { color: #344054; font-size: .95rem; }
.security-card { max-width: 760px; }
.security-grid { display: grid; gap: 1.25rem; max-width: 900px; }
.security-grid .security-card { max-width: none; }
.security-status { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1.25rem; padding: 1rem; border-radius: .8rem; background: #f8fafc; font-weight: 650; }
.security-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.mobile-install-card { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.mobile-app-qr { width: 180px; height: 180px; flex: 0 0 auto; }
.mobile-store-settings { display: grid; gap: 1rem; max-width: 820px; }
.installation-wizard { width: min(100%, 820px); margin: 0 auto 4rem; }
.wizard-navigation { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1rem; }
.wizard-navigation .page-parent-link { margin-top: 0; }
.wizard-navigation > a:not(.btn) { color: #667085; }
.phone-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.phone-choice { display: flex; min-height: 190px; flex-direction: column; align-items: center; justify-content: center; gap: .7rem; padding: 1.5rem; border: 1px solid #d0d5dd; border-radius: 1rem; color: #172033; text-align: center; text-decoration: none; transition: transform .15s ease, border-color .15s ease; }
.phone-choice:not(.phone-choice-disabled):hover { transform: translateY(-2px); border-color: var(--prosper-accent); color: #172033; }
.phone-choice img { width: 64px; height: 64px; object-fit: contain; }
.phone-choice strong { font-size: 1.2rem; }
.phone-choice > span { color: var(--prosper-accent); font-weight: 650; }
.phone-choice-disabled { border-color: #e4e7ec; background: #f8fafc; color: #98a2b3; cursor: not-allowed; }
.phone-choice-disabled img { filter: grayscale(1); opacity: .45; }
.phone-choice-disabled strong { color: #98a2b3; }
.availability-badge { padding: .25rem .65rem; border-radius: 999px; background: #e7ebf0; color: #667085 !important; font-size: .82rem; }
.mobile-install-wizard { width: min(100%, 760px); }
.mobile-install-panel { padding: clamp(1.5rem, 4vw, 2.25rem); }
.mobile-install-header { margin-bottom: 1.75rem; }
.mobile-install-header .eyebrow { margin-bottom: .45rem; }
.mobile-install-header h1 { margin-bottom: .65rem; font-size: clamp(1.75rem, 4vw, 2.35rem); letter-spacing: -.025em; }
.mobile-install-lead { max-width: 570px; margin: 0; color: var(--prosper-muted); }
.mobile-install-instructions { align-self: center; }
.mobile-install-instructions h2 { margin-bottom: 1rem; font-size: 1rem; font-weight: 750; }
.installation-steps { display: grid; gap: .7rem; margin: 0; padding-left: 1.55rem; }
.installation-steps li { padding-left: .25rem; }
.installation-steps li::marker { color: var(--prosper-accent); font-weight: 700; }
.installation-steps strong, .installation-steps span { display: block; }
.installation-steps span { margin-top: .2rem; color: #667085; }
.mobile-install-content { display: grid; grid-template-columns: minmax(0, 1fr) minmax(210px, .72fr); align-items: stretch; gap: clamp(1.5rem, 4vw, 2.75rem); }
.mobile-install-qr { display: grid; place-items: center; align-content: center; padding: 1.15rem; border: 1px solid var(--prosper-border); border-radius: var(--prosper-radius-md); background: #f8fafc; text-align: center; }
.mobile-install-qr-frame { display: grid; place-items: center; padding: .55rem; border: 1px solid var(--prosper-border); border-radius: .8rem; background: var(--prosper-surface); box-shadow: var(--prosper-shadow-sm); }
.mobile-install-qr .mobile-app-qr { display: block; width: 170px; height: 170px; }
.mobile-install-qr p { margin: .85rem 0 0; color: var(--prosper-muted); font-size: .85rem; line-height: 1.45; }
.mobile-install-cta { display: inline-flex; min-height: 3rem; align-items: center; justify-content: center; }
.installation-mobile-only { display: none; }
.installation-success { margin-top: 1.5rem; padding: 1rem 1.2rem; border-radius: .8rem; background: var(--prosper-accent-soft); color: #344054; font-weight: 650; }
.wizard-actions { margin-top: 1.5rem; }
@media (max-width: 600px) { .mobile-install-card { align-items: flex-start; flex-direction: column; } .mobile-app-qr { align-self: center; } .phone-choice-grid { grid-template-columns: 1fr; } .mobile-install-panel { padding: 1.35rem; } .mobile-install-header { margin-bottom: 1.5rem; } .mobile-install-content { grid-template-columns: 1fr; gap: 1.25rem; } .mobile-install-instructions { align-self: stretch; } .mobile-install-qr { justify-items: start; } .mobile-install-qr .mobile-app-qr { width: min(180px, 70vw); height: auto; } .mobile-install-cta { width: 100%; } .installation-desktop-only { display: none; } .installation-mobile-only { display: block; } }
@media (max-width: 420px) { .recovery-codes { grid-template-columns: 1fr; } }

.dashboard-shell { max-width: 1060px; margin: 0 auto 4rem; }
.dashboard-welcome { display: flex; max-width: none; align-items: center; gap: clamp(1.5rem, 4vw, 3rem); }
.dashboard-welcome h1 { font-size: clamp(2rem, 5vw, 3.5rem); }
.tenant-logo { width: clamp(90px, 15vw, 160px); height: clamp(70px, 12vw, 120px); flex: 0 0 auto; object-fit: contain; }
.metrics-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.metric-card { position: relative; display: flex; min-height: 155px; flex-direction: column; justify-content: end; padding: 1.5rem; overflow: hidden; border: 1px solid #e7ebf0; border-radius: 1.15rem; background: white; box-shadow: 0 12px 35px rgba(23, 32, 51, .05); }
.metric-card strong { color: #172033; font-size: clamp(2rem, 5vw, 3rem); line-height: 1; }
.metric-card > span:last-child { margin-top: .65rem; color: #667085; font-weight: 600; }
.metric-icon { position: absolute; top: 1.15rem; right: 1.25rem; color: var(--prosper-accent); font-size: 1.25rem; }
.quick-access { margin-top: 2rem; }
.quick-access h2 { margin-bottom: 1rem; font-size: 1.25rem; }
.quick-access-links { display: flex; flex-wrap: wrap; gap: .8rem; }
.quick-access-links a { display: flex; min-width: 210px; align-items: center; justify-content: space-between; gap: 2rem; padding: 1rem 1.2rem; border: 1px solid #e7ebf0; border-radius: .9rem; background: white; color: #172033; font-weight: 650; text-decoration: none; transition: transform .15s ease, border-color .15s ease; }
.quick-access-links a:hover { transform: translateY(-2px); border-color: #e7a487; }
.quick-access-links span { color: var(--prosper-accent); font-size: 1.25rem; }

.platform-dashboard { padding-top: 3rem; }
.platform-dashboard-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 2rem; }
.platform-dashboard-heading h1 { margin: 0; font-size: clamp(2rem, 5vw, 3rem); font-weight: 750; letter-spacing: -.035em; }
.platform-dashboard-heading p { margin: .5rem 0 0; color: #667085; font-size: 1.05rem; }
.dashboard-period-field { width: min(100%, 190px); flex: 0 0 auto; }
.dashboard-period-field label { display: block; margin-bottom: .35rem; color: #667085; font-size: .82rem; font-weight: 650; }
.dashboard-period-field .form-select { min-height: 2.8rem; border-color: #d0d5dd; border-radius: .75rem; }
.platform-quick-access { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 1rem; margin: 1.25rem 0; padding: 1rem 1.25rem; }
.platform-quick-access-heading { width: 10rem; min-width: 7rem; }
.platform-quick-access-heading .eyebrow { margin: 0 0 .15rem; font-size: .68rem; }
.platform-quick-access-heading h2 { margin: 0; font-size: 1.05rem; }
.platform-quick-access-form { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr) auto minmax(0, max-content); align-items: center; gap: .65rem; width: 100%; min-width: 0; }
.platform-quick-access-field { width: 100%; min-width: 0; }
.platform-quick-access-field .form-control { min-height: 2.45rem; padding-top: .4rem; padding-bottom: .4rem; }
.platform-quick-access-form .btn { white-space: nowrap; }
.platform-quick-access-status { max-width: 16rem; margin: 0; color: var(--prosper-muted); font-size: .78rem; overflow-wrap: anywhere; }
.platform-metrics-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.platform-metric-card { display: flex; min-height: 230px; flex-direction: column; padding: 1.5rem; border: 1px solid #e7ebf0; border-radius: 1.15rem; background: white; box-shadow: 0 12px 35px rgba(23, 32, 51, .05); }
.platform-metric-title { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.platform-metric-title h2 { margin: 0; color: #475467; font-size: 1rem; font-weight: 700; }
.platform-metric-title .metric-icon { position: static; order: 2; }
.platform-metric-card > strong { margin-top: 2rem; color: #172033; font-size: clamp(2rem, 4vw, 3rem); line-height: 1; }
.platform-metric-card > p { margin: .7rem 0 0; color: #667085; font-weight: 600; }
.platform-metric-card > small { margin-top: auto; padding-top: 1.25rem; color: #475467; font-weight: 650; }
.dashboard-unavailable { padding: 1.5rem; color: #475467; }
.team-activity-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.team-activity-heading h2 { margin: 0; color: #172033; font-size: 1.2rem; }
.team-activity-list { border-top: 1px solid var(--prosper-border); }
.team-activity-row { display: grid; grid-template-columns: minmax(180px, .9fr) minmax(180px, 1.5fr) 3.5rem; align-items: center; gap: 1.25rem; padding: .9rem .65rem; border-bottom: 1px solid var(--prosper-border); border-radius: .55rem; color: inherit; text-decoration: none; transition: background-color .15s ease; }
.team-activity-row:hover, .team-activity-row:focus-visible { background: var(--prosper-accent-soft); color: inherit; }
.team-activity-user { display: flex; min-width: 0; flex-direction: column; }
.team-activity-user strong, .team-activity-user small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.team-activity-user small { margin-top: .15rem; color: var(--prosper-muted); }
.team-activity-bar { height: .8rem; overflow: hidden; border-radius: 999px; background: #f2f4f7; }
.team-activity-bar > span { display: block; height: 100%; border-radius: inherit; background: var(--prosper-accent); }
.team-activity-count { color: #172033; text-align: right; font-size: 1.05rem; }
@media (max-width: 900px) { .platform-metrics-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 900px) { .platform-quick-access { grid-template-columns: 1fr; } .platform-quick-access-heading { width: auto; } }
@media (max-width: 600px) { .platform-dashboard-heading { align-items: stretch; flex-direction: column; gap: 1rem; } .dashboard-period-field { width: 100%; } .platform-metrics-grid { grid-template-columns: 1fr; } .platform-quick-access-form { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; } .platform-quick-access-form .btn, .platform-quick-access-status { grid-column: 1 / -1; } .team-activity-heading { align-items: flex-start; } .team-activity-row { grid-template-columns: minmax(0, 1fr) 3rem; gap: .55rem 1rem; } .team-activity-bar { grid-column: 1 / -1; grid-row: 2; } }
.report-audio-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.report-audio-stats h2 { color: #667085; font-size: 1rem; }
.report-audio-stats strong { font-size: clamp(1.4rem, 3vw, 2rem); }
.report-audio-stats p { margin: .5rem 0 0; color: #667085; }
.report-audio-settings-form { max-width: 820px; }
@media (max-width: 600px) { .report-audio-stats { grid-template-columns: 1fr; } }

.logo-settings { max-width: none; }
.tenant-logo-preview { display: grid; width: min(100%, 360px); height: 150px; place-items: center; margin: 1.5rem 0; padding: 1rem; border: 1px solid #e7ebf0; border-radius: 1rem; background: #f8fafc; }
.tenant-logo-preview img { width: 100%; height: 100%; object-fit: contain; }
.logo-upload-form { display: flex; align-items: center; gap: .75rem; }
.logo-upload-form .form-control { max-width: 520px; }

@media (max-width: 700px) {
  .metrics-grid { grid-template-columns: 1fr; }
  .dashboard-welcome { align-items: flex-start; flex-direction: column; }
  .tenant-logo { width: 130px; height: 90px; }
  .logo-upload-form { align-items: stretch; flex-direction: column; }
}
.report-audio-list { display: grid; gap: .75rem; }
.report-audio-item { display: grid; gap: .35rem; padding: .5rem 0; border-bottom: 1px solid var(--bs-border-color); }
.report-audio-item:last-child { border-bottom: 0; }
.report-audio-item > div { line-height: 1.25; }
.report-audio-item small { line-height: 1.2; }
.report-audio-item audio { display: block; width: 100%; max-width: 100%; height: 40px; margin-top: .25rem; }
.report-timeline-card h2 { margin: 0 0 1rem; color: #172033; font-size: 1.15rem; }
.report-timeline-scroll { overflow-x: auto; }
.report-timeline { display: block; width: 100%; min-width: 620px; height: 230px; }
.report-timeline-axis { stroke: #d0d5dd; stroke-width: 1; }
.report-timeline-bar { fill: var(--prosper-accent); opacity: .85; }
.report-timeline-value, .report-timeline-label { fill: #667085; font-size: 10px; text-anchor: middle; }
.report-timeline-value { fill: #344054; font-weight: 700; }
.rating-timeline-axis-label { fill: #667085; font-size: 10px; text-anchor: end; }
.rating-timeline-line { stroke: var(--prosper-accent); stroke-width: 2.5; fill: none; }
.rating-timeline-point { fill: var(--prosper-accent); stroke: #fff; stroke-width: 1.5; }
.rating-distribution-row { display: flex; align-items: center; gap: 1rem; padding: .6rem 0; }
.rating-distribution-row > strong { width: 3.5rem; }
.rating-distribution-row > span { min-width: 11rem; text-align: right; color: #667085; }
.rating-tenant-list { margin: -.25rem 0 .5rem 4.5rem; max-width: 42rem; }
.rating-tenant-row { display: flex; justify-content: space-between; gap: 1rem; padding: .35rem .5rem; color: inherit; text-decoration: none; border-radius: .35rem; }
.rating-tenant-row:hover { background: #f2f4f7; }
@media (max-width: 700px) { .rating-distribution-row { flex-wrap: wrap; } .rating-distribution-row > span { min-width: 0; width: 100%; text-align: left; margin-left: 4.5rem; } .rating-tenant-list { margin-left: 0; } }
.report-detail-identity { display: flex; align-items: flex-start; justify-content: space-between; gap: 1.5rem; }
.report-detail-identity h2 { margin: 0; color: #172033; font-size: 1.35rem; font-weight: 700; }
.report-detail-identity p { margin: .45rem 0 0; color: #667085; }
.report-detail-rating { flex: 0 0 auto; color: #172033; font-size: 1.1rem; font-weight: 700; }
.report-detail-content h2, .report-detail-audio h2 { margin: 0 0 1.2rem; color: #172033; font-size: 1.15rem; }
.report-detail-content > :last-child { margin-bottom: 0; }
.report-detail-audio { padding-top: 1.25rem; padding-bottom: 1.25rem; }
@media (max-width: 600px) { .report-detail-identity { flex-wrap: wrap; } .report-detail-rating { flex-basis: 100%; } }

/* Shared shell: compact, warm and consistent across roles. */
.site-header-nav { min-height: 4.25rem; border-bottom: 1px solid var(--prosper-border); background: rgba(255, 255, 255, .96); box-shadow: var(--prosper-shadow-sm); }
.site-brand { display: inline-flex; align-items: center; gap: .55rem; margin-right: .4rem; color: var(--prosper-text); font-weight: 750; letter-spacing: -.02em; }
.site-brand:hover { color: var(--prosper-text); }
.site-brand img { width: 2rem; height: 2rem; object-fit: contain; }
.site-header-nav .navbar-nav { gap: .15rem; }
.site-header-nav .nav-link { padding: .55rem .8rem; border-radius: var(--prosper-radius-sm); color: var(--prosper-muted); font-weight: 600; }
.site-header-nav .nav-link:hover, .site-header-nav .nav-link:focus-visible { background: var(--prosper-accent-soft); color: var(--prosper-accent-dark); }
.site-header-nav .nav-link.active { background: var(--prosper-accent-soft); color: var(--prosper-accent-dark) !important; font-weight: 700; }
.shell-tools { display: flex; align-items: center; gap: .65rem; }
.shell-tool-link { position: relative; display: inline-flex; min-height: 2.75rem; align-items: center; gap: .45rem; padding: .5rem .7rem; border-radius: var(--prosper-radius-sm); color: var(--prosper-muted); font-weight: 650; text-decoration: none; }
.shell-tool-link:hover, .shell-tool-link:focus-visible, .shell-tool-link.active { background: var(--prosper-accent-soft); color: var(--prosper-accent-dark); }
.shell-tool-link svg { width: 1.25rem; height: 1.25rem; fill: currentColor; }
.notification-badge { display: inline-grid; min-width: 1.25rem; height: 1.25rem; place-items: center; padding: 0 .3rem; border-radius: 999px; background: var(--prosper-accent); color: #fff; font-size: .72rem; font-weight: 750; line-height: 1; }
.tenant-context { display: inline-flex; max-width: 16rem; align-items: center; gap: .5rem; overflow: hidden; color: var(--prosper-muted); font-size: .88rem; font-weight: 600; }
.tenant-context img { width: 2rem; height: 2rem; flex: 0 0 auto; object-fit: contain; border: 1px solid var(--prosper-border); border-radius: .45rem; background: var(--prosper-surface); }
.tenant-context span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.impersonation-banner { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; margin-bottom: .75rem; padding: .7rem max(1rem, calc((100% - 1140px) / 2)); border-bottom: 1px solid #e7b77e; background: #fff4df; color: #633d12; }
.impersonation-banner form { margin: 0; }
.impersonation-banner .btn { border-color: #a15b17; color: #633d12; }
.impersonation-banner .btn:hover, .impersonation-banner .btn:focus-visible { background: #a15b17; color: #fff; }
.prosper-breadcrumb { margin: 1.5rem 0 0; padding: 0; color: var(--prosper-muted); font-size: .88rem; }
.prosper-breadcrumb ol { display: flex; flex-wrap: wrap; gap: .35rem; margin: 0; padding: 0; list-style: none; }
.prosper-breadcrumb li { display: inline-flex; align-items: center; min-width: 0; }
.prosper-breadcrumb li + li::before { margin: 0 .35rem 0 .05rem; color: #aaa198; content: "/"; }
.prosper-breadcrumb a { color: var(--prosper-muted); text-decoration: none; }
.prosper-breadcrumb a:hover, .prosper-breadcrumb a:focus-visible { color: var(--prosper-accent-dark); text-decoration: underline; }
.prosper-breadcrumb .current { color: var(--prosper-text); font-weight: 650; }
.surface-card, .form-card, .settings-card, .metric-card, .platform-metric-card { border-color: var(--prosper-border); box-shadow: var(--prosper-shadow-sm); }
.surface-card, .form-card, .settings-card, .metric-card, .platform-metric-card { border-radius: var(--prosper-radius-lg); }
.page-heading { margin-top: 2.25rem; margin-bottom: 1.5rem; }
.page-heading h1, .platform-dashboard-heading h1 { color: var(--prosper-text); }
.page-heading p, .platform-dashboard-heading p { color: var(--prosper-muted); }
.report-bulk-actions { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; padding: .75rem 1rem; border: 1px solid var(--prosper-border); border-radius: var(--prosper-radius-md); background: var(--prosper-accent-soft); }
.report-selection-column { width: 3rem; text-align: center; }
.report-row-checkbox, #select-all-reports { width: 1.1rem; height: 1.1rem; cursor: pointer; }
.report-row:has(.report-row-checkbox:focus-visible), #select-all-reports:focus-visible { outline: 2px solid var(--prosper-accent); outline-offset: 2px; }
@media (max-width: 600px) { .report-bulk-actions { align-items: stretch; flex-direction: column; } .report-bulk-actions .btn { width: 100%; } }
.status-pill.active { color: var(--prosper-success); background: #edf8f1; }
.status-pill.inactive { color: var(--prosper-danger); background: #fff1ef; }
@media (max-width: 767.98px) {
  .site-header-nav .container { flex-wrap: wrap; }
  .site-header-nav .navbar-toggler { margin-left: auto !important; }
  .site-header-nav .navbar-collapse { flex-basis: 100%; order: 4; }
  .site-header-nav .navbar-collapse .navbar-nav { padding-top: .5rem; }
  .shell-tools { margin-left: auto !important; }
  .shell-tool-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
  .tenant-context { order: 3; max-width: 12rem; }
  .impersonation-banner { padding: .7rem 1rem; }
  .prosper-breadcrumb { margin-top: 1rem; padding: 0; }
}

.tenant-edit-page { max-width: 1060px; margin: 0 auto 4rem; }
.tenant-edit-surface { overflow: hidden; border: 1px solid var(--prosper-border); border-radius: var(--prosper-radius-lg); background: var(--prosper-surface); box-shadow: var(--prosper-shadow-sm); }
.tenant-edit-subtitle { margin: .3rem 0 0; color: var(--prosper-muted); }
.tenant-edit-surface > .alert { margin: 1.25rem 2.5rem 0; }
.tenant-edit-section { padding: clamp(1.5rem, 4vw, 2.25rem) clamp(1.5rem, 4vw, 2.5rem); border-top: 1px solid var(--prosper-border); }
.tenant-section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1.5rem; margin-bottom: 1.35rem; }
.tenant-section-heading h2 { margin: 0; color: var(--prosper-text); font-size: 1.25rem; }
.tenant-section-heading .eyebrow { margin-bottom: .35rem; }
.tenant-section-heading > .text-muted { margin: 1.25rem 0 0; text-align: right; }
.tenant-meta-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 2rem; margin: 0 0 1.5rem; }
.tenant-meta-grid > div { padding: .85rem 1rem; border: 1px solid var(--prosper-border); border-radius: var(--prosper-radius-sm); background: #fffdfa; }
.tenant-meta-grid dt { color: var(--prosper-muted); font-size: .82rem; font-weight: 650; }
.tenant-meta-grid dd { margin: .25rem 0 0; color: var(--prosper-text); font-weight: 650; }
.tenant-company-fields { display: grid; grid-template-columns: minmax(260px, 1.4fr) minmax(220px, 1fr) auto; align-items: end; gap: 1rem; }
.tenant-active-field { padding-bottom: .35rem; }
.tenant-active-field small { display: block; margin: .35rem 0 0 1.65rem; color: var(--prosper-muted); font-size: .78rem; }
.tenant-company-action { padding-bottom: .05rem; }
.tenant-admin-card { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 1rem 1.15rem; border: 1px solid var(--prosper-border); border-radius: var(--prosper-radius-md); background: #fffdfa; }
.tenant-user-identity { display: flex; min-width: 0; align-items: center; gap: .8rem; }
.tenant-user-avatar { display: inline-grid; width: 2.35rem; height: 2.35rem; flex: 0 0 auto; place-items: center; border-radius: 50%; background: var(--prosper-accent-soft); color: var(--prosper-accent-dark); font-size: .78rem; font-weight: 750; }
.tenant-user-identity > div { display: flex; min-width: 0; flex-direction: column; }
.tenant-user-identity strong { color: var(--prosper-text); }
.tenant-user-identity span:not(.tenant-user-avatar) { overflow: hidden; color: var(--prosper-muted); text-overflow: ellipsis; white-space: nowrap; }
.tenant-admin-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .65rem; }
.tenant-admin-actions form { margin: 0; }
.tenant-section-count { display: inline-grid; min-width: 1.8rem; height: 1.8rem; place-items: center; border-radius: 999px; background: var(--prosper-accent-soft); color: var(--prosper-accent-dark); font-size: .82rem; font-weight: 750; }
.tenant-users-table { border: 1px solid var(--prosper-border); border-radius: var(--prosper-radius-md); }
.tenant-users-table table { min-width: 760px; margin: 0; }
.tenant-users-table th { padding: .8rem 1rem; color: var(--prosper-muted); font-size: .78rem; font-weight: 700; letter-spacing: .02em; text-transform: uppercase; white-space: nowrap; }
.tenant-users-table td { padding: .85rem 1rem; border-color: var(--prosper-border); }
.tenant-users-table tbody tr:last-child td { border-bottom: 0; }
.tenant-user-name { width: 23%; white-space: nowrap; }
.tenant-user-email { width: 30%; color: var(--prosper-muted); white-space: nowrap; }
.role-pill { display: inline-flex; padding: .25rem .55rem; border: 1px solid var(--prosper-border); border-radius: 999px; color: var(--prosper-muted); font-size: .78rem; font-weight: 650; white-space: nowrap; }
.tenant-user-action { width: 170px; white-space: nowrap; }
.tenant-impersonation { position: relative; display: inline-block; }
.tenant-impersonation summary { list-style: none; }
.tenant-impersonation summary::-webkit-details-marker { display: none; }
.tenant-impersonation-trigger { display: inline-flex; align-items: center; gap: .3rem; padding: .35rem .55rem; border: 1px solid var(--prosper-border); border-radius: var(--prosper-radius-sm); background: var(--prosper-surface); color: var(--prosper-accent-dark); cursor: pointer; font-size: .8rem; font-weight: 650; }
.tenant-impersonation-trigger:hover, .tenant-impersonation-trigger:focus-visible { border-color: var(--prosper-accent); background: var(--prosper-accent-soft); }
.tenant-impersonation-confirmation { position: absolute; z-index: 5; top: calc(100% + .45rem); right: 0; width: min(320px, 75vw); padding: 1rem; border: 1px solid var(--prosper-border); border-radius: var(--prosper-radius-md); background: var(--prosper-surface); box-shadow: var(--prosper-shadow-md); text-align: left; white-space: normal; }
.tenant-impersonation-confirmation p { margin: 0 0 .8rem; color: var(--prosper-text); font-size: .88rem; }
.tenant-impersonation-confirmation form { display: flex; align-items: center; gap: .5rem; }
.tenant-empty-state { margin: 0; padding: 1.25rem; border: 1px dashed var(--prosper-border); border-radius: var(--prosper-radius-md); color: var(--prosper-muted); text-align: center; }
.tenant-danger-zone { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(260px, .8fr); gap: 2rem; max-width: 1060px; margin: 1.5rem auto 4rem; padding: clamp(1.5rem, 4vw, 2.25rem); }
.tenant-danger-zone h2 { margin: 0 0 .75rem; font-size: 1.25rem; }
.tenant-danger-zone h3 { margin: 0 0 .5rem; font-size: 1rem; }
.tenant-danger-zone p { color: #7a3f39; }
.tenant-danger-zone form { align-self: center; }
@media (max-width: 800px) {
  .tenant-company-fields { grid-template-columns: 1fr 1fr; }
  .tenant-company-action { grid-column: 1 / -1; }
  .tenant-danger-zone { grid-template-columns: 1fr; gap: 1rem; }
}
@media (max-width: 600px) {
  .tenant-edit-header, .tenant-section-heading, .tenant-admin-card { align-items: flex-start; flex-direction: column; }
  .tenant-edit-header > .status-pill, .tenant-section-heading > .text-muted { margin-top: 0; text-align: left; }
  .tenant-edit-surface > .alert { margin-right: 1.5rem; margin-left: 1.5rem; }
  .tenant-meta-grid, .tenant-company-fields { grid-template-columns: 1fr; }
  .tenant-company-action { grid-column: auto; }
  .tenant-company-action .btn { width: 100%; }
  .tenant-admin-actions { justify-content: flex-start; }
  .tenant-impersonation-confirmation { position: fixed; top: auto; right: 1rem; bottom: 1rem; left: 1rem; width: auto; }
  .tenant-danger-zone { margin-top: 1rem; }
}

/* Privacy policy */

.privacy-page {
    width: 100%;
    max-width: 1060px;
    margin: 0 auto 4rem;
    padding: clamp(1.5rem, 4vw, 3rem);
    line-height: 1.7;
}

.privacy-page > p:first-of-type {
    max-width: 820px;
    margin-bottom: 1rem;
    color: var(--prosper-muted);
    font-size: 1.05rem;
    line-height: 1.65;
}

.privacy-page h2 {
    margin: 2.75rem 0 1rem;
    padding-bottom: .65rem;
    border-bottom: 1px solid var(--prosper-border);
    color: var(--prosper-text);
    font-size: 1.35rem;
    font-weight: 700;
    letter-spacing: -.01em;
}

.privacy-page h2:first-of-type {
    margin-top: 1.75rem;
}

.privacy-page h3 {
    margin: 1.75rem 0 .65rem;
    color: var(--prosper-text);
    font-size: 1.05rem;
    font-weight: 700;
}

.privacy-page p {
    max-width: 880px;
    margin-bottom: .95rem;
}

.privacy-page ul {
    max-width: 840px;
    margin: .5rem 0 1.25rem;
    padding-left: 1.5rem;
}

.privacy-page li {
    margin-bottom: .4rem;
    padding-left: .15rem;
}

.privacy-page li::marker {
    color: var(--prosper-accent);
}

.privacy-page a {
    font-weight: 600;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}

@media (max-width: 767.98px) {
    .privacy-page {
        margin-bottom: 2rem;
        padding: 1.25rem;
        line-height: 1.6;
    }

    .privacy-page h2 {
        margin-top: 2.25rem;
        font-size: 1.22rem;
    }

    .privacy-page h3 {
        margin-top: 1.5rem;
    }
}