/* Direction validée : feuille blanche, étapes reliées, actions explicites. */
:root { --ink:#26311f; --muted:#626b5d; --primary:#4d6131; --primary-dark:#354722; --primary-soft:#edf1e7; --wash:#f7f8f4; --line:#dde2d6; --radius-control:14px; --radius-panel:26px; --card-radius:20px; }
body { background:var(--wash); }
body :is(.button,.portal-primary,.demo-button,.signer-primary,.signer-secondary,.back-button,.text-button,.account-trigger,.home-situation-choices button) { border-radius:999px; min-height:44px; line-height:1.4; }
body :is(.button,.portal-primary,.signer-primary,.signer-secondary) { padding:12px 20px; white-space:normal; }
body :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=file]):not([type=range]),select,textarea) { border-radius:14px; }
body select { min-height:48px; }
body :is(.form-section,.receipt-panel,.draft-card,.document-file-card,.stored-document-card,.profile-editor-card,.account-disclosure,.property-card,.home-signing-card,.signer-card,.mark-panel,.login-card,.register-card,.onboarding-card,.onboarding-welcome,.onboarding-complete,.payment-card,.dialog-panel,.tool-dialog,.modal-card) { border-radius:24px; box-shadow:none; }
body dialog { border-radius:26px; }
body :is(.status-pill,.status-chip,.local-badge,.save-state,.signature-status,.signing-access-code) { border-radius:999px; }
body :is(.brand-mark,.avatar) { clip-path:none; padding:0; border-radius:14px; }
body :is(.brand-mark,.avatar)::after { display:none; }
body summary { min-height:44px; padding-block:11px; box-sizing:border-box; cursor:pointer; line-height:1.5; }
body :is(.journey-guide,.journey-page .journey-guide,.stage-lead,.owner-prefill,.selection-help,.journey-review-actions,.situation-panel,.choice-card,.segment span,.account-method-choice,.signing-invitation,.account-warning,.draft-notice,.phase-banner) { border-radius:18px; }
body .journey-page .journey-guide { background:var(--wash); border:1px solid var(--line); }
.journey-page .journey-guide > summary { padding-inline:16px; }
body :is(.account-warning,.validation-note,.receipt-total) { background:#fff4df; }
body .account-warning { color:#664c1d; }
body :is(.progress-track,.progress-track span,.onboarding-progress-track,.onboarding-progress-track span) { border-radius:999px; transition:none; }
body :is(.step-content,.inspection-step,.receipt-panel,.room-photo-card.just-added) { animation:none; }
.room-photo-card.just-added { outline:2px solid var(--primary); outline-offset:2px; }
body :is(.wizard-footer,.guided-navigation) { gap:12px; }
body .wizard-footer .button { min-height:48px; }
body .guided-progress { padding:14px 18px; border-radius:18px; background:var(--primary-soft); }
/* Les choix de navigation restent immédiats. Le trait relie les vraies étapes. */
@media(min-width:781px) {
 body :is(.app-shell,.inspection-shell) { gap:20px; padding:24px; }
 body :is(.sidebar,.inspection-sidebar) { border:0; background:transparent; padding:16px 0; }
 body :is(.workspace,.inspection-workspace) { border:1px solid var(--line); border-radius:26px; padding:28px; }
 body :is(.summary-panel,.inspection-summary) { border:0; background:transparent; }
 body :is(#step-nav,#inspection-nav) { gap:0; position:relative; }
 body :is(#step-nav,#inspection-nav)::before { content:''; position:absolute; top:25px; bottom:25px; left:24px; width:3px; background:var(--line); }
 body :is(#step-nav .nav-step,#inspection-nav .inspection-nav-button) { position:relative; border:0; border-radius:16px; background:transparent; min-height:60px; padding:12px; gap:12px; box-shadow:none; }
 body :is(#step-nav .nav-step,#inspection-nav .inspection-nav-button) > span:first-child { z-index:1; border-radius:50%; border:2px solid var(--line); background:white; color:var(--muted); width:26px; height:26px; box-shadow:none; }
 body :is(#step-nav .nav-step.active,#inspection-nav .inspection-nav-button.active) { background:var(--primary-soft); color:var(--primary-dark); box-shadow:none; }
 body :is(#step-nav .nav-step.active,#inspection-nav .inspection-nav-button.active) :is(span,strong) { color:inherit; }
 body :is(#step-nav .nav-step.active,#step-nav .nav-step.done,#inspection-nav .inspection-nav-button.active,#inspection-nav .inspection-nav-button.done) > span:first-child { border-color:var(--primary); background:var(--primary); color:white; }
}
/* Accueil : un parcours principal, les documents complémentaires restent directs. */
/* Le fond du rail EDL suit la colonne, le padding et la moitié du gap.
   Les anciens stops 190/220px ignoraient le padding du shell. */
@media (min-width:821px) {
 body .inspection-shell {
  --inspection-rail-width:220px;
  --inspection-rail-edge:calc(24px + var(--inspection-rail-width) + 10px);
  background:linear-gradient(to right,
   var(--wash) 0,
   var(--wash) calc(var(--inspection-rail-edge) - 1px),
   var(--line) calc(var(--inspection-rail-edge) - 1px),
   var(--line) var(--inspection-rail-edge),
   var(--paper) var(--inspection-rail-edge));
 }
}
@media (min-width:821px) and (max-width:1000px) {
 body .inspection-shell { --inspection-rail-width:190px; }
}
.dashboard-body .home-situations { background:white; border:1px solid var(--line); border-radius:26px; padding:28px; }
.dashboard-body #home-view .quick-actions { display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:none; gap:0; border:0; border-radius:0; background:transparent; }
.dashboard-body #home-view .quick-card { position:relative; grid-column:auto!important; grid-row:auto!important; border:1px solid var(--line)!important; background:white; color:var(--ink); min-height:96px; padding:18px 18px 18px 64px!important; border-radius:18px; box-shadow:none; }
/* Also outrank the legacy adjacent-card rule in linked-band.css. */
.dashboard-body #home-view .home-situations .quick-card { border-radius:18px; border-color:transparent!important; }
.dashboard-body #home-view .home-situations .quick-actions > .quick-card + .quick-card,
.dashboard-body #home-view .home-situations .home-other-actions > .quick-card + .quick-card { margin-top:8px; }
.dashboard-body #home-view .quick-card.lease-action { min-height:108px; background:var(--primary-soft); border-radius:18px; }
.dashboard-body #home-view .quick-card :is(strong,em) { color:inherit; }
.dashboard-body #home-view .quick-card strong,.dashboard-body #home-view .quick-card.lease-action strong { font-size:20px; line-height:1.3; }
.dashboard-body #home-view .quick-card em { display:block; font-size:15px; color:var(--muted); line-height:1.5; margin-top:5px; }
.dashboard-body #home-view .quick-card .quick-icon { position:absolute; left:16px; top:24px; width:32px; height:32px; background:white; border:2px solid var(--primary); border-radius:50%; color:var(--primary); box-shadow:none; }
.dashboard-body #home-view .home-situations .quick-card::before { content:none; display:none; }
.dashboard-body #home-view .quick-actions[data-home-actions=prepare] > :nth-last-child(-n+2) { min-height:76px; border:1px solid transparent!important; border-radius:18px; }
.dashboard-body #home-view .quick-actions[data-home-actions=prepare] > :nth-last-child(-n+2) strong { font-size:17px; }
.dashboard-body #home-view .quick-card b { color:var(--primary); }
.dashboard-body .home-situation-choices { gap:10px; margin-bottom:24px; }
.dashboard-body .home-other-actions { padding:16px; background:var(--wash); border:1px solid transparent; border-radius:18px; }
.dashboard-body .portal-header .portal-navigation { gap:8px; }
.dashboard-body .portal-header .portal-navigation a { border:1px solid var(--line); border-radius:var(--radius-action)!important; }
.dashboard-body .portal-header .portal-navigation a[aria-current] { box-shadow:none; }
.dashboard-body .home-signing-overview { padding:24px; border:1px solid var(--line); border-radius:26px; background:white; margin-top:24px; }
.reference-home-actions { display:none; }
.reference-route-note { color:var(--muted); font-size:15px; line-height:1.6; margin:0 0 20px; }
body .login-card,body .register-card { border:1px solid var(--line); border-top:1px solid var(--line); }
.auth-startup { padding:14px 16px; border-radius:16px; background:var(--primary-soft); color:var(--primary-dark); line-height:1.55; font-size:14px; }
.auth-startup a { display:inline-flex; align-items:center; min-height:44px; font-weight:650; text-underline-offset:3px; }
.signer-import { display:grid; gap:8px; margin:16px 0; }
.signer-import input[type=file] { width:100%; min-height:44px; font-size:14px; }
.signer-import input::file-selector-button { font:inherit; min-height:44px; padding:10px 16px; border:1px solid var(--line); border-radius:999px; background:var(--primary-soft); color:var(--primary-dark); cursor:pointer; }
.signer-import small { color:var(--muted); line-height:1.5; }
@media(max-width:780px) {
 body :is(.app-shell,.inspection-shell) { gap:0; padding:0; }
 body :is(.workspace,.inspection-workspace) { border-radius:24px 24px 0 0; border-top:1px solid var(--line); padding-inline:20px; }
 body :is(#step-nav .nav-step,#inspection-nav .inspection-nav-button) { border-radius:14px; }
 body :is(.wizard-footer,.guided-navigation) { padding-bottom:max(12px,env(safe-area-inset-bottom)); }
 .dashboard-body .home-situations { padding:20px 16px; }
 .dashboard-body #home-view .quick-card strong,.dashboard-body #home-view .quick-card.lease-action strong { font-size:18px; }
 .dashboard-body .home-signing-overview { padding:20px 16px; }
 .dashboard-body:has(#home-view:not([hidden])) .dashboard-shell { padding-bottom:112px; }
 .reference-home-actions { position:fixed; bottom:0; left:0; right:0; z-index:30; display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:10px; padding:12px 16px max(12px,env(safe-area-inset-bottom)); background:white; border-top:1px solid var(--line); }
 .reference-home-actions .button { width:100%; padding:12px; font-size:14px; min-height:48px; }
 .dashboard-body:has(dialog[open]) .reference-home-actions { display:none; }
 body :is(button,a,input,select,textarea,summary) { scroll-margin-bottom:120px; }
 body .portal-navigation { overflow-x:auto; }
}
@media(max-width:780px) and (max-height:520px) { .reference-home-actions { position:static; } }
@media(prefers-reduced-motion:reduce) { body .room-photo-card.just-added { animation:none; } }
@media print { .reference-home-actions { display:none; } }
/* Explicit exceptions to legacy component geometry and dark hero text. */
body :is(.button,.portal-primary,.demo-button,.signer-primary,.signer-secondary,.back-button,.text-button,.account-trigger) { border-radius:999px!important; }
.dashboard-body #home-view .quick-card.lease-action :is(strong,b) { color:var(--ink); font-size:20px; }
.dashboard-body #home-view .quick-card.lease-action em { color:var(--muted); }
.dashboard-body #home-view .quick-card :is(.quick-icon,.quick-icon svg) { display:grid; }
.dashboard-body #home-view .quick-card.lease-action .quick-icon { color:var(--primary); background:white; }
@media(max-width:780px) {
 .dashboard-body #home-view .quick-card.lease-action strong { font-size:18px; }
 .dashboard-body:has(#home-view:not([hidden])) .test-feedback-widget { bottom:92px; }
}

.guided-step-list { display:flex; list-style:none; padding:0; margin:24px 0 0; gap:16px; }
.guided-step-list li { position:relative; display:flex; align-items:center; flex:1; gap:10px; font-size:14px; color:var(--muted); line-height:1.45; }
.guided-step-list li::after { content:''; position:absolute; height:2px; width:calc(100% - 32px); left:32px; top:15px; background:var(--line); z-index:0; }
.guided-step-list li:last-child::after { display:none; }
.guided-step-list li span { position:relative; z-index:1; display:grid; place-items:center; border:2px solid var(--line); border-radius:50%; flex:0 0 32px; height:32px; background:white; }
.guided-step-list li[aria-current] { color:var(--primary-dark); font-weight:700; }
.guided-step-list li[aria-current] span,.guided-step-list li.done span { background:var(--primary); color:white; border-color:var(--primary); }
@media(max-width:600px) { .guided-step-list { gap:10px; } .guided-step-list li { flex-direction:column; align-items:flex-start; font-size:12px; gap:8px; } }
body.journey-page .journey-guide { background:var(--wash); border:1px solid var(--line); border-radius:18px; }
@media(min-width:781px) {
 body :is(.app-shell,.inspection-shell) :is(#step-nav,#inspection-nav) :is(.nav-step,.inspection-nav-button) { position:relative; border:0; border-radius:16px; background:transparent; box-shadow:none; }
 body :is(.app-shell,.inspection-shell) :is(#step-nav,#inspection-nav) :is(.nav-step,.inspection-nav-button).active { background:var(--primary-soft); color:var(--primary-dark); box-shadow:none; }
 body :is(.app-shell,.inspection-shell) :is(#step-nav,#inspection-nav) :is(.nav-step,.inspection-nav-button).active :is(span,strong) { color:inherit; }
 body :is(.app-shell,.inspection-shell) :is(#step-nav,#inspection-nav) :is(.nav-step,.inspection-nav-button) > span:first-child { border-radius:50%; background:white; border:2px solid var(--line); }
 body :is(.app-shell,.inspection-shell) :is(#step-nav,#inspection-nav) :is(.nav-step,.inspection-nav-button).active > span:first-child { background:var(--primary); border-color:var(--primary); color:white; }
}
.dashboard-body #home-view .quick-card::before { display:block; }
.dashboard-body #home-view .quick-actions[data-home-actions=prepare] > :nth-last-child(-n+2)::before { display:none; }
body :is(.home-button,.service-link) { border-radius:999px; }
body :is(.product-toolbox,.hero-service,.offer,.support-card,.offline-card) { border-radius:24px; }
.guided-step-list li { flex-direction:column; align-items:flex-start; gap:8px; }
.guided-step-list li span { width:32px; min-width:32px; }
body .receipt-shell .receipt-panel { background:white; border:1px solid var(--line); padding:24px; }
@media(max-width:600px) { body .receipt-shell .receipt-panel { padding:20px; } }
@media(max-width:480px) {
 body .topbar .top-actions { min-width:0; gap:8px; }
 body .topbar .button.account-shortcut { min-width:44px; padding:8px; }
}
@media(max-width:360px) {
 body .topbar .account-shortcut > span:not(.account-shortcut-icon):not(.avatar) { display:none; }
 body .topbar .top-actions > a[href='/dashboard.html']:not(.account-shortcut) { padding-inline:8px; }
}
body summary { min-height:44px!important; }
body :is(#step-nav .nav-step,#inspection-nav .inspection-nav-button) { border-radius:16px!important; }

/* Cohérence des surfaces secondaires avec la direction validée. */
:root { --notice-soft:#fff4df; --notice-ink:#664c1d; }
body :is(.login-home-link,.portal-secondary) { border-radius:999px; }
.login-body :is(.login-card,.register-card) { border:1px solid var(--line); border-radius:24px; }
.dashboard-body .profile-view .profile-editor-card { border-radius:24px; }
body .contribution-panel { border-radius:24px; }
.contribution-choices label { border-radius:14px; }
.payment-body :is(.payment-legal-gate,.payment-notice) { border:1px solid var(--line); border-radius:18px; background:var(--notice-soft); color:var(--notice-ink); }
.product-demo .demo-switcher { gap:12px; margin-bottom:20px; }
.product-demo .demo-recap { border:1px solid var(--line); border-radius:18px; }
@media(max-width:680px) {
 .dashboard-header-actions .account-dashboard-return { flex:0 0 auto; white-space:nowrap; }
 .dashboard-header-actions:has(.account-dashboard-return:not([hidden])) .account-menu-wrap { flex:1; min-width:0; }
}

/* Shared control geometry. Action pills, navigation tiles and icon controls
   each have one shape, including dynamically created dialogs and EDL tools. */
:root {
 --radius-action:999px;
 --radius-navigation:16px;
 --control-height:48px;
 --info-ink:#285675;
 --info-soft:#eef5fb;
 --info-line:#bfd1e1;
 --success-ink:#245b43;
 --success-soft:#edf6f0;
 --success-line:#accbb8;
 --warning-ink:#765016;
 --warning-soft:#fff4df;
 --warning-line:#dfc793;
 --error-ink:#9b3434;
 --error-soft:#fff1f0;
 --error-line:#dfb3af;
}
body :is(button,.button,.portal-primary,.portal-secondary,.home-button,.home-login-link,.login-home-link,.service-link,.modal-jump) {
 border-radius:var(--radius-action)!important;
}
body :is(.button,.portal-primary,.portal-secondary,.home-button,.login-home-link,.back-button,.text-button,.signer-primary,.signer-secondary,.demo-button) {
 min-height:var(--control-height);
 line-height:1.4;
 text-align:center;
}
body :is(.button,.portal-primary,.portal-secondary,.back-button,.text-button,.signer-primary,.signer-secondary,.demo-button) {
 align-items:center;
 justify-content:center;
 gap:8px;
}
body :is(.nav-step,.inspection-nav-button,.substep-button,.room-nav-button,.item-nav-button,.simple-room-tab,.page-list button,.account-dropdown button,.account-dropdown a,.address-suggestions button,.occupancy-choices>button,.room-choice,.condition-button,.state-button) {
 border-radius:var(--radius-navigation)!important;
}
body :is(.substep-button,.room-nav-button,.item-nav-button,.simple-room-tab,.occupancy-choices>button) { min-height:var(--control-height); }
body :is(.icon-button,.counter-control button,.access-counter-control button,.simple-item-quantity button) {
 display:inline-grid;
 place-items:center;
 flex:0 0 44px;
 min-width:44px;
 width:44px;
 min-height:44px;
 height:44px;
 padding:0;
 line-height:1;
 border-radius:50%!important;
}
body :is(.counter-control,.access-counter-control) { border-radius:var(--radius-action); gap:4px; }
body .binary-control { gap:8px; padding:0; border:0; overflow:visible; background:transparent; }
body .binary-control button {
 display:inline-flex;
 align-items:center;
 justify-content:center;
 min-height:var(--control-height);
 padding:10px 16px;
 border:1px solid var(--line-strong,var(--line));
 line-height:1.4;
 box-shadow:none;
}
body .binary-control button + button { border-left:1px solid var(--line-strong,var(--line)); }
body .binary-control button[aria-pressed=true] { border-color:var(--primary); background:var(--primary); color:white; box-shadow:none; }
body .binary-control button[aria-pressed=true]:hover { background:var(--primary-dark); color:white; box-shadow:none; }
body .segmented { gap:10px; }
body .segmented .segment span { border:1px solid var(--line-strong,var(--line)); border-radius:18px; }
body .segmented .segment + .segment span { border:1px solid var(--line-strong,var(--line)); }
body .segmented .segment input:checked + span,
body .segmented .segment input:checked + span:hover { border-color:var(--primary); background:var(--primary-soft); color:var(--primary-dark); box-shadow:none; }
body input[type=file]::file-selector-button {
 min-height:44px;
 padding:10px 16px;
 border:1px solid var(--line-strong,var(--line));
 border-radius:var(--radius-action);
 background:var(--primary-soft);
 color:var(--primary-dark);
 font:inherit;
 cursor:pointer;
}

/* Equal-height peers. Let long labels grow the whole row instead of shifting
   one action's centre or clipping its second line. */
body :is(.wizard-footer,.guided-navigation,.button-row,.draft-actions,.stored-document-actions,.registry-card-actions,.profile-actions,.dialog-actions,.modal-actions,.tool-actions,.receipt-actions,.final-actions,.home-situation-choices) {
 align-items:stretch;
 gap:12px;
}
body :is(.wizard-footer,.guided-navigation,.button-row,.draft-actions,.stored-document-actions,.registry-card-actions,.profile-actions,.dialog-actions,.modal-actions,.tool-actions,.receipt-actions,.final-actions,.home-situation-choices) > :is(button,.button) {
 display:inline-flex;
 align-items:center;
 justify-content:center;
 min-width:0;
 height:auto;
 margin-block:0;
 white-space:normal;
 overflow-wrap:anywhere;
}
body .wizard-footer > .footer-save-state { align-self:center; }
body :is(.brand-mark,.avatar,.quick-icon,.choice-icon,.service-icon,.account-disclosure-icon,.account-menu-icon,.registry-card-icon,.question-number) {
 align-items:center;
 justify-content:center;
 flex-shrink:0;
 line-height:1;
}
body :is(.quick-icon,.choice-icon,.service-icon,.account-disclosure-icon,.account-menu-icon,.registry-card-icon) > svg { display:block; flex-shrink:0; }
body .substep-button > span:first-child { display:grid; place-items:center; line-height:1; border-radius:50%; }

/* The home journey uses one grid for every independent action, including its
   primary row. Only actual wizard steps retain their connecting line. */
.dashboard-body #home-view .quick-card,
.dashboard-body #home-view .quick-card.lease-action {
 display:grid;
 grid-template-columns:32px minmax(0,1fr) 24px;
 align-items:center;
 gap:16px;
 padding:18px 16px!important;
}
.dashboard-body #home-view .quick-card .quick-icon {
 position:relative;
 inset:auto;
 display:grid;
 place-items:center;
 width:32px;
 height:32px;
 z-index:2;
}
.dashboard-body #home-view .quick-card .quick-icon svg { width:18px; height:18px; }
.dashboard-body #home-view .quick-card b,
.dashboard-body #home-view .quick-card.lease-action b { display:grid; place-items:center; align-self:center; line-height:1; }
.dashboard-body #home-view .quick-card b svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.dashboard-body #home-view .home-other-actions .quick-card { border-radius:18px; }
body.dashboard-body #home-view :is(.quick-card,.quick-card.lease-action):is(:hover,:focus-visible) { background:var(--primary-soft); color:var(--ink); box-shadow:none; }
body.dashboard-body #home-view :is(.quick-card,.quick-card.lease-action):is(:hover,:focus-visible) :is(strong,b) { color:var(--ink); }
body.dashboard-body #home-view :is(.quick-card,.quick-card.lease-action):is(:hover,:focus-visible) em { color:var(--muted); }
body :is(.app-shell,.inspection-shell) :is(#step-nav,#inspection-nav) :is(.nav-step,.inspection-nav-button):is(:hover,:focus-visible),
body :is(.app-shell,.inspection-shell) :is(#step-nav,#inspection-nav) :is(.nav-step,.inspection-nav-button):is(.active,.done):is(:hover,:focus-visible) { background:var(--primary-soft); color:var(--primary-dark); box-shadow:none; }
body :is(.app-shell,.inspection-shell) :is(#step-nav,#inspection-nav) :is(.nav-step,.inspection-nav-button) > span:last-child { color:inherit; }
body :is(.app-shell,.inspection-shell) :is(#step-nav,#inspection-nav) :is(.nav-step,.inspection-nav-button):is(.active,.done) > span:first-child { background:var(--primary); border-color:var(--primary); color:white; }
/* Long native options must not contribute their intrinsic text width to the
   document in WebKit; the option remains fully readable in the native picker. */
body select { min-width:0; max-width:100%; overflow:hidden; text-overflow:ellipsis; }
/* The fallback public home also has an unclassed login action and a list of
   multiline service links. Keep these links separate, like the dashboard. */
body.home-body .hero-service { display:grid; gap:12px; }
body.home-body .hero-service > .service-link { border-radius:18px!important; }
body.home-body .hero-service > .service-link + .service-link { border-top-width:1px; }

/* Colours communicate meaning; all messages retain their text labels. */
body :is(.info-box,.auth-startup) { color:var(--info-ink); background:var(--info-soft); border-color:var(--info-line); }
body :is(.success-box,.status-chip.mint) { color:var(--success-ink); background:var(--success-soft); border-color:var(--success-line); }
body .status-chip.purple { color:var(--info-ink); background:var(--info-soft); border-color:var(--info-line); }
body :is(.warning-box,.account-warning) { color:var(--warning-ink); background:var(--warning-soft); border-color:var(--warning-line); }
body :is(.error-box,.form-message.error,.field-error) { color:var(--error-ink); }
body .error-box { background:var(--error-soft); border-color:var(--error-line); }
body :is(.info-box,.success-box,.warning-box,.error-box) :is(p,small,strong) { color:inherit; }

/* Route/step headings remain programmatically focused for announcement. They
   are not controls: avoid Safari's selection-like ring on these landmarks only.
   Interactive headings and all buttons, links and fields keep their focus UI. */
body :is(h1,h2,h3)[tabindex="-1"]:not([role]):not([contenteditable]):focus { outline:none; }

@media(max-width:600px) {
 body .composition-kitchen .binary-control button { min-width:0; white-space:normal; padding-inline:10px; }
 body :is(.counter-control,.access-counter-control) button { flex:0 0 44px; }
 body .home-situation-choices .button { width:100%; }
 .dashboard-body #home-view .quick-card,
 .dashboard-body #home-view .quick-card.lease-action { gap:12px; grid-template-columns:32px minmax(0,1fr) 20px; }
}

/* The controls select documents below; links inside the panel open a form. */
.dashboard-body #home-view .home-documents-hint { color:var(--muted); font-size:13px; line-height:1.5; margin:12px 0; }
.dashboard-body #home-view .home-situation-choices { display:flex; gap:4px; padding:6px 6px 0; margin-bottom:0; border:1px solid var(--line); border-bottom:0; border-radius:14px 14px 0 0; background:var(--wash); }
.dashboard-body #home-view .home-situation-choices .button { flex:1; min-width:0; margin:0; border-radius:10px 10px 0 0!important; border:0!important; border-bottom:3px solid transparent!important; background:transparent!important; color:var(--muted)!important; box-shadow:none!important; }
.dashboard-body #home-view .home-situation-choices .button[aria-pressed="true"] { background:var(--primary-soft)!important; color:var(--primary-dark)!important; border-bottom-color:var(--primary)!important; font-weight:750; }
.dashboard-body #home-view [data-home-actions] { margin-top:0!important; padding:14px; border:1px solid var(--line); border-radius:0 0 14px 14px; background:#fff; }
@media(max-width:600px) { .dashboard-body #home-view .home-situation-choices { flex-wrap:nowrap; } .dashboard-body #home-view .home-situation-choices .button { width:auto; padding:11px 8px; font-size:12px; } }

.inspection-purge-form { display:grid; gap:16px; }
