/* KONÉSANS — finition graphique unifiée. Version 1.
   Chargée uniquement sur les pages secondaires, jamais sur l'accueil.
   Aucun changement de comportement, de visibilité ou de logique métier. */
:root{
  --ks-ui-ink:#15332b;
  --ks-ui-paper:#ffffff;
  --ks-ui-line:#dce2dc;
  --ks-ui-muted:#56655e;
  --ks-ui-teal:#2e8468;
  --ks-ui-lime:#dcebd9;
  --ks-ui-shadow:none;
  --ks-ui-shadow-raised:none;
}
html{scroll-padding-top:92px}
body{font-synthesis:none;-webkit-font-smoothing:antialiased}
:where(main,section,article,aside) :where(h1,h2,h3){text-wrap:balance}
:where(main,section,article,aside) :where(p,li){overflow-wrap:break-word}
:where(.account-portal-page,.availability-page,.legal-page,.marketplace-info-page,.support-page,.search-page,.help-page){background-color:#f8faf7}
:where(button,a,input,select,textarea,[role="button"]):focus-visible{
  outline:2px solid #2e8468;outline-offset:3px;
}
:where(button,a,[role="button"]){-webkit-tap-highlight-color:transparent}
:where(button,a,input,select,textarea){touch-action:manipulation}
:where(.btn,.account-card-link,.account-item-actions a,.account-form-actions a){
  transition:background-color .17s ease,color .17s ease,border-color .17s ease,box-shadow .17s ease,transform .17s ease;
}
:where(.btn):not(:disabled):hover{box-shadow:0 8px 23px rgba(20,20,17,.13)}
:where(.btn):not(:disabled):active{transform:translateY(1px)}
body:not(:has(.kr-shell)) :where(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),select,textarea){
  max-width:100%;min-width:0;
}
body:not(:has(.kr-shell)) :where(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),select,textarea):focus-visible{
  outline:2px solid #2e8468;outline-offset:2px;border-color:#2e8468;
}
:where(.account-portal-page,.availability-page,.support-page,.legal-page) :where(.shell,.account-page-shell){min-width:0}
/* Espaces personnels — même finition que l'accueil, sans modifier la navigation. */
.account-portal-page,.availability-page{background-image:none}
.account-portal-page .account-page-hero{background:#f8faf7;color:#15332b;border-bottom:1px solid #dce2dc}
.account-portal-page .account-page-hero h1{
  max-width:900px;line-height:1.01;letter-spacing:-.048em;text-wrap:balance;
}
.account-portal-page .account-page-hero p{line-height:1.65}
.account-portal-page .account-section{position:relative}
.account-portal-page .account-card,
.account-portal-page .account-list-item,
.account-portal-page .account-kpi,
.account-portal-page .account-modal-card{
  border-color:var(--ks-ui-line);
  background-color:var(--ks-ui-paper);
  box-shadow:var(--ks-ui-shadow);
}
.account-portal-page .account-card{
  border-radius:26px;
  padding:clamp(20px,2.4vw,30px);
}
.account-portal-page .account-card-head{gap:18px;align-items:flex-start}
.account-portal-page .account-card-head h2{line-height:1.14;letter-spacing:-.036em}
.account-portal-page .account-card-head p{line-height:1.55;color:var(--ks-ui-muted)}
.account-portal-page .account-list-item{
  border-radius:20px;padding:clamp(16px,2vw,22px);
}
.account-portal-page a.account-list-item:hover,
.account-portal-page .account-kpi:hover,
.account-portal-page .account-action-grid a:hover{
  border-color:#b2d9d3;box-shadow:var(--ks-ui-shadow-raised);
}
.account-portal-page .account-focus-card,
.account-portal-page .proposal-card,
.account-portal-page .account-summary-grid>div{
  border-color:#e4ded3;
  border-radius:19px;
  background:#f9f8f4;
}
.account-portal-page .account-empty{
  border:1px dashed #cec9bf;background:#fcfbf8;
  border-radius:21px;padding:clamp(22px,3vw,30px);line-height:1.55;
}
.account-portal-page .account-empty b{letter-spacing:-.02em}
.account-portal-page .account-pill{background:#efeee9;border:1px solid #e3dfd7}
.account-portal-page :where(.account-form-grid,.account-preferences) label{font-weight:750}
.account-portal-page :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea){
  border-radius:13px;
}
.account-portal-page :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea):focus{
  border-color:#1a9f96;box-shadow:0 0 0 3px rgba(51,209,198,.12);
}
.account-portal-page .account-modal{backdrop-filter:blur(5px)}
.account-portal-page .account-modal-card{border-radius:27px;box-shadow:0 30px 92px rgba(0,0,0,.23)}
.account-portal-page .account-context-switch{border-color:rgba(255,255,255,.16)}
.account-portal-page .account-context-switch :is(button,a).active{
  box-shadow:0 3px 12px rgba(0,0,0,.14);
}
.account-portal-page .provider-journey-step{
  background:#fffefa;border-radius:20px;box-shadow:0 7px 22px rgba(27,27,23,.035);
}
.account-portal-page .provider-journey-step:hover{border-color:#8accc4;box-shadow:var(--ks-ui-shadow)}
.account-portal-page .dashboard-provider-stats a{
  border-radius:17px;
}
.account-portal-page .account-action-grid a{border-radius:20px;background:#fffefa}
.account-portal-page .account-card :where(.btn,.account-card-link):focus-visible{outline-offset:4px}
/* Agenda : lisibilité accrue sans déplacer les créneaux ou modifier les clics. */
.availability-page :where(.availability-card,.calendar-card,.account-card,.availability-panel){
  border-color:var(--ks-ui-line);box-shadow:var(--ks-ui-shadow);border-radius:24px;
}
.availability-page :where(button,a):focus-visible{outline-offset:3px}
/* Pages publiques secondaires */
:where(.support-page,.search-page,.help-page) :where(.support-hero,.search-hero,.help-hero){
  background-color:#121414;
}
.support-page .support-faq-item,.support-page .support-contact-card,
.search-page .expert-card,.help-page .help-choice{
  border-color:var(--ks-ui-line);box-shadow:var(--ks-ui-shadow);
}
.support-page .support-faq-item:hover,
.search-page .expert-card:hover,
.help-page .help-choice:hover{box-shadow:var(--ks-ui-shadow-raised)}
.support-page .support-contact-card{border-radius:28px}
.search-page .search-content .empty{border-radius:23px;background:#fffefa}
:where(.support-page,.search-page,.help-page) :where(.btn,input,textarea,select):focus-visible{outline-color:#20b6ae}
/* Informations légales / confiance */
.legal-page .legal-shell,.marketplace-info-page .legal-shell{
  background:#fffefa;border-color:var(--ks-ui-line);box-shadow:var(--ks-ui-shadow-raised);
}
.legal-page .legal-shell :where(h2,h3){text-wrap:balance}
.legal-page .legal-shell p,.legal-page .legal-shell li{line-height:1.76}
.legal-page .legal-footer a:focus-visible{outline-color:var(--ks-ui-lime)}
/* Authentification, confirmation et écrans auxiliaires */
.login{box-shadow:0 38px 100px rgba(0,0,0,.36)}
.login :where(.tabs button,.social,.role-option){transition:box-shadow .18s ease,border-color .18s ease,background-color .18s ease}
.login :where(.social,.role-option):hover{border-color:#7dcfc6;box-shadow:0 12px 28px rgba(18,65,62,.08)}
.login :where(.action,.social,.role-option):focus-visible{outline:3px solid #22b8ae;outline-offset:3px}
.admin-gateway{box-shadow:var(--ks-ui-shadow-raised);border-radius:27px}
.admin-gateway .eyebrow{color:#248f86}
/* Salle vidéo : retouche de présentation uniquement; flux, événements et dimensions des vidéos préservés. */
body:has(.kr-shell){
  --ks-room-bg:#0b1112;--ks-room-panel:#172022;--ks-room-line:rgba(224,243,237,.14);
  background:var(--ks-room-bg);color:#f6f7f2;
}
.kr-shell{isolation:isolate}
.kr-top{
  background:linear-gradient(105deg,#172022,#101819 75%);
  color:#f8f9f4;border-bottom:1px solid rgba(255,255,255,.09);
  box-shadow:0 4px 18px rgba(0,0,0,.12);
}
.kr-top .brand{color:#fff}
.kr-top .brand span{color:#151515}
.kr-session b{color:#f7f9f3;font-size:14px;letter-spacing:-.01em}
.kr-session span{color:#afbeb9}
.kr-live-dot{background:#b6f03a;box-shadow:0 0 0 5px rgba(182,240,58,.11)}
.kr-timer{color:#f4f7ee}
.kr-top .btn.ghost{background:rgba(255,255,255,.075);color:#f3f8f3;border-color:rgba(255,255,255,.15)}
.kr-top .btn.ghost:hover{background:rgba(255,255,255,.13)}
.prejoin{
  background:radial-gradient(ellipse at 12% 4%,rgba(51,209,198,.15),transparent 44%),
   radial-gradient(ellipse at 90% 88%,rgba(182,240,58,.07),transparent 41%),#0b1112;
}
.prejoin-card{gap:clamp(14px,2.5vw,30px);grid-template-columns:minmax(0,1.14fr) minmax(320px,.86fr);align-items:stretch}
.preview-panel,.info-panel{
  border:1px solid var(--ks-room-line);border-radius:28px;
  background:linear-gradient(155deg,#1e292a,#151c1e 73%);
  box-shadow:0 28px 70px rgba(0,0,0,.23);
}
.preview-panel{align-self:start}
.preview-wrap{background:radial-gradient(circle at center,#192526,#0b1112 75%)}
#previewVideo{background:#101819}
.preview-empty strong{font-size:clamp(19px,2.4vw,24px);letter-spacing:-.025em}
.preview-empty{color:#aebbb7}
.pre-controls{background:rgba(6,12,13,.58);border-top:1px solid rgba(255,255,255,.065);padding:18px}
.round-control{min-height:48px;border:1px solid rgba(255,255,255,.15);background:#273637;border-radius:14px;justify-content:center;transition:background .16s,border-color .16s,transform .16s}
.round-control:hover{background:#354648;border-color:rgba(51,209,198,.5)}
.round-control.off{background:#57302e;border-color:#8b5049}
.info-panel{padding:clamp(19px,3vw,32px);gap:19px}
.info-panel .eyebrow{color:#b6f03a}
.info-panel h1{letter-spacing:-.045em;font-size:clamp(28px,3.1vw,38px);line-height:1.08}
.exchange-with{border-left:3px solid #33d1c6;padding:8px 0 8px 13px;background:linear-gradient(90deg,rgba(51,209,198,.07),transparent);border-radius:0 12px 12px 0}
.exchange-with b{font-size:20px;letter-spacing:-.02em}
.info-panel .muted{color:#b3c0bb}
.experience-card,.compat-box{background:#202c2e;border:1px solid var(--ks-room-line);border-radius:18px}
.experience-card p{color:#c2cdca}
.device-row label{color:#c7d0cc}
.device-row select{min-height:45px;background:#111b1d;border-color:#435254;border-radius:13px}
.device-row select:focus-visible{outline:2px solid #33d1c6;outline-offset:2px}
.compat-row{color:#b6c3bf}
.compat-row b{color:#f4f8f3}
.enter-btn{min-height:53px;box-shadow:0 12px 28px rgba(182,240,58,.12);transition:transform .16s,filter .16s}
.enter-btn:hover{filter:brightness(1.055);transform:translateY(-1px)}
.join-note{color:#b2bcb6}
.join-note a{text-underline-offset:3px;color:#d8ede5}
.state-pill{border:1px solid rgba(255,255,255,.14);background:rgba(8,17,18,.8)}
.state-pill.off{border-color:rgba(255,180,164,.25)}
.conference{background:#0b1112}
.video-stage{background:radial-gradient(ellipse at 40% 38%,#192528,#090e10 82%)}
.remote-placeholder{color:#b5c2bd}
.remote-avatar{background:linear-gradient(145deg,#27393c,#182123);border:1px solid #45605d;color:#b6f03a;box-shadow:0 15px 42px rgba(0,0,0,.23)}
.remote-placeholder strong{color:#f8f9f4}
.connection-badge{background:rgba(9,22,22,.82);border-color:rgba(233,255,246,.17);box-shadow:0 7px 20px rgba(0,0,0,.19)}
.connection-badge.ok{background:rgba(31,76,58,.89);border-color:rgba(118,221,158,.35)}
.connection-badge.warn{background:rgba(113,66,30,.92)}
.remote-info{background:rgba(8,20,21,.78);border-color:rgba(255,255,255,.17);border-radius:17px}
.remote-info span{color:#bec9c5}
.local-tile,.video-stage.self-primary #remoteVideo{border-radius:18px;border:2px solid rgba(229,252,240,.5);box-shadow:0 18px 55px rgba(0,0,0,.48)}
.local-label{border:1px solid rgba(255,255,255,.18);background:rgba(3,12,13,.78)}
.local-empty{background:#1b2829;color:#c8d0cd}
.call-bar{background:#131b1d;border-top:1px solid rgba(255,255,255,.12);box-shadow:0 -9px 30px rgba(0,0,0,.16)}
.call-status{color:#afbeb9}
.call-btn{
  min-height:50px;border-radius:15px;border:1px solid rgba(255,255,255,.14);
  background:#293537;color:#f7f9f6;transition:background .16s,border-color .16s,transform .16s;
}
.call-btn:hover{background:#35474a;border-color:rgba(51,209,198,.52)}
.call-btn:active{transform:translateY(1px)}
.call-btn.active{background:#713933;border-color:#b4675c}
.call-btn.share-on{background:#475e29;border-color:#82a74b}
.call-btn.danger{background:#b23b2e;border-color:#d66756}
.call-btn.danger:hover{background:#c04438}
.call-privacy{color:#9eaea9}
.call-privacy b{color:#d2dfd9}
.chat-panel{background:#162023;border-left:1px solid var(--ks-room-line);box-shadow:-18px 0 45px rgba(0,0,0,.3)}
.chat-head,.chat-compose{border-color:var(--ks-room-line)}
.chat-close,.device-panel-close{background:#2c3c3d}
.chat-msg{background:#2a393b}
.chat-compose input{background:#0d1719;border-color:#435355}
.device-panel{background:#192527;border-color:#486061;border-radius:23px}
.device-preview{background:#101b1c}
.device-cancel{background:#344244}
.share-notice{border:1px solid #d8e8df;box-shadow:0 20px 55px rgba(0,0,0,.42)}
.ended,.room-error{background:radial-gradient(ellipse at 25% 12%,rgba(51,209,198,.15),transparent 44%),#101718}
.ended-card,.room-error-card{background:#fffefa;border:1px solid #e6e2da;border-radius:30px;box-shadow:0 28px 86px rgba(0,0,0,.24)}
.ended-card:before,.room-error-card:before{content:"";display:block;width:60px;height:6px;border-radius:99px;background:#33d1c6;margin:0 auto 22px}
.ended-card h2,.room-error-card h2{letter-spacing:-.04em;line-height:1.08}
.kr-shell :where(button,[role="button"],a):focus-visible{outline:3px solid #b6f03a;outline-offset:3px}
@media(max-width:900px){
  .prejoin-card{grid-template-columns:1fr}
  .info-panel{order:-1}
  .preview-panel{align-self:stretch}
  .local-tile,.video-stage.self-primary #remoteVideo{border-radius:14px}
  .call-bar{padding:11px max(10px,env(safe-area-inset-right)) calc(11px + env(safe-area-inset-bottom))}
  .call-controls{gap:8px}
  .call-btn{min-width:49px;height:48px;padding:0 12px}
}
@media(max-width:600px){
  .account-portal-page .account-card{border-radius:21px;padding:19px}
  .account-portal-page .account-card-head{gap:12px;flex-wrap:wrap}
  .account-portal-page .account-card-head h2{font-size:clamp(22px,6vw,27px)}
  .account-portal-page .account-modal-card{padding:22px 18px;border-radius:21px}
  .prejoin{padding:12px}
  .preview-panel,.info-panel{border-radius:22px}
  .preview-wrap{aspect-ratio:16/11}
  .info-panel{padding:20px;gap:15px}
  .info-panel h1{font-size:28px}
  .pre-controls{gap:9px;padding:12px}
  .round-control{min-height:46px;padding:10px 12px;font-size:13px}
  .call-btn{border-radius:13px;min-width:46px;padding:0 11px}
  .kr-top{padding:0 12px}
  .kr-top .brand{font-size:19px}
  .kr-timer{min-width:0;font-size:15px}
  .remote-avatar{width:112px;height:112px;font-size:37px}
  .remote-placeholder strong{font-size:19px}
  .connection-badge{top:10px;left:10px;max-width:58vw;overflow:hidden;text-overflow:ellipsis}
  .local-tile,.video-stage.self-primary #remoteVideo{width:min(37vw,180px)}
  .device-panel,.share-notice{bottom:calc(128px + env(safe-area-inset-bottom))}
  .ended-card,.room-error-card{padding:27px 20px;border-radius:24px}
}
@media(prefers-reduced-motion:reduce){
  :where(.btn,.account-list-item,.call-btn,.round-control,.enter-btn){transition:none!important}
}
/* Administration : styles uniquement, contrôle d'accès inchangé */
.admin-shell{padding-top:clamp(18px,3vw,32px)}
.admin-shell .admin-top{
  background:radial-gradient(ellipse at 80% 5%,rgba(51,209,198,.17),transparent 52%),
    linear-gradient(130deg,#1b2020,#121617);
  border:1px solid rgba(255,255,255,.08);border-radius:26px;
  padding:clamp(22px,3vw,32px);box-shadow:0 17px 45px rgba(26,24,20,.12);
  margin-bottom:23px;
}
.admin-shell .admin-top h1{color:#fff;letter-spacing:-.045em;font-size:clamp(34px,4vw,50px)}
.admin-shell .admin-top .eyebrow{color:#b6f03a}
.admin-shell .admin-top .btn.ghost{background:#fff;color:#171715;border-color:#fff}
.admin-shell .admin-sidebar{
  border-color:#e1ddd4;border-radius:22px;background:#fffefa;
  box-shadow:0 16px 43px rgba(27,27,23,.065);padding:14px;
}
.admin-shell .admin-nav button,.admin-shell .admin-mobile-nav button{border-radius:13px;min-height:43px}
.admin-shell .admin-nav button.active,.admin-shell .admin-mobile-nav button.active{background:#1a2424;color:#fff;box-shadow:inset 3px 0 0 #33d1c6}
.admin-shell .admin-nav button:not(.active):hover{background:#eaf6f3}
.admin-shell .admin-view-head h2{font-size:clamp(24px,3vw,32px);letter-spacing:-.035em}
.admin-shell .admin-content .panel,.admin-shell :where(.analytics-metric,.analytics-funnel,.analytics-breakdown,.analytics-ai,.provider-review-section,.newsletter-preview){
  background:#fffefa;border:1px solid #e3dfd6;border-radius:20px;
  box-shadow:0 10px 32px rgba(27,27,23,.045);
}
.admin-shell .admin-content .panel{padding:clamp(18px,2.4vw,25px)}
.admin-shell .analytics-metric b{letter-spacing:-.045em}
.admin-shell .analytics-bar{height:7px}
.admin-shell .newsletter-field :is(input,textarea){border-radius:13px}
.admin-shell .admin-mobile-nav{border-radius:17px}
.admin-shell .admin-toast{border-radius:17px}
@media(max-width:900px){
 .admin-shell .admin-top{border-radius:22px}
 .admin-shell .admin-sidebar.mobile-open{position:static}
}
/* Corrections mesurées sur les pages secondaires : cible tactile et cohérence de l'administration. */
.topbar button.beta-badge{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:44px;min-height:40px;line-height:1.1;
}
.topbar .nav-actions a.btn{min-height:44px!important}
@media(max-width:720px){
  .topbar button.beta-badge{min-width:40px;padding-left:4px;padding-right:4px}
}
/* Écran de modération des demandes : mêmes cartes, titres et états que Mon espace. */
body:has(>main.ks-admin-requests){background:#f7f5f0}
.ks-admin-requests{max-width:1050px}
.ks-admin-requests>a:first-child{
  display:inline-flex;align-items:center;min-height:44px;
  color:#386f68;font-weight:800;text-underline-offset:4px;
}
.ks-admin-requests>h1{
  margin:14px 0 14px;font-size:clamp(34px,4.5vw,54px);
  letter-spacing:-.045em;line-height:1.07;text-wrap:balance;
}
.ks-admin-requests>p{max-width:760px;line-height:1.65;color:#625f58}
.ks-admin-request{
  border-color:var(--ks-ui-line);border-radius:24px;
  background:var(--ks-ui-paper);box-shadow:var(--ks-ui-shadow);
  padding:clamp(18px,3vw,28px);
}
.ks-admin-request :where(input,textarea,select){
  max-width:100%;min-width:0;border-radius:13px;background:#fffefa;
}
.ks-admin-request :where(button,.btn){
  min-height:44px;border-radius:999px;
}
.ks-admin-request :where(button,a,input,textarea,select):focus-visible{
  outline:3px solid var(--ks-ui-teal);outline-offset:3px;
}
.ks-admin-source{border:1px solid #e5dfd5;border-radius:14px;background:#f8f6f1}
@media(max-width:600px){
 .admin-shell .admin-top{padding:21px}
 .admin-shell .admin-content .panel{padding:18px}
 .ks-admin-requests{margin-top:24px;margin-bottom:50px}
 .ks-admin-request{border-radius:20px}
 .ks-admin-controls :where(button,.btn){flex:1 1 auto}
}
/* Finition transversale des pages secondaires : mêmes proportions que l’accueil. */
:where(.account-portal-page,.availability-page,.legal-page,.trust-info-page,.support-page,.search-page,.help-page) :where(main,section,article){min-width:0}
.account-portal-page :where(.account-card,.account-list-item,.account-empty) :where(p,small){line-height:1.6}
.account-portal-page :where(.account-card-head h2,.account-list-head b){overflow-wrap:anywhere}
.account-portal-page :where(.account-form-actions,.account-item-actions){row-gap:12px}
.account-portal-page :where(.account-card,.account-modal-card) :where(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),select,textarea){max-width:100%}
.account-portal-page :where(.account-card,.account-modal-card) :where(button,.btn){min-height:42px}
.trust-info-page :where(.trust-card,.trust-faq-group details){border-color:var(--ks-ui-line);box-shadow:var(--ks-ui-shadow)}
.trust-info-page .trust-card{transition:box-shadow .18s ease,transform .18s ease}
.trust-info-page .trust-card:hover{box-shadow:var(--ks-ui-shadow-raised);transform:translateY(-1px)}
.trust-info-page .trust-bottom{border-radius:26px}
.legal-page .legal-shell :where(a,button):focus-visible,.trust-info-page :where(a,summary,button):focus-visible{outline:3px solid var(--ks-ui-teal);outline-offset:3px}
@media(max-width:650px){.account-portal-page .account-card-head{min-width:0}.account-portal-page .account-form-actions>.btn{max-width:100%}.trust-info-page .trust-card{border-radius:21px}}
@media(prefers-reduced-motion:reduce){.trust-info-page .trust-card{transition:none}}

/* KONÉSANS V6 · harmonisation des pages restées en ancien design · 2026-10-31.
   Pages V6 déjà validées volontairement exclues; logique, Stripe et formulaires inchangés. */
body.account-portal-page:not(.ks-v6-ab-page),
body.availability-page,
body.legal-page,
body.experience-page,
body.trust-info-page:not(.ks-v6-ab-page),
body.support-page:not(.ks-v6-ab-page),
body.search-page:not(.ks-v6-ab-page),
body.marketplace-info-page:not(.ks-v6-ab-page){
  --ks-ui-ink:#15332b;--ks-ui-paper:#fff;--ks-ui-line:#dce2dc;
  --ks-ui-muted:#56655e;--ks-ui-teal:#2e8468;--ks-ui-lime:#e3eee5;
  --ks-ui-shadow:none;--ks-ui-shadow-raised:0 10px 25px rgba(23,53,40,.075);
  --text:#15332b;--brand:#15332b;--on-brand:#fff;--muted:#56655e;
  --accent:#2e8468;--accent-dark:#245944;--accent-soft:#edf4ed;
  --highlight:#dcebd9;--highlight-soft:#edf4ed;
  --bg:#f8faf7;--border:#dce2dc;--shadow:none;
  color:#15332b;background:#f8faf7;background-image:none;
}
body.account-portal-page:not(.ks-v6-ab-page) .topbar,
body.availability-page .topbar,
body.legal-page .topbar,
body.experience-page .topbar,
body.marketplace-info-page:not(.ks-v6-ab-page) .topbar{
  background:rgba(255,255,255,.98);color:#15332b;
  border-bottom:1px solid #dce2dc;box-shadow:none;
}
body.account-portal-page:not(.ks-v6-ab-page) .topbar :is(.brand,.site-main-nav a,.site-main-nav button,.site-nav-menu summary),
body.availability-page .topbar :is(.brand,.site-main-nav a,.site-main-nav button,.site-nav-menu summary),
body.legal-page .topbar :is(.brand,.site-main-nav a,.site-main-nav button,.site-nav-menu summary),
body.experience-page .topbar :is(.brand,.site-main-nav a,.site-main-nav button,.site-nav-menu summary){
  color:#15332b;
}
body.account-portal-page:not(.ks-v6-ab-page) .topbar .site-nav-priority,
body.availability-page .topbar .site-nav-priority,
body.legal-page .topbar .site-nav-priority{border-color:#c8d7cb;border-radius:7px}
body.account-portal-page:not(.ks-v6-ab-page) .topbar .nav-actions .btn,
body.availability-page .topbar .nav-actions .btn,
body.legal-page .topbar .nav-actions .btn,
body.experience-page .topbar .nav-actions .btn{
  background:#15332b;color:#fff;border:1px solid #15332b;border-radius:7px;box-shadow:none;
}
body.account-portal-page:not(.ks-v6-ab-page) .topbar .nav-actions .btn:hover,
body.availability-page .topbar .nav-actions .btn:hover{background:#245944;color:#fff}
body.account-portal-page:not(.ks-v6-ab-page) .topbar .site-nav-menu-panel,
body.availability-page .topbar .site-nav-menu-panel,
body.legal-page .topbar .site-nav-menu-panel,
body.experience-page .topbar .site-nav-menu-panel{
  background:#fff;border:1px solid #dce2dc;border-radius:9px;box-shadow:0 15px 45px rgba(22,49,36,.12);
}
body.account-portal-page:not(.ks-v6-ab-page) .topbar .site-nav-menu-panel :is(a,button),
body.availability-page .topbar .site-nav-menu-panel :is(a,button),
body.legal-page .topbar .site-nav-menu-panel :is(a,button),
body.experience-page .topbar .site-nav-menu-panel :is(a,button){color:#15332b}
body.account-portal-page:not(.ks-v6-ab-page) .topbar .site-nav-menu-panel :is(a,button):hover,
body.availability-page .topbar .site-nav-menu-panel :is(a,button):hover{background:#edf4ed;color:#15332b}
/* Espace connecté : supprimer le bandeau noir et les cartes à fort relief. */
body.account-portal-page:not(.ks-v6-ab-page) .account-portal-strip,
body.availability-page .account-portal-strip{
  background:#fff;border-bottom:1px solid #dce2dc;border-top:0;
}
body.account-portal-page:not(.ks-v6-ab-page) .account-context-switch,
body.availability-page .account-context-switch{
  background:#edf2ed;border-color:#cbd9cf;border-radius:8px;
}
body.account-portal-page:not(.ks-v6-ab-page) .account-context-switch :is(button,a),
body.availability-page .account-context-switch :is(button,a){
  color:#456052;border-radius:6px;font-weight:750;
}
body.account-portal-page:not(.ks-v6-ab-page) .account-context-switch :is(button,a).active,
body.availability-page .account-context-switch :is(button,a).active{
  background:#15332b;color:#fff;box-shadow:none;
}
body.account-portal-page:not(.ks-v6-ab-page) .account-page-hero{
  background:#f8faf7;color:#15332b;background-image:none;
  padding:clamp(27px,4.2vw,45px) 0 34px;border-bottom:1px solid #dce2dc;
}
body.account-portal-page:not(.ks-v6-ab-page) .account-page-hero :is(h1,h2){color:#15332b;letter-spacing:-.044em;line-height:1.1}
body.account-portal-page:not(.ks-v6-ab-page) .account-page-hero :is(p,.eyebrow,.account-page-back){color:#456454}
body.account-portal-page:not(.ks-v6-ab-page) .account-page-hero .eyebrow{
  color:#2e8468;letter-spacing:.075em;font-size:12px;
}
body.account-portal-page:not(.ks-v6-ab-page) .account-section{
  background:#f8faf7;padding-top:clamp(22px,3.5vw,40px);
}
body.account-portal-page:not(.ks-v6-ab-page) :is(.account-card,.account-kpi,.account-list-item,.account-modal-card,.account-action-grid a,.dashboard-main-card,.dashboard-preview-card,.provider-journey-step){
  background:#fff;border:1px solid #dce2dc;border-radius:9px;box-shadow:none;
}
body.account-portal-page:not(.ks-v6-ab-page) :is(.account-card,.account-list-item,.account-modal-card):hover{box-shadow:none}
body.account-portal-page:not(.ks-v6-ab-page) :is(.account-card-head h2,.account-list-head b,.account-page-hero h1){color:#15332b}
body.account-portal-page:not(.ks-v6-ab-page) :is(.account-card-head p,.account-list-item p,.account-empty span){color:#56655e}
body.account-portal-page:not(.ks-v6-ab-page) :is(.account-focus-card,.proposal-card,.account-summary-grid>div,.account-empty,.experience-update-information){
  background:#f3f5f2;border:1px solid #dce2dc;border-radius:8px;box-shadow:none;
}
body.account-portal-page:not(.ks-v6-ab-page) .account-kicker{color:#356c50}
body.account-portal-page:not(.ks-v6-ab-page) .account-pill{
  background:#eef3ed;border:1px solid #d6e2d5;color:#345b47;border-radius:6px;
}
body.account-portal-page:not(.ks-v6-ab-page) .account-card :is(.btn,.account-card-link),
body.account-portal-page:not(.ks-v6-ab-page) .account-form-actions .btn,
body.account-portal-page:not(.ks-v6-ab-page) .account-item-actions .btn{
  border-radius:7px;box-shadow:none;
}
body.account-portal-page:not(.ks-v6-ab-page) :is(.btn.accent,.account-primary-actions .btn,.account-form-actions .btn:not(.ghost)),
body.availability-page :is(.btn.accent,.account-form-actions .btn:not(.ghost)){
  background:#15332b;color:#fff;border-color:#15332b;box-shadow:none;border-radius:7px;
}
body.account-portal-page:not(.ks-v6-ab-page) :is(.btn.accent,.account-primary-actions .btn,.account-form-actions .btn:not(.ghost)):hover,
body.availability-page .btn.accent:hover{background:#245944;color:#fff}
body.account-portal-page:not(.ks-v6-ab-page) :is(.btn.ghost,.account-form-actions .btn.ghost,.account-card-link),
body.availability-page .btn.ghost{
  background:#fff;color:#15332b;border:1px solid #cbdacf;border-radius:7px;
}
body.account-portal-page:not(.ks-v6-ab-page) :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea),
body.availability-page :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){
  background:#fff;border:1px solid #c8d7cb;border-radius:7px;color:#15332b;
}
body.account-portal-page:not(.ks-v6-ab-page) :is(input,select,textarea):focus,
body.availability-page :is(input,select,textarea):focus{border-color:#2e8468;box-shadow:0 0 0 3px rgba(46,132,104,.1)}
body.account-portal-page:not(.ks-v6-ab-page) .provider-journey-layout .provider-journey-tabs,
body.availability-page .provider-journey-layout .provider-journey-tabs{
  background:#fff;border:1px solid #dce2dc;border-radius:10px;box-shadow:none;
}
body.account-portal-page:not(.ks-v6-ab-page) .provider-journey-layout .provider-journey-tabs a,
body.availability-page .provider-journey-layout .provider-journey-tabs a{color:#234638;border-radius:6px}
body.account-portal-page:not(.ks-v6-ab-page) .provider-journey-layout .provider-journey-tabs a:hover,
body.availability-page .provider-journey-layout .provider-journey-tabs a:hover{background:#edf4ed;color:#15332b}
body.account-portal-page:not(.ks-v6-ab-page) .provider-journey-layout .provider-journey-tabs a.active,
body.availability-page .provider-journey-layout .provider-journey-tabs a.active{background:#15332b;color:#fff}
body.account-portal-page:not(.ks-v6-ab-page) :is(.header-account-menu-panel,.account-section-menu-panel),
body.availability-page :is(.header-account-menu-panel,.account-section-menu-panel){
  background:#fff;border-color:#dce2dc;border-radius:9px;box-shadow:0 12px 34px rgba(22,49,36,.11);
}
body.account-portal-page:not(.ks-v6-ab-page) :is(.header-account-menu-panel,.account-section-menu-panel) a.active,
body.availability-page :is(.header-account-menu-panel,.account-section-menu-panel) a.active{
  background:#15332b;color:#fff;
}
body.account-portal-page:not(.ks-v6-ab-page) :is(.header-account-menu-panel,.account-section-menu-panel) a:hover,
body.availability-page :is(.header-account-menu-panel,.account-section-menu-panel) a:hover{background:#edf4ed;color:#15332b}
body.account-portal-page:not(.ks-v6-ab-page) :is(.account-modal-card,.account-section-menu summary,.header-account-menu summary){border-radius:8px}
/* Agenda, réservations, paiements : uniquement l'habillage, jamais les tailles vidéo ni les indicateurs métiers. */
body.availability-page :is(.availability-card,.calendar-card,.account-card,.availability-panel,.provider-journey-step){
  background:#fff;border:1px solid #dce2dc;border-radius:9px;box-shadow:none;
}
body.availability-page :is(.calendar-day,.calendar-slot,.availability-slot){border-radius:6px}
body.availability-page :is(.availability-page-hero,.account-page-hero){background:#f8faf7;color:#15332b}
body.availability-page :is(.calendar-card h2,.availability-card h2){color:#15332b}
/* Articles, fiches publiques et mentions légales qui n'avaient pas encore reçu V6. */
body.legal-page :is(.legal-shell,.legal-card),
body.experience-page :is(.exp-heading,.exp-body,.exp-booking,.profile-topic,.exp-section),
body.marketplace-info-page:not(.ks-v6-ab-page) :is(.legal-shell,.marketplace-card){
  background:#fff;border-color:#dce2dc;border-radius:9px;box-shadow:none;
}
body.legal-page :is(h1,h2,h3),
body.experience-page :is(h1,h2,h3),
body.marketplace-info-page:not(.ks-v6-ab-page) :is(h1,h2,h3){color:#15332b}
body.experience-page :is(.exp-back,.profile-subtitle,.exp-author){color:#456454}
body.experience-page :is(.exp-book,.btn:not(.ghost)){background:#15332b;color:#fff;border-radius:7px}
body.legal-page :is(.btn,.legal-pill){border-radius:7px}
body.trust-info-page:not(.ks-v6-ab-page) :is(.trust-card,.trust-faq-group details),
body.support-page:not(.ks-v6-ab-page) :is(.support-contact-card,.support-faq-item),
body.search-page:not(.ks-v6-ab-page) :is(.expert-card,.search-guide){
  background:#fff;border:1px solid #dce2dc;border-radius:9px;box-shadow:none;
}
body.trust-info-page:not(.ks-v6-ab-page) :is(.trust-hero,.trust-bottom),
body.support-page:not(.ks-v6-ab-page) .support-hero,
body.search-page:not(.ks-v6-ab-page) .search-hero{
  background:#f8faf7;color:#15332b;background-image:none;box-shadow:none;border-radius:0;
}
/* Outils administratifs et pages annexes conservent leurs permissions et états. */
.admin-shell :is(.admin-top,.admin-sidebar,.admin-content .panel){box-shadow:none;border-radius:10px}
.admin-shell .admin-top{background:#15332b;background-image:none}
.admin-shell .admin-nav button.active,.admin-shell .admin-mobile-nav button.active{background:#15332b;box-shadow:inset 3px 0 0 #a9c8ad}
.admin-shell :is(.admin-content .panel,.admin-sidebar){background:#fff;border-color:#dce2dc}
:where(body.account-portal-page:not(.ks-v6-ab-page),body.availability-page,body.legal-page,body.experience-page) :is(a,button,input,textarea,select):focus-visible{
  outline:2px solid #2e8468;outline-offset:3px;
}
@media(max-width:900px){
 body.account-portal-page:not(.ks-v6-ab-page) .account-portal-strip,
 body.availability-page .account-portal-strip{position:relative}
 body.account-portal-page:not(.ks-v6-ab-page) .provider-journey-layout .provider-journey-tabs{border-radius:8px}
}
@media(max-width:640px){
 body.account-portal-page:not(.ks-v6-ab-page) .account-page-hero{padding:24px 0}
 body.account-portal-page:not(.ks-v6-ab-page) .account-card{padding:18px}
 body.account-portal-page:not(.ks-v6-ab-page) .account-list-item{padding:15px}
 body.account-portal-page:not(.ks-v6-ab-page) .account-context-switch{border-radius:7px}
 body.account-portal-page:not(.ks-v6-ab-page) :is(.account-modal-card,.account-card,.account-list-item){max-width:100%;min-width:0}
 body.account-portal-page:not(.ks-v6-ab-page) .account-page-hero h1{font-size:clamp(30px,9vw,44px)}
}
@media(prefers-reduced-motion:reduce){
 body.account-portal-page:not(.ks-v6-ab-page) :is(.account-list-item,.account-card,.btn){transition:none}
}

/* V6 · Connexion : fin du fond noir à halos, formes et boutons cohérents avec l'accueil. */
body:has(>main.login){
  --text:#15332b;--muted:#56655e;--border:#dce2dc;--accent:#2e8468;
  --accent-soft:#edf4ed;--highlight:#dcebd9;--brand:#15332b;
  background:#f8faf7;color:#15332b;
}
body:has(>main.login)::before{content:none;display:none}
body:has(>main.login) .login{
  background:#fff;border:1px solid #dce2dc;border-radius:11px;
  box-shadow:0 12px 38px rgba(24,52,39,.065);color:#15332b;
}
body:has(>main.login) .login :is(h1,.brand){color:#15332b}
body:has(>main.login) .login .tabs{
  background:#edf4ed;border:1px solid #dce2dc;border-radius:8px;
}
body:has(>main.login) .login .tabs button{color:#3c5a47;border-radius:6px}
body:has(>main.login) .login .tabs button.on{background:#15332b;color:#fff;box-shadow:none}
body:has(>main.login) .login :is(.role-option,.social,.code-choice,.confirm-help,.owner a){
  background:#fff;border:1px solid #dce2dc;color:#15332b;
  border-radius:7px;box-shadow:none;
}
body:has(>main.login) .login .role-option.on{
  background:#edf4ed;border-color:#2e8468;box-shadow:none;
}
body:has(>main.login) .login :is(.login input,input){
  background:#fff;border:1px solid #c8d7cb;color:#15332b;border-radius:7px;
}
body:has(>main.login) .login :is(input,.role-option,.social,.code-choice):focus-visible{
  outline:2px solid #2e8468;outline-offset:3px;
}
body:has(>main.login) .login input:focus{box-shadow:0 0 0 3px rgba(46,132,104,.12);border-color:#2e8468}
body:has(>main.login) .login :is(button.action,.confirm-help .resend){
  background:#15332b;border:0;color:#fff;border-radius:7px;box-shadow:none;
}
body:has(>main.login) .login :is(button.action,.confirm-help .resend):hover{background:#245944}
body:has(>main.login) .login .social[data-provider="apple"]{background:#15332b;color:#fff;border-color:#15332b}
body:has(>main.login) .login .code-choice:hover{background:#edf4ed;border-color:#91b59e}
body:has(>main.login) .login .code-choice svg{color:#2e8468}
body:has(>main.login) .login .confirm-help{background:#f3f5f2}
body:has(>main.login) .login .owner a{background:#edf4ed;color:#15332b}
/* Salle de visio : conserver le contraste et la place de la vidéo, retirer les accents fluo. */
body:has(>.kr-shell){--ks-room-bg:#0f1814;--ks-room-panel:#1b2923;--ks-room-line:#344a3e;background:#0f1814}
body:has(>.kr-shell) .kr-top{
  background:#f8faf7;color:#15332b;border-bottom:1px solid #dce2dc;
}
body:has(>.kr-shell) .kr-session span{color:#56655e}
body:has(>.kr-shell) .prejoin{background:#0f1814;background-image:none}
body:has(>.kr-shell) :is(.preview-panel,.info-panel,.experience-card,.compat-box){
  background:#1b2923;border-color:#35483c;border-radius:10px;box-shadow:none;
}
body:has(>.kr-shell) :is(.round-control,.device-row select){background:#263c30;border-color:#496152;border-radius:7px}
body:has(>.kr-shell) .round-control.off{background:#7f2c24;border-color:#7f2c24}
body:has(>.kr-shell) :is(.enter-btn,.audio-unlock){
  background:#bcd8bd;color:#15332b;border-radius:7px;box-shadow:none;
}
body:has(>.kr-shell) .enter-btn:hover{background:#d1e4cf}
body:has(>.kr-shell) :is(.verified-room,.kr-live-dot){background:#91bd9e;color:#15332b;box-shadow:none}
body:has(>.kr-shell) .remote-avatar{color:#bcd8bd}
body:has(>.kr-shell) :is(button,select):focus-visible{outline:2px solid #bcd8bd;outline-offset:3px}
/* Administration, notifications et retours d'expérience non couverts par la première refonte. */
body:has(>.admin-gateway){background:#f8faf7}
body:has(>.admin-gateway) .admin-gateway{border:1px solid #dce2dc;border-radius:10px;box-shadow:none;color:#15332b}
body:has(>.admin-gateway) .admin-gateway .eyebrow{color:#2e8468}
body:has(>.admin-gateway) .admin-gateway .btn{border-radius:7px}
body:has(#feedbackForm):not(.ks-home-v6){background:#f8faf7;color:#15332b}
body:has(#feedbackForm) :is(.ks-page-heading,.ks-back){color:#15332b}
body:has(#feedbackForm) .ks-page-info{color:#56655e}
body:has(.ks-admin-requests){background:#f8faf7}
body:has(.ks-admin-requests) .ks-admin-request{border-radius:9px;box-shadow:none}
body:has(.ks-admin-requests) .ks-admin-controls :is(button,.btn){border-radius:7px}

/* DA V6 finale · correctif des sélecteurs historiques oubliés.
   Composants internes seulement : pas de modification des créneaux, statuts, montants ou JS.
   Palette unique : encre #15332b, papier #f8faf7, bordures #dce2dc, accent #2e8468. */
body.account-portal-page,
body.availability-page{
  --ks-ui-ink:#15332b;--ks-ui-paper:#fff;--ks-ui-line:#dce2dc;
  --ks-ui-muted:#56655e;--ks-ui-teal:#2e8468;--ks-ui-lime:#dcebd9;
  --ks-ui-shadow:none;--ks-ui-shadow-raised:none;
  --text:#15332b;--muted:#56655e;--bg:#f8faf7;--border:#dce2dc;
  --accent:#2e8468;--accent-dark:#245944;--accent-soft:#edf4ed;
  --highlight:#dcebd9;--highlight-soft:#edf4ed;
  background:#f8faf7;background-image:none;color:#15332b;
}

/* Les anciens en-têtes noirs à cercles et grilles ne correspondent pas à V6. */
body.account-portal-page .account-page-hero,
body.account-portal-page[data-account-page] .account-page-hero,
body.availability-page .availability-page-head{
  position:relative;
  background:#f8faf7;background-image:none;
  color:#15332b;
  border:0;border-bottom:1px solid #dce2dc;
  box-shadow:none;
  padding:clamp(24px,3.6vw,38px) 0 clamp(24px,3vw,34px);
}
body.account-portal-page .account-page-hero::before,
body.account-portal-page .account-page-hero::after,
body.account-portal-page[data-account-page] .account-page-hero::before,
body.account-portal-page[data-account-page] .account-page-hero::after,
body.availability-page .availability-page-head::before,
body.availability-page .availability-page-head::after{
  content:none;display:none;background:none;
}
body.account-portal-page .account-page-hero :is(h1,h2),
body.account-portal-page[data-account-page] .account-page-hero :is(h1,h2),
body.availability-page .availability-page-title h1{
  color:#15332b;letter-spacing:-.04em;line-height:1.08;
  font-size:clamp(30px,3.7vw,49px);margin:4px 0 12px;
}
body.account-portal-page .account-page-hero :is(p,.eyebrow,.account-page-back),
body.account-portal-page[data-account-page] .account-page-hero :is(p,.eyebrow,.account-page-back),
body.availability-page :is(.availability-back,.availability-page-title p){
  color:#52665a;line-height:1.55;
}
body.account-portal-page .account-page-hero .eyebrow,
body.availability-page .availability-page-title .eyebrow{
  color:#2e8468;letter-spacing:.065em;font-size:12px;font-weight:800;
}
body.availability-page .availability-back{font-size:13px;font-weight:750;margin-bottom:14px;text-decoration:underline;text-underline-offset:3px}
body.availability-page .availability-back:hover{color:#245944}
body.availability-page .availability-page-title{align-items:center;gap:20px;margin-bottom:18px}
body.availability-page .availability-page-title p{font-size:15px;max-width:550px;margin:0}
body.availability-page .availability-primary-actions{gap:9px}
body.availability-page .availability-primary-actions .btn{
  min-height:44px;border:1px solid #15332b;border-radius:7px;
  box-shadow:none;font-size:14px;
}
body.availability-page .availability-primary-actions .btn.accent{background:#15332b;color:#fff;box-shadow:none}
body.availability-page .availability-primary-actions .btn.accent:hover{background:#245944;color:#fff}
body.availability-page .availability-primary-actions .btn.ghost{background:#fff;color:#15332b;border-color:#cbdacf}
body.availability-page .availability-primary-actions .btn.ghost:hover{background:#edf4ed;color:#15332b;border-color:#779f87}
body.availability-page .availability-primary-actions .availability-unavailable-action{
  border-color:#e5ccc8;color:#813a35;
}
body.availability-page .availability-primary-actions .availability-unavailable-action:hover{
  background:#faf1ef;color:#813a35;border-color:#d7aca6;
}

/* Navigation interne et parcours prestataire (ancienne bande sombre résiduelle). */
body.account-portal-page .provider-journey-nav,
body.availability-page .provider-journey-nav{
  background:#fff;background-image:none;color:#15332b;
  border-bottom:1px solid #dce2dc;box-shadow:none;backdrop-filter:none;
}
body.account-portal-page .provider-journey-tabs a,
body.availability-page .provider-journey-tabs a{
  color:#345345;background:transparent;border-color:transparent;border-radius:7px;
}
body.account-portal-page .provider-journey-tabs a:hover,
body.availability-page .provider-journey-tabs a:hover{background:#edf4ed;color:#15332b}
body.account-portal-page .provider-journey-tabs a.active,
body.availability-page .provider-journey-tabs a.active{
  background:#15332b;color:#fff;border-color:#15332b;
}
body.account-portal-page .account-portal-strip,
body.availability-page .account-portal-strip{
  background:#fff;background-image:none;border:0;border-bottom:1px solid #dce2dc;
}
body.account-portal-page .account-context-switch,
body.availability-page .account-context-switch{
  background:#edf2ed;border:1px solid #cbd9cf;border-radius:7px;box-shadow:none;
}
body.account-portal-page .account-context-switch :is(a,button),
body.availability-page .account-context-switch :is(a,button){color:#345345;border-radius:6px}
body.account-portal-page .account-context-switch :is(a,button).active,
body.availability-page .account-context-switch :is(a,button).active{
  background:#15332b;color:#fff;box-shadow:none;
}

/* Cartes des étapes de préparation, communes à profil / activité / tarifs / agenda / paiements. */
body.account-portal-page .shared-provider-journey-section,
body.availability-page .shared-provider-journey-section{background:#f8faf7}
body.account-portal-page .shared-provider-journey,
body.availability-page .shared-provider-journey,
body.account-portal-page .provider-journey-card,
body.availability-page .provider-journey-card{
  background:#fff;border:1px solid #dce2dc;border-radius:9px;box-shadow:none;
}
body.account-portal-page .provider-journey-step,
body.availability-page .provider-journey-step,
body.account-portal-page .shared-provider-journey .provider-journey-grid>.provider-journey-step,
body.availability-page .shared-provider-journey .provider-journey-grid>.provider-journey-step{
  background:#fff;border:1px solid #dce2dc;border-radius:7px;box-shadow:none;
}
body.account-portal-page .provider-journey-step.current,
body.availability-page .provider-journey-step.current,
body.account-portal-page .shared-provider-journey .provider-journey-grid>.provider-journey-step.current,
body.availability-page .shared-provider-journey .provider-journey-grid>.provider-journey-step.current{
  background:#edf4ed;border:1px solid #2e8468;box-shadow:none;
}
body.account-portal-page .provider-journey-step.current::before,
body.availability-page .provider-journey-step.current::before{
  content:none;display:none;
}

/* Les cinq cartes de préparation ont des styles historiques plus spécifiques. */
body.account-portal-page .shared-provider-journey .provider-journey-grid>.provider-journey-step,
body.availability-page .shared-provider-journey .provider-journey-grid>.provider-journey-step{
  background:#fff !important;border-color:#dce2dc !important;
  border-radius:7px !important;box-shadow:none !important;
}
body.account-portal-page .shared-provider-journey .provider-journey-grid>.provider-journey-step.current,
body.availability-page .shared-provider-journey .provider-journey-grid>.provider-journey-step.current{
  background:#edf4ed !important;border-color:#2e8468 !important;
}
body.account-portal-page .shared-provider-journey .provider-journey-step>div>span,
body.availability-page .shared-provider-journey .provider-journey-step>div>span,
body.account-portal-page .shared-provider-journey .provider-journey-step em,
body.availability-page .shared-provider-journey .provider-journey-step em{
  font-size:13px !important;line-height:1.4;
}
body.account-portal-page .shared-provider-journey .provider-journey-step.current::before,
body.availability-page .shared-provider-journey .provider-journey-step.current::before{content:none !important;display:none !important}


/* Écrans de connexion secondaire : réinitialisation, retour OAuth et mode test.
   L'ancienne page mot de passe possédait encore un fond noir à halos. */
body:has(>main.card):not(:has(>.kr-shell)){
  --text:#15332b;--muted:#56655e;--accent:#2e8468;
  --bg:#f8faf7;--border:#dce2dc;--brand:#15332b;
  background:#f8faf7;background-image:none;color:#15332b;
}
body:has(>main.card)::before{content:none;display:none}
body:has(>main.card)>main.card{
  background:#fff;background-image:none;color:#15332b;
  border:1px solid #dce2dc;border-radius:11px;
  box-shadow:0 12px 38px rgba(24,52,39,.065);
}
body:has(>main.card)>main.card :is(h1,h2){color:#15332b;line-height:1.1}
body:has(>main.card)>main.card :is(.sub,.msg,.muted){color:#56655e}
body:has(>main.card)>main.card input{
  border:1px solid #c8d7cb;background:#fff;color:#15332b;border-radius:7px;
}
body:has(>main.card)>main.card input:focus{
  border-color:#2e8468;box-shadow:0 0 0 3px rgba(46,132,104,.12);
}
body:has(>main.card)>main.card :is(button:not(.alt),.btn:not(.alt)){
  background:#15332b;color:#fff;border-radius:7px;box-shadow:none;
}
body:has(>main.card)>main.card :is(button:not(.alt),.btn:not(.alt)):hover{background:#245944}
body:has(>main.card)>main.card :is(button.alt,.btn.alt){
  background:#edf4ed;color:#15332b;border:1px solid #cbdacf;border-radius:7px;
}
body:has(>main.card)>main.card .box{
  background:#f3f5f2;border:1px solid #dce2dc;border-radius:8px;
}
body:has(>main.card)>main.card .loader{border-top-color:#2e8468}
body:has(>main.card)>main.card .msg.err{color:#ae3931}
body:has(>main.card)>main.card .msg.ok{color:#206b46}
/* Désabonnement et écrans de service. */
body:has(#confirmUnsubscribe){background:#f8faf7;color:#15332b}
body:has(#confirmUnsubscribe) .panel{
  background:#fff;border:1px solid #dce2dc;border-radius:10px;box-shadow:none;
}
body:has(#confirmUnsubscribe) .panel h1{color:#15332b}
body:has(#confirmUnsubscribe) :is(.btn,.notice){border-radius:7px;box-shadow:none}
body:has(#confirmUnsubscribe) .btn:not(.ghost){background:#15332b;color:#fff}
body:has(#confirmUnsubscribe) .btn.ghost{background:#fff;color:#15332b;border:1px solid #cbdacf}
@media(max-width:640px){
 body:has(>main.card)>main.card{padding:25px 20px;border-radius:10px}
}
body.account-portal-page .provider-journey-step :is(.provider-step-number),
body.availability-page .provider-journey-step :is(.provider-step-number){
  background:#15332b;color:#fff;
}
body.account-portal-page .provider-journey-step :is(b,strong),
body.availability-page .provider-journey-step :is(b,strong){color:#15332b;font-size:13px}
body.account-portal-page .provider-journey-step>div>span,
body.availability-page .provider-journey-step>div>span,
body.account-portal-page .provider-journey-step em,
body.availability-page .provider-journey-step em{font-size:13px;line-height:1.4;color:#56655e}
body.account-portal-page .provider-journey-step.current em,
body.availability-page .provider-journey-step.current em{color:#2e8468}
body.account-portal-page .provider-journey-step.done .provider-step-number::after,
body.availability-page .provider-journey-step.done .provider-step-number::after{
  background:#edf4ed;color:#245944;border:1px solid #c7dbc9;
}

/* Agenda, formulaires de disponibilité et modales. Ne pas toucher au calcul des créneaux. */
body.availability-page .availability-page-calendar-section{background:#f8faf7;padding-top:28px}
body.availability-page .availability-dedicated-calendar{
  background:#fff;border:1px solid #dce2dc;border-radius:9px;box-shadow:none;
}
body.availability-page .availability-dedicated-calendar .availability-view-toolbar{
  background:#f8faf7;border-bottom:1px solid #dce2dc;
}
body.availability-page :is(.availability-view-tabs,.availability-range-nav){color:#15332b}
body.availability-page :is(.availability-view-tabs button,.availability-nav-btn){
  border-radius:6px;border:1px solid #dce2dc;background:#fff;color:#15332b;
}
body.availability-page .availability-view-tabs button:hover,
body.availability-page .availability-nav-btn:hover{background:#edf4ed;border-color:#b7cbb9}
body.availability-page :is(.availability-view-tabs button.active,.availability-view-tabs button[aria-selected="true"]){
  background:#15332b;color:#fff;border-color:#15332b;
}
body.availability-page .availability-page-help{
  background:#edf4ed;border:1px solid #dce2dc;border-radius:8px;color:#56655e;box-shadow:none;
}
body.availability-page .availability-page-help b{color:#15332b}
body.availability-page .availability-modal-card{
  background:#fff;border:1px solid #dce2dc;border-radius:10px;
  box-shadow:0 14px 46px rgba(20,48,32,.15);
}
body.availability-page .availability-modal-close{
  background:#edf4ed;color:#15332b;border-radius:7px;
}
body.availability-page .availability-modal :is(input,select,textarea){
  background:#fff;border:1px solid #c8d7cb;border-radius:7px;color:#15332b;
}
body.availability-page .availability-action-panel{
  background:#fff;border:1px solid #dce2dc;border-radius:9px;box-shadow:none;
}

/* Espaces connectés : surfaces mates, sans relief ni motifs ajoutés. */
body.account-portal-page :is(.account-card,.account-kpi,.account-list-item,.account-modal-card,.dashboard-main-card,.dashboard-preview-card,.proposal-card,.account-focus-card,.account-empty),
body.account-portal-page .shared-provider-journey,
body.availability-page .shared-provider-journey{
  box-shadow:none;border-radius:9px;border-color:#dce2dc;
}
body.account-portal-page :is(.account-card,.account-kpi,.account-list-item,.account-modal-card,.dashboard-main-card,.dashboard-preview-card){background:#fff}
body.account-portal-page :is(.account-focus-card,.account-empty,.account-summary-grid>div){background:#f3f5f2}
body.account-portal-page :is(.account-primary-actions .btn,.account-form-actions .btn,.account-item-actions .btn){
  border-radius:7px;box-shadow:none;
}
body.account-portal-page .account-primary-actions .btn.accent,
body.account-portal-page .account-form-actions .btn.accent,
body.account-portal-page .account-item-actions .btn.accent{
  background:#15332b;color:#fff;border-color:#15332b;
}
body.account-portal-page .account-primary-actions .btn.accent:hover,
body.account-portal-page .account-form-actions .btn.accent:hover{
  background:#245944;color:#fff;
}
body.account-portal-page :is(.account-card-head,.account-list-item,.account-empty) :is(p,span){line-height:1.5}
:where(body.account-portal-page,body.availability-page) :is(button,a,input,select,textarea):focus-visible{
  outline:2px solid #2e8468;outline-offset:3px;
}
@media(max-width:900px){
  body.availability-page .availability-page-title{align-items:flex-start;flex-direction:column;gap:10px}
}
@media(max-width:700px){
  body.availability-page .availability-page-head{padding:22px 0}
  body.availability-page .availability-page-title h1{font-size:clamp(30px,8.2vw,40px)}
  body.availability-page .availability-primary-actions{display:grid;grid-template-columns:minmax(0,1fr)}
  body.availability-page .availability-modal-card{border-radius:10px 10px 0 0}
  body.account-portal-page .account-page-hero{padding:22px 0}
}