/* KONÉSANS — Le relais · espaces membres et disponibilités.
   Couleurs, typographie et signatures seulement, sans modifier les états,
   la visibilité des formulaires, le calendrier ni les boutons d'action. */
body.account-portal-page,body.availability-page{
 --ks-relay-dark:#222628;--ks-relay-leaf:#D9A51C;
 --ks-relay-paper:#FFFFFF;--ks-relay-pale:#F8F9F6;--ks-relay-line:#DADDDD;
 background:var(--ks-relay-paper);color:var(--ks-relay-dark)
}
body.account-portal-page .topbar,body.availability-page .topbar{
 background:#fff;border-bottom:1px solid var(--ks-relay-line);box-shadow:none
}
body.account-portal-page .topbar .brand-wrap,body.availability-page .topbar .brand-wrap{
 display:flex;flex-direction:row;align-items:center;gap:6px
}
body.account-portal-page .topbar .beta-badge,body.availability-page .topbar .beta-badge{
 display:inline-flex;align-items:center;justify-content:center;height:24px;min-height:0;
 max-height:24px;width:auto;margin:0;padding:4px 7px;
 border:1px solid #DADDDD;border-radius:30px;
 font-size:10px;line-height:1;letter-spacing:.04em;
 color:#50585D;background:#F8F9F6
}
body.account-portal-page .account-portal-strip,body.availability-page .account-portal-strip{
 background:var(--ks-relay-dark);border-color:#34393B
}
body.account-portal-page .account-context-switch,body.availability-page .account-context-switch{
 background:#34393B;border-color:#666C6C
}
body.account-portal-page .account-context-switch :is(button,a),body.availability-page .account-context-switch :is(button,a){color:#F0F2F0}
body.account-portal-page .account-context-switch :is(button,a).active,body.availability-page .account-context-switch :is(button,a).active{
 background:#FFFFFF;color:var(--ks-relay-dark)
}
body.account-portal-page .account-page-hero{
 background:var(--ks-relay-paper);color:var(--ks-relay-dark);
 border-bottom:1px solid var(--ks-relay-line);box-shadow:none
}
body.account-portal-page .account-page-hero:before,
body.account-portal-page .account-page-hero:after{display:none;content:none}
body.account-portal-page .account-page-hero .eyebrow,
body.availability-page .availability-page-title .eyebrow{
 display:flex;align-items:center;gap:10px;color:#50585D;
 font-size:13px;font-weight:800;letter-spacing:.055em;line-height:1.5
}
body.account-portal-page .account-page-hero .eyebrow::before,
body.availability-page .availability-page-title .eyebrow::before{
 content:"";display:inline-block;flex:0 0 42px;width:42px;height:33px;
 background:url("/ks-relais-mark-safran.svg") center/contain no-repeat
}
body.account-portal-page .account-page-hero h1{
 font-size:clamp(35px,4.6vw,59px);line-height:1.13;
 letter-spacing:-.05em;color:var(--ks-relay-dark)
}
body.account-portal-page .account-page-hero p,
body.account-portal-page .account-page-hero .muted{color:#50585D;font-size:16px;line-height:1.6}
body.account-portal-page .account-section{
 background:var(--ks-relay-paper);color:var(--ks-relay-dark)
}
body.account-portal-page .account-card,
body.account-portal-page .account-credit-card,
body.account-portal-page .dashboard-journey-card,
body.account-portal-page .dashboard-provider-stats>a{
 background:#fff;border:1px solid var(--ks-relay-line);
 box-shadow:none;border-radius:5px
}
body.account-portal-page .account-card{border-top:2px solid var(--ks-relay-dark)}
body.account-portal-page .account-card-head h2,
body.account-portal-page .account-section h2,
body.account-portal-page .account-card h2{
 color:var(--ks-relay-dark);letter-spacing:-.03em
}
body.account-portal-page .account-card-head .account-kicker,
body.account-portal-page .dashboard-journey-kicker,
body.account-portal-page .account-kicker{
 color:#50585D;letter-spacing:.05em
}
body.account-portal-page .dashboard-journey-card{
 border-top:3px solid var(--ks-relay-dark);
 border-radius:0;text-align:left
}
body.account-portal-page .dashboard-journey-card:hover{
 box-shadow:none;border-color:var(--ks-relay-leaf)
}
body.account-portal-page .dashboard-journey-card b{color:var(--ks-relay-dark)}
body.account-portal-page .dashboard-journey-card small{color:#50585D}
body.account-portal-page .account-card :is(p,.muted,small),
body.account-portal-page .account-section .muted{
 line-height:1.58
}
body.account-portal-page .account-card .btn:not(.ghost),
body.account-portal-page .account-form-actions .btn:not(.ghost){
 background:var(--ks-relay-dark);border-color:var(--ks-relay-dark);color:#fff;box-shadow:none
}
body.account-portal-page .account-card .btn.ghost{
 background:#fff;border-color:#DADDDD;color:var(--ks-relay-dark)
}
body.account-portal-page .account-page-hero .dashboard-secondary-link a,
body.account-portal-page .account-card-link{color:var(--ks-relay-dark);text-underline-offset:4px}
body.account-portal-page .account-provider-profile :is(input,textarea,select),
body.account-portal-page .account-form-grid :is(input,textarea,select){
 border-color:#DADDDD;background:#fff;color:#222628
}
body.account-portal-page :is(input,textarea,select,button,a,summary):focus-visible,
body.availability-page :is(input,textarea,select,button,a,summary):focus-visible{
 outline:3px solid var(--ks-relay-leaf);outline-offset:3px
}
/* L'agenda doit rester entièrement fonctionnel : seuls les contenants changent. */
body.availability-page .availability-page-head{
 background:var(--ks-relay-paper);color:var(--ks-relay-dark);
 border-bottom:1px solid var(--ks-relay-line);padding:28px 0 26px
}
body.availability-page .availability-page-head::before,
body.availability-page .availability-page-head::after{display:none;content:none}
body.availability-page .availability-page-title h1{
 color:var(--ks-relay-dark);font-size:clamp(34px,4.4vw,57px);
 line-height:1.12;letter-spacing:-.049em
}
body.availability-page .availability-page-title p{color:#50585D;font-size:16px}
body.availability-page .availability-back{color:#50585D}
body.availability-page .availability-primary-actions .btn:not(.ghost){
 background:var(--ks-relay-dark);border-color:var(--ks-relay-dark);color:#fff;box-shadow:none
}
body.availability-page .availability-primary-actions .btn.ghost{
 background:#fff;border-color:#DADDDD;color:var(--ks-relay-dark)
}
body.availability-page .availability-dedicated-calendar{
 background:#fff;border:1px solid var(--ks-relay-line);border-top:3px solid var(--ks-relay-dark);
 border-radius:5px;box-shadow:none
}
body.availability-page .availability-page-calendar-section{background:var(--ks-relay-paper)}
body.availability-page .availability-page-help{
 background:var(--ks-relay-pale);border-color:var(--ks-relay-line);
 color:#50585D;border-radius:4px
}
body.availability-page .availability-page-help b{color:var(--ks-relay-dark)}
@media(max-width:360px){
 /* Page Décrire ma situation : l'en-tête public contient les trois accès
    habituels. Les compacter plutôt que permettre un débordement horizontal. */
 body.account-portal-page.ks-public-header[data-account-page="requests"] .topbar .shell.nav{gap:3px;padding-left:8px;padding-right:8px}
 body.account-portal-page.ks-public-header[data-account-page="requests"] .topbar .brand-wrap{gap:3px;min-width:0}
 body.account-portal-page.ks-public-header[data-account-page="requests"] .topbar .brand{font-size:19px}
 body.account-portal-page.ks-public-header[data-account-page="requests"] .topbar .beta-badge{font-size:9px;padding:3px 5px}
 body.account-portal-page.ks-public-header[data-account-page="requests"] .topbar .site-nav-menu{flex:0 0 36px;width:36px}
 body.account-portal-page.ks-public-header[data-account-page="requests"] .topbar .site-nav-menu>summary{min-width:36px;padding:8px 5px}
 body.account-portal-page.ks-public-header[data-account-page="requests"] .topbar .nav-actions>a.btn{font-size:12px;padding:9px 7px;white-space:nowrap}
}
@media(max-width:600px){
 body.account-portal-page .account-page-hero h1{font-size:clamp(30px,8vw,43px)}
 body.account-portal-page .account-page-hero .eyebrow::before,
 body.availability-page .availability-page-title .eyebrow::before{
  flex-basis:29px;width:29px;height:25px
 }
 body.account-portal-page .account-page-hero p{font-size:15px}
 body.availability-page .availability-page-title h1{font-size:clamp(31px,8vw,43px)}
}
/* Audit couleur : la navigation du prestataire reste en encre, étape courante en safran.
   La coche verte d'une étape terminée est conservée (état fonctionnel). */
body.account-portal-page .provider-journey-tabs a.active,
body.availability-page .provider-journey-tabs a.active,
body.account-portal-page .provider-journey-layout .provider-journey-tabs a.active,
body.availability-page .provider-journey-layout .provider-journey-tabs a.active,
body.account-portal-page .provider-journey-mobile-panel a.active,
body.availability-page .provider-journey-mobile-panel a.active{
 background:#222628!important;color:#fff!important;border-color:#222628!important;border-radius:4px!important;
}
body.account-portal-page .provider-journey-step .provider-step-number,
body.availability-page .provider-journey-step .provider-step-number{
 background:#222628!important;color:#fff!important;
}
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:#F8F9F6!important;border-color:#D9A51C!important;
}