img,video,svg{max-width:100%;height:auto}pre{max-width:100%;overflow-x:auto;white-space:pre-wrap;overflow-wrap:anywhere}input,select,textarea,button{max-width:100%}.panel,.app-card,.script-result{min-width:0;overflow-wrap:anywhere}@media(max-width:650px){.container{width:100%;overflow-x:hidden}.topbar nav{width:100%;justify-content:flex-start}.hero{gap:16px}.hero .button{max-width:100%;white-space:normal}}

/* Accessibilité transversale : navigation clavier, repérage du contenu et réduction des mouvements. */
.skip-link{position:fixed;left:1rem;top:-5rem;z-index:10000;padding:.75rem 1rem;background:#1f1f1f;color:#fff;border:2px solid #fff;border-radius:.5rem;font-weight:700;text-decoration:none;box-shadow:0 4px 16px #0005;transition:top .18s ease}
.skip-link:focus,.skip-link:focus-visible{top:1rem;color:#fff}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #ff005c;outline-offset:3px}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

.creaconcept-box{background:#26313a url("/static/creaconcept-logo.png") center 22px/180px auto no-repeat!important;color:#fff}.creaconcept-box h2{margin-top:48px;color:#fff}.creaconcept-box .muted{color:#e3e6e8}.creaconcept-box .button{background:#fff;color:#26313a}

.creaconcept-box{background:#26313a!important}.creaconcept-box:hover{background:#26313a url("/static/creaconcept-site-hover.jpg") center/cover no-repeat!important}.creaconcept-box .app-icon{background:#fff}.creaconcept-box .app-icon img{width:32px;height:32px;object-fit:contain}

.tableau de bord-app-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important}
@media(max-width:900px){.tableau de bord-app-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:600px){.tableau de bord-app-grid{grid-template-columns:1fr!important}}
.app-restricted{position:relative;opacity:.82}.access-restricted-label{display:inline-block;margin-top:auto;margin-bottom:8px;padding:5px 9px;border-radius:999px;background:#ece9e2;color:#6d675e;font-size:.72rem;font-weight:800;letter-spacing:.04em}.app-restricted .button.disabled{width:100%;cursor:not-allowed}
/* La boîte Communication reste claire au survol. */
.social-panel,.social-panel:hover,.social-panel:focus-within{background:#f4edf7!important;color:#1f1f1f!important;border:1px solid #d8c8e2!important;transform:none!important;box-shadow:0 10px 28px #1f1f1f0f!important}
.social-panel .section-heading h2,.social-panel .text-link{color:#1f1f1f!important}
.social-panel .social-links a{color:#1f1f1f;background:#fff9!important;border-color:#d8c8e2!important}
.social-panel .social-links a:hover{background:#fff9!important;border-color:#c5add4!important}
/* Aucun effet de survol sur le conteneur Communication. */
.social-panel,.social-panel:hover,.social-panel:focus-within{transition:none!important;transform:none!important;box-shadow:0 10px 28px #1f1f1f0f!important;background:#f4edf7!important}
/* Neutralisation complète des animations/couleurs de survol dans cette boîte. */
.social-panel:hover,.social-panel:focus-within,.social-panel .social-links a:hover,.social-panel .social-links a:focus-visible{background:#f4edf7!important;color:#1f1f1f!important;border-color:#d8c8e2!important;transform:none!important;box-shadow:none!important}
.social-panel .social-links a:hover img,.social-panel .social-links a:focus-visible img{transform:none!important;box-shadow:none!important}

.header-phone em{font-size:.58rem;font-style:normal;line-height:1.05;white-space:normal;max-width:150px}
.focus-panel,.focus-panel:hover,.focus-panel:focus,.focus-panel:focus-within{background:#1f1f1f!important;color:#efeee9!important;border:0!important;box-shadow:none!important;transform:none!important;transition:none!important}

.focus-panel .focus-item{margin:9px 0;color:#efeee9}.focus-panel .focus-counters{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.focus-panel .focus-counters span{padding:7px 10px;border:1px solid #ffffff33;border-radius:8px;font-size:12px}.focus-panel .focus-counters b{margin-left:4px;color:#ff759d}
.auth-card>.login-quote{position:fixed;left:clamp(28px,8vw,120px);bottom:clamp(28px,9vh,100px);width:min(38vw,560px);margin:0;padding:18px 22px;border-left:4px solid #ff005c;background:rgba(255,253,250,.96);color:#333;border-radius:0 12px 12px 0;box-shadow:0 10px 28px rgba(31,31,31,.14);z-index:2}.auth-card>.login-quote blockquote{margin:0;font-size:clamp(1rem,1.5vw,1.3rem);line-height:1.45;font-weight:600}.auth-card>.login-quote figcaption{margin-top:12px;font-size:.82rem;color:#666}@media(max-width:820px){.auth-card>.login-quote{position:static;width:auto;margin:20px 0 28px}}

.focus-panel .button.primary{display:block;width:100%;text-align:center}
.header-phone{position:relative}.mobile-fabien-hover{display:block;position:absolute!important;top:calc(100% + 8px)!important;left:50%!important;z-index:9999;width:190px!important;height:190px!important;max-width:none!important;object-fit:cover;border:2px solid #fff;border-radius:12px;box-shadow:0 14px 32px rgba(0,0,0,.32);opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,-6px) scale(.96);transition:opacity .18s ease,transform .18s ease,visibility .18s ease}.header-phone:hover .mobile-fabien-hover,.header-phone:focus-within .mobile-fabien-hover{opacity:1;visibility:visible;transform:translate(-50%,0) scale(1)}@media(max-width:900px){.mobile-fabien-hover{width:160px!important;height:160px!important}}
.mobile-fabien-hover{width:200px!important;height:200px!important;max-width:200px!important;max-height:200px!important;object-fit:contain!important}
.topbar,.topbar nav{overflow:visible!important}
.header-email{font-size:.62rem!important;line-height:1.1;color:inherit!important;text-decoration:none!important;white-space:nowrap}.header-email:hover{color:#ff005c!important;text-decoration:underline!important}
.site-footer{display:flex;justify-content:center;align-items:center;margin:32px auto 0;padding:18px 20px;border-top:1px solid rgba(255,255,255,.14);font-size:.85rem}.site-footer a{color:inherit;text-decoration:none}.site-footer a:hover{text-decoration:underline}
.clock-card-narbonne:hover,.clock-card-narbonne:focus-within{background-image:linear-gradient(135deg,rgba(20,25,30,.58),rgba(255,0,92,.28)),url('/static/narbonne-hover.jpg')!important;background-size:cover!important;background-position:center!important}.clock-card-diego-photo:hover,.clock-card-diego-photo:focus-within{background-image:linear-gradient(135deg,rgba(20,25,30,.58),rgba(255,0,92,.28)),url('/static/diego-suarez-hover.jpg')!important;background-size:cover!important;background-position:center!important}
.social-panel,.social-panel:hover,.social-panel:focus-within{background:#f4edf7!important;background-color:#f4edf7!important;color:#1f1f1f!important;border-color:#d8c8e2!important}
.clock-card-narbonne,.clock-card-narbonne:hover,.clock-card-narbonne:focus-within{background-image:linear-gradient(135deg,rgba(20,25,30,.62),rgba(20,25,30,.28)),url('/static/narbonne.webp')!important;background-size:cover!important;background-position:center!important}.clock-card-diego-photo,.clock-card-diego-photo:hover,.clock-card-diego-photo:focus-within{background-image:linear-gradient(135deg,rgba(20,25,30,.6),rgba(20,25,30,.25)),url('/static/diego-suarez.webp')!important;background-size:cover!important;background-position:center!important}
.phone-directory th,.phone-directory td{vertical-align:top!important}
.header-phone{align-items:center!important;text-align:center!important;justify-content:flex-start!important;align-self:flex-start!important;vertical-align:top!important;margin-top:0!important;}
.header-phone span,.header-phone small,.header-phone .header-email{display:block!important;width:100%!important;text-align:center!important;}

/* Barre réseaux sociaux : version compacte et contrastée. */
.social-panel,.social-panel:hover,.social-panel:focus-within{background:#111!important;background-color:#111!important;color:#fff!important;border-color:#111!important;padding:17px!important;min-height:0!important}
.social-panel .section-heading h2,.social-panel .text-link{color:#fff!important}
.social-panel .social-links{gap:8px!important}
.social-panel .social-links a,.social-panel .social-links a:hover,.social-panel .social-links a:focus-visible{background:#fff!important;color:#1f1f1f!important;border-color:#d8d1c4!important;padding:14px 8px!important;gap:8px!important}
.social-panel .social-links img{width:34px!important;height:34px!important;padding:5px!important}
.social-panel .social-links span{font-size:inherit!important}



.guide-text{white-space:pre-line}
.phone-directory-panel{display:none!important}
.hours-note,.agenda-note{display:none!important}

.agenda-team .avatar-link,.agenda-team>h2{display:none!important}

@media(max-width:520px){}
@media(prefers-reduced-motion:reduce){}

.topbar{position:sticky!important;top:0!important;z-index:1000!important}.header-search{position:absolute;top:100%;left:50%;transform:translateX(-50%);z-index:20;display:flex;align-items:center;gap:10px;width:min(620px,calc(100% - 40px));margin:10px auto 12px;padding:4px 6px 4px 14px;background:#fff;border:1px solid #d8d1c4;border-radius:999px;box-shadow:0 4px 16px rgba(31,31,31,.12)}
.header-search-icon{font-size:1.45rem;line-height:1;color:#667085}
.header-search input{flex:1;min-width:0;border:0!important;outline:0!important;background:transparent!important;padding:10px 4px!important;font-size:.95rem!important}
.header-search button{border:0;border-radius:999px;background:#172033;color:#fff;padding:9px 17px;font:inherit;font-size:.8rem;font-weight:750;cursor:pointer}
.header-search button:hover,.header-search button:focus-visible{background:#ff005c}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:650px){.header-search{width:calc(100% - 28px);margin:8px auto 10px}.header-search button{padding:8px 12px}.header-search input{font-size:.85rem!important}}

/* Bot TEMPILO : typographie compacte (-20 %) tout en gardant une zone tactile confortable. */


/* Box principales du tableau de bord : deux lignes sur desktop. */
.quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.quick-grid>.clock-card-diego{grid-column:auto;width:auto;justify-self:stretch}
@media(max-width:900px){.quick-grid{grid-template-columns:1fr!important}}

/* État des services : quatre box régulières sur deux lignes. */
.service-list{grid-template-columns:repeat(4,minmax(0,1fr))!important;align-items:stretch}
.service-list span{display:flex;align-items:center;min-height:31px;padding:8px!important;font-size:70%!important}
@media(max-width:700px){.service-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:420px){.service-list{grid-template-columns:1fr!important}}
.agenda-intro:after{display:none!important;visibility:hidden!important;content:none!important;width:0!important;height:0!important;margin:0!important;padding:0!important;border:0!important}

/* Au survol, afficher les visuels dédiés des deux box horaires. */
.clock-card-narbonne:hover,.clock-card-narbonne:focus-within{background-image:linear-gradient(135deg,rgba(20,25,30,.58),rgba(255,0,92,.28)),url('/static/narbonne-hover.jpg')!important}
.clock-card-diego-photo:hover,.clock-card-diego-photo:focus-within{background-image:linear-gradient(135deg,rgba(20,25,30,.58),rgba(255,0,92,.28)),url('/static/diego-suarez-hover.jpg')!important}

.agenda-legend{display:flex!important;align-items:center!important;gap:16px!important;margin:10px 0 0!important}

/* Réduire l’espace supérieur du tableau de bord de 40 px. */
body:not(.auth) main.container{padding-top:18px!important}

/* Espacement propre entre les horloges et le bloc planning. */
.team-hours{position:relative;top:0!important;margin-bottom:20px!important}

/* Harmonisation finale des espacements entre les blocs du tableau de bord. */
body:not(.auth) main.container{padding-top:18px!important;padding-bottom:32px!important}
body:not(.auth) .hero{margin-bottom:20px!important}
body:not(.auth) .quick-grid{gap:14px!important;margin-bottom:16px!important}
body:not(.auth) .team-hours{margin-top:16px!important}
body:not(.auth) .daily-quote{margin:16px 0 20px!important}
body:not(.auth) .section-heading{margin:20px 0 12px!important}
body:not(.auth) .service-panel{margin-top:20px!important}
body:not(.auth) .social-panel{margin-top:20px!important}

.quick-grid + .phone-directory-panel + .team-hours{top:0!important;margin-top:16px!important;margin-bottom:20px!important}

/* Rythme vertical uniforme entre tous les blocs du tableau de bord. */
body:not(.auth) .hero{margin-bottom:16px!important}
body:not(.auth) .hero .muted{margin-bottom:0!important}
body:not(.auth) .quick-grid{margin-top:16px!important;margin-bottom:16px!important}
body:not(.auth) .team-hours{margin-top:16px!important;margin-bottom:16px!important}
body:not(.auth) .daily-quote{margin-top:16px!important;margin-bottom:16px!important}
body:not(.auth) .section-heading{margin-top:16px!important;margin-bottom:16px!important}
body:not(.auth) .social-panel,body:not(.auth) .service-panel{margin-top:16px!important;margin-bottom:16px!important}

/* Espacement unique entre les blocs principaux : évite le cumul des anciennes marges. */
body:not(.auth) main.container{display:flex!important;flex-direction:column!important;gap:16px!important}
body:not(.auth) main.container>.hero,
body:not(.auth) main.container>.quick-grid,
body:not(.auth) main.container>.team-hours,
body:not(.auth) main.container>.daily-quote,
body:not(.auth) main.container>section,
body:not(.auth) main.container>aside{margin-top:0!important;margin-bottom:0!important}
body:not(.auth) main.container>.hero{margin-bottom:0!important}

/* Lecture du jour : même typographie et même hiérarchie que les autres blocs. */
.jw-link{gap:4px!important;padding:12px 16px!important}
.jw-link-eyebrow{color:#ff005c!important;font-family:Inter,ui-sans-serif,system-ui,sans-serif!important;font-size:.62rem!important;letter-spacing:.12em!important}
.jw-link-title{color:#fff!important;font-family:Inter,ui-sans-serif,system-ui,sans-serif!important;font-size:.86rem!important;font-weight:700!important}
.jw-link-arrow{font-family:Inter,ui-sans-serif,system-ui,sans-serif!important;color:#ff005c!important}

/* Bloc bibliothèque : aucun effet de survol, comme demandé. */
.module-placeholder,.module-placeholder:hover,.module-placeholder:focus-within{transform:none!important;box-shadow:none!important;background:var(--ink)!important;color:var(--paper)!important;border-color:transparent!important}
.module-placeholder .module-empty,.module-placeholder .module-empty:hover{transform:none!important;box-shadow:none!important}

/* Intitulés des marques de la bibliothèque en majuscules. */
.scripts-brand-card strong{text-transform:uppercase!important}

/* Titres des pages de marques en gras. */
.scripts-page .hero h1{font-weight:800!important;text-transform:uppercase!important}

/* Le bouton bot doit rester directement cliquable pour ouvrir/replier le panneau. */


/* Bloc PHASE 1 : conserver sa couleur fixe au survol. */
.scripts-coming,.scripts-coming:hover,.scripts-coming:focus-within{background:var(--ink)!important;color:var(--paper)!important;border-color:transparent!important;transform:none!important;box-shadow:none!important}

/* Cartes marques : hauteur uniforme et compteur lisible. */
.scripts-tree{align-items:stretch!important}
.scripts-brand-card{min-height:unset!important}
.scripts-brand-card b{font-size:.78rem!important}

/* Fiches scripts : trois box par ligne sur les pages de résultats. */
.script-results-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}
.script-results-list .script-result{height:100%!important}
@media(max-width:900px){.script-results-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:600px){.script-results-list{grid-template-columns:1fr!important}}

/* Chaque ligne de fiches adopte la hauteur de sa fiche la plus grande. */
.script-results-list{align-items:stretch!important}
.script-results-list .script-result{height:100%!important;display:flex!important;flex-direction:column!important}
.script-results-list .script-result details{margin-top:auto}

/* Toutes les grilles de scripts et de Blog premium prennent la hauteur du
   contenu le plus important sur chaque ligne. */
.scripts-tree{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px!important;align-items:stretch!important}
.scripts-tree .scripts-brand-card{height:100%!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important}
.scripts-tree .scripts-brand-card span{flex:1!important}
.premium-links{align-items:stretch!important}
.premium-links a{height:100%!important}
@media(max-width:900px){.scripts-tree{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:600px){.scripts-tree{grid-template-columns:1fr!important}}

/* Guide utilisateur Formation : progression visuelle et lecture débutant. */
.formation-guide{display:flex;flex-direction:column;gap:14px;margin:16px 0}
.formation-guide-head{display:flex;align-items:center;justify-content:space-between;gap:26px;padding:34px 32px;border-radius:18px;background:linear-gradient(135deg,#241f2b,#54233e);color:#fff;box-shadow:0 10px 26px #241f2b22}
.formation-guide-head>div{width:100%;max-width:none!important;flex:1 1 auto}
.formation-guide-head h2{margin:6px 0 18px;color:#fff;font-size:clamp(1.3rem,2.6vw,2.05rem);line-height:1.15;letter-spacing:-.01em}
.formation-guide-head p:not(.eyebrow){width:100%;max-width:none!important;margin:0 0 16px;color:#fbeaf1;line-height:1.72}
.formation-guide-head p:not(.eyebrow):last-child{margin-bottom:0}
.formation-guide-head .eyebrow{margin:0 0 4px;font-size:.74rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#ffb3cd}
.formation-guide-head strong{color:#fff}
.formation-section{display:grid;grid-template-columns:62px 1fr;gap:14px;align-items:start;padding:20px 22px;border:1px solid #eadde4;border-left:7px solid #b83267;border-radius:16px;background:#fff;box-shadow:0 5px 16px #241f2b12}
.formation-section:nth-child(odd){border-left-color:#f4c542;background:#fffdf4}.formation-section:nth-child(3n){border-left-color:#28a9a1;background:#f2fffd}.formation-section:nth-child(4n){border-left-color:#7c5cff;background:#f8f6ff}
.formation-section:hover{transform:none;box-shadow:0 5px 16px #241f2b12}
.formation-number{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#b83267;color:#fff;font-weight:800;font-size:.86rem}.formation-section:nth-child(odd) .formation-number{background:#d7a900}.formation-section:nth-child(3n) .formation-number{background:#168f89}.formation-section:nth-child(4n) .formation-number{background:#6347d9}
.formation-section h3{margin:0 0 9px;color:#241f2b;font-size:1.1rem}.formation-section p{margin:7px 0;line-height:1.55}.formation-section ul,.formation-section ol{margin:8px 0 0;padding-left:1.35rem}.formation-section li{margin:6px 0;line-height:1.5}.formation-section code{padding:2px 5px;border-radius:5px;background:#241f2b;color:#fff;font-size:.9em}.formation-checklist{background:#eefbf1!important;border-left-color:#36a269!important}.formation-checklist strong{color:#168f60}
@media(max-width:700px){.formation-guide-head{flex-direction:column;align-items:flex-start}.formation-section{grid-template-columns:42px 1fr;padding:16px}.formation-number{width:38px;height:38px;font-size:.72rem}}


/* Consigne permanente dans tous les modes d’emploi. */
.formation-reminder{margin:14px 0;padding:16px 20px;border:2px solid #f4c542;border-left:8px solid #b83267;border-radius:14px;background:linear-gradient(135deg,#fff8dc,#fff0f5);color:#241f2b}.formation-reminder strong{display:block;color:#b83267;letter-spacing:.05em}.formation-reminder p{margin:7px 0 0;line-height:1.55}

/* Livrets Formation : box dépliables par étape. */
.formation-phase-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.formation-phase-grid details{border:1px solid #e6dce2;border-radius:14px;background:#fff;overflow:hidden}.formation-phase-grid summary{display:flex;flex-direction:column;gap:4px;padding:15px;cursor:pointer;list-style:none}.formation-phase-grid summary::-webkit-details-marker{display:none}.formation-phase-grid summary span{color:#b83267;font-weight:800;font-size:.8rem}.formation-phase-grid summary small{color:#716671}.formation-phase-grid details a{display:block;padding:8px 15px;border-top:1px solid #eee;color:#b83267;font-size:.83rem}.formation-phase-title{margin:26px 0 8px;color:#b83267;font-size:1.05rem;letter-spacing:.04em}@media(max-width:700px){.formation-phase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.formation-phase-grid{grid-template-columns:1fr}}

.formation-introduction{border-left-color:#168f89!important;background:linear-gradient(135deg,#effffc,#fff)!important}.formation-introduction h4{margin:14px 0 5px;color:#168f89}.formation-introduction ul{margin-top:8px}

/* Boutons des box colorées : teinte contrastée de leur propre palette. */
.app-card.app-data .button.primary{background:#2456a6!important;color:#fff!important}.app-card.app-data .button.primary:hover{background:#174a92!important}
.app-card.app-rs .button.primary{background:#c2185b!important;color:#fff!important}.app-card.app-rs .button.primary:hover{background:#9f1249!important}
.app-card.app-crm .button.primary{background:#d81b60!important;color:#fff!important}.app-card.app-crm .button.primary:hover{background:#ad124c!important}
.app-card.app-ai .button.primary{background:#6841b5!important;color:#fff!important}.app-card.app-ai .button.primary:hover{background:#51318e!important}
.app-card.app-agenda .button.primary{background:#1a73e8!important;color:#fff!important}.app-card.app-agenda .button.primary:hover{background:#155fc0!important}
.app-card.app-phone .button.primary{background:#238b57!important;color:#fff!important}.app-card.app-phone .button.primary:hover{background:#17633d!important}
.app-card.app-contacts .button.primary{background:#6b6258!important;color:#fff!important}.app-card.app-contacts .button.primary:hover{background:#4e4841!important}
.app-card.app-mattermost .button.primary{background:#8f7000!important;color:#fff!important}.app-card.app-mattermost .button.primary:hover{background:#665000!important}
.app-card.app-public .button.primary{background:#394b57!important;color:#fff!important}.app-card.app-public .button.primary:hover{background:#252a2d!important}

/* Les box conservent leur fond au survol ; les règles de palette existantes restent prioritaires. */
.app-card:hover,.app-card:focus-within{transform:none!important;box-shadow:inherit!important}
.app-card.app-team{background:linear-gradient(145deg,#eee8ff,#d7c8ff)!important;border-color:#a893c4!important}.app-card.app-team .app-icon{background:#6841b5;color:#fff}.app-card.app-team .eyebrow{color:#51318e}.app-card.app-team .button.primary{background:#51318e!important;color:#fff!important}.app-card.app-team .button.primary:hover{background:#3c246f!important}
.app-card.app-crm{order:10}.app-card.app-phone{order:11}.app-card.app-team{order:12}


.formation-message{margin:14px 0;padding:17px 21px;border-radius:15px;border:2px solid #28a9a1;background:linear-gradient(135deg,#effffc,#fff);color:#241f2b}.formation-message strong{display:block;color:#168f89;letter-spacing:.05em}.formation-message p{margin:7px 0;line-height:1.55}.formation-message-end{border-color:#f4c542;background:linear-gradient(135deg,#fffbed,#fff5f8)}.formation-message-end strong{color:#b83267}

.formation-it h4{margin:14px 0 5px;color:#168f89}.formation-it ol,.formation-it ul{padding-left:1.35rem}

/* Les contenus des livrets sont déployés par clic sur leur box. */
.formation-phase-grid details{transition:box-shadow .2s ease}.formation-phase-grid details[open]{box-shadow:0 8px 18px #241f2b20}.formation-phase-grid summary:after{content:'＋';float:right;color:#b83267;font-weight:800}.formation-phase-grid details[open] summary:after{content:'−'}


.formation-checkpoint{margin:10px 0;padding:14px 18px;border:2px dashed #b83267;border-radius:13px;background:#fff0f5;color:#241f2b}.formation-checkpoint strong{color:#b83267;display:block}.formation-checkpoint p{margin:6px 0;line-height:1.5}

/* Formation layout cache-bust 20260901-formation2 */

/* Box des livrets : même modèle que les cartes de l’intranet. */
.formation-phase-grid{align-items:stretch}.formation-phase-grid details{min-height:142px;display:flex;flex-direction:column;border:0;border-top:5px solid #b83267;border-radius:16px;background:linear-gradient(145deg,#fff,#fff1f6);box-shadow:0 6px 18px #241f2b18}.formation-phase-grid details:nth-child(3n+2){border-top-color:#168f89;background:linear-gradient(145deg,#fff,#effffc)}.formation-phase-grid details:nth-child(3n){border-top-color:#f0bf18;background:linear-gradient(145deg,#fff,#fffbed)}.formation-phase-grid details:nth-child(4n){border-top-color:#b83267;background:linear-gradient(145deg,#fff,#fff1f6)}.formation-phase-grid summary{flex:1;min-height:92px;justify-content:center;padding:16px 18px;font-weight:700}.formation-phase-grid summary strong{color:#241f2b;font-size:.96rem}.formation-phase-grid summary small{line-height:1.35}.formation-phase-grid details a{background:#ffffff99}.formation-phase-grid details a:last-child{border-radius:0 0 12px 12px}
@media(max-width:700px){.formation-phase-grid details{min-height:128px}.formation-phase-grid summary{min-height:80px}}

/* Le livret est contenu dans sa box lorsqu’elle est ouverte. */
.formation-phase-grid details{align-self:start}.formation-booklet-content{padding:0 16px 16px;border-top:1px solid #eadde4}.formation-booklet-content .formation-phase-title{margin:16px 0 10px;font-size:1rem}.formation-booklet-content .formation-section{display:grid;margin:10px 0;padding:14px;grid-template-columns:42px 1fr;box-shadow:none}.formation-booklet-content .formation-section h3{font-size:1rem}.formation-phase-grid details:not([open]) .formation-booklet-content{display:none}.formation-phase-grid details[open]{grid-column:span 1}

/* Livrets : deux box par ligne et ouverture large pour une lecture confortable. */
.formation-phase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.formation-phase-grid details[open]{grid-column:1 / -1}.formation-phase-grid details[open] .formation-booklet-content{max-width:1100px;margin:0 auto;width:100%}
@media(max-width:600px){.formation-phase-grid{grid-template-columns:1fr}.formation-phase-grid details[open]{grid-column:auto}}

.formation-booklet-content .formation-booklet-notice{display:block;margin:12px 0}.formation-booklet-content .formation-message-start{font-size:.92rem}.formation-booklet-content .formation-reminder{font-size:.92rem}.formation-booklet-content .formation-message-end{font-size:.92rem}


/* Une seule occurrence des notices : elles sont regroupées dans chaque livret. */
.formation-guide>.formation-message-start,.formation-guide>.formation-reminder,.formation-guide>.formation-message-end{display:none}.formation-booklet-content .formation-checkpoint{display:block}


.notice-line{display:block;margin:7px 0;line-height:1.5}.notice-line b{display:inline-grid;place-items:center;min-width:25px;color:#b83267}.notice-warning{padding-top:7px;border-top:1px solid #ecdde4;color:#8b2850;font-weight:700}

.team-quick-link{background:#51318e!important;color:#fff!important;margin-left:auto;white-space:nowrap}.team-quick-link:hover{background:#3c246f!important;color:#fff!important}@media(max-width:600px){.team-quick-link{width:100%;margin:10px 0 0;text-align:center}}

.hero-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.team-hero-link{background:#51318e!important;color:#fff!important;border:0}.team-hero-link:hover{background:#3c246f!important;color:#fff!important}@media(max-width:650px){.hero-actions{margin-top:16px}.team-hero-link{width:100%;text-align:center}}

/* Logo header : carré et 20 % plus petit que la taille historique de 150 px. */
.brand{display:inline-flex!important;align-items:center;justify-content:center;width:120px;height:48px;padding:0!important;border-radius:8px;overflow:hidden}
.brand img{width:120px!important;height:48px!important;object-fit:contain;display:block}
.brand-intranet-label,.brand:after{display:none!important}

/* La box du site public reste toujours en dernière position. */
.tableau de bord-app-grid .app-public{order:999}
/* Classement tableau de bord : utilité quotidienne, avec le site public en dernier. */
.tableau de bord-app-grid .app-phone{order:11}
.tableau de bord-app-grid .app-crm{order:2}
.tableau de bord-app-grid .app-data{order:3}
.tableau de bord-app-grid .app-agenda{order:4}
.tableau de bord-app-grid .app-contacts{order:5}
.tableau de bord-app-grid .app-mattermost{order:6}
.tableau de bord-app-grid .app-rs{order:7}
.tableau de bord-app-grid .app-ai{order:8}
.tableau de bord-app-grid .app-team{order:9}
.tableau de bord-app-grid .app-public{order:999}

.admin-pbx-link{display:block;margin-top:8px;background:#394b57!important;color:#fff!important;text-align:center;font-size:.78rem!important}.admin-pbx-link:hover{background:#252a2d!important;color:#fff!important}
/* Ordre final permanent : réseaux sociaux 10, PBX 11, site public dernier. */
.tableau de bord-app-grid .app-rs{order:10}
.tableau de bord-app-grid .app-phone{order:11}
.tableau de bord-app-grid .app-public{order:999}
/* Classement permanent : IA TEMPILO en position 7. */
.tableau de bord-app-grid .app-ai{order:7}
/* Classement final : Agenda Google Fabien en tête de grille. */
.tableau de bord-app-grid .app-agenda{order:1}
/* Planning : même survol que les box Ressources / Formation. */
.team-hours{transition:transform .22s ease,box-shadow .22s ease!important}
.team-hours:hover,.team-hours:focus-within{transform:translateY(-5px)!important;box-shadow:0 18px 34px #1f1f1f1f!important}


/* Toute la ligne d’une fiche est la zone d’ouverture du script. */
.script-result{cursor:pointer}
.script-result .script-open-label{display:none}
.script-result details[open] .script-preview{max-height:none;overflow:visible}

/* Repère visuel indiquant que chaque élément appartient à la liste des scripts. */
.script-list-marker{display:inline-grid;place-items:center;width:22px;height:22px;margin-right:7px;border-radius:6px;background:var(--ink);color:#fff;font-size:15px;line-height:1;vertical-align:middle}

.script-close{display:block;margin:8px 0;background:var(--ink);color:#fff;font-size:.75rem;padding:6px 10px}
.script-close:hover{background:var(--raspberry)}

.script-result details .script-close,.script-result details .script-copy{display:inline-block!important;vertical-align:middle;margin:8px 6px 8px 0}

/* Les noms de scripts restent entièrement lisibles, même s’ils sont longs. */
.script-result h3{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere!important;word-break:normal!important;line-height:1.35}
.script-result h3 .script-number{white-space:nowrap}

/* Métadonnées de provenance discrètes sous le contenu du script. */
.script-result details small{font-size:70%!important;line-height:1.3}

/* La ligne Nom / Date / Éditeur doit rester complète et revenir à la ligne. */
.script-result .script-meta{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere!important;word-break:normal!important;height:auto!important;max-height:none!important;display:block!important}

.script-library-source{margin:0 0 5px;color:var(--muted);font-size:.7rem;line-height:1.35;overflow-wrap:anywhere}

/* Titres de fiches et formules d’accueil : repères visuels immédiats. */
.script-result h3{font-weight:800!important;font-variant:small-caps;letter-spacing:.015em}
.script-preview .script-greeting{font-weight:800;font-variant:small-caps;letter-spacing:.02em}

.script-preview .script-greeting{display:block;margin-bottom:.8em}

.script-result .script-meta:before{content:'—';display:inline-grid;place-items:center;width:18px;height:18px;margin-right:6px;border-radius:4px;background:var(--ink);color:#fff;font-size:12px;line-height:1;vertical-align:-3px}

.script-result .script-meta:before{display:inline;place-items:initial;width:auto;height:auto;margin-right:6px;border-radius:0;background:none;color:inherit;font-size:inherit;line-height:inherit;vertical-align:baseline}

/* Chaque fiche est identifiée par une flèche suivie de son titre. */
.script-result h3 .script-list-marker{display:inline;margin:0 7px 0 0;width:auto;height:auto;background:none;border-radius:0;color:var(--raspberry);font-size:inherit;font-weight:800;vertical-align:baseline}
.script-result h3 .script-list-marker{font-size:0}
.script-result h3 .script-list-marker:before{content:'→';font-size:inherit}

.script-result .script-preview{line-height:2!important;white-space:pre-wrap}

.script-result .script-preview{line-height:1.5!important}

.add-script-button{margin:0 0 18px}.script-dialog{border:0;border-radius:16px;padding:0;width:min(620px,calc(100% - 28px));background:transparent}.script-dialog::backdrop{background:#1f1f1f99}.script-dialog-card{position:relative;display:grid;gap:10px;padding:26px;background:var(--paper);border:1px solid #d8d1c4;border-radius:16px;box-shadow:0 24px 70px #1f1f1f33}.script-dialog-card h2{margin:0}.script-dialog-card label{margin:8px 0 0}.script-dialog-card textarea{width:100%;resize:vertical;border:1px solid #d9dee8;border-radius:9px;padding:12px;font:inherit}.script-dialog-close{position:absolute;right:14px;top:12px;border:0;background:none;font-size:25px;cursor:pointer;color:var(--muted)}.script-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}

/* Contexte de navigation toujours visible pendant la lecture des fiches. */
.scripts-page>.hero{position:sticky;top:40px;z-index:4;padding:14px 0 16px;margin-bottom:22px;background:var(--mineral);box-shadow:0 8px 16px #efeee9cc}
.scripts-page>.hero h1{margin-bottom:5px}
@media(max-width:650px){.scripts-page>.hero{top:40px;padding-top:10px}.scripts-page>.hero .button{margin-top:10px}}

/* Décalage sous le header et la barre de recherche fixe. */
.scripts-page>.hero{top:40px}
@media(max-width:650px){.scripts-page>.hero{top:40px}}

/* Espace supplémentaire entre le bandeau fixe et la liste des fiches. */
.scripts-page>.scripts-results{margin-top:48px!important}

.script-result details .script-add-trigger{display:inline-block!important;vertical-align:middle;margin:8px 6px 8px 0;background:var(--raspberry);color:#fff;font-size:.75rem;padding:6px 10px}
.header-brand-stack{display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.topbar .header-brand-stack .brand{align-items:flex-start}
.topbar{justify-content:flex-start!important}
.topbar{align-items:center!important}
.topbar-gauche,.topbar nav{align-items:center!important}
.topbar-gauche{flex-wrap:nowrap!important;gap:4px!important}
.topbar-gauche>.header-phone{align-self:flex-start!important;white-space:nowrap!important}
.topbar-gauche>.local-clock,.topbar nav .header-phone{min-height:30px;box-sizing:border-box;align-items:center!important}
.topbar-gauche>.local-clock{align-self:flex-start!important;margin-top:0!important}
.topbar nav{justify-content:flex-start!important;flex-direction:row!important;align-items:flex-start!important;gap:10px!important;flex-wrap:wrap!important}
.topbar nav .header-phone{align-self:center!important;margin-top:0!important}
.topbar nav .header-phone{min-height:30px!important;padding:6px 10px!important;border-radius:9px!important;box-sizing:border-box!important;line-height:1!important;white-space:nowrap!important}
.header-team-numbers{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:nowrap;width:max-content;margin:0;font-size:.68rem;line-height:1.1;white-space:nowrap}
.header-team-numbers span{padding:6px 8px;border-radius:8px;background:#ffffff12;color:inherit}
.header-team-numbers span{display:flex;flex-direction:column;align-items:center;gap:3px}
.header-team-numbers b{font-weight:800}
.header-team-numbers small{font-size:.64rem;line-height:1.1}
@media(max-width:900px){.header-team-numbers{position:static;transform:none;width:100%;flex-basis:100%;flex-wrap:wrap;margin:0;justify-content:center}}
.header-brand-stack .brand{flex:0 0 auto}
.header-actions-secondaires{display:flex;align-items:center;justify-content:flex-start;gap:6px;margin:0}
.header-actions-secondaires .header-phone{display:inline-flex!important;align-items:center!important;justify-content:center!important;border:1px solid #ffffff55;border-radius:9px;padding:6px 9px;text-decoration:none;cursor:pointer;font:inherit;line-height:1!important;min-height:28px;box-sizing:border-box}
.header-actions-secondaires .header-phone span{font-size:.68rem!important;font-weight:800!important;white-space:nowrap}
.header-action-logout{background:#d7194f!important;color:#fff!important}
/* Rafraîchir : même structure visuelle que les liens de nav (Visio, etc.), pas de
   pavé plein — seule la couleur reste jaune (05/09/2026). */
.header-action-refresh{background:transparent!important;border:0!important;color:#f4c542!important;min-width:auto;padding:6px 9px!important}
.header-action-logout:hover{background:#f02d61!important}
.header-action-refresh:hover{background:#ffffff1a!important;color:#ffd866!important}
@media(max-width:650px){.topbar-gauche{flex-wrap:wrap!important}.header-brand-stack{align-items:flex-start}.header-actions-secondaires{justify-content:flex-start}}

/* ==========================================================================
   Refonte alignement header (04/09/2026) — remplace le positionnement en
   absolute (.header-team-numbers, .header-search) par deux rangees flex
   normales, plus fiable quelle que soit la largeur du contenu.
   ========================================================================== */
.topbar-v2{display:flex!important;flex-direction:column!important;position:sticky!important;top:0!important;z-index:1000!important;height:auto!important;padding:10px clamp(20px,4vw,56px)!important;gap:8px!important;align-items:stretch!important;justify-content:flex-start!important}
.topbar-v2 .topbar-row{display:flex!important;align-items:center!important;width:100%!important;gap:16px!important}
.topbar-v2 .topbar-row-main{justify-content:space-between!important;flex-wrap:wrap!important}
.topbar-v2 .topbar-row-left{display:flex!important;align-items:center!important;gap:12px!important;flex:0 0 auto!important}
/* Actions (Déconnexion/Rafraîchir) déployées sous le logo (05/09/2026) : le bloc
   .topbar-row-left devient une colonne à deux rangées (logo+horloge, puis actions). */
.topbar-v2 .topbar-row-left--stacked{flex-direction:column!important;align-items:flex-start!important;gap:6px!important}
.topbar-v2 .topbar-row-left-top{display:flex!important;align-items:center!important;gap:6px!important}
.topbar-v2 .topbar-row-nav{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:8px!important;flex:1 1 auto!important;justify-content:center!important;position:static!important}
.topbar-v2 .topbar-row-actions{display:flex!important;align-items:center!important;gap:8px!important;flex:0 0 auto!important}
.topbar-v2 .topbar-row-secondary{justify-content:space-between!important;flex-wrap:wrap!important;padding-top:8px!important;border-top:1px solid #ffffff22!important}
.topbar-v2 .header-team-numbers{position:static!important;transform:none!important;width:auto!important;flex:0 1 auto!important;justify-content:flex-start!important;flex-wrap:wrap!important}
/* Coordonnées équipe sur deux lignes (05/09/2026) : nom au-dessus, numéro/e-mail en dessous. */
.topbar-v2 .header-team-numbers span{flex-direction:column!important;align-items:center!important;gap:2px!important;white-space:nowrap!important}
.topbar-v2 .header-team-numbers small{font-size:.68rem!important}
.topbar-v2 .header-search{position:static!important;transform:none!important;width:min(420px,100%)!important;margin:0!important;flex:0 1 auto!important}
@media(max-width:900px){.topbar-v2 .topbar-row-secondary{flex-direction:column!important;align-items:stretch!important;gap:10px!important}.topbar-v2 .header-search{width:100%!important}}
@media(max-width:650px){.topbar-v2{padding:12px 16px!important}.topbar-v2 .topbar-row-main{gap:10px!important}}

/* Suggestions instantanees de la barre de recherche (04/09/2026) : panneau
   position:fixed calcule en JS (search.js), donc independant des regles
   position:static!important ci-dessus sur .header-search. */
.search-suggest-panel{position:fixed;z-index:2000;background:#fff;border:1px solid #d8d1c4;border-radius:14px;box-shadow:0 14px 34px rgba(31,31,31,.18);overflow:hidden;max-height:min(60vh,420px);overflow-y:auto}
.search-suggest-item{display:flex;flex-direction:column;gap:2px;padding:10px 16px;text-decoration:none;color:#1f1f1f;border-bottom:1px solid #f1ede4}
.search-suggest-item:last-of-type{border-bottom:none}
.search-suggest-item:hover,.search-suggest-item.active{background:#fff1f6}
.search-suggest-titre{font-weight:700;font-size:.92rem}
.search-suggest-titre mark,.global-result-extrait mark{background:#ffe08a;color:#1f1f1f;border-radius:3px;padding:0 2px}
.search-suggest-meta{font-size:.72rem;color:#96641c;text-transform:uppercase;letter-spacing:.03em}
.search-suggest-extrait{font-size:.8rem;color:#667085;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.search-suggest-empty{padding:14px 16px;font-size:.85rem;color:#667085}
.search-suggest-voir-tout{display:block;padding:10px 16px;text-align:center;font-size:.82rem;font-weight:700;color:#ff005c;text-decoration:none;background:#fff1f6}
.search-suggest-voir-tout:hover{background:#ffe4ef}
.global-result{display:flex;flex-direction:column;gap:3px}
.global-result-extrait{font-size:.85rem;color:#667085}

/* Box de suivi Freelances sur le tableau de bord (#2285). */
.freelance-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}
.freelance-stat{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:14px 8px;border-radius:12px;background:#f4f2ec;text-align:center}
.freelance-stat-value{font-size:1.4rem;font-weight:800;color:#1f1f1f}
.freelance-stat-label{font-size:.72rem;font-weight:700;letter-spacing:.02em;color:#667085;text-transform:uppercase}
.freelance-stat-prime{background:#fff1f6}
.freelance-stat-prime .freelance-stat-value{color:#ff005c}
@media(max-width:900px){.freelance-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:520px){.freelance-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Fond alterne par phrase dans l'apercu des scripts (05/09/2026) : chaque
   ligne du script devient un bloc separe, plus facile a suivre en appel. */
.script-preview{padding:0!important}
.script-line{display:block;padding:6px 10px;border-radius:6px;margin:0}
.script-line:nth-child(odd){background:#f7f8fb}
.script-line:nth-child(even){background:#eef2f5}

/* Suppression d'un script (05/09/2026) : archivage (is_archived=TRUE), pas de perte de donnee. */
.script-archive-btn{color:#dc2626;border:1px solid #dc2626;background:#fff}
.script-archive-btn.confirm-armed{background:#dc2626;color:#fff}
.script-dialog-actions .button.primary.confirm-armed{background:#dc2626}


/* Cartes de scripts — présentation visuelle unifiée */
.scripts-page .scripts-results{background:linear-gradient(180deg,#fffdfa 0%,#f7f3ed 100%)}
.scripts-page .script-results-list{gap:18px}
.scripts-page .script-result{position:relative;padding:22px 24px 20px;border:1px solid #d8d1c4;border-left:6px solid var(--raspberry);border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(31,31,31,.07);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;cursor:pointer;overflow:hidden}
.scripts-page .script-result:before{content:"SCRIPT";position:absolute;right:58px;top:17px;color:#a79e94;font-size:.62rem;font-weight:900;letter-spacing:.16em}
.scripts-page .script-result:hover{border-color:#c9bbae;border-left-color:var(--raspberry);box-shadow:0 14px 32px rgba(31,31,31,.11);transform:translateY(-2px)}
.scripts-page .script-result:has(details[open]){border-color:#b8a99b;box-shadow:0 18px 42px rgba(31,31,31,.13);transform:none}
.scripts-page .script-result h3{display:flex;align-items:flex-start;gap:10px;margin:0 72px 12px 0;font-size:clamp(1.05rem,2vw,1.3rem);line-height:1.3;color:var(--ink)}
.scripts-page .script-result h3 .script-list-marker{flex:0 0 auto;display:grid;width:30px;height:30px;margin:0;border-radius:9px;background:#fff0f5;color:var(--raspberry);font-size:0;place-items:center}
.scripts-page .script-result h3 .script-list-marker:before{content:"✦";font-size:15px}
.scripts-page .script-number{display:inline-flex;align-items:center;min-height:26px;padding:3px 8px;border-radius:7px;background:var(--ink);color:#fff;font-size:.68rem;letter-spacing:.07em}
.scripts-page .script-version-title{font-weight:850;letter-spacing:-.01em}
.scripts-page .script-tags{display:flex;flex-wrap:wrap;gap:7px;margin:0 50px 13px 40px}
.scripts-page .script-tag{display:inline-flex;align-items:center;min-height:26px;padding:4px 9px;border-radius:999px;font-size:.68rem;font-weight:800;letter-spacing:.025em;text-transform:uppercase}
.scripts-page .script-tag-activity{background:#eef2ff;color:#3730a3}
.scripts-page .script-tag-target{background:#e7f7ee;color:#17633d}
.scripts-page .script-tag-situation{background:#fff1d6;color:#7a5414}
.scripts-page .script-tag-stage{background:#f7e8ef;color:#8f1746}
.scripts-page .script-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0 0 4px 40px;color:#766e66;font-size:.76rem}
.scripts-page .script-meta span{display:inline-flex;align-items:center;gap:4px}
.scripts-page .script-favorite{top:14px;right:16px;z-index:2}
.scripts-page .script-favorite button{display:grid;width:36px;height:36px;padding:0;border:1px solid #ead8df;border-radius:50%;background:#fff7fa;color:var(--raspberry);font-size:1.35rem;place-items:center;transition:transform .15s ease,background .15s ease}
.scripts-page .script-favorite button:hover{background:#ffe4ee;transform:scale(1.08)}
.scripts-page .script-version-picker{display:flex;align-items:center;gap:10px;margin:12px 0 6px 40px;color:#675f58;font-size:.76rem;font-weight:800}
.scripts-page .script-version-picker select{width:auto;max-width:min(100%,520px);margin:0;padding:7px 34px 7px 10px;background:#f7f3ed;border-color:#d8d1c4;font-size:.78rem}
.scripts-page .script-result details{margin:16px -24px -20px;padding:0 24px 20px;border-top:1px solid transparent;cursor:default}
.scripts-page .script-result details[open]{padding-top:18px;border-top-color:#eadfd5;background:linear-gradient(180deg,#fffafc 0%,#fff 42%)}
.scripts-page .script-result details[open]:before{content:"SCRIPT À LIRE";display:block;margin:0 0 12px;color:var(--raspberry);font-size:.68rem;font-weight:900;letter-spacing:.13em}
.scripts-page .script-result details .button{margin:0 7px 12px 0;border-radius:9px;font-size:.76rem;font-weight:800}
.scripts-page .script-result .script-close{background:#f1ede7;color:var(--ink);border-color:#d8d1c4}
.scripts-page .script-result .script-copy{background:var(--ink);color:#fff}
.scripts-page .script-result .script-add-trigger{background:#fff;color:var(--raspberry);border-color:#e2a8bd}
.scripts-page .script-result .script-preview{max-height:620px;margin:4px 0 12px;padding:18px;border:1px solid #e6ddd4;border-radius:12px;background:#fff;font-size:.96rem;line-height:1.68;box-shadow:inset 4px 0 0 #ffd0e0}
.scripts-page .script-result .script-line{padding:9px 12px;margin:0;border-radius:8px}
.scripts-page .script-result .script-line:nth-child(odd){background:#faf7f3}
.scripts-page .script-result .script-line:nth-child(even){background:#f3f5f7}
.scripts-page .script-result details small{display:block;padding-top:8px;border-top:1px dashed #ddd2c8;color:#81786f}
@media(max-width:700px){.scripts-page .script-result{padding:18px 16px 16px}.scripts-page .script-result:before{display:none}.scripts-page .script-result h3{display:grid;grid-template-columns:auto 1fr;margin-right:40px}.scripts-page .script-result h3 .script-version-title{grid-column:1/-1}.scripts-page .script-tags,.scripts-page .script-meta,.scripts-page .script-version-picker{margin-left:0;margin-right:0}.scripts-page .script-result details{margin:14px -16px -16px;padding-left:16px;padding-right:16px}.scripts-page .script-result .script-preview{padding:12px;font-size:.9rem}}


/* Lecteur de scripts — barre latérale et dialogue */
.scripts-page .script-result details[open]{background:#fff;padding-top:16px}
.scripts-page .script-reader{display:grid;grid-template-columns:210px minmax(0,1fr);min-height:410px;margin:4px 0 16px;border:1px solid #e3dce0;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 10px 28px rgba(31,31,31,.08)}
.scripts-page .script-reader-nav{position:relative;padding:18px 14px;background:linear-gradient(180deg,#f8f8fb,#f1f3f8);border-right:1px solid #e1e3ea}
.scripts-page .script-reader-nav:before{content:"";position:absolute;left:31px;top:43px;bottom:43px;width:2px;background:#cdd2dd}
.scripts-page .reader-step{position:relative;z-index:1;display:grid;grid-template-columns:34px 1fr;width:100%;min-height:68px;padding:9px 10px 9px 0;border:0;border-radius:11px;background:transparent;color:#1d2535;text-align:left;cursor:pointer}
.scripts-page .reader-step>span{grid-row:1/3;display:grid;width:30px;height:30px;margin-top:2px;border:2px solid #aeb6c4;border-radius:50%;background:#f7f8fb;color:#263044;font-weight:900;place-items:center}
.scripts-page .reader-step>b{align-self:end;font-size:.88rem}
.scripts-page .reader-step>small{align-self:start;color:#7d8595;font-size:.71rem}
.scripts-page .reader-step:hover{background:#eceef5}
.scripts-page .reader-step.active{background:#ffdce9;color:#d20b55}
.scripts-page .reader-step.active>span{border-color:#f9005c;background:#f9005c;color:#fff}
.scripts-page .reader-step.active>small{color:#a93a63}
.scripts-page .script-reader-content{min-width:0;padding:24px 26px;background:#fff}
.scripts-page .reader-pane[hidden]{display:none!important}
.scripts-page .reader-pane-kicker{margin:0 0 7px;color:#f00059;font-size:.69rem;font-weight:900;letter-spacing:.14em}
.scripts-page .reader-pane h4{margin:0 0 20px;font-size:1.35rem;color:#151c2b}
.scripts-page .script-result .script-reader .script-preview{max-height:none;margin:0;padding:0;border:0;background:transparent;box-shadow:none;overflow:visible}
.scripts-page .script-chat-row{display:flex;align-items:flex-start;gap:9px;margin:0 0 14px}
.scripts-page .script-chat-row.contact{flex-direction:row-reverse}
.scripts-page .script-chat-avatar{display:grid;flex:0 0 34px;width:34px;height:34px;margin-top:18px;border-radius:50%;background:#f9005c;color:#fff;font-size:.82rem;font-weight:900;place-items:center;box-shadow:0 3px 8px rgba(249,0,92,.22)}
.scripts-page .script-chat-row.contact .script-chat-avatar{background:#3d7de3;box-shadow:0 3px 8px rgba(61,125,227,.22)}
.scripts-page .script-chat-message{max-width:min(78%,650px)}
.scripts-page .script-chat-message>b{display:block;margin:0 7px 3px;color:#283043;font-size:.68rem}
.scripts-page .script-chat-row.contact .script-chat-message>b{text-align:right}
.scripts-page .script-chat-message>p{margin:0;padding:11px 14px;border-radius:12px 12px 12px 3px;background:#fde4ed;color:#202838;font-size:.93rem;line-height:1.5;white-space:normal}
.scripts-page .script-chat-row.contact .script-chat-message>p{border-radius:12px 12px 3px 12px;background:#e5efff}
.scripts-page .reader-context-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.scripts-page .reader-context-grid>div{display:grid;gap:5px;padding:15px;border:1px solid #e1e4ec;border-radius:12px;background:#f8f9fc}
.scripts-page .reader-context-grid small{color:#777f90;font-size:.69rem;text-transform:uppercase;letter-spacing:.08em}
.scripts-page .reader-context-grid strong{color:#1c2433;font-size:.9rem}
.scripts-page .reader-tips{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.scripts-page .reader-tips li{position:relative;padding:14px 16px 14px 46px;border-radius:12px;background:#f7f8fb;line-height:1.45}
.scripts-page .reader-tips li:before{content:"✓";position:absolute;left:15px;top:12px;display:grid;width:23px;height:23px;border-radius:50%;background:#e3f6eb;color:#18804a;font-weight:900;place-items:center}
.scripts-page .reader-notes{width:100%;min-height:220px;padding:16px;border:1px solid #d9dde6;border-radius:12px;background:repeating-linear-gradient(#fff,#fff 31px,#e9ecf2 32px);font:inherit;line-height:32px;resize:vertical}
.scripts-page .reader-notes-status{margin:8px 0 0;color:#7a8290;font-size:.72rem}
.scripts-page .script-result details>.button,.scripts-page .script-result details>.inline{position:relative;z-index:2}
@media(max-width:760px){.scripts-page .script-reader{grid-template-columns:1fr}.scripts-page .script-reader-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:8px;border-right:0;border-bottom:1px solid #e1e3ea}.scripts-page .script-reader-nav:before{display:none}.scripts-page .reader-step{display:flex;min-height:48px;padding:7px;align-items:center;justify-content:center}.scripts-page .reader-step>span{width:28px;height:28px;margin:0}.scripts-page .reader-step>b,.scripts-page .reader-step>small{display:none}.scripts-page .script-reader-content{padding:18px 14px}.scripts-page .script-chat-message{max-width:82%}.scripts-page .reader-context-grid{grid-template-columns:1fr}}


/* Lecteur compact — densité et lisibilité */
.scripts-page .script-result{padding:16px 18px 14px}
.scripts-page .script-result h3{margin-bottom:7px;font-size:1.02rem;line-height:1.22}
.scripts-page .script-number{min-height:22px;padding:2px 7px;font-size:.62rem}
.scripts-page .script-tags{gap:5px;margin-top:0;margin-bottom:7px}
.scripts-page .script-tag{min-height:21px;padding:2px 7px;font-size:.6rem}
.scripts-page .script-meta{gap:5px 14px;margin-bottom:0;font-size:.69rem}
.scripts-page .script-result details{margin:10px -18px -14px;padding:0 18px 14px}
.scripts-page .script-result details[open]{padding-top:12px}
.scripts-page .script-result details[open]:before{margin-bottom:8px;font-size:.62rem}
.scripts-page .script-result details .button{margin:0 5px 8px 0;padding:6px 9px;font-size:.68rem}
.scripts-page .script-reader{grid-template-columns:172px minmax(0,1fr);min-height:310px;margin:2px 0 10px;border-radius:12px}
.scripts-page .script-reader-nav{padding:10px 9px}
.scripts-page .script-reader-nav:before{left:25px;top:31px;bottom:31px}
.scripts-page .reader-step{grid-template-columns:28px 1fr;min-height:53px;padding:6px 7px 6px 0;border-radius:9px}
.scripts-page .reader-step>span{width:24px;height:24px;margin-top:1px;font-size:.7rem}
.scripts-page .reader-step>b{font-size:.77rem}
.scripts-page .reader-step>small{font-size:.62rem}
.scripts-page .script-reader-content{padding:15px 17px}
.scripts-page .reader-pane-kicker{margin-bottom:4px;font-size:.6rem}
.scripts-page .reader-pane h4{margin-bottom:12px;font-size:1.05rem}
.scripts-page .script-chat-row{gap:7px;margin-bottom:8px}
.scripts-page .script-chat-avatar{flex-basis:27px;width:27px;height:27px;margin-top:15px;font-size:.68rem}
.scripts-page .script-chat-message{max-width:min(82%,700px)}
.scripts-page .script-chat-message>b{margin:0 5px 2px;font-size:.61rem}
.scripts-page .script-chat-message>p{padding:7px 10px;border-radius:9px 9px 9px 3px;font-size:.8rem;line-height:1.38}
.scripts-page .script-chat-row.contact .script-chat-message>p{border-radius:9px 9px 3px 9px}
.scripts-page .reader-context-grid{gap:8px}
.scripts-page .reader-context-grid>div{gap:3px;padding:10px;border-radius:9px}
.scripts-page .reader-context-grid small{font-size:.61rem}
.scripts-page .reader-context-grid strong{font-size:.78rem}
.scripts-page .reader-tips{gap:7px}
.scripts-page .reader-tips li{padding:9px 11px 9px 37px;border-radius:9px;font-size:.78rem;line-height:1.38}
.scripts-page .reader-tips li:before{left:10px;top:9px;width:19px;height:19px;font-size:.68rem}
.scripts-page .reader-notes{min-height:160px;padding:10px;font-size:.8rem;line-height:27px;background:repeating-linear-gradient(#fff,#fff 26px,#e9ecf2 27px)}
@media(max-width:760px){.scripts-page .script-result{padding:14px}.scripts-page .script-result details{margin:9px -14px -14px;padding-left:14px;padding-right:14px}.scripts-page .script-reader-nav{padding:6px}.scripts-page .reader-step{min-height:39px;padding:5px}.scripts-page .reader-step>span{width:24px;height:24px}.scripts-page .script-reader-content{padding:12px 10px}.scripts-page .script-chat-message{max-width:86%}}


/* Navigation du lecteur au-dessus du texte */
.scripts-page .script-reader{grid-template-columns:1fr;min-height:0}
.scripts-page .script-reader-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:9px 12px;border-right:0;border-bottom:1px solid #e1e3ea;background:linear-gradient(180deg,#f8f8fb,#f2f3f7)}
.scripts-page .script-reader-nav:before{left:7%;right:7%;top:27px;bottom:auto;width:auto;height:2px}
.scripts-page .reader-step{display:grid;grid-template-columns:30px minmax(0,1fr);min-height:50px;padding:6px 8px;border-radius:9px;background:#f7f8fb}
.scripts-page .reader-step>span{grid-row:1/3;width:25px;height:25px;margin:0;align-self:center}
.scripts-page .reader-step>b{align-self:end;font-size:.74rem;white-space:nowrap}
.scripts-page .reader-step>small{align-self:start;font-size:.58rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.scripts-page .script-reader-content{padding:14px 17px}
@media(max-width:620px){.scripts-page .script-reader-nav{gap:3px;padding:7px 5px}.scripts-page .reader-step{display:grid;grid-template-columns:1fr;min-height:43px;padding:4px;place-items:center}.scripts-page .reader-step>span{grid-row:auto;width:24px;height:24px}.scripts-page .reader-step>b{display:block;font-size:.62rem}.scripts-page .reader-step>small{display:none}.scripts-page .script-reader-nav:before{top:23px}.scripts-page .script-reader-content{padding:11px 9px}}

/* Twenty : le texte du script doit rester lisible dans la fenetre integree. */
.scripts-page .script-result .script-reader .script-preview,
.scripts-page .script-result .script-reader .script-chat-message>p{
  font-size:var(--tempilo-script-font-size,1.25rem)!important;
  line-height:1.7!important;
}


/* Guide de bonnes pratiques des scripts */
.scripts-guide-callout{border-left:6px solid var(--raspberry);background:linear-gradient(120deg,#fff8fb,#fff)}
.scripts-guide-callout .section-heading{align-items:center}
.scripts-guide-page{padding-top:64px;padding-bottom:60px}
.scripts-guide-hero{align-items:center;margin-bottom:22px}
.scripts-guide-principle{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;margin:0 0 22px;padding:18px 22px;border-radius:14px;background:var(--ink);color:#fff}
.scripts-guide-principle strong{color:#ff7aa8;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}.scripts-guide-principle p{margin:0;line-height:1.5}
.scripts-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.scripts-guide-grid .panel{margin:0}.scripts-guide-grid h2{margin:4px 0 16px;font-size:1.25rem}
.scripts-guide-steps{display:grid;gap:9px;list-style:none;padding:0;margin:0;counter-reset:guide}.scripts-guide-steps li{counter-increment:guide;display:grid;grid-template-columns:28px 92px 1fr;gap:8px;align-items:center;padding:9px;border-radius:9px;background:#f7f5f2}.scripts-guide-steps li:before{content:counter(guide);display:grid;width:25px;height:25px;border-radius:50%;background:var(--raspberry);color:#fff;font-size:.7rem;font-weight:900;place-items:center}.scripts-guide-steps b{font-size:.8rem}.scripts-guide-steps span{color:#665f58;font-size:.78rem;line-height:1.35}
.scripts-guide-checks{display:grid;gap:8px;margin:0;padding:0;list-style:none}.scripts-guide-checks li{position:relative;padding:8px 10px 8px 35px;border-bottom:1px solid #eee5de;font-size:.82rem;line-height:1.4}.scripts-guide-checks li:before{content:'✓';position:absolute;left:8px;top:7px;display:grid;width:19px;height:19px;border-radius:50%;background:#e4f7ed;color:#167344;font-size:.68rem;font-weight:900;place-items:center}
.scripts-guide-review{margin-top:18px}.scripts-guide-review-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:14px}.scripts-guide-review-grid label{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid #e0d8d0;border-radius:9px;background:#faf8f5;font-size:.76rem;font-weight:700}.scripts-guide-review-grid input{width:17px;height:17px;margin:0;accent-color:var(--raspberry)}
.scripts-guide-sources ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;padding-left:18px}.scripts-guide-sources a{color:#9d174d;font-size:.8rem;font-weight:700}
@media(max-width:760px){.scripts-guide-page{padding-top:48px}.scripts-guide-principle{grid-template-columns:1fr;gap:6px}.scripts-guide-grid{grid-template-columns:1fr}.scripts-guide-review-grid{grid-template-columns:1fr 1fr}.scripts-guide-sources ul{grid-template-columns:1fr}.scripts-guide-callout .section-heading{display:block}.scripts-guide-callout .button{margin-top:12px}}


/* Étape 5 — bonnes pratiques dans chaque fiche */
.scripts-page .script-reader-nav{grid-template-columns:repeat(5,minmax(0,1fr))}
.scripts-page .script-reader-nav:before{left:5%;right:5%}
.scripts-page .reader-step>b{white-space:normal;line-height:1.12}
.scripts-page .reader-best-practices{display:grid;gap:7px;margin:0 0 12px;padding:0;list-style:none;counter-reset:reader-guide}
.scripts-page .reader-best-practices li{counter-increment:reader-guide;display:grid;grid-template-columns:24px 92px 1fr;gap:8px;align-items:center;padding:8px 10px;border-radius:9px;background:#f7f8fb;font-size:.76rem}
.scripts-page .reader-best-practices li:before{content:counter(reader-guide);display:grid;width:22px;height:22px;border-radius:50%;background:var(--raspberry);color:#fff;font-size:.65rem;font-weight:900;place-items:center}
.scripts-page .reader-best-practices b{color:#1d2535}.scripts-page .reader-best-practices span{color:#697183;line-height:1.32}
.scripts-page .reader-guide-link{display:inline-flex;margin-top:2px;font-size:.7rem}
@media(max-width:760px){.scripts-page .script-reader-nav{grid-template-columns:repeat(5,1fr)}.scripts-page .reader-best-practices li{grid-template-columns:22px 76px 1fr;padding:7px;font-size:.69rem}}
@media(max-width:500px){.scripts-page .reader-step>b{font-size:.54rem}.scripts-page .reader-best-practices li{grid-template-columns:22px 1fr}.scripts-page .reader-best-practices li span{grid-column:2}}


/* Correctif anti-débordement du lecteur */
.scripts-page,.scripts-page .scripts-results,.scripts-page .script-results-list,.scripts-page .script-result,.scripts-page .script-result details{min-width:0;max-width:100%;box-sizing:border-box}
.scripts-page .script-reader{display:block;width:100%;min-width:0;max-width:100%;box-sizing:border-box;overflow:hidden}
.scripts-page .script-reader-nav{display:grid;width:100%;min-width:0;max-width:100%;grid-template-columns:repeat(5,minmax(0,1fr));box-sizing:border-box;overflow:hidden}
.scripts-page .reader-step{width:100%;min-width:0;max-width:100%;box-sizing:border-box;overflow:hidden}
.scripts-page .reader-step>b,.scripts-page .reader-step>small{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.scripts-page .script-reader-content,.scripts-page .reader-pane,.scripts-page .script-preview{width:100%;min-width:0;max-width:100%;box-sizing:border-box;overflow-wrap:anywhere}
.scripts-page .script-chat-message{min-width:0;overflow-wrap:anywhere}
@media(max-width:850px){.scripts-page .reader-step{grid-template-columns:25px minmax(0,1fr);padding-left:4px;padding-right:4px}.scripts-page .reader-step>small{display:none}.scripts-page .reader-step>b{align-self:center;font-size:.66rem}}
@media(max-width:520px){.scripts-page .script-reader-nav{gap:2px;padding:5px 3px}.scripts-page .reader-step{display:grid;grid-template-columns:1fr;place-items:center;padding:4px 2px}.scripts-page .reader-step>span{grid-row:auto}.scripts-page .reader-step>b{font-size:.53rem;text-align:center}.scripts-page .script-chat-message{max-width:84%}}


/* Bonnes pratiques séparées de la navigation numérotée */
.scripts-page .script-reader-guidebar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px 0;background:#f8f8fb}
.scripts-page .reader-guide-trigger{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border:1px solid #efabc3;border-radius:8px;background:#fff;color:#b20d4b;font-size:.68rem;font-weight:850;cursor:pointer}
.scripts-page .reader-guide-trigger:before{content:'✓';display:grid;width:17px;height:17px;border-radius:50%;background:#ffe2ec;color:#d30050;font-size:.6rem;place-items:center}
.scripts-page .reader-guide-trigger:hover,.scripts-page .reader-guide-trigger.active{background:#f9005c;border-color:#f9005c;color:#fff}
.scripts-page .reader-guide-trigger.active:before{background:#fff;color:#f9005c}
.scripts-page .script-font-controls{display:inline-flex;align-items:center;gap:4px;margin-left:auto}
.scripts-page .script-font-controls button{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:28px;padding:0 7px;border:1px solid #cfd5df;border-radius:7px;background:#fff;color:#273247;font:900 .78rem/1 Inter,system-ui,sans-serif;cursor:pointer}
.scripts-page .script-font-controls button:hover,.scripts-page .script-font-controls button:focus-visible{background:#e9edf5;border-color:#8793a8;outline:0}
.scripts-page .script-reader-nav{grid-template-columns:repeat(4,minmax(0,1fr))}
.scripts-page .script-reader-nav:before{left:7%;right:7%}
@media(max-width:520px){.scripts-page .script-reader-guidebar{padding:6px 6px 0}.scripts-page .reader-guide-trigger{padding:5px 8px;font-size:.62rem}.scripts-page .script-reader-nav{grid-template-columns:repeat(4,1fr)}}


/* Conseils visibles avant et après le dialogue */
.scripts-page .script-call-advice{display:grid;grid-template-columns:105px 1fr;gap:10px;align-items:center;margin:0 0 11px;padding:9px 12px;border:1px solid #d9e2ef;border-radius:10px;background:#f3f7fc}
.scripts-page .script-call-advice>span{display:inline-flex;align-items:center;gap:6px;color:#24548c;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.scripts-page .script-call-advice>span:before{content:'✓';display:grid;width:19px;height:19px;border-radius:50%;background:#dceaff;color:#24548c;font-size:.65rem;place-items:center}
.scripts-page .script-call-advice p{margin:0;color:#38475a;font-size:.76rem;line-height:1.4}
.scripts-page .script-call-advice.after{margin:11px 0 0;border-color:#d4e9dc;background:#f1f9f4}
.scripts-page .script-call-advice.after>span{color:#17633d}
.scripts-page .script-call-advice.after>span:before{background:#dcefe3;color:#17633d}
@media(max-width:620px){.scripts-page .script-call-advice{grid-template-columns:1fr;gap:4px;padding:8px 9px}.scripts-page .script-call-advice p{font-size:.71rem}}

/* Variantes collaboratives des scripts — 24/09/2026 */
.script-variant-note{margin:8px 0 12px;padding:9px 11px;border-left:4px solid #3b82f6;border-radius:8px;background:#f5f9ff;color:#405268;font-size:.76rem;line-height:1.45}
.script-variant-note[hidden]{display:none!important}
.script-variant-note strong{color:#21374d}
.script-variant-base-info{min-height:1.2em;margin:-7px 0 7px!important;color:#64748b!important;font-size:.74rem}
.script-variant-help{margin-top:-3px!important;padding:8px 10px;border-radius:8px;background:#f7f7f5;color:#616b72!important;font-size:.73rem!important;line-height:1.4}
.script-dialog-card textarea#scriptBaseContent{min-height:300px;line-height:1.45}

/* Accueil — anti-débordement horizontal, 24/09/2026 */
html,body{max-width:100%;overflow-x:hidden}
.dashboard-page{
  width:100%!important;
  max-width:1180px!important;
  min-width:0!important;
  box-sizing:border-box!important;
  overflow-x:clip!important;
}
.dashboard-page>*{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.dashboard-page .hero,
.dashboard-page .quick-grid,
.dashboard-page .phone-directory-panel,
.dashboard-page .freelance-summary-panel,
.dashboard-page .team-hours,
.dashboard-page .social-panel,
.dashboard-page .service-panel{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
}
.dashboard-page .quick-grid>*{
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden;
}
.dashboard-page .freelance-summary-grid>*{min-width:0!important}
.dashboard-page .team-hours{
  grid-template-columns:minmax(220px,.72fr) minmax(0,2.28fr)!important;
  overflow:hidden!important;
}
.dashboard-page .team-hours>.agenda-intro,
.dashboard-page .team-hours>.team-calendar{
  min-width:0!important;
  max-width:100%!important;
}
.dashboard-page .team-calendar{
  width:100%!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
}
.dashboard-page .agenda-calendar{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
}
.dashboard-page .agenda-calendar-toolbar{
  min-width:0!important;
  max-width:100%!important;
  flex-wrap:wrap!important;
}
.dashboard-page .agenda-grid{
  width:max(100%,620px)!important;
  min-width:620px!important;
  max-width:none!important;
  box-sizing:border-box!important;
}
@media(max-width:900px){
  .dashboard-page .team-hours{grid-template-columns:1fr!important}
  .dashboard-page .agenda-grid{width:620px!important;min-width:620px!important}
}
@media(max-width:650px){
  .dashboard-page{padding-left:18px!important;padding-right:18px!important}
  .dashboard-page .hero h1{overflow-wrap:anywhere}
}

/* Verrou final Accueil : aucun scroll horizontal global. */
body:not(.auth){overflow-x:hidden!important}
body:not(.auth) .dashboard-page{
  margin-left:auto!important;
  margin-right:auto!important;
}
body:not(.auth) .dashboard-page .team-calendar .agenda-calendar{
  overflow:visible!important;
}

/* Accueil — suivi freelance compact et motivant, 24/09/2026.
   .freelance-motivation-panel + data-prime-value servent de hooks pour une future animation. */
.dashboard-page .freelance-motivation-panel{
  position:relative;
  overflow:hidden;
  padding:13px 16px!important;
  border:1px solid #e5b63d!important;
  border-left:6px solid #d99a00!important;
  border-radius:15px!important;
  background:linear-gradient(105deg,#fffaf0 0%,#ffefbd 55%,#ffe29a 100%)!important;
  box-shadow:0 7px 18px rgba(107,76,0,.09)!important;
}
.dashboard-page .freelance-motivation-panel:before{
  content:"";
  position:absolute;
  width:150px;
  height:150px;
  right:-70px;
  top:-80px;
  border-radius:50%;
  background:rgba(255,255,255,.32);
  pointer-events:none;
}
.dashboard-page .freelance-motivation-panel .section-heading{
  position:relative;
  z-index:1;
  align-items:center!important;
  margin:0 0 7px!important;
  min-height:0!important;
}
.dashboard-page .freelance-motivation-panel .section-heading>div{
  display:flex;
  align-items:baseline;
  gap:10px;
  min-width:0;
}
.dashboard-page .freelance-motivation-panel .eyebrow{
  margin:0!important;
  color:#9a6700!important;
  font-size:.62rem!important;
  letter-spacing:.1em!important;
  white-space:nowrap;
}
.dashboard-page .freelance-motivation-panel h2{
  margin:0!important;
  color:#3e2d00!important;
  font-size:1.03rem!important;
  line-height:1.1!important;
}
.dashboard-page .freelance-summary-link{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:6px 9px;
  border-radius:999px;
  background:rgba(255,255,255,.68);
  color:#654900!important;
  font-size:.7rem!important;
  white-space:nowrap;
}
.dashboard-page .freelance-summary-link .action-icon{width:14px;height:14px}
.dashboard-page .freelance-motivation-panel .freelance-summary-grid{
  position:relative;
  z-index:1;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr)) minmax(150px,1.18fr)!important;
  gap:8px!important;
  margin-top:0!important;
}
.dashboard-page .freelance-motivation-panel .freelance-stat{
  min-height:50px!important;
  padding:7px 6px!important;
  gap:1px!important;
  border:1px solid rgba(165,118,0,.16);
  border-radius:10px!important;
  background:rgba(255,255,255,.72)!important;
}
.dashboard-page .freelance-motivation-panel .freelance-stat-value{
  color:#332600!important;
  font-size:1.04rem!important;
  line-height:1.05!important;
  font-weight:900!important;
}
.dashboard-page .freelance-motivation-panel .freelance-stat-label{
  color:#76612a!important;
  font-size:.6rem!important;
  line-height:1.1!important;
  font-weight:800!important;
}
.dashboard-page .freelance-motivation-panel .freelance-stat-prime{
  border-color:#1f1f1f!important;
  background:#1f1f1f!important;
  box-shadow:inset 0 0 0 1px rgba(255,215,94,.18),0 4px 10px rgba(31,31,31,.12)!important;
}
.dashboard-page .freelance-motivation-panel .freelance-stat-prime .freelance-stat-value{
  color:#ffd75e!important;
  font-size:1.24rem!important;
  letter-spacing:-.02em;
}
.dashboard-page .freelance-motivation-panel .freelance-stat-prime .freelance-stat-label{
  color:#fff4c7!important;
}
@media(max-width:760px){
  .dashboard-page .freelance-motivation-panel .section-heading{align-items:flex-start!important;gap:7px}
  .dashboard-page .freelance-motivation-panel .section-heading>div{display:block}
  .dashboard-page .freelance-motivation-panel .eyebrow{margin-bottom:3px!important}
  .dashboard-page .freelance-motivation-panel .freelance-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
/* 26/09/2026 : bandeau d'en-tete plus soigne. Plusieurs regles existantes ici
   (pilules rouge/or de deconnexion-rafraichir, contour blanc de la vignette
   d'horloge, pastilles "blanc a 12%" des numeros d'equipe) avaient deja ete
   pensees pour un fond sombre, mais le fond reel du bandeau etait reste clair
   (var(--mineral) puis rgba(239,238,233,.9)) : ces pilules restaient quasi
   invisibles. On redonne au bandeau le fond sombre pour lequel elles avaient
   ete concues, et on affine le reste (pilules de navigation au survol,
   numeros d'equipe avec avatar colore par personne). */
.topbar-v2{
  background:linear-gradient(160deg,#172033,#0f1626)!important;
  border-bottom:none!important;
  box-shadow:0 10px 30px #0f16264d!important;
  position:relative!important;
}
.topbar-v2::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-1px;
  height:3px;
  background:linear-gradient(90deg,var(--raspberry),#ff5c94 45%,#ffb199 75%,var(--raspberry));
}
.topbar-v2 .brand img{border-radius:10px;box-shadow:0 3px 10px #0006}
.topbar-v2 .local-clock{color:#f3f4f8!important}
.topbar-v2 .local-clock #header-local-time{font-weight:750;letter-spacing:.02em}
.topbar-v2 .topbar-row-nav .header-phone{
  color:#e7e9f2!important;
  padding:6px 12px!important;
  border-radius:999px!important;
  transition:background .15s ease,color .15s ease;
}
.topbar-v2 .topbar-row-nav .header-phone:hover,
.topbar-v2 .topbar-row-nav .header-phone:focus-visible{
  background:#ff005c26!important;
  color:#ff9dbc!important;
}
.topbar-v2 .topbar-row-secondary{border-top:1px solid #ffffff1f!important}
.topbar-v2 .header-team-numbers span{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:8px!important;
  padding:6px 12px 6px 6px!important;
  border-radius:999px!important;
  background:#ffffff0d!important;
  border:1px solid #ffffff1a!important;
}
.topbar-v2 .header-team-numbers .header-phone-text{display:flex;flex-direction:column;align-items:flex-start;gap:1px}
.topbar-v2 .header-team-numbers b{color:#f5f6fa!important}
.topbar-v2 .header-team-numbers small{color:#b7bcd6!important}
.topbar-v2 .header-avatar{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:26px;height:26px;
  border-radius:50%;
  font-size:.7rem;
  font-weight:800;
  color:#fff;
  flex:0 0 auto;
}
.topbar-v2 .header-phone-fabien .header-avatar{background:#1f9d63}
.topbar-v2 .header-team-numbers .header-phone-fabien{border-color:#1f9d6355!important}
.topbar-v2 .header-search{box-shadow:0 6px 18px #0006!important}
@media(max-width:650px){
  .topbar-v2 .header-team-numbers span{padding:5px 10px 5px 5px!important}
}

/* 26/09/2026 : bandeau recentre et condense (demande Fabien) — au lieu de
   s'etirer sur toute la largeur (logo colle a gauche, recherche collee a
   droite) et d'empiler logo/horloge puis deconnexion/rafraichir sur deux
   rangees, tout se regroupe desormais au centre sur une seule rangee par
   bloc, plus bas. Le mobile (< 651px) garde l'empilement d'origine : a
   cette largeur, une seule rangee ne tiendrait pas. */
.topbar-v2{padding:6px clamp(20px,4vw,56px)!important;gap:2px!important}
.topbar-v2 .topbar-row{gap:10px!important}
.topbar-v2 .topbar-row-main{justify-content:center!important;gap:32px!important}
.topbar-v2 .topbar-row-left--stacked{flex-direction:row!important;align-items:center!important;gap:14px!important}
.topbar-v2 .topbar-row-left-top{gap:8px!important}
.topbar-v2 .topbar-row-actions--under-logo{gap:4px!important}
.topbar-v2 .brand{width:96px!important;height:38px!important}
.topbar-v2 .brand img{width:96px!important;height:38px!important}
.topbar-v2 .topbar-row-nav{gap:2px!important;flex:0 0 auto!important}
.topbar-v2 .topbar-row-nav .header-phone{padding:5px 10px!important;font-size:.86rem}
.topbar-v2 .topbar-row-secondary{justify-content:center!important;gap:28px!important;padding-top:6px!important}
.topbar-v2 .header-team-numbers{flex:0 0 auto!important}
.topbar-v2 .header-search{flex:0 0 auto!important;width:min(360px,100%)!important}
@media(max-width:650px){
  .topbar-v2 .topbar-row-left--stacked{flex-direction:column!important;align-items:flex-start!important}
  .topbar-v2 .topbar-row-main{justify-content:flex-start!important}
  .topbar-v2 .topbar-row-secondary{justify-content:flex-start!important}
}

@media(max-width:430px){
  .dashboard-page .freelance-motivation-panel{padding:12px!important}
  .dashboard-page .freelance-summary-link{white-space:normal}
}

/* 26/09/2026 : les 3 blocs du haut (Narbonne / a faire aujourd'hui / Diego
   Suarez) doivent toujours faire la meme largeur et la meme hauteur (demande
   Fabien). Les largeurs etaient deja egales via grid-template-columns plus
   haut ; la hauteur, elle, ne l'etait qu'en apparence : le bloc central n'a
   pas de hauteur fixe (contrairement aux photos) et grandit avec le texte du
   dernier message Mattermost — un message long (ex. alerte RAM sur
   plusieurs lignes) rendait le bloc central visiblement plus haut que les
   deux autres. On force l'etirement egal (grid + hauteur 100%) et on limite
   ce texte a 2 lignes avec points de suspension, pour que la hauteur du
   bloc ne depende plus de la longueur du dernier message recu. */
.dashboard-page .quick-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:stretch!important;
}
.dashboard-page .quick-grid>.clock-card,
.dashboard-page .quick-grid>.focus-panel{
  height:100%!important;
  box-sizing:border-box!important;
}
.dashboard-page .focus-panel .muted{
  display:-webkit-box!important;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden!important;
  text-overflow:ellipsis;
}
/* plus d'air avant le bloc suivant (Horaires) — l'espacement entre TOUS
   les blocs du dashboard vient en realite d'un gap:16px uniforme sur
   main.container (regle "Espacement unique entre les blocs principaux"
   plus haut, qui remet aussi la marge de chaque enfant a 0 avec une
   specificite plus forte que les tentatives precedentes ici). Pour ne
   creuser l'ecart qu'apres le quick-grid sans toucher aux autres blocs,
   on reprend le meme selecteur exact et on n'ecrase que margin-bottom. */
body:not(.auth) main.container>.quick-grid{margin-bottom:32px!important}

/* Horaires, puis citation du jour juste en dessous (empiles, plus cote a
   cote : demande explicite de Fabien le 26/09/2026 — le bloc "applications
   que nous utilisons" vient encore en dessous, dans ce meme panneau). */
.dashboard-page .opening-hours-panel .opening-hours-row{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:stretch!important;
  margin-top:10px!important;
}
.dashboard-page .opening-hours-panel .opening-hours-grid{
  flex:0 1 auto!important;
  margin-top:0!important;
}
.dashboard-page .opening-hours-panel .daily-quote{
  margin:14px 0 0!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}

/* Panneau Horaires encore plus compact : moins de padding autour, moins
   d'ecart entre le titre et les pastilles, pastilles et citation plus
   petites. */
.dashboard-page .opening-hours-panel{padding:16px 20px!important}
.dashboard-page .opening-hours-panel .section-heading{margin:0 0 6px!important}
.dashboard-page .opening-hours-panel .opening-hours-row{margin-top:2px!important;gap:14px!important}
.dashboard-page .opening-hours-panel .opening-hours-grid{gap:10px!important}
.dashboard-page .opening-hours-panel .opening-hours-slot{padding:8px 14px!important}
.dashboard-page .opening-hours-panel .opening-hours-value{font-size:1.05rem!important}
.dashboard-page .opening-hours-panel .daily-quote{padding:14px 18px!important}
.dashboard-page .opening-hours-panel .daily-quote blockquote{margin:2px 0 6px!important;font-size:.92rem!important}

/* Rangee Horaires+citation / Applications utilisees : deux panneaux a
   50/50 cote a cote (demande de Fabien, 26/09/2026 — d'abord empiles dans
   un seul panneau, puis reprecise en deux blocs distincts). Un seul
   panneau en dessous de 900px : la grille de logos ne tiendrait pas a
   cote des horaires sans se tasser. */
.dashboard-page .horaires-applis-row{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:stretch!important;
  gap:16px!important;
  margin-bottom:16px!important;
}
.dashboard-page .horaires-applis-row>.panel{
  flex:1 1 340px!important;
  margin:0!important;
}
.dashboard-page .horaires-applis-row .apps-utilisees-grid{margin-top:14px!important}
@media(max-width:900px){
  .dashboard-page .horaires-applis-row{flex-direction:column!important}
}

/* TEMPILO : actions de session homogènes, même gabarit et comportement. */
.topbar-v2 .topbar-row-actions--under-logo .header-action-logout,
.topbar-v2 .topbar-row-actions--under-logo .header-action-refresh{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;min-width:105px!important;height:30px!important;min-height:30px!important;box-sizing:border-box!important;padding:5px 10px!important;border:1px solid #ffffff45!important;border-radius:9px!important;background:#ffffff12!important;color:#f8fafc!important;text-decoration:none!important;cursor:pointer!important;font:inherit!important;line-height:1!important;box-shadow:none!important;transition:background .15s ease,border-color .15s ease!important}
.topbar-v2 .topbar-row-actions--under-logo .header-action-logout span,
.topbar-v2 .topbar-row-actions--under-logo .header-action-refresh span{font-size:12px!important;font-weight:700!important;white-space:nowrap!important}
.topbar-v2 .topbar-row-actions--under-logo .header-action-logout:hover,
.topbar-v2 .topbar-row-actions--under-logo .header-action-refresh:hover{background:#ffffff26!important;border-color:#ffffff80!important}
.topbar-v2 .topbar-row-actions--under-logo .header-action-logout:focus-visible,
.topbar-v2 .topbar-row-actions--under-logo .header-action-refresh:focus-visible{outline:2px solid #fff!important;outline-offset:2px!important}

/* Boutons du header : mêmes dimensions, couleurs distinctes. */
.topbar-v2 .topbar-row-actions--under-logo .header-action-logout{background:#dc2626!important;border-color:#ef4444!important;color:#fff!important}
.topbar-v2 .topbar-row-actions--under-logo .header-action-logout:hover{background:#b91c1c!important;border-color:#f87171!important}
.topbar-v2 .topbar-row-actions--under-logo .header-action-refresh{background:#facc15!important;border-color:#eab308!important;color:#1f2937!important}
.topbar-v2 .topbar-row-actions--under-logo .header-action-refresh:hover{background:#fde047!important;border-color:#facc15!important;color:#111827!important}

/* TEMPILO header — boutons compacts rouge/jaune (correction validée). */
.topbar-v2 .topbar-row-actions--under-logo .header-action-logout,
.topbar-v2 .topbar-row-actions--under-logo .header-action-refresh{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;min-width:auto!important;width:auto!important;height:26px!important;min-height:26px!important;padding:4px 10px!important;border-radius:7px!important;border:1px solid transparent!important;text-decoration:none!important;cursor:pointer!important;font:inherit!important;line-height:1!important;box-shadow:none!important;transition:background .15s ease,border-color .15s ease,color .15s ease!important}
.topbar-v2 .topbar-row-actions--under-logo .header-action-logout span,
.topbar-v2 .topbar-row-actions--under-logo .header-action-refresh span{font-size:12px!important;font-weight:700!important;white-space:nowrap!important}
.topbar-v2 .topbar-row-actions--under-logo .header-action-logout{background:#d7194f!important;color:#fff!important;border-color:#ef6b8d!important}
.topbar-v2 .topbar-row-actions--under-logo .header-action-logout:hover{background:#bf1443!important;border-color:#f08aa6!important}
.topbar-v2 .topbar-row-actions--under-logo .header-action-refresh{background:#f4c542!important;color:#1f1f1f!important;border-color:#e7b300!important}
.topbar-v2 .topbar-row-actions--under-logo .header-action-refresh:hover{background:#e6b800!important;border-color:#c99f00!important}

/* TEMPILO header — boutons contour sombre, texte coloré, référence capture. */
.topbar-v2 .topbar-row-actions--under-logo .header-action-logout,
.topbar-v2 .topbar-row-actions--under-logo .header-action-refresh{height:34px!important;min-height:34px!important;min-width:auto!important;width:auto!important;padding:6px 12px!important;border:1px solid #68758b!important;border-radius:10px!important;background:#263246!important;box-shadow:none!important;gap:5px!important}
.topbar-v2 .topbar-row-actions--under-logo .header-action-logout{color:#ff657d!important;background:#263246!important;border-color:#68758b!important}
.topbar-v2 .topbar-row-actions--under-logo .header-action-refresh{color:#f4c542!important;background:#263246!important;border-color:#68758b!important}
.topbar-v2 .topbar-row-actions--under-logo .header-action-logout:hover{color:#ff879a!important;background:#354158!important;border-color:#ff657d!important}
.topbar-v2 .topbar-row-actions--under-logo .header-action-refresh:hover{color:#ffdd76!important;background:#354158!important;border-color:#f4c542!important}

/* Icônes SVG nettes, visibles et alignées dans les deux boutons. */
.topbar-v2 .topbar-row-actions--under-logo .header-action-icon{display:block!important;width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;flex:0 0 18px!important;stroke:currentColor!important;stroke-width:2.4!important;fill:none!important;opacity:1!important;visibility:visible!important;vertical-align:middle!important}


/* Administration freelances — panneau RDV à valider plus compact. */
.fl-rdv-validation-panel{padding:16px 18px!important}
.fl-rdv-validation-panel>h2{margin-bottom:10px!important;padding-bottom:10px!important}
.fl-rdv-validation-panel .fl-rdv-summary{margin:0 0 8px!important;font-size:.82rem!important;line-height:1.35!important}
.fl-rdv-validation-panel .fl-rdv-month-summary{margin:5px 0 7px!important;font-size:.78rem!important;line-height:1.3!important}
.fl-rdv-validation-panel .fl-month-tabs{margin:6px 0!important}
.fl-rdv-validation-panel .fl-month-tab{padding:5px 9px!important;font-size:.78rem!important}
.fl-rdv-validation-panel .fl-rdv-table{font-size:.78rem!important}
.fl-rdv-validation-panel .fl-rdv-table th,
.fl-rdv-validation-panel .fl-rdv-table td{padding:6px 7px!important}
.fl-rdv-validation-panel .fl-rdv-table .small-button{padding:5px 8px!important;font-size:.72rem!important}


/* Indicateur explicite de prise en compte de la prime RDV. */
.fl-rdv-validation-panel .fl-rdv-prime-state{display:block;margin-top:4px;font-size:.68rem;line-height:1.2;font-weight:700;color:#8a5b00;white-space:normal}
.fl-rdv-validation-panel .fl-rdv-prime-state.is-counted{color:#166534}


/* Journal détaillé et RDV : mois regroupés sous leur année, dans l’ordre janvier-décembre. */
.fl-month-year-groups{display:flex;flex-direction:column;gap:10px;margin:10px 0 14px}
.fl-month-year-group{display:flex;flex-direction:column;gap:5px;min-width:0}
.fl-month-year-label{font-size:.82rem;color:#344054;line-height:1.2}
.fl-month-year-group .fl-month-tabs{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:6px;margin:0}
