/* APP RENTAL SaaS V3 — design system canonique
   Version: 3.0.0-rc.1
   Chargé en dernier pour neutraliser l'empilement visuel historique sans toucher aux règles métier. */

:root{
  --v3-font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --v3-bg:#f4f7fb;
  --v3-surface:#ffffff;
  --v3-surface-subtle:#f8fafc;
  --v3-surface-raised:#ffffff;
  --v3-text:#142033;
  --v3-text-2:#475467;
  --v3-text-3:#667085;
  --v3-border:#e4e9f1;
  --v3-border-strong:#cfd7e3;
  --v3-primary:var(--rental-primary,var(--app-primary,#385bf8));
  --v3-primary-soft:color-mix(in srgb,var(--v3-primary) 9%,white);
  --v3-primary-ring:color-mix(in srgb,var(--v3-primary) 20%,transparent);
  --v3-success:#16835f;
  --v3-success-soft:#ecfdf5;
  --v3-warning:#a35f00;
  --v3-warning-soft:#fff8e7;
  --v3-danger:#c9364f;
  --v3-danger-soft:#fff1f3;
  --v3-info:#2367c7;
  --v3-info-soft:#eff6ff;
  --v3-sidebar:#16243a;
  --v3-sidebar-2:#1d3151;
  --v3-radius-xs:8px;
  --v3-radius-sm:10px;
  --v3-radius:14px;
  --v3-radius-lg:18px;
  --v3-radius-xl:24px;
  --v3-control-h:42px;
  --v3-shadow-xs:0 1px 2px rgba(16,24,40,.04);
  --v3-shadow-sm:0 3px 12px rgba(16,24,40,.055);
  --v3-shadow:0 12px 34px rgba(16,24,40,.09);
  --v3-shadow-lg:0 24px 70px rgba(16,24,40,.18);
  --v3-page-pad:clamp(18px,2.25vw,34px);
  --v3-content-max:1640px;
  --v3-sidebar-width:264px;
  --v3-sidebar-collapsed:72px;
}

html[data-app-page]{
  font-family:var(--v3-font)!important;
  color:var(--v3-text)!important;
  background:var(--v3-bg)!important;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  accent-color:var(--v3-primary);
  scroll-behavior:smooth;
}
html[data-app-page] body{
  min-height:100vh;
  margin:0!important;
  background:
    radial-gradient(circle at 88% -10%,color-mix(in srgb,var(--v3-primary) 7%,transparent),transparent 30rem),
    var(--v3-bg)!important;
  color:var(--v3-text)!important;
  font-family:var(--v3-font)!important;
  font-size:14px!important;
  line-height:1.5!important;
}
html[data-app-page] *,html[data-app-page] *::before,html[data-app-page] *::after{box-sizing:border-box}
html[data-app-page] ::selection{background:color-mix(in srgb,var(--v3-primary) 22%,white);color:var(--v3-text)}
html[data-app-page] :focus-visible{outline:3px solid var(--v3-primary-ring)!important;outline-offset:2px!important}
html[data-app-page] a{color:var(--v3-primary);text-underline-offset:3px}
html[data-app-page] img{max-width:100%}
html[data-app-page] .hidden,[hidden]{display:none!important}

/* Shell */
@media(min-width:1025px){
  html[data-app-page] :where(.app-shell,.admin-shell,.owner-shell,.lc-app,.maintenance-shell){
    display:grid!important;
    grid-template-columns:var(--v3-sidebar-width) minmax(0,1fr)!important;
    min-height:100vh!important;
    gap:0!important;
  }
  html.app-sidebar-collapsed[data-app-page] :where(.app-shell,.admin-shell,.owner-shell,.lc-app,.maintenance-shell){
    grid-template-columns:var(--v3-sidebar-collapsed) minmax(0,1fr)!important;
  }
  html[data-app-page] app-sidebar{width:var(--v3-sidebar-width)!important;min-width:var(--v3-sidebar-width)!important}
  html.app-sidebar-collapsed[data-app-page] app-sidebar{width:var(--v3-sidebar-collapsed)!important;min-width:var(--v3-sidebar-collapsed)!important}
}
html[data-app-page] :where(main.main,.admin-main-content,.owner-main,.lc-main,.maintenance-main,.platform-console-main){
  min-width:0!important;
  width:100%!important;
  max-width:none!important;
  padding:var(--v3-page-pad)!important;
}
html[data-app-page] :where(.content,.admin-content,.owner-content,.gestion-content,#viewRoot,#content,.platform-console-wrap,.maintenance-wrap,.technical-wrap){
  min-width:0!important;
  width:100%!important;
  max-width:var(--v3-content-max)!important;
  margin-inline:auto!important;
}

/* En-têtes */
html[data-app-page] :where(.topbar,.owner-topbar,.page-header,.admin-welcome-card){
  position:relative!important;
  top:auto!important;
  z-index:20!important;
  min-width:0!important;
  margin:0 0 22px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
html[data-app-page] :where(.top-card,.topbar>.top-card,.page-header-inner){
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  width:100%!important;
  min-height:54px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
html[data-app-page] :where(h1,.page-title,.admin-welcome-title,.owner-page-title,.top-title h1){
  margin:0!important;
  color:var(--v3-text)!important;
  font:750 clamp(24px,2vw,31px)/1.12 var(--v3-font)!important;
  letter-spacing:-.035em!important;
}
html[data-app-page] h2{color:var(--v3-text)!important;font-weight:750!important;letter-spacing:-.02em!important}
html[data-app-page] h3{color:var(--v3-text)!important;font-weight:720!important;letter-spacing:-.012em!important}
html[data-app-page] :where(.subtitle,.muted,.admin-field-help,.owner-field-help,.field-help,.meta,small){color:var(--v3-text-3)!important}

/* Surfaces */
html[data-app-page] :where(.panel,.card,.box,.summary-card,.section-card,.settings-card,.mobile-card,.owner-view-panel,.owner-admin-card,.platform-card,.tenant-card,.maintenance-card,.maint-card,.users-card,.tenant-users-card,.lc-card,.connector-panel,.rental-page-panel,.ob-card,.cleaner-task,.billing-kpi){
  border:1px solid var(--v3-border)!important;
  border-radius:var(--v3-radius-lg)!important;
  background:var(--v3-surface)!important;
  box-shadow:var(--v3-shadow-xs)!important;
}
html[data-app-page] :where(.panel,.card,.box,.section-card,.settings-card,.owner-view-panel,.owner-admin-card,.platform-card,.tenant-card,.maintenance-card,.maint-card,.users-card,.tenant-users-card,.lc-card,.connector-panel,.rental-page-panel,.ob-card){
  padding:clamp(16px,1.5vw,22px)!important;
}
html[data-app-page] :where(.panel,.card,.section-card,.settings-card,.platform-card,.tenant-card,.owner-view-panel){
  transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
@media(hover:hover){
  html[data-app-page] :where(.card,.summary-card,.platform-card,.tenant-card,.owner-view-panel).is-clickable:hover,
  html[data-app-page] :where(.card,.summary-card,.platform-card,.tenant-card,.owner-view-panel)[data-click]:hover{
    border-color:color-mix(in srgb,var(--v3-primary) 35%,var(--v3-border))!important;
    box-shadow:var(--v3-shadow-sm)!important;
    transform:translateY(-1px);
  }
}

/* KPI */
html[data-app-page] :where(.summary-grid,.summary,.metric-grid,.platform-stat-grid,.platform-audit-stats,.billing-kpi-grid){
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;
  gap:12px!important;
}
html[data-app-page] :where(.summary-card,.metric,.billing-kpi){
  min-height:104px!important;
  padding:17px 18px!important;
  border:1px solid var(--v3-border)!important;
  border-radius:var(--v3-radius)!important;
  background:linear-gradient(180deg,#fff,var(--v3-surface-subtle))!important;
}
html[data-app-page] :where(.summary-number,.metric strong,.billing-kpi strong){
  color:var(--v3-text)!important;
  font-size:clamp(22px,2vw,30px)!important;
  font-weight:780!important;
  letter-spacing:-.035em!important;
  font-variant-numeric:tabular-nums;
}
html[data-app-page] :where(.summary-label,.metric span,.billing-kpi span){color:var(--v3-text-3)!important;font-size:12px!important;font-weight:650!important}

/* Formulaires */
html[data-app-page] label{color:#344054!important;font-size:12.5px!important;font-weight:650!important;line-height:1.3!important}
html[data-app-page] :where(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea,.table-input){
  width:100%!important;
  min-height:var(--v3-control-h)!important;
  padding:9px 12px!important;
  border:1px solid var(--v3-border-strong)!important;
  border-radius:var(--v3-radius-sm)!important;
  background:#fff!important;
  color:var(--v3-text)!important;
  font:500 14px/1.35 var(--v3-font)!important;
  box-shadow:0 1px 2px rgba(16,24,40,.03)!important;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease!important;
}
html[data-app-page] textarea{min-height:100px!important;resize:vertical!important}
html[data-app-page] select{cursor:pointer}
html[data-app-page] :where(input,select,textarea):hover:not(:disabled){border-color:#aeb9c8!important}
html[data-app-page] :where(input,select,textarea):focus{
  outline:0!important;
  border-color:var(--v3-primary)!important;
  box-shadow:0 0 0 4px var(--v3-primary-ring)!important;
}
html[data-app-page] :where(input,select,textarea):disabled{background:#f2f4f7!important;color:#667085!important;cursor:not-allowed!important;opacity:1!important}
html[data-app-page] input::placeholder,html[data-app-page] textarea::placeholder{color:#98a2b3!important}
html[data-app-page] input[type="checkbox"],html[data-app-page] input[type="radio"]{width:18px!important;height:18px!important;min-width:18px!important;margin:0!important}
html[data-app-page] :where(.form-grid,.admin-modal-grid,.admin-logement-modal-grid,.settings-fields){gap:14px!important}
html[data-app-page] :where(.field,.form-field){gap:6px!important}

/* Boutons */
html[data-app-page] :where(button,.btn,input[type="button"],input[type="submit"]){
  min-height:var(--v3-control-h)!important;
  padding:9px 14px!important;
  border:1px solid var(--v3-border-strong)!important;
  border-radius:var(--v3-radius-sm)!important;
  background:#fff!important;
  color:#344054!important;
  font:650 13.5px/1.2 var(--v3-font)!important;
  box-shadow:var(--v3-shadow-xs)!important;
  cursor:pointer!important;
  transition:transform .12s ease,box-shadow .15s ease,border-color .15s ease,background .15s ease,color .15s ease!important;
}
@media(hover:hover){html[data-app-page] :where(button,.btn):hover:not(:disabled){border-color:#aeb9c8!important;background:#f9fafb!important;box-shadow:var(--v3-shadow-sm)!important}}
html[data-app-page] :where(button,.btn):active:not(:disabled){transform:translateY(1px)!important}
html[data-app-page] :where(.btn.primary,button.primary,.btn.active,button.active,[data-variant="primary"]){
  border-color:var(--v3-primary)!important;
  background:var(--v3-primary)!important;
  color:#fff!important;
}
@media(hover:hover){html[data-app-page] :where(.btn.primary,button.primary,.btn.active,button.active,[data-variant="primary"]):hover:not(:disabled){background:color-mix(in srgb,var(--v3-primary) 88%,#000)!important;border-color:color-mix(in srgb,var(--v3-primary) 88%,#000)!important}}
html[data-app-page] :where(.btn.danger,button.danger){border-color:color-mix(in srgb,var(--v3-danger) 32%,white)!important;background:var(--v3-danger-soft)!important;color:var(--v3-danger)!important}
html[data-app-page] :where(.btn.ghost,button.ghost){border-color:transparent!important;background:transparent!important;box-shadow:none!important}
html[data-app-page] :where(button,.btn):disabled{opacity:.48!important;cursor:not-allowed!important;transform:none!important;box-shadow:none!important}
html[data-app-page] :where(.btn.small,button.small){min-height:34px!important;padding:6px 10px!important;font-size:12px!important}
html[data-app-page] :where(.actions,.modal-actions,.form-actions,.panel-head,.toolbar-actions){gap:8px!important}

/* Filtres & toolbar */
html[data-app-page] :where(.filters,.toolbar,.admin-top-filters){
  display:flex!important;
  align-items:flex-end!important;
  gap:9px!important;
  flex-wrap:wrap!important;
  min-width:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
html[data-app-page] :where(.filters,.toolbar,.admin-top-filters) .field{min-width:132px!important}

/* Tableaux */
html[data-app-page] .v3-table-shell,
html[data-app-page] :where(.table-wrap,.table-scroll,.admin-table-wrap,.owner-table-wrap){
  width:100%!important;
  max-width:100%!important;
  overflow:auto!important;
  border:1px solid var(--v3-border)!important;
  border-radius:var(--v3-radius)!important;
  background:#fff!important;
  box-shadow:var(--v3-shadow-xs)!important;
  scrollbar-width:thin;
}
html[data-app-page] table{
  width:100%!important;
  max-width:100%!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  color:var(--v3-text)!important;
  font-size:13px!important;
}
html[data-app-page] th{
  height:43px!important;
  padding:10px 12px!important;
  border:0!important;
  border-bottom:1px solid var(--v3-border)!important;
  background:#f8fafc!important;
  color:#475467!important;
  font-size:11.5px!important;
  font-weight:720!important;
  letter-spacing:.025em!important;
  text-transform:none!important;
  text-align:left!important;
  white-space:nowrap!important;
}
html[data-app-page] td{
  padding:11px 12px!important;
  border:0!important;
  border-bottom:1px solid #edf0f5!important;
  background:#fff!important;
  color:var(--v3-text)!important;
  vertical-align:middle!important;
  overflow-wrap:anywhere;
}
html[data-app-page] tbody tr:last-child td{border-bottom:0!important}
@media(hover:hover){html[data-app-page] tbody tr:hover>td{background:#fbfcfe!important}}
html[data-app-page] tr[role="button"],html[data-app-page] tr[data-rental-click],html[data-app-page] tr[onclick]{cursor:pointer}
html[data-app-page] td.numeric,html[data-app-page] th.numeric{text-align:right!important;font-variant-numeric:tabular-nums}

/* Badges / statuts */
html[data-app-page] :where(.badge,.status,.pill,.chip,[class*="status-badge"],[class*="badge-"]){
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
  min-height:26px!important;
  max-width:100%;
  padding:4px 9px!important;
  border:1px solid var(--v3-border)!important;
  border-radius:999px!important;
  background:#f8fafc!important;
  color:#475467!important;
  font-size:11.5px!important;
  font-weight:680!important;
  line-height:1.2!important;
  white-space:normal;
}
html[data-app-page] :where(.success,.ok,.status-ok,.badge-ok,.badge-success){color:var(--v3-success)!important;background:var(--v3-success-soft)!important;border-color:#b7ead8!important}
html[data-app-page] :where(.warning,.status-warning,.badge-warning){color:var(--v3-warning)!important;background:var(--v3-warning-soft)!important;border-color:#f2d799!important}
html[data-app-page] :where(.danger,.error,.status-error,.badge-danger,.badge-error){color:var(--v3-danger)!important}

/* Notices */
html[data-app-page] :where(.notice,.form-message,.alert,.message){
  border:1px solid var(--v3-border)!important;
  border-radius:var(--v3-radius-sm)!important;
  background:#fff!important;
  color:var(--v3-text-2)!important;
  padding:11px 13px!important;
  line-height:1.45!important;
}
html[data-app-page] :where(.notice.ok,.notice.success,.form-message.ok,.form-message.success){background:var(--v3-success-soft)!important;border-color:#b7ead8!important;color:#126b4f!important}
html[data-app-page] :where(.notice.warning,.form-message.warning){background:var(--v3-warning-soft)!important;border-color:#f2d799!important;color:#805000!important}
html[data-app-page] :where(.notice.error,.form-message.error){background:var(--v3-danger-soft)!important;border-color:#f4bdc7!important;color:#a62d42!important}

/* Onglets */
html[data-app-page] :where(.tabs,.segmented,.view-tabs){
  display:inline-flex!important;
  max-width:100%!important;
  gap:3px!important;
  padding:4px!important;
  border:1px solid var(--v3-border)!important;
  border-radius:12px!important;
  background:#f2f4f7!important;
  overflow:auto!important;
}
html[data-app-page] :where(.tabs,.segmented,.view-tabs)>button{
  min-height:34px!important;
  padding:7px 11px!important;
  border:0!important;
  border-radius:9px!important;
  background:transparent!important;
  color:var(--v3-text-3)!important;
  box-shadow:none!important;
  white-space:nowrap!important;
}
html[data-app-page] :where(.tabs,.segmented,.view-tabs)>button.active{background:#fff!important;color:var(--v3-text)!important;box-shadow:var(--v3-shadow-xs)!important}

/* Modales */
html[data-app-page] :where(.modal-backdrop,.owner-modal-backdrop,.dialog-backdrop,.rental-app-dialog-backdrop,.stay-charge-modal-backdrop){
  position:fixed!important;
  inset:0!important;
  z-index:2147482000!important;
  display:grid!important;
  place-items:center!important;
  padding:clamp(12px,3vw,28px)!important;
  background:rgba(12,22,38,.52)!important;
  backdrop-filter:blur(7px)!important;
  -webkit-backdrop-filter:blur(7px)!important;
}
html[data-app-page] :where(.modal-backdrop,.owner-modal-backdrop,.dialog-backdrop,.rental-app-dialog-backdrop,.stay-charge-modal-backdrop).hidden{display:none!important}
html[data-app-page] :where(.admin-modal,.owner-modal,.modal,.dialog,[role="dialog"]){
  width:min(760px,100%)!important;
  max-width:min(92vw,920px)!important;
  max-height:min(90dvh,920px)!important;
  overflow:auto!important;
  padding:clamp(18px,2.2vw,26px)!important;
  border:1px solid rgba(255,255,255,.65)!important;
  border-radius:var(--v3-radius-xl)!important;
  background:#fff!important;
  color:var(--v3-text)!important;
  box-shadow:var(--v3-shadow-lg)!important;
}
html[data-app-page] :where(.admin-modal,.owner-modal,.modal,.dialog,[role="dialog"])>h3:first-of-type{padding-right:44px!important;margin:0 0 18px!important;font-size:20px!important}
html[data-app-page] .rental-modal-close{
  position:absolute!important;
  top:16px!important;
  right:16px!important;
  width:36px!important;
  min-width:36px!important;
  height:36px!important;
  min-height:36px!important;
  padding:0!important;
  border-radius:10px!important;
  background:#f8fafc!important;
}
html.v3-modal-open,html.v3-modal-open body{overflow:hidden!important}

/* États vides et loading */
html[data-app-page] :where(.empty,.empty-state){
  min-height:150px!important;
  display:grid!important;
  place-items:center!important;
  padding:28px!important;
  border:1px dashed var(--v3-border-strong)!important;
  border-radius:var(--v3-radius)!important;
  background:#fbfcfe!important;
  color:var(--v3-text-3)!important;
  text-align:center!important;
}
html[data-app-page] :where(.loader,.loading){color:var(--v3-text-3)!important}
html[data-app-page] .spinner{border-color:#dfe5ee!important;border-top-color:var(--v3-primary)!important}

/* Auth / pages techniques */
html[data-app-page="auth"] body,html[data-app-page="portal"] body,html[data-app-page="utility"] body{
  background:
    radial-gradient(circle at 12% 8%,color-mix(in srgb,var(--v3-primary) 13%,transparent),transparent 28rem),
    radial-gradient(circle at 95% 100%,rgba(22,36,58,.09),transparent 30rem),
    #f5f7fb!important;
}
html[data-app-page] :where(.standalone-page,.auth-page,.login-page){min-height:100dvh!important;padding:24px!important}
html[data-app-page] :where(.standalone-card,.auth-card,.login-card){border-radius:22px!important;border:1px solid var(--v3-border)!important;box-shadow:0 26px 80px rgba(16,24,40,.12)!important;background:rgba(255,255,255,.96)!important}

/* Réservations et cartes */
html[data-app-page="admin"] #content .admin-cards,
html[data-app-page="owner"] .owner-res-grid,
:is(html[data-app-page="cleaner"],html[data-app-page="interventions"]) .cleaner-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))!important;
  gap:12px!important;
}
html[data-app-page] :where(.admin-reservation-card,.owner-res-card,.cleaner-task){
  border:1px solid var(--v3-border)!important;
  border-radius:var(--v3-radius-lg)!important;
  background:#fff!important;
  box-shadow:var(--v3-shadow-xs)!important;
}

/* Planning: ne jamais convertir en cartes */
html[data-app-page] :where(.calendar-grid,.planning-grid,.planning-months-inner,.admin-planning-property-calendar-panel){border-radius:var(--v3-radius)!important}

/* Mobile */
@media(max-width:1024px){
  :root{--v3-page-pad:12px}
  html[data-app-page] :where(.app-shell,.admin-shell,.owner-shell,.lc-app,.maintenance-shell){display:block!important;min-height:100dvh!important}
  html[data-app-page] :where(main.main,.admin-main-content,.owner-main,.lc-main,.maintenance-main,.platform-console-main){
    width:100%!important;max-width:100%!important;padding:72px 10px max(18px,env(safe-area-inset-bottom))!important;margin:0!important;
  }
  html[data-app-page] :where(.content,.admin-content,.owner-content,.gestion-content,#viewRoot,#content,.platform-console-wrap,.maintenance-wrap,.technical-wrap){
    width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;
  }
  html[data-app-page] :where(.topbar,.owner-topbar,.page-header,.admin-welcome-card){margin-bottom:14px!important}
  html[data-app-page] :where(.top-card,.topbar>.top-card,.page-header-inner){align-items:flex-start!important;flex-direction:column!important;gap:10px!important;min-height:0!important}
  html[data-app-page] :where(h1,.page-title,.admin-welcome-title,.owner-page-title,.top-title h1){font-size:24px!important;line-height:1.15!important}
  html[data-app-page] :where(.filters,.toolbar,.admin-top-filters){width:100%!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  html[data-app-page] :where(.filters,.toolbar,.admin-top-filters) .field{min-width:0!important;width:100%!important}
  html[data-app-page] :where(.summary-grid,.summary,.metric-grid,.platform-stat-grid,.billing-kpi-grid){grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  html[data-app-page] :where(.panel,.card,.box,.section-card,.settings-card,.owner-view-panel,.platform-card,.tenant-card,.maintenance-card,.lc-card,.connector-panel,.rental-page-panel){padding:15px!important;border-radius:15px!important}
  html[data-app-page] :where(.actions,.modal-actions,.form-actions){width:100%!important;flex-wrap:wrap!important}
  html[data-app-page] .modal-actions>button,html[data-app-page] .form-actions>button{flex:1 1 140px!important}
  html[data-app-page] :where(.modal-backdrop,.owner-modal-backdrop,.dialog-backdrop,.rental-app-dialog-backdrop,.stay-charge-modal-backdrop){align-items:end!important;padding:8px!important}
  html[data-app-page] :where(.admin-modal,.owner-modal,.modal,.dialog,[role="dialog"]){width:100%!important;max-width:100%!important;max-height:92dvh!important;border-radius:22px 22px 14px 14px!important;padding:18px!important}
  html[data-app-page] .v3-table-shell{border-radius:12px!important}
}
@media(max-width:640px){
  html[data-app-page] :where(.filters,.toolbar,.admin-top-filters){grid-template-columns:1fr!important}
  html[data-app-page] :where(.summary-grid,.summary,.metric-grid,.platform-stat-grid,.billing-kpi-grid){grid-template-columns:1fr 1fr!important}
  html[data-app-page] :where(.summary-card,.metric,.billing-kpi){min-height:88px!important;padding:14px!important}
  html[data-app-page] :where(.summary-number,.metric strong,.billing-kpi strong){font-size:22px!important}
  html[data-app-page] :where(.form-grid,.admin-modal-grid,.admin-logement-modal-grid,.settings-fields){grid-template-columns:1fr!important}
  html[data-app-page] :where(.form-grid,.admin-modal-grid,.admin-logement-modal-grid,.settings-fields)>*{grid-column:1!important}
  html[data-app-page] :where(button,.btn,input[type="button"],input[type="submit"]){min-height:44px!important}
  html[data-app-page] .v3-responsive-table{display:block!important;min-width:0!important}
  html[data-app-page] .v3-responsive-table thead{display:none!important}
  html[data-app-page] .v3-responsive-table tbody{display:grid!important;gap:10px!important;padding:10px!important;background:#f8fafc!important}
  html[data-app-page] .v3-responsive-table tr{display:block!important;border:1px solid var(--v3-border)!important;border-radius:13px!important;background:#fff!important;overflow:hidden!important;box-shadow:var(--v3-shadow-xs)!important}
  html[data-app-page] .v3-responsive-table td{display:grid!important;grid-template-columns:minmax(94px,38%) minmax(0,1fr)!important;gap:10px!important;align-items:start!important;padding:9px 11px!important;text-align:left!important;border-bottom:1px solid #eef1f5!important}
  html[data-app-page] .v3-responsive-table td::before{content:attr(data-v3-label);color:var(--v3-text-3);font-size:11px;font-weight:700;line-height:1.35}
  html[data-app-page] .v3-responsive-table td:last-child{border-bottom:0!important}
  html[data-app-page] .v3-responsive-table td[data-v3-label=""]::before{display:none}
}
@media(max-width:420px){
  html[data-app-page] :where(.summary-grid,.summary,.metric-grid,.platform-stat-grid,.billing-kpi-grid){grid-template-columns:1fr!important}
}

/* Réduction de mouvement */
@media(prefers-reduced-motion:reduce){
  html[data-app-page]{scroll-behavior:auto}
  html[data-app-page] *,html[data-app-page] *::before,html[data-app-page] *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}
