:root{--ink:#172033;--muted:#667085;--line:#e7eaf0;--bg:#f7f8fb;--accent:#ee6c4d;--navy:#172033}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}.auth{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#fff8f4,#f4f6fb)}.auth-card{width:min(460px,100%);padding:42px;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 20px 60px #17203312}.logo{width:180px;height:auto;margin-bottom:28px}.eyebrow{color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.12em;margin:0 0 10px}.muted{color:var(--muted);line-height:1.6}.small{font-size:12px;margin-top:24px}.auth h1{font-size:30px;line-height:1.15;margin:0 0 12px}label{display:block;font-size:13px;font-weight:700;margin:22px 0 8px}input,select{width:100%;border:1px solid #d9dee8;border-radius:9px;padding:12px 13px;font:inherit;background:#fff}input:focus,select:focus{outline:3px solid #ee6c4d33;border-color:var(--accent)}.button{border:0;border-radius:8px;padding:11px 16px;font:inherit;font-weight:700;text-decoration:none;display:inline-block;cursor:pointer}.primary{background:var(--accent);color:#fff}.auth .button{width:100%;margin-top:25px}.disabled{background:#edf0f4;color:#8b94a5;cursor:not-allowed}.notice{padding:12px 14px;border-radius:9px;margin:18px 0;font-size:13px}.notice.error{background:#fff0ed;color:#a63b26}.notice.success{background:#eaf8f0;color:#187344}.topbar{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center;padding:0 clamp(20px,5vw,72px)}.brand img{width:150px;display:block}.topbar nav{display:flex;gap:22px;align-items:center;font-size:13px}.topbar a{color:var(--ink);text-decoration:none;font-weight:650}.container{max-width:1180px;margin:0 auto;padding:58px 24px}.hero{display:flex;justify-content:space-between;align-items:end;margin-bottom:38px}.hero h1{font-size:40px;letter-spacing:-.03em;margin:0 0 8px}.version{font-size:12px;color:var(--muted)}.app-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}.app-card,.panel{background:#fff;border:1px solid var(--line);border-radius:15px;padding:24px;box-shadow:0 6px 20px #17203308}.app-card{min-height:240px;display:flex;flex-direction:column}.card-top{display:flex;justify-content:space-between;align-items:start;margin-bottom:22px}.app-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:#fff0eb;color:var(--accent);font-weight:800;font-size:18px}.app-card h2{font-size:21px;margin:3px 0 7px}.app-card .button{margin-top:auto;text-align:center;width:100%}.status{font-size:10px;font-weight:800;letter-spacing:.05em;padding:5px 8px;border-radius:100px;white-space:nowrap}.status.active{background:#e7f7ee;color:#187344}.status.maintenance{background:#fff5db;color:#8a6400}.status.coming_soon{background:#eef0f5;color:#687287}.panel{margin:22px 0}.panel h2{margin-top:0;font-size:20px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:13px 10px;border-bottom:1px solid var(--line);white-space:nowrap}th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.inline{display:flex;gap:8px;align-items:center}.inline select{width:auto;padding:7px}.small-button{padding:8px 11px;background:var(--navy);color:#fff;font-size:12px}@media(max-width:650px){.topbar{height:auto;padding:18px 20px;align-items:flex-start;gap:12px}.topbar nav{gap:10px;flex-wrap:wrap;justify-content:end}.container{padding:36px 18px}.hero{display:block}.hero h1{font-size:31px}.version{margin-top:14px}}
/* Charte RS TEMPILO : mineral, encre, bleu ardoise et framboise */
:root{--ink:#1f1f1f;--paper:#fffdfa;--mineral:#efeee9;--blue:#4a6478;--raspberry:#ff005c;--muted:#666}.auth{min-height:100svh;background:var(--mineral);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);padding:clamp(20px,5vw,72px);gap:clamp(24px,6vw,96px);align-items:center}.auth-card{width:min(100%,470px);background:var(--paper);border:1px solid #d8d1c4;border-radius:22px;padding:clamp(26px,4vw,48px);box-shadow:0 22px 60px rgba(31,31,31,.1)}.auth:before{content:"TEMPILO\A\AINTRANET\A\AUn espace central pour vos outils et vos équipes.";white-space:pre-wrap;display:flex;align-items:center;justify-content:center;min-height:min(700px,calc(100svh - 144px));background:var(--ink);border-radius:28px;padding:clamp(30px,6vw,76px);color:var(--paper);font-size:clamp(2rem,4vw,4.2rem);line-height:1.05;font-weight:800;letter-spacing:-.04em;box-shadow:inset 7px 0 var(--raspberry)}.auth-card h1{color:var(--ink);font-size:clamp(1.65rem,3vw,2.25rem);line-height:1.1}.auth-card .button.primary{background:var(--ink);border-color:var(--ink)}.auth-card .button.primary:hover{background:var(--blue)}.auth-card label{color:#3a3f45}.auth-card input{background:var(--paper)}
.password-field{display:flex;position:relative}.password-field input{padding-right:3rem}.password-toggle{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background-color .15s ease,color .15s ease}.password-toggle svg{width:19px;height:19px;pointer-events:none}.password-toggle:hover{background:rgba(31,31,31,.06);color:var(--raspberry)}.password-toggle:focus-visible{outline:2px solid var(--raspberry);outline-offset:1px}.topbar{background:var(--mineral);border-bottom:1px solid #deddd8}.button.primary{background:var(--ink)}.button.primary:hover{background:var(--raspberry)}.app-card,.panel{background:var(--paper);border-color:#d8d1c4}.app-card:hover,.panel:hover{background:#fff}.app-icon{background:#ffe9ef;color:var(--raspberry)}@media(max-width:820px){.auth{grid-template-columns:1fr;padding:18px;gap:18px}.auth:before{min-height:300px;padding:30px;border-radius:20px;font-size:2.2rem}.auth-card{margin:0 auto}}

body:not(.auth){background:radial-gradient(circle at 90% 0%,#ffe8ef 0,transparent 28rem),var(--mineral)}.topbar{position:sticky;top:0;z-index:5;backdrop-filter:blur(14px);background:rgba(239,238,233,.9);box-shadow:0 8px 28px #1f1f1f0f}.brand:after{content:"INTRANET";font-size:10px;letter-spacing:.16em;font-weight:800;color:var(--raspberry);border-left:1px solid #c9c4ba;padding-left:12px}.topbar nav a:hover{color:var(--raspberry)}.app-card{transition:transform .22s,box-shadow .22s}.app-card:hover{transform:translateY(-5px);box-shadow:0 18px 34px #1f1f1f1f}.daily-quote{margin:0 0 34px;padding:24px 30px;border-radius:20px;background:var(--ink);color:var(--paper);box-shadow:inset 6px 0 var(--raspberry),0 12px 30px #1f1f1f14}.daily-quote .eyebrow{color:var(--raspberry)}.daily-quote blockquote{margin:4px 0 10px;font-size:clamp(.92rem,1.35vw,1.12rem);line-height:1.45;font-weight:650;max-width:800px}.daily-quote cite{color:#d8d1c4;font-size:13px}.panel{box-shadow:0 10px 28px #1f1f1f0f}.button{transition:transform .2s,box-shadow .2s}.button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 18px #1f1f1f24}

.quick-grid{display:grid;grid-template-columns:2fr 1fr;gap:18px;margin-bottom:22px}.focus-panel{background:var(--ink);color:var(--paper);border:0}.focus-panel .muted{color:#d8d1c4}.focus-panel .button{background:var(--raspberry)}.time-panel{display:flex;flex-direction:column;justify-content:center}.big-time{font-size:clamp(2.8rem,6vw,4.8rem);font-weight:800;letter-spacing:-.06em;line-height:1}.section-heading{display:flex;align-items:end;justify-content:space-between;margin:34px 0 16px}.section-heading h2{margin:0;font-size:25px}.text-link{color:var(--ink);font-weight:750;text-decoration:none}.service-panel{margin-top:34px}.service-list{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;color:#187344;font-size:13px;font-weight:700}.service-list span{padding:12px;background:#eaf8f0;border-radius:9px}@media(max-width:700px){.quick-grid{grid-template-columns:1fr}.service-list{grid-template-columns:1fr 1fr}.section-heading{align-items:start;gap:12px;flex-direction:column}}
.clock-card{position:relative;overflow:hidden;padding:22px 24px;background:linear-gradient(145deg,#fff,#f5f1e9);border-color:#d8d1c4}.clock-card::after{content:'◷';position:absolute;right:18px;top:10px;font-size:4.5rem;line-height:1;color:rgba(31,31,31,.06)}.clock-card h3{margin:3px 0 2px;font-size:1.15rem;position:relative;z-index:1}.clock-card .big-time{font-size:clamp(2.4rem,5vw,3.7rem);font-weight:800;letter-spacing:.04em;line-height:1.05;position:relative;z-index:1}.clock-card .muted{margin:8px 0 0;position:relative;z-index:1}.clock-card-diego{background:linear-gradient(145deg,#fff8ed,#f0e7d8)}
.team-hours{display:grid;grid-template-columns:1fr 1.5fr;gap:22px;align-items:center;background:linear-gradient(135deg,#fff,#f4eee5);border-color:#d8d1c4}.team-hours h2{margin:.2rem 0 .35rem}.hours-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.hours-grid div{padding:12px;border:1px solid #e2d9ca;border-radius:10px;background:rgba(255,255,255,.72)}.hours-grid strong,.hours-grid span{display:block}.hours-grid strong{font-size:.82rem}.hours-grid span{margin-top:5px;color:#666;font-size:.76rem;line-height:1.35}.hours-note{grid-column:1/-1;margin:0;color:#777;font-size:.72rem}@media(max-width:800px){.team-hours{grid-template-columns:1fr}.hours-grid{grid-template-columns:1fr}}
.quick-grid{grid-template-columns:1fr 1.25fr 1fr;align-items:stretch}.clock-card:hover,.clock-card:focus-within{transform:none;box-shadow:none;border-color:#d8d1c4}
@media(max-width:1000px){.quick-grid{grid-template-columns:1fr}.clock-card{min-height:180px}}
.team-hours{display:grid;grid-template-columns:.8fr 2fr;gap:22px;align-items:center;background:linear-gradient(135deg,#fff,#f4eee5);border-color:#d8d1c4}.team-hours h2{margin:.2rem 0 .35rem}.agenda{display:flex;flex-direction:column;gap:6px}.agenda-row{display:grid;grid-template-columns:80px 1fr 1.2fr 1fr;gap:6px;align-items:center;padding:8px 10px;border:1px solid #e2d9ca;border-radius:9px;background:rgba(255,255,255,.75);font-size:.75rem}.agenda-row strong{color:#1f1f1f}.agenda-row .work{color:#2f4f46;font-weight:700}.agenda-row .break{color:#98713c;font-size:.7rem}.hours-note{grid-column:1/-1;margin:0;color:#777;font-size:.72rem}@media(max-width:800px){.team-hours{grid-template-columns:1fr}.agenda-row{grid-template-columns:70px 1fr;gap:4px}.agenda-row .break{grid-column:2}}
.clock-card-narbonne{background-image:linear-gradient(135deg,rgba(20,25,30,.62),rgba(20,25,30,.28)),url('/static/narbonne.webp');background-size:cover;background-position:center;color:#fff;border-color:#3c4a51}.clock-card-narbonne .eyebrow,.clock-card-narbonne .muted{color:rgba(255,255,255,.86)}.clock-card-narbonne h3{color:#fff}
.clock-card-diego-photo{background-image:linear-gradient(135deg,rgba(20,25,30,.6),rgba(20,25,30,.25)),url('/static/diego-suarez.webp');background-size:cover;background-position:center;color:#fff;border-color:#3c4a51}.clock-card-diego-photo .eyebrow,.clock-card-diego-photo .muted{color:rgba(255,255,255,.86)}.clock-card-diego-photo h3{color:#fff}
.team-hours{display:grid;grid-template-columns:.7fr 2.3fr;gap:20px;align-items:start}.school-agenda{display:grid;grid-template-columns:100px repeat(4,minmax(90px,1fr));border:1px solid #d8d1c4;border-radius:10px;overflow:hidden;background:#fff}.agenda-cell{min-height:38px;padding:8px 6px;border-right:1px solid #e8e1d7;border-bottom:1px solid #e8e1d7;text-align:center;font-size:.72rem}.agenda-corner,.agenda-day{background:#202124;color:#fff;font-weight:800}.agenda-time{background:#f5f1e9;color:#666;font-weight:700;font-size:.68rem}.agenda-work{background:#e6f4ea;color:#24633a;font-weight:700}.agenda-break{background:#fff3d8;color:#91672b;font-size:.68rem}.agenda-free,.agenda-empty{background:#fafafa;color:#a0a0a0}.hours-note{grid-column:1/-1;margin:0;color:#777;font-size:.72rem}@media(max-width:900px){.team-hours{grid-template-columns:1fr}.school-agenda{min-width:560px}.table-wrap{overflow-x:auto}}
/* Finition premium de l’agenda */
.team-hours{background:linear-gradient(135deg,#fffdf9,#f1ece3);border:1px solid #d7cfc2;box-shadow:0 10px 30px rgba(31,31,31,.06);border-radius:18px;padding:24px}.agenda-intro .eyebrow{color:#8a6540}.agenda-intro h2{font-size:1.45rem;letter-spacing:-.02em}.school-agenda{border:1px solid #cfc5b7;border-radius:14px;box-shadow:0 5px 16px rgba(31,31,31,.07);background:#fff}.agenda-cell{min-height:42px;padding:10px 7px;font-size:.74rem;border-color:#ebe5dc}.agenda-corner,.agenda-day{background:#252a2d;color:#fff;border-color:#41484b;letter-spacing:.06em;text-transform:uppercase;font-size:.65rem}.agenda-corner{color:#cfc5b7}.agenda-time{background:#f3eee6;color:#6b6258;font-size:.66rem;letter-spacing:.02em}.agenda-work{background:#e5f2e9;color:#245c3b}.agenda-break{background:#fff2d5;color:#8a6429}.agenda-free,.agenda-empty{background:#fbfaf8;color:#aaa}.agenda-work,.agenda-break{font-weight:800}.hours-note{font-style:italic;color:#81766b}
.team-hours{position:relative}.team-hours:before{content:'';position:absolute;left:24px;right:24px;top:0;height:3px;background:linear-gradient(90deg,#b88a52,#252a2d,#b88a52);border-radius:0 0 4px 4px}.agenda-intro{padding:8px 0}.agenda-intro h2{font-size:1.65rem}.agenda-intro:after{content:'HORAIRES COORDONNÉS';display:inline-block;margin-top:14px;padding:5px 9px;border:1px solid #d7c8b5;border-radius:99px;color:#8a6540;font-size:.58rem;font-weight:800;letter-spacing:.12em}.school-agenda{background:#fffdfb}.agenda-day{background:linear-gradient(145deg,#2d3438,#1f2427)}.agenda-cell:first-child{border-top-left-radius:13px}.agenda-legend{grid-column:1/-1;display:flex;gap:16px;align-items:center;margin:2px 0 0;color:#71685e;font-size:.68rem}.agenda-legend span{display:inline-flex;align-items:center;gap:5px}.agenda-legend i{width:9px;height:9px;border-radius:50%;display:inline-block}.legend-work{background:#65a77a}.legend-break{background:#d6a64e}.legend-free{background:#c5c1bb}

.clock-card{transition:background-image .2s,color .2s}.clock-card:hover .big-time,.clock-card:focus-within .big-time{color:#ff3d8d}.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')}.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')}.clock-card:hover h3,.clock-card:focus-within h3{color:#ff7eae}
.focus-panel:hover,.focus-panel:focus-within{background:var(--surface);box-shadow:none;transform:none}
.focus-panel{transition:none!important}.focus-panel:hover,.focus-panel:focus-within{border-color:#d8d1c4!important;color:inherit!important}
.team-hours,.team-hours:hover,.team-hours:focus-within{transition:none!important;transform:none;box-shadow:0 10px 30px rgba(31,31,31,.06);border-color:#d7cfc2}
.clock-card-narbonne .big-time{animation:narbonne-clock-pulse 1.8s ease-in-out infinite}@keyframes narbonne-clock-pulse{0%,100%{opacity:1}50%{opacity:.42}}
.jw-link{display:inline-flex;flex-direction:column;gap:3px;margin-top:6px;padding:12px 18px;border-radius:12px;background:var(--ink);text-decoration:none;box-shadow:inset 4px 0 var(--raspberry),0 8px 20px rgba(31,31,31,.14);transition:box-shadow .25s ease}.jw-link-eyebrow{color:#c9a86a;font-size:.6rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.jw-link-title{color:var(--paper);font-size:.86rem;font-weight:650;letter-spacing:.005em;font-family:Georgia,'Iowan Old Style',serif}.jw-link-arrow{display:inline-block;margin-left:8px;color:var(--raspberry);font-family:Inter,ui-sans-serif,system-ui,sans-serif;transition:transform .25s ease}.jw-link:hover,.jw-link:focus-visible{box-shadow:inset 4px 0 var(--raspberry),0 12px 26px rgba(31,31,31,.22);outline:none}.jw-link:hover .jw-link-arrow,.jw-link:focus-visible .jw-link-arrow{transform:translateX(3px)}
.focus-panel,.focus-panel:hover,.focus-panel:focus,.focus-panel:focus-within{background:var(--ink)!important;color:var(--paper)!important;transform:none!important;box-shadow:none!important;border:0!important;transition:none!important}
.team-hours,.team-hours:hover,.team-hours:focus,.team-hours:focus-within{background:linear-gradient(135deg,#fffdf9,#f1ece3)!important;transform:none!important;box-shadow:0 10px 30px rgba(31,31,31,.06)!important;border:1px solid #d7cfc2!important;transition:none!important}
.school-agenda{grid-auto-rows:42px}.school-agenda .agenda-cell{min-height:0;height:42px;display:flex;align-items:center;justify-content:center}
.team-hours{background:linear-gradient(135deg,#fffdfa,#f3eee7)!important;border-color:#d6cec1!important}.agenda-intro .eyebrow{color:#ff005c}.agenda-intro h2{color:#252a2d}.school-agenda{border-color:#cfc5b7;box-shadow:0 8px 20px rgba(31,31,31,.08)}.school-agenda .agenda-corner,.school-agenda .agenda-day{background:#252a2d;color:#fff;border-color:#454c4f}.school-agenda .agenda-time{background:#eee8df;color:#5e574f}.school-agenda .agenda-work{background:#e3f1e7;color:#245c3b}.school-agenda .agenda-break{background:#ffe8ef;color:#9a164d}.school-agenda .agenda-free,.school-agenda .agenda-empty{background:#fbfaf8;color:#98928b}.agenda-legend{color:#71685e}.agenda-legend .legend-break{background:#ff6b9b}
@media(prefers-reduced-motion:reduce){.clock-card-narbonne .big-time{animation:none}}
.agenda-team{display:flex;align-items:center;gap:10px;margin:2px 0 4px}.agenda-team h2{margin:0}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:800;font-size:.92rem;border:2px solid var(--paper);box-shadow:0 4px 10px rgba(31,31,31,.18)}
.app-card.app-crm{border-color:#ff6b9b;background:linear-gradient(145deg,#fff,#fff0f5)}.app-card.app-crm .app-icon{background:#ff005c;color:#fff}.app-card.app-crm .button.primary{background:#ff005c}.app-card.app-crm .eyebrow{color:#c2185b}
.app-card.app-crm{order:-1;grid-column:span 2;min-height:285px;border-width:2px;box-shadow:0 14px 34px rgba(255,0,92,.18)}.app-card.app-crm h2{font-size:28px;color:#a6134f}.app-card.app-crm .app-icon{width:54px;height:54px;font-size:23px}.app-card.app-crm .button.primary{font-size:16px;padding:14px 18px}@media(max-width:650px){.app-card.app-crm{grid-column:span 1}}
.app-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.app-card.app-crm{grid-column:span 1;min-height:260px}.app-card.app-crm h2{font-size:23px}@media(max-width:1000px){.app-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.app-grid{grid-template-columns:1fr}}
.app-grid{grid-auto-rows:260px}.app-grid .app-card{height:260px;min-height:260px}.app-card.app-crm{border-width:2px;box-shadow:0 12px 28px rgba(255,0,92,.14)}.app-card.app-crm .app-icon{width:42px;height:42px;font-size:18px}.app-card.app-crm h2{font-size:21px}.app-card.app-crm .button.primary{font-size:inherit;padding:11px 16px}
.site-apps-box{position:relative;overflow:hidden;margin:28px 0;padding:30px;border-radius:20px;background:linear-gradient(120deg,#252a2d,#3b4245);color:#fff;box-shadow:0 16px 34px rgba(31,31,31,.16)}.site-apps-box:after{content:'';position:absolute;right:-55px;bottom:-90px;width:330px;height:330px;background:url('/static/favicon.png') center/contain no-repeat;opacity:.1;filter:brightness(0) invert(1);pointer-events:none}.site-apps-box>div{position:relative;z-index:1}.site-apps-box .eyebrow{color:#ff6b9b}.site-apps-box h2{margin:0 0 8px;font-size:25px}.site-apps-box p:not(.eyebrow){color:#e9e3da;margin:0}.site-app-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.site-app-links a{padding:10px 14px;border:1px solid rgba(255,255,255,.28);border-radius:999px;color:#fff;text-decoration:none;font-weight:750;font-size:.82rem;background:rgba(255,255,255,.08)}.site-app-links a:hover{background:#ff005c;border-color:#ff005c}
/* Retour à la présentation précédant la mise en avant du CRM */
.app-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-auto-rows:auto}.app-grid .app-card{height:auto;min-height:240px}.app-card.app-crm{order:initial;grid-column:auto;min-height:240px;height:auto;border-width:1px;background:#fffdfb;box-shadow:0 10px 28px #1f1f1f0f}.app-card.app-crm .app-icon{width:42px;height:42px;font-size:18px;background:#ffe9ef;color:#ff005c}.app-card.app-crm h2{font-size:21px;color:#1f1f1f}.app-card.app-crm .button.primary{font-size:inherit;padding:11px 16px}
.empty-app-card{background:transparent!important;border:1px dashed #d8d1c4!important;box-shadow:none!important}
.empty-app-card:last-child{background:linear-gradient(rgba(255,253,250,.55),rgba(255,253,250,.55)),url('/static/favicon.png') center/145px auto no-repeat!important;border-style:solid!important;opacity:.9}
.app-card.app-public{position:relative;overflow:hidden;background:#f2f3f5 url('/static/favicon.png') center/145px auto no-repeat!important;border-color:#cbd0d6!important}.app-card.app-public:after{content:'';position:absolute;inset:0;background:rgba(242,243,245,.72);pointer-events:none}.app-card.app-public>*{position:relative;z-index:1}.app-card.app-public .app-icon{background:#252a2d;color:#fff}
.app-card.app-public{position:relative;overflow:hidden;background:#f2f3f5 url('/static/favicon.png') center/145px auto no-repeat!important;border-color:#cbd0d6!important}.app-card.app-public:after{content:'';position:absolute;inset:0;background:rgba(242,243,245,.72);pointer-events:none}.app-card.app-public>*{position:relative;z-index:1}.app-card.app-public .app-icon{background:#252a2d;color:#fff}
.app-card.app-crm{background:linear-gradient(145deg,#ff005c,#b80043)!important;border-color:#ff005c!important;color:#fff;box-shadow:0 10px 28px rgba(184,0,67,.22)}.app-card.app-crm h2,.app-card.app-crm .muted{color:#fff}.app-card.app-crm .eyebrow{color:#ffd1df}.app-card.app-crm .app-icon{background:#fff;color:#b80043}.app-card.app-crm .status{background:#fff;color:#b80043}.app-card.app-crm .button.primary{background:#fff;color:#b80043}
/* Annulation de l’inversion des couleurs CRM */
.app-card.app-crm{background:#fffdfb!important;border-color:#d8d1c4!important;color:#1f1f1f;box-shadow:0 10px 28px #1f1f1f0f}.app-card.app-crm h2,.app-card.app-crm .muted{color:#1f1f1f}.app-card.app-crm .eyebrow{color:#ff005c}.app-card.app-crm .app-icon{background:#ffe9ef;color:#ff005c}.app-card.app-crm .status{background:#e7f7ee;color:#187344}.app-card.app-crm .button.primary{background:#1f1f1f;color:#fff}
/* Grille fixe : quatre box par ligne sur ordinateur */
.app-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}.app-grid .app-card{min-width:0}@media(max-width:900px){.app-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media(max-width:600px){.app-grid{grid-template-columns:1fr!important}}
/* Priorité utilisateur : toujours quatre emplacements par ligne */
.app-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.profile-heading{display:flex;align-items:center;gap:14px;margin-bottom:16px}.profile-heading h2{margin:0}.profile-photo{width:76px;height:76px;border-radius:50%;object-fit:cover;border:3px solid #ff005c;background:#ffe8ef}.profile-placeholder{display:grid;place-items:center;color:#a6134f;font-size:28px;font-weight:800}.profile-panel form{max-width:520px}.profile-panel input[type=file]{padding:8px}

/* Palette TEMPILO par application : chaque box reste cohérente et identifiable. */
.app-card.app-data .app-icon{background:#e7f0ff;color:#2456a6}.app-card.app-data{border-color:#b9cdf2}
.app-card.app-rs .app-icon{background:#ffe8f0;color:#c2185b}.app-card.app-rs{border-color:#f2b8cc}
.app-card.app-ai .app-icon{background:#eee8ff;color:#6841b5}.app-card.app-ai{border-color:#cfc0f2}
.app-card.app-agenda .app-icon{background:#e5f5eb;color:#267044}.app-card.app-agenda{border-color:#b9dec5}
.app-card.app-scripts .app-icon{background:#fff1d9;color:#96641c}.app-card.app-scripts{border-color:#ead1a0}
.app-card.app-formation .app-icon{background:#e4f5f6;color:#176b73}.app-card.app-formation{border-color:#acd9dc}
.app-card.app-phone .app-icon{background:#e9edf0;color:#394b57}.app-card.app-phone{border-color:#c5d0d7}
.app-card.app-mattermost{background:linear-gradient(145deg,#F5C518,#E0AE0A)!important;border-color:#c99e0a!important}.app-card.app-mattermost h2,.app-card.app-mattermost .muted,.app-card.app-mattermost .eyebrow{color:#292929}.app-card.app-mattermost .app-icon{background:#292929;color:#F5C518}.app-card.app-mattermost .button.primary{background:#292929;color:#F5C518}
.app-card.app-contacts .app-icon{background:#f3ebdf;color:#795a31}.app-card.app-contacts{border-color:#ddc9aa}
.app-card.app-public{background-size:220px auto!important}
/* Demande 31 : box CRM différenciée et visuel Internet affiché à pleine largeur. */
.app-card.app-crm{background:linear-gradient(145deg,#eef4f8,#dce8ef)!important;border-color:#4a6478!important;box-shadow:0 10px 28px rgba(74,100,120,.18)}
.app-card.app-crm h2,.app-card.app-crm .muted{color:#1f1f1f}
.app-card.app-crm .app-icon{background:#4a6478;color:#fff}
.app-card.app-public{background-size:100% auto!important}
/* Demande 33 : planning plus lisible et visuellement hiérarchisé. */
.team-hours{border-top:4px solid #ff005c!important}
.agenda-intro h2{font-size:1.55rem;letter-spacing:-.025em}
.school-agenda{border-width:2px}
.agenda-legend{display:flex;gap:18px;flex-wrap:wrap;font-size:.8rem;font-weight:700}
/* Fond du portail : minéral TEMPILO. */
body:not(.auth){background-color:#EFEEE9}

/* Refonte visuelle du bloc Planning de la semaine */
.team-hours{grid-template-columns:minmax(250px,.78fr) minmax(0,2.22fr);gap:28px;padding:28px;background:linear-gradient(135deg,#fffdf9 0%,#f6edf1 100%)!important;border:1px solid #e6d8dc!important;border-top:4px solid #ff005c!important}
.agenda-intro{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;min-height:250px;padding:10px 6px 10px 2px}
.agenda-intro .eyebrow{margin:0 0 14px;padding:7px 11px;border-radius:999px;background:#ff005c;color:#fff;font-size:.68rem;letter-spacing:.14em}
.agenda-team{display:grid;grid-template-columns:46px 46px;grid-template-rows:auto auto;gap:0 8px;margin:0 0 16px;align-items:center}
.agenda-team .avatar{width:46px;height:46px;font-size:1rem;border:3px solid #fff;box-shadow:0 5px 14px rgba(31,31,31,.18)}
.agenda-team h2{grid-column:1/-1;margin:13px 0 0;color:#252a2d;font-size:1.5rem;line-height:1.08;letter-spacing:-.03em}
.jw-link{width:100%;box-sizing:border-box;margin-top:2px;padding:14px 16px;border-radius:12px;background:#252a2d;box-shadow:inset 4px 0 #ff005c,0 8px 18px rgba(31,31,31,.12)}
.jw-link-title{font-size:.92rem}.school-agenda{align-self:center}
@media(max-width:900px){.team-hours{grid-template-columns:1fr;gap:18px}.agenda-intro{min-height:0}.jw-link{max-width:420px}.school-agenda{align-self:stretch}}

/* Avatars liés aux utilisateurs actifs de l’Intranet */
.avatar-link{display:block;text-decoration:none}.avatar-photo{object-fit:cover}.avatar-generated{background:linear-gradient(145deg,#ff005c,#4a6478)}.avatar-link:focus-visible{outline:3px solid #ff005c;outline-offset:3px;border-radius:50%}

.topbar .header-access-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:190px;min-height:48px;box-sizing:border-box;padding:12px 10px;border:3px solid #fff;border-radius:999px;color:#fff!important;font-weight:700;font-size:15px;text-align:center;line-height:1.1;white-space:nowrap;box-shadow:0 4px 12px #0005}.topbar .header-crm{background:#c9004c}.topbar .header-intranet{background:#354b5b}.topbar .header-access-button:hover{transform:translateY(-1px)}
@media(max-width:900px){.topbar .header-access-button{min-width:155px;font-size:13px}.topbar nav{gap:8px}}

/* Comptes du planning empilés verticalement */
  .agenda-team{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:16px}.agenda-team .avatar-link{margin:0}.agenda-team h2{margin:8px 0 0}.agenda-team .avatar{width:46px;height:46px}

.agenda-team h2{display:flex;flex-direction:column;gap:3px}.agenda-name{display:block}
.agenda-intro .eyebrow{background:linear-gradient(135deg,#ff005c 0%,#d4144f 58%,#238b57 100%);box-shadow:0 5px 14px rgba(255,0,92,.22);font-size:.72rem;letter-spacing:.16em}.agenda-intro h2{font-size:1.72rem;text-transform:uppercase;letter-spacing:.02em;color:#173f35}.agenda-intro h2:after{content:'🇲🇬';display:inline-block;margin-left:8px;font-size:1.25rem}.agenda-intro:after{color:#238b57;border-color:#d5a83d;background:#fff9df}

/* Couleurs officielles des sites appliquées aux cartes du portail */
.app-card.app-data{background:linear-gradient(145deg,#f7fbff,#e7f0ff)!important;border-color:#b9cdf2!important}.app-card.app-rs{background:linear-gradient(145deg,#f7fbfd,#e5eef3)!important;border-color:#b8ccd5!important}.app-card.app-crm{background:linear-gradient(145deg,#fff4f8,#ffe1ec)!important;border-color:#ff9fbd!important}.app-card.app-phone{background:linear-gradient(145deg,#f6f8fa,#e8edf1)!important;border-color:#bac7d0!important}.app-card.app-ai{background:linear-gradient(145deg,#faf7ff,#eee8fb)!important;border-color:#cfc2e6!important}

/* Fonds de cartes plus soutenus, alignés sur les palettes de chaque site */
.app-card.app-data{background:linear-gradient(145deg,#dce9fb,#bfd4f0)!important;border-color:#8eadd8!important}.app-card.app-rs{background:linear-gradient(145deg,#d6e5eb,#b7cdd7)!important;border-color:#86a7b5!important}.app-card.app-crm{background:linear-gradient(145deg,#ffd5e2,#f2afc5)!important;border-color:#e4779c!important}.app-card.app-ai{background:linear-gradient(145deg,#e5dcf5,#cbbbe5)!important;border-color:#a893c4!important}.app-card.app-phone{background:linear-gradient(145deg,#e1e4e6,#c5cdd2)!important;border-color:#8d9ba3!important}.app-card.app-phone .app-icon{background:#252525!important;color:#f58220!important}.app-card.app-phone .eyebrow{color:#9b4e08}.app-card.app-phone .button.primary{background:#252525;color:#fff}.app-card.app-agenda,.app-card.app-contacts{background:linear-gradient(145deg,#ece8df,#d9d1c3)!important;border-color:#afa28f!important}

/* Tableau des versions : rendu aligné sur DATA */
.page-head{margin-bottom:28px}.page-head h1{font-size:clamp(1.8rem,3vw,2.6rem);margin:.2rem 0;line-height:1.1}.page-head p{color:#667085}.data-table{width:100%;border-collapse:collapse;margin-top:18px;font-size:.88rem}.data-table th,.data-table td{text-align:left;padding:12px 14px;border-bottom:1px solid #d9dfe5;vertical-align:top}.data-table th{color:#52606d;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;background:#edf2f5}.data-table td span{display:block;color:#637381;font-size:.82rem;font-weight:700;margin-top:5px}.versions-table ul{margin:8px 0 0;padding-left:1.1rem;color:#52606d}.versions-table li{margin:0 0 5px}.versions-table tr:target{background:#e5eef3}.data-table tbody tr:hover td{background:#f3f7f9}.versions-table td:first-child{width:130px}.versions-table td:nth-child(2){width:150px;white-space:nowrap}.updates-panel{padding:10px 22px;border-top:4px solid #4a6478;box-shadow:0 14px 30px rgba(38,59,71,.12)}

/* Box agenda bleu Google */
.school-agenda{background:#e8f0fe!important;border-color:#8ab4f8!important;box-shadow:0 8px 20px rgba(66,133,244,.18)}.school-agenda .agenda-corner,.school-agenda .agenda-day{background:#4285f4!important;border-color:#2f6fd6!important;color:#fff}.school-agenda .agenda-time{background:#d2e3fc!important;color:#174ea6}.school-agenda .agenda-free,.school-agenda .agenda-empty{background:#f1f6fe!important}.school-agenda .agenda-work{background:#c6e0fc!important;color:#174ea6}.school-agenda .agenda-break{background:#d9e8fc!important;color:#174ea6}

/* Identité FreePBX : vert du logo Sangoma */
.app-card.app-phone{background:linear-gradient(145deg,#d9f3d1,#9edc8d)!important;border-color:#58ad48!important;box-shadow:0 10px 28px rgba(76,175,80,.24)}.app-card.app-phone .app-icon{background:#fff!important;color:#42a942!important}.app-card.app-phone .eyebrow{color:#267a2d}.app-card.app-phone .button.primary{background:#318c3a;color:#fff}.app-card.app-phone .status{background:#effbea;color:#267a2d}
.app-card.app-phone{background:linear-gradient(135deg,#e8f5e5 0%,#b9dfae 72%,#8ccf9a 100%)!important;border-color:#238b57!important;box-shadow:0 10px 28px rgba(35,139,87,.24)}.app-card.app-phone .app-icon{color:#238b57!important}.app-card.app-phone .eyebrow{color:#17633d}.app-card.app-phone .button.primary{background:#238b57!important}.app-card.app-phone .status{color:#17633d;background:#f4fbef}

/* Correction : bleu Google réservé à la carte Agenda */
.app-card.app-agenda{background:linear-gradient(145deg,#d2e3fc,#9fc5f8)!important;border-color:#669df6!important;box-shadow:0 10px 28px rgba(66,133,244,.22)}.app-card.app-agenda .app-icon{background:#4285f4!important;color:#fff!important}.app-card.app-agenda .eyebrow{color:#174ea6}.app-card.app-agenda .button.primary{background:#1a73e8;color:#fff}.app-card.app-agenda .status{background:#e8f0fe;color:#174ea6}
.school-agenda{background:#fffdfb!important;border-color:#cfc5b7!important;box-shadow:0 8px 20px rgba(31,31,31,.08)!important}.school-agenda .agenda-corner,.school-agenda .agenda-day{background:linear-gradient(145deg,#2d3438,#1f2427)!important;border-color:#454c4f!important}.school-agenda .agenda-time{background:#f3eee6!important;color:#6b6258}.school-agenda .agenda-work{background:#e5f2e9!important;color:#245c3b}.school-agenda .agenda-break{background:#fff2d5!important;color:#8a6429}.school-agenda .agenda-free,.school-agenda .agenda-empty{background:#fbfaf8!important;color:#aaa}

/* Boutons assortis à la couleur de chaque box */
.app-card.app-data .button.primary{background:#2456a6;color:#fff}.app-card.app-data .button.primary:hover{background:#174a92}.app-card.app-rs .button.primary{background:#c2185b;color:#fff}.app-card.app-rs .button.primary:hover{background:#9f1249}.app-card.app-crm .button.primary{background:#d81b60;color:#fff}.app-card.app-crm .button.primary:hover{background:#ad124c}.app-card.app-agenda .button.primary{background:#1a73e8;color:#fff}.app-card.app-agenda .button.primary:hover{background:#155fc0}.app-card.app-phone .button.primary{background:#318c3a;color:#fff}.app-card.app-phone .button.primary:hover{background:#26712e}.app-card.app-ai .button.primary{background:#6841b5;color:#fff}.app-card.app-ai .button.primary:hover{background:#51318e}.app-card.app-contacts .button.primary{background:#6b6258;color:#fff}.app-card.app-contacts .button.primary:hover{background:#4e4841}

/* Survol rose TEMPILO pour tous les boutons des box */
.app-card .button.primary:hover{background:#ff005c!important;color:#fff!important;border-color:#ff005c;box-shadow:0 8px 18px rgba(255,0,92,.28)}

.school-agenda{grid-template-columns:100px repeat(5,minmax(90px,1fr))!important}

/* Alignement strict : chaque horaire reste en première colonne */
.school-agenda .agenda-time{grid-column:1!important}.school-agenda{grid-template-columns:100px repeat(5,minmax(90px,1fr))!important;grid-auto-flow:row!important}

/* Agenda FullCalendar français */
.team-calendar{background:#e8f0fe;border:1px solid #8ab4f8;border-radius:14px;padding:12px;overflow:hidden}.team-calendar .fc{font-size:.78rem}.team-calendar .fc-toolbar-title{font-size:1.05rem;color:#174ea6}.team-calendar .fc-button-primary{background:#4285f4;border-color:#4285f4}.team-calendar .fc-button-primary:hover{background:#1a73e8;border-color:#1a73e8}.team-calendar .fc-col-header-cell{background:#4285f4;color:#fff}.team-calendar .fc-timegrid-slot-label{color:#174ea6;font-weight:700}.team-calendar .fc-work{background:#5b9cf6;border-color:#4285f4;color:#fff}.team-calendar .fc-break{background:#ffb4c8;border-color:#ff7096;color:#8a1642}.team-calendar .fc-holiday{background:#ffd6e0!important}
.team-calendar{min-height:360px}
.agenda-calendar{color:#174ea6}.agenda-calendar-title{font-size:1.05rem;font-weight:800;margin:2px 0 12px}.agenda-grid{display:grid;grid-template-columns:64px repeat(5,minmax(90px,1fr));border-top:1px solid #b8cdf4;border-left:1px solid #b8cdf4}.agenda-corner,.agenda-day,.agenda-time,.agenda-cell{min-height:22px;border-right:1px solid #b8cdf4;border-bottom:1px solid #b8cdf4}.agenda-corner,.agenda-day{padding:8px 5px;background:#4285f4;color:#fff;font-weight:800;text-align:center}.agenda-time{padding:3px 4px;background:#f5f8ff;font-size:.7rem;text-align:right;font-weight:700}.agenda-cell{padding:3px 5px;font-size:.68rem}.agenda-work{background:#5b9cf6;color:#fff;font-weight:700}.agenda-break{background:#ffb4c8;color:#8a1642;font-weight:700}.agenda-note{font-size:.75rem;margin-top:10px;color:#526b96}@media(max-width:700px){.agenda-grid{grid-template-columns:52px repeat(5,minmax(72px,1fr));overflow-x:auto}.agenda-day{font-size:.7rem}.agenda-cell{font-size:.58rem}}
.agenda-day.agenda-today{background:#238b57!important;color:#fff}.agenda-cell.agenda-today{box-shadow:inset 2px 0 #238b57,inset -2px 0 #238b57;background:#e3e3e3;color:#777}.agenda-cell.agenda-today.agenda-work{background:#55ad79;color:#fff}.agenda-cell.agenda-today.agenda-break{background:#f2c94c;color:#5d4810}
.agenda-calendar{color:var(--ink)}.agenda-grid{border-color:#d8d1c4}.agenda-corner,.agenda-day{background:var(--ink);border-color:var(--ink)}.agenda-time{background:#f1f0ec;color:var(--ink);border-color:#d8d1c4}.agenda-cell{border-color:#d8d1c4}.agenda-work{background:#4a6478;border-color:#4a6478}.agenda-break{background:#ffd6e2;color:#9c1648;border-color:#ff9fbd}.agenda-note{color:#667085}
.agenda-day.agenda-past{background:#9b9b9b;color:#f5f5f5}
.agenda-cell.agenda-past{background:#d1d1d1!important;color:#888;border-color:#b8b8b8}
.agenda-cell.agenda-past{background:rgba(120,120,120,.24)!important;color:#5f6368;border-color:rgba(90,90,90,.24)}
.agenda-calendar-toolbar{display:flex;justify-content:space-between;gap:8px;margin-bottom:10px}.agenda-nav-button{background:var(--ink);color:#fff;text-decoration:none;border-radius:7px;padding:7px 10px;font-size:.72rem;font-weight:700}.agenda-nav-button:hover{background:var(--raspberry)}
.scripts-coming{background:var(--ink);color:var(--paper);border:0}.scripts-coming .eyebrow{color:var(--raspberry)}.scripts-coming .muted{color:#d8d1c4}.script-flow{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:22px}.script-flow span{background:var(--raspberry);color:#fff;border-radius:8px;padding:12px 14px;font-weight:800;font-size:.8rem}.script-flow b{color:var(--raspberry);font-size:1.3rem}.script-filters{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.script-filters select{background:#f1f0ec;color:#777}@media(max-width:700px){.script-filters{grid-template-columns:1fr}}
.social-panel{background:var(--ink);color:var(--paper);border:0}.social-panel .eyebrow{color:var(--raspberry)}.social-panel .section-heading h2{color:var(--paper)}.social-panel .text-link{color:var(--paper)}.social-links{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}.social-links a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-width:0;padding:14px 8px;border:1px solid #ffffff24;border-radius:12px;color:var(--paper);text-decoration:none;font-weight:700;background:#ffffff0a}.social-links a:hover{background:#ffffff0a;border-color:#ffffff24;transform:none}.social-links img{width:34px;height:34px;object-fit:contain;background:#fff;border-radius:9px;padding:5px;transition:transform .2s ease,box-shadow .2s ease}.social-links a:hover img{transform:scale(1.12);box-shadow:0 0 0 3px var(--raspberry)}.social-links span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}@media(max-width:900px){.social-links{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:700px){.social-links{grid-template-columns:repeat(3,minmax(0,1fr))}}
.social-panel:hover,.social-panel:focus-within{background:var(--ink)!important;transform:none!important;box-shadow:0 10px 28px #1f1f1f0f!important;border-color:transparent!important}
.scripts-tree{display:grid;gap:8px}.scripts-tree-item{display:flex;gap:16px;align-items:baseline;padding:11px 13px;background:#f1f0ec;border-radius:9px}.scripts-tree-item strong{min-width:170px;color:var(--ink)}.scripts-tree-item span{color:var(--muted);font-size:.85rem}
.module-placeholder{background:var(--ink);color:var(--paper);border:0}.module-placeholder .eyebrow{color:var(--raspberry)}.module-placeholder .muted{color:#d8d1c4}.module-empty{margin-top:24px;padding:40px 20px;border:1px dashed #ffffff55;border-radius:12px;text-align:center;color:#d8d1c4}
.scripts-results h2{margin:0}.script-results-list{display:grid;gap:12px}.script-result{padding:15px;border:1px solid #d8d1c4;border-radius:10px;background:#fff}.script-result h3{margin:0 0 6px;font-size:1rem}.script-meta{margin:0 0 10px;color:var(--muted);font-size:.8rem}.script-result details summary{cursor:pointer;color:var(--raspberry);font-weight:700}.script-result pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;line-height:1.5;background:#f7f6f2;padding:12px;border-radius:7px;max-height:420px;overflow:auto}.script-result small{color:var(--muted)}
.script-search{margin-bottom:18px}.script-search label{display:flex;align-items:end;gap:10px;margin:0}.script-search input{flex:1}.script-search button{white-space:nowrap}@media(max-width:600px){.script-search label{display:block}.script-search button{margin-top:8px;width:100%}}
.script-copy{margin:8px 0;background:var(--ink);color:#fff;font-size:.75rem;padding:6px 10px}.script-copy:hover{background:var(--raspberry)}
.script-result{position:relative}.script-favorite{position:absolute;top:10px;right:10px}.script-favorite button{border:0;background:transparent;color:var(--raspberry);font-size:1.4rem;cursor:pointer}.script-favorite button:hover{transform:scale(1.15)}
.module-items{display:grid;gap:10px;margin-top:22px}.module-item{display:flex;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid #ffffff33;border-radius:10px;color:var(--paper);text-decoration:none}.module-item span{margin-left:auto;color:#d8d1c4}.module-item:hover{background:var(--raspberry)}
.source-link{margin-left:10px;color:var(--raspberry);font-weight:700;text-decoration:none}.source-link:hover{text-decoration:underline}
/* Les fiches sont consultées directement dans l’Intranet ; aucun lien source n’est affiché. */
.team-hours{row-gap:7px}.team-calendar .fc,.team-calendar .fc *{font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}.agenda-legend{margin-top:0;margin-bottom:0}.hours-note{margin-top:-3px}
.script-number{color:var(--raspberry);font-size:.72rem;font-weight:800;letter-spacing:.04em;white-space:nowrap}
.version-link{color:var(--ink);font-weight:800;text-decoration:none}.version-link:hover{color:var(--raspberry);text-decoration:underline}
.current-version-badge{display:inline-block;background:var(--ink);color:var(--paper);border-left:6px solid var(--raspberry);border-radius:9px;padding:12px 16px;margin-bottom:16px;font-size:.95rem;letter-spacing:.04em}.current-version-badge strong{color:var(--raspberry);font-size:1.2rem}
.header-version{display:inline-block;background:var(--raspberry);color:#fff;border-radius:6px;padding:5px 8px;font-size:.68rem;font-weight:800;white-space:nowrap}
.scripts-version{display:inline-block;margin-left:10px;background:var(--raspberry);color:#fff;border-radius:5px;padding:4px 7px;font-size:.62rem;vertical-align:middle;letter-spacing:.03em}
.scripts-version{text-decoration:none}.scripts-version:hover{background:var(--ink);color:#fff}
.global-search-form{display:flex;gap:10px;margin:24px 0}.global-search-form input{flex:1}.global-result{display:flex;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}.global-result span{margin-left:auto;color:var(--muted);font-size:.82rem}.global-result:hover strong{color:var(--raspberry)}
.panel,.app-card{position:relative}
.context-help{position:absolute;top:10px;right:10px;width:24px;height:24px;border:1px solid currentColor;border-radius:50%;background:#fff;color:#a6134f;font-weight:800;cursor:pointer;line-height:1}
.context-help:hover,.context-help:focus-visible{background:#a6134f;color:#fff}
.context-help-text{margin:10px 0 0;padding:9px 34px 9px 10px;border-left:3px solid #a6134f;background:#fff5f8;color:#4b5563;font-size:.84rem}
.app-card:hover,.panel:hover,.module-item:hover{transform:none!important;box-shadow:inherit!important;background:inherit!important;color:inherit!important}
.module-item{display:grid;grid-template-columns:1fr;justify-content:initial}.module-item .guide-text{margin:0;color:#d8d1c4;line-height:1.55}.module-item>a{color:var(--raspberry);font-weight:750;text-decoration:none}.module-item>a:hover{text-decoration:underline}
.phone-directory-panel{margin-top:18px}.phone-table-wrap{overflow-x:auto}.phone-directory{width:100%;border-collapse:collapse;background:#fff}.phone-directory th,.phone-directory td{padding:12px 14px;border-bottom:1px solid #e5e7eb;text-align:left}.phone-directory th{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;background:#202124;color:#fff}.phone-directory td a{color:#a6134f;font-weight:750;text-decoration:none}.phone-badge{display:inline-block;padding:4px 9px;border-radius:999px;font-size:.72rem;font-weight:800}.phone-badge.sip{background:#e0e7ff;color:#3730a3}.phone-badge.mobile{background:#dcfce7;color:#166534}
.phone-directory tbody tr.phone-row-fabien td{background:#e7eef8!important}.phone-directory tbody tr:hover td{background:inherit!important}.phone-avatar{display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;border-radius:50%;margin-right:6px;background:#fff;border:2px solid currentColor;font-weight:850;vertical-align:middle}.phone-row-fabien .phone-avatar{color:#315b89}
/* Seule la box Téléphonie n’a pas d’effet visuel au survol. */
.phone-directory-panel:hover,.phone-directory-panel:focus-within{transform:none!important;box-shadow:inherit!important;background:inherit!important}
.phone-directory-panel *:hover{transform:none!important;box-shadow:none!important;background-image:none!important}
.header-phone{display:inline-flex!important;flex-direction:column;align-items:flex-start;gap:1px;line-height:1.05}.header-phone span{font-size:.68rem;font-weight:800}.header-phone small{font-size:.64rem;font-weight:500}
.header-phone{gap:4px!important}.header-phone span{font-size:.8rem!important;font-weight:500!important;line-height:1.1}.header-phone small{font-size:.75rem!important;font-weight:400!important;line-height:1.1}
.header-phone-fabien{padding:6px 10px;border-radius:10px}
.header-phone-fabien{background:#e3f4ea}
.topbar nav a[href^="mailto:"],.data-header-contact a[href^="mailto:"]{font-size:.8rem!important;font-weight:400!important;line-height:1.1}
.phone-directory th,.phone-directory td{vertical-align:middle}.phone-directory td:nth-child(3){font-weight:750;color:#315b89}

.scripts-brand-card{display:flex;align-items:center;gap:14px;padding:18px 20px;background:#fff;border:1px solid #d8d1c4;border-radius:12px;text-decoration:none;color:var(--ink);transition:transform .15s,box-shadow .15s}.scripts-brand-card:hover{transform:translateY(-2px);box-shadow:0 7px 18px #1f1f1f18}.scripts-brand-card strong{font-size:1.05rem;min-width:190px}.scripts-brand-card span{color:var(--muted);font-size:.85rem;flex:1}.scripts-brand-card b{color:var(--raspberry);font-size:.82rem}@media(max-width:700px){.scripts-brand-card{display:grid;gap:7px}.scripts-brand-card strong{min-width:0}}
.social-panel .section-heading>div{display:flex;align-items:baseline;gap:10px;flex-wrap:nowrap}.social-panel .section-heading>div .eyebrow{margin:0;white-space:nowrap}.social-panel .section-heading>div h2{margin:0;white-space:nowrap}@media(max-width:600px){.social-panel .section-heading>div{gap:7px}.social-panel .section-heading>div h2{font-size:1rem}}
.bottom-panels-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:22px;align-items:stretch}.bottom-panels-grid>.panel{margin:22px 0}.bottom-panels-grid .service-panel{margin-top:22px}.bottom-panels-grid .social-links{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:900px){.bottom-panels-grid{grid-template-columns:1fr}} 
.admin-page>.panel{margin:18px 0 24px;overflow:hidden}.admin-hero{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:30px;padding:28px 30px;background:linear-gradient(135deg,#252a2d,#3b4548);border-radius:20px;color:#fff;box-shadow:0 12px 28px #1f1f1f18}.admin-hero .eyebrow{margin-bottom:10px;color:#ff6b9b}.admin-hero h1{margin:0;font-size:clamp(2rem,4vw,3rem);letter-spacing:-.04em}.admin-subtitle{margin:10px 0 0;color:#e8e1d7;max-width:620px;line-height:1.55}.admin-hero .button{background:#ff005c;color:#fff;white-space:nowrap}.admin-page .panel>h2{display:flex;align-items:center;gap:10px;margin:0 -24px 20px;padding:0 24px 18px;border-bottom:1px solid #e6d8dc;color:#252a2d}.admin-page .panel>h2:before{content:'';width:8px;height:8px;border-radius:50%;background:#ff005c;flex:0 0 auto}.admin-page table{min-width:680px}.admin-page .table-wrap{overflow-x:auto}.admin-page .user-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.admin-page .user-form input,.admin-page .user-form select{margin:0}.admin-page .user-form button{grid-column:1/-1;justify-self:start}.admin-page .status{font-size:.68rem}@media(max-width:700px){.admin-hero{display:block;padding:22px}.admin-hero .button{margin-top:18px}.admin-page .user-form{grid-template-columns:1fr}.admin-page .user-form button{grid-column:auto}.admin-page>.panel{padding:20px}.admin-page .panel>h2{margin-left:-20px;margin-right:-20px;padding-left:20px;padding-right:20px}}
.admin-page .user-name-form{display:grid;grid-template-columns:minmax(110px,1fr) minmax(110px,1fr) auto;gap:7px;align-items:center}.admin-page .user-name-form input{min-width:0;padding:8px 9px}.admin-page .user-name-form .button{white-space:nowrap}@media(max-width:900px){.admin-page .user-name-form{grid-template-columns:1fr 1fr}.admin-page .user-name-form .button{grid-column:1/-1;justify-self:start}}

/* L’en-tête contient beaucoup de raccourcis : il doit s’agrandir quand la
   recherche passe à la ligne, sinon elle recouvre le titre de la page. */
.topbar{height:auto;min-height:76px;flex-wrap:wrap;align-content:center;gap:10px clamp(24px,4vw,72px);padding-top:10px;padding-bottom:10px}
.topbar-gauche{flex:0 1 auto;min-width:280px;flex-wrap:wrap}
.topbar nav{flex:0 1 auto;flex-wrap:wrap;justify-content:flex-end}
.header-search{flex:0 1 70%;width:70%;min-width:0;display:flex;gap:8px;position:relative;z-index:2;margin-left:auto}
.header-search input{min-width:0;flex:1 1 auto}
@media(max-width:650px){.topbar-gauche{min-width:0}.topbar nav{width:100%;justify-content:flex-start}.header-search{flex-basis:100%;width:100%;margin-left:0}}

/* Le titre du tableau de bord commence toujours sous la barre de recherche du bandeau. */
.dashboard-page{padding-top:102px}
.dashboard-page>.hero{margin-top:8px}

/* La box des priorités devient la zone principale, avec deux colonnes lisibles. */
.dashboard-page .quick-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,1fr);align-items:stretch}
.dashboard-page .focus-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px;align-content:center}
.dashboard-page .focus-panel>.eyebrow,.dashboard-page .focus-panel>h2,.dashboard-page .focus-panel>.focus-counters{grid-column:1/-1}
.dashboard-page .focus-panel>h2{margin:0}
@media(max-width:1000px){.dashboard-page .quick-grid{grid-template-columns:1fr}.dashboard-page .focus-panel{display:block}.dashboard-page .focus-panel>*{margin-bottom:12px}}

.topbar .brand{display:flex;flex-direction:column;align-items:center;gap:2px;line-height:1}
.topbar .brand img{width:86px;height:auto}
.topbar .brand-intranet-label{font-size:9px;letter-spacing:.18em;font-weight:850;color:var(--raspberry)}

/* La box « À faire aujourd’hui » reste en une seule colonne. */
.dashboard-page .focus-panel{display:block}
.dashboard-page .focus-panel>.eyebrow,.dashboard-page .focus-panel>h2,.dashboard-page .focus-panel>.focus-counters{grid-column:auto}
.dashboard-page .focus-panel>*{margin-bottom:0}
.dashboard-page .quick-grid{grid-template-columns:1fr 1.25fr 1fr}
.topbar{position:relative}
.dashboard-page{padding-top:42px}
.dashboard-page .focus-panel{height:100%;box-sizing:border-box}

/* Affichage scripts en une seule colonne */ .scripts-tree .scripts-brand-card{display:grid;grid-template-columns:1fr;gap:7px}.scripts-tree .scripts-brand-card strong{min-width:0}.scripts-tree .scripts-brand-card span,.scripts-tree .scripts-brand-card b{display:block}
