/* Olive actions, pastel-yellow icon tiles, burnt-orange important guidance.
   Labels and pictograms remain the primary navigation cues. */
:root {
  --icon-soft:#fff1b8; --icon-line:#e5d58f;
  --function-account:#6c7a32; --function-account-dark:#46531b; --function-account-soft:#f0f3e6;
  --function-property:#d3a61d; --function-property-dark:#66500f; --function-property-soft:#fbf4d9;
  --function-documents:#5b7210; --function-documents-dark:#43540c; --function-documents-soft:#eef2e2;
  --function-signing:#455b20; --function-signing-dark:#334516; --function-signing-soft:#edf0e5;
  --mint:#617833; --mint-soft:#eef2e5; --coral:#b58c17; --amber:#aa8010; --amber-soft:#fff3cc;
  --clay:#a78318; --clay-dark:#725509; --clay-soft:#fff6d6; --band-clay:#b58c17;
  --terracotta:#b58c17; --terracotta-dark:#725509; --terracotta-soft:#fff6d6;
  --info-ink:var(--important-ink); --info-soft:var(--important-soft); --info-line:var(--important-line);
  --warning-ink:var(--important-ink); --warning-soft:var(--important-soft); --warning-line:var(--important-line);
  --error-ink:#C51424; --error-soft:#FFF2F2; --error-line:#C51424;
  --red:var(--error-ink); --red-soft:var(--error-soft);
  --success-ink:#43540c; --success-soft:#eef2e2; --success-line:#bdc99a;
  --font-display:"Avenir Next",Avenir,"Segoe UI",system-ui,sans-serif;
  --ink:#2d3425; --muted:#646b56; --wash:#f7f8f2; --paper:#fff; --line:#dde2cf;
  --primary:var(--function-documents); --primary-dark:var(--function-documents-dark); --primary-soft:var(--function-documents-soft);
  --function-color:var(--primary); --function-ink:var(--primary-dark); --function-on:#fff;
  --band-ink:var(--ink); --band-olive:var(--primary); --band-olive-hover:var(--primary-dark); --band-soft:var(--primary-soft);
}
/* The masthead in the approved study: 19px / 750 / -.6px. The tracking scales
   with large headings; font availability follows the same native font stack. */
body :is(h1,h2), body .brand strong {
  font-family:var(--font-display)!important;
  font-weight:750!important;
  letter-spacing:-.03158em!important;
  font-synthesis:none;
  color:var(--ink)!important;
}
body :is(h1,h2) :is(em,span) { font-family:inherit; font-weight:inherit; }
body :is(.hero-text h1 em,.hero h1 span) { color:inherit; font-style:normal; }
body :is(.brand-mark,.avatar,.settings-avatar) { background:var(--function-signing)!important; color:#fff!important; box-shadow:none; }
body { color:var(--ink); }

/* Explicit contexts and real destinations, including dynamically rendered
   links. Nested contexts override their parent without changing application JS. */
:is([data-function="account"],.login-body,.profile-view,.onboarding-view,.account-dropdown a[href="#account"],a[href="#account"],a[href$="/inscription.html"],a[href$="/connexion.html"],a[href$="/connexion-securisee.html"]) {
  --primary:var(--function-account); --primary-dark:var(--function-account-dark); --primary-soft:var(--function-account-soft); --function-on:#fff; --function-color:var(--primary); --function-ink:var(--primary-dark);
}
:is([data-function="property"],.onboarding-card:has([data-onboarding-defer-property]),#my-properties,#account-properties-access,#property-view,.registry-card,.saved-property-summary,.property-picker,a[href="#my-properties"],a[href$="/dashboard.html#my-properties"],.owner-prefill,.onboarding-property-form) {
  --primary:var(--function-property); --primary-dark:var(--function-property-dark); --primary-soft:var(--function-property-soft); --function-on:#302814; --function-color:var(--primary); --function-ink:var(--primary-dark);
}
:is([data-function="documents"],#demo-access,#demo-button,.demo-switcher,#my-files,#stored-documents-disclosure,#invoices,.document-card,.stored-document-card,.document-file-card,.property-documents,.draft-card,.quick-card,.reference-home-actions,a[href="#my-files"],a[href$="/dashboard.html#my-files"],a[href*="/document-final.html"],a[href*="/rediger-un-bail.html"],a[href*="/etat-des-lieux.html"],a[href*="/louer-un-parking.html"],a[href*="/quittance-loyer.html"],a[href*="/acte-cautionnement.html"],a[href*="/avenant-bail.html"],a[href*="/revision-loyer.html"],a[href*="/preavis-depart.html"],a[href$="/decouvrir.html"]) {
  --primary:var(--function-documents); --primary-dark:var(--function-documents-dark); --primary-soft:var(--function-documents-soft); --function-on:#fff; --function-color:var(--primary); --function-ink:var(--primary-dark);
}
:is([data-function="signing"],.edl-sign-panel,[data-edl-sign],[data-open-remote-signing],[data-open-guarantor-signing],#confirm-owner-lease-signature,.signing-editor-card,.account-signing-form,.signing-invitation,.remote-signing-panel,.signer-body,.signing-flow,.home-signing-card,.remote-signing-box,.signing-choice,.signature-choice,.signature-section,a[href*="/signer.html"],a[href="#account-signing-form"],.signer-primary,[data-start-signing],[data-open-signing],[data-create-signing-request]) {
  --primary:var(--function-signing); --primary-dark:var(--function-signing-dark); --primary-soft:var(--function-signing-soft); --function-on:#fff; --function-color:var(--primary); --function-ink:var(--primary-dark);
}
:is([data-function],.login-body,.profile-view,#my-properties,#account-properties-access,#property-view,.registry-card,.saved-property-summary,.owner-prefill,#my-files,#invoices,.document-card,.stored-document-card,.document-file-card,.property-documents,.draft-card,.quick-card,.reference-home-actions,.signing-editor-card,.account-signing-form,.signing-invitation,.remote-signing-panel,.signer-body,.home-signing-card,a[href],.signer-primary) {
  --function-color:var(--primary); --function-ink:var(--primary-dark);
  --band-olive:var(--primary); --band-olive-hover:var(--primary-dark); --band-soft:var(--primary-soft);
}

/* Keep strong fills on the icon and the principal action; secondary controls
   remain white. These declarations outrank the historic component skins. */
body :is(.button.primary,.portal-primary,.demo-button,.signer-primary,.home-button,.primary-action,.withdrawal-form button) {
  background:var(--function-color)!important; border-color:var(--function-color)!important;
  color:var(--function-on)!important; box-shadow:none!important; background-image:none!important;
}
body :is(.button.primary,.portal-primary,.demo-button,.signer-primary,.home-button,.primary-action,.withdrawal-form button):hover:not(:disabled) {
  background:var(--function-color)!important; color:var(--function-on)!important; filter:brightness(.94); transform:none;
}
body :is(.button.primary,.portal-primary,.demo-button,.signer-primary):disabled { filter:none; opacity:.58; }
body :is(.button.soft,.button.ghost,.button.secondary,.portal-secondary,.signer-secondary,.back-button) {
  background:#fff!important; border:1px solid #bdc7b2; color:#424b39; box-shadow:none;
}
body :is(.button.soft,.button.ghost,.button.secondary,.portal-secondary,.signer-secondary):hover:not(:disabled) { background:#f1f3ed!important; }
body :is(button,a,summary,input,select,textarea):focus-visible { outline-color:var(--function-ink,var(--ink)); }
body :is(.account-menu-symbol,.registry-card-icon,.account-menu-icon,.choice-icon,.service-icon) {
  background:var(--function-color)!important; color:var(--function-on)!important; border-color:var(--function-color)!important; box-shadow:none;
}
body.dashboard-body #home-view .quick-card .quick-icon,
body.dashboard-body #home-view .quick-card.lease-action .quick-icon {
  border-radius:10px; background:var(--function-color)!important; color:var(--function-on)!important; border:1px solid var(--function-color)!important;
}
body.dashboard-body #home-view .quick-card { background:#fff; }
body.dashboard-body #home-view .quick-card.lease-action { background:#fff; }
body.dashboard-body #home-view .quick-card b { color:var(--function-ink); }
body.dashboard-body #home-view :is(.quick-card,.quick-card.lease-action):is(:hover,:focus-visible) { background:var(--primary-soft); }
body .account-disclosure-icon { color:var(--muted); background:#f5f6f2; border-color:var(--line); }
body :is(#data-management,#account-security) { --primary:#646b56; --primary-dark:#424b39; --primary-soft:#f1f3ed; --function-on:#fff; --function-color:var(--primary); }
body .registry-card-edit { border-color:var(--function-property); color:var(--function-property-dark); }
body .account-dropdown a .account-menu-icon { border-radius:9px; }
body .account-dropdown a[href="#invoices"] { --primary:var(--function-documents); --primary-dark:var(--function-documents-dark); --primary-soft:var(--function-documents-soft); --function-color:var(--primary); --function-on:#fff; }
body .account-dropdown button .account-menu-icon { background:#f1f3ed!important; color:#424b39!important; border-color:var(--line)!important; }
/* Deletion remains an outlined, explicitly named action, distinct from the
   filled account accent. Errors keep their existing labelled message styles. */
body .button.danger { color:var(--red,#9b3434)!important; border:1px solid #d9a9a3; background:#fff!important; box-shadow:none; }

/* Public storefront and fallback home use the same destinations and palette. */
body .header-action { color:var(--function-account-dark); border-color:var(--function-account); background:#fff; box-shadow:none; }
body .header-action:hover { background:var(--function-account-soft); }
body .text-action[href*="inscription"] { color:var(--function-account-dark); }
body .document-list article > svg { padding:9px; width:44px; height:44px; flex-basis:44px; border-radius:10px; color:#fff; background:var(--function-documents); margin-top:0; }
body .document-intro > svg { color:var(--function-documents); }
body .journey-steps .step-number { border-color:var(--function-documents); color:var(--function-documents); background:#fff; }
body .journey-steps::before { background:var(--line); }
body .hero-service > .service-link { color:var(--ink); background:white; }
body .hero-service > .service-link.service-lease { color:var(--ink); background:white; }
body .hero-service > .service-link.service-lease :is(strong,small,b) { color:inherit; }
body .hero-service > .service-link:hover { background:var(--function-documents-soft); }
body .hero-service > .service-link .service-icon { color:#fff!important; background:var(--function-documents)!important; }
@media (prefers-reduced-motion:reduce) { body :is(.button,.primary-action,.header-action) { transition:none; } }
body footer .brand strong { color:#fff!important; }
body :is(.progress-track,.onboarding-progress-track) > span { background:var(--primary)!important; }
/* Text-only choices do not have the icon column used by illustrated cards. */
body .choice-card:not(:has(.choice-icon)) { grid-template-columns:minmax(0,1fr); align-content:start; gap:8px; }
body .choice-card:not(:has(.choice-icon)) > :is(strong,small) { grid-column:1; min-width:0; }
/* Parking keeps its legacy icon nodes hidden; reserve no empty icon column. */
body .parking-shell .choice-card { grid-template-columns:minmax(0,1fr); align-content:start; gap:8px; }
body .parking-shell .choice-card > :is(strong,small) { grid-column:1; min-width:0; }
body .button.soft:is([aria-pressed="true"],[aria-selected="true"]),
body .button.soft:is([aria-pressed="true"],[aria-selected="true"]):hover:not(:disabled) { background:var(--function-color)!important; color:var(--function-on)!important; border-color:var(--function-color); }
body .login-symbol { background:var(--function-account); color:#fff; border-color:var(--function-account); }

body.signer-body[data-function="documents"] { --primary:var(--function-documents); --primary-dark:var(--function-documents-dark); --primary-soft:var(--function-documents-soft); --function-color:var(--primary); --function-ink:var(--primary-dark); --function-on:#fff; }

/* Retouches sobres — the approved finishing layer, shared by application and
   storefront. Semantic notices use existing state classes; no invented status. */
:root {
  --important-soft:#FFF2E6; --important-ink:#B54B12; --important-line:#B54B12;
  --completion-soft:var(--important-soft); --completion-ink:var(--important-ink); --completion-line:var(--important-line);
}
body :is(.account-menu-symbol,.registry-card-icon,.account-menu-icon,.choice-icon,.service-icon,.login-symbol),
body.dashboard-body #home-view :is(.quick-card,.quick-card.lease-action) .quick-icon,
body .hero-service > .service-link .service-icon {
  background:color-mix(in srgb,var(--function-color) 10%,white)!important;
  color:var(--function-ink)!important;
  border:1px solid color-mix(in srgb,var(--function-color) 22%,white)!important;
  border-radius:10px!important; box-shadow:none!important;
}
body .document-list article > svg {
  background:var(--function-documents-soft)!important; color:var(--function-documents-dark)!important;
  border:1px solid #d7dfbd!important;
}
body :is(#data-management,#account-security) .account-menu-symbol {
  background:#f1f3ed!important; color:#424b39!important; border-color:#dde2cf!important;
}
body :is(.profile-editor-card,.settings-card,.registry-card,.document-card,.stored-document-card,.document-file-card,.draft-card,.remote-request-card,.onboarding-card,.login-card,.pricing-example) {
  border-radius:20px!important; border:1px solid #e2e6db!important; box-shadow:none!important;
}
body :is(.profile-editor-heading h2,.registry-card h2,.draft-card h2,.settings-card h2),
body #account-properties-access h2 {
  font-weight:650!important; letter-spacing:-.02em!important; line-height:1.3!important;
}
body #account-view :is(.profile-editor-heading h2),body #account-properties-access h2 { font-size:18px!important; }
body #account-view .account-menu-symbol { width:43px!important; height:43px!important; flex-basis:43px!important; }
body #account-view .account-disclosure > summary,body #account-properties-access { padding:19px 22px!important; gap:18px!important; }
body #account-view details.profile-editor-card.account-disclosure { padding:0!important; }
body #account-view details.profile-editor-card.account-disclosure > div { margin:0 22px 22px!important; }
body #account-view .account-disclosure[open] { border-color:#c5ceb8!important; }
body #account-view .account-disclosure[open] > summary { border-bottom:1px solid #e8ebe2!important; margin-bottom:20px!important; }
body #account-view .profile-editor-heading p,body #account-properties-access p {
  font-size:13px!important; color:var(--muted)!important; line-height:1.55!important; margin-top:5px!important;
}
body .account-disclosure-icon {
  background:transparent!important; border:1px solid #dbe1d2!important; color:#68725b!important;
  border-radius:50%!important; width:29px!important; height:29px!important; flex-basis:29px!important;
}
body .profile-view-intro { font-size:14px!important; line-height:1.65!important; margin-bottom:24px!important; }
body .profile-view-intro a { font-weight:550!important; text-underline-offset:4px!important; }
body :is(.button.primary,.button.soft,.button.secondary,.button.ghost,.portal-primary,.portal-secondary,.signer-primary,.signer-secondary,.primary-action,.header-action,.home-button,.withdrawal-form button),
body :is(#next-button,#previous-button) {
  border-radius:var(--radius-action)!important; min-height:45px!important; box-shadow:none!important; font-weight:600!important;
}
body :is(button,a,summary,input,select,textarea):focus-visible {
  outline:3px solid var(--function-ink,#43591b)!important; outline-offset:4px!important;
}
/* Password visibility follows the rectangular input shape in login and signup. */
body .password-toggle { border-radius:9px!important; }
/* Keep native controls and validation colours intact. */
body :is(input:not([type=radio]):not([type=checkbox]):not([type=range]):not([type=color]):not([type=file]),select,textarea) { border-radius:9px!important; }
/* The missing control remains red while focused in every editor. */
body :is(input,select,textarea)[aria-invalid="true"] {
  border-color:var(--red,#9f3440)!important;
  background-color:var(--red-soft,#f9e8e8)!important;
  outline-color:var(--red,#9f3440)!important;
}
body :is(.field,fieldset,.toggle-row,.composition-question,.simple-item-states,.simple-item-quantity,.binary-control,.form-group,.card-grid)[data-inline-invalid="true"] {
  border:1px solid var(--red,#9f3440)!important;
  background:var(--red-soft,#f9e8e8)!important;
  border-radius:9px;
}
body [data-inline-invalid="true"]:focus-visible { outline-color:var(--red,#9f3440)!important; }
body [data-inline-message] { display:block; grid-column:1 / -1; color:var(--red,#9f3440); }
/* Help is a circle, with a stable square hit area. Generic disclosure padding
   and 44px minimum heights must not stretch the narrower question mark. */
body :is(.minimal-help,.field-help,.onboarding-help,.property-field-help,.folder-inline-help,.privacy-note.plain-help) > summary {
  display:inline-grid; place-items:center; box-sizing:border-box; flex:0 0 44px;
  width:44px!important; min-width:44px!important; max-width:44px!important;
  height:44px!important; min-height:44px!important; max-height:44px!important;
  aspect-ratio:1; padding:0!important; line-height:1; border-radius:50%!important;
  list-style:none;
}
body :is(.minimal-help,.field-help,.onboarding-help,.property-field-help,.folder-inline-help,.privacy-note.plain-help) > summary::before,
body :is(.minimal-help,.field-help,.onboarding-help,.property-field-help,.folder-inline-help,.privacy-note.plain-help) > summary::after { content:none!important; display:none!important; }
body :is(.minimal-help,.field-help,.onboarding-help,.property-field-help,.folder-inline-help,.privacy-note.plain-help) > summary::-webkit-details-marker { display:none; }
body :is(.minimal-help-mark,.field-help > summary > span,.onboarding-help > summary > span,.journey-help-mark,.annex-guidance > span,.selection-help > span,.profile-choice-help > i,.account-method-comment > i) {
  display:inline-grid; place-items:center; box-sizing:border-box; flex:0 0 24px;
  width:24px!important; min-width:24px!important; max-width:24px!important;
  height:24px!important; min-height:24px!important; max-height:24px!important;
  aspect-ratio:1; padding:0!important; line-height:1; border-radius:50%!important;
}
body .choice-card {
  border:1px solid #dbe1d3!important; border-radius:16px!important; box-shadow:none!important;
  gap:5px 12px!important; padding:19px!important; min-height:101px!important;
}
body .choice-card strong { font-weight:600!important; font-size:15px!important; line-height:1.35!important; letter-spacing:-.015em!important; }
body .choice-card small { font-size:12px!important; line-height:1.5!important; color:var(--muted)!important; }
body .choice-card:has(input:checked) { background:var(--primary-soft)!important; border:1.5px solid var(--function-color)!important; box-shadow:none!important; }
body .substep-nav button { border-radius:9px!important; font-weight:500!important; }
body :is(.form-card,.form-section,.step-panel) { box-shadow:none!important; }
/* Burnt orange marks important guidance. Existing text, links and error messages
   retain their meaning; blank status placeholders remain empty and invisible. */
body :is(.info-box,.account-warning,.draft-notice,.payment-notice) {
  background:var(--important-soft)!important; color:var(--important-ink)!important;
  border:1px solid var(--important-line)!important; border-radius:12px!important; padding:14px 16px!important;
}
body :is(.info-box,.account-warning,.draft-notice,.payment-notice) :is(p,small,strong,span) { color:inherit!important; }
body :is(.info-box,.account-warning,.draft-notice,.payment-notice) a { color:inherit!important; text-decoration:underline!important; text-underline-offset:3px!important; }
body :is(.info-box,.account-warning,.draft-notice,.payment-notice):empty { display:none!important; }
body .test-mode-banner { background:var(--important-soft)!important; color:var(--important-ink)!important; border-color:var(--important-line)!important; }
/* Burnt orange also marks genuine unfinished/saving states, already generated by
   the application. Completed and error states keep their own treatments. */
body :is(.account-asset-save-state.pending,.account-signing-save-summary.pending,.status-chip.pending,.status-chip[data-preparation-state="incomplete"],.project-task-count) {
  color:var(--completion-ink)!important; background:var(--completion-soft)!important;
  border:1px solid var(--completion-line)!important; border-radius:6px!important;
}
body .account-asset-card.asset-pending { border-color:var(--completion-line)!important; background:#fff9e6!important; }
body .property-document-pending { background:var(--completion-soft)!important; border-color:var(--completion-line)!important; }
body .property-document-pending > strong { color:var(--completion-ink)!important; }
body .footer-save-state[data-state="warning"]::before { background:var(--completion-ink)!important; }
@media(hover:hover) and (pointer:fine) {
  body #account-view .account-disclosure > summary:hover { background:#fafbf8!important; }
  body .choice-card:hover { border-color:#a6b58f!important; }
}
@media(max-width:600px) {
  body :is(.profile-editor-card,.settings-card,.registry-card,.document-card,.stored-document-card,.document-file-card,.draft-card,.remote-request-card,.onboarding-card,.login-card,.pricing-example) { border-radius:17px!important; }
  body #account-view .account-disclosure > summary,body #account-properties-access { padding:17px 15px!important; gap:12px!important; }
  body #account-view details.profile-editor-card.account-disclosure > div { margin:0 15px 18px!important; }
  body #account-view .profile-editor-heading h2,body #account-properties-access h2 { font-size:16px!important; }
  body #account-view .profile-editor-heading p,body #account-properties-access p { font-size:11px!important; }
  body #account-view .account-menu-symbol { width:40px!important; height:40px!important; flex-basis:40px!important; }
  body .account-disclosure-icon { width:25px!important; height:25px!important; flex-basis:25px!important; }
  body .choice-card { padding:16px!important; min-height:89px!important; }
  body .choice-card strong { font-size:14px!important; }
  body .choice-card small { font-size:11px!important; }
  body #substep-nav { display:flex!important; flex-wrap:nowrap!important; overflow-x:auto!important; max-width:100%!important; min-width:0!important; gap:8px!important; padding:3px 1px 8px!important; scrollbar-width:thin!important; scrollbar-color:#bac4ad transparent!important; }
  body #substep-nav button { flex:0 0 auto!important; white-space:nowrap!important; max-width:none!important; width:auto!important; }
  body #substep-nav button * { white-space:nowrap!important; }
}

/* Neutral document states and secondary indicators follow the olive family. */
body .status-chip.purple { color:var(--function-documents-dark)!important; background:var(--function-documents-soft)!important; border-color:#d7dfbd; }
body .status-chip[data-preparation-state="incomplete"] { color:var(--completion-ink)!important; background:var(--completion-soft)!important; border-color:var(--completion-line)!important; }

/* All existing functional icon tiles share the requested pastel yellow.
   Logos, avatars, disclosure controls and unboxed inline SVGs keep their roles. */
body :is(.account-menu-symbol,.registry-card-icon,.account-menu-icon,.choice-icon,.service-icon,.login-symbol,.notice-symbol,.document-kind-icon,.property-document-icon,.empty-icon,.feature-icon,.test-result-icon),
body.dashboard-body #home-view :is(.quick-card,.quick-card.lease-action) .quick-icon,
body .hero-service > .service-link .service-icon,
body .account-dropdown button .account-menu-icon,
body :is(#data-management,#account-security) .account-menu-symbol,
body .document-list article > svg {
  background:var(--icon-soft)!important;
  border:1px solid var(--icon-line)!important;
  color:var(--function-ink,#43540c)!important;
  box-shadow:none!important;
}
body .account-asset-card.asset-pending { background:var(--completion-soft)!important; }

/* One rectangular action shape across public pages, account and editors.
   Status dots, radio indicators and avatars are not action buttons. */
:root { --radius-action:9px; --radius-navigation:9px; }
body :is(button,.button,.portal-primary,.portal-secondary,.home-button,.home-login-link,.login-home-link,.service-link,.modal-jump,.primary-action,.header-action,.back-button,.text-button,.demo-button,.account-trigger,.signer-primary,.signer-secondary,.offer-actions a,.price-card > a,.preview-workspace button),
body.home-body .hero-service > .service-link,
body input[type=file]::file-selector-button {
  border-radius:var(--radius-action)!important;
}
body :is(#step-nav .nav-step,#inspection-nav .inspection-nav-button),
body :is(.app-shell,.inspection-shell) :is(#step-nav,#inspection-nav) :is(.nav-step,.inspection-nav-button) {
  border-radius:var(--radius-navigation)!important;
}

/* Native hidden state takes precedence over shared button display rules. */
html body [hidden] { display:none!important; }

/* Approved semantic palette: green actions, burnt-orange guidance, vivid red errors.
   Presentation only: validation, saving and signing state machines are unchanged. */
.login-body { --login-error:var(--error-ink); }
body :is(.info-box,.warning-box,.validation-note,.account-warning,.draft-notice,.payment-notice,.blocking-copy,.auth-note.warning) {
  color:var(--important-ink)!important;
  background-color:var(--important-soft)!important;
  border-color:var(--important-line)!important;
}
body :is(.info-box,.warning-box,.validation-note,.account-warning,.draft-notice,.payment-notice,.blocking-copy,.auth-note.warning) :is(p,small,strong,span) { color:inherit!important; }
body :is(.info-box,.warning-box,.validation-note,.account-warning,.draft-notice,.payment-notice,.blocking-copy,.auth-note.warning) a:not(.button) { color:inherit!important; }
body :is(.form-message.info,.form-message[data-state="info"]) {
  color:var(--important-ink)!important; background-color:var(--important-soft)!important;
}
body :is(.room-photo-warning,.validation-warning>summary) { color:var(--important-ink)!important; }
body :is(.error-box,.field-error,.receipt-field-error,.form-message.error,.error-message),
body [data-state="error"]:not(button):not(a) {
  color:var(--error-ink)!important;
}
body .error-box,
body :is(.payment-feedback,.remote-signing-feedback,.withdrawal-feedback)[data-state="error"] {
  color:var(--error-ink)!important; background-color:var(--error-soft)!important;
  border-color:var(--error-line)!important;
}
body .error-box :is(p,small,strong,span),body .error-box a:not(.button) { color:inherit!important; }
body :is(.field-error,.receipt-field-error) { border-color:var(--error-line)!important; }
body :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea)[aria-invalid="true"] {
  border-color:var(--error-line)!important; background-color:var(--error-soft)!important;
}
body :is(input,select,textarea)[aria-invalid="true"]:focus-visible {
  outline-color:var(--error-ink)!important; box-shadow:0 0 0 3px #c514241f!important;
}
body :is(.footer-save-state,.save-state,.lease-mobile-save-state)[data-state="error"]::before { background:var(--error-ink)!important; }
body :is(.footer-save-state,.save-state,.lease-mobile-save-state)[data-state="warning"] { color:var(--important-ink)!important; }
body .form-message[data-state="success"] { color:var(--success-ink)!important; background-color:var(--success-soft)!important; }

/* Keep selection and progress visible when the OS replaces page colours. */
@media (forced-colors: active) {
  body :is(.choice-card.selected,.nav-step.active,.simple-room-tab.active,.room-tab.active,.substep-button.active) {
    outline: 2px solid Highlight!important; outline-offset: -3px; border-color: Highlight!important;
  }
  body .choice-card.selected::after { content: "✓"; position: absolute; right: 8px; top: 8px; color: Highlight; forced-color-adjust: none; }
  body :is(.simple-room-tab.active,.room-tab.active,.substep-button.active) { text-decoration: underline; }
  body .toggle-row input.toggle { border: 1px solid ButtonText!important; background: Canvas!important; forced-color-adjust: none; }
  body .toggle-row input.toggle::after { background: ButtonText!important; box-shadow: none!important; }
  body .toggle-row input.toggle:checked { background: Highlight!important; }
  body .toggle-row input.toggle:checked::after { background: HighlightText!important; }
  body .progress-track { border: 1px solid CanvasText!important; background: Canvas!important; }
  body .progress-track span { background: Highlight!important; forced-color-adjust: none; }
  body :is(.nav-step.active,.simple-room-tab.active,.room-tab.active,.substep-button.active):focus-visible,
  body .choice-card.selected:has(input:focus-visible),
  body .toggle-row input.toggle:focus-visible { outline: 3px solid CanvasText!important; outline-offset: 2px; }
}
/* Preserve the existing field text while separating the optional marker. */
body .parking-shell .field label .optional-label { display: inline-block; margin-inline-start: .35em; }
@media (max-width: 360px) {
  .dashboard-body .portal-header .portal-navigation[data-dashboard-navigation-ready] { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); overflow: visible; }
  .dashboard-body .portal-header .portal-navigation a { justify-content: center; text-align: center; }
}

/* The account access remains one link to the existing property space, with the same card geometry. */
body #account-properties-access.account-properties-link { display:flex; flex-direction:row; align-items:center; width:100%; margin:16px 0 0; text-decoration:none; color:var(--ink); background:var(--paper); border:1px solid var(--line); }
body #account-properties-access.account-properties-link > div { min-width:0; flex:1; }
body #account-properties-access.account-properties-link h2 { margin:0 0 6px; }
body #account-properties-access.account-properties-link p { margin:0; }
body #account-properties-access .account-access-arrow { flex:0 0 auto; font-size:24px; }
body #account-properties-access.account-properties-link:hover { background:#fafbf8!important; }

/* A visible exit action belongs to the heading, with the existing danger palette. */
body .button[data-form-exit] {
  color: var(--error-ink)!important;
  background: var(--error-soft)!important;
  border: 1px solid var(--error-line);
  box-shadow: none!important;
  min-height: 44px;
  font-weight: 650;
  padding: 10px 14px;
  flex: 0 0 auto;
  max-width: 100%;
}
body .button[data-form-exit]:hover { color: var(--error-ink)!important; background: var(--paper)!important; border-color:var(--error-ink); }
body .button[data-form-exit]:focus-visible { outline: 3px solid var(--primary); outline-offset: 3px; }
.validation-error-group { border-top: 1px solid currentColor; margin-top: 12px; }
.validation-error-group > summary { min-height: 44px; padding: 10px 0; cursor: pointer; }
.validation-error-group > summary strong { margin-right: 10px; }
.validation-error-group > summary span { font-size: .85em; }
.validation-error-group .validation-list { margin-block: 4px 12px; }
@media (max-width: 780px) {
  body.journey-page .topbar { display: flex; flex-wrap: nowrap; min-height: 64px; gap: 8px; padding: 8px 14px; }
  body.journey-page .topbar .brand { min-width: 44px; flex-shrink: 1; }
  body.journey-page .topbar .brand small { display: none; }
  body.journey-page .topbar .top-actions { width: auto; min-width: 0; margin-left: auto; flex-wrap: nowrap; gap: 6px; }
  body.journey-page .topbar .top-actions > a[href="/dashboard.html"] { display: inline-flex; min-height: 44px; white-space: nowrap; }
  body.journey-page .topbar .account-trigger { min-width: 44px; min-height: 44px; padding: 4px 8px; }
  body.journey-page .topbar .account-copy { display: none; }
  body.journey-page :is(.sidebar, .inspection-sidebar) { padding: 8px 14px; }
  body.journey-page :is(.sidebar, .inspection-sidebar) > .privacy-note { margin: 0; }
  body.journey-page :is(.sidebar, .inspection-sidebar) > .privacy-note > summary { min-height: 44px; padding-block: 4px; }
  body.journey-page .inspection-nav-toggle { min-height: 44px; padding-block: 8px; }
  body.journey-page :is(.workspace-header, .inspection-heading) .button[data-form-exit] { padding: 4px 8px; margin: 0; }
  body.journey-inspection #inspection-undo {
    position: static; transform: none; width: 100%; max-width: 100%;
    grid-column: 1 / -1; order: -2; flex-basis: 100%; flex-wrap: nowrap;
    margin: 0; padding: 4px 0; gap: 8px; border-radius: 0;
    color: var(--ink); background: transparent; box-shadow: none;
  }
  body.journey-inspection #inspection-undo button { min-width: 44px; min-height: 44px; color: var(--function-ink); border-color: var(--line); }
  body.journey-inspection #inspection-undo-label { min-width: 0; flex: 1; font-size: 13px; }
  body.journey-inspection.inspection-has-undo .footer-save-state:is([data-state="saved"],[data-state="synced"]) { display: none!important; }
  body.journey-inspection.inspection-has-undo .inspection-footer { padding-bottom: max(12px, env(safe-area-inset-bottom)); }
}
@media (max-width: 360px) {
  body.journey-page .topbar .brand > span:last-child { display: none; }
}

/* Keep undo text legible inside the footer on both solid and transparent surfaces. */
body #inspection-undo-label { color: inherit; }

/* Keep the title flexible and the exit action at the right, even on a small screen. */
body .form-header-with-exit { display:flex; flex-wrap:wrap; align-items:flex-start; gap:12px; }
body .form-header-with-exit > div:first-child { flex:1 1 240px; min-width:0; }
body .form-header-with-exit > .button[data-form-exit] { margin:0 0 0 auto; }
body .form-with-exit > .button[data-form-exit] { float:right; margin:0 0 12px 12px; }
body .form-with-exit > h1 + p { clear:both; }
@media(max-width:780px) {
 body.journey-page .form-header-with-exit > .button[data-form-exit] { order:-1; margin:0 0 0 auto; padding:10px 14px; }
 body .form-header-with-exit > div:first-child { flex-basis:100%; }
 body .form-with-exit > .button[data-form-exit] { float:none; display:table; margin:0 0 12px auto; }
}
