
*{box-sizing:border-box}body{margin:0;background:#f4f7fa;color:#182d3d;font:16px/1.5 'Segoe UI',sans-serif}button,input{font:inherit}button{cursor:pointer}header{background:white;border-bottom:1px solid #dce5eb;padding:26px max(24px,calc((100% - 1120px)/2));display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:16px}.mark{background:#087a65;color:white;font-size:38px;font-weight:700;width:64px;height:64px;border-radius:16px;display:grid;place-items:center}.pharmacy-logo{width:112px;height:112px;object-fit:contain;flex-shrink:0}.name{font-size:24px;font-weight:700;line-height:1.2}.sub{font-size:14px;color:#5f7180;margin-top:6px}.badge{background:#e7f4ef;color:#11674e;padding:8px 14px;border-radius:24px;font-size:14px}main{max-width:1168px;margin:auto;padding:40px 24px}h1{font-size:32px;line-height:1.2;margin:0 0 10px}h2{margin:0;font-size:25px}.intro{color:#586d7d;margin:0 0 30px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.tile{border:0;text-align:left;color:white;border-radius:20px;padding:28px;min-height:235px;display:flex;flex-direction:column;align-items:flex-start;box-shadow:0 8px 20px #182d3d0c;transition:transform .15s}.tile:hover{transform:translateY(-4px)}.tile:focus-visible,button:focus-visible{outline:3px solid #182d3d;outline-offset:4px}.tile .symbol{font-size:32px;margin-bottom:24px}.tile strong{font-size:24px}.tile span:last-child{margin-top:7px;opacity:.95;font-size:16px}.green{background:#087b65}.blue{background:#2566ad}.purple{background:#7150b7}.orange{background:#b65c20}.teal{background:#087b91}.pink{background:#a33368}.note{font-size:14px;color:#586d7d;margin-top:30px}.panel{background:white;border:1px solid #dce5eb;border-radius:20px;padding:28px;margin-top:24px}.top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.btn{border:1px solid #cbd8df;background:white;color:#203747;padding:10px 16px;border-radius:10px}.primary{background:#087b65;color:white;border-color:#087b65}.danger{color:#a32c32}.small{font-size:14px;padding:7px 10px}.empty{padding:35px 20px;background:#f4f7fa;border-radius:12px;color:#586d7d;text-align:center}.tablewrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}th,td{padding:15px 10px;border-bottom:1px solid #e4ebef}th{font-size:14px;color:#586d7d}td.actions{white-space:nowrap}.rights{font-size:14px}.hidden{display:none!important}dialog{border:0;border-radius:20px;padding:28px;width:min(540px,calc(100% - 32px));max-height:90vh;color:#182d3d}dialog::backdrop{background:#10293970}label.field{display:block;margin-top:18px;font-weight:600}input[type=text]{display:block;width:100%;padding:11px;margin-top:6px;border:1px solid #b9cbd5;border-radius:8px}fieldset{border:1px solid #dce5eb;border-radius:10px;margin:20px 0;padding:16px}fieldset label{display:block;margin:9px 0}input[type=checkbox]{width:18px;height:18px;vertical-align:middle;margin-right:8px;accent-color:#087b65}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}#feedback{color:#086b52;margin-top:16px}footer{max-width:1120px;margin:20px auto;padding:20px 24px;border-top:1px solid #dce5eb;font-size:14px;color:#586d7d}@media(max-width:850px){.grid{grid-template-columns:repeat(2,1fr)}header{padding:20px 24px}.name{font-size:21px}}@media(max-width:560px){.grid{grid-template-columns:1fr}.tile{min-height:195px}.tile .symbol{margin-bottom:14px}header{align-items:flex-start;flex-direction:column}main{padding-top:28px}.top{align-items:flex-start;flex-direction:column}.panel{padding:20px}h1{font-size:28px}}

/* Identité du portail */
:root{--ink:#142f37;--muted:#61717b;--brand:#006a60;--purple:#7130aa}
body{background:#f5f7fb;color:var(--ink);font-family:'Segoe UI',Arial,sans-serif;background-image:radial-gradient(ellipse at 100% 0%,#eae3fa 0,transparent 40%)}
header{padding:20px max(28px,calc((100% - 1200px)/2));background:#ffffffed;border-bottom:1px solid #e7eaf1;gap:24px}
.brand{gap:24px}.pharmacy-logo{width:136px;height:136px;object-fit:contain;background:white;border-radius:8px}.name{font-size:25px;letter-spacing:-.7px;color:#00554e}.sub{color:var(--muted)}
.badge{background:#f1ecf9;color:#643293;border:1px solid #e1d6f0;font-weight:600;padding:10px 16px}
main{max-width:1256px;padding:44px 28px}.welcome{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:44px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.8px;color:#64777c;margin:0 0 18px}h1{font-size:clamp(32px,4vw,48px);font-weight:700;letter-spacing:-1.8px;line-height:1.12;margin-bottom:18px}h1 em{font-style:normal;color:var(--brand)}.intro{font-size:17px;margin:0;color:var(--muted)}.workspace-label{color:#61717b;font-size:14px;border-left:2px solid #7130aa;padding:4px 0 4px 20px}.workspace-label strong{font-weight:600;color:#203e46}.section-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:16px}.section-label h2{font-size:22px;letter-spacing:-.5px}.section-label>span{font-size:14px;color:#6b7883}
.grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.tile{position:relative;background:white!important;border:1px solid #e4e8f0;color:var(--ink);border-radius:18px;min-height:214px;padding:24px;box-shadow:0 3px 12px #213a4e04;transition:transform .2s,box-shadow .2s,border-color .2s;overflow:hidden}.tile:before{content:'';position:absolute;top:0;left:24px;width:38px;height:3px;background:var(--accent);border-radius:0 0 3px 3px}.tile:hover{transform:translateY(-5px);border-color:var(--accent);box-shadow:0 14px 28px #213a4e12}.tile strong{font-size:20px;letter-spacing:-.4px;line-height:1.25}.tile span:last-child{color:#647581;font-size:14px;opacity:1;margin-top:9px;line-height:1.5}.tile .symbol{display:grid;place-items:center;width:48px;height:48px;background:var(--tint);color:var(--accent);border-radius:14px;margin-bottom:24px}.symbol svg{width:26px;height:26px}.tile{--accent:#087b65;--tint:#e6f5f0}.blue{--accent:#2566ad;--tint:#eaf1fc}.purple{--accent:#7150b7;--tint:#f0eafb}.orange{--accent:#a9521a;--tint:#fff1e6}.teal{--accent:#087b91;--tint:#e4f4f8}.pink{--accent:#a33368;--tint:#fbeaf2}.tile[data-universe="Actualités"]{--accent:#3654a0;--tint:#eaf0fd}.tile[data-universe="Formations"]{--accent:#576f22;--tint:#f0f5e5}.tile[data-universe="Contacts utiles"]{--accent:#805035;--tint:#f8eee7}.tile[data-universe="Ressources humaines"]{--accent:#4f5680;--tint:#eceef8}.note{background:#edf1f6;border:1px solid #e0e6ee;border-radius:12px;padding:14px 18px;margin-top:26px;color:#62727f;line-height:1.6}.panel{border:1px solid #e4e8f0;box-shadow:0 8px 30px #213a4e06;padding:32px}.btn{border-radius:12px;transition:background .15s,box-shadow .15s}.btn:hover{background:#f0f4f7}.btn.primary{background:#006a60;border-color:#006a60}.btn.primary:hover{background:#00544d}.empty{padding:48px 24px;background:#f5f7fb;border:1px dashed #d9e1e9}dialog{box-shadow:0 30px 100px #142f3733}input[type=text]:focus{outline:2px solid #087b65;outline-offset:2px}footer{max-width:1200px;color:#73808b;border-color:#e0e5ed}

@media(max-width:1050px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.workspace-label{display:none}.pharmacy-logo{width:116px;height:116px}}
@media(max-width:800px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}header{padding:20px 24px}.name{font-size:22px}.badge{font-size:12px;max-width:175px}.welcome{margin-bottom:32px}main{padding:32px 24px}}
@media(max-width:560px){header{flex-direction:column;gap:16px}.brand{gap:18px}.pharmacy-logo{width:104px;height:104px}.name{font-size:22px}.badge{max-width:none;font-size:12px}main{padding:28px 20px}.grid{gap:12px}.tile{padding:20px 16px;min-height:210px;border-radius:16px}.tile strong{font-size:18px}.tile .symbol{margin-bottom:18px}.tile span:last-child{font-size:14px}.section-label{align-items:flex-start;flex-direction:column;gap:4px}.eyebrow{font-size:12px;letter-spacing:1.1px}h1{letter-spacing:-1px}.panel{padding:22px}.welcome{gap:0}.note{padding:14px;font-size:13px}}
@media(max-width:360px){.grid{grid-template-columns:1fr}.tile{min-height:180px}}
@media(prefers-reduced-motion:reduce){.tile,.btn{transition:none}.tile:hover{transform:none}}

.login-card{max-width:460px;margin:40px auto;background:white;border:1px solid #e0e6ed;border-radius:20px;padding:30px}.login-card h1{font-size:28px;letter-spacing:-.7px}.login-card input,dialog input[type=email],dialog input[type=password],.calendar-select{display:block;width:100%;padding:12px;border:1px solid #b9cbd5;border-radius:10px;margin:6px 0 20px;font:inherit}.login-card .primary{width:100%}.account-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.error{color:#a02f36;font-size:14px}.calendar-tools{background:#f3f5fa;padding:20px;border-radius:14px;margin-bottom:24px}.calendar-tools button{margin:5px}.event{border:1px solid #e3e9ee;border-left:4px solid #087b65;border-radius:12px;padding:18px 20px;margin:14px 0}.event h3{margin:0 0 8px;font-size:19px}.event p{margin:5px 0;white-space:pre-wrap;overflow-wrap:anywhere}.event-time{color:#006a60;font-weight:600}.status-line{font-size:14px;color:#5f7180}.calendar-warning{color:#a02f36}.login-card label{font-weight:600}.field-note{font-size:14px;color:#61717b}.admin-hint{font-size:14px;color:#61717b}

.agenda-navigation{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:24px 0}.agenda-navigation input,.agenda-search input{font:inherit;padding:11px 14px;border:1px solid #b9cbd5;border-radius:10px;background:white;color:var(--ink);min-width:0}.agenda-search{background:#eef5f3;border-radius:14px;padding:20px;margin-bottom:24px}.agenda-search label{display:block;font-weight:600;margin-bottom:10px}.agenda-search input{display:block;width:100%;max-width:650px}.agenda-search input:focus,.agenda-navigation input:focus{outline:2px solid #087b65;outline-offset:2px}.agenda-day-title{font-size:23px;margin:20px 0 6px}.calendar-tools summary{cursor:pointer;font-weight:600}.calendar-tools[open] summary{margin-bottom:18px}@media(max-width:560px){.agenda-navigation .btn{flex:1 1 40%}.agenda-navigation input{width:100%}.agenda-search{padding:16px}.agenda-day-title{font-size:20px}}

.portal-name{font-family:'Segoe UI',Arial,sans-serif;font-weight:800;letter-spacing:-1px;color:#00554e;font-size:32px}.portal-name span{color:#7130aa}.tile-order-shortcut{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:26px}.tile-order-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #e4ebef}.tile-order-actions{display:flex;gap:8px}.btn:disabled{cursor:default;opacity:.4}.tile-order-row>span{overflow-wrap:anywhere}@media(max-width:560px){.portal-name{font-size:28px}.tile-order-shortcut{align-items:flex-start;flex-direction:column}}

.portal-brand{min-width:0;flex:1}.portal-logo{display:block;width:430px;max-width:100%;height:auto}.portal-brand .sub{margin-top:8px}@media(max-width:800px){.portal-logo{width:340px}}@media(max-width:560px){.portal-brand{width:100%}.portal-logo{width:330px}}

.music-intro h3{font-size:24px;margin:0 0 8px}.music-form{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:16px;padding:24px;border-radius:16px;background:#f1ecf9;margin-top:24px}.music-form label,.music-toolbar label{font-weight:600}.music-form input[type=text]{margin-bottom:0;background:white}.music-feedback{color:#006a60;overflow-wrap:anywhere}.music-toolbar{margin:30px 0 20px}.music-toolbar label{display:block;margin-bottom:8px}.music-toolbar input{font:inherit;width:100%;max-width:580px;padding:12px;border:1px solid #b9cbd5;border-radius:10px}.music-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.music-track{margin:0;min-width:0}.music-track a{display:inline-block;margin-top:12px;text-decoration:none}.music-form>div{min-width:0}.music-form input:focus,.music-toolbar input:focus{outline:2px solid #087b65;outline-offset:2px}@media(max-width:700px){.music-form{grid-template-columns:1fr;padding:18px}.music-list{grid-template-columns:1fr}}

/* Icône de la tuile conservée dans sa section */
#title{display:flex;align-items:center;gap:14px}#title>span:last-child{min-width:0;overflow-wrap:anywhere}.section-symbol{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:14px;color:var(--accent);background:var(--tint)}@media(max-width:560px){#title{gap:12px}.section-symbol{flex-basis:42px;width:42px;height:42px}}

/* Logo de la pharmacie à côté du slogan d’accueil */
.home-pharmacy-logo{display:block;width:220px;max-width:30%;height:auto;flex-shrink:0;border-radius:10px}.welcome>div:first-child{min-width:0}@media(max-width:800px){.home-pharmacy-logo{width:180px}}@media(max-width:560px){.welcome{align-items:flex-start;flex-direction:column;gap:22px}.home-pharmacy-logo{width:150px;max-width:100%;align-self:center}}

/* Sélection musicale compacte, un titre par ligne */
.music-list{display:block;border:1px solid #e3e9ee;border-radius:12px;overflow:hidden}.music-row{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;align-items:center;gap:16px;padding:10px 16px;background:white;border-bottom:1px solid #e3e9ee}.music-row:last-child{border-bottom:0}.music-row:nth-child(even){background:#f8fafb}.music-row-title{font-weight:600;overflow-wrap:anywhere}.music-row-artist{color:#006a60;overflow-wrap:anywhere}.music-row-actions{display:flex;align-items:center;gap:8px}.music-row-actions a{text-decoration:none;white-space:nowrap}.music-row-actions .btn{padding:5px 9px;font-size:13px}@media(max-width:600px){.music-row{grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;padding:10px 12px}.music-row-title{grid-column:1;grid-row:1}.music-row-artist{grid-column:1;grid-row:2;font-size:14px}.music-row-actions{grid-column:2;grid-row:1 / span 2;gap:5px}.music-row-actions .btn{padding:5px 7px}}

/* Choix des titres à exporter et date d’ajout */
.music-row{grid-template-columns:20px minmax(0,1.3fr) minmax(0,1fr) auto auto;gap:12px}.music-row input.music-row-check{margin:0;width:18px;height:18px}.music-row-date{font-size:13px;color:#61717b;white-space:nowrap}.music-selection-tools{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:12px}.music-selection-tools .field-note{flex:1 1 280px}@media(max-width:800px){.music-row{grid-template-columns:20px minmax(0,1fr) auto;gap:3px 10px}.music-row-check{grid-column:1;grid-row:1 / span 3}.music-row-title{grid-column:2;grid-row:1}.music-row-artist{grid-column:2;grid-row:2;font-size:14px}.music-row-date{grid-column:2;grid-row:3}.music-row-actions{grid-column:3;grid-row:1 / span 3}}@media(max-width:380px){.music-row-actions{flex-direction:column;align-items:stretch}}

/* Boutons de transfert : logos seuls, libellés accessibles et infobulles */
.agenda-navigation .music-platform-button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 64px;width:64px;height:52px;padding:10px;text-decoration:none;background:white}.music-platform-button svg{display:block;width:32px;height:32px}.youtube-button{color:#ff0000}

.youtube-panel{margin:20px 0;padding:22px;border:1px solid #e3e9ee;border-radius:14px;background:#f8fafb}.youtube-panel h3{margin-top:0}.youtube-panel>.btn{margin:6px 8px 6px 0}.youtube-matches{margin:20px 0}.youtube-match{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid #dce5eb}.youtube-match label{font-weight:600;overflow-wrap:anywhere}.youtube-match select{width:100%;min-width:0;padding:10px;font:inherit;border:1px solid #b9cbd5;border-radius:8px}.youtube-match>.status-line{grid-column:1 / -1}.youtube-panel a{display:inline-block;text-decoration:none}@media(max-width:700px){.youtube-panel{padding:16px}.youtube-match{grid-template-columns:minmax(0,1fr) auto}.youtube-match label{grid-column:1 / -1}.youtube-match select{grid-column:1}.youtube-match>.status-line{grid-column:1 / -1}}
/* Accueil personnalisé et nouveautés */
#welcome-name{overflow-wrap:anywhere}
.tile .tile-news{display:flex;align-items:center;gap:8px;width:100%;margin-top:auto;padding-top:16px;font-size:12px;opacity:1;color:var(--muted);border-top:1px solid #dde3ec}
.tile .tile-news.has-news{color:var(--brand);font-weight:700}
.tile .tile-news span{margin:0;font-size:inherit;opacity:1}
.news-dot{flex-shrink:0;color:var(--brand)}
.publications{margin-top:32px;border-top:1px solid #dce5eb;padding-top:24px}
.publications-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.publications-heading h3{margin:0;font-size:18px}
.publication-list{list-style:none;padding:0;margin:16px 0 0}
.publication{display:flex;align-items:baseline;gap:12px;padding:12px;border-bottom:1px solid #e4ebef;font-size:14px;border-radius:8px}
.publication.unread{background:#edf8f4}
.publication.unread>span:nth-child(2){font-weight:600}
.publication time{margin-left:auto;flex-shrink:0;font-size:12px;color:var(--muted)}
@media(max-width:560px){.publication{flex-wrap:wrap}.publication time{width:100%;margin-left:24px}}
/* Planning hebdomadaire */
.schedule-toolbar,.schedule-admin{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:16px 0}
.schedule-toolbar input,.schedule-admin input{width:auto;max-width:100%;padding:8px;border:1px solid #cbd8df;border-radius:8px}
.schedule-scope{display:flex;gap:6px;margin-left:auto}
.schedule-week-title{margin:24px 0 6px;font-size:22px}
.schedule-status{color:var(--brand);background:#eaf5f1;padding:12px 16px;border-radius:10px}
.schedule-admin{padding:14px;background:#f5f7fb;border:1px solid #e4ebef;border-radius:12px}
.schedule-admin label{font-size:14px}
.schedule-legend{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}
.schedule-kind{font-size:12px;border-radius:8px;padding:5px 10px}
.schedule .travail{background:#eaf4fc;color:#225b89}
.schedule .formation{background:#f0eafb;color:#7130aa}
.schedule .conge{background:#e8f5ed;color:#11674e}
.schedule .absence{background:#fff0e5;color:#925219}
.schedule .repos{background:#edf0f3;color:#5f7180}
.schedule-scroll{overflow-x:auto;border:1px solid #dce5eb;border-radius:12px}
.schedule-table{min-width:1000px;table-layout:fixed;font-size:13px}
.schedule-table th,.schedule-table td{padding:8px 5px;vertical-align:top;text-align:center}
.schedule-table thead th{background:#f4f7fa;font-size:12px}
.schedule-table th:first-child{position:sticky;left:0;background:white;text-align:left;width:155px;z-index:1;box-shadow:1px 0 #dce5eb;font-size:13px}
.schedule-table thead th:first-child{background:#f4f7fa}
.schedule-table th:last-child{width:80px}
.schedule-day{width:100%;min-height:84px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;border:1px solid transparent;border-radius:8px;padding:8px 4px;font:inherit}
button.schedule-day:hover{border-color:var(--brand);filter:brightness(.98)}
.schedule-day-kind{font-size:11px;font-weight:600}
.schedule-slot{font-size:12px;white-space:nowrap}
.empty-day{background:#f8fafb;color:#8b9aa5}
.schedule-total{font-weight:700;white-space:nowrap}
#schedule-dialog select{display:block;width:100%;margin-top:8px;padding:10px;border:1px solid #cbd8df;border-radius:8px;font:inherit}
.schedule-slot-editor>div{display:grid;grid-template-columns:auto 1fr auto 1fr;align-items:center;gap:8px}
.schedule-slot-editor p{grid-column:1/-1;margin:18px 0 4px;font-weight:600}
.schedule-slot-editor input{min-width:0;width:100%;padding:8px;border:1px solid #cbd8df;border-radius:8px;font:inherit}
@media(max-width:560px){.schedule-scope{margin-left:0;width:100%}.schedule-toolbar .btn{font-size:12px}.schedule-table th:first-child{width:120px}.schedule-slot-editor>div{grid-template-columns:auto 1fr}.schedule-admin .primary{width:100%}}
@media print{
 body{background:white;font-size:10px}header,footer,#back,.top,#feedback,#universe-publications,.schedule-toolbar,.schedule-admin,.schedule>.field-note,dialog,.schedule>p.field-note{display:none!important}
 main{max-width:none;padding:0}.panel{border:0;box-shadow:none;padding:0;margin:0}.schedule-scroll{overflow:visible;border:0}.schedule-table{min-width:0;width:100%;font-size:9px}.schedule-table th:first-child{position:static;width:100px}.schedule-table th,.schedule-table td{padding:3px}.schedule-slot{font-size:9px}.schedule-day-kind{font-size:9px}.schedule-day{min-height:50px;padding:3px;print-color-adjust:exact}.schedule-status{background:none;padding:0;font-size:10px}.schedule-week-title{font-size:16px}.schedule-legend{margin:8px 0}.schedule-kind{font-size:9px;print-color-adjust:exact}
}
/* PromoFlash dans les outils de calcul */
.promo-header{background:#17233c;color:white;border-radius:16px;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px;margin-bottom:20px}
.promo-header img{width:360px;max-width:65%;height:auto}.promo-header p{font-size:14px}
.promo-card{border:1px solid #e0e6ee;border-radius:14px;background:#fff;margin:18px 0;padding:22px}
.promo-card h3{display:flex;gap:12px;align-items:center;margin:0 0 8px;font-size:20px}
.promo-number{display:grid;place-items:center;flex-shrink:0;width:30px;height:30px;background:#7130aa;color:white;border-radius:9px;font-size:14px}
.promo-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin:18px 0}
.promo-field label,.promo-metric>span{display:block;color:var(--muted);font-size:12px;font-weight:600;margin-bottom:6px}
.promo-field input,.promo-field select,.promo-product-form input{width:100%;padding:10px;border:1px solid #b9cbd5;border-radius:8px;font:inherit;margin:0}
.promo-field input:disabled{background:#f1f4f7;color:#7d8993}
.promo-metric{padding:14px;background:#f5f7fb;border-radius:10px}.promo-metric output{font-size:21px;font-weight:700;display:block;overflow-wrap:anywhere}
.promo-product-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:18px}.promo-product-form input{width:220px;max-width:100%}
.promo-product-image{display:block;max-width:140px;max-height:180px;object-fit:contain;margin:18px 0}
.promo-toggle{display:flex;gap:8px;align-items:center;font-size:14px}.promo-toggle input{flex-shrink:0}
.promo-simulations{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.promo-gauge{height:24px;background:linear-gradient(to right,#20b486 0%,#20b486 50%,#f2a93b 50%,#f2a93b 75%,#e55353 75%,#e55353 100%);border-radius:8px;position:relative;margin:34px 12px 10px}
.promo-marker{position:absolute;top:-16px;transform:translateX(-50%);width:0;height:0;border-left:9px solid transparent;border-right:9px solid transparent;border-top:12px solid #17233c}
.promo-gauge-ticks{display:flex;justify-content:space-between;margin:0 8px;font-size:12px}.promo-verdict{font-size:22px;font-weight:700}
.promo-card[data-zone=green] .promo-verdict{color:#0a795b}.promo-card[data-zone=orange] .promo-verdict{color:#99600a}.promo-card[data-zone=red] .promo-verdict{color:#b62f36}
@media(max-width:700px){.promo-header{flex-direction:column;align-items:flex-start}.promo-header img{max-width:100%}.promo-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.promo-simulations{grid-template-columns:repeat(2,minmax(0,1fr))}.promo-card{padding:16px}.promo-metric output{font-size:18px}}
@media(max-width:380px){.promo-fields{grid-template-columns:1fr}.promo-product-form .btn{width:100%}}

.tile-visibility{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--muted);white-space:nowrap}.tile-visibility input{margin:0;width:17px;height:17px}.tile-order-actions{align-items:center;flex-shrink:0}#tile-order-list .tile-order-row>span{min-width:0;overflow-wrap:anywhere}@media(max-width:560px){.tile-order-row{flex-wrap:wrap}.tile-order-row>span{width:100%}.tile-order-actions{margin-left:auto}}

.promo-price-results{margin:18px 0;padding:16px;background:#f5f7fb;border-radius:12px}.promo-price-results:empty{display:none}.promo-offer-list{margin:14px 0}.promo-offer-row{display:flex;gap:12px;align-items:center;padding:12px;background:white;border:1px solid #dde5ec;border-radius:8px;margin:8px 0;font-size:13px}.promo-offer-row>span{flex:1;min-width:0}.promo-offer-row small{display:block;color:var(--muted);margin-top:4px}.promo-offer-row>strong{white-space:nowrap}.promo-offer-row.old-price{border-color:#dfa847}.promo-offer-row input{flex-shrink:0}.promo-offer-row a{font-size:12px;color:var(--brand)}#portal-home{display:inline-block;border-radius:12px}#portal-home:focus-visible{outline:3px solid var(--brand);outline-offset:4px}@media(max-width:560px){.promo-offer-row{flex-wrap:wrap}.promo-offer-row a{margin-left:auto}}

.home-pharmacy-actions{display:flex;flex-direction:column;align-items:center;gap:10px;width:220px;max-width:30%;flex-shrink:0}.home-pharmacy-actions .home-pharmacy-logo{width:100%;max-width:100%}.whatsapp-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:8px 20px;border:0;border-radius:22px;background:#128c7e;color:white;font-weight:600}.whatsapp-button svg{width:23px;height:23px}.whatsapp-button:disabled{cursor:default;opacity:.7}.home-pharmacy-actions small{color:var(--muted);font-size:12px;margin-top:-5px}@media(max-width:800px){.home-pharmacy-actions{width:180px}}@media(max-width:560px){.home-pharmacy-actions{width:150px;max-width:100%;align-self:center}}

/* Annuaire de l’équipe */
.tile .tile-celebrations{display:flex;flex-direction:column;gap:7px;width:100%;border-top:1px solid #dde4ed;margin-top:18px;padding-top:15px;font-size:13px;line-height:1.45;color:var(--ink)}
.tile .tile-celebrations strong{font-size:13px;font-weight:650;line-height:1.4}.tile .tile-celebrations>span{font-size:13px;margin-top:0}.tile .tile-celebrations small{font-size:11px;color:var(--muted)}
.people-section{margin-top:25px}.people-section h3{font-size:18px;margin-bottom:12px}.people-table td{padding:13px 12px}.people-table .actions{display:flex;gap:8px;flex-wrap:wrap}.person-phone{color:var(--muted);font-variant-numeric:tabular-nums}.own-person{background:#edf7f4}.person-self{border:0;background:transparent;color:var(--brand);font-weight:650;text-align:left;padding:0;text-decoration:underline;text-underline-offset:4px}
.inactive-people{border-top:1px solid #e0e6ed;padding-top:20px;margin-top:35px}.inactive-people h3{color:var(--muted)}.people-import{border:1px solid #e0e6ed;background:#f8fafc;border-radius:12px;padding:15px;margin-top:20px}.people-import summary,#account-options summary{cursor:pointer;font-weight:600}.people-import input[type=file]{max-width:100%}.payroll-link{display:inline-block;text-decoration:none;margin:10px 0}
#phone,#birthday{display:block;width:100%;padding:11px;margin-top:6px;border:1px solid #b9cbd5;border-radius:8px}#account-options{margin-top:22px;border-top:1px solid #e0e6ed;padding-top:16px}footer a{color:var(--brand)}
@media(max-width:600px){.people-table{min-width:420px}.people-table th,.people-table td{padding:12px 8px;font-size:14px}.people-table .actions{flex-direction:column}.people-table .btn{font-size:12px}.tile .tile-celebrations strong{font-size:13px}}

/* Fiche administrative confidentielle */
.person-open{border:0;background:transparent;padding:0;text-align:left;color:var(--brand);font-weight:600;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.employee-record-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap}.employee-record-heading h3{margin:0;font-size:24px}.employee-confidential{background:#f0eafb;color:#7150b7;font-size:12px;padding:7px 12px;border-radius:20px}.employee-record-tools{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.employee-record-section{border:1px solid #dce5eb;border-radius:12px;margin:15px 0;overflow:hidden}.employee-record-section summary{cursor:pointer;font-weight:650;padding:15px 18px;background:#f8fafc}.employee-record-table{table-layout:fixed}.employee-record-table th{width:39%;color:var(--ink);font-weight:500;padding:12px 18px;vertical-align:middle}.employee-record-table td{padding:10px 18px}.employee-record-table input:not([type=checkbox]),.employee-record-table select,.employee-record-table textarea{display:block;width:100%;margin:0;padding:10px 12px;border:1px solid #cbd8df;border-radius:8px;background:white;color:var(--ink);font:inherit}.employee-record-table input:focus,.employee-record-table select:focus,.employee-record-table textarea:focus{outline:2px solid #087b65;outline-offset:1px}.employee-record-section>.field-note{padding:0 18px 12px}.uppercase-name{text-transform:uppercase}
.employee-permissions{border:2px solid #bd3f43;background:#fff8f8;border-radius:14px;padding:22px;margin:30px 0}.employee-permissions h3{color:#9c3035;font-size:20px;margin:0 0 10px}.permission-matrix th:first-child{text-align:left}.permission-matrix th:not(:first-child),.permission-matrix td{text-align:center}.permission-matrix th{color:var(--ink)}.permission-matrix input[type=checkbox]{width:20px;height:20px;accent-color:#b5373f}.permission-admin-only{font-size:12px;color:#91343a}.employee-record-save{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:10px;padding:15px 0;background:#fffefbf5;border-top:1px solid #dce5eb;z-index:2}.employee-record-table textarea{resize:vertical}
@media(max-width:650px){.employee-record-table th{width:45%;font-size:13px;padding:10px}.employee-record-table td{padding:8px}.employee-record-table input:not([type=checkbox]),.employee-record-table select,.employee-record-table textarea{font-size:14px;padding:8px}.employee-permissions{padding:14px}.permission-matrix{min-width:430px}.employee-record-heading h3{font-size:20px}}

/* Annuaire des contacts utiles */
.contacts-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:20px 0}.contacts-toolbar>div{flex:1;max-width:660px}.contacts-toolbar label{display:block;margin-bottom:8px;font-weight:600}.contacts-toolbar input,.contact-form input,.contact-form textarea,.people-import textarea{width:100%;padding:11px 12px;border:1px solid #cbd8df;border-radius:8px;font:inherit}.contacts-table th,.contacts-table td{padding:14px 12px;vertical-align:top}.contacts-table th:first-child{width:130px}.contacts-table td{font-size:14px;overflow-wrap:anywhere}.contacts-table small,.contacts-table a{display:block;margin-top:6px}.contacts-table a{color:var(--brand)}.contacts-table td:last-child .btn{margin:0 5px 6px 0}.contact-scope{display:inline-block;padding:5px 9px;background:#f4edf9;color:#6b4295;border-radius:18px;font-size:12px;font-weight:600}.contacts-table td:nth-child(4){white-space:pre-line;max-width:280px}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;border:1px solid #dce5eb;padding:22px;border-radius:12px;background:#f8fafc}.contact-form h3,.contact-form .error,.contact-form .dialog-actions{grid-column:1/-1}.contact-form label{display:block;margin-bottom:7px}.contact-form textarea{min-height:90px}.contact-confirm{padding:16px;border:1px solid #dba7a7;border-radius:10px}.contact-confirm .btn{margin-right:10px}.contacts-archives{margin-top:30px}.contacts-archives summary{cursor:pointer;font-weight:600}.contacts-archives table{opacity:.8}.people-import textarea{display:block;margin:15px 0;min-height:110px}@media(max-width:750px){.contacts-toolbar{flex-wrap:wrap}.contacts-toolbar>div{min-width:100%}.contacts-table{min-width:770px}.contact-form{grid-template-columns:1fr}}

/* Documents de référence de l’officine */
.procedure-tools{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap;margin:22px 0}.procedure-tools>div:first-child{flex:1;min-width:230px}.procedure-tools label{display:block;font-weight:600;margin-bottom:8px}.procedure-tools input,.procedure-tools select{padding:12px;border:1px solid #cbd8df;border-radius:8px;font:inherit;width:100%}.procedure-group{margin-top:28px}.procedure-group h3{font-size:18px;color:var(--brand)}.procedure-row{display:flex;gap:20px;justify-content:space-between;align-items:center;padding:17px 0;border-bottom:1px solid #e1e7ed}.procedure-row>div:first-child{flex:1;min-width:0}.procedure-row h4{font-size:16px;margin:0 0 7px}.procedure-row p{margin:0 0 6px;white-space:pre-line}.procedure-row small{color:var(--muted)}.procedure-actions{display:flex;gap:8px;flex-wrap:wrap}.procedure-actions a{text-decoration:none}@media(max-width:700px){.procedure-tools>div{width:100%}.procedure-row{align-items:flex-start;flex-direction:column}.procedure-actions{width:100%}.procedure-tools>button{width:100%}}

.employee-scan-form{display:grid;gap:12px;max-width:800px;margin-top:20px}
.employee-scan-form input:not([type=checkbox]),.employee-scan-form select{width:100%;padding:11px 12px;border:1px solid #cbd8df;border-radius:8px;font:inherit}
.employee-scan-form input[type=checkbox]{width:18px;height:18px;vertical-align:middle;margin-right:8px}
.employee-scan-form .btn{justify-self:start}
.employee-import-review{border:1px solid #d8bc72;background:#fff9e8;border-radius:12px;padding:20px;margin-bottom:20px}
.employee-import-review h4{margin:0 0 12px}
.employee-import-review .error{font-size:14px}

.people-add-actions{display:flex;flex-direction:column;gap:10px;align-items:stretch;max-width:420px;flex-shrink:0}
.people-add-actions .btn{white-space:normal;text-align:center;width:100%}
@media(max-width:750px){.panel .top{flex-wrap:wrap}.people-add-actions{max-width:none;width:100%}}

.portal-logo-lockup{display:block;position:relative;width:430px;max-width:100%}.portal-logo-lockup .portal-logo{width:100%;clip-path:none}.portal-slogan{position:absolute;left:29%;top:66%;width:71%;font-size:12px;font-weight:600;line-height:1.25;color:#006052;white-space:nowrap}@media(max-width:800px){.portal-logo-lockup{width:340px}.portal-slogan{font-size:9.5px}}@media(max-width:560px){.portal-logo-lockup{width:330px}.portal-slogan{font-size:9.2px}}

/* Messages adressés à l’équipe */
.news-retention{padding:14px 18px;background:#eaf0fd;border:1px solid #d3def6;border-radius:12px;color:#294681;margin:0 0 24px}
.news-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:28px;align-items:start}
.news-layout h3{margin:0 0 16px}.news-compose{background:#f5f7fb;border:1px solid #e1e7ef;padding:20px;border-radius:14px}
.news-compose textarea{display:block;width:100%;resize:vertical;min-height:130px;max-height:450px;font:inherit;padding:12px;border:1px solid #b9cbd5;border-radius:8px;margin-top:6px}
.news-compose input[type=search]{width:100%;padding:9px;border:1px solid #b9cbd5;border-radius:8px}.news-compose fieldset{background:white;padding:14px}.news-compose legend{font-weight:600}.news-selection-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.news-recipient-list{max-height:260px;overflow:auto}.news-recipient-list label{display:flex;align-items:center;gap:4px}.news-recipient-list label[hidden]{display:none}.news-recipient-list input{flex-shrink:0}
.news-inbox-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.news-inbox-heading h3{margin:0}.news-filters{display:flex;align-items:center;gap:12px;margin-top:16px}.news-filters select{font:inherit;max-width:100%;padding:8px;border:1px solid #b9cbd5;border-radius:8px;background:white}
.news-message{padding:18px;border:1px solid #dce5eb;border-radius:12px;margin-top:14px;background:white}.news-message.unread{border-left:4px solid #3654a0;background:#f7f9ff}.news-message-heading{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.news-message-heading time{font-size:13px;color:#61717b}.news-message-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:12px 0}.news-message-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.news-message-actions label{display:flex;align-items:center}.news-message .field-note{margin-bottom:0}
@media(max-width:800px){.news-layout{grid-template-columns:1fr}.news-compose{padding:16px}}

.person-invitation{display:inline-flex;vertical-align:middle;flex-direction:column;align-items:flex-start;gap:2px;margin:4px 8px}.person-invitation .field-note{margin:0;white-space:normal;font-size:12px}.invitation-mail{border:1px solid #dce5eb;background:#f5f7fb;border-radius:12px;padding:14px 18px;margin:16px 0}.invitation-mail summary{font-weight:600;cursor:pointer}.invitation-mail .news-selection-actions{margin-bottom:0}.login-card #invitation-password,.login-card #invitation-confirmation{display:block;width:100%;padding:11px;border:1px solid #b9cbd5;border-radius:8px;margin:6px 0 16px}

.grid .tile.order-tools{--accent:#0f766e;--tint:#e4f4f1}

/* Main spaces share one size; the two tools form a compact final row. */
.grid{grid-template-columns:repeat(12,minmax(0,1fr))}
.grid>.tile{grid-column:span 3}
@media(max-width:1050px){.grid>.tile{grid-column:span 4}}
@media(max-width:800px){.grid>.tile{grid-column:span 6}}
.grid>.tile.tool-tile{grid-column:span 6;min-height:128px;padding:18px 22px}
.grid>.tile.calculation-tools{grid-column:1 / span 6}
.grid>.tile.tool-tile .symbol{width:34px;height:34px;margin-bottom:10px;border-radius:10px}
.grid>.tile.tool-tile .symbol svg{width:21px;height:21px}
.grid>.tile.tool-tile strong{font-size:17px}
.grid>.tile.tool-tile>span:last-child{font-size:13px;margin-top:5px}
.grid>.tile.tool-tile .tile-news{font-size:12px;margin-top:10px}
@media(max-width:560px){.grid>.tile.tool-tile{padding:16px 12px;min-height:128px}.grid>.tile.tool-tile strong{font-size:15px}.grid>.tile.tool-tile>span:last-child{font-size:12px}}

/* Documents collectifs et signatures RH */
.hr-table td{vertical-align:top}.hr-table td:first-child{min-width:220px}.hr-table td:nth-child(2){white-space:nowrap;font-size:13px}.hr-table small{display:block;margin-top:5px}.hr-actions .btn{margin:0 5px 7px 0;white-space:nowrap}.hr-form{padding:22px;border:1px solid #dce5eb;border-radius:14px;background:#f6f8fb;margin:20px 0}.hr-form h3{margin-top:0}.hr-form label{display:block;font-weight:600;margin:14px 0 6px}.hr-form input[type=text],.hr-form input[type=search],.hr-form input[type=password],.hr-form select,.hr-settings>details>input{width:100%;padding:11px;font:inherit;border:1px solid #b9cbd5;border-radius:8px;background:white}.hr-form input[type=file]{max-width:100%}.hr-signatory-list{max-height:310px;overflow:auto;background:white;border:1px solid #dce5eb;border-radius:8px;padding:10px}.hr-signatory-list label{display:flex;align-items:center;font-size:14px;font-weight:400;gap:6px;overflow-wrap:anywhere}.hr-signatory-list label[hidden]{display:none}.hr-signatory-list input{flex-shrink:0}.hr-provider-status{padding:12px;border-radius:8px;background:#edf1fb;color:#3654a0}.hr-settings{padding:18px;border:1px solid #dce5eb;border-radius:12px;background:#f8fafc;margin-top:28px}.hr-settings summary{font-weight:600;cursor:pointer}.hr-settings>.btn{margin-right:8px;margin-bottom:8px}.hr-youtrust-configuration{margin-top:18px}.hr-signature-history{margin-top:28px}.hr-signature-card{border:1px solid #dce5eb;border-radius:12px;padding:18px;margin-top:14px}.hr-signature-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.hr-signature-card ul{padding-left:20px;font-size:14px;overflow-wrap:anywhere}.hr-signature-card .btn{margin-right:8px;margin-bottom:6px}#hr-import-action{flex-shrink:0}.hr-settings input[readonly]{font-size:13px;color:#3654a0}
@media(max-width:700px){.hr-table{min-width:640px}.hr-form{padding:16px}.hr-settings{padding:14px}#hr-import-action{align-self:flex-end}.hr-signatory-list label{align-items:flex-start}}

.tile .tile-agenda{display:flex;flex-direction:column;justify-content:center;width:100%;height:35px;min-height:35px;flex-shrink:0;margin-top:auto;padding-top:3px;border-top:1px solid #dde3ec;color:var(--muted);overflow:hidden}
.tile .tile-agenda>span{display:block;width:100%;margin:0;font-size:12px;line-height:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.person-invitation .invitation-status{display:block;max-width:300px;white-space:normal;line-height:1.4;font-size:12px}.person-invitation .invitation-status:empty{display:none}.person-invitation .invitation-status.error{color:#a32c32}

.hr-dropzone{border:2px dashed #087b65;border-radius:14px;padding:25px;text-align:center;background:#f0faf6;color:#086b52;cursor:pointer;margin-bottom:20px}.hr-dropzone.dragging{background:#d9f3e8;border-style:solid}.hr-dropzone:focus-visible{outline:3px solid #087b65;outline-offset:3px}
.hr-document-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px}.hr-document-card{min-width:0;border:1px solid #dce5eb;border-radius:15px;padding:16px;display:flex;flex-direction:column;gap:10px;background:white}.hr-document-card h3{margin:0;overflow-wrap:anywhere;font-size:18px}.hr-document-card small{overflow-wrap:anywhere}.hr-document-card .hr-actions{margin-top:auto;flex-wrap:wrap}.hr-document-preview{height:200px;overflow:hidden;border:1px solid #e2e6ed;border-radius:8px;background:#f3f5f8;position:relative}.hr-document-preview iframe{width:800px;height:850px;transform:scale(.25);transform-origin:top left;border:0;pointer-events:none}.hr-document-icon{display:grid;place-items:center;height:100%;font-size:32px;font-weight:700;color:#087b65}

.tile[data-universe="Agenda"] .symbol{margin-bottom:12px}.tile[data-universe="Agenda"]>strong+span:not(.tile-agenda){display:none}.tile .tile-agenda{height:83px;min-height:83px}.tile .tile-agenda>span{font-size:11px;line-height:16px}

.lab-toolbar{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:20px}.lab-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin-top:20px}.lab-card{display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-height:150px;text-align:left;border:1px solid #dce5eb;border-radius:16px;padding:22px;background:#f7fbfc;color:#182d3d;overflow-wrap:anywhere}.lab-card:hover{border-color:#087b65;background:#eef8f4}.lab-card strong{font-size:21px}.lab-card span{font-size:14px}.lab-sheet{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.lab-sheet>h3,.lab-sheet>.btn,.lab-sheet>.field-note{grid-column:1/-1}.lab-value{background:#f4f7fa;border-radius:10px;padding:16px;min-width:0}.lab-value h4{margin:0 0 8px}.lab-value p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.lab-form{max-width:760px}.lab-form label{display:block;margin-top:16px;font-weight:600}.lab-form input,.lab-form textarea,.lab-form select,#lab-search{width:100%;padding:10px;border:1px solid #b9cbd5;border-radius:8px;font:inherit}.lab-form textarea{resize:vertical}@media(max-width:560px){.lab-sheet{grid-template-columns:1fr}}

.login-intro{text-align:center;margin:-6px 0 24px;pointer-events:none}.login-space{height:126px;position:relative;display:grid;place-items:center;isolation:isolate}.login-planet{width:114px;height:114px;animation:portal-planet-turn 3.2s ease-in-out 1 both}.login-orbit{position:absolute;width:188px;height:102px;left:calc(50% - 94px);top:12px;animation:portal-ship-flight 3.2s ease-in-out 1 both}.login-ship{position:absolute;width:34px;height:34px;right:-13px;top:32px;transform:rotate(40deg);filter:drop-shadow(0 3px 4px #087b7525)}.login-star{position:absolute;color:#8b62c1;font-size:13px;animation:portal-star-glow 3.2s ease-in-out 1}.star-one{left:22%;top:20px}.star-two{right:22%;top:75px}.star-three{right:29%;top:13px;font-size:9px}.login-animated-slogan{margin:8px 0 0;font-size:14px;font-weight:600;color:#006a60;animation:portal-slogan-appear .6s ease-out 2.5s 1 both}.login-card .login-intro+p{margin-top:0}
@keyframes portal-planet-turn{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes portal-ship-flight{0%{transform:rotate(-160deg);opacity:0}12%{opacity:1}100%{transform:rotate(200deg);opacity:1}}@keyframes portal-slogan-appear{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes portal-star-glow{0%,100%{opacity:.4}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){.login-planet,.login-orbit,.login-star,.login-animated-slogan{animation:none;opacity:1;transform:none}}

.premium-intro{margin:-12px -10px 26px}.premium-space{height:162px;position:relative}.premium-scene{width:100%;height:180px;display:block;position:relative}.premium-halo{position:absolute;inset:8px 40px -8px;border-radius:50%;background:radial-gradient(ellipse,#e7f6f2 0%,#f4edf9 45%,transparent 72%);animation:premium-halo-in 1s ease-out both}.premium-world{transform-origin:190px 88px;animation:premium-world-arrive 1.2s cubic-bezier(.2,.7,.2,1) both}.premium-surface{transform-origin:190px 88px;animation:premium-surface-turn 4s cubic-bezier(.2,.65,.3,1) both}.premium-stars{animation:premium-stars-in 1.5s ease-out both}.premium-flight{animation:premium-flight-path 3.6s cubic-bezier(.4,0,.2,1) both}.premium-craft{filter:drop-shadow(0 3px 3px #23516c30)}.premium-flame{animation:premium-thrust .3s ease-in-out 12 alternate}.premium-wordmark{font-size:27px;font-weight:800;letter-spacing:1.8px;color:#00645f;line-height:1.2;animation:premium-wordmark-in .8s cubic-bezier(.2,.7,.2,1) 2.4s both}.premium-wordmark span{color:#7940b5}.premium-slogan{font-size:12px;font-weight:500;letter-spacing:.1px;margin-top:7px;animation:premium-wordmark-in .8s ease-out 3s both}
@keyframes premium-world-arrive{from{opacity:0;transform:translateY(9px) scale(.93)}to{opacity:1;transform:none}}@keyframes premium-surface-turn{from{transform:rotate(-35deg)}to{transform:rotate(0deg)}}@keyframes premium-flight-path{0%{opacity:0;transform:translate(40px,132px) rotate(-28deg) scale(.65)}12%{opacity:1}40%{transform:translate(258px,35px) rotate(-8deg) scale(.8)}65%{transform:translate(285px,75px) rotate(60deg) scale(.95)}85%{opacity:1;transform:translate(180px,141px) rotate(170deg) scale(.8)}100%{opacity:0;transform:translate(90px,135px) rotate(200deg) scale(.6)}}@keyframes premium-thrust{from{opacity:.5;transform:scaleX(.7)}to{opacity:1;transform:scaleX(1)}}@keyframes premium-wordmark-in{from{opacity:0;transform:translateY(5px);filter:blur(3px)}to{opacity:1;transform:none;filter:blur(0)}}@keyframes premium-stars-in{from{opacity:0}to{opacity:.6}}@keyframes premium-halo-in{from{opacity:0;transform:scale(.8)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.premium-intro *{animation:none!important}.premium-flight{display:none}.premium-wordmark,.premium-slogan{opacity:1;filter:none;transform:none}}

.lab-logo{width:120px;height:60px;object-fit:contain;object-position:left center;display:block}.lab-sheet>.lab-logo{grid-column:1/-1;width:160px;height:80px}.lab-form .lab-logo{margin-top:12px}

.lab-documents{border-top:1px solid #dce5eb;margin-top:26px;padding-top:20px}.lab-doc-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:14px 0;border-bottom:1px solid #e5ebef}.lab-doc-row strong{flex:1;overflow-wrap:anywhere}.lab-doc-form{max-width:650px;margin-top:20px}.lab-doc-form label{display:block;font-weight:600;margin-top:12px}.lab-doc-form input{display:block;width:100%;margin:6px 0 12px;padding:10px;border:1px solid #b9cbd5;border-radius:8px}

/* Écran de connexion : uniquement la carte de connexion. */
body:has(#login:not(.hidden)) > header{display:none}
body:has(#login:not(.hidden)) > footer{display:none}
body:has(#login:not(.hidden)) main{min-height:100dvh;display:grid;place-items:center;padding:24px 16px;box-sizing:border-box}
body:has(#login:not(.hidden)) #global-message:empty{display:none}
body:has(#login:not(.hidden)) .login-card{margin:0;width:min(460px,100%);box-sizing:border-box}

.login-film-wrap{position:relative;margin:-14px -14px 24px;border-radius:18px;overflow:hidden;background:#182c4c;isolation:isolate}.login-film-wrap canvas{display:block;width:100%;height:auto;aspect-ratio:16/9}.film-replay{position:absolute;right:9px;bottom:8px;border:1px solid #ffffff40;background:#14253ecc;color:#eaf5ff;border-radius:20px;padding:4px 9px;font-size:10px;cursor:pointer}.film-replay:hover,.film-replay:focus-visible{background:#345774;outline:2px solid #c6a1f5;outline-offset:2px}

.event-reminder{display:flex;align-items:center;gap:8px;margin-top:16px;width:fit-content;cursor:pointer;font-size:14px;font-weight:600;color:var(--muted)}.event-reminder input{width:18px;height:18px;min-height:0;margin:0;padding:0;flex-shrink:0;accent-color:#087b67}.event-reminder.enabled{color:#087b67}.reminder-bell{opacity:.45}.event-reminder.enabled .reminder-bell{opacity:1}.reminder-status{display:block;margin-top:6px;font-size:12px;color:var(--muted)}.tile .tile-agenda>.personal-reminder{color:#087b67;font-weight:600}

/* Deux zones distinctes, les rappels restent en bas de la tuile. */
.tile[data-universe="Agenda"] .symbol{width:38px;height:38px;margin-bottom:11px}
.tile .tile-agenda{height:94px;min-height:94px;justify-content:flex-start;padding-top:4px}
.tile .tile-agenda>.agenda-today,.tile .tile-agenda>.agenda-reminders{display:flex;flex-direction:column;flex-shrink:0;white-space:normal;margin:0;overflow:hidden;line-height:12px}
.tile .tile-agenda>.agenda-reminders{margin-top:auto;padding-top:4px;border-top:1px solid #dce8e3}
.tile .tile-agenda .agenda-group-title{display:block;margin:0 0 1px;font-size:10px;line-height:11px;font-weight:700;letter-spacing:.1px;color:#435b6c}
.tile .tile-agenda .agenda-reminders .agenda-group-title{color:#087b67}
.tile .tile-agenda .agenda-event-line{display:block;margin:0;font-size:11px;line-height:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#647581}
.tile .tile-agenda .personal-reminder{color:#087b67}

.order-plan-toolbar{display:flex;justify-content:flex-end;margin-bottom:16px}.order-plan-scroll{overflow-x:auto;border:1px solid #dce5eb;border-radius:12px}.order-plan-table{width:100%;min-width:1350px;border-collapse:collapse}.order-plan-table th{background:#eef6f3;font-size:11px;white-space:normal;vertical-align:bottom;padding:12px 8px}.order-plan-table td{padding:8px;vertical-align:top;border-top:1px solid #dce5eb}.order-plan-table input,.order-plan-table select,.order-plan-table textarea{width:100%;min-width:110px;padding:8px;border:1px solid #bacbd3;border-radius:7px;font:inherit;font-size:13px;background:white}.order-plan-table input[type=date]{min-width:145px}.order-plan-table input[type=number]{min-width:90px}.order-plan-table textarea{min-width:180px;resize:vertical}.order-plan-table select{min-width:125px}.order-plan-table input:focus,.order-plan-table textarea:focus,.order-plan-table select:focus{outline:2px solid #087b67;outline-offset:1px}.order-plan-table :disabled{background:#f5f7f9;color:#4d606e}.order-plan-actions{min-width:160px}.order-plan-actions button{margin-bottom:6px;margin-right:4px}.order-plan-status{display:block;font-size:11px;max-width:180px;white-space:normal}.order-planning>.empty{padding:24px}

.order-plan-tracking{min-width:145px}.order-plan-tracking label{display:flex;align-items:center;gap:6px;font-size:11px;white-space:nowrap;margin:5px 0}.order-plan-tracking input[type=checkbox]{width:17px;height:17px;min-width:17px;padding:0;margin:0;accent-color:#087b67}.order-plan-warning{display:block;font-family:Arial,sans-serif;font-size:27px;line-height:28px;font-weight:bold;color:#c62828}.order-plan-stamp{display:block;font-size:11px;font-weight:600;color:#087b67;white-space:nowrap}

.order-plan-toolbar{gap:10px;flex-wrap:wrap}.order-plan-suspended td{background:#edf0f2}.order-plan-suspended .order-plan-actions:before{content:'Suspendue';display:block;font-weight:700;color:#68737d;margin-bottom:8px}.order-import-dialog{width:min(900px,95vw);max-height:90vh;overflow:auto}.order-import-mapping{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.order-import-preview{overflow:auto;max-height:280px;margin:16px 0}.order-import-preview table{width:100%;border-collapse:collapse}.order-import-preview td,.order-import-preview th{padding:8px;border-bottom:1px solid #ddd;text-align:left}

.order-plan-search{display:block;margin-bottom:18px;font-size:13px;font-weight:600}.order-plan-search input{display:block;width:100%;margin-top:7px;padding:12px 14px;border:1px solid #bacbd3;border-radius:9px;font:inherit;background:white}.order-plan-search input:focus{outline:2px solid #087b67;outline-offset:1px}

.access-state{display:inline-block;border-radius:20px;padding:5px 9px;font-size:12px;background:#edf0f2;color:#51616c;white-space:nowrap}.access-state.active{background:#e1f3e9;color:#146f48}.access-state.pending{background:#fff1d7;color:#865600}.order-plan-search select{margin-top:10px;padding:10px;border:1px solid #bacbd3;border-radius:9px;background:white;font:inherit}.lab-sheet details{padding:14px;background:#eef6f3;border-radius:10px;margin:14px 0}.news-compose select{padding:8px;margin:8px 0}.news-message ul{padding-left:20px;font-size:13px}

.order-mfa-panel{max-width:580px;margin:20px auto;padding:24px;border:1px solid #dce5eb;border-radius:14px;background:#f8fbfa}.order-mfa-panel label{display:block;margin:16px 0}.order-mfa-panel input,.order-mfa-panel select{display:block;width:100%;padding:12px;margin-top:6px;border:1px solid #bacbd3;border-radius:8px;font:inherit;background:white}.order-mfa-panel img{display:block;margin:16px auto;max-width:100%;height:auto}.order-mfa-panel button{margin:8px 8px 8px 0}.order-mfa-panel code{display:block;overflow-wrap:anywhere;padding:12px}.order-mfa-codes{padding:16px;background:white;border:1px solid #dce5eb;line-height:1.7;user-select:all}.order-mfa-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.order-mfa-panel input[type=checkbox]{display:inline-block;width:18px;margin-right:8px}

/* Compact order cards: every field stays within the screen width. */
.order-plan-scroll{overflow:visible;border:0;border-radius:0}.order-plan-list{display:flex;flex-direction:column;gap:12px}.order-plan-row{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.6fr) minmax(0,1.05fr) minmax(0,1fr);gap:14px;padding:16px;background:#fff;border:1px solid #d9e5e8;border-left:5px solid #79999b;border-radius:12px;box-shadow:0 2px 6px #173b4210}.order-plan-row.hidden{display:none}.order-plan-row>section{min-width:0}.order-plan-row:nth-child(even){background:#f7fafb}.order-plan-field{display:block;font-size:12px;font-weight:650;color:#45616b;margin-bottom:9px}.order-plan-field input,.order-plan-field select,.order-plan-field textarea{display:block;box-sizing:border-box;width:100%;min-width:0;margin-top:4px;padding:8px;border:1px solid #b8ccd1;border-radius:7px;background:#fff;color:#18333e;font:inherit;font-size:14px;font-weight:400}.order-plan-field textarea{resize:vertical;min-height:58px;line-height:1.4}.order-plan-field input:focus,.order-plan-field select:focus,.order-plan-field textarea:focus{outline:2px solid #087b67;outline-offset:1px}.order-plan-field :disabled{color:#314b58;background:#f1f5f6;opacity:1}.order-plan-identity input{font-weight:650;font-size:15px}.order-plan-identity input[aria-label^='NOM']{font-size:16px}.order-plan-row .order-plan-tracking{min-width:0;margin-bottom:16px}.order-plan-row .order-plan-tracking label{white-space:normal;font-size:12px;line-height:1.35}.order-plan-row .order-plan-tracking input[type=checkbox]{flex-shrink:0;width:20px;height:20px;min-width:20px}.order-plan-row .order-plan-stamp{white-space:normal;font-size:12px;margin-left:26px}.order-plan-row .order-plan-warning{font-size:20px;line-height:22px}.order-plan-badge{display:block;padding:7px 8px;border-radius:7px;background:#edf3f4;color:#45616b;font-size:12px;font-weight:700;margin-bottom:12px}.order-plan-row[data-state=late]{border-left-color:#bd3535}.order-plan-row[data-state=late] .order-plan-badge{background:#fce9e9;color:#932020}.order-plan-row[data-state=due]{border-left-color:#d6881b}.order-plan-row[data-state=due] .order-plan-badge{background:#fff1d9;color:#805109}.order-plan-row[data-state=waiting]{border-left-color:#4676b8}.order-plan-row[data-state=waiting] .order-plan-badge{background:#e8effa;color:#315785}.order-plan-row[data-state=suspended]{border-left-color:#889198;background:#f0f2f3}.order-plan-row[data-state=suspended] .order-plan-badge{background:#e1e5e8;color:#53616a}.order-plan-row.order-plan-dirty{box-shadow:0 0 0 2px #e5b95c66}.order-plan-row .order-plan-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;min-width:0;border-top:1px solid #dfe8eb;padding-top:10px}.order-plan-row .order-plan-actions:before{display:none}.order-plan-row .order-plan-actions button{margin:0}.order-plan-row .order-plan-status{max-width:none;font-size:12px;flex:1;order:-1}.order-plan-search{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.order-plan-search input{flex:1 1 300px;width:auto;margin:0}.order-plan-search select{margin:0}.order-plan-toolbar{justify-content:flex-start}@media(max-width:850px){.order-plan-row{grid-template-columns:repeat(2,minmax(0,1fr))}.order-plan-identity{grid-column:1}.order-plan-care{grid-column:2;grid-row:1/3}.order-plan-schedule{grid-column:1}.order-plan-follow{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:20px}.order-plan-row .order-plan-tracking{margin:0;flex:1}}@media(max-width:560px){.order-plan-row{display:flex;flex-direction:column;padding:12px}.order-plan-row .order-plan-actions{justify-content:flex-start}.order-plan-search input,.order-plan-search select{width:100%}}

.order-plan-help{margin:0 0 14px;font-size:13px;color:#45616b}.order-plan-help summary{cursor:pointer;font-weight:600}.order-plan-help .field-note{line-height:1.5}

.schedule-slot{display:block;border-radius:5px;padding:4px 5px;white-space:normal;line-height:1.3;width:100%;box-sizing:border-box;print-color-adjust:exact}.schedule-post-badge{padding:5px 9px;border-radius:7px;font-size:12px;print-color-adjust:exact}.schedule-context-menu{position:fixed;z-index:1000;background:white;border:1px solid #bcced4;border-radius:10px;padding:6px;box-shadow:0 8px 24px #143a4233;max-width:270px}.schedule-context-menu button{display:block;width:100%;border:0;text-align:left}.schedule-context-menu button:hover{background:#edf5f2}#schedule-dialog{width:min(800px,95vw);max-height:90vh;overflow:auto}.schedule-slot-editor>.schedule-slot-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;border:1px solid #dce6e9;border-radius:9px;padding:12px;margin:12px 0}.schedule-slot-form-row>p{margin:0;grid-column:1/-1}.schedule-slot-form-row label{font-size:13px}.schedule-slot-form-row input,.schedule-slot-form-row select{display:block;margin-top:5px}.schedule-tools label{display:block;font-size:13px;font-weight:600;margin:10px 0}.schedule-tools input,.schedule-tools select,.schedule-tools textarea{display:block;width:100%;box-sizing:border-box;padding:9px;margin-top:5px;border:1px solid #bacbd3;border-radius:7px;font:inherit}.schedule-tools input[type=color]{height:44px;width:90px;padding:3px}.leave-request-form{padding:14px;border-radius:10px;background:#f2f7f5}.leave-request-card{border:1px solid #dce6e9;border-radius:10px;padding:14px;margin:14px 0}.leave-request-card p{white-space:pre-wrap;overflow-wrap:anywhere}.leave-request-card h4{margin-top:0}.leave-request-card .btn{margin:6px 8px 0 0}.leave-request-status{display:inline-block;border-radius:20px;padding:5px 10px;font-size:12px;font-weight:700;background:#fff1d7;color:#865600}.leave-request-status.approved{background:#e1f3e9;color:#146f48}.leave-request-status.refused{background:#fbe7e7;color:#932020}.leave-request-status.cancelled{background:#edf0f2;color:#51616c}.schedule-post-form{padding:14px;border:1px solid #dce6e9;border-radius:10px;margin:14px 0}.schedule-post-form .btn{margin-right:8px}@media(max-width:560px){.schedule-slot-editor>.schedule-slot-form-row{grid-template-columns:1fr}}

.schedule-kind.maladie,.schedule-day.maladie{background:#f2e8f5;color:#663875}.schedule-kind.recuperation,.schedule-day.recuperation{background:#e4f1f8;color:#285f80}.schedule-kind.absence_injustifiee,.schedule-day.absence_injustifiee{background:#fbe7e7;color:#932020}.schedule-meal-ticket{display:flex;align-items:center;justify-content:center;gap:5px;font-size:11px;margin-top:8px;padding:5px 2px;border-radius:6px;background:#f8f1df}.schedule-meal-ticket input{width:16px;height:16px;accent-color:#087b67}.schedule-meal-mark{display:block;font-size:11px;margin-top:5px;color:#805109}.template-create{display:flex;align-items:end;gap:12px;flex-wrap:wrap;padding:16px;background:#eff6f3;border-radius:10px}.template-create input{display:block;margin-top:6px;padding:10px;border:1px solid #bacbd3;border-radius:7px;max-width:100%;font:inherit}.template-create .status-line{width:100%}.template-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin-top:20px}.template-card{padding:18px;border:1px solid #dce6e9;border-radius:12px;background:white}.template-card h3{margin-top:0}@media print{.schedule-meal-ticket{print-color-adjust:exact}.schedule-meal-ticket input{appearance:none;width:10px;height:10px;border:1px solid #555}.schedule-meal-ticket input:checked:after{content:'✓';display:block;font-size:9px;line-height:9px}}

.schedule-timeline-scroll{overflow:auto;border:1px solid #dce5eb;border-radius:12px;background:white}.schedule-timeline{min-width:1120px}.timeline-row{display:grid;grid-template-columns:175px minmax(0,1fr) 80px;border-bottom:1px solid #e0e8ec;align-items:stretch}.timeline-name{position:sticky;left:0;z-index:3;background:white;padding:12px 10px;font-size:13px;font-weight:600;border-right:1px solid #dce5eb}.timeline-name small{display:block;margin-top:5px;font-size:10px;font-weight:400}.timeline-total{padding:12px 6px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:650;background:#f7fafb;border-left:1px solid #dce5eb;text-align:center}.timeline-hours .timeline-name,.timeline-hours .timeline-total{background:#eef5f3}.timeline-axis{position:relative;height:42px;background:#f7fafb;overflow:hidden}.timeline-hour{position:absolute;top:14px;transform:translateX(-50%);font-size:11px;color:#45616b;white-space:nowrap}.timeline-hour:first-child{transform:none}.timeline-hour:last-child{transform:translateX(-100%)}.timeline-presence .timeline-name{display:flex;justify-content:center;flex-direction:column}.timeline-chart{display:grid;grid-template-columns:repeat(56,minmax(0,1fr));height:108px;padding-top:10px;background:#fff}.timeline-quarter{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;min-width:0;border-right:1px solid #f1f4f6;padding:0 1px 5px}.timeline-count-bar{display:block;width:80%;background:#83b7e1;border-radius:4px 4px 0 0;min-width:3px}.timeline-count{font-size:10px;line-height:18px;font-weight:700;color:#315785}.timeline-quarter.current{background:#e7f1fb;outline:2px solid #2b6dba;outline-offset:-2px}.timeline-track{position:relative;min-height:76px;background:repeating-linear-gradient(to right,transparent 0,transparent calc(100% / 56 - 1px),#edf1f4 calc(100% / 56 - 1px),#edf1f4 calc(100% / 56));cursor:default}.timeline-track[role=button]{cursor:pointer}.timeline-track:focus-visible{outline:2px solid #087b67;outline-offset:-2px}.timeline-slot{box-sizing:border-box;position:absolute;top:10px;height:55px;border:1px solid #ffffffa0;border-left:3px solid #00000033;border-radius:6px;background:#d7eee4;color:#194f3e;overflow:hidden;padding:7px 5px;text-align:left;font:inherit;font-size:11px;line-height:1.35}.timeline-slot strong,.timeline-slot small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-slot small{font-size:10px;margin-top:3px}.timeline-slot:focus-visible{outline:2px solid #183d52;outline-offset:1px}.timeline-slot.formation{background:#eae5fa;color:#51417b}.timeline-absence{position:absolute;inset:10px 0;min-height:0;justify-content:flex-start;align-items:flex-start;padding:15px;font-size:12px;border-radius:6px}.timeline-now{position:absolute;top:0;bottom:0;width:2px;background:#a83385;pointer-events:none;z-index:2}.timeline-person:last-child{border-bottom:0}@media print{.schedule-timeline{min-width:1000px}.schedule-timeline-scroll{overflow:visible}.timeline-slot,.timeline-count-bar{print-color-adjust:exact}.timeline-name{position:static}.timeline-now{display:none}}

.schedule-total span,.schedule-total small{display:block;white-space:normal;margin:4px 0;font-size:11px}.schedule-total small{font-weight:400;color:#647781;font-size:10px}.schedule-table th:last-child{width:120px}.schedule-actual-mark{font-size:10px;color:#45616b}.schedule-slot-editor~label input[type=number]{display:block;width:100%;padding:9px;margin:7px 0 14px;border:1px solid #bacbd3;border-radius:7px;font:inherit}

.schedule-month-table td,.schedule-month-table th{min-width:85px;padding:12px;text-align:center}.schedule-month-table td:first-child{text-align:left;min-width:180px}

/* Planning: navigation and administrative actions grouped for compact screens. */
.schedule-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;align-items:start;margin:12px 0}.schedule-navigation{margin:0;gap:8px}.schedule-date-navigation{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.schedule-navigation .schedule-scope{margin-left:0}.schedule-user-actions{display:flex;flex-wrap:wrap;gap:6px;grid-column:1}.schedule-admin-panel{grid-column:2;grid-row:1 / span 2;position:relative;min-width:160px}.schedule-admin-panel>summary{list-style:none;cursor:pointer;border:1px solid #b5cec6;background:#eef6f2;border-radius:9px;padding:10px 14px;font-weight:650;color:#185846;text-align:center}.schedule-admin-panel>summary:after{content:' ▾'}.schedule-admin-panel[open]>summary:after{content:' ▴'}.schedule-admin-tools{position:absolute;right:0;top:48px;width:min(560px,calc(100vw - 60px));z-index:12;padding:16px;border:1px solid #c8dcd4;border-radius:12px;background:white;box-shadow:0 12px 35px #173c3326;display:flex;gap:8px;flex-wrap:wrap;max-height:70vh;overflow:auto}.schedule-admin-tools .schedule-admin{margin:4px 0;width:100%;gap:8px}.schedule-admin-tools select{max-width:100%}.schedule-admin-tools .schedule-help{width:100%;font-size:12px}.schedule-help summary,.schedule-legend-panel>summary{cursor:pointer;color:#506c65;font-size:12px;padding:7px 0}.schedule-legend-panel .schedule-legend{margin:4px 0 10px}.schedule-week-title{margin:12px 0 6px}.schedule-status{margin:6px 0}.schedule .schedule-scroll,.schedule-timeline-scroll{overscroll-behavior-x:contain}.schedule-timeline-scroll{scrollbar-gutter:stable}.schedule .schedule-table{min-width:820px}.schedule .schedule-table th:first-child{width:130px}.schedule .schedule-table th:last-child{width:105px}.schedule-timeline{min-width:860px}.timeline-row{grid-template-columns:145px minmax(0,1fr) 65px}.timeline-name{padding:10px 7px}.timeline-slot strong{font-size:10px}.schedule-navigation .btn{padding:8px 10px;font-size:12px}.schedule-user-actions .btn{font-size:12px;padding:7px 10px}.schedule-admin-panel summary:focus-visible,.schedule-legend-panel summary:focus-visible{outline:2px solid #087b67;outline-offset:2px}
@media(max-width:1100px){.schedule-controls{gap:8px}.schedule-date-navigation{width:100%}.schedule-navigation{align-content:start}.schedule .schedule-table{font-size:12px}.schedule .schedule-table th,.schedule .schedule-table td{padding:6px 3px}.schedule-slot{font-size:10px}.schedule-meal-ticket{font-size:10px}.timeline-count{font-size:9px}}
@media(max-width:600px){.schedule-controls{grid-template-columns:1fr}.schedule-admin-panel{grid-column:1;grid-row:auto;justify-self:end}.schedule-admin-tools{width:calc(100vw - 48px)}.schedule-date-navigation .btn{font-size:11px}.schedule-navigation .schedule-scope{width:auto}}
@media print{.schedule-controls,.schedule-legend-panel>summary{display:none!important}.schedule-legend-panel>.schedule-legend{display:flex!important}.schedule .schedule-table{min-width:0}.schedule-timeline{min-width:0}.timeline-row{grid-template-columns:115px minmax(0,1fr) 55px}}

.agenda-meeting-icon{display:inline-flex;vertical-align:middle;align-items:center;margin-right:5px;color:inherit}.agenda-meeting-icon svg{flex:none;width:1.15em;height:1.15em}

/* Agenda preview: let both sections grow, keep icons aligned with one-line labels. */
.tile .tile-agenda{height:auto;min-height:94px;overflow:visible;gap:6px}.tile .tile-agenda>.agenda-today,.tile .tile-agenda>.agenda-reminders{overflow:visible;min-width:0;gap:3px;line-height:18px}.tile .tile-agenda>.agenda-reminders{margin-top:0;padding-top:6px}.tile .tile-agenda .agenda-group-title{margin:0;line-height:16px}.tile .tile-agenda .agenda-event-line{display:flex;align-items:center;gap:4px;min-height:18px;line-height:18px;margin:0;min-width:0;overflow:hidden}.tile .tile-agenda .agenda-event-text{display:block;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:11px;line-height:18px}.tile .tile-agenda .agenda-meeting-icon{display:inline-flex;flex:0 0 14px;width:14px;height:14px;margin:0;font-size:11px;line-height:14px}.tile .tile-agenda .agenda-meeting-icon svg{width:14px;height:14px}

.schedule-kind.ecole_cfa,.schedule-day.ecole_cfa,.timeline-slot.ecole_cfa{background:#eae5fa;color:#51417b}

.grid>.tile.tool-tile{grid-column:span 4}.grid>.tile.calculation-tools{grid-column:1 / span 4}.grid>.tile.merchandising-tools{grid-column:5 / span 4}.grid>.tile.order-tools{grid-column:9 / span 4}@media(max-width:800px){.grid>.tile.tool-tile{grid-column:span 6}.grid>.tile.calculation-tools{grid-column:1 / span 6}.grid>.tile.merchandising-tools{grid-column:auto / span 6}.grid>.tile.order-tools{grid-column:auto / span 6}}@media(max-width:560px){.grid>.tile.tool-tile{grid-column:1 / -1}}

.merch-plan-scroll{overflow:auto;max-height:72vh;border:1px solid #d6e2e3;border-radius:12px;background:#eef3f4}.merch-plan{position:relative;width:100%;min-width:650px;max-width:1080px;margin:auto}.merch-plan>img{display:block;width:100%;height:auto}.merch-marker{position:absolute;transform:translate(-50%,-50%);border:2px solid white;border-radius:20px;padding:5px 9px;background:#087b67;color:white;font-weight:700;box-shadow:0 2px 8px #0005;font-size:13px}.merch-marker:hover{background:#095644}.merch-zone-list{display:flex;flex-wrap:wrap;gap:8px}dialog textarea{display:block;width:100%;padding:10px;margin-top:6px;font:inherit;border:1px solid #b9cbd5;border-radius:8px}

.merch-zone-dialog{width:min(900px,calc(100% - 32px))}.merch-year-bar{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:12px 0}.merch-month-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.merch-month-card{padding:12px;background:#f1f7f5;border:1px solid #d6e6df;border-radius:10px;font-weight:650;text-transform:capitalize}.merch-month-card textarea{text-transform:none;font-weight:400;font-size:13px;resize:vertical}.merch-zone-dialog .dialog-actions{position:sticky;bottom:-28px;background:white;padding:12px 0}@media(max-width:650px){.merch-month-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.merch-year-bar .btn{font-size:11px;padding:7px}}@media(max-width:420px){.merch-month-grid{grid-template-columns:1fr}}

.merch-plan-scroll{max-height:none;overflow:visible;background:#f5f8f8;padding:8px}.merch-plan{min-width:0;width:min(100%,calc(min(58vh,560px) * 1.062449));max-width:none}.merch-marker{font-size:10px;padding:3px 5px;border-width:1px}@media(max-width:560px){.merch-plan{width:100%}}

.merch-marker-ic{background:#315bb6}.merch-marker-ic:hover{background:#234184}

.merch-marker-bs{background:#a75f12;font-size:9px;padding:3px 4px}.merch-marker-bs:hover{background:#78420a}.merch-marker-bs.bs-1{transform:translate(-100%,-100%)}.merch-marker-bs.bs-2{transform:translate(0,-100%)}.merch-marker-bs.bs-3{transform:translate(-100%,0)}.merch-marker-bs.bs-4{transform:translate(0,0)}

.merch-bs-connector{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}.merch-bs-connector line{stroke:#a12587;stroke-width:1.5;vector-effect:non-scaling-stroke}.merch-marker{z-index:2}.merch-marker-bs{background:#a12587;font-size:11px;padding:4px 7px;white-space:nowrap}.merch-marker-bs:hover{background:#781a62}.merch-marker-bs.bs-1,.merch-marker-bs.bs-2,.merch-marker-bs.bs-3,.merch-marker-bs.bs-4{transform:translate(-50%,-50%)}

.merch-marker-ev{background:#7548b5}.merch-marker-ev:hover{background:#57318b}

.merch-zone-item{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left}.merch-zone-status{font-size:12px;font-weight:700;white-space:nowrap}.merch-zone-item.merch-zone-free{background:#e8f6ed;border-color:#6ba882;color:#205f38}.merch-zone-item.merch-zone-occupied{background:#fdecec;border-color:#d98787;color:#962c2c}.merch-zone-item:hover{filter:brightness(.96)}.merch-status-legend{font-size:13px;color:#54616b}

.merch-marker-sa{background:#f3ce32;border-color:#b99a1a;color:#443600}.merch-marker-sa:hover{background:#ffe36b}

.merch-zone-list{display:flex;flex-direction:column;gap:14px}.merch-category-row{width:100%;display:grid;grid-template-columns:155px minmax(0,1fr);gap:12px;align-items:start}.merch-category-row h4{margin:9px 0;font-size:14px}.merch-category-buttons{display:flex;flex-wrap:wrap;gap:8px}@media(max-width:560px){.merch-category-row{grid-template-columns:1fr;gap:4px}.merch-category-row h4{margin:0}}

.merch-category-row{display:flex;flex-direction:column;gap:10px;padding:14px 0;border-top:1px solid #dce6e9}.merch-category-row h4{display:block;width:100%;margin:0;font-size:17px;font-weight:700;color:#243d48;line-height:1.4}.merch-category-buttons{width:100%}

.challenge-toolbar,.challenge-navigation,.challenge-card-heading,.challenge-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.challenge-navigation{justify-content:flex-start}.challenge-navigation input{padding:9px;border:1px solid #bcced4;border-radius:8px;font:inherit}.challenge-card{border:1px solid #dce6e9;border-radius:14px;padding:20px;margin:18px 0;background:#fff}.challenge-card-heading h3{margin:0}.challenge-card-heading p{margin:6px 0;color:#5f707a}.challenge-modalities{white-space:pre-wrap;overflow-wrap:anywhere}.challenge-progress{padding:12px 0}.challenge-progress-head{display:flex;justify-content:space-between;gap:10px}.challenge-progress progress{display:block;width:100%;height:18px;margin:7px 0;accent-color:#087b65}.challenge-progress progress::-webkit-progress-bar{background:#e8eef0;border-radius:8px}.challenge-progress progress::-webkit-progress-value{background:#087b65;border-radius:8px}.challenge-progress small{display:block;color:#5f707a}.challenge-progress .challenge-exceeded{color:#087b65;font-weight:700}.challenge-card details{margin:12px 0}.challenge-card summary{cursor:pointer;font-weight:600}.challenge-actions{justify-content:flex-start;margin-top:16px}.challenge-dialog{width:min(760px,92vw);max-height:88vh;overflow:auto;border:1px solid #bcced4;border-radius:14px;padding:22px}.challenge-dialog .field{display:block;margin:14px 0;font-weight:600}.challenge-dialog input:not([type=checkbox]),.challenge-dialog select,.challenge-dialog textarea{display:block;width:100%;box-sizing:border-box;border:1px solid #bcced4;border-radius:8px;padding:10px;margin-top:6px;font:inherit}.challenge-dialog input[type=checkbox]{margin-left:10px;accent-color:#087b65}.challenge-dialog .dialog-actions{position:sticky;bottom:-22px;background:white;padding:16px 0;display:flex;gap:10px;justify-content:flex-end}.challenge-participants{max-height:290px;overflow:auto;border:1px solid #dce6e9;border-radius:10px;padding:10px}.challenge-participant{display:grid;grid-template-columns:minmax(0,1fr) 130px;gap:12px;align-items:center}.challenge-participant .field{display:flex;justify-content:space-between;align-items:center}.challenge-report{padding:16px 0;border-bottom:1px solid #dce6e9}.challenge-report .btn{margin:5px 8px 5px 0}.challenge-dialog a{overflow-wrap:anywhere}@media(max-width:560px){.challenge-card{padding:14px}.challenge-dialog{padding:16px}.challenge-participant{grid-template-columns:minmax(0,1fr) 95px}.challenge-navigation{gap:6px}}

.challenge-participant{display:block}.challenge-person-result{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid #e8eef0}.challenge-gain-earned{color:#087b65;font-weight:700}.challenge-gain-pending{color:#687883}

.challenge-identity{display:flex;align-items:center;gap:12px;min-width:0}.challenge-lab-logo{width:56px;height:44px;object-fit:contain;flex-shrink:0}.challenge-identity h3,.challenge-identity p{overflow-wrap:anywhere}

.challenge-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.challenge-grid .challenge-card{margin:0;padding:16px;min-width:0}.challenge-grid .challenge-card.is-expanded{grid-column:1 / -1}.challenge-card:not(.is-expanded) .challenge-modalities{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.challenge-card-extra[hidden]{display:none}.challenge-card-extra{border-top:1px solid #e1e9ec;margin-top:12px;padding-top:8px}.challenge-grid .challenge-card-heading{align-items:flex-start}.challenge-grid .challenge-identity{flex:1}.challenge-grid .challenge-card-heading h3{font-size:1.05rem}.challenge-grid .challenge-card-heading p{font-size:.9rem}@media(max-width:800px){.challenge-grid{grid-template-columns:minmax(0,1fr)}}

.schedule-order-controls{display:flex;gap:4px;margin-top:6px}.schedule-order-controls .btn{padding:2px 8px;min-height:26px;font-size:1rem}@media print{.schedule-order-controls{display:none}}

.schedule-day-lock{margin-left:5px;padding:3px 5px!important;font-size:.9rem}@media print{.schedule-day-lock{display:none}}

.challenge-expand-toggle{display:flex;align-items:center;justify-content:center;width:42px;height:42px;margin-left:auto;border:0;border-radius:50%;background:#087b65;color:#fff;font-size:28px;font-weight:700;line-height:1;box-shadow:0 3px 8px #087b6533}.challenge-expand-toggle:hover{background:#05634f}.challenge-expand-toggle:focus-visible{outline:3px solid #61cbb2;outline-offset:3px}

.merch-month-navigation{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:20px}.merch-month-navigation input{padding:9px;border:1px solid #bcced4;border-radius:8px;font:inherit;background:white}

.whatsapp-dialog{width:min(560px,90vw);max-height:85vh;overflow:auto;border:1px solid #cbded8;border-radius:16px;padding:24px}.whatsapp-links{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.whatsapp-dialog>.btn{margin-top:18px}

.challenge-gain-potential{color:#c32632;font-weight:700}.challenge-gain-unlocked{color:#087b65;font-weight:700}

.challenge-person-result{display:grid;grid-template-columns:minmax(150px,1.2fr) minmax(110px,.7fr) minmax(210px,1.1fr);align-items:center;gap:12px}.challenge-person-result>span:nth-child(2){text-align:right;font-variant-numeric:tabular-nums}.challenge-person-result:has(>span:nth-child(4)){grid-template-columns:minmax(140px,1.2fr) minmax(90px,.6fr) minmax(90px,.6fr) minmax(200px,1.1fr)}.challenge-person-result:has(>span:nth-child(4))>span:nth-child(3){text-align:right;font-variant-numeric:tabular-nums}@media(max-width:650px){.challenge-person-result,.challenge-person-result:has(>span:nth-child(4)){grid-template-columns:minmax(0,1fr) minmax(100px,auto);gap:8px}.challenge-person-result>strong{grid-column:1 / -1}.challenge-person-result>.challenge-gain-potential,.challenge-person-result>.challenge-gain-unlocked{grid-column:1 / -1}.challenge-person-result>span:nth-child(2){grid-column:2;text-align:right}}

/* Horaires personnels : contenu indépendant de la hauteur de la tuile. */
.tile[data-universe="Emplois du temps"]>span:not(.symbol):not(.tile-schedule){visibility:hidden}
.tile .tile-schedule{position:absolute;left:24px;right:24px;bottom:12px;height:66px;display:flex;flex-direction:column;gap:2px;border-top:1px solid #dde3ec;padding-top:4px;font-size:12px;line-height:17px;opacity:1;color:var(--ink)}
.tile .tile-schedule-title{font-size:11px;font-weight:600;color:var(--muted)}
.tile .tile-schedule-list{display:block;overflow-y:auto;overscroll-behavior:contain;min-height:0;flex:1;font-size:12px;opacity:1}
.tile .tile-schedule-line{display:flex;gap:8px;font-size:12px;line-height:17px;opacity:1}
.tile .tile-schedule-line b{flex-shrink:0;font-variant-numeric:tabular-nums}
.tile .tile-schedule-line>span{font-size:12px;opacity:1;overflow-wrap:anywhere}
@media(max-width:560px){.tile .tile-schedule{left:16px;right:16px}}
.tile[data-universe="Emplois du temps"] .symbol{margin-bottom:8px}

.timeline-pharmacist-chart{display:grid;grid-template-columns:repeat(56,minmax(0,1fr));align-items:center;justify-items:center;padding:8px 0;gap:0}.timeline-pharmacists .timeline-name{padding-top:6px;padding-bottom:6px}.timeline-pharmacist-square{display:inline-block;width:9px;height:9px;border-radius:2px;flex-shrink:0;print-color-adjust:exact}.timeline-pharmacist-square.none{background:#dc3545}.timeline-pharmacist-square.one{background:#f59e0b}.timeline-pharmacist-square.several{background:#a3d977}.timeline-pharmacist-legend{display:flex;gap:16px;flex-wrap:wrap;margin:10px 0;font-size:12px;color:#586d7d}.timeline-pharmacist-legend>span{display:flex;align-items:center;gap:6px}

.training-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:20px 0}.training-category{border:1px solid #dce5eb;border-radius:14px;padding:18px;background:#f8fafb;min-width:0}.training-category-button{width:100%;font-weight:700;min-height:52px}.training-category-button[aria-pressed=true]{background:#e4f3ec;border-color:#087b65;color:#075f50}.training-drop{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;border:2px dashed #a6bdb4;border-radius:12px;margin-top:16px;padding:24px 12px}.training-drop.dragging{background:#dcf2e5;border-color:#087b65}.training-drop small{font-size:12px;color:#61717b}.training-file-input{position:absolute;width:1px;height:1px;opacity:0}.training-drop:focus-within{outline:2px solid #087b65;outline-offset:2px}@media(max-width:650px){.training-categories{grid-template-columns:1fr}}

.training-rename-form{display:flex;align-items:center;flex-wrap:wrap;gap:10px;width:100%}.training-rename-form input{flex:1;min-width:160px;padding:9px;border:1px solid #b9cbd5;border-radius:8px}.training-print-tools{display:flex;gap:16px;align-items:center;padding:12px 20px}.training-print-page #print-frame{display:block;width:100%;height:calc(100vh - 90px);border:0}@media print{.training-print-tools{display:none}.training-print-page #print-frame{height:100vh}}

.training-search{margin:18px 0}.training-search label{display:block;font-weight:600;margin-bottom:6px}.training-search input{width:100%;max-width:650px;padding:11px 14px;border:1px solid #b9cbd5;border-radius:10px;background:white;font:inherit}.training-search input:focus{outline:2px solid #087b65;outline-offset:2px}

.schedule-slot-form-row .schedule-comment-field{grid-column:1 / -1}.schedule-comment-field textarea{display:block;width:100%;padding:9px;font:inherit;border:1px solid #b9cbd5;border-radius:8px;resize:vertical}.schedule-slot-comment{display:block;font-size:10px;line-height:1.3;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:3px;font-weight:400}.timeline-slot .timeline-slot-comment{margin-top:1px;font-size:9px}.timeline-slot:has(.timeline-slot-comment){padding-top:4px;padding-bottom:3px}

.merch-marker-ds{background:#d65a2e;color:white}.merch-marker-ds:hover{background:#b4421b}

/* Planning compact et attribution des tickets par jour. */
.timeline-person .timeline-name{padding:6px 8px;font-size:12px}.timeline-person .timeline-total{padding:6px 4px}.timeline-person-actions{display:flex;align-items:center;gap:8px;margin-top:4px;flex-wrap:wrap}.timeline-person-actions .schedule-order-controls{margin:0}.timeline-person-actions .schedule-order-controls .btn{padding:0 6px;min-height:22px;font-size:14px}.timeline-person-actions .schedule-meal-ticket{margin:0;padding:1px 4px;gap:4px}.timeline-person .timeline-track{min-height:60px}.timeline-person .timeline-slot{top:6px;height:48px;padding:4px 5px}.timeline-person .timeline-slot small{margin-top:1px;line-height:12px}.timeline-person .timeline-slot strong{line-height:14px}.timeline-person .timeline-absence{inset:6px 0;padding:9px}.schedule .schedule-meal-ticket{padding:2px 4px;margin-top:3px;font-size:13px}.schedule .schedule-table th,.schedule .schedule-table td{padding-top:4px;padding-bottom:4px}.schedule .schedule-slot{padding-top:2px;padding-bottom:2px}.schedule .schedule-day{min-height:48px;padding:5px;gap:3px}

.meal-plate-icon{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;line-height:1}.meal-plate-icon svg{display:block;width:22px;height:22px;flex-shrink:0}

.merch-fixed-guidelines{white-space:pre-wrap;padding:14px;margin-top:8px;border-left:4px solid #087b65;border-radius:8px;background:#eaf5ee;line-height:1.7;font-weight:500}

.schedule-publication-group{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}.schedule-publication-group .field-note{font-size:12px;color:#536871}

.schedule-copy-group{display:flex;flex-wrap:nowrap;align-items:center;gap:7px;width:100%;min-width:0}.schedule-admin-tools .schedule-copy-group label{font-size:12px;white-space:nowrap;margin:0}.schedule-admin-tools .schedule-copy-group input[type=date]{width:130px;min-width:0;padding:6px;font-size:12px;margin:0;flex:0 1 130px}.schedule-admin-tools .schedule-copy-group .btn{font-size:11px;padding:7px 8px;white-space:nowrap;flex:0 1 auto}@media(max-width:450px){.schedule-copy-group{gap:4px}.schedule-admin-tools .schedule-copy-group label{font-size:10px}.schedule-admin-tools .schedule-copy-group input[type=date]{font-size:10px;width:112px;flex-basis:112px}.schedule-admin-tools .schedule-copy-group .btn{font-size:10px;padding:6px 4px;white-space:normal}}

/* Accueil : titres et sous-titres harmonisés sur les écrans 4/3. */
#home .grid>.tile>strong{font-size:18px;line-height:1.28;letter-spacing:-.2px;min-height:46px;display:block;width:100%;overflow-wrap:normal;word-break:normal;text-wrap:balance}
#home .grid>.tile>.symbol{margin-bottom:12px}
#home .grid>.tile>span:not(.symbol):not(.tile-news):not(.tile-agenda):not(.tile-schedule):not(.tile-celebrations):not(.daily-joke){font-size:13px;line-height:1.45;color:#526675;opacity:1;margin-top:7px;min-height:38px;width:100%;text-wrap:pretty}
#home .grid>.tile.tool-tile>strong{font-size:16px;min-height:41px;line-height:1.3}
#home .grid>.tile.tool-tile>.symbol{margin-bottom:8px}
#home .grid>.tile.tool-tile>span:not(.symbol){font-size:12px;line-height:1.4;min-height:17px;margin-top:5px}
#home .grid>.tile[data-universe="Emplois du temps"]>.symbol{margin-bottom:8px}
#home .grid>.tile[data-universe="Emplois du temps"]>strong{min-height:0}
#home .grid>.tile:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
@media(max-width:560px){#home .grid>.tile>strong{font-size:17px;min-height:44px}#home .grid>.tile.tool-tile>strong{font-size:16px;min-height:0}#home .grid>.tile[data-universe="Formations"]>strong{font-size:16px}}

.merch-month-card select,.merch-month-card input[type=text]{display:block;width:100%;font:inherit;font-size:12px;padding:7px;margin-top:8px;border:1px solid #b9cbd5;border-radius:7px;background:white}.merch-month-card input[hidden]{display:none}.merch-zone-item .merch-zone-lab{font-size:12px;font-weight:600;overflow-wrap:anywhere;max-width:180px}

.merch-zone-identity{display:flex;flex-direction:column;gap:4px;min-width:0}.universe-toolbar{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;margin:18px 0 24px}.universe-search{flex:1 1 260px;min-width:200px}.universe-search label{display:block;font-weight:600;margin-bottom:6px}.universe-search input{display:block;width:100%;padding:11px 14px;font:inherit;border:1px solid #b9cbd5;border-radius:9px}.universe-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-left:auto}.procedure-tools>.universe-actions{flex:0 1 auto;min-width:0}.procedure-actions,.hr-document-actions{justify-content:flex-end}.order-universe-toolbar .order-plan-search{flex:1 1 330px;margin:0}.order-universe-toolbar .order-plan-toolbar{margin:0;flex:0 1 auto;max-width:100%;justify-content:flex-end}.universe-actions .btn{font-size:13px;padding:9px 12px}@media(max-width:700px){.universe-toolbar{gap:12px}.universe-search{flex-basis:100%;min-width:0}.universe-actions{width:100%;margin-left:0;justify-content:flex-end}.order-universe-toolbar .order-plan-search{flex-basis:100%}.universe-actions .btn{font-size:12px;padding:8px 10px}}

.login-version{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #dce5eb;margin:20px 0 0;padding-top:12px;font-size:12px;color:#526675}.login-version span{white-space:nowrap}

.merchandising-hub{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:24px 0}.merchandising-hub-card{display:flex;flex-direction:column;gap:12px;text-align:left;padding:26px;border:1px solid #c8dcd4;border-radius:16px;background:#f0f7f3;color:#183241;font:inherit}.merchandising-hub-card strong{font-size:21px;line-height:1.3}.merchandising-hub-card span{font-size:14px;color:#526675}.merchandising-hub-card:hover,.merchandising-hub-card:focus-visible{border-color:#087b65;box-shadow:0 5px 18px #18324114}.merch-impact-card,.merch-impact-form{border:1px solid #dce5eb;border-radius:14px;padding:22px;margin:20px 0;background:white}.merch-impact-card h4,.merch-impact-form h4{margin:0;font-size:20px}.merch-impact-form label{display:block;font-weight:600;margin:12px 0}.merch-impact-form input,.merch-impact-form select,.merch-impact-form textarea{display:block;width:100%;font:inherit;font-weight:400;padding:9px;border:1px solid #b9cbd5;border-radius:8px;margin-top:6px}.merch-impact-periods,.merch-impact-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}.merch-impact-periods fieldset{border:1px solid #dce5eb;border-radius:10px;padding:14px;min-width:0}.merch-impact-periods legend{font-weight:700;font-size:14px}.merch-impact-metrics>div{border-radius:10px;background:#f2f6f8;padding:16px}.merch-impact-conclusion{border-radius:16px;padding:6px 10px;background:#edf1f4;font-size:12px;font-weight:700}.merch-impact-conclusion.success{background:#dff1e4;color:#17613d}.merch-impact-conclusion.failure{background:#fde8e8;color:#a02935}.merch-impact-conclusion.improve{background:#fff0d6;color:#8b5710}.impact-positive{color:#17613d}.impact-negative{color:#a02935}@media(max-width:700px){.merchandising-hub,.merch-impact-periods,.merch-impact-metrics{grid-template-columns:1fr}.merchandising-hub-card{padding:20px}.merch-impact-card,.merch-impact-form{padding:16px}}

.grid>.tile.quality-tools{grid-column:1 / span 4}.quality-hub{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:24px 0}.quality-action{min-height:90px;white-space:normal;text-align:left;font-size:18px;padding:22px}@media(max-width:800px){.grid>.tile.quality-tools{grid-column:auto / span 6}}@media(max-width:560px){.grid>.tile.quality-tools{grid-column:1 / -1}.quality-hub{grid-template-columns:1fr}.quality-action{font-size:16px}}
.quality-services-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:20px}.quality-service-card,.quality-service-form{border:1px solid #dce5eb;border-radius:14px;background:white;padding:22px}.quality-service-card h4{margin:0;font-size:21px}.quality-service-card h5{font-size:14px;margin-bottom:8px}.quality-missions{white-space:pre-wrap;overflow-wrap:anywhere}.quality-evaluation{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:20px 0}.quality-service-form label{display:block;font-weight:600;margin-bottom:18px}.quality-service-form input,.quality-service-form select,.quality-service-form textarea{display:block;width:100%;margin-top:7px;padding:10px;border:1px solid #b9cbd5;border-radius:8px;font:inherit}@media(max-width:700px){.quality-services-list{grid-template-columns:1fr}}

.quality-service-icon{width:48px;height:48px;object-fit:contain;border-radius:8px;margin-bottom:12px;display:block}.quality-service-icon[hidden]{display:none}
.quality-errors-scroll{overflow-x:auto;max-width:100%}.quality-errors-table{border-collapse:collapse;width:100%;min-width:1250px;font-size:13px}.quality-errors-table th,.quality-errors-table td{padding:12px 10px;border-bottom:1px solid #dce5eb;text-align:left;vertical-align:top;white-space:pre-wrap;overflow-wrap:anywhere}.quality-errors-table th{background:#edf5f2;font-size:12px}.quality-errors-table td:nth-child(4),.quality-errors-table td:nth-child(7){min-width:190px;max-width:260px}.quality-errors-table tr:nth-child(even){background:#f7f9fb}.quality-notification{margin-top:12px}.quality-notification label{display:flex;align-items:center;gap:6px}.quality-notification small{display:block;margin-top:5px;color:#526675}.quality-severity-bar{display:flex;gap:3px;max-width:180px;margin:6px 0}.quality-severity-bar span{flex:1;border-radius:4px;background:#e8edf0;text-align:center;padding:6px 9px;color:#566774}.quality-severity-bar .filled{background:#ffad36;color:#573400}.quality-severity-bar.level-2 .filled{background:#ff8b2c;color:#572600}.quality-severity-bar.level-3 .filled{background:#f65334;color:white}.quality-severity-bar.level-4 .filled{background:#f0182b;color:white}.quality-error-form{max-width:800px;margin-top:20px}.quality-error-form label{display:block;font-weight:600;margin:16px 0}.quality-error-form input:not([type=checkbox]),.quality-error-form select,.quality-error-form textarea{display:block;width:100%;font:inherit;font-weight:400;margin-top:7px;border:1px solid #b9cbd5;border-radius:8px;padding:10px}.quality-error-form input[type=range]{accent-color:#f65334;padding:0;border:0}

.quality-error-delete{display:block;margin-top:8px;color:#a02935;border-color:#e3b7bd}
.temperature-month-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.temperature-month-nav input{padding:9px;font:inherit;border:1px solid #b9cbd5;border-radius:8px}.temperature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:20px 0}.temperature-card{border:1px solid #dce5eb;border-radius:14px;padding:20px;background:#fff}.temperature-card-title{border:0;background:none;padding:0;color:#183241;font:inherit;font-size:21px;font-weight:700;text-align:left}.temperature-card-title:hover{text-decoration:underline}.temperature-values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:16px 0}.temperature-values small,.temperature-values strong{display:block}.temperature-values small{font-size:11px;color:#526675}.temperature-values strong{font-size:16px;margin-top:5px}.temperature-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin:18px 0}.temperature-calendar small{text-align:center;color:#526675}.temperature-day{border:1px solid transparent;border-radius:6px;min-height:31px;font:inherit;font-size:12px}.temperature-day.ok{background:#dff1e4;color:#17613d}.temperature-day.alert{background:#fde2e6;color:#a02935;border-color:#eab6bf}.temperature-day.missing{background:#e6eaed;color:#526675}.temperature-day.future{background:#f5f7f8;color:#a0aab2}.temperature-file{position:relative;display:inline-block;cursor:pointer}.temperature-file input{position:absolute;width:100%;height:100%;opacity:0;inset:0;cursor:pointer}.temperature-drop{border:2px dashed #adc8bc;border-radius:12px;padding:22px;margin:20px 0;text-align:center;color:#526675}.temperature-drop.dragging{background:#e5f3eb;border-color:#087b65}.temperature-chart{display:block;width:100%;height:auto;background:#fff;border:1px solid #dce5eb;border-radius:12px;margin:18px 0}.temperature-event{border:1px solid #ecc1c8;border-left:4px solid #d7273e;border-radius:10px;padding:20px;margin:18px 0;background:#fff}.temperature-event h5{margin:0;font-size:16px}.temperature-event label{display:block;font-size:14px;font-weight:600}.temperature-event textarea{display:block;width:100%;font:inherit;margin:7px 0 12px;padding:10px;border:1px solid #b9cbd5;border-radius:8px}.temperature-comment{white-space:pre-wrap;padding:12px;background:#f2f6f8;border-radius:8px;font-size:13px}@media(max-width:750px){.temperature-grid{grid-template-columns:1fr}.temperature-values strong{font-size:14px}.temperature-card{padding:16px}}

.merch-month-delete{font-size:11px;padding:7px 9px;margin-top:8px;color:#a02935;border-color:#e3b7bd}

/* Horaires personnels visibles sous un en-tête compact. */
#home .grid>.tile[data-universe="Emplois du temps"]{display:grid;grid-template-columns:32px minmax(0,1fr);grid-template-rows:auto auto;gap:6px 10px;align-content:start;padding:20px}
#home .grid>.tile[data-universe="Emplois du temps"]>.symbol{width:32px;height:32px;margin:0;grid-column:1;grid-row:1;border-radius:9px}
#home .grid>.tile[data-universe="Emplois du temps"]>.symbol svg{width:21px;height:21px}
#home .grid>.tile[data-universe="Emplois du temps"]>strong{grid-column:2;grid-row:1;align-self:center;min-height:0;font-size:17px;text-align:left}
#home .grid>.tile[data-universe="Emplois du temps"]>span:not(.symbol):not(.tile-schedule){display:none}
#home .grid>.tile[data-universe="Emplois du temps"]>.tile-schedule{position:static;grid-column:1/-1;grid-row:2;width:100%;height:auto;margin:0;padding-top:6px;gap:2px;line-height:18px}
#home .grid>.tile .tile-schedule span{margin:0;line-height:18px}
#home .grid>.tile .tile-schedule-title{font-size:11px;line-height:14px}
#home .grid>.tile .tile-schedule-list{max-height:144px;overflow-y:auto;flex:none;font-size:12px}
#home .grid>.tile .tile-schedule-line{display:grid;grid-template-columns:78px minmax(0,1fr);gap:8px;line-height:18px;min-height:18px}
#home .grid>.tile .tile-schedule-line b{font-size:12px;line-height:18px;color:#183241}
#home .grid>.tile .tile-schedule-line>span{font-size:12px;line-height:18px;overflow-wrap:anywhere;color:#526675}

.merch-validation-status{display:block;font-size:11px;font-weight:700;padding:5px 7px;border-radius:6px;margin:6px 0 0}.merch-validation-status.approved{background:#dff1e4;color:#17613d}.merch-validation-status.pending{background:#fff0d6;color:#8b5710}.merch-month-validated{border-color:#7ebc99;background:#f2faf4}.merch-validation-date{display:block;font-size:10px;font-weight:400;line-height:1.5;margin:5px 0;color:#526675}.merch-validation-history{font-size:10px;font-weight:400;margin:7px 0}.merch-validation-history p{margin:5px 0}.merch-month-card textarea:disabled,.merch-month-card select:disabled,.merch-month-card input:disabled{opacity:1;color:#526675;background:#f2f6f4}.merch-month-card>.btn{margin-top:7px;font-size:11px;white-space:normal}.merch-zone-item .merch-validation-status{align-self:center;white-space:nowrap}
.tp-table-scroll{overflow-x:auto;max-width:100%;margin:22px 0}.tp-table{width:100%;min-width:680px;border-collapse:collapse;font-size:14px}.tp-table th,.tp-table td{padding:11px 12px;text-align:right;border-bottom:1px solid #dce5eb;font-variant-numeric:tabular-nums}.tp-table th:first-child,.tp-table td:first-child{text-align:left;text-transform:capitalize}.tp-table thead,.tp-table tfoot{background:#edf5f2}.tp-table tfoot{font-weight:700}.tp-table tbody tr:nth-child(even){background:#f7f9fb}.tp-table .btn{font-size:12px;padding:6px 10px}.tp-state{display:inline-block;padding:5px 8px;border-radius:7px;font-size:12px;white-space:nowrap}.tp-state.tolerable{background:#dff1e4;color:#17613d}.tp-state.problematic{background:#fde2e6;color:#a02935}.tp-state.unknown{background:#e8edf0;color:#526675}.tp-total-problematic{color:#a02935}.tp-total-tolerable{color:#17613d}.tp-import-file{position:relative;display:inline-block;cursor:pointer}.tp-import-file input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer}

.lab-email-dialog{width:min(620px,94vw);max-height:90vh;overflow:auto}.lab-email-dialog form{display:grid;gap:10px}.lab-email-dialog textarea{min-height:180px}

.lab-contact-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.lab-contact-heading h4{margin:0}.lab-contact-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;flex:0 0 42px;border:1px solid transparent;border-radius:10px;cursor:pointer;padding:8px}.lab-contact-icon svg{width:26px;height:26px}.lab-contact-mail{background:#087b65;color:white}.lab-contact-whatsapp{background:#25d366;color:#fff}.lab-contact-icon:hover{filter:brightness(.92)}.lab-contact-icon:focus-visible{outline:3px solid #7044a1;outline-offset:3px}.lab-contact-icon:disabled{opacity:.4;cursor:default}

.schedule-day-shortcut{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.schedule-day-shortcut label{flex:1;min-width:180px}.schedule-day-shortcut select{display:block;width:100%;padding:8px}.schedule-slot.conge,.timeline-slot.conge{background:#e2f3eb;color:#185e46}.schedule-slot.maladie,.timeline-slot.maladie{background:#ffe1ea;color:#862044}.schedule-slot.absence_injustifiee,.timeline-slot.absence_injustifiee{background:#fbd7d7;color:#8b1c1c}.schedule-slot.recuperation,.timeline-slot.recuperation{background:#eee3fb;color:#573477}.schedule-slot.absence,.timeline-slot.absence,.schedule-slot.repos,.timeline-slot.repos{background:#e8ecef;color:#485760}.timeline-duration-note{display:block;font-size:10px;white-space:normal;margin-top:4px}.schedule-slot-form-row label[hidden]{display:none!important}.schedule-day-shortcut+.schedule-slot-editor{margin-top:10px}

.schedule-slot-editor>.schedule-slot-form-row{display:flex;flex-direction:column;gap:12px;padding:14px}.schedule-slot-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:10px;border-bottom:1px solid #dce6e9}.schedule-slot-heading h4{margin:0;font-size:15px;white-space:nowrap}.schedule-slot-heading .schedule-slot-type{display:flex;align-items:center;gap:10px;font-weight:600;margin:0}.schedule-slot-heading .schedule-slot-type select{margin:0;width:230px;max-width:100%;padding:8px}.schedule-slot-times{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.5fr);gap:12px;align-items:start}.schedule-slot-times label{min-width:0;margin:0}.schedule-slot-times input,.schedule-slot-times select{box-sizing:border-box;width:100%;min-width:0;padding:8px;border:1px solid #b9cbd5;border-radius:7px;font:inherit}.schedule-slot-times .schedule-slot-post select{font-weight:650}.schedule-slot-footer{display:flex;justify-content:flex-end}.schedule-slot-form-row>.schedule-comment-field{margin:0}.schedule-slot-form-row>.schedule-comment-field textarea{box-sizing:border-box;margin-top:5px;min-height:55px}.schedule-slot-form-row>label:not(.schedule-comment-field){align-self:flex-start}.schedule-slot-form-row>label select{padding:7px}@media(max-width:560px){.schedule-slot-heading{align-items:flex-start;flex-wrap:wrap;gap:8px}.schedule-slot-heading .schedule-slot-type{flex:1;justify-content:space-between}.schedule-slot-heading .schedule-slot-type select{width:auto;min-width:140px}.schedule-slot-times{gap:8px}}@media(max-width:420px){.schedule-slot-times{grid-template-columns:1fr 1fr}.schedule-slot-times .schedule-slot-post{grid-column:1/-1}}

.schedule-template-hours{display:block;margin-top:6px;font-size:12px;font-weight:700;color:#087b65;white-space:nowrap}

.leave-planning-preview{max-height:320px;overflow:auto;margin-top:12px;padding:10px;border-radius:8px;background:#f0f7f4}.leave-planning-preview:empty{display:none}.leave-planning-preview p{margin:7px 0}.leave-planning-preview .btn{position:sticky;bottom:0}

.news-message.news-reply{border-left:5px solid #7750a4}.news-reply-badge{display:inline-block;background:#eee6f8;color:#583181;border-radius:7px;padding:5px 9px;font-size:12px;font-weight:750;margin-top:10px}.news-reply-context{margin:10px 0 12px;padding:10px 12px;border-left:3px solid #c6b1de;background:#f7f3fb;border-radius:0 7px 7px 0;color:#574b61}.news-reply-context small{font-weight:650}.news-reply-context p{margin:5px 0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}.news-reply-context summary{cursor:pointer;font-size:12px;margin-top:7px;color:#65418a}

.news-challenge-digest{list-style:none;padding:0;margin:12px 0;display:grid;gap:10px}.news-challenge-digest li{padding:10px 12px;background:#f0f7f4;border-radius:8px;border-left:3px solid #087b65}.news-challenge-digest strong,.news-challenge-digest span{display:block;overflow-wrap:anywhere}.news-challenge-digest span{font-size:13px;margin-top:4px;color:#425a50}

.schedule-kind.reunion,.schedule-day.reunion,.schedule-slot.reunion,.timeline-slot.reunion{background:#e4edfc;color:#234d83}

.service-evaluation-dialog{width:min(720px,94vw);overflow:auto}.service-mission-score{display:grid;grid-template-columns:minmax(0,1fr) 65px;gap:8px 14px;padding:16px 0;border-bottom:1px solid #dce5eb}.service-mission-score span{white-space:pre-wrap;overflow-wrap:anywhere}.service-mission-score output{text-align:right;font-weight:700;color:#087b65}.service-mission-score input[type=range]{grid-column:1/-1;width:100%;accent-color:#087b65}.service-evaluation-dialog .dialog-actions{position:sticky;bottom:-28px;background:white;padding:14px 0;flex-wrap:wrap}

.login-version{display:block;line-height:1.5}.login-version>strong{color:#087b65;font-size:14px}.login-version p{margin:6px 0}.login-version-history{border-top:1px solid #e5ebef;margin-top:12px;padding-top:10px}.login-version-history>strong{font-weight:600}

.news-order-digest{padding:12px;background:#f2f7f5;border-radius:10px;margin:12px 0}.news-order-digest li{margin:7px 0;overflow-wrap:anywhere}

.order-plan-row{grid-template-columns:48px minmax(0,.95fr) minmax(0,1.6fr) minmax(0,1.05fr) minmax(0,1fr)}.order-plan-number{color:#315e65;font-size:15px;align-self:start;overflow-wrap:anywhere;padding:5px 0}.order-plan-search select[aria-label="Classer les commandes"]{max-width:100%}@media(max-width:850px){.order-plan-row{grid-template-columns:42px repeat(2,minmax(0,1fr))}.order-plan-number{grid-column:1;grid-row:1/4}.order-plan-identity{grid-column:2}.order-plan-care{grid-column:3;grid-row:1/3}.order-plan-schedule{grid-column:2}.order-plan-follow{grid-column:2/-1}}@media(max-width:560px){.order-plan-number{background:#e6f0ef;border-radius:6px;padding:4px 9px}}

.order-management{border:1px solid #d3e3df;border-radius:10px;background:#f1f7f5;padding:12px 14px;margin:0 0 16px}.order-management summary{font-weight:650;cursor:pointer;color:#245b50}.order-management-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:12px}.order-management-actions select{padding:9px;border:1px solid #b9ccd0;border-radius:8px;background:white;font:inherit;max-width:100%}

.order-mfa-actions .order-exit-button{background:#c84712;color:#fff;border:2px solid #a63609;font-weight:750;font-size:16px;padding:13px 20px;box-shadow:0 3px 8px #b13a142b}.order-mfa-actions .order-exit-button:hover{background:#a8370b;border-color:#8d2c08}.order-mfa-actions .order-exit-button:focus-visible{outline:3px solid #182d3d;outline-offset:4px}.order-mfa-actions .order-exit-button:disabled{opacity:.7;cursor:wait}

.order-auth-options{flex:1 1 100%;border:1px solid #d7e2e6;border-radius:9px;background:#f6f9fa;padding:10px 12px}.order-auth-options>summary{font-weight:650;cursor:pointer;color:#3c5261}.order-auth-options-body{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding-top:12px}.order-auth-options-body .field-note{flex-basis:100%;margin:0}

/* Icônes natives : une seule animation courte sur la tuile active, sans requête réseau. */
#home .tile-icon-motion{transform-box:fill-box;transform-origin:center;--icon-animation:home-icon-nod}
#home .icon-tick{--icon-animation:home-icon-tick}#home .icon-clock{--icon-animation:home-icon-clock;transform-box:view-box;transform-origin:12px 12px}#home .icon-send{--icon-animation:home-icon-send}#home .icon-bubble{--icon-animation:home-icon-bubble}#home .icon-spark,#home .icon-key{--icon-animation:home-icon-spark}#home .icon-lines{--icon-animation:home-icon-lines}#home .icon-page{--icon-animation:home-icon-page}#home .icon-ring{--icon-animation:home-icon-ring}#home .icon-music,#home .icon-wheel{--icon-animation:home-icon-music}#home .icon-link{--icon-animation:home-icon-link}#home .icon-box{--icon-animation:home-icon-box}
@media(prefers-reduced-motion:no-preference){#home .grid>.tile:focus-visible .tile-icon-motion{animation:var(--icon-animation) .85s ease-in-out 1}}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){#home .grid>.tile:hover .tile-icon-motion{animation:var(--icon-animation) .85s ease-in-out 1}}
@keyframes home-icon-nod{0%,100%{transform:translateY(0) rotate(0)}35%{transform:translateY(-1px) rotate(-10deg)}65%{transform:rotate(7deg)}}
@keyframes home-icon-tick{0%,100%{transform:scale(1);opacity:1}35%{transform:scale(.7);opacity:.35}70%{transform:scale(1.16);opacity:1}}
@keyframes home-icon-clock{0%,100%{transform:rotate(0)}55%{transform:rotate(100deg)}}
@keyframes home-icon-send{0%,100%{transform:translate(0,0)}50%{transform:translate(2px,-2px)}70%{transform:translate(-1px,1px)}}
@keyframes home-icon-bubble{0%,100%{transform:translateY(0);opacity:1}50%{transform:translateY(-2px);opacity:.4}}
@keyframes home-icon-spark{0%,100%{transform:scale(1)}45%{transform:scale(1.25)}70%{transform:scale(.9)}}
@keyframes home-icon-lines{0%,100%{transform:translateX(0)}35%{transform:translateX(1.5px)}65%{transform:translateX(-.5px)}}
@keyframes home-icon-page{0%,100%{transform:scaleX(1)}45%{transform:scaleX(.75)}}
@keyframes home-icon-ring{0%,100%{transform:rotate(0)}25%,65%{transform:rotate(-12deg)}45%,80%{transform:rotate(10deg)}}
@keyframes home-icon-music{0%,100%{transform:translateY(0)}30%{transform:translateY(-1.5px)}65%{transform:translateY(1px)}}
@keyframes home-icon-link{0%,100%{transform:translate(0,0)}45%{transform:translate(1.5px,-1.5px)}}
@keyframes home-icon-box{0%,100%{transform:translateY(0)}45%{transform:translateY(-2px)}70%{transform:translateY(.5px)}}
@media(prefers-reduced-motion:reduce){#home .tile-icon-motion{animation:none!important;transform:none!important}}

#news-print-sheet{display:none}@media print{body.news-printing>:not(#news-print-sheet){display:none!important}body.news-printing #news-print-sheet{display:block!important;width:100%;padding:0;color:#111;font-size:11pt;line-height:1.45}#news-print-sheet h1{font-size:19pt;margin:0 0 18pt}#news-print-sheet .news-message{border:0!important;box-shadow:none!important;padding:0!important;margin:0!important;background:white!important;break-inside:auto!important}#news-print-sheet .news-message-heading{display:flex;justify-content:space-between;gap:18pt;flex-wrap:wrap}#news-print-sheet .news-message-text{white-space:pre-wrap;overflow-wrap:anywhere}#news-print-sheet li{break-inside:avoid}#news-print-sheet .news-order-digest,#news-print-sheet .news-challenge-digest li{background:white;border-color:#999}#news-print-sheet .news-print-note{font-size:9pt;margin-top:18pt}#news-print-sheet a{text-decoration:none;color:inherit}#news-print-sheet .news-reply-context{background:white;border-color:#999}}

.order-plan-number>strong{display:block}.order-row-alerts{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:10px}.order-alert-icon{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;flex:0 0 auto;width:25px;height:25px;print-color-adjust:exact;-webkit-print-color-adjust:exact}.order-alert-icon svg{display:block;width:25px;height:25px}.order-alert-late,.order-alert-unreadable{color:#b62232}.order-alert-soon{color:#ba5605}.order-alert-waiting{color:#2467b0}.order-alert-unplanned{color:#7842ad}.order-alert-incomplete{color:#596974}.order-alert-legend{display:flex;gap:12px 18px;flex-wrap:wrap;margin:12px 0}.order-alert-legend>span,.order-digest-alert{display:flex;align-items:center;gap:8px;font-size:12px}.order-digest-alert{margin-top:5px}@media(max-width:560px){.order-row-alerts{flex-direction:row;flex-wrap:wrap}.order-plan-number{align-self:stretch}.order-plan-number>strong{display:inline-block}}

.agenda-navigation .youtube-music-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:#fff;color:#c41925;border-color:#e4b5b9;padding:10px 14px;min-height:52px}.youtube-music-button svg{display:block;width:28px;height:28px;flex-shrink:0}.youtube-music-button span{font-weight:650}.youtube-music-button:disabled{opacity:.5;cursor:default}

.music-admin-panel>summary{font-weight:700;color:#365b54}.music-admin-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0}.music-admin-actions .music-platform-button{display:inline-flex;align-items:center;justify-content:center;width:52px;height:48px;padding:10px}.music-admin-actions .youtube-music-button{display:inline-flex;align-items:center;gap:8px}.music-admin-actions .music-platform-button svg{width:30px;height:30px}.music-admin-actions .youtube-music-button svg{width:26px;height:26px}.music-admin-panel .calendar-tools{margin:14px 0 0}

.people-administration>summary{font-weight:700;color:#365b54}.people-admin-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.people-administration .people-import,.people-administration .invitation-mail{margin:14px 0}.people-admin-actions .btn{white-space:normal;text-align:left}

/* Repère partagé des menus d’administration : violet, en haut à droite. */
.admin-menu.calendar-tools,.admin-menu.order-management,.admin-menu.schedule-admin-panel,.admin-menu.hr-settings{display:block;width:100%;min-width:0;margin:0 0 20px;padding:0;border:0;border-radius:12px;background:transparent;position:relative;grid-column:auto;grid-row:auto;text-align:left}
.admin-menu>summary{display:list-item;list-style:none;box-sizing:border-box;width:max-content;max-width:100%;margin-left:auto;cursor:pointer;border:1px solid #593185;border-radius:10px;background:#6d429c;color:#fff;text-align:center;font-size:14px;font-weight:700;padding:11px 16px}
.admin-menu>summary::-webkit-details-marker{display:none}.admin-menu>summary:before{content:'⚙ ';font-size:15px}.admin-menu>summary:after{content:' ▾'}.admin-menu[open]>summary:after{content:' ▴'}.admin-menu>summary:hover{background:#593185}.admin-menu>summary:focus-visible{outline:3px solid #34204b;outline-offset:3px}
.admin-menu[open]{padding:14px;border:1px solid #d5c5e9;background:#f8f4fc}.admin-menu[open]>summary{margin-bottom:14px}
.admin-menu>.schedule-admin-tools{position:static;right:auto;top:auto;box-sizing:border-box;width:100%;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;max-height:none;overflow:visible}
@media(max-width:560px){.admin-menu>summary{font-size:13px;padding:10px 13px}.admin-menu[open]{padding:11px}}
@media print{.admin-menu{display:none!important}}

/* Music selection actions are grouped in Administration. */
.music-row{grid-template-columns:20px minmax(0,1.3fr) minmax(0,1fr) auto}@media(max-width:800px){.music-row{grid-template-columns:20px minmax(0,1fr)}}

/* En-tête compact PORTAIL +, optimisé écrans 4:3 */
header{padding-top:10px;padding-bottom:10px;min-height:92px}.portal-brand .sub{margin-top:2px;font-size:12px}.portal-logo{width:min(460px,100%);max-height:90px;object-fit:contain}.portal-logo-lockup{display:block;line-height:0}.portal-brand a{display:inline-block;max-width:100%}@media(max-width:1050px){header{padding-top:8px;padding-bottom:8px}.portal-logo{width:min(390px,100%);max-height:78px}}@media(max-width:560px){.portal-logo{width:min(340px,100%);max-height:72px}}

/* Nouvelle bannière d’accueil : visuel validé, format compact pour écrans 4:3 */
.home-space-banner{width:100%;margin:-18px auto 20px;max-width:1050px;overflow:hidden;border-radius:12px;background:#081a3a;box-shadow:0 3px 14px #152e4722}.home-space-banner img{display:block;width:100%;height:auto;max-height:170px;object-fit:contain;object-position:center}.welcome{margin-bottom:30px}@media(max-width:1050px){.home-space-banner img{max-height:145px}.home-space-banner{margin-top:-10px;margin-bottom:16px}}@media(max-width:800px){.home-space-banner img{max-height:125px}.home-space-banner{margin-top:0}}@media(max-width:560px){.home-space-banner img{max-height:110px}.home-space-banner{border-radius:8px}}

/* Film original Higgsfield sur la connexion : aucun texte ajouté */
.login-film-wrap{position:relative;overflow:hidden;aspect-ratio:16/9;background:#081733;border-radius:14px}.login-higgsfield-video{display:block;width:100%;height:100%;aspect-ratio:16/9;object-fit:contain;background:#081733}.login-film-wrap .film-replay{display:none}

/* Identité approuvée : logo UNIQUEMENT en en-tête, sans bannière entre WhatsApp et les tuiles. */
.home-space-banner{display:none!important}
header{padding-top:8px;padding-bottom:8px;min-height:0;gap:12px}
.portal-brand{min-width:0;max-width:calc(100% - 180px)}
.portal-brand a{max-width:100%;display:block}
.portal-logo-lockup{display:block;line-height:0}
.portal-logo{display:block;width:min(540px,100%);height:auto;max-height:148px;object-fit:contain;object-position:left center}
.portal-brand .sub{font-size:11px;margin-top:1px}
@media(max-width:1100px){header{padding-top:6px;padding-bottom:6px}.portal-logo{width:min(445px,100%);max-height:123px}}
@media(max-width:800px){.portal-logo{width:min(370px,100%);max-height:104px}.portal-brand{max-width:calc(100% - 115px)}}
@media(max-width:560px){header{gap:6px;flex-wrap:wrap}.portal-brand{max-width:100%}.portal-logo{width:min(100%,340px);max-height:95px}}

/* Connexion v1.11 : expérience immersive, vidéo grand format et formulaire dédié. */
body:has(#login:not(.hidden)){background:radial-gradient(ellipse at 15% 10%,#19345e 0%,#0b1933 50%,#071124 100%)}
body:has(#login:not(.hidden)) main{max-width:none;width:100%;padding:clamp(16px,3vw,42px);min-height:100dvh;display:grid;place-items:center}
body:has(#login:not(.hidden)) .login-card{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.85fr);width:min(1320px,100%);max-width:none;margin:0;padding:0;border:1px solid #e0e9f13d;border-radius:24px;background:#fff;box-shadow:0 30px 85px #0008;overflow:hidden}
.login-visual-panel{min-width:0;display:flex;flex-direction:column;justify-content:center;background:#081733;color:#fff;padding:clamp(12px,2vw,28px)}
.login-visual-panel .login-film-wrap{margin:0;border-radius:16px;aspect-ratio:16/9;box-shadow:0 10px 40px #0006}
.login-visual-panel .login-higgsfield-video{width:100%;height:100%;object-fit:contain}
.login-visual-caption{display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center;padding:18px 8px 5px;color:#e9f3ff}
.login-visual-caption strong{font-size:clamp(16px,1.6vw,23px);font-weight:650}
.login-visual-caption>span:last-child{font-size:13px;color:#adbed9}
.login-visual-pill{font-size:12px;font-weight:800;letter-spacing:2px;color:#b8fce7;border:1px solid #4c9e98;padding:5px 13px;border-radius:999px}
.login-fields-panel{min-width:0;padding:clamp(25px,3.3vw,52px);display:flex;flex-direction:column;justify-content:center}
.login-eyebrow{font-size:11px;letter-spacing:2px;font-weight:800;color:#7652a8}
.login-fields-panel h1{font-size:clamp(25px,2.4vw,34px);line-height:1.2;margin:12px 0 8px;color:#162844}
.login-fields-panel .intro{color:#60718a;margin:0 0 28px}
.login-fields-panel label{display:block;color:#243550;font-size:14px;font-weight:700;margin-bottom:7px}
.login-fields-panel #login-email,.login-fields-panel #login-password{border:1px solid #cbd5e3;border-radius:12px;background:#f8fafd;padding:15px 16px;margin:0 0 19px;min-height:52px;transition:border-color .2s,box-shadow .2s}
.login-fields-panel #login-email:focus,.login-fields-panel #login-password:focus{outline:0;border-color:#7551ad;box-shadow:0 0 0 3px #7551ad22;background:#fff}
.login-fields-panel #login-form .primary{min-height:52px;border-radius:12px;font-size:16px;font-weight:750;background:#7043a0;border-color:#7043a0}
.login-fields-panel #login-form .primary:hover{background:#5d318d}
.login-fields-panel .field-note{font-size:12px;color:#69778a;margin:20px 0 0;line-height:1.5}
.login-fields-panel .login-version{display:block;font-size:11px;color:#748195;margin-top:24px;padding-top:13px}
.login-fields-panel .login-version>p{margin:4px 0}
.login-fields-panel .login-version-history{font-size:10px}
@media(max-width:900px){body:has(#login:not(.hidden)) .login-card{grid-template-columns:minmax(0,1fr) minmax(300px,.9fr)}.login-fields-panel{padding:25px}.login-visual-panel{padding:14px}}
@media(max-width:700px){body:has(#login:not(.hidden)) .login-card{grid-template-columns:1fr;max-width:530px}.login-visual-panel{padding:12px}.login-visual-caption{padding:9px 4px 5px}.login-visual-caption>span:last-child{display:none}.login-fields-panel{padding:24px}.login-fields-panel .intro{margin-bottom:18px}.login-fields-panel .login-version{margin-top:14px}.login-fields-panel .login-version-history{display:none}}
@media(max-height:700px) and (min-width:701px){.login-visual-caption{padding:10px 4px 0}.login-fields-panel{padding-top:15px;padding-bottom:15px}.login-fields-panel .intro{margin-bottom:15px}.login-fields-panel #login-email,.login-fields-panel #login-password{min-height:44px;margin-bottom:12px}.login-fields-panel .login-version-history{display:none}}

/* Login heading follows the Portail+ brand typography. */
.login-fields-panel h1.login-univers-title{font-family:Segoe UI,Arial,sans-serif;font-weight:800;letter-spacing:-1px;color:#00554e;line-height:1.15;margin:0 0 28px}

/* Welcome uses the same brand typography as the login heading. */
#home .welcome h1{font-family:Segoe UI,Arial,sans-serif;font-weight:800;letter-spacing:-1px;color:#7043a0}
#home .welcome #welcome-name{font:inherit;font-style:normal;color:#006e60}

/* Quality workflows: status, coverage and monthly rejection trend. */
.quality-state{display:inline-block;padding:5px 9px;border-radius:8px;font-size:13px;font-weight:700;white-space:normal}.quality-state.declared{background:#fff0e0;color:#944300}.quality-state.in_progress{background:#e8effc;color:#244f95}.quality-state.closed{background:#e2f3e9;color:#116843}.quality-errors-table td select{display:block;max-width:180px;margin-top:8px}.quality-errors-table td details{min-width:160px;margin-top:8px}.quality-long-text{white-space:pre-wrap;min-width:210px;max-width:330px}.quality-trend-panel{margin:20px 0;padding:16px;border:1px solid #dce5eb;border-radius:12px;background:#fff}.quality-trend-chart{display:block;width:100%;max-width:850px;height:auto}.tp-trend-up{color:#ad263b;font-weight:650}.tp-trend-down{color:#08724e;font-weight:650}.quality-coverage{margin:22px 0}.quality-coverage>summary{font-weight:700;cursor:pointer}.quality-coverage th{min-width:120px}.quality-coverage td small{display:block;white-space:nowrap;color:#526675}.quality-coverage-month{border:1px solid transparent;border-radius:8px;padding:6px 9px;font:inherit;font-size:13px;white-space:nowrap}.quality-coverage-month.present{background:#e3f2eb;color:#176b48}.quality-coverage-month.partial{background:#fff1db;color:#8b5205}.quality-coverage-month.missing{background:#fce5e8;color:#a02d3e}.quality-coverage .tp-table-scroll{max-height:390px;overflow:auto}.quality-coverage th:first-child{position:sticky;left:0;background:#f4f7fa;z-index:1}

/* Shared action hierarchy and save feedback across editing screens. */
.ux-form-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;width:100%;grid-column:1/-1;margin-top:18px;padding-top:14px;border-top:1px solid #dce5eb}
.ux-form-actions>.ux-cancel-action{order:1}.ux-form-actions>.ux-primary-action{order:2}
button.ux-primary-action{background:#087b65;color:white;border:1px solid #087b65;font-weight:700;border-radius:9px;padding:10px 16px}
button.ux-primary-action:hover{background:#056650}button.ux-delete-action{color:#a32c3f;border-color:#d9a2ab}
dialog .ux-form-actions{position:sticky;bottom:0;background:white;padding-bottom:8px;z-index:3}
.universe-toolbar{align-items:flex-end}.universe-toolbar>.universe-actions{margin-left:auto;justify-content:flex-end}
.portal-save-feedback{position:fixed;right:20px;bottom:18px;z-index:1000;max-width:min(460px,calc(100vw - 32px));padding:12px 18px;border:1px solid #d3dde5;border-radius:12px;background:white;box-shadow:0 5px 22px #142b3e26;font-size:14px;font-weight:650;pointer-events:none}
#portal-save-feedback[hidden]{display:none}.portal-save-feedback.saving{background:#eaf0fd;color:#244f95;border-color:#b8c9ee}.portal-save-feedback.success{background:#e3f4e9;color:#116843;border-color:#b1d7bf}.portal-save-feedback.failure{background:#fff0f1;color:#a2253a;border-color:#e7afb8}.portal-save-feedback.dirty{background:#fff5e4;color:#815009;border-color:#ecd3a4}
@media(max-width:600px){.ux-form-actions{gap:8px}.ux-form-actions>.btn{min-height:42px}.portal-save-feedback{right:12px;bottom:10px;font-size:13px}}
@media print{#portal-save-feedback{display:none!important}}

.ux-save-state{grid-column:1/-1;margin:10px 0;font-size:13px;font-weight:650}.ux-save-state:empty{display:none}.ux-save-state.dirty{color:#815009}.ux-save-state.saving{color:#244f95}.ux-save-state.success{color:#116843}.ux-save-state.failure{color:#a2253a}

/* Communication: explicit message origin and chronological conversations. */
.news-origin-badge{display:inline-flex;align-items:center;margin:0 0 9px;padding:4px 9px;border-radius:8px;font-size:12px;font-weight:750;line-height:1.4}
.news-origin-badge.colleague{background:#e4f3e9;color:#146546}.news-origin-badge.reply{background:#e5edfd;color:#27539a}.news-origin-badge.automatic{background:#eee8f8;color:#64428c}
.news-message.news-origin-colleague{border-left:4px solid #27825d}.news-message.news-origin-reply{border-left:4px solid #4976bc}.news-message.news-origin-automatic{border-left:4px solid #8766ae}
.news-thread{margin-bottom:20px}.news-thread-toggle{display:block;margin:8px 0 0 auto;color:#315d91;border-color:#b7cbe0}.news-thread-content>h4{margin:0 0 12px;padding:10px 12px;background:#edf2f8;border-radius:9px;color:#294b75}
.news-thread-content:has(>h4){border-left:2px solid #d4dfed;padding-left:14px}.news-thread-content:has(>h4)>.news-message{margin-right:5%;margin-bottom:12px}.news-thread-content:has(>h4)>.news-message-outgoing{margin-left:5%;margin-right:0;background:#f0f5fb}
.news-message-outgoing>strong{display:block}.news-message-outgoing .news-message-text{white-space:pre-wrap}
@media(max-width:650px){.news-thread-content:has(>h4){padding-left:7px}.news-thread-content:has(>h4)>.news-message{margin-right:0}.news-thread-content:has(>h4)>.news-message-outgoing{margin-left:10px}}

/* Compact violet wordmark. The cover only removes navy margins around the artwork. */
.portal-brand{flex:0 1 430px}.portal-brand>div{min-width:0;max-width:100%;width:100%}
.portal-brand .portal-logo-lockup{width:100%;max-width:430px;aspect-ratio:4/1;overflow:hidden;border-radius:10px;background:#020c23}
.portal-brand .portal-logo-lockup .portal-logo{display:block;width:100%;height:100%;max-height:none;object-fit:cover;object-position:center;clip-path:none}
@media(max-width:1100px){.portal-brand{flex-basis:350px}.portal-brand .portal-logo-lockup{max-width:350px}}
@media(max-width:560px){.portal-brand{flex:0 1 100%;width:100%}.portal-brand .portal-logo-lockup{max-width:330px}}

/* Header matches the navy background sampled from the logo. */
body>header{background:#010b26;border-bottom-color:#17243e;color:#f1f5ff}
body>header .portal-logo-lockup{background:#010b26}
body>header .account-actions .badge{background:#211b40;color:#eadfff;border:1px solid #4d3b70}
body>header .account-actions .btn{background:#0c1935;color:#f3f6ff;border-color:#52617c}
body>header .account-actions .btn:hover{background:#1a2b4c;border-color:#9ab0d1}
body>header .account-actions .btn:focus-visible,body>header #portal-home:focus-visible{outline-color:#b8fce7}

/* Planning: one scroll surface keeps names and day/hour headers in view. */
.schedule .schedule-scroll,.schedule-timeline-scroll{max-height:65vh;max-height:65dvh;overflow:auto;scrollbar-gutter:stable;isolation:isolate}
.schedule .schedule-table{border-collapse:separate;border-spacing:0}
.schedule .schedule-table thead th{position:sticky;top:0;z-index:5;box-shadow:0 1px #cbd7df}
.schedule .schedule-table tbody th:first-child{z-index:4;background:#fff}
.schedule .schedule-table thead th:first-child{left:0;z-index:7;background:#f4f7fa}
.timeline-hours{position:sticky;top:0;z-index:6;background:#eef5f3;box-shadow:0 1px #cbd7df}
.timeline-hours .timeline-name{z-index:7}
.schedule .schedule-table td.schedule-today{background:#eef8f3;border-left:2px solid #25856c;border-right:2px solid #25856c}
.schedule .schedule-table th.schedule-today{background:#d5eee2;color:#155c46;border-top:3px solid #25856c}
.schedule-today-label{display:block;font-size:10px;font-weight:800;color:#155c46;margin:2px 0}
.schedule-today-title{border-left:4px solid #25856c;padding-left:10px}.schedule-today-view{border:2px solid #25856c}
.schedule-status{padding:10px 12px;border-radius:8px;border-left:5px solid;line-height:1.5}
.schedule-status.state-draft{background:#f1edf9;border-color:#7853ac;color:#50357a}
.schedule-status.state-published{background:#e4f5e9;border-color:#268547;color:#17592d}
.schedule-status.state-modified{background:#fff0d5;border-color:#d07b0c;color:#874500}
.schedule-legend-panel{margin:8px 0}.schedule-legend-panel .schedule-legend{display:flex;flex-wrap:wrap;gap:4px 6px}.schedule-legend-panel .schedule-kind,.schedule-legend-panel .schedule-post-badge{font-size:10px;padding:3px 6px;margin:0;border-radius:5px}
.schedule-slot-form-row.schedule-slot-invalid{outline:2px solid #c33939;background:#fff6f4}
.schedule-validation{color:#a42626;font-size:13px}.schedule-validation p{margin:5px 0}
@media print{.schedule .schedule-scroll,.schedule-timeline-scroll{max-height:none;overflow:visible}.schedule .schedule-table thead th,.schedule .schedule-table tbody th:first-child,.timeline-hours{position:static}.schedule-status,.schedule-today{print-color-adjust:exact}}
/* Compact consultation, with full comments on hover rather than extra lines. */
.schedule .schedule-table th,.schedule .schedule-table td{padding-top:3px;padding-bottom:3px}
.schedule .schedule-day{min-height:34px;padding:3px 4px;gap:2px}
.schedule .schedule-slot{font-size:10px;line-height:1.3;padding:2px 3px}
.schedule .schedule-day-kind{font-size:10px;line-height:1.2}
.schedule .schedule-table tbody th:first-child{font-size:12px}
.schedule-comment-indicator{font-size:10px;display:inline!important;margin-left:3px}
.timeline-person .timeline-track{min-height:49px}.timeline-person .timeline-slot{top:4px;height:41px;padding:3px 4px}.timeline-person .timeline-name{padding:4px 6px}.timeline-person-actions{margin-top:2px;gap:4px}.timeline-person .timeline-absence{inset:4px 0;padding:6px}
.timeline-slot .schedule-comment-indicator{position:absolute;top:3px;right:3px}.timeline-slot:has(.schedule-comment-indicator) strong{padding-right:15px}
.schedule-slot[tabindex]:focus-visible{outline:2px solid #087b67;outline-offset:1px}
.schedule-display-tools{display:flex;justify-content:flex-end;margin:6px 0}.schedule-comment-touch{border:0;background:#fffdf0;color:#234;font:inherit;cursor:pointer;padding:1px 3px;border-radius:4px;min-width:22px;min-height:22px}.schedule-comment-dialog{width:min(440px,90vw)}.schedule-comment-dialog p{white-space:pre-wrap;overflow-wrap:anywhere}
.schedule-expanded{position:fixed;inset:0;z-index:1000;background:#fff;padding:8px;overflow:auto}.schedule-expanded .schedule-timeline-scroll{max-height:calc(100dvh - 65px)}.schedule-expanded>.timeline-pharmacist-legend,.schedule-expanded>.field-note{display:none}
@media(max-width:950px) and (orientation:landscape){.schedule-timeline{min-width:700px}.timeline-row{grid-template-columns:112px minmax(0,1fr) 48px}.timeline-person .timeline-name{font-size:11px;padding:4px}.timeline-person .timeline-total{font-size:10px;padding:3px}.timeline-hour{font-size:10px}.timeline-slot strong{font-size:10px}.timeline-person .timeline-track{min-height:50px}.timeline-chart{height:78px}.timeline-count-bar{max-height:45px}.timeline-presence .timeline-name,.timeline-pharmacists .timeline-name{font-size:11px}.timeline-person-actions .schedule-order-controls .btn{min-height:26px}.timeline-pharmacist-legend{font-size:10px;gap:8px;margin:5px 0}.schedule-display-tools .btn{min-height:32px}.schedule-timeline-scroll{touch-action:pan-x pan-y}}
@media print{.schedule-display-tools{display:none}.schedule-expanded{position:static;padding:0;overflow:visible}.schedule-expanded .schedule-timeline-scroll{max-height:none}}
.google-connection-alert{margin:12px auto;padding:12px 16px;max-width:1240px;border:1px solid #e6b259;border-left:5px solid #cb7914;border-radius:9px;background:#fff2d9;color:#71400d;font-size:13px;line-height:1.5}.google-connection-alert[hidden]{display:none}.google-connection-issue{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px}.google-connection-issue>span{min-width:0;overflow-wrap:anywhere}.google-connection-issue .btn{flex-shrink:0}@media(max-width:650px){.google-connection-alert{margin:8px}.google-connection-issue{align-items:flex-start;flex-direction:column}}@media print{.google-connection-alert{display:none}}

/* Main workspaces follow the standard tiles; compact shortcuts finish the home page. */
.grid>.tile.primary-space{grid-column:span 3;min-height:214px;padding:24px}
.grid>.tile.compact-space{grid-column:span 4;min-height:128px;padding:18px 22px}
.grid>.tile.calculation-tools.compact-space{grid-column:1 / span 4}
#home .grid>.tile.compact-space>strong{min-height:0;font-size:16px;line-height:1.3}
#home .grid>.tile.compact-space>span:not(.symbol):not(.tile-news){min-height:0;font-size:12px;line-height:1.4}
@media(max-width:1050px){.grid>.tile.primary-space{grid-column:span 4}}
@media(max-width:800px){.grid>.tile.primary-space{grid-column:span 6}.grid>.tile.compact-space{grid-column:span 4;padding:14px 12px}#home .grid>.tile.compact-space>strong{font-size:14px}}
@media(max-width:560px){.grid>.tile.primary-space{padding:18px;min-height:190px}.grid>.tile.compact-space,.grid>.tile.calculation-tools.compact-space{grid-column:1 / -1;min-height:96px;padding:14px 16px}#home .grid>.tile.compact-space>strong{font-size:16px}}

.temperature-validation{display:inline-block;font-weight:800;margin-left:6px}.temperature-validation.mastered,.temperature-validation-choice.mastered{color:#116332}.temperature-validation.problem,.temperature-validation-choice.problem{color:#ac152b}.temperature-validation-choice{display:inline-flex!important;align-items:center;gap:6px;margin-right:18px}.temperature-event fieldset{border:1px solid #b9cbd5;border-radius:8px;margin:8px 0 14px}.temperature-day.alert .temperature-validation{background:#fff;border-radius:4px;padding:1px 4px}

.lab-doc-row .lab-doc-rename{flex-basis:100%;margin-top:0}.lab-doc-rename .btn{margin-right:8px}

/* Scalingo only: the two remaining compact shortcuts share the final row. */
@media(min-width:561px){#home .grid.scalingo-without-calculations>.tile.compact-space{grid-column:auto / span 6}}
