:root{--bg:#f4f7fb;--panel:#fff;--text:#132033;--muted:#728197;--primary:#2563eb;--primary2:#1d4ed8;--line:#dfe7f1;--soft:#eef5ff;--green:#16a34a;--orange:#f59e0b;--red:#dc2626;--shadow:0 18px 45px rgba(18,32,54,.10)}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:linear-gradient(135deg,#edf5ff,#f8fafc 45%,#f4f7fb);color:var(--text)}button,input,select,textarea{font:inherit}button{border:0;border-radius:14px;padding:11px 15px;background:var(--primary);color:white;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;gap:8px;justify-content:center;transition:.15s}button:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(37,99,235,.2)}button.secondary{background:#edf2f7;color:#233045}button.ghost{background:white;color:#233045;border:1px solid var(--line)}button.danger{background:var(--red)}button.ok{background:var(--green)}button.small{padding:8px 11px;border-radius:12px;font-size:13px}.iconbtn{width:38px;height:38px;padding:0;border-radius:999px;background:#f1f5f9;color:#334155}.login{min-height:100vh;display:grid;place-items:center;padding:20px}.login .panel{width:min(460px,100%);background:rgba(255,255,255,.9);border:1px solid #fff;border-radius:30px;padding:32px;box-shadow:var(--shadow);backdrop-filter:blur(10px)}.bigicon{width:58px;height:58px;border-radius:20px;background:linear-gradient(135deg,#60a5fa,#22c55e);display:grid;place-items:center;font-size:30px}.login h1{margin:14px 0 6px}.field{display:flex;flex-direction:column;gap:7px;margin:8px 0}.field label{font-size:13px;color:var(--muted);font-weight:800}.grow{flex:1}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:14px;background:white;padding:11px 13px;color:var(--text);outline:none}textarea{min-height:84px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:#93c5fd;box-shadow:0 0 0 4px #dbeafe}.app{display:grid;grid-template-columns:300px 1fr;min-height:100vh}.side{padding:18px;position:sticky;top:0;height:100vh;overflow:auto}.side-inner{height:100%;background:#111827;color:white;border-radius:28px;padding:18px;box-shadow:var(--shadow);display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;font-weight:900;font-size:19px;margin-bottom:16px}.brand small{color:#aeb9c8}.logo{width:44px;height:44px;border-radius:15px;background:linear-gradient(135deg,#60a5fa,#22c55e);display:grid;place-items:center}.userbox{background:#1f2937;border:1px solid #334155;border-radius:20px;padding:13px;margin-bottom:16px;color:#e5e7eb}.userbox span{display:block;color:#aeb9c8;font-size:12px;margin-top:3px}.nav{display:flex;flex-direction:column;gap:7px}.nav button{background:transparent;color:#dbe4f0;text-align:left;justify-content:flex-start;padding:12px 13px;font-weight:750}.nav button.active,.nav button:hover{background:#263247;color:#fff;box-shadow:none;transform:none}.nav .logout{margin-top:auto;color:#fecaca}.main{padding:26px;overflow:auto}.top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.top h1{margin:0;font-size:31px;letter-spacing:-.03em}.subtitle{color:var(--muted);margin:5px 0 0}.grid{display:grid;gap:16px}.cols3{grid-template-columns:repeat(3,minmax(0,1fr))}.cols2{grid-template-columns:repeat(2,minmax(0,1fr))}.card,.subcard{background:rgba(255,255,255,.94);border:1px solid rgba(223,231,241,.95);border-radius:24px;padding:18px;box-shadow:0 8px 24px rgba(18,32,54,.05);margin-bottom:16px}.subcard{border-radius:18px;background:#fbfdff}.card h2,.card h3,.subcard h3{margin:0 0 13px}.kpi{display:flex;align-items:center;gap:13px}.kpi .ico{width:50px;height:50px;border-radius:18px;background:var(--soft);display:grid;place-items:center;font-size:25px}.kpi strong{font-size:28px;display:block}.kpi span,.mini-kpi span{color:var(--muted);font-size:13px}.mini-kpi{background:#f8fafc;border:1px solid var(--line);border-radius:18px;padding:14px}.mini-kpi b{display:block;font-size:22px}.muted{color:var(--muted)}.toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-bottom:14px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.full{grid-column:1/-1}.checkgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.check{display:flex;gap:9px;align-items:center;background:#f8fafc;border:1px solid var(--line);border-radius:15px;padding:11px;font-weight:750}.check input{width:auto}.cards-list{display:grid;gap:11px}.person-card{border:1px solid var(--line);border-radius:20px;padding:14px;background:#fff;display:flex;align-items:center;gap:12px}.avatar{width:48px;height:48px;border-radius:18px;background:var(--soft);display:grid;place-items:center;font-size:24px}.pc-main{flex:1}.pc-main b{display:block;font-size:16px}.pc-main span{display:block;color:var(--muted);font-size:13px;margin-top:2px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:18px;background:#fff}table{width:100%;border-collapse:separate;border-spacing:0;background:#fff}th,td{padding:12px 13px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}th{background:#f8fafc;font-size:12px;color:#64748b;text-transform:uppercase;letter-spacing:.04em;position:sticky;top:0}tr:last-child td{border-bottom:0}.badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;background:var(--soft);color:#1d4ed8;padding:5px 10px;font-size:12px;font-weight:850}.badge.green{background:#ecfdf5;color:#15803d}.badge.orange{background:#fff7ed;color:#c2410c}.badge.red{background:#fef2f2;color:#b91c1c}.badge.gray{background:#f1f5f9;color:#475569}.error,.toast.error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.success,.toast.success{background:#ecfdf5;color:#166534;border:1px solid #bbf7d0}.empty{padding:24px;text-align:center;color:var(--muted);background:#f8fafc;border-radius:18px}.toast{position:fixed;right:18px;bottom:18px;z-index:9999;padding:13px 16px;border-radius:16px;box-shadow:var(--shadow);font-weight:800}.modal-back{position:fixed;inset:0;background:rgba(15,23,42,.42);display:grid;place-items:center;padding:18px;z-index:1000;opacity:0;transition:.15s}.modal-back.show{opacity:1}.modal{width:min(920px,100%);max-height:92vh;display:flex;flex-direction:column;background:#fff;border-radius:28px;box-shadow:0 35px 90px rgba(15,23,42,.34);overflow:hidden}.modal-head,.modal-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}.modal-head h2{margin:0}.modal-body{padding:18px;overflow:auto}.modal-foot{border-bottom:0;border-top:1px solid var(--line);justify-content:flex-end}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.tab{background:#edf2f7;color:#233045}.tab.active{background:var(--primary);color:#fff}.tabpane{display:none}.tabpane.active{display:block}.smart-search{position:relative}.suggestions{position:absolute;left:0;right:0;top:calc(100% + 5px);background:white;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);z-index:50;overflow:hidden;max-height:300px;overflow-y:auto}.suggestions:empty{display:none}.suggestions button{width:100%;border-radius:0;background:white;color:var(--text);box-shadow:none;transform:none;justify-content:flex-start;padding:12px 14px;border-bottom:1px solid var(--line)}.suggestions button small{margin-left:auto;color:var(--muted)}.nores{padding:12px;color:var(--muted)}.loading{color:var(--muted);padding:20px}@media(max-width:1000px){.app{grid-template-columns:1fr}.side{height:auto;position:static;padding:12px}.side-inner{border-radius:22px}.nav{display:grid;grid-template-columns:repeat(2,1fr)}.main{padding:14px}.cols3,.cols2,.formgrid,.checkgrid{grid-template-columns:1fr}.top{align-items:flex-start;flex-direction:column}.toolbar .field{min-width:100%;width:100%}.person-card{align-items:flex-start;flex-wrap:wrap}.pc-main{min-width:200px}.modal{max-height:96vh}}@media(max-width:560px){.nav{grid-template-columns:1fr}.top h1{font-size:25px}.card{padding:14px;border-radius:18px}th,td{font-size:13px;padding:9px}.person-card{flex-direction:column;align-items:stretch}.person-card button{width:100%}.modal-back{padding:5px}.modal{border-radius:18px}.modal-head,.modal-body,.modal-foot{padding:12px}.modal-foot button{flex:1}}

/* V4 réservations calendrier métier */
.reservation-card{overflow:visible}.sticky-tools{position:sticky;top:0;z-index:5;background:var(--card,#fff);padding-bottom:12px;border-bottom:1px solid rgba(0,0,0,.06)}
.calendar-zone{overflow:auto;max-height:calc(100vh - 260px);border:1px solid rgba(0,0,0,.08);border-radius:18px;background:#fff}.res-calendar{display:grid;grid-auto-rows:minmax(54px,auto);min-width:max-content}.res-head{position:sticky;top:0;z-index:3;background:#f6f7fb;font-weight:800;font-size:.86rem;padding:10px;border-bottom:1px solid #e6e8ef;display:flex;align-items:center;justify-content:center}.child-col{width:210px;min-width:210px;max-width:210px;position:sticky;left:0;z-index:4;background:#fff;border-right:1px solid #e6e8ef;padding:10px;display:flex;flex-direction:column;justify-content:center}.child-sticky{box-shadow:6px 0 14px rgba(20,30,50,.05)}.child-col small{color:#6b7280;margin-top:3px}.day-col{width:96px;min-width:96px}.day-col.closed,.day-cell.closed{background:#f1f3f6;color:#9ca3af}.day-cell{width:96px;min-width:96px;min-height:54px;border-right:1px solid #eef0f4;border-bottom:1px solid #eef0f4;display:flex;align-items:center;justify-content:center;cursor:pointer;background:#fff}.day-cell input{display:none}.day-cell span{width:30px;height:30px;border-radius:10px;border:2px solid #cbd5e1;display:flex;align-items:center;justify-content:center;font-weight:900}.day-cell.on span{background:#2f855a;color:white;border-color:#2f855a}.day-cell.closed{cursor:not-allowed}.day-cell.closed span{border-color:#e5e7eb;background:#f5f5f5}.period-dates{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.date-pill{background:#eef6ff;border:1px solid #bfdbfe;border-radius:999px;padding:7px 11px;font-size:.88rem;font-weight:700}.period-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:14px}.period-child{border:1px solid #e6e8ef;border-radius:18px;padding:14px;background:#fff;box-shadow:0 4px 14px rgba(15,23,42,.04)}.period-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.period-title small{color:#6b7280}.segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;background:#f4f6fa;padding:6px;border-radius:14px}.segmented label{display:flex;align-items:center;justify-content:center;text-align:center;border-radius:11px;padding:9px 5px;background:#fff;font-weight:700;font-size:.86rem;cursor:pointer}.segmented input{margin-right:5px}.meal{margin-top:12px}.hint{background:#fff8e6;border:1px solid #fde68a;color:#704d00;border-radius:14px;padding:10px 12px;margin:8px 0 14px;font-weight:600}.toolbar .grow{flex:1;min-width:220px}@media(max-width:760px){.calendar-zone{max-height:none}.child-col{width:145px;min-width:145px;max-width:145px}.day-col,.day-cell{width:74px;min-width:74px}.res-head{font-size:.75rem;padding:7px}.period-grid{grid-template-columns:1fr}.segmented{grid-template-columns:1fr}.sticky-tools{position:static}}

/* V5 lisibilité tableaux + organisation métier */
.settings-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.full-card{grid-column:1/-1}.table-wrap{width:100%;overflow:auto}.table-wrap table{min-width:760px}.table-wrap th{white-space:nowrap}.table-wrap td{white-space:normal}.price-service{margin:0 0 24px}.price-input{min-width:95px}.call-row{display:flex;justify-content:space-between;align-items:center;gap:14px;border:1px solid var(--line);background:white;border-radius:18px;padding:14px;margin-bottom:10px}.call-row b{display:block}.call-row span{display:block;color:var(--muted);font-size:13px;margin-top:3px}.service-tabs,.point-tabs,.settings-tabs{margin:0}.settings-tabs{margin-bottom:14px}.hint{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:16px;padding:10px 12px;margin:8px 0 14px;color:#475569;font-size:14px}.segmented{display:flex;gap:8px;flex-wrap:wrap}.segmented label{border:1px solid var(--line);border-radius:999px;padding:9px 12px;background:#fff;font-weight:750}.segmented input{width:auto}.period-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.period-child{border:1px solid var(--line);border-radius:18px;background:#fff;padding:14px}.period-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.period-title small{color:var(--muted)}.period-dates{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.date-pill{background:#eef5ff;color:#1d4ed8;border-radius:999px;padding:7px 10px;font-weight:800;font-size:13px}.meal{margin-top:10px}.reservation-card{overflow:visible}.sticky-tools{position:sticky;top:0;z-index:5;background:rgba(255,255,255,.96);padding-bottom:12px;border-bottom:1px solid rgba(0,0,0,.06)}.calendar-zone{overflow:auto;max-height:calc(100vh - 270px);border:1px solid var(--line);border-radius:18px;background:#fff}.res-calendar{display:grid;grid-auto-rows:minmax(56px,auto);min-width:max-content}.res-head{position:sticky;top:0;z-index:3;background:#f6f7fb;font-weight:900;font-size:13px;padding:10px;border-bottom:1px solid #e6e8ef;display:flex;align-items:center;justify-content:center}.child-col{width:210px;min-width:210px;max-width:210px;position:sticky;left:0;z-index:4;background:#fff;border-right:1px solid #e6e8ef;padding:10px;display:flex;flex-direction:column;justify-content:center}.child-sticky{box-shadow:6px 0 14px rgba(20,30,50,.05)}.child-col small{color:#6b7280;margin-top:3px}.day-col{width:96px;min-width:96px}.day-col.closed,.day-cell.closed{background:#f1f3f6;color:#9ca3af}.day-cell{width:96px;min-width:96px;min-height:56px;border-right:1px solid #eef0f4;border-bottom:1px solid #eef0f4;display:flex;align-items:center;justify-content:center;cursor:pointer;background:#fff}.day-cell input{display:none}.day-cell span{width:32px;height:32px;border-radius:10px;border:2px solid #cbd5e1;display:flex;align-items:center;justify-content:center;font-weight:900}.day-cell.on span{background:#16a34a;color:white;border-color:#16a34a}.day-cell.closed{cursor:not-allowed}.day-cell.closed span{border-color:#e5e7eb;background:#f5f5f5}
@media(max-width:720px){.settings-layout{grid-template-columns:1fr}.call-row{align-items:stretch;flex-direction:column}.table-wrap{border:0;background:transparent}table,thead,tbody,tr,th,td{display:block}thead{display:none}.table-wrap table{min-width:0}tr{border:1px solid var(--line);border-radius:16px;background:#fff;margin-bottom:10px;overflow:hidden}td{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}td:before{content:attr(data-label);font-weight:900;color:#64748b}td:last-child{border-bottom:0}.calendar-zone table,.calendar-zone thead,.calendar-zone tbody,.calendar-zone tr,.calendar-zone th,.calendar-zone td{display:revert}.res-calendar{font-size:13px}.child-col{width:170px;min-width:170px;max-width:170px}.day-col,.day-cell{width:78px;min-width:78px}.settings-tabs .tab{flex:1}.price-input{min-width:75px}}
/* V6 fluidité métier */
.service-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}.compact-list{display:grid;gap:8px}.work-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:16px;background:#fff;padding:10px 12px;min-height:58px}.work-row b{font-size:15px}.work-row small{color:var(--muted);font-weight:600;margin-left:8px}.work-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.doc-line{display:grid;grid-template-columns:1fr 1.5fr 1fr auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:10px;margin-bottom:8px;background:#fff}.doc-line.bad{background:#fff1f2;border-color:#fecdd3}.top button.ghost{background:#fff;color:#233045;border:1px solid var(--line)}@media(max-width:900px){.service-summary{grid-template-columns:1fr}.work-row{grid-template-columns:1fr}.work-actions{justify-content:flex-start}.doc-line{grid-template-columns:1fr}.side{position:static;height:auto}}@media print{.side,.top button,.toolbar,.nav,.modal-head button{display:none!important}.app{display:block}.main{padding:0}.card{box-shadow:none;border:0}.table-wrap{overflow:visible}body{background:white}}

/* V7 fluidité métier */
.sticky-tools{position:sticky;top:0;background:var(--card,#fff);z-index:5;padding-bottom:10px;border-bottom:1px solid rgba(0,0,0,.06)}
.service-card{overflow:visible}.dense-list{display:flex;flex-direction:column;gap:6px}.work-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:8px 10px;border:1px solid rgba(0,0,0,.08);border-radius:12px;background:#fff}.work-row.done{background:#f3f6f4;color:#5a665e}.work-row.done .child-line{opacity:.72}.child-line{display:flex;align-items:center;gap:8px;min-width:0}.child-line b{white-space:nowrap}.child-line small{color:#667;min-width:42px}.work-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.pill{display:inline-flex;align-items:center;background:#eaf7ee;border:1px solid #c9ead2;border-radius:999px;padding:5px 9px;font-size:.9rem}.warn-card{border-left:5px solid #f59e0b;background:#fffaf0}.doc-list{display:flex;flex-direction:column;gap:8px}.doc-line{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:center;padding:8px;border-radius:10px;background:#f7f8fb}.doc-line.bad{background:#fff0f0}.res-calendar{font-size:.88rem}.day-cell{min-height:42px}.price-input{max-width:100px}.table-wrap table th,.table-wrap table td{padding:8px 10px}
@media(max-width:760px){.work-row{grid-template-columns:1fr}.work-actions{justify-content:flex-start}.doc-line{grid-template-columns:1fr}.res-calendar{font-size:.8rem}}
@media print{.side,.top button,.toolbar,.work-actions,.nav,.logout{display:none!important}.main{margin:0!important}.card{box-shadow:none!important;border:1px solid #ddd!important}.table-wrap{overflow:visible!important}}
.link-child{background:transparent;border:0;padding:0;text-align:left;color:inherit;cursor:pointer}.link-child b{display:block}.alert-dot{border:0;background:#fff3cd;border-radius:999px;padding:4px 7px;cursor:pointer}.light{display:inline-block;width:12px;height:12px;border-radius:50%;background:#cbd5e1;vertical-align:middle}.light.green{background:#16a34a;box-shadow:0 0 0 3px rgba(22,163,74,.12)}button:disabled{opacity:.55;cursor:not-allowed}.hint.warn{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412}.service-card .sticky-tools{position:sticky;top:0;background:#fff;z-index:5;padding-bottom:8px}.work-row.done{background:#f1f5f9}.work-row.done .child-line{opacity:.72}.dashboard-alert{display:flex;gap:10px;align-items:center;justify-content:space-between;border-bottom:1px solid #eef2f7;padding:8px 0}.dashboard-alert:last-child{border-bottom:0}.pill.red{background:#fee2e2;color:#991b1b}.pill.orange{background:#ffedd5;color:#9a3412}.no-print{display:inline-flex}@media print{.side,.top button,.no-print,.nav{display:none!important}.main{padding:0}.card{box-shadow:none;border:1px solid #ddd}}

/* V10.3 - alertes en pop-up, navigation organisée, espace parent */
.user-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.user-row>div{min-width:0}.user-row .iconbtn{flex:0 0 auto}.nav-groups details{border-top:1px solid rgba(255,255,255,.08);padding-top:8px;margin-top:8px}.nav-groups summary{cursor:pointer;color:#cbd5e1;font-weight:900;padding:8px 10px;border-radius:12px}.nav-groups summary:hover{background:rgba(255,255,255,.08)}.nav-groups details button{margin-left:8px;width:calc(100% - 8px)}.alert-kpi{border:0;text-align:left;color:inherit;background:#fff;justify-content:flex-start}.alert-kpi:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.alert-list{display:flex;flex-direction:column;gap:10px}.alert-card{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;border:1px solid var(--line);background:#fff;border-radius:16px;padding:12px}.alert-card small{display:block;color:var(--muted);margin-top:4px}.responsable-block{border:1px solid var(--line);border-radius:16px;padding:12px;margin-bottom:10px;background:#fff}.responsable-block h4{margin:0 0 8px}.service-picker{display:flex;flex-wrap:wrap;gap:10px}.side .logout{display:none!important}@media(max-width:900px){.alert-card{grid-template-columns:1fr}.service-picker button{width:100%}}
/* V10.5 parent UX */
.week-nav{display:flex;gap:8px;flex-wrap:wrap}.week-table{min-width:980px}.week-table th:first-child,.week-table td:first-child{position:sticky;left:0;background:var(--card,#fff);z-index:2}.mini-check{display:flex;align-items:center;gap:6px;padding:6px 4px;border-radius:8px;white-space:nowrap}.mini-check:hover{background:#f3f6fb}.closed-cell{background:#f1f1f1;color:#888;text-align:center}.alert-card{border:1px solid #ffd3d3;background:#fff7f7;border-radius:12px;padding:12px;margin:8px 0}.userbox button{margin-top:6px;width:100%}.parent-week-grid{overflow:auto}.field input[readonly]{background:#f3f3f3;color:#666}.doc-line.bad{border-left:4px solid #c0392b}.tabpane{display:none}.tabpane.active{display:block}.alert-kpi{text-align:left;cursor:pointer}

/* V10.6 */
.alert-card.archived{opacity:.62;background:#eefaf1;border-color:#8fd19e}.okline{color:#137333;font-weight:800}.alert-main{display:flex;flex-direction:column;gap:4px}.cards-list.compact .person-card,.person-card.compact{padding:8px 10px}.danger.small{background:#fff1f1;color:#9b1c1c;border:1px solid #f0b5b5}
/* V10.7 */
.user-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.user-actions{display:flex;gap:6px}.nav-groups details{border:1px solid rgba(255,255,255,.12);border-radius:14px;margin:8px 0;padding:6px}.nav-groups summary{cursor:pointer;padding:8px 10px;font-weight:700;color:var(--muted)}.nav-groups details button{margin-top:4px}.info{background:#eef6ff;border:1px solid #bfdbfe;border-radius:14px;padding:12px;margin-top:12px;color:#1e3a8a}.actions{display:flex;gap:8px;justify-content:flex-end;margin-top:14px}

/* ===================== V11 UX/UI propre, fluide et responsive ===================== */
:root{--nav:#101827;--nav2:#172033;--ok:#16a34a;--danger:#dc2626;--warning:#f59e0b;--info:#2563eb;--radius:18px}.app.v11{display:grid;grid-template-columns:280px 1fr;min-height:100vh}.workspace{min-width:0;display:flex;flex-direction:column}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 22px;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}.topbar-title{display:flex;align-items:center;gap:12px;min-width:0}.topbar-title strong{display:block;font-size:18px}.topbar-title span{display:block;color:var(--muted);font-size:13px}.topbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.top-user{background:#f8fafc!important;color:#1f2937!important;border:1px solid var(--line)!important;box-shadow:none!important;cursor:default}.top-user small{font-size:11px;color:#64748b;margin-left:4px}.hamb{background:#eef5ff;color:#1d4ed8;width:42px;height:42px;padding:0}.side{background:linear-gradient(180deg,var(--nav),var(--nav2));color:#fff;box-shadow:8px 0 30px rgba(10,20,40,.18)}.side-inner{height:100vh;position:sticky;top:0;padding:18px 14px;display:flex;flex-direction:column}.brand{border-radius:22px;background:rgba(255,255,255,.08);padding:14px;margin-bottom:14px}.brand .logo{width:48px;height:48px;border-radius:16px;background:#fff;color:#111;display:grid;place-items:center;font-size:26px}.brand small{color:#cbd5e1}.nav{overflow:auto;padding-right:2px}.nav button,.nav-groups summary{width:100%;min-height:42px;border-radius:14px;margin:4px 0;color:#dbeafe;background:transparent;display:flex;align-items:center;gap:10px;text-align:left;justify-content:flex-start;font-weight:800}.nav button:hover,.nav-groups summary:hover{background:rgba(255,255,255,.09);box-shadow:none;transform:none}.nav button.active{background:#fff;color:#123;box-shadow:0 10px 24px rgba(0,0,0,.22)}.nav-ico{width:28px;height:28px;border-radius:10px;background:rgba(255,255,255,.12);display:grid;place-items:center;flex:0 0 28px}.nav button.active .nav-ico{background:#eef5ff}.nav-groups details{border:1px solid rgba(255,255,255,.09);border-radius:18px;margin:10px 0;padding:6px;background:rgba(255,255,255,.035)}.nav-groups details button{width:100%;margin-left:0}.main{padding:26px;max-width:1600px;width:100%;margin:0 auto}.danger{background:var(--danger)!important;color:white!important}.side .logout,.topbar .logout{display:inline-flex!important}.card{border-radius:22px}.kpi{min-height:110px}.kpi .ico{font-size:30px}.top{align-items:flex-start}.top h1{font-size:30px;margin-bottom:4px}.subtitle{font-size:15px}.smart-search.v11-search{background:#fff;border:2px solid rgba(37,99,235,.35);border-radius:20px;padding:12px;box-shadow:0 12px 30px rgba(37,99,235,.10);position:relative}.smart-search.v11-search label{font-size:14px;color:#1d4ed8;font-weight:950;text-transform:uppercase;letter-spacing:.03em}.search-wrap{display:flex;align-items:center;gap:10px;background:#f8fbff;border:1px solid #dbeafe;border-radius:16px;padding:8px 10px}.search-wrap input{border:0!important;background:transparent!important;outline:0!important;font-size:18px;font-weight:750;min-height:34px}.clear-search{background:#e5e7eb!important;color:#374151!important;width:34px;height:34px;padding:0!important;border-radius:12px}.suggestions{position:absolute;z-index:50;left:12px;right:12px;top:calc(100% - 4px);background:#fff;border:1px solid #c7d2fe;border-radius:18px;box-shadow:0 20px 50px rgba(20,30,60,.18);overflow:hidden}.suggestions:empty{display:none}.suggestions button{width:100%;border-radius:0;background:#fff!important;color:#111!important;box-shadow:none!important;justify-content:space-between;border-bottom:1px solid #eef2ff}.suggestions button:hover{background:#eef5ff!important;transform:none}.suggestions small{color:#64748b}.nores{padding:14px;color:#9ca3af}.alert-card{border-left:5px solid var(--danger)}.alert-card.archived{border-left-color:var(--ok)}.warn-card{border-left-color:var(--warning)!important}.work-row.done{border-color:#bbf7d0;background:#f0fdf4}.light.green{background:var(--ok)}.pill.red{background:#fee2e2;color:#991b1b}.pill.orange{background:#ffedd5;color:#9a3412}.pill.green{background:#dcfce7;color:#166534}.table-wrap{border-radius:18px}th{background:#f1f5f9;color:#334155}.userbox{display:none!important}body.menu-collapsed .app.v11{grid-template-columns:86px 1fr}body.menu-collapsed .brand div:not(.logo),body.menu-collapsed .nav-label,body.menu-collapsed .nav-groups summary{display:none}body.menu-collapsed .side-inner{padding:14px 10px}body.menu-collapsed .nav button{justify-content:center}body.menu-collapsed .nav-ico{margin:0}.field input[type=color]{height:44px;padding:4px}.tab{border-radius:999px}.tab.active{background:var(--primary);color:#fff}@media(max-width:980px){.app.v11{grid-template-columns:1fr}.side{position:fixed;left:0;top:0;bottom:0;width:290px;transform:translateX(-105%);transition:.18s;z-index:80}.side-inner{height:100%}body.menu-collapsed .side,body:not(.menu-collapsed) .side{transform:translateX(-105%)}body.menu-open .side{transform:translateX(0)}.hamb:after{content:''}.topbar{height:auto;align-items:flex-start;flex-direction:column}.topbar-actions{width:100%;justify-content:stretch}.topbar-actions button{flex:1}.main{padding:16px}.grid.cols2,.grid.cols3{grid-template-columns:1fr!important}.smart-search.v11-search{position:sticky;z-index:20}.search-wrap input{font-size:16px}.app.v11 .hamb{display:inline-flex}.workspace:before{content:'';display:none}body.menu-collapsed .app.v11{grid-template-columns:1fr}}@media(min-width:981px){.hamb{display:inline-flex}}@media(max-width:640px){.topbar-actions{display:grid;grid-template-columns:1fr 1fr}.top-user{grid-column:1/-1}.topbar-title span{display:none}.main{padding:12px}button{border-radius:12px}.card{border-radius:18px}.modal{width:calc(100vw - 20px);max-height:calc(100vh - 20px)}}

/* ===================== V11.1 finitions ergonomiques ===================== */
:root{--ok:#16a34a;--danger:#dc2626;--warning:#f59e0b;--info:#2563eb;--side:#0f172a;--side2:#111827;}
.side{overflow:hidden!important}.side-inner{overflow:hidden!important}.nav,.premium-nav{overflow:visible!important;scrollbar-width:none!important}.nav::-webkit-scrollbar,.side::-webkit-scrollbar,.side-inner::-webkit-scrollbar{display:none!important}.premium-side{background:linear-gradient(180deg,#0b1220,#111827 55%,#1e293b)!important}.premium-side .brand{display:flex;align-items:center;gap:12px;margin-bottom:18px;background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.06));border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 40px rgba(0,0,0,.18)}.premium-side .logo{box-shadow:0 10px 28px rgba(255,255,255,.18)}.premium-nav details{background:transparent!important;border:0!important;padding:0!important;margin:14px 0!important}.premium-nav summary{font-size:11px!important;letter-spacing:.09em;text-transform:uppercase;color:#93a4bd!important;min-height:24px!important;padding:0 12px!important;margin:0 0 6px!important;background:transparent!important}.premium-nav summary::-webkit-details-marker{display:none}.group-dot{width:6px;height:6px;border-radius:50%;background:#38bdf8;display:inline-block;margin-right:8px}.premium-nav button{height:44px!important;border-radius:14px!important;margin:3px 0!important;padding:0 12px!important;color:#dbeafe!important;background:transparent!important;border:1px solid transparent!important;font-size:14px!important}.premium-nav button:hover{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.10)!important}.premium-nav button.active{background:linear-gradient(135deg,#fff,#eaf2ff)!important;color:#0f172a!important;border-color:#fff!important;box-shadow:0 14px 28px rgba(0,0,0,.22)!important}.svgico{background:rgba(255,255,255,.10)!important;color:currentColor!important}.svgico svg{width:19px;height:19px;display:block;fill:currentColor}.premium-nav button.active .svgico{background:#dbeafe!important;color:#1d4ed8!important}.nav-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.service-toolbar-pro{display:grid!important;grid-template-columns:210px auto minmax(320px,1fr) auto!important;align-items:end!important;gap:14px!important}.service-toolbar-pro .v11-search{grid-column:auto!important;margin:0!important}.date-chip-field input{font-size:18px;font-weight:850;color:#0f172a}.smart-search.v11-search{border-width:2px!important;border-color:#93c5fd!important;background:linear-gradient(180deg,#fff,#f8fbff)!important}.smart-search.v11-search label{display:block;margin-bottom:6px}.search-wrap span{display:none}.search-wrap:before{content:'🔎';font-size:20px}.search-wrap input{font-size:17px!important}.big-alert{display:flex;gap:18px;align-items:flex-start;border:2px solid #fecaca;background:#fef2f2;border-radius:20px;padding:20px}.big-alert-ico{font-size:42px}.big-alert h3{margin:0 0 8px;color:#991b1b}.big-alert p{font-size:17px;line-height:1.45;color:#7f1d1d}.parent-res-card{overflow:auto}.parent-week-table{border-collapse:separate!important;border-spacing:0!important}.parent-week-table th{background:#eaf2ff!important;color:#0f172a!important;border-bottom:2px solid #bfdbfe!important}.parent-week-table td,.parent-week-table th{border-right:1px solid #e2e8f0!important;border-bottom:1px solid #e2e8f0!important;vertical-align:top!important}.parent-week-table tr:nth-child(even) td{background:#fbfdff}.child-sticky{background:#fff!important;min-width:190px}.mini-check{display:flex!important;align-items:center;gap:8px;border:1px solid #e2e8f0;border-radius:12px;padding:8px 10px;margin:5px 0;background:#fff;font-weight:800}.mini-check input{width:18px;height:18px}.mini-check:has(input:checked){border-color:#86efac;background:#f0fdf4;color:#14532d}.mini-am span{color:#f59e0b}.mini-cantine span{color:#dc2626}.mini-pm span{color:#2563eb}.closed-cell{background:#f1f5f9!important;color:#94a3b8!important;text-align:center}.danger-zone{border:2px solid #fecaca;background:#fff1f2;border-radius:18px;padding:16px;margin:0 0 16px}.danger-zone h3{color:#991b1b;margin-top:0}.danger-zone .danger{background:#dc2626!important;color:#fff!important}.table-wrap td b{font-weight:950}.topbar{position:sticky;top:0;z-index:60}.topbar-actions .logout{font-weight:950!important}@media(max-width:1100px){.service-toolbar-pro{grid-template-columns:1fr!important}.service-toolbar-pro>*{width:100%!important}.parent-week-grid{overflow:auto}.parent-week-table{min-width:820px}}@media(max-width:680px){.premium-nav button{height:48px!important}.parent-res-top{gap:12px}.week-nav{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}}

/* V11.2 documents obligatoires */
.doc-admin-add{border:1px solid rgba(37,99,235,.18);background:linear-gradient(180deg,#fff,#f8fbff)}
.doc-admin-list{display:flex;flex-direction:column;gap:10px}.doc-admin-row{display:grid;grid-template-columns:46px 1fr auto;gap:12px;align-items:center;padding:12px;border:1px solid #e5e7eb;border-radius:14px;background:#fff}.doc-admin-row.is-off{opacity:.55;background:#f3f4f6}.doc-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#eff6ff;font-size:22px}.doc-main{display:flex;flex-direction:column;gap:4px}.doc-main span{font-size:13px;color:#64748b}.doc-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.pill.blue{background:#dbeafe;color:#1d4ed8}.pill.orange{background:#ffedd5;color:#c2410c}.doc-line a,.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.warn-card .doc-list{margin:10px 0}.warn-card .doc-line{background:#fff;border:1px solid #fecaca;border-radius:12px;padding:10px 12px;margin:8px 0}
@media(max-width:720px){.doc-admin-row{grid-template-columns:40px 1fr}.doc-actions{grid-column:1/-1;justify-content:flex-start}.doc-admin-row{align-items:start}}

/* V11.3 périodes/documents */
.period-card{border:1px solid var(--line,#d8dee8);border-radius:18px;background:#fff;margin:16px 0;padding:16px;box-shadow:0 8px 20px rgba(15,23,42,.06)}
.period-card h3{margin:0 0 12px;font-size:1.05rem}.period-table-wrap{overflow:auto}.period-table{width:100%;border-collapse:separate;border-spacing:0}.period-table th{background:#f1f5f9;color:#334155;text-align:left;padding:10px}.period-table td{border-top:1px solid #e5e7eb;padding:10px;vertical-align:top}.period-options{display:flex;gap:10px;flex-wrap:wrap}.period-options label,.big-check{display:inline-flex;align-items:center;gap:6px;background:#f8fafc;border:1px solid #dbe4ef;border-radius:999px;padding:8px 10px;font-weight:700}.period-options input:checked+span{font-weight:900}.period-options .meal{background:#fff7ed;border-color:#fed7aa}.parent-required-alerts{border-left:6px solid #ef4444}.parent-required-alerts .dashboard-alert{background:#fff1f2;border:1px solid #fecdd3;color:#991b1b;font-weight:800}.doc-admin-row .btn,.btn.secondary{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}

/* V11.5 */
.mandatory-alert{border-left:6px solid #dc2626;background:#fff7f7}
.mandatory-alert .alert-main b{color:#991b1b}
.alert-tools{margin-bottom:12px;align-items:center;gap:12px;flex-wrap:wrap}
.danger-zone{margin-top:18px;padding:16px;border:1px solid #fecaca;background:#fff7f7;border-radius:14px}
.btnrow{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;align-items:center}


/* V11.6 ciblé : placement recherche/date + export + alertes */
.service-toolbar-pro{display:grid!important;grid-template-columns:minmax(320px,1fr) auto auto!important;align-items:end!important;gap:16px!important}
.service-date-center{display:flex;align-items:end;justify-content:center;gap:10px;min-width:300px;justify-self:center}
.service-toolbar-pro .v11-search{order:0;justify-self:stretch;width:100%;max-width:none!important;margin:0!important}
.service-toolbar-pro .secondary#openRes{justify-self:end}
.service-date-center .field{margin:0;min-width:170px}.service-date-center #todayBtn{height:44px}
.smart-search.v11-search{min-width:280px;max-width:none!important;width:100%}.smart-search.v11-search input{font-weight:800}
@media(max-width:1100px){.service-toolbar-pro{grid-template-columns:1fr!important}.service-date-center{justify-content:flex-start;min-width:0}.service-toolbar-pro .secondary#openRes{justify-self:stretch}.service-toolbar-pro .v11-search{max-width:none}}

/* V11.7 */
.selected-child-pill{margin:10px 0 14px;padding:12px 14px;border:1px dashed #b8c7dc;border-radius:14px;background:#f8fafc;color:#64748b;font-size:15px}.selected-child-pill.active{border-color:#2563eb;background:#eff6ff;color:#0f172a}.selected-child-pill b{font-size:17px}.selected-child-pill small{display:inline-block;margin-left:8px;color:#475569}.reservation-modal-top{align-items:end}.reservation-admin-grid table{font-size:12px}.mandatory-alert{border-left:5px solid #dc2626!important;background:#fff5f5}.parent-required-alerts{border-left:5px solid #dc2626}.big-alert{display:flex;gap:16px;align-items:flex-start;padding:12px}.big-alert-ico{font-size:34px}.toast.error{background:#b91c1c;color:white}.modal .error,.error{background:#fff1f2;border:1px solid #fecdd3;color:#991b1b;border-radius:12px;padding:12px 14px;font-weight:700}

/* V11.9 */
.alert-tools{gap:10px;align-items:center;flex-wrap:wrap}.alert-card .work-actions{gap:8px;flex-wrap:wrap}.danger-zone.subcard{border-color:#fecaca;background:#fff7f7}.field.full{grid-column:1/-1}
/* V11.10 */
.dashboard-date-line{margin:-8px 0 14px;color:#526174;font-weight:700;background:#eef5ff;border:1px solid #d8e6fb;border-radius:14px;padding:10px 14px;display:inline-flex;align-items:center;gap:8px}.period-card{border:1px solid #dbe5f0;border-radius:16px;padding:14px;margin:12px 0;background:#fff}.period-card h3{margin-top:0}.btnrow{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.info{background:#eef8ff;border:1px solid #cce7ff;border-radius:12px;padding:10px 12px;color:#24445f}.person-card .pill.red{display:inline-flex;margin-left:4px}.selected-child-pill{border:1px solid #cfe0f5;background:#f4f9ff;border-radius:14px;padding:10px 12px;margin:8px 0;font-weight:700;color:#14345f}.selected-child-pill.empty{color:#778899;background:#f6f7f9}.modal .v11-search{max-width:none;width:100%}

/* V11.15 - Espace parent mobile : tableaux semaine transformés en cartes lisibles */
@media(max-width:700px){
  .parent-res-top{display:block!important}
  .parent-res-top .week-nav{display:grid!important;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
  .parent-res-card{padding:12px!important;overflow:visible!important}
  .parent-week-grid{overflow:visible!important}
  .parent-week-table{min-width:0!important;width:100%!important;border-collapse:separate!important;border-spacing:0 14px!important}
  .parent-week-table thead{display:none!important}
  .parent-week-table tbody,.parent-week-table tr,.parent-week-table td{display:block!important;width:100%!important}
  .parent-week-table tr{background:#fff;border:1px solid #dbeafe;border-radius:18px;box-shadow:0 8px 22px rgba(15,23,42,.08);overflow:hidden;margin-bottom:14px}
  .parent-week-table td{border:0!important;border-bottom:1px solid #eef2ff!important;background:#fff!important;padding:10px 12px!important}
  .parent-week-table td:last-child{border-bottom:0!important}
  .parent-week-table .child-sticky{position:static!important;min-width:0!important;background:linear-gradient(135deg,#eff6ff,#fff)!important;border-bottom:2px solid #bfdbfe!important}
  .parent-week-table .child-sticky .link-child{width:100%;justify-content:flex-start;text-align:left;font-size:17px}
  .parent-week-table td:not(.child-sticky):before{display:block;font-weight:950;color:#1e3a8a;margin-bottom:7px;font-size:14px;letter-spacing:.02em}
  .parent-week-table td:nth-child(2):before{content:'Lundi'}
  .parent-week-table td:nth-child(3):before{content:'Mardi'}
  .parent-week-table td:nth-child(4):before{content:'Mercredi'}
  .parent-week-table td:nth-child(5):before{content:'Jeudi'}
  .parent-week-table td:nth-child(6):before{content:'Vendredi'}
  .parent-week-table .mini-check{display:grid!important;grid-template-columns:26px 28px 1fr;align-items:center;width:100%;padding:11px 12px!important;margin:7px 0!important;border-radius:14px!important;font-size:15px;background:#fbfdff!important}
  .parent-week-table .mini-check input{width:22px!important;height:22px!important}
  .parent-week-table .closed-cell{background:#f8fafc!important;color:#94a3b8!important;text-align:left!important;font-weight:800}
}

/* V13.01 - Alertes compactes : une ligne + detail deplie */
.v1301-alert-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:8px!important;
  padding:8px 10px!important;
}
.v1301-alert-row .work-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:6px!important;
  white-space:nowrap!important;
}
.v1301-alert-details{
  min-width:0!important;
}
.v1301-alert-details summary{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-width:0!important;
  cursor:pointer!important;
  list-style:none!important;
}
.v1301-alert-details summary::-webkit-details-marker{
  display:none!important;
}
.v1301-alert-details summary:before{
  content:"›";
  flex:0 0 auto;
  color:#2563eb;
  font-weight:900;
  transition:transform .18s ease;
}
.v1301-alert-details[open] summary:before{
  transform:rotate(90deg);
}
.v1301-alert-title{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-weight:800!important;
  color:#0f172a!important;
}
.v1301-alert-kind{
  flex:0 1 auto!important;
  max-width:45%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:#64748b!important;
  font-size:11px!important;
}
.alert-detail-content{
  margin:8px 0 0 18px!important;
  padding:8px 10px!important;
  border-radius:8px!important;
  background:#f8fafc!important;
  border:1px solid #e2e8f0!important;
  color:#334155!important;
  font-size:12px!important;
  line-height:1.4!important;
}
.alert-detail-key{
  margin-top:4px!important;
  color:#64748b!important;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace!important;
  font-size:10px!important;
  word-break:break-all!important;
}
@media (max-width:640px){
  .v1301-alert-row{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .v1301-alert-row .work-actions{
    justify-content:flex-start!important;
  }
  .v1301-alert-kind{
    max-width:38%!important;
  }
}

/* V12.81 - mobile service rows: keep child + info on one clean line */
@media (max-width:760px){
  .service-card .dense-list,
  .service-card .compact-list,
  .v1179-compact-only,
  .v1180-compact-only,
  .dense-list{
    gap:6px!important;
  }
  .service-card .work-row,
  .dense-list .work-row,
  .v1179-compact-only .work-row,
  .v1180-compact-only .work-row,
  .service-card .work-row.v56-row,
  .service-card .work-row.v1164-row,
  .service-card .work-row.v1180-row,
  .service-card .work-row.v1178-cantine-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:7px!important;
    min-height:42px!important;
    padding:7px 8px!important;
    overflow:hidden!important;
  }
  .service-card .child-line,
  .dense-list .child-line,
  .v1179-compact-only .child-line,
  .v1180-compact-only .child-line,
  .service-card .v56-child-line,
  .service-card .v58-one-line,
  .service-card .v1180-child-line,
  .service-card .v1178-cantine-line{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    gap:4px!important;
    min-width:0!important;
    overflow:hidden!important;
    white-space:nowrap!important;
  }
  .service-card .child-line b,
  .dense-list .child-line b,
  .v1179-compact-only .child-line b,
  .v1180-compact-only .child-line b,
  .service-card .v56-child-line b,
  .service-card .v58-one-line b{
    display:inline-block!important;
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:12px!important;
    line-height:1.1!important;
  }
  .service-card .child-line small,
  .dense-list .child-line small,
  .v1179-compact-only .child-line small,
  .v1180-compact-only .child-line small,
  .service-card .v56-child-line small,
  .service-card .v58-one-line small{
    flex:0 0 auto!important;
    min-width:auto!important;
    margin-left:2px!important;
    font-size:10px!important;
    line-height:1!important;
  }
  .service-card .alert-dot,
  .dense-list .alert-dot,
  .v1179-compact-only .alert-dot,
  .v1180-compact-only .alert-dot,
  .service-card .badge,
  .service-card .pill{
    flex:0 0 auto!important;
    max-width:72px!important;
    min-height:0!important;
    padding:3px 5px!important;
    font-size:10px!important;
    line-height:1!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  .service-card .work-actions,
  .dense-list .work-actions,
  .v1179-compact-only .work-actions,
  .v1180-compact-only .work-actions,
  .service-card .action-group,
  .service-card .v56-actions,
  .service-card .v1180-actions,
  .service-card .v1178-cantine-actions{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:4px!important;
    min-width:max-content!important;
    overflow:visible!important;
  }
  .service-card .work-actions button,
  .dense-list .work-actions button,
  .v1179-compact-only .work-actions button,
  .v1180-compact-only .work-actions button,
  .service-card .action-group button,
  .service-card .compact-action{
    width:auto!important;
    min-width:0!important;
    padding:5px 7px!important;
    border-radius:8px!important;
    font-size:10px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  .service-card .work-actions .pill:not(.strong-pill),
  .dense-list .work-actions .pill:not(.strong-pill),
  .v1179-compact-only .work-actions .pill:not(.strong-pill),
  .v1180-compact-only .work-actions .pill:not(.strong-pill),
  .service-card .work-actions .light{
    display:none!important;
  }
}

@media (max-width:390px){
  .service-card .work-row,
  .service-card .work-row.v56-row,
  .service-card .work-row.v1164-row,
  .service-card .work-row.v1180-row,
  .service-card .work-row.v1178-cantine-row{
    gap:5px!important;
    padding:6px!important;
  }
  .service-card .child-line b,
  .service-card .v56-child-line b,
  .service-card .v58-one-line b{
    font-size:11px!important;
  }
  .service-card .work-actions button,
  .service-card .action-group button,
  .service-card .compact-action{
    padding:5px 6px!important;
    font-size:9px!important;
  }
}

/* V12.83 - minuscule ecran: normal + compact restent sur une seule ligne */
@media (max-width:760px){
  #svcContent .work-row,
  .v1179-compact-only .work-row,
  .v1180-compact-only .work-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) max-content!important;
    align-items:center!important;
    gap:4px!important;
    width:100%!important;
    max-width:100%!important;
    min-height:34px!important;
    padding:5px 6px!important;
    overflow:hidden!important;
  }
  #svcContent .child-line,
  .v1179-compact-only .child-line,
  .v1180-compact-only .child-line{
    grid-column:1!important;
    grid-row:1!important;
    min-width:0!important;
    display:flex!important;
    align-items:center!important;
    gap:3px!important;
    flex-wrap:nowrap!important;
    overflow:hidden!important;
    white-space:nowrap!important;
  }
  #svcContent .link-child,
  .v1179-compact-only .link-child,
  .v1180-compact-only .link-child,
  #svcContent .v1180-id,
  .v1179-compact-only .v1180-id,
  .v1180-compact-only .v1180-id{
    min-width:0!important;
    max-width:100%!important;
    display:inline-flex!important;
    align-items:center!important;
    gap:3px!important;
    overflow:hidden!important;
    white-space:nowrap!important;
  }
  #svcContent .link-child b,
  .v1179-compact-only .link-child b,
  .v1180-compact-only .link-child b,
  #svcContent .v1180-id b,
  .v1179-compact-only .v1180-id b,
  .v1180-compact-only .v1180-id b{
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:10px!important;
    line-height:1!important;
  }
  #svcContent .link-child small,
  .v1179-compact-only .link-child small,
  .v1180-compact-only .link-child small,
  #svcContent .v1180-id small,
  .v1179-compact-only .v1180-id small,
  .v1180-compact-only .v1180-id small{
    flex:0 0 auto!important;
    font-size:8px!important;
    line-height:1!important;
    margin:0!important;
  }
  #svcContent .child-line .pill,
  #svcContent .child-line .badge,
  #svcContent .child-line .alert-dot,
  .v1179-compact-only .child-line .pill,
  .v1179-compact-only .child-line .badge,
  .v1179-compact-only .child-line .alert-dot,
  .v1180-compact-only .child-line .pill,
  .v1180-compact-only .child-line .badge,
  .v1180-compact-only .child-line .alert-dot,
  #svcContent .v1180-health,
  .v1179-compact-only .v1180-health,
  .v1180-compact-only .v1180-health{
    flex:0 0 auto!important;
    max-width:34px!important;
    padding:2px 3px!important;
    font-size:8px!important;
    line-height:1!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  #svcContent .work-actions,
  #svcContent .action-group,
  .v1179-compact-only .work-actions,
  .v1179-compact-only .action-group,
  .v1180-compact-only .work-actions,
  .v1180-compact-only .action-group{
    grid-column:2!important;
    grid-row:1!important;
    min-width:max-content!important;
    max-width:none!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    flex-wrap:nowrap!important;
    gap:2px!important;
    overflow:visible!important;
  }
  #svcContent .work-actions button,
  #svcContent .action-group button,
  .v1179-compact-only .work-actions button,
  .v1179-compact-only .action-group button,
  .v1180-compact-only .work-actions button,
  .v1180-compact-only .action-group button{
    width:auto!important;
    min-width:0!important;
    min-height:20px!important;
    max-width:44px!important;
    padding:4px 5px!important;
    border-radius:7px!important;
    font-size:8px!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:clip!important;
  }
  #svcContent .v56-primary,
  .v1179-compact-only .v56-primary,
  .v1180-compact-only .v56-primary{
    max-width:38px!important;
  }
  #svcContent .v56-options,
  .v1179-compact-only .v56-options,
  .v1180-compact-only .v56-options{
    flex:0 0 auto!important;
  }
  #svcContent .v56-options summary,
  .v1179-compact-only .v56-options summary,
  .v1180-compact-only .v56-options summary{
    width:20px!important;
    height:20px!important;
    min-width:20px!important;
    min-height:20px!important;
    padding:0!important;
    display:grid!important;
    place-items:center!important;
  }
}

@media (max-width:390px){
  #svcContent .work-actions button,
  #svcContent .action-group button,
  .v1179-compact-only .work-actions button,
  .v1179-compact-only .action-group button,
  .v1180-compact-only .work-actions button,
  .v1180-compact-only .action-group button{
    max-width:35px!important;
    padding:4px!important;
    font-size:7.5px!important;
  }
}

/* V11.16 - Responsive mobile global admin + parent */
@media(max-width:760px){
  html,body{overflow-x:hidden!important}
  body{background:#f5f8fc!important}
  .app{display:block!important;min-height:100vh!important}
  .main{padding:12px!important;overflow:visible!important;width:100%!important}
  .topbar{position:sticky!important;top:0!important;z-index:90!important;background:rgba(245,248,252,.96)!important;backdrop-filter:blur(10px);border-bottom:1px solid #e5edf7!important;padding:10px 12px!important;margin:-12px -12px 12px!important}
  .topbar,.topbar-actions,.row,.toolbar{max-width:100%!important}
  .topbar{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;align-items:stretch!important}
  .topbar-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;width:100%!important}
  .topbar-actions button,.topbar-actions .btn{width:100%!important;min-height:44px!important;border-radius:14px!important}
  .top h1{font-size:25px!important;line-height:1.1!important}
  .subtitle{font-size:13px!important}
  .card,.subcard{border-radius:20px!important;padding:14px!important;margin-bottom:12px!important;box-shadow:0 6px 18px rgba(15,23,42,.06)!important}
  .grid,.cols2,.cols3,.formgrid,.checkgrid{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
  .toolbar{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;align-items:stretch!important}
  .toolbar .field,.toolbar button,.toolbar .btn{width:100%!important;min-width:0!important}
  .field{min-width:0!important;width:100%!important}
  input,select,textarea{min-height:46px!important;font-size:16px!important;border-radius:14px!important}
  button,.btn{min-height:44px!important;border-radius:14px!important;white-space:normal!important}
  button.small{min-height:38px!important;padding:8px 10px!important}
  .btnrow,.row{display:flex!important;gap:8px!important;align-items:stretch!important;flex-wrap:wrap!important}
  .btnrow>*,.row>button,.row>.btn{flex:1 1 145px!important}
  .service-toolbar-pro{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;align-items:stretch!important}
  .service-date-center{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;justify-content:stretch!important;min-width:0!important;width:100%!important}
  .service-date-center .field{grid-column:1/-1!important}
  .service-date-center #todayBtn{width:100%!important}
  .smart-search.v11-search{width:100%!important;max-width:none!important;min-width:0!important;margin:0!important}
  .smart-search.v11-search .search-wrap{min-height:52px!important;border-width:2px!important}
  .suggestions{position:fixed!important;left:12px!important;right:12px!important;top:auto!important;bottom:12px!important;max-height:46vh!important;border-radius:20px!important;z-index:2000!important}
  .suggestions button{min-height:52px!important;font-size:16px!important}
  .service-summary{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
  .mini-kpi{padding:10px!important;border-radius:14px!important}.mini-kpi b{font-size:19px!important}.mini-kpi span{font-size:11px!important}
  .compact-list,.dense-list,.cards-list{display:grid!important;gap:10px!important}
  .person-card{display:grid!important;grid-template-columns:42px 1fr!important;gap:10px!important;align-items:center!important;padding:12px!important;border-radius:18px!important}
  .person-card .avatar{width:42px!important;height:42px!important;border-radius:14px!important}
  .person-card .btnrow,.person-card .row{grid-column:1/-1!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;width:100%!important}
  .person-card button{width:100%!important}
  .modal-back{padding:0!important;align-items:end!important}
  .modal{width:100%!important;max-height:94vh!important;border-radius:22px 22px 0 0!important}
  .modal-head,.modal-foot{padding:12px!important}.modal-body{padding:12px!important}
  .modal-foot{display:grid!important;grid-template-columns:1fr!important}.modal-foot button{width:100%!important}
  .tabs{display:flex!important;overflow-x:auto!important;flex-wrap:nowrap!important;padding-bottom:6px!important;scroll-snap-type:x mandatory!important}.tab{flex:0 0 auto!important;scroll-snap-align:start!important}
  .table-wrap{overflow:visible!important;border:0!important;background:transparent!important;border-radius:0!important}
  .table-wrap table:not(.parent-week-table){display:block!important;width:100%!important;background:transparent!important;border-collapse:separate!important;border-spacing:0!important}
  .table-wrap table:not(.parent-week-table) thead{display:none!important}
  .table-wrap table:not(.parent-week-table) tbody{display:grid!important;gap:12px!important;width:100%!important}
  .table-wrap table:not(.parent-week-table) tr{display:block!important;background:#fff!important;border:1px solid #dbe5f0!important;border-radius:18px!important;padding:10px!important;box-shadow:0 8px 20px rgba(15,23,42,.06)!important;overflow:hidden!important}
  .table-wrap table:not(.parent-week-table) td{display:grid!important;grid-template-columns:minmax(92px,36%) 1fr!important;gap:10px!important;align-items:center!important;width:100%!important;border:0!important;border-bottom:1px solid #edf2f7!important;padding:9px 4px!important;text-align:left!important;min-height:34px!important;background:transparent!important;font-size:14px!important}
  .table-wrap table:not(.parent-week-table) td:last-child{border-bottom:0!important}
  .table-wrap table:not(.parent-week-table) td:before{content:attr(data-label);font-size:11px!important;font-weight:950!important;text-transform:uppercase!important;letter-spacing:.04em!important;color:#64748b!important;line-height:1.2!important}
  .table-wrap table:not(.parent-week-table) td[colspan]:before{content:''!important;display:none!important}
  .table-wrap table:not(.parent-week-table) td[colspan]{display:block!important;text-align:center!important;color:#64748b!important}
  .table-wrap table:not(.parent-week-table) td .btnrow,.table-wrap table:not(.parent-week-table) td .row{display:grid!important;grid-template-columns:1fr!important;gap:7px!important}
  .table-wrap table:not(.parent-week-table) td button,.table-wrap table:not(.parent-week-table) td .btn{width:100%!important;min-height:40px!important}
  .reservation-admin-grid table{min-width:0!important}
  .reservation-admin-grid .mini-check{width:100%!important;justify-content:flex-start!important;margin:4px 0!important}
  .doc-admin-row{grid-template-columns:42px 1fr!important}.doc-actions{grid-column:1/-1!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}.doc-actions>*{width:100%!important}
  .kpi{align-items:center!important}.kpi .ico{width:44px!important;height:44px!important;border-radius:15px!important}.kpi strong{font-size:24px!important}
}
@media(max-width:420px){
  .service-summary{grid-template-columns:1fr!important}
  .topbar-actions{grid-template-columns:1fr!important}
  .service-date-center{grid-template-columns:1fr!important}
  .table-wrap table:not(.parent-week-table) td{grid-template-columns:1fr!important;gap:3px!important}
  .table-wrap table:not(.parent-week-table) td:before{margin-bottom:2px!important}
}

/* V11.17 - bloc compte parent / renvoi identifiants */
.parent-account-panel{border-left:5px solid var(--primary,#2563eb);background:linear-gradient(180deg,#ffffff,#f8fbff)}
.account-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:10px 0 14px}
.account-status-grid>div{background:#f3f6fb;border:1px solid #dde5f0;border-radius:14px;padding:10px 12px;display:flex;flex-direction:column;gap:4px;min-width:0}
.account-status-grid b{font-size:12px;color:#667085;text-transform:uppercase;letter-spacing:.03em}.account-status-grid span{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ok-text{color:#15803d}.bad-text{color:#dc2626}.row-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:760px){.account-status-grid{grid-template-columns:1fr 1fr}.row-actions{justify-content:flex-start}.parent-account-panel .toolbar button{width:100%}}

/* V11.18 - Onglet Accès famille */
.parent-account-panel{margin-top:0;border:1px solid var(--border, #d8e0ea);background:#fff;border-radius:18px;padding:18px;box-shadow:0 8px 22px rgba(15,23,42,.06)}
.account-access-head h3{margin:0 0 4px;font-size:1.15rem}.access-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:12px 0}.access-grid>div{background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;padding:12px}.access-grid b{display:block;font-size:.78rem;color:#64748b;text-transform:uppercase;letter-spacing:.04em;margin-bottom:5px}.access-grid span{font-weight:700;color:#111827}.access-actions{margin-top:12px}.bad-text{color:#b91c1c!important}.ok-text{color:#15803d!important}.error.roomy{padding:14px;border-radius:14px;margin-top:10px}

/* V11.19 réelle */
.period-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.period-card{border:1px solid var(--border,#dde3ea);border-radius:18px;background:#fff;padding:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 8px 24px rgba(15,23,42,.06)}.period-card h3{margin:0 0 4px}.period-card p{margin:0;color:#64748b}.roomy{padding:14px;margin:12px 0}.danger-zone{border:1px solid #fecaca;background:#fff1f2;border-radius:16px;padding:16px}.success{background:#ecfdf5;border:1px solid #bbf7d0;color:#166534;border-radius:14px;padding:12px;margin-bottom:12px}.ok-text{color:#15803d;font-weight:700}.bad-text{color:#b91c1c;font-weight:700}.account-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.account-status-grid>div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:10px}.account-status-grid b{display:block;color:#475569;font-size:12px;text-transform:uppercase}.account-status-grid span{font-weight:700}.modal .table-wrap table select{min-width:140px}@media(max-width:700px){.period-card{display:block}.period-card button{width:100%;margin-top:12px}.modal .table-wrap{overflow-x:auto}.account-status-grid{grid-template-columns:1fr}}

/* V11.20 - tableaux réservés et pointage journalier ALSH/Mercredis */
.v1120-period-grid{gap:16px}
.v1120-period-card{align-items:center;gap:16px}
.v1120-period-card .pc-main{flex:1;min-width:220px}
.period-actions{justify-content:flex-end;flex-wrap:wrap}
.v1120-att-toolbar{align-items:end;justify-content:space-between;gap:12px;flex-wrap:wrap}
.v1120-att-toolbar .field{min-width:220px;max-width:320px}
.v1120-att-table table th:nth-child(1),.v1120-att-table table td:nth-child(1){width:90px}
.v1120-att-table table th:nth-child(4),.v1120-att-table table td:nth-child(4){width:120px}
.v1120-att-table table th:nth-child(5),.v1120-att-table table td:nth-child(5),.v1120-att-table table th:nth-child(6),.v1120-att-table table td:nth-child(6){width:160px}
@media(max-width:720px){
  .v1120-period-card{display:block}
  .v1120-period-card .period-actions{margin-top:12px;justify-content:stretch}
  .v1120-period-card .period-actions button{width:100%}
}

/* V11.21 */
.nav button.active,[data-p].active{background:#fff!important;color:#0f172a!important;box-shadow:0 8px 22px rgba(15,23,42,.12);font-weight:800}
.period-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.v1120-period-card{align-items:center;gap:14px}.v1120-period-card .pc-main{flex:1;min-width:260px}.closed-cell.day-holiday,.closed-cell.day-exceptional-close,.closed-cell.day-vacances,.closed-cell.day-closed{background:#eef2f7!important;color:#64748b!important;text-align:center;vertical-align:middle}.closed-label{display:inline-flex;align-items:center;justify-content:center;min-height:42px;font-weight:800;color:#64748b}.closed-cell.day-holiday .closed-label{color:#b42318}.closed-cell.day-exceptional-close .closed-label{color:#9a3412}.closed-cell.day-vacances .closed-label{color:#475569}
@media(max-width:720px){.period-actions{justify-content:stretch}.period-actions button{width:100%}.v1120-period-card{align-items:stretch}.closed-label{min-height:56px}.parent-week-table td.closed-cell{display:flex!important;align-items:center;justify-content:center;border-radius:14px;margin:6px 0}}

/* V11.23 alertes regroupées */
.alert-family-group{border:1px solid #e2e8f0;border-radius:16px;margin:10px 0;background:#fff;overflow:hidden}
.alert-family-head{width:100%;display:flex;align-items:center;gap:10px;justify-content:flex-start;background:#f8fafc;color:#0f172a;border:0;border-radius:0;padding:12px 14px;box-shadow:none;text-align:left}
.alert-family-head:hover{background:#eef6ff;transform:none}
.alert-family-head em{margin-left:auto;font-style:normal;color:#64748b;font-size:.86rem;font-weight:600}
.alert-family-body{padding:8px 10px;display:block}
.alert-family-body.collapsed{display:none}
.compact-alert{margin:6px 0;padding:9px 10px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.compact-alert .alert-main b{font-size:.95rem}.compact-alert .alert-main span{color:#334155}.compact-alert .alert-main small{display:block;color:#64748b;margin-top:2px}

/* V11.24 */
.alsh-only-family-box{border-left:5px solid #f97316;background:#fff7ed}
.big-check{font-size:16px;font-weight:900;display:flex;gap:10px;align-items:center;margin:10px 0}
.big-check input{width:22px;height:22px}
.alert-family-head{gap:10px}
.alert-family-head .small{margin-left:auto;white-space:nowrap}
.alert-family-head em{margin-left:auto}
.alert-family-head .small + em,.alert-family-head em + .small{margin-left:8px}

/* V11.31 - Correctif menu mobile : le bouton ☰ ouvre réellement la barre latérale */
@media(max-width:980px){
  body.menu-open{overflow:hidden;}
  body.menu-open .side{transform:translateX(0)!important;}
  .side{will-change:transform;}
  .side-inner{overflow-y:auto;overflow-x:hidden;}
  body.menu-open::after{
    content:'';
    position:fixed;
    inset:0;
    background:rgba(15,23,42,.42);
    z-index:70;
  }
  body.menu-open .side{z-index:90;}
  .topbar{z-index:60;}
}


/* V11.32 - Mobile : barre supérieure compacte en bulle utilisateur */
.user-bubble{display:none!important}
@media(max-width:980px){
  .topbar{
    height:56px!important;
    min-height:56px!important;
    padding:8px 10px!important;
    margin:0!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:8px!important;
    background:rgba(245,248,252,.96)!important;
    border-bottom:1px solid #e5edf7!important;
    box-shadow:0 8px 24px rgba(15,23,42,.06)!important;
  }
  .topbar-title{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    min-width:0!important;
    flex:1 1 auto!important;
  }
  .topbar-title strong{font-size:15px!important;line-height:1.1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .topbar-title span{display:none!important}
  .hamb{width:38px!important;height:38px!important;min-width:38px!important;border-radius:14px!important;flex:0 0 38px!important}
  .user-bubble{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    border-radius:999px!important;
    background:#eef5ff!important;
    color:#1d4ed8!important;
    box-shadow:0 8px 22px rgba(37,99,235,.16)!important;
    padding:0!important;
    font-size:20px!important;
    z-index:95!important;
  }
  .topbar-actions{
    display:none!important;
    position:absolute!important;
    top:58px!important;
    right:10px!important;
    width:min(310px,calc(100vw - 20px))!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    padding:12px!important;
    border:1px solid #dbeafe!important;
    border-radius:20px!important;
    background:#fff!important;
    box-shadow:0 22px 60px rgba(15,23,42,.24)!important;
    z-index:100!important;
  }
  body.user-panel-open .topbar-actions{display:grid!important}
  .topbar-actions button,.topbar-actions .btn{
    width:100%!important;
    min-height:42px!important;
    border-radius:14px!important;
  }
  .top-user{grid-column:auto!important;text-align:center!important;justify-content:center!important}
  .main{padding-top:12px!important}
  .side{top:56px!important;bottom:0!important;height:calc(100vh - 56px)!important}
}

/* V11.33 - Recherche enfant mobile : résultats visibles et utilisables */
@media (max-width: 760px){
  .smart-search.v11-search{
    position: relative !important;
    z-index: 120 !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    overflow: visible !important;
    margin-bottom: 10px !important;
  }
  .smart-search.v11-search .search-wrap{
    min-height: 58px !important;
    border: 2px solid #93c5fd !important;
    background: #fff !important;
    box-shadow: 0 10px 28px rgba(37,99,235,.12) !important;
  }
  .smart-search.v11-search input{
    font-size: 18px !important;
    line-height: 1.25 !important;
    min-height: 40px !important;
  }
  .smart-search.v11-search .suggestions{
    position: static !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    width: 100% !important;
    margin-top: 10px !important;
    border: 2px solid #bfdbfe !important;
    border-radius: 18px !important;
    box-shadow: 0 16px 40px rgba(15,23,42,.20) !important;
    max-height: 48vh !important;
    overflow-y: auto !important;
    background: #fff !important;
    z-index: 9999 !important;
  }
  .smart-search.v11-search .suggestions button{
    min-height: 58px !important;
    padding: 13px 14px !important;
    font-size: 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    white-space: normal !important;
    text-align: left !important;
  }
  .smart-search.v11-search .suggestions button b,
  .smart-search.v11-search .suggestions button strong{
    font-size: 17px !important;
  }
  .smart-search.v11-search .suggestions small{
    display: block !important;
    margin-top: 3px !important;
    font-size: 13px !important;
    color: #64748b !important;
  }
  .service-toolbar-pro{
    overflow: visible !important;
  }
  .toolbar,
  .card,
  .subcard{
    overflow: visible !important;
  }
}

/* V12.44 - animation douce des titres de groupes du menu */
@media(min-width:981px){
  .app.v11 .nav-groups details,
  .app.v11 .premium-nav details{
    overflow:hidden!important;
    transition:
      margin .34s cubic-bezier(.22,1,.36,1),
      padding .34s cubic-bezier(.22,1,.36,1),
      border-color .26s ease,
      background-color .26s ease!important;
  }
  .app.v11 .nav-groups summary,
  .app.v11 .premium-nav summary{
    display:flex!important;
    align-items:center!important;
    overflow:hidden!important;
    max-height:34px!important;
    min-height:24px!important;
    opacity:1!important;
    transform:translateY(0) scaleY(1)!important;
    transform-origin:center top!important;
    padding-top:7px!important;
    padding-bottom:7px!important;
    margin-top:0!important;
    margin-bottom:5px!important;
    pointer-events:auto!important;
    transition:
      max-height .34s cubic-bezier(.22,1,.36,1),
      min-height .34s cubic-bezier(.22,1,.36,1),
      padding .34s cubic-bezier(.22,1,.36,1),
      margin .34s cubic-bezier(.22,1,.36,1),
      opacity .2s ease,
      transform .34s cubic-bezier(.22,1,.36,1)!important;
    will-change:max-height,min-height,padding,margin,opacity,transform!important;
  }
  body.menu-collapsed .app.v11 .nav-groups details,
  body.menu-collapsed .app.v11 .premium-nav details{
    margin:2px 0!important;
    padding:0!important;
    border-color:transparent!important;
    background-color:transparent!important;
  }
  body.menu-collapsed .app.v11 .nav-groups summary,
  body.menu-collapsed .app.v11 .premium-nav summary{
    display:flex!important;
    max-height:0!important;
    min-height:0!important;
    height:auto!important;
    opacity:0!important;
    transform:translateY(-8px) scaleY(.72)!important;
    padding-top:0!important;
    padding-bottom:0!important;
    margin-top:0!important;
    margin-bottom:0!important;
    pointer-events:none!important;
  }
  body.menu-is-animating .app.v11 .nav-groups summary,
  body.menu-is-animating .app.v11 .premium-nav summary{
    display:flex!important;
  }
}

/* V12.82 - surcharge finale smartphone pointage: une ligne, zero chevauchement */
@media (max-width:760px){
  #svcContent .compact-list,
  #svcContent .dense-list,
  #svcContent .v1179-compact-only,
  #svcContent .v1180-compact-only{
    display:flex!important;
    flex-direction:column!important;
    gap:6px!important;
    min-width:0!important;
  }
  #svcContent .work-row,
  #svcContent .work-row-readable,
  #svcContent .v56-row,
  #svcContent .v1164-row,
  #svcContent .v1178-cantine-row,
  #svcContent .v1180-row{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:6px!important;
    width:100%!important;
    max-width:100%!important;
    min-height:38px!important;
    padding:6px 7px!important;
    overflow:hidden!important;
  }
  #svcContent .child-line,
  #svcContent .same-line-alert,
  #svcContent .v56-child-line,
  #svcContent .v58-one-line,
  #svcContent .v1178-cantine-line,
  #svcContent .v1180-child-line{
    flex:1 1 auto!important;
    min-width:0!important;
    max-width:none!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    gap:4px!important;
    flex-wrap:nowrap!important;
    overflow:hidden!important;
    white-space:nowrap!important;
  }
  #svcContent .link-child,
  #svcContent .v1180-id{
    flex:0 1 auto!important;
    min-width:0!important;
    max-width:100%!important;
    display:inline-flex!important;
    flex-direction:row!important;
    align-items:center!important;
    gap:4px!important;
    overflow:hidden!important;
    white-space:nowrap!important;
  }
  #svcContent .link-child b,
  #svcContent .v1180-id b{
    display:inline-block!important;
    max-width:128px!important;
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:11px!important;
    line-height:1!important;
  }
  #svcContent .link-child small,
  #svcContent .v1180-id small,
  #svcContent .child-line small{
    display:inline-block!important;
    flex:0 0 auto!important;
    min-width:auto!important;
    margin:0!important;
    color:#667!important;
    font-size:9px!important;
    line-height:1!important;
  }
  #svcContent .child-line .badge,
  #svcContent .child-line .pill,
  #svcContent .child-line .alert-dot,
  #svcContent .v1180-health,
  #svcContent .v1164-medical-badge{
    flex:0 0 auto!important;
    max-width:42px!important;
    min-width:0!important;
    padding:2px 4px!important;
    font-size:9px!important;
    line-height:1!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  #svcContent .work-actions,
  #svcContent .action-group,
  #svcContent .v56-actions,
  #svcContent .v1178-cantine-actions,
  #svcContent .v1180-actions{
    flex:0 0 auto!important;
    min-width:max-content!important;
    max-width:45%!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-end!important;
    flex-wrap:nowrap!important;
    gap:3px!important;
    overflow:visible!important;
  }
  #svcContent .work-actions button,
  #svcContent .action-group button,
  #svcContent .compact-action{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:0!important;
    min-height:22px!important;
    padding:5px 6px!important;
    border-radius:7px!important;
    font-size:9px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  #svcContent .work-actions .light,
  #svcContent .work-actions .pill:not(.strong-pill),
  #svcContent .work-actions .badge{
    display:none!important;
  }
}

@media (max-width:390px){
  #svcContent .work-row,
  #svcContent .work-row-readable,
  #svcContent .v56-row,
  #svcContent .v1164-row,
  #svcContent .v1178-cantine-row,
  #svcContent .v1180-row{
    gap:4px!important;
    padding:5px 6px!important;
  }
  #svcContent .link-child b,
  #svcContent .v1180-id b{
    max-width:102px!important;
    font-size:10.5px!important;
  }
  #svcContent .work-actions,
  #svcContent .action-group,
  #svcContent .v56-actions,
  #svcContent .v1178-cantine-actions,
  #svcContent .v1180-actions{
    max-width:48%!important;
  }
  #svcContent .work-actions button,
  #svcContent .action-group button,
  #svcContent .compact-action{
    padding:5px!important;
    font-size:8.5px!important;
  }
}

/* V12.83 FINAL EOF - petites largeurs: aucune superposition, normal et compact */
@media (max-width:760px){
  #svcContent .work-row,
  .v1179-compact-only .work-row,
  .v1180-compact-only .work-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) max-content!important;
    align-items:center!important;
    gap:4px!important;
    width:100%!important;
    min-height:34px!important;
    padding:5px 6px!important;
    overflow:hidden!important;
  }
  #svcContent .child-line,
  .v1179-compact-only .child-line,
  .v1180-compact-only .child-line{
    min-width:0!important;
    display:flex!important;
    align-items:center!important;
    gap:3px!important;
    flex-wrap:nowrap!important;
    overflow:hidden!important;
    white-space:nowrap!important;
  }
  #svcContent .link-child,
  #svcContent .v1180-id,
  .v1179-compact-only .link-child,
  .v1179-compact-only .v1180-id,
  .v1180-compact-only .link-child,
  .v1180-compact-only .v1180-id{
    min-width:0!important;
    display:inline-flex!important;
    align-items:center!important;
    gap:3px!important;
    overflow:hidden!important;
    white-space:nowrap!important;
  }
  #svcContent .link-child b,
  #svcContent .v1180-id b,
  .v1179-compact-only .link-child b,
  .v1179-compact-only .v1180-id b,
  .v1180-compact-only .link-child b,
  .v1180-compact-only .v1180-id b{
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:10px!important;
    line-height:1!important;
  }
  #svcContent .link-child small,
  #svcContent .v1180-id small,
  .v1179-compact-only .link-child small,
  .v1179-compact-only .v1180-id small,
  .v1180-compact-only .link-child small,
  .v1180-compact-only .v1180-id small{
    flex:0 0 auto!important;
    font-size:8px!important;
    line-height:1!important;
    margin:0!important;
  }
  #svcContent .child-line .pill,
  #svcContent .child-line .badge,
  #svcContent .child-line .alert-dot,
  #svcContent .v1180-health,
  .v1179-compact-only .child-line .pill,
  .v1179-compact-only .child-line .badge,
  .v1179-compact-only .child-line .alert-dot,
  .v1179-compact-only .v1180-health,
  .v1180-compact-only .child-line .pill,
  .v1180-compact-only .child-line .badge,
  .v1180-compact-only .child-line .alert-dot,
  .v1180-compact-only .v1180-health{
    flex:0 0 auto!important;
    max-width:34px!important;
    padding:2px 3px!important;
    font-size:8px!important;
    line-height:1!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  #svcContent .work-actions,
  #svcContent .action-group,
  .v1179-compact-only .work-actions,
  .v1179-compact-only .action-group,
  .v1180-compact-only .work-actions,
  .v1180-compact-only .action-group{
    min-width:max-content!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    flex-wrap:nowrap!important;
    gap:2px!important;
    overflow:visible!important;
  }
  #svcContent .work-actions button,
  #svcContent .action-group button,
  .v1179-compact-only .work-actions button,
  .v1179-compact-only .action-group button,
  .v1180-compact-only .work-actions button,
  .v1180-compact-only .action-group button{
    width:auto!important;
    min-width:0!important;
    min-height:20px!important;
    max-width:38px!important;
    padding:4px 5px!important;
    border-radius:7px!important;
    font-size:8px!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
  }
  #svcContent .work-actions .light,
  #svcContent .work-actions .pill:not(.strong-pill),
  #svcContent .work-actions .badge,
  .v1179-compact-only .work-actions .light,
  .v1179-compact-only .work-actions .pill:not(.strong-pill),
  .v1179-compact-only .work-actions .badge,
  .v1180-compact-only .work-actions .light,
  .v1180-compact-only .work-actions .pill:not(.strong-pill),
  .v1180-compact-only .work-actions .badge{
    display:none!important;
  }
  #svcContent .v56-options summary,
  .v1179-compact-only .v56-options summary,
  .v1180-compact-only .v56-options summary{
    width:20px!important;
    height:20px!important;
    min-width:20px!important;
    min-height:20px!important;
    padding:0!important;
    display:grid!important;
    place-items:center!important;
  }
}

@media (max-width:390px){
  #svcContent .work-actions button,
  #svcContent .action-group button,
  .v1179-compact-only .work-actions button,
  .v1179-compact-only .action-group button,
  .v1180-compact-only .work-actions button,
  .v1180-compact-only .action-group button{
    max-width:34px!important;
    padding:4px!important;
    font-size:7.5px!important;
  }
}

/* V12.85 EOF - pointage telephone: cible aussi le mode normal hors #svcContent */
@media (max-width:760px){
  .v1180-daily-main .compact-list,
  .v1180-daily-main .dense-list,
  .service-card .compact-list,
  .service-card .dense-list,
  .v1179-compact-only,
  .v1180-compact-only{
    min-width:0!important;
    width:100%!important;
    overflow:visible!important;
  }

  .v1180-daily-main .work-row,
  .v1180-daily-main .v56-row.work-row-readable,
  .service-card .work-row,
  .service-card .v56-row.work-row-readable,
  #svcContent .work-row,
  #svcContent .v56-row.work-row-readable,
  .v1179-compact-only .work-row,
  .v1180-compact-only .work-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-areas:"child actions"!important;
    align-items:center!important;
    gap:5px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:32px!important;
    padding:5px 6px!important;
    overflow:visible!important;
  }

  .v1180-daily-main .child-line,
  .v1180-daily-main .v56-child-line,
  .v1180-daily-main .v1180-child-line,
  .service-card .child-line,
  .service-card .v56-child-line,
  .service-card .v1180-child-line,
  #svcContent .child-line,
  #svcContent .v56-child-line,
  #svcContent .v1180-child-line,
  .v1179-compact-only .child-line,
  .v1179-compact-only .v56-child-line,
  .v1179-compact-only .v1180-child-line,
  .v1180-compact-only .child-line,
  .v1180-compact-only .v56-child-line,
  .v1180-compact-only .v1180-child-line{
    grid-area:child!important;
    min-width:0!important;
    width:auto!important;
    max-width:100%!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    gap:3px!important;
    flex-wrap:nowrap!important;
    overflow:hidden!important;
    white-space:nowrap!important;
    border-bottom:0!important;
    padding-bottom:0!important;
  }

  .v1180-daily-main .link-child,
  .v1180-daily-main .v56-child-id,
  .v1180-daily-main .v1180-id,
  .service-card .link-child,
  .service-card .v56-child-id,
  .service-card .v1180-id,
  #svcContent .link-child,
  #svcContent .v56-child-id,
  #svcContent .v1180-id,
  .v1179-compact-only .link-child,
  .v1179-compact-only .v56-child-id,
  .v1179-compact-only .v1180-id,
  .v1180-compact-only .link-child,
  .v1180-compact-only .v56-child-id,
  .v1180-compact-only .v1180-id{
    flex:1 1 auto!important;
    min-width:0!important;
    max-width:100%!important;
    display:inline-flex!important;
    align-items:center!important;
    gap:3px!important;
    overflow:hidden!important;
    white-space:nowrap!important;
  }

  .v1180-daily-main .link-child b,
  .v1180-daily-main .v56-child-id b,
  .v1180-daily-main .v1180-id b,
  .service-card .link-child b,
  .service-card .v56-child-id b,
  .service-card .v1180-id b,
  #svcContent .link-child b,
  #svcContent .v56-child-id b,
  #svcContent .v1180-id b,
  .v1179-compact-only .link-child b,
  .v1179-compact-only .v56-child-id b,
  .v1179-compact-only .v1180-id b,
  .v1180-compact-only .link-child b,
  .v1180-compact-only .v56-child-id b,
  .v1180-compact-only .v1180-id b{
    flex:1 1 auto!important;
    min-width:0!important;
    max-width:100%!important;
    display:block!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:10px!important;
    line-height:1.05!important;
  }

  .v1180-daily-main .link-child small,
  .v1180-daily-main .v56-child-id small,
  .v1180-daily-main .v1180-id small,
  .service-card .link-child small,
  .service-card .v56-child-id small,
  .service-card .v1180-id small,
  #svcContent .link-child small,
  #svcContent .v56-child-id small,
  #svcContent .v1180-id small,
  .v1179-compact-only .link-child small,
  .v1179-compact-only .v56-child-id small,
  .v1179-compact-only .v1180-id small,
  .v1180-compact-only .link-child small,
  .v1180-compact-only .v56-child-id small,
  .v1180-compact-only .v1180-id small{
    flex:0 0 auto!important;
    display:inline-block!important;
    min-width:18px!important;
    margin:0!important;
    font-size:7.5px!important;
    line-height:1!important;
    opacity:.75!important;
  }

  .v1180-daily-main .work-actions,
  .v1180-daily-main .action-group,
  .v1180-daily-main .v56-actions,
  .v1180-daily-main .v1180-actions,
  .service-card .work-actions,
  .service-card .action-group,
  .service-card .v56-actions,
  .service-card .v1180-actions,
  #svcContent .work-actions,
  #svcContent .action-group,
  #svcContent .v56-actions,
  #svcContent .v1180-actions,
  .v1179-compact-only .work-actions,
  .v1179-compact-only .action-group,
  .v1179-compact-only .v56-actions,
  .v1179-compact-only .v1180-actions,
  .v1180-compact-only .work-actions,
  .v1180-compact-only .action-group,
  .v1180-compact-only .v56-actions,
  .v1180-compact-only .v1180-actions{
    grid-area:actions!important;
    min-width:0!important;
    max-width:none!important;
    margin-left:0!important;
    padding-top:0!important;
    border-top:0!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-end!important;
    flex-wrap:nowrap!important;
    gap:2px!important;
    overflow:visible!important;
  }

  .v1180-daily-main .work-actions .pill,
  .v1180-daily-main .work-actions .badge,
  .v1180-daily-main .work-actions .light,
  .service-card .work-actions .pill,
  .service-card .work-actions .badge,
  .service-card .work-actions .light,
  #svcContent .work-actions .pill,
  #svcContent .work-actions .badge,
  #svcContent .work-actions .light,
  .v1179-compact-only .work-actions .pill,
  .v1179-compact-only .work-actions .badge,
  .v1179-compact-only .work-actions .light,
  .v1180-compact-only .work-actions .pill,
  .v1180-compact-only .work-actions .badge,
  .v1180-compact-only .work-actions .light{
    display:none!important;
  }

  .v1180-daily-main .work-actions button,
  .v1180-daily-main .action-group button,
  .service-card .work-actions button,
  .service-card .action-group button,
  #svcContent .work-actions button,
  #svcContent .action-group button,
  .v1179-compact-only .work-actions button,
  .v1179-compact-only .action-group button,
  .v1180-compact-only .work-actions button,
  .v1180-compact-only .action-group button{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:36px!important;
    min-height:20px!important;
    padding:4px 5px!important;
    border-radius:7px!important;
    font-size:7.5px!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:clip!important;
  }

  .v1180-daily-main .v56-options,
  .service-card .v56-options,
  #svcContent .v56-options,
  .v1179-compact-only .v56-options,
  .v1180-compact-only .v56-options{
    flex:0 0 auto!important;
    position:relative!important;
  }

  .v1180-daily-main .v56-options summary,
  .service-card .v56-options summary,
  #svcContent .v56-options summary,
  .v1179-compact-only .v56-options summary,
  .v1180-compact-only .v56-options summary{
    width:20px!important;
    min-width:20px!important;
    height:20px!important;
    min-height:20px!important;
    padding:0!important;
    display:grid!important;
    place-items:center!important;
    font-size:12px!important;
  }
}

@media (max-width:390px){
  .v1180-daily-main .work-row,
  .v1180-daily-main .v56-row.work-row-readable,
  .service-card .work-row,
  .service-card .v56-row.work-row-readable,
  #svcContent .work-row,
  #svcContent .v56-row.work-row-readable,
  .v1179-compact-only .work-row,
  .v1180-compact-only .work-row{
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:3px!important;
    padding:4px 5px!important;
  }
  .v1180-daily-main .child-line .pill,
  .v1180-daily-main .child-line .badge,
  .v1180-daily-main .v1180-health,
  .service-card .child-line .pill,
  .service-card .child-line .badge,
  .service-card .v1180-health,
  #svcContent .child-line .pill,
  #svcContent .child-line .badge,
  #svcContent .v1180-health,
  .v1179-compact-only .child-line .pill,
  .v1179-compact-only .child-line .badge,
  .v1179-compact-only .v1180-health,
  .v1180-compact-only .child-line .pill,
  .v1180-compact-only .child-line .badge,
  .v1180-compact-only .v1180-health{
    display:none!important;
  }
  .v1180-daily-main .work-actions button:not(.v56-primary),
  .service-card .work-actions button:not(.v56-primary),
  #svcContent .work-actions button:not(.v56-primary),
  .v1179-compact-only .work-actions button:not(.v56-primary),
  .v1180-compact-only .work-actions button:not(.v56-primary){
    display:none!important;
  }
  .v1180-daily-main .work-actions button.v56-primary,
  .service-card .work-actions button.v56-primary,
  #svcContent .work-actions button.v56-primary,
  .v1179-compact-only .work-actions button.v56-primary,
  .v1180-compact-only .work-actions button.v56-primary{
    max-width:28px!important;
    width:28px!important;
    padding:4px 3px!important;
    font-size:0!important;
  }
  .v1180-daily-main .work-actions button.v56-primary::first-letter,
  .service-card .work-actions button.v56-primary::first-letter,
  #svcContent .work-actions button.v56-primary::first-letter,
  .v1179-compact-only .work-actions button.v56-primary::first-letter,
  .v1180-compact-only .work-actions button.v56-primary::first-letter{
    font-size:11px!important;
  }
}

/* V12.81 final - lignes service mobile/compact sans superposition */
@media (max-width:760px){
  .dense-list .work-row,
  .compact-list .work-row,
  .service-card .work-row,
  .v1179-compact-only .work-row,
  .v1180-compact-only .work-row,
  .v56-row.work-row-readable,
  .v1180-row,
  .v1178-cantine-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:6px!important;
    min-height:40px!important;
    padding:6px 7px!important;
    overflow:hidden!important;
  }
  .dense-list .child-line,
  .compact-list .child-line,
  .service-card .child-line,
  .v1179-compact-only .child-line,
  .v1180-compact-only .child-line,
  .v56-child-line,
  .v58-one-line,
  .v1180-child-line,
  .v1178-cantine-line{
    min-width:0!important;
    max-width:100%!important;
    display:flex!important;
    align-items:center!important;
    gap:4px!important;
    flex-wrap:nowrap!important;
    overflow:hidden!important;
    white-space:nowrap!important;
  }
  .dense-list .link-child,
  .compact-list .link-child,
  .service-card .link-child,
  .v1180-id{
    min-width:0!important;
    max-width:100%!important;
    display:inline-flex!important;
    align-items:center!important;
    gap:4px!important;
    overflow:hidden!important;
    white-space:nowrap!important;
  }
  .dense-list .link-child b,
  .compact-list .link-child b,
  .service-card .link-child b,
  .v1180-id b{
    display:inline-block!important;
    min-width:0!important;
    max-width:clamp(78px,34vw,150px)!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:11px!important;
    line-height:1.05!important;
  }
  .dense-list .link-child small,
  .compact-list .link-child small,
  .service-card .link-child small,
  .v1180-id small,
  .child-line small{
    flex:0 0 auto!important;
    min-width:auto!important;
    margin-left:0!important;
    font-size:9.5px!important;
    line-height:1!important;
  }
  .dense-list .alert-dot,
  .compact-list .alert-dot,
  .service-card .alert-dot,
  .dense-list .badge,
  .compact-list .badge,
  .service-card .badge,
  .dense-list .pill,
  .compact-list .pill,
  .service-card .pill{
    flex:0 1 auto!important;
    max-width:58px!important;
    padding:2px 5px!important;
    font-size:9.5px!important;
    line-height:1!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  .dense-list .work-actions,
  .compact-list .work-actions,
  .service-card .work-actions,
  .v1179-compact-only .work-actions,
  .v1180-compact-only .work-actions,
  .v56-actions,
  .v1180-actions,
  .v1178-cantine-actions{
    grid-column:2!important;
    grid-row:1!important;
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:3px!important;
    min-width:max-content!important;
    max-width:48vw!important;
    overflow:visible!important;
  }
  .dense-list .work-actions button,
  .compact-list .work-actions button,
  .service-card .work-actions button,
  .v1179-compact-only .work-actions button,
  .v1180-compact-only .work-actions button,
  .compact-action{
    width:auto!important;
    min-width:0!important;
    min-height:24px!important;
    padding:5px 6px!important;
    border-radius:8px!important;
    font-size:9.5px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  .dense-list .work-actions .pill:not(.strong-pill),
  .compact-list .work-actions .pill:not(.strong-pill),
  .service-card .work-actions .pill:not(.strong-pill),
  .dense-list .work-actions .light,
  .compact-list .work-actions .light,
  .service-card .work-actions .light{
    display:none!important;
  }
}

@media (max-width:390px){
  .dense-list .work-row,
  .compact-list .work-row,
  .service-card .work-row,
  .v1179-compact-only .work-row,
  .v1180-compact-only .work-row{
    gap:4px!important;
    padding:5px!important;
  }
  .dense-list .link-child b,
  .compact-list .link-child b,
  .service-card .link-child b,
  .v1180-id b{
    max-width:clamp(68px,31vw,118px)!important;
  }
  .dense-list .work-actions,
  .compact-list .work-actions,
  .service-card .work-actions{
    max-width:50vw!important;
  }
}

/* V11.34 - Recherche enfant mobile : liste toujours sous le champ, pas en bas de page */
@media (max-width: 760px){
  .smart-search.v11-search .suggestions.mobile-suggestions{
    position: fixed !important;
    right: auto !important;
    bottom: auto !important;
    margin-top: 0 !important;
    display: block !important;
    z-index: 99999 !important;
    background: #fff !important;
    border: 2px solid #93c5fd !important;
    border-radius: 18px !important;
    box-shadow: 0 22px 60px rgba(15,23,42,.32) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  .smart-search.v11-search .suggestions.mobile-suggestions:empty{display:none!important;}
  .smart-search.v11-search .suggestions.mobile-suggestions button{
    width:100%!important;
    min-height:64px!important;
    padding:14px 16px!important;
    background:#fff!important;
    color:#0f172a!important;
    border-bottom:1px solid #e2e8f0!important;
    border-radius:0!important;
    box-shadow:none!important;
    transform:none!important;
    justify-content:flex-start!important;
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:4px!important;
    text-align:left!important;
  }
  .smart-search.v11-search .suggestions.mobile-suggestions button b{font-size:17px!important;line-height:1.15!important;}
  .smart-search.v11-search .suggestions.mobile-suggestions button small{font-size:13px!important;color:#64748b!important;margin:0!important;}
  .smart-search.v11-search .suggestions.mobile-suggestions .nores{padding:16px!important;font-weight:800;color:#64748b!important;}
}

/* V11.35 - Logo RPI + login responsive */
.logo img,.bigicon img{width:100%;height:100%;object-fit:contain;display:block}
.brand .logo{background:#fff;border:1px solid rgba(15,23,42,.08);box-shadow:0 8px 24px rgba(15,23,42,.08);overflow:hidden}
.bigicon.rpi-logo{width:132px;height:132px;margin:0 auto 10px;background:#fff;border-radius:34px;padding:10px;box-shadow:0 18px 45px rgba(15,23,42,.14)}
.login .panel h1{letter-spacing:-.03em}.login .panel .rpi-subtitle{font-weight:800;color:#0b1f53;margin-top:-8px;margin-bottom:18px}
.user-mail-note{margin-top:10px;padding:10px 12px;border-radius:14px;background:#eff6ff;color:#1e3a8a;font-size:.9rem}

/* ===================== V11.36 - Style RPI propre + copyright &1000 Conception ===================== */
:root{
  --rpi-blue:#155dd6;
  --rpi-blue2:#0b46b5;
  --rpi-green:#48a23f;
  --rpi-orange:#ff8a1c;
  --rpi-ink:#0b1f53;
  --rpi-sky:#eaf7ff;
  --rpi-soft:#f7fbff;
}
.login{
  background:
    radial-gradient(circle at 15% 14%, rgba(72,162,63,.16), transparent 24%),
    radial-gradient(circle at 88% 24%, rgba(255,138,28,.16), transparent 22%),
    linear-gradient(180deg,#eaf7ff 0%,#f8fbff 48%,#eef8ed 100%)!important;
  position:relative;
  overflow:hidden;
}
.login:before{
  content:'';
  position:absolute;
  inset:auto -10% 0 -10%;
  height:34vh;
  background:
    radial-gradient(70% 120% at 20% 100%, #bfeec5 0 42%, transparent 43%),
    radial-gradient(60% 120% at 78% 100%, #d8f6cd 0 45%, transparent 46%);
  opacity:.85;
  pointer-events:none;
}
.login:after{
  content:'';
  position:absolute;
  right:7vw;
  bottom:13vh;
  width:118px;
  height:120px;
  background:linear-gradient(#fff,#f8fafc);
  clip-path:polygon(50% 5%,92% 36%,92% 100%,8% 100%,8% 36%);
  border:5px solid #0b1f53;
  border-bottom:0;
  opacity:.10;
  pointer-events:none;
}
.login .panel{
  position:relative;
  z-index:2;
  width:min(480px,94vw)!important;
  padding:32px 34px 28px!important;
  border-radius:32px!important;
  border:1px solid rgba(255,255,255,.92)!important;
  background:rgba(255,255,255,.94)!important;
  box-shadow:0 28px 70px rgba(11,31,83,.16)!important;
}
.bigicon.rpi-logo{
  width:150px!important;
  height:150px!important;
  border-radius:38px!important;
  padding:12px!important;
  background:#fff!important;
  box-shadow:0 22px 55px rgba(11,31,83,.16)!important;
}
.login .panel h1{
  text-align:center;
  color:var(--rpi-ink);
  font-size:34px;
  margin:12px 0 2px!important;
}
.login .panel .rpi-subtitle{
  text-align:center;
  color:var(--rpi-green)!important;
  font-weight:950!important;
  letter-spacing:.02em;
  margin:0 0 18px!important;
}
.login .muted{ text-align:center; color:#475569!important; font-weight:800; }
.login .field label{color:var(--rpi-ink);font-weight:900;}
.login input{
  border-radius:16px!important;
  min-height:50px!important;
  border:1px solid #d7e3f5!important;
  background:#fbfdff!important;
}
.login input:focus{border-color:#93c5fd!important;box-shadow:0 0 0 5px rgba(21,93,214,.13)!important;}
.login #go{
  width:100%;
  min-height:52px;
  margin-top:12px;
  background:linear-gradient(135deg,var(--rpi-blue),var(--rpi-blue2))!important;
  box-shadow:0 14px 28px rgba(21,93,214,.25)!important;
  font-size:17px;
}
.login-copy{
  position:relative;
  z-index:2;
  margin-top:18px;
  text-align:center;
  color:#50627b;
  font-size:12px;
  line-height:1.45;
  font-weight:700;
}
.login-copy b{color:var(--rpi-ink)}
.brand .logo img{padding:3px;}
.app.v11 .brand{
  background:linear-gradient(135deg,rgba(255,255,255,.18),rgba(255,255,255,.06))!important;
  border:1px solid rgba(255,255,255,.16)!important;
}
.app.v11 .brand .logo{
  background:#fff!important;
  border-radius:18px!important;
}
.rpi-footer-copy{
  margin-top:auto;
  padding:10px 10px 2px;
  color:rgba(219,234,254,.74);
  font-size:11px;
  line-height:1.35;
  font-weight:700;
}
@media(max-width:640px){
  .bigicon.rpi-logo{width:126px!important;height:126px!important;border-radius:30px!important;}
  .login .panel{padding:26px 22px 22px!important;border-radius:26px!important;}
  .login .panel h1{font-size:29px;}
  .login-copy{font-size:11px;}
}

/* ===================== V11.40 - Agent pointage + toolbar mobile propre ===================== */
.agent-hidden{display:none!important;visibility:hidden!important;pointer-events:none!important;}
.staff-pointage-page .top{margin-bottom:10px!important;}
.staff-pointage-page .top .subtitle{margin-top:2px!important;}
.staff-pointage-page .service-card{overflow:visible!important;}
.staff-pointage-page .service-toolbar-pro{align-items:end!important;gap:10px!important;margin-bottom:10px!important;}
.staff-pointage-page .smart-search.v11-search{margin:0!important;}
.staff-pointage-page .service-date-center{margin:0!important;}
.staff-pointage-page .agent-pointage-hint{
  display:inline-flex;align-items:center;gap:8px;margin:0 0 10px;padding:8px 12px;
  border-radius:999px;background:#ecfdf5;color:#166534;border:1px solid #bbf7d0;
  font-size:13px;font-weight:900;
}
.staff-pointage-page .agent-pointage-hint:before{content:'✅';}
.staff-pointage-page .work-actions .danger.small{display:none!important;}
.staff-pointage-page .service-summary{margin-top:0!important;}
@media(max-width:760px){
  .staff-pointage-page .top{gap:6px!important;margin-bottom:8px!important;}
  .staff-pointage-page .top h1{font-size:23px!important;line-height:1.12!important;}
  .staff-pointage-page .top .subtitle{font-size:13px!important;line-height:1.25!important;}
  .staff-pointage-page .service-card{padding-top:12px!important;}
  .staff-pointage-page .agent-pointage-hint{width:100%;justify-content:center;margin-bottom:8px!important;font-size:12px!important;}
  .staff-pointage-page .service-toolbar-pro{
    display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:8px!important;margin:0 0 8px!important;
  }
  .staff-pointage-page .service-toolbar-pro .smart-search.v11-search{order:1!important;width:100%!important;margin:0!important;}
  .staff-pointage-page .service-date-center{
    order:2!important;width:100%!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;align-items:end!important;
  }
  .staff-pointage-page .service-date-center .field{grid-column:1/2!important;width:100%!important;margin:0!important;min-width:0!important;}
  .staff-pointage-page .service-date-center #todayBtn{grid-column:2/3!important;width:100%!important;margin:0!important;min-height:44px!important;}
  .staff-pointage-page .smart-search.v11-search .search-wrap{min-height:50px!important;}
  .staff-pointage-page .smart-search.v11-search input{min-height:38px!important;font-size:16px!important;}
  .staff-pointage-page .service-summary{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:8px!important;margin:8px 0!important;}
  .staff-pointage-page .mini-kpi{padding:10px 8px!important;text-align:center!important;border-radius:14px!important;}
  .staff-pointage-page .mini-kpi b{font-size:18px!important;line-height:1.1!important;}
  .staff-pointage-page .mini-kpi span{font-size:11px!important;}
}

/* V11.41 */
.v1141-tabs{margin-bottom:12px}.selected-child{padding:10px 12px;border:1px solid var(--border,#d7dde8);border-radius:12px;background:#f8fafc;margin:8px 0 12px}.filter-chip{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:14px;margin:10px 0}.support-info{background:#fff7ed!important;border-radius:8px}.agent-hidden{display:none!important}.work-actions .danger.small{white-space:nowrap}
@media(max-width:760px){.filter-chip{flex-direction:column;align-items:flex-start}.selected-child{font-size:14px}.v1141-tabs{display:flex;gap:8px}.v1141-tabs .tab{flex:1}.work-actions{gap:6px}.work-actions button{min-height:38px}}

/* V11.44 réel */
.support-line{margin:6px 0 4px;padding:7px 10px;border-radius:10px;background:#f5f3ff;color:#5b21b6;border:1px solid #ddd6fe;font-size:.92rem;line-height:1.35}.support-line.mini{font-size:.82rem;margin-top:4px}.birthday-card{border-left:4px solid #f59e0b}.birthday-line{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:8px 0;border-bottom:1px solid rgba(0,0,0,.06)}.birthday-line:last-child{border-bottom:0}.birthday-line small{color:#6b7280}

/* V11.45 déverminage */
.ok-text{color:#16803c;font-weight:700;margin-left:8px}.search-add-list{display:grid;gap:8px;margin:10px 0}.closed-cell{background:#f3f4f6!important;color:#6b7280}.day-holiday{background:#fff1f2!important}.day-vacances{background:#fff7ed!important}.day-exceptional-close{background:#fef2f2!important}.closed-label{font-size:12px;font-weight:700;color:#6b7280}.reservation-admin-grid th.closed-cell small{display:block;font-weight:600;margin-top:3px}.v1145-service-kpis{margin-top:14px}.support-line .danger,.support-line .secondary{margin-left:6px}.statsBox table{font-size:12px}.person-card.compact .ok.small{white-space:nowrap}.selected-child button{margin:4px}.v1145-export-family{margin-left:auto}

/* V11.47 - lisibilité recherche + soutien */
.clean-search-results{margin:10px 0 12px;display:grid;gap:8px}
.search-status{margin:10px 0}
.work-row-readable{display:grid;grid-template-columns:1fr;gap:8px;padding:10px 12px;border-left:4px solid transparent}
.work-row-readable.done{border-left-color:#16a34a}
.work-row-readable .child-line{display:flex;align-items:center;gap:8px;min-width:220px}
.work-row-readable .link-child{display:flex;align-items:baseline;gap:10px;text-align:left}
.work-row-readable .link-child b{min-width:150px}
.action-group{display:flex;align-items:center;gap:6px;flex-wrap:wrap;border-top:1px solid rgba(15,23,42,.08);padding-top:7px}
.row-section{display:flex;align-items:center;justify-content:space-between;gap:10px;border-radius:10px;padding:8px 10px;font-size:12px}
.row-section b{display:block;margin-bottom:2px}
.row-section span{color:#475569}
.row-section-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.support-active{background:#fff7ed;border:1px solid #fed7aa;color:#7c2d12}
.support-empty{background:#f8fafc;border:1px dashed #cbd5e1;color:#64748b}
.strong-pill{font-weight:800;background:#ecfeff;border-color:#a5f3fc;color:#155e75}
@media (min-width:900px){.work-row-readable{grid-template-columns:260px minmax(260px,1fr) auto;align-items:center}.work-row-readable .child-line{grid-column:1}.work-row-readable .row-section{grid-column:2}.work-row-readable .work-actions{grid-column:3;border-top:0;padding-top:0;justify-content:flex-end}.work-row-readable:not(:has(.row-section)) .work-actions{grid-column:2/4}}

/* V11.49 - correctifs déverminage */
.tabpane:not(.active), .suggestions:empty { display:none !important; }
.search-wrap > span { display:none !important; }
.smart-search .search-wrap input { padding-left:14px !important; }
.row-section.support-empty { justify-content:flex-end; background:transparent; border:0; padding:0; }
.row-section.support-active { background:#f3e8ff; border:1px solid #d8b4fe; color:#4c1d95; }
.work-row-readable { gap:8px; }
.work-row-readable .child-line { border-bottom:1px solid rgba(15,23,42,.08); padding-bottom:6px; }
.action-group { flex-wrap:wrap; gap:6px; }
.dashboard-kpis .card.kpi { min-height:74px; }
.birthday-line { display:flex; align-items:center; gap:10px; padding:8px 0; border-top:1px solid rgba(15,23,42,.08); }
.birthday-line span { background:#e6f7ec; color:#166534; border-radius:999px; padding:4px 8px; font-size:12px; font-weight:700; }
.date-chip { background:#fff; border:1px solid #dbe5f2; border-radius:10px; padding:8px 12px; font-weight:700; }
.stats-filters { align-items:flex-end; }
.kv th { width:180px; background:#f8fafc; }


/* V11.50 */
.warn-dot{display:inline-flex;align-items:center;gap:4px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:999px;padding:2px 7px;font-size:12px;cursor:pointer;white-space:nowrap}.warn-dot small{font-weight:600}.support-active{background:#f5f3ff;border:1px solid #ddd6fe;color:#4c1d95}.support-empty{background:#f8fafc;border:1px dashed #cbd5e1}.row-section{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:7px 0;padding:7px 9px;border-radius:10px}.row-section span{display:block;font-size:12px}.row-section-actions{display:flex;gap:6px;flex-wrap:wrap}.closed-cell{background:#f1f5f9!important;color:#64748b}.closed-label{font-size:11px}.clean-search-results{margin:8px 0}.work-row-readable .child-line{gap:10px;flex-wrap:wrap}


/* V11.51 */
.same-line-alert{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.inline-alert{display:inline-flex;align-items:center;gap:4px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700}.support-chip{display:inline-flex;align-items:center;gap:4px;background:#eef2ff;border:1px solid #c7d2fe;color:#3730a3;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800}.muted-pill{opacity:.75;background:#f8fafc!important;color:#475569!important}.work-row-readable .work-actions{gap:6px;align-items:center;flex-wrap:wrap}


/* V11.52 - lisibilité lignes pointage */
.v52-row{grid-template-columns:minmax(300px,1fr) auto!important;align-items:center!important;gap:10px!important}.v52-row .child-line{border-bottom:0!important;padding-bottom:0!important;flex-wrap:nowrap!important;overflow:hidden}.v52-child-id{display:inline-flex!important;align-items:center!important;gap:8px!important;white-space:nowrap!important}.v52-child-id b{display:inline!important}.v52-child-id small{display:inline!important;margin-left:4px}.inline-alert{max-width:520px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v52-actions{gap:5px!important}.compact-action{padding:5px 8px!important;font-size:12px!important;white-space:nowrap}.apc-chip{background:#ecfeff!important;border-color:#a5f3fc!important;color:#155e75!important}.disabled-day{opacity:.45;text-decoration:line-through}.service-summary .mini-kpi span{text-transform:none!important}@media(max-width:1100px){.v52-row{grid-template-columns:1fr!important}.v52-row .child-line{flex-wrap:wrap!important}.inline-alert{max-width:100%}}

/* V11.56 - Accueil soir : ligne lisible + menu options */
.v56-row{align-items:flex-start;gap:10px}
.v56-child-line{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1}
.v56-mainline{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}
.v56-child-id{display:inline-flex;align-items:baseline;gap:8px;text-align:left}
.v56-child-id small{font-size:.78rem;color:var(--muted,#64748b);font-weight:600}
.v56-alert{display:inline-flex;align-items:center;max-width:100%;white-space:normal;line-height:1.25}
.v56-info{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.apc-pill{background:#eef6ff;border-color:#bfdbfe;color:#1d4ed8;font-weight:700}
.ok-pill{background:#ecfdf5;border-color:#bbf7d0;color:#047857;font-weight:700}
.v56-actions{margin-left:auto;display:flex;align-items:flex-start;gap:6px;flex-wrap:nowrap}
.v56-primary{font-weight:700;white-space:nowrap}
.v56-options{position:relative;display:inline-block}
.v56-options summary{list-style:none;cursor:pointer;border:1px solid var(--border,#d7dde8);border-radius:9px;background:#fff;min-width:36px;height:32px;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800;line-height:1;box-shadow:0 1px 2px rgba(15,23,42,.05)}
.v56-options summary::-webkit-details-marker{display:none}
.v56-options[open] summary{background:#f8fafc}
.v56-menu{position:absolute;right:0;top:38px;z-index:30;min-width:190px;background:#fff;border:1px solid var(--border,#d7dde8);border-radius:12px;box-shadow:0 10px 30px rgba(15,23,42,.18);padding:6px;display:flex;flex-direction:column;gap:4px}
.v56-menu-item{width:100%;border:0;background:transparent;text-align:left;padding:8px 10px;border-radius:8px;cursor:pointer;font-size:.92rem;color:var(--text,#0f172a)}
.v56-menu-item:hover{background:#f1f5f9}
.v56-menu-item.danger{color:#b91c1c}
.v56-menu-item.danger:hover{background:#fef2f2}
@media (max-width:700px){.v56-row{flex-direction:column}.v56-actions{margin-left:0}.v56-menu{left:0;right:auto}}


/* ===================== V11.58 : Accueil soir - toutes infos enfant sur une ligne ===================== */
.v58-one-line{display:flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;min-width:0;line-height:1.25}
.v58-one-line .v56-child-id{margin-right:4px;white-space:nowrap}
.v58-one-line .v56-alert{white-space:nowrap;max-width:460px;overflow:hidden;text-overflow:ellipsis}
.v58-one-line .pill{white-space:nowrap}
.v56-row{align-items:center!important}
@media (max-width:900px){.v58-one-line .v56-alert{max-width:100%;white-space:normal}.v58-one-line{align-items:flex-start!important}.v56-row{align-items:flex-start!important}}

/* V11.59 - Fenêtre réservations/redondances plus lisible */
.v1159-res-tabs{margin-bottom:14px;}
.v1159-pane .hint{margin:8px 0 12px;}
.v1159-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;}
.v1159-section-head h3{margin:0;font-size:16px;}
.v1159-section-head p{margin:3px 0 0;color:var(--muted,#667085);font-size:12px;}
.v1159-date-toolbar,.v1159-rec-dates,.v1159-rec-search{align-items:end;gap:10px;}
.v1159-rec-card{border:1px solid rgba(59,130,246,.18);background:linear-gradient(180deg,#fff,#f8fbff);}
.v1159-rec-days{margin:12px 0;}
.v1159-rec-days .disabled-day{opacity:.42;filter:grayscale(1);cursor:not-allowed;}
.v1159-rec-days .disabled-day input{cursor:not-allowed;}
@media(max-width:800px){.v1159-date-toolbar,.v1159-rec-dates,.v1159-rec-search{display:grid;grid-template-columns:1fr;}.v1159-section-head{display:block;}}

/* V11.60 - Accueil soir : vraie ligne unique horizontale */
.v56-row.work-row-readable{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important;padding:8px 10px!important;}
.v56-row.work-row-readable .v56-child-line{grid-column:1!important;border-bottom:0!important;padding-bottom:0!important;display:flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important;flex-wrap:nowrap!important;overflow:hidden!important;min-width:0!important;}
.v56-row.work-row-readable .v56-child-id{display:inline-flex!important;align-items:center!important;gap:8px!important;white-space:nowrap!important;flex:0 0 auto!important;}
.v56-row.work-row-readable .v56-child-id b{display:inline!important;min-width:0!important;font-size:13px!important;}
.v56-row.work-row-readable .v56-child-id small{display:inline!important;margin-left:4px!important;font-size:11px!important;}
.v56-row.work-row-readable .inline-alert,.v56-row.work-row-readable .v56-alert,.v56-row.work-row-readable .pill{white-space:nowrap!important;flex:0 0 auto!important;}
.v56-row.work-row-readable .v56-actions{grid-column:2!important;border-top:0!important;padding-top:0!important;margin-left:0!important;align-items:center!important;justify-content:flex-end!important;flex-wrap:nowrap!important;}
.v1160-rec-days .check{display:inline-flex;}
@media(max-width:900px){.v56-row.work-row-readable{grid-template-columns:1fr!important}.v56-row.work-row-readable .v56-child-line{flex-wrap:wrap!important}.v56-row.work-row-readable .v56-actions{grid-column:1!important;justify-content:flex-start!important}}

/* V11.61 - Menu ⋮ Accueil soir compact et non coupé + redondance propre */
.service-card,.compact-list,.dense-list,.work-row,.work-row-readable,.v56-row,.v56-actions{overflow:visible!important;}
.v56-options{position:relative!important;display:inline-flex!important;align-items:center!important;z-index:60!important;}
.v56-options summary{width:28px!important;min-width:28px!important;height:26px!important;border-radius:8px!important;font-size:15px!important;padding:0!important;box-shadow:none!important;}
.v56-menu{top:auto!important;bottom:31px!important;right:0!important;z-index:9999!important;min-width:155px!important;border-radius:10px!important;padding:4px!important;gap:2px!important;box-shadow:0 10px 24px rgba(15,23,42,.20)!important;}
.v56-menu-item{font-size:12px!important;line-height:1.15!important;padding:6px 8px!important;border-radius:7px!important;min-height:0!important;}
.v1159-rec-days,.v1161-rec-days{grid-template-columns:repeat(2,minmax(0,1fr));}
.v1161-no-open-days{margin:8px 0;}


/* V11.62 - badge médical complet sur une seule ligne */
.v1162-medical{max-width:520px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;}
.v58-one-line .v1162-medical,.v56-child-line .v1162-medical{display:inline-flex;align-items:center;}
@media (max-width:900px){.v1162-medical{max-width:260px;}}


/* V11.63 - Paramètres > Journaux admin */
.v1163-filters{align-items:end;gap:10px;flex-wrap:wrap;margin:10px 0 14px;}
.v1163-kpis{grid-template-columns:repeat(3,minmax(0,1fr));margin:10px 0 14px;}
.v1163-section{margin-top:16px;border:1px solid var(--border,#d7dde8);border-radius:14px;background:#fff;overflow:hidden;}
.v1163-section h3{margin:0;padding:12px 14px;background:#f8fafc;border-bottom:1px solid var(--border,#d7dde8);font-size:15px;}
.v1163-log-list{display:flex;flex-direction:column;}
.v1163-log-row{display:grid;grid-template-columns:140px minmax(0,1fr) 180px;gap:12px;align-items:center;padding:10px 14px;border-bottom:1px solid rgba(15,23,42,.07);}
.v1163-log-row:last-child{border-bottom:0;}
.v1163-log-date{font-size:12px;font-weight:700;color:#475569;white-space:nowrap;}
.v1163-log-main{min-width:0;}
.v1163-log-main b{display:block;font-size:13px;color:#0f172a;}
.v1163-log-main span{display:block;font-size:12px;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.v1163-log-user{text-align:right;min-width:0;}
.v1163-log-user b{display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.v1163-log-user span{font-size:11px;color:#64748b;}
@media(max-width:800px){.v1163-kpis{grid-template-columns:1fr}.v1163-log-row{grid-template-columns:1fr;gap:3px}.v1163-log-user{text-align:left}.v1163-log-main span{white-space:normal}}

/* V11.64 - Badges compacts santé + sortie seule */
.v1164-badge{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;border:1px solid #fde68a!important;background:#fff7ed!important;color:#9a3412!important;border-radius:999px!important;padding:3px 8px!important;font-size:11px!important;font-weight:800!important;line-height:1.2!important;white-space:nowrap!important;cursor:pointer!important;box-shadow:none!important;transform:none!important;min-height:22px!important;max-width:130px!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.v1164-badge:hover{transform:none!important;box-shadow:none!important;filter:brightness(.98)!important;}
.v1164-health-badge{max-width:115px!important;}
.v1164-solo-badge{width:24px!important;min-width:24px!important;max-width:24px!important;padding:3px 0!important;background:#eef6ff!important;border-color:#bfdbfe!important;color:#1d4ed8!important;font-size:13px!important;}
.v1164-info-modal{display:grid;gap:8px;}
.v1164-info-row{border:1px solid var(--line,#dfe7f1);background:#f8fafc;border-radius:12px;padding:9px 11px;font-weight:700;}
.v1164-row .v56-child-line{gap:6px!important;}
.v1164-row .apc-pill,.v1164-row .ok-pill,.v1164-row .pill{font-size:11px!important;padding:3px 7px!important;}
.v1164-row .v56-child-id b{font-size:13px!important;}
.v1164-row .v56-child-id small{font-size:11px!important;}
@media(max-width:900px){.v1164-health-badge{max-width:100px!important}.v1164-row .v56-child-line{flex-wrap:wrap!important}}

/* V11.65 espace parent inline + réservations fluides */
.parent-action-card{border:1px solid var(--line);text-align:left;align-items:flex-start;display:flex;flex-direction:column;gap:8px;color:var(--text);background:#fff;min-height:130px}.parent-action-card span{font-size:30px}.parent-action-card b{font-size:20px}.parent-action-card small{color:var(--muted);font-weight:650}.parent-family-page .row{margin-top:12px}.parent-week-cards{display:grid;gap:14px}.parent-child-res-card{border:1px solid var(--line);border-radius:20px;background:#fff;padding:14px}.parent-child-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.parent-child-head b{font-size:17px}.parent-child-head small{color:var(--muted);font-weight:800}.parent-days-row{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:10px}.parent-day-card{border:1px solid #e5eaf2;border-radius:16px;background:#fbfdff;padding:10px;min-height:118px}.parent-day-card.closed{background:#f4f6f9;color:#94a3b8}.parent-day-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.parent-day-title b{font-size:13px}.parent-day-title span{font-size:11px;border-radius:999px;background:#e5e7eb;padding:3px 7px}.parent-svc-row{display:flex;flex-direction:column;gap:7px}.parent-svc-pill{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:8px 9px;cursor:pointer;font-weight:800}.parent-svc-pill input{width:auto}.parent-svc-pill.on{border-color:#86efac;background:#ecfdf5;color:#166534}.parent-svc-pill.disabled{opacity:.45;cursor:not-allowed;background:#f1f5f9}.parent-rec-layout{display:grid;gap:12px}.parent-day-pills,.parent-service-pills{display:flex;gap:8px;flex-wrap:wrap}.parent-day-pills label,.parent-service-pills label{cursor:pointer}.parent-day-pills input,.parent-service-pills input{display:none}.parent-day-pills span,.parent-service-pills span{display:inline-flex;border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 14px;font-weight:850}.parent-day-pills input:checked+span,.parent-service-pills input:checked+span{background:#2563eb;color:#fff;border-color:#2563eb}.parent-home-actions button:hover{transform:translateY(-1px)}@media(max-width:1050px){.parent-days-row{grid-template-columns:1fr}.parent-day-card{min-height:auto}.parent-svc-row{display:grid;grid-template-columns:repeat(3,1fr)}}@media(max-width:620px){.parent-svc-row{grid-template-columns:1fr}.week-nav{width:100%;display:grid;grid-template-columns:1fr 1fr}.week-nav button{width:100%}}


/* V11.66 - Mon foyer parent en onglets + redondance jours service */
.v1166-tabs{margin-bottom:14px}.v1166-pane{display:none}.v1166-pane.active{display:block}.readonly-field input{background:#f1f5f9;color:#64748b;cursor:not-allowed}.parent-resp-card{margin-bottom:12px}.v1166-parent-rec .parent-day-pills label.disabled{opacity:.45;cursor:not-allowed}.v1166-parent-rec .parent-day-pills label.disabled span{background:#f1f5f9;color:#94a3b8;border-color:#e2e8f0}.parent-day-card.closed .parent-svc-row{display:none}


/* V11.67 - alertes accueil famille règlement / RC */
.parent-alert-card{border-color:#fecaca;background:#fffafa}.parent-critical-alert{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #fecaca;background:#fef2f2;color:#7f1d1d;border-radius:18px;padding:14px;margin:10px 0}.parent-critical-alert b{font-size:16px}.parent-critical-alert p{margin:4px 0 0;color:#991b1b}.parent-alert-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.button-link{border-radius:14px;padding:11px 15px;font-weight:800;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;background:#edf2f7;color:#233045}.button-link.danger{background:#dc2626;color:#fff}.rc-auto-hint{background:#f8fafc;border-style:solid}.v1166-pane{scroll-margin-top:20px}@media(max-width:760px){.parent-critical-alert{align-items:stretch;flex-direction:column}.parent-alert-actions{justify-content:flex-start}.parent-alert-actions button,.parent-alert-actions a{width:100%}}

/* ===================== V11.69 : Mes réservations parent mobile + libellés propres ===================== */
.v1169-res-card{overflow:visible!important}
.v1169-week{display:grid!important;gap:16px!important;overflow:visible!important}
.v1169-child-card{padding:14px!important;border-radius:22px!important;background:#fff!important;border:1px solid #dbe5f0!important;box-shadow:0 8px 24px rgba(15,23,42,.05)!important}
.v1169-child-card .parent-child-head{margin-bottom:12px!important;padding-bottom:10px!important;border-bottom:1px solid #eef2f7!important}
.v1169-child-card .parent-child-head b{font-size:16px!important;font-weight:950!important}
.v1169-child-card .parent-child-head small{display:inline-flex!important;margin-left:8px!important;background:#eef5ff!important;color:#1d4ed8!important;border-radius:999px!important;padding:3px 8px!important;font-size:11px!important;font-weight:900!important}
.v1169-days-row{display:grid!important;grid-template-columns:repeat(5,minmax(145px,1fr))!important;gap:10px!important}
.v1169-day{padding:10px!important;border-radius:16px!important;min-height:116px!important;background:linear-gradient(180deg,#fff,#f9fbff)!important}
.v1169-day.closed{background:#f3f5f8!important;color:#94a3b8!important}
.v1169-day .parent-day-title b{font-size:12px!important;font-weight:950!important;white-space:nowrap!important}
.v1169-svc-row{display:grid!important;gap:7px!important}
.parent-svc-pill{min-height:34px!important;padding:7px 9px!important;border-radius:12px!important;font-size:12px!important;line-height:1!important;white-space:nowrap!important}
.parent-svc-pill .svc-ico{width:18px!important;text-align:center!important;flex:0 0 18px!important}
.parent-svc-pill b{font-size:12px!important;font-weight:950!important;overflow:hidden!important;text-overflow:ellipsis!important}
.parent-svc-pill input{width:16px!important;height:16px!important;flex:0 0 16px!important}
.parent-svc-pill.parent-svc-am b::after{content:''!important}
.parent-svc-pill.parent-svc-pm b::after{content:''!important}
.parent-rec-mobile .parent-service-pills span,.parent-rec-mobile .parent-day-pills span{font-size:14px!important}
.parent-rec-mobile .parent-day-pills label.disabled{opacity:.4!important;pointer-events:none!important}
.parent-rec-mobile .parent-day-pills label.disabled span{background:#f1f5f9!important;color:#94a3b8!important}
@media(max-width:1050px){.v1169-days-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}.v1169-day{min-height:auto!important}.week-nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important}.week-nav button{width:100%!important}}
@media(max-width:640px){.parent-res-top{align-items:stretch!important}.v1169-res-card{padding:12px!important}.v1169-child-card{padding:12px!important;border-radius:18px!important}.v1169-days-row{grid-template-columns:1fr!important;gap:8px!important}.v1169-day{display:grid!important;grid-template-columns:96px 1fr!important;gap:8px!important;align-items:start!important;min-height:0!important;padding:9px!important}.v1169-day .parent-day-title{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;margin:0!important;gap:4px!important}.v1169-svc-row{grid-template-columns:1fr!important}.parent-svc-pill{min-height:38px!important;font-size:13px!important}.parent-svc-pill b{font-size:13px!important}.service-picker{display:grid!important;gap:8px!important}.service-picker button{width:100%!important}.parent-rec-mobile .formgrid{grid-template-columns:1fr!important}.parent-rec-mobile .parent-day-pills,.parent-rec-mobile .parent-service-pills{display:grid!important;grid-template-columns:1fr 1fr!important}.parent-rec-mobile .parent-service-pills label:last-child{grid-column:1/-1!important}}

/* V11.70 - personnes de confiance en tableau */
.trusted-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px;background:#fff;margin-top:10px}
.trusted-table{width:100%;min-width:720px;border-collapse:separate;border-spacing:0}
.trusted-table th{position:static;background:#f8fafc;color:#64748b;font-size:12px;text-transform:uppercase;letter-spacing:.04em;padding:8px 10px}
.trusted-table td{padding:7px 8px;border-bottom:1px solid var(--line);vertical-align:middle}
.trusted-table tr:last-child td{border-bottom:0}
.trusted-table input{padding:8px 10px;border-radius:10px;font-size:13px}
.trusted-table .contact-remove{min-width:32px;height:32px;padding:0;border-radius:10px;font-weight:900}
.trusted-actions{margin-top:10px;align-items:center}
.inline-hint{margin:0;padding:8px 10px;font-size:12px}
@media(max-width:760px){.trusted-table-wrap{border-radius:14px}.trusted-table{min-width:640px}.trusted-table input{font-size:12px;padding:7px 8px}}

/* V11.73 - Onglet Mes tarifs parent */
.parent-tarif-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:8px 0 14px}.parent-tarif-summary>div{background:#f8fafc;border:1px solid var(--line);border-radius:16px;padding:12px}.parent-tarif-summary span{display:block;color:var(--muted);font-size:12px;font-weight:800;margin-bottom:4px}.parent-tarif-summary b{font-size:16px}.parent-tarifs-table table{min-width:620px}.parent-tarifs-table td strong{font-size:15px;color:#0f172a}@media(max-width:760px){.parent-tarif-summary{grid-template-columns:1fr 1fr}.parent-tarifs-table table{min-width:0}.parent-tarifs-table th,.parent-tarifs-table td{white-space:normal}}

/* V11.74 : état discret pendant sauvegarde avant fermeture popup */
.modal-back.modal-saving .modal{opacity:.82;pointer-events:none}
.modal-back.modal-saving .modal-head:after{content:'Sauvegarde…';font-size:12px;font-weight:800;color:#64748b;margin-left:auto;margin-right:8px}

/* V11.77 : sauvegarde manuelle légère */
.modal-save-tools{display:flex;align-items:center;gap:8px;margin-left:auto;margin-right:10px;flex-wrap:wrap}.save-state-badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900;border:1px solid transparent;white-space:nowrap}.save-state-badge.saved{background:#ecfdf5;color:#166534;border-color:#bbf7d0}.save-state-badge.unsaved{background:#fef2f2;color:#991b1b;border-color:#fecaca}.save-state-badge.saving{background:#fff7ed;color:#9a3412;border-color:#fed7aa}.save-state-badge.error{background:#fee2e2;color:#7f1d1d;border-color:#fca5a5}.modal-save-btn{padding:7px 10px;border-radius:10px;font-size:12px}.parent-save-badge{margin-right:8px}@media(max-width:640px){.modal-head{align-items:flex-start;flex-wrap:wrap}.modal-save-tools{order:3;width:100%;margin:8px 0 0;justify-content:flex-start}.modal-save-btn{flex:0 0 auto}}

/* V11.78 - Cantine : rendu compact type accueil soir */
.v1178-cantine-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;}
.v1178-cantine-line{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;min-width:0;overflow:hidden;}
.v1178-cantine-line .link-child{min-width:170px;}
.v1178-cantine-actions{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;}
.v1178-cantine-options .v56-menu{min-width:150px;}
@media(max-width:760px){
  .v1178-cantine-row{grid-template-columns:1fr;gap:8px;}
  .v1178-cantine-line{flex-wrap:wrap;}
  .v1178-cantine-actions{justify-content:flex-start;}
}

/* V11.79 affichage quotidien optimisé + mode appel compact */
.v1179-daily-main .top{margin-bottom:8px}
.v1179-daily-main .top h1{font-size:26px;margin-bottom:0}
.v1179-daily-main .service-card{padding:12px;margin-bottom:8px}
.v1179-daily-main .service-toolbar-pro{gap:8px;margin-bottom:8px;padding-bottom:6px}
.v1179-daily-main .v1179-daily-hint{display:none!important}
.v1179-mini-summary{display:flex!important;grid-template-columns:none!important;gap:8px;margin:0 0 8px!important}
.v1179-mini-summary .mini-kpi{padding:8px 10px;border-radius:12px;min-width:95px}
.v1179-mini-summary .mini-kpi b{font-size:17px;line-height:1.05}
.v1179-mini-summary .mini-kpi span{font-size:11px}
.v1179-optimized-service .compact-list.dense-list{gap:4px}
.v1179-optimized-service .work-row{min-height:42px;padding:6px 8px;border-radius:11px;gap:8px}
.v1179-optimized-service .work-actions{gap:5px}
.v1179-optimized-service button.small{padding:6px 8px;border-radius:10px;font-size:12px}
.v1179-optimized-service .pill,.v1179-optimized-service .badge{padding:3px 7px;font-size:11px}
.v1179-compact-btn{white-space:nowrap}
.v1179-compact-main{padding:8px!important;background:#f8fafc}
.v1179-compact-head{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;background:rgba(248,250,252,.98);border:1px solid var(--line);border-radius:14px;padding:8px;margin-bottom:8px;box-shadow:0 4px 16px rgba(15,23,42,.06)}
.v1179-compact-title{display:flex;flex-direction:column;gap:1px;min-width:0}
.v1179-compact-title b{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v1179-compact-title small{color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v1179-compact-head input[type=date]{width:auto;min-width:136px;padding:7px 9px;border-radius:10px;font-size:13px}
.v1179-compact-only{display:flex;flex-direction:column;gap:4px}
.v1179-compact-only .work-row{min-height:38px;padding:5px 7px;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;gap:6px}
.v1179-compact-only .child-line{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.v1179-compact-only .link-child{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v1179-compact-only .link-child b,.v1179-compact-only .link-child small{display:inline!important;margin-right:6px}
.v1179-compact-only .work-actions{gap:4px;flex-wrap:nowrap}
.v1179-compact-only button.small,.v1179-compact-only .compact-action{padding:5px 7px!important;border-radius:9px!important;font-size:12px!important;min-height:30px}
.v1179-compact-only .pill,.v1179-compact-only .badge{font-size:10.5px;padding:2px 6px}
@media(max-width:700px){
  .v1179-daily-main{padding:8px!important}
  .v1179-daily-main .top{display:none}
  .v1179-daily-main .service-card{padding:8px;border-radius:14px}
  .v1179-daily-main .service-toolbar-pro{position:static;display:grid;grid-template-columns:1fr 1fr;align-items:stretch}
  .v1179-daily-main .service-toolbar-pro .smart-search{grid-column:1/-1}
  .v1179-daily-main .service-date-center{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;gap:6px}
  .v1179-daily-main .service-toolbar-pro button{padding:8px 9px;border-radius:10px;font-size:12px}
  .v1179-mini-summary{overflow:auto;padding-bottom:2px}
  .v1179-mini-summary .mini-kpi{min-width:82px;padding:7px 8px}
  .v1179-compact-head{grid-template-columns:auto 1fr;gap:6px;padding:7px}
  .v1179-compact-head input[type=date]{grid-column:1/-1;width:100%}
  .v1179-compact-head button{padding:7px 8px;font-size:12px}
  .v1179-compact-title b{font-size:14px}
  .v1179-compact-title small{font-size:11px}
  .v1179-compact-only .work-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important}
  .v1179-compact-only .work-actions{justify-content:flex-end!important}
}

/* V11.80 - quotidien plus compact + réservations épurées */
.v1180-daily-main .top{display:flex!important;align-items:center!important;justify-content:space-between!important;margin-bottom:6px!important;gap:8px!important}
.v1180-daily-main .top h1{font-size:22px!important;line-height:1!important}
.v1180-top-compact{white-space:nowrap!important;padding:8px 10px!important;border-radius:11px!important;font-size:12px!important}
.v1180-row{min-height:36px!important;padding:5px 7px!important;border-radius:10px!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;overflow:visible!important}
.v1180-child-line{display:flex!important;flex-direction:row!important;align-items:center!important;gap:5px!important;flex-wrap:nowrap!important;overflow:hidden!important;min-width:0!important;line-height:1.1!important}
.v1180-id{min-width:0!important;max-width:220px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;flex:0 1 auto!important}
.v1180-id b{font-size:12px!important;white-space:nowrap!important}.v1180-id small{font-size:10.5px!important;margin-left:4px!important}
.v1180-health{max-width:78px!important;min-width:auto!important;font-size:10px!important;padding:2px 6px!important;height:20px!important;min-height:20px!important}
.v1180-row .v1164-solo-badge{width:21px!important;min-width:21px!important;height:20px!important;min-height:20px!important;font-size:12px!important}
.v1180-row .pill,.v1180-row .badge{font-size:10.5px!important;padding:2px 6px!important;min-height:20px!important;line-height:1.1!important;white-space:nowrap!important}
.v1180-actions{gap:4px!important;align-items:center!important;flex-wrap:nowrap!important}.v1180-actions button.small,.v1180-actions .compact-action{padding:5px 7px!important;font-size:11px!important;border-radius:8px!important;min-height:26px!important}.v1180-options summary{width:25px!important;min-width:25px!important;height:25px!important;font-size:14px!important}
.v1180-compact-head{grid-template-columns:auto 1fr auto!important}.v1180-compact-only .v1180-row{min-height:34px!important;padding:4px 6px!important}.v1180-compact-only .v1180-id{max-width:150px!important}.v1180-compact-only .v1180-health{max-width:64px!important}.v1180-compact-only .v56-menu{bottom:28px!important}
.v1180-res-tabs{margin-bottom:8px!important}.v1180-pane .toolbar{margin-bottom:8px!important}.v1180-date-toolbar,.v1180-rec-toolbar{display:flex!important;align-items:end!important;gap:8px!important;flex-wrap:wrap!important}.v1180-date-toolbar .field,.v1180-rec-toolbar .field{margin:0!important}.v1180-date-toolbar input,.v1180-rec-toolbar input{padding:8px 10px!important;border-radius:11px!important}.v1180-rec-days{margin:8px 0!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}.v1180-rec-days .check{padding:8px 10px!important;border-radius:12px!important}.compact-selected{font-size:12px!important;margin:4px 0 8px!important;padding:7px 9px!important;border:1px solid var(--line);border-radius:10px;background:#f8fafc}.reservation-admin-grid th,.reservation-admin-grid td{padding:7px 8px!important;font-size:12px!important}.reservation-admin-grid .link-child b{font-size:12px!important}.reservation-admin-grid .link-child small{font-size:10.5px!important}
@media(max-width:700px){.v1180-daily-main{padding:7px!important}.v1180-daily-main .service-card{padding:7px!important}.v1180-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:4px!important}.v1180-child-line{flex-wrap:nowrap!important}.v1180-id{max-width:118px!important}.v1180-id b{font-size:11.5px!important}.v1180-health{max-width:58px!important}.v1180-actions{justify-content:flex-end!important}.v1180-actions .v56-menu{right:0!important;left:auto!important}.v1180-compact-head{grid-template-columns:auto 1fr!important}.v1180-compact-head input[type=date]{grid-column:1/-1!important;width:100%!important}.v1180-date-toolbar,.v1180-rec-toolbar{display:grid!important;grid-template-columns:1fr 1fr!important}.v1180-date-toolbar .grow,.v1180-rec-toolbar .grow{grid-column:1/-1!important}.v1180-rec-days{grid-template-columns:1fr 1fr!important}}

/* V11.81 - correctifs compact : chevauchement + boutons haut */
.v1181-daily-top{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;flex-wrap:nowrap!important;}
.v1181-daily-top>div:first-child{min-width:0!important;}
.v1181-top-actions{margin-left:auto!important;display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:nowrap!important;}
.v1181-action-btn{white-space:nowrap!important;padding:8px 10px!important;border-radius:11px!important;font-size:12px!important;box-shadow:none!important;transform:none!important;}
.v1179-compact-only .v1180-child-line,.v1180-compact-only .v1180-child-line{display:flex!important;align-items:center!important;gap:7px!important;flex-wrap:nowrap!important;min-width:0!important;}
.v1179-compact-only .v1180-id,.v1180-compact-only .v1180-id{display:inline-flex!important;align-items:center!important;gap:6px!important;max-width:240px!important;min-width:0!important;flex:0 1 auto!important;}
.v1179-compact-only .v1180-id b,.v1180-compact-only .v1180-id b{display:inline-block!important;max-width:165px!important;overflow:hidden!important;text-overflow:ellipsis!important;vertical-align:bottom!important;}
.v1179-compact-only .v1180-id small,.v1180-compact-only .v1180-id small{display:inline-block!important;margin-left:0!important;flex:0 0 auto!important;}
@media(max-width:700px){
  .v1181-daily-top{align-items:flex-start!important;}
  .v1181-top-actions{gap:6px!important;}
  .v1181-action-btn{padding:7px 8px!important;font-size:11px!important;}
  .v1179-compact-only .v1180-id,.v1180-compact-only .v1180-id{max-width:185px!important;}
  .v1179-compact-only .v1180-id b,.v1180-compact-only .v1180-id b{max-width:138px!important;}
}
@media(max-width:420px){
  .v1181-daily-top{flex-direction:column!important;align-items:stretch!important;}
  .v1181-top-actions{justify-content:flex-end!important;}
  .v1179-compact-only .v1180-id,.v1180-compact-only .v1180-id{max-width:150px!important;}
  .v1179-compact-only .v1180-id b,.v1180-compact-only .v1180-id b{max-width:108px!important;}
}


/* V11.83 : grille réservations admin plus fluide */
.v1183-res-grid table{table-layout:fixed}
.v1183-res-grid th:first-child,.v1183-res-grid td:first-child{min-width:150px;width:150px}
.v1183-res-grid th:not(:first-child),.v1183-res-grid td:not(:first-child){min-width:86px;width:86px;text-align:center}
.v1183-res-grid .mini-check{justify-content:center}

/* ===================== V11.84 : affichage recherche redondances =====================
   - La recherche enfant des redondances ne doit plus recouvrir les dates/jours.
   - Liste de résultats intégrée au flux du formulaire, hauteur limitée.
   - Toolbar redondance plus lisible : recherche sur ligne complète, dates dessous.
===================== */
.v1180-rec-toolbar{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr)) auto!important;
  align-items:start!important;
  gap:8px!important;
}
.v1180-rec-toolbar>.field.grow,
.v1180-rec-toolbar>.field:has(.smart-search){
  grid-column:1/-1!important;
  min-width:0!important;
  width:100%!important;
}
.v1180-rec-toolbar .smart-search{
  position:relative!important;
  width:100%!important;
  min-width:0!important;
}
.v1180-rec-toolbar .smart-search .suggestions,
.v1180-rec-toolbar #recChildSug{
  position:static!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  width:100%!important;
  max-height:180px!important;
  overflow:auto!important;
  margin-top:6px!important;
  border-radius:12px!important;
  box-shadow:0 6px 18px rgba(15,23,42,.10)!important;
  z-index:auto!important;
}
.v1180-rec-toolbar #recChildSug button{
  min-height:34px!important;
  padding:8px 10px!important;
  font-size:12px!important;
}
.v1180-rec-toolbar #recChildSug button b{
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.v1180-rec-toolbar #recChildSug button small{
  flex:0 0 auto!important;
}
.v1180-pane .selected-child.compact-selected{
  margin-top:6px!important;
}
@media(max-width:720px){
  .v1180-rec-toolbar{grid-template-columns:1fr!important;}
  .v1180-rec-toolbar>.field,
  .v1180-rec-toolbar>.field.grow{grid-column:1/-1!important;}
  .v1180-rec-toolbar #recChildSug{max-height:150px!important;}
}

/* V11.85 : popup haute + tri classes + périodes */
.modal{min-height:80vh;}
.modal-body{max-height:calc(80vh - 72px);}
.v1185-class-separator{display:flex;align-items:center;margin:6px 0 3px;border-top:1px solid #dbe5f2;}
.v1185-class-separator span{background:#eef5ff;color:#1d4ed8;border:1px solid #bfdbfe;border-radius:999px;padding:3px 9px;font-weight:900;font-size:11px;margin-top:-11px;}
.v1185-classed-list .work-row{margin-bottom:4px;}
.v1185-summary{margin-bottom:8px!important;}
.v1185-period-modal .suggestions{position:relative;top:auto;margin-top:6px;max-height:220px;overflow:auto;z-index:2;box-shadow:none;border-radius:14px;}
.v1185-period-search{overflow:visible;}
.v1185-period-list{margin-top:12px;}
.v1185-period-list table{font-size:13px;}
.v1185-period-list th,.v1185-period-list td{padding:8px 10px;}
@media(max-width:720px){.modal{min-height:88vh;width:98vw}.modal-body{max-height:calc(88vh - 64px)}.v1185-period-list .table-wrap{max-height:260px}.v1185-class-separator{margin-top:8px}}

/* V11.86 : espace famille réservations/redondance */
.v1186-parent-res-top .week-nav{gap:8px;align-items:center;flex-wrap:wrap}
.v1186-rec-btn{background:#2563eb!important;color:#fff!important;font-weight:900!important;border-radius:14px!important;padding:10px 14px!important;box-shadow:0 8px 20px rgba(37,99,235,.18)!important}
.v1186-rec-btn:hover{background:#1d4ed8!important}
.v1186-parent-rec .subcard{margin-bottom:10px!important}
.v1186-parent-rec h3{margin-bottom:8px!important}
.v1186-parent-rec .formgrid{gap:8px!important}
.v1186-apply-rec{width:100%;margin-top:6px;font-size:15px}
@media(max-width:720px){
  .v1186-parent-res-top{gap:10px!important}
  .v1186-parent-res-top .week-nav{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important}
  .v1186-parent-res-top .week-nav #parentRecBtn{grid-column:1/-1!important;width:100%!important}
}

/* V11.87 : séparation uniquement par classe + périodes admin lisibles */
.modal{min-height:80vh;}
.modal-body{max-height:calc(92vh - 70px);}
.v1185-classed-list{gap:0!important;}
.v1185-classed-list .work-row,
.v1185-classed-list .v56-row,
.v1185-classed-list .work-row-readable{
  margin:0!important;
  border-radius:0!important;
  border-top:0!important;
  border-left:0!important;
  border-right:0!important;
  box-shadow:none!important;
}
.v1185-classed-list .work-row:not(:last-child),
.v1185-classed-list .v56-row:not(:last-child),
.v1185-classed-list .work-row-readable:not(:last-child){border-bottom:1px solid rgba(15,23,42,.06)!important;}
.v1185-class-separator{margin:9px 0 0!important;border-top:2px solid #bfdbfe!important;}
.v1185-class-separator + .work-row,
.v1185-class-separator + .v56-row,
.v1185-class-separator + .work-row-readable{border-top:0!important;}
.v1185-class-separator span{font-size:11px!important;padding:2px 8px!important;}
.v1187-period-modal{display:flex;flex-direction:column;gap:10px;}
.v1187-period-top{grid-template-columns:1fr 1.2fr!important;align-items:start;}
.v1187-period-search{overflow:visible;}
.v1187-period-search .suggestions{position:relative!important;top:auto!important;margin-top:6px!important;max-height:180px!important;overflow:auto!important;z-index:2!important;box-shadow:none!important;border-radius:14px!important;}
.v1187-selected{margin:0!important;padding:8px 10px!important;border-radius:14px;background:#eef5ff;border:1px solid #bfdbfe;display:flex;align-items:center;gap:10px;}
.v1187-period-options{grid-template-columns:1fr auto!important;align-items:end;}
.v1187-period-actions{margin:0!important;}
.v1187-period-list{margin:0!important;}
.v1187-period-list .table-wrap{max-height:34vh;overflow:auto;}
.v1187-period-list table{font-size:12px;}
.v1187-period-list th,.v1187-period-list td{padding:7px 9px;}
.v1187-class-row td{background:#eef5ff!important;color:#1d4ed8!important;font-weight:900!important;text-transform:uppercase;font-size:11px!important;border-top:2px solid #bfdbfe!important;}
@media(max-width:720px){
  .modal{min-height:88vh!important;width:98vw!important;}
  .modal-body{max-height:calc(88vh - 60px)!important;}
  .v1187-period-top,.v1187-period-options{grid-template-columns:1fr!important;}
  .v1187-period-list .table-wrap{max-height:260px;}
}

/* V11.90 : ergonomie familles/admin périodes + séparateurs fins */
.v1190-parent-top .subtitle{margin-top:2px;font-size:12px}.v1190-parent-top .week-nav{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.v1190-rec-main{background:#2563eb!important;color:#fff!important;font-weight:900!important}.v1190-parent-card{padding:12px!important}.v1190-child-pager{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;font-size:12px;color:#64748b}.v1190-child-week{border:1px solid #e2e8f0;border-radius:16px;background:#fff;margin-bottom:10px;overflow:hidden}.v1190-child-week h3{display:flex;align-items:center;gap:8px;margin:0;padding:8px 10px;background:#f8fafc;font-size:14px}.v1190-child-week h3 small{color:#64748b;font-weight:700}.v1190-day-strip{display:flex;gap:8px;overflow-x:auto;padding:8px;scroll-snap-type:x proximity}.v1190-day-card{min-width:145px;max-width:165px;scroll-snap-align:start;border:1px solid #e2e8f0;border-radius:14px;background:#fbfdff;padding:7px}.v1190-day-card.closed{background:#f1f5f9;color:#94a3b8}.v1190-day-title{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:5px;font-size:12px}.v1190-day-title span{font-size:10px;background:#e2e8f0;border-radius:999px;padding:2px 6px}.v1190-svcs{display:grid;gap:5px}.v1190-svc{display:flex;align-items:center;gap:5px;border:1px solid #dbeafe;border-radius:10px;padding:5px 6px;background:white;font-size:12px;font-weight:800}.v1190-svc input{width:auto}.v1190-svc.on{background:#dcfce7;border-color:#86efac}.v1190-none{text-align:center;font-size:12px;padding:8px 0}.v1190-period-buttons{margin-top:8px;display:flex;gap:8px;flex-wrap:wrap}.v1190-parent-period{display:flex;flex-direction:column;gap:8px}.v1190-period-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:8px}.v1190-period-head div{display:flex;flex-direction:column;text-align:center}.v1190-period-head span{font-size:12px;color:#64748b}.v1190-period-kids{display:grid;gap:8px}.v1190-period-child{border:1px solid #e2e8f0;border-radius:14px;padding:9px;background:#fff;display:grid;grid-template-columns:minmax(150px,220px) 1fr;gap:8px;align-items:center}.v1190-period-child b{display:block}.v1190-period-child small{color:#64748b}.v1190-period-controls{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.v1190-period-controls label,.v1190-big-check{border:1px solid #e2e8f0;background:#f8fafc;border-radius:999px;padding:6px 8px;font-size:12px;font-weight:800}.v1190-period-controls input,.v1190-big-check input{width:auto;margin-right:4px}.v1190-admin-period{display:flex;flex-direction:column;gap:8px}.v1190-admin-period-tools{margin:0!important}.v1190-admin-period-table{max-height:42vh;overflow:auto}.v1190-admin-period-table table{font-size:12px}.v1190-admin-period-table th,.v1190-admin-period-table td{padding:7px 8px}.v1190-admin-period-table td small{display:block;color:#64748b}.compact-check{padding:5px 8px!important}.compact-check input{width:auto!important}
.v1190-period-child.is-reserved{border-color:#22c55e!important;background:#ecfdf5!important;box-shadow:0 6px 18px rgba(22,101,52,.14)}.p1302-feedback{display:inline-flex;align-items:center;justify-content:center;min-height:34px;border:1px solid #d8e1ec;border-radius:999px;background:#f8fafc;color:#64748b;padding:6px 12px;font-size:12px;font-weight:900;white-space:nowrap}.p1302-feedback.on{background:#16a34a!important;border-color:#15803d!important;color:#fff!important;box-shadow:0 4px 12px rgba(22,163,74,.24)}.v1190-period-child.is-reserved select,.v1190-period-child.is-reserved .v1190-big-check{border-color:#86efac!important;background:#fff!important}
.v1185-class-separator{height:14px!important;margin:5px 0 0!important;border-top:1px solid rgba(37,99,235,.22)!important}.v1185-class-separator span{font-size:10px!important;padding:1px 7px!important;background:#f8fbff!important;color:#475569!important;border-color:#dbeafe!important;margin-top:-9px!important}.v1185-classed-list .work-row:not(:last-child),.v1185-classed-list .v56-row:not(:last-child),.v1185-classed-list .work-row-readable:not(:last-child){border-bottom:1px solid rgba(15,23,42,.035)!important}
@media(max-width:720px){.v1190-parent-top .week-nav{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%}.v1190-parent-top .week-nav #parentRecBtn{grid-column:1/-1}.v1190-day-card{min-width:138px}.v1190-period-head{grid-template-columns:1fr;}.v1190-period-child{grid-template-columns:1fr}.v1190-period-controls{display:grid;grid-template-columns:1fr 1fr}.v1190-period-controls label,.v1190-big-check{border-radius:12px}.v1190-admin-period-table{max-height:48vh}.modal{width:98vw!important;min-height:88vh!important}.modal-body{max-height:calc(88vh - 60px)!important}}

/* V11.91 - tableaux récap périodes */
.v1191-recap-table table{min-width:980px}
.v1191-recap-table th,.v1191-recap-table td{vertical-align:top}
.v1191-recap-table .compact-days{font-size:.86rem;line-height:1.35;white-space:nowrap}
.medical-cell{min-width:260px;font-size:.92rem;line-height:1.45}
.medical-cell .pill{display:inline-block;margin:0 .25rem .15rem 0}
.medical-inline{display:block;margin-top:.25rem;color:#9a3412;line-height:1.3}
.period-actions{gap:.45rem;flex-wrap:wrap;align-items:center}
.period-actions button{white-space:nowrap}
@media (max-width:760px){
  .v1191-recap-table table{min-width:0}
  .v1191-recap-table .compact-days{white-space:normal}
  .medical-cell{min-width:0}
  .period-actions{display:grid;grid-template-columns:1fr;align-items:stretch}
  .period-actions button{width:100%}
}

/* V11.92 reprise propre : lisibilité popups périodes */
.v1192-period-modal{display:flex;flex-direction:column;gap:10px}
.v1192-period-table{max-height:58vh;overflow:auto;border-radius:14px;border:1px solid #e2e8f0;background:#fff}
.v1192-period-table table{font-size:12.5px;min-width:760px}
.v1192-period-table th{position:sticky;top:0;background:#f8fafc;z-index:1}
.v1192-period-table th,.v1192-period-table td{padding:7px 9px;vertical-align:middle}
.v1192-period-table td:first-child b{font-size:13px}.v1192-period-table td:first-child small{color:#64748b;font-weight:700}
.v1192-period-actions{margin-top:0;gap:8px;justify-content:flex-end}
.v1192-recap-modal{display:flex;flex-direction:column;gap:10px}
.v1192-recap-table{max-height:62vh;overflow:auto;border-radius:14px;border:1px solid #e2e8f0;background:#fff}
.v1192-recap-table table{font-size:12.5px;min-width:980px}.v1192-recap-table th{position:sticky;top:0;background:#f8fafc;z-index:1}.v1192-recap-table th,.v1192-recap-table td{padding:8px 10px;vertical-align:top}.v1192-recap-table .medical-cell{min-width:220px}.v1192-alsh-only .period-card{align-items:center}
@media(max-width:720px){.v1192-period-table,.v1192-recap-table{max-height:62vh}.v1192-period-table table,.v1192-recap-table table{min-width:0}.v1192-period-actions{display:grid;grid-template-columns:1fr}.v1192-period-actions button{width:100%}.v1192-alsh-only .period-card{display:block}.v1192-alsh-only .period-card button{width:100%;margin-top:10px}}

/* V12.01 - environnement propre popups périodes Mercredis/ALSH */
.v1201-period-shell{background:linear-gradient(180deg,#f8fbff 0%,#fff 46%);border-radius:18px;padding:4px;max-width:100%;}
.v1201-period-shell .period-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin:0 0 14px;padding:14px 14px 12px;border:1px solid #e4ebf5;background:#fff;border-radius:16px;box-shadow:0 8px 22px rgba(15,35,70,.06)}
.v1201-period-shell .period-head h3{margin:0;font-size:1.1rem}.v1201-period-shell .period-head p{margin:.25rem 0 0;color:#64748b}.period-head-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.filterbar{display:flex;align-items:end;gap:10px;margin:0 0 12px;padding:12px;border:1px solid #e4ebf5;background:#f7faff;border-radius:14px}.filterbar .grow{flex:1}.filterbar input,.filterbar select{min-height:42px}.result-count{min-width:86px;text-align:center;background:#fff;border:1px solid #e5eaf2;border-radius:12px;padding:7px 10px}.result-count b{display:block;font-size:1.15rem}.result-count span{font-size:.76rem;color:#64748b}.v1201-table-wrap{max-height:62vh;border-radius:15px;border:1px solid #dfe7f2;background:#fff;overflow:auto}.v1201-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.92rem}.v1201-table thead th{position:sticky;top:0;z-index:2;background:#edf4ff;color:#243b59;border-bottom:1px solid #d6e1ef;text-transform:uppercase;font-size:.74rem;letter-spacing:.04em;padding:10px 9px;text-align:left}.v1201-table td{border-bottom:1px solid #eef2f7;padding:9px;vertical-align:middle}.v1201-table tbody tr:nth-child(even){background:#fbfdff}.v1201-table tbody tr:hover{background:#f3f8ff}.child-main{display:flex;flex-direction:column;gap:2px}.child-main small{color:#64748b}.switch-line{display:inline-flex;align-items:center;gap:7px;font-weight:700}.status-ok{display:inline-flex;align-items:center;border-radius:999px;background:#eaf8ef;color:#166534;border:1px solid #bfe8cd;padding:4px 9px;font-weight:700}.status-bad{display:inline-flex;align-items:center;border-radius:999px;background:#fff1f2;color:#9f1239;border:1px solid #fecdd3;padding:4px 9px;font-weight:700}.v1201-bottom{align-items:center;justify-content:space-between}.hint-inline{font-size:.86rem;color:#64748b}.health-list{display:grid;grid-template-columns:auto 1fr;gap:4px 7px;align-items:center}.health-tag{border-radius:999px;padding:2px 7px;font-size:.72rem;font-weight:800;border:1px solid transparent;white-space:nowrap}.health-tag.danger{background:#fff1f2;color:#9f1239;border-color:#fecdd3}.health-tag.warn{background:#fff7ed;color:#9a3412;border-color:#fed7aa}.health-tag.info{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.health-tag.neutral{background:#f8fafc;color:#475569;border-color:#e2e8f0}.v1201-recap-shell .medical-cell{min-width:240px}.v1201-att-shell .service-summary,.v1201-recap-shell .service-summary{margin:0 0 12px}.compact-days{font-size:.84rem;line-height:1.35;color:#475569}@media(max-width:760px){.v1201-period-shell .period-head,.filterbar{display:block}.period-head-actions{justify-content:stretch;margin-top:10px}.period-head-actions button{width:100%}.filterbar .field{margin-bottom:8px}.result-count{width:100%;box-sizing:border-box}.v1201-table-wrap{max-height:65vh}.v1201-table thead{display:none}.v1201-table,.v1201-table tbody,.v1201-table tr,.v1201-table td{display:block;width:100%}.v1201-table tr{border-bottom:1px solid #dfe7f2;padding:8px 0}.v1201-table td{display:flex;justify-content:space-between;gap:12px;border-bottom:0;padding:7px 10px}.v1201-table td::before{content:attr(data-label);font-weight:800;color:#475569;min-width:110px}.health-list{display:block}.health-tag{display:inline-block;margin:2px 4px 2px 0}}

/* V12.03 périodes : lisibilité + statut sauvegarde */
.v1203-shell{display:flex;flex-direction:column;gap:14px;max-width:100%}.v1203-head{align-items:center}.save-state{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800;border:1px solid #d7dee8;background:#f8fafc}.save-state.saved{color:#137333;background:#eaf7ee;border-color:#bfe7cb}.save-state.dirty{color:#a50e0e;background:#fdeaea;border-color:#f3b5b5}.save-state.saving{color:#7a4d00;background:#fff7e0;border-color:#f1d188}.v1203-table-wrap{border:1px solid #dce4ef;border-radius:14px;overflow:auto;background:#fff}.v1203-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.v1203-table th{position:sticky;top:0;background:#f4f7fb;color:#26364a;text-transform:uppercase;font-size:11px;letter-spacing:.04em;z-index:1}.v1203-table th,.v1203-table td{padding:10px 12px;border-bottom:1px solid #edf1f6;vertical-align:middle}.v1203-table tr:hover td{background:#f8fbff}.one-child{display:flex;gap:8px;align-items:baseline;white-space:nowrap}.one-child small{color:#64748b;font-weight:700}.one-line-days{white-space:normal;line-height:1.35}.health-alert-btn{border:1px solid #f0c36d;background:#fff8e6;color:#7a4d00;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;cursor:pointer}.health-alert-btn:hover{background:#ffefc2}.period-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.v1203-table .switch-line{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.v1203-table select{min-width:130px}.v1203-table .status-ok{white-space:nowrap}


/* V12.07 : affichage sans fantôme, sans écran bloquant */
body.app-booting #app{opacity:0;}
body.app-ready #app{opacity:1;transition:opacity .08s ease-out;}
body.route-rendering .main{opacity:.98;}
/* Les éléments explicitement masqués par le code ne doivent jamais apparaître une fraction de seconde. */
.agent-hidden,[hidden],.is-hidden,.js-hidden{display:none!important;}
/* Sécurité : un fond de modale orphelin ne doit jamais bloquer l'application. */
.modal-back:empty{display:none!important;pointer-events:none!important;}


/* V12.08 : anti-textes fantômes ciblé, sans overlay global
   Les textes d'aide visibles une fraction de seconde sont masqués en CSS dès le départ.
   app.js les transforme ensuite en bouton ⓘ avec infobulle native. */
.top .subtitle,
.card > .hint,
.subcard > .hint,
.modal-body > .hint,
.modal-body .hint.warn,
.service-card > .hint,
.hint-inline.v1208-info-source{display:none!important;}
.info-bubble{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:24px!important;height:24px!important;min-width:24px!important;padding:0!important;border-radius:999px!important;background:#eef5ff!important;color:#1d4ed8!important;border:1px solid #bfdbfe!important;font-weight:900!important;font-size:13px!important;line-height:1!important;box-shadow:none!important;transform:none!important;vertical-align:middle!important;cursor:help!important;}
.info-bubble:hover{background:#dbeafe!important;box-shadow:none!important;transform:none!important;}
.top h1 .info-bubble{margin-left:8px;}
.v1208-info-row{display:flex;align-items:center;gap:8px;margin:0 0 8px;}
.v1208-info-row .info-bubble{flex:0 0 auto;}

/* ===================== V12.11 : infobulles propres, sans popup lourde ===================== */
.info-bubble{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:22px!important;height:22px!important;min-width:22px!important;
  padding:0!important;margin-left:8px!important;border-radius:999px!important;
  background:#eef5ff!important;color:#1d4ed8!important;border:1px solid #bfdbfe!important;
  font-weight:900!important;font-size:12px!important;line-height:1!important;
  box-shadow:none!important;vertical-align:middle!important;cursor:help!important;
  position:relative!important;overflow:visible!important;user-select:none!important;z-index:25!important;
}
.info-bubble:hover,.info-bubble.is-open{background:#dbeafe!important;border-color:#93c5fd!important;}
.top h1{display:flex;align-items:center;gap:0;flex-wrap:wrap;overflow:visible;}
.top h1 .info-bubble{margin-left:8px!important;}
.v1208-info-row,.module-help-row{display:none!important;}
.app-help-tip{
  position:fixed;
  z-index:100000;
  background:#0f172a;
  color:#fff;
  border-radius:12px;
  padding:10px 12px;
  box-shadow:0 14px 32px rgba(15,23,42,.24);
  font-size:12px;
  line-height:1.38;
  white-space:pre-line;
  pointer-events:auto;
}
.app-help-tip strong{display:block;margin-bottom:5px;font-size:12px;color:#fff;}
.app-help-tip div{font-weight:500;color:#eef2ff;}
@media (hover:none), (pointer:coarse){.info-bubble{cursor:pointer!important;}.app-help-tip{font-size:13px;line-height:1.42;}}


/* V12.12 - Espace famille simplifié et accessible */
.family-simple-head{align-items:center;gap:16px}
.family-simple-head h1{display:flex;align-items:center;gap:8px}
.family-week-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.family-week-actions button{min-width:48px;min-height:42px}
.family-booking-shell{display:grid;gap:16px}.family-week-panel{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fff;border:1px solid var(--border,#dbe3ee);border-radius:22px;padding:16px 18px;box-shadow:0 10px 28px rgba(15,23,42,.06)}
.family-week-panel small{display:block;color:#64748b;font-weight:800;text-transform:uppercase;letter-spacing:.04em;font-size:11px}.family-week-panel strong{font-size:22px;color:#0f172a}.family-bulk-btn{min-height:42px;border-radius:14px}
.family-children-stack{display:grid;gap:18px}.family-child-card{background:#fff;border:1px solid var(--border,#dbe3ee);border-radius:24px;padding:16px;box-shadow:0 12px 30px rgba(15,23,42,.07)}.family-child-card>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.family-child-card>header b{font-size:18px}.family-child-card>header small{display:block;color:#64748b;margin-top:2px;font-weight:800}
.family-days-grid{display:grid;grid-template-columns:repeat(5,minmax(145px,1fr));gap:12px}.family-day-tile{border:1px solid #dbeafe;background:linear-gradient(180deg,#fff,#f8fbff);border-radius:20px;padding:12px;min-height:154px}.family-day-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:10px}.family-day-head b{font-size:14px}.family-day-head span{font-size:11px;font-weight:900;color:#64748b;background:#e2e8f0;border-radius:999px;padding:4px 7px}.family-day-tile.is-closed{background:#f1f5f9;border-color:#e2e8f0;color:#94a3b8}.family-closed-note{display:flex;align-items:center;justify-content:center;min-height:94px;font-size:13px;font-weight:800;color:#64748b;text-align:center}
.family-service-list{display:grid;gap:8px}.family-service-tile{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:8px;border:1px solid #dbe3ee;border-radius:15px;background:#fff;padding:9px 10px;cursor:pointer;min-height:48px;transition:.16s ease;box-shadow:0 4px 12px rgba(15,23,42,.04)}.family-service-tile:hover{transform:translateY(-1px);border-color:#93c5fd;box-shadow:0 8px 18px rgba(37,99,235,.10)}.family-service-tile input{position:absolute;opacity:0;pointer-events:none}.family-service-tile .fst-icon{width:30px;height:30px;border-radius:11px;background:#eff6ff;display:flex;align-items:center;justify-content:center}.family-service-tile b{font-size:13px}.family-service-tile small{display:block;color:#64748b;font-size:11px;line-height:1.1}.family-service-tile .fst-state{font-size:11px;font-weight:900;color:#64748b;background:#f1f5f9;border-radius:999px;padding:5px 7px}.family-service-tile.is-selected{background:#ecfdf5;border-color:#86efac}.family-service-tile.is-selected .fst-icon{background:#dcfce7}.family-service-tile.is-selected .fst-state{background:#16a34a;color:#fff}
.family-period-shortcuts{background:#fff;border:1px solid var(--border,#dbe3ee);border-radius:24px;padding:16px;box-shadow:0 12px 30px rgba(15,23,42,.06)}.family-period-shortcuts h2{margin:0 0 3px}.family-period-shortcuts p{margin:0 0 12px;color:#64748b}.family-period-shortcuts>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.family-period-card,.family-alsh-period{appearance:none;border:1px solid #dbe3ee;background:#fff;border-radius:20px;padding:16px;text-align:left;box-shadow:0 8px 20px rgba(15,23,42,.05);display:grid;grid-template-columns:42px 1fr;gap:6px 12px;align-items:center;color:#0f172a}.family-period-card span,.family-alsh-period span{grid-row:1/3;width:42px;height:42px;border-radius:14px;background:#eff6ff;display:flex;align-items:center;justify-content:center;font-size:20px}.family-period-card b,.family-alsh-period b{font-size:16px}.family-period-card small,.family-alsh-period small{color:#64748b;line-height:1.25}.family-period-card:hover,.family-alsh-period:hover{border-color:#93c5fd;transform:translateY(-1px)}.family-period-list{display:grid;gap:12px}.family-step-card{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid #dbe3ee;border-radius:22px;padding:16px;box-shadow:0 10px 28px rgba(15,23,42,.06)}.family-step-num{width:42px;height:42px;border-radius:50%;background:#2563eb;color:#fff;font-weight:950;display:flex;align-items:center;justify-content:center}.family-step-card h2{margin:0 0 4px}.family-step-card p{margin:0;color:#64748b}.family-help-tip{font-size:13px;line-height:1.45;box-shadow:0 18px 40px rgba(15,23,42,.20)}
@media(max-width:1100px){.family-days-grid{grid-template-columns:repeat(3,minmax(170px,1fr))}}
@media(max-width:760px){.family-simple-head{align-items:stretch}.family-week-actions{display:grid;grid-template-columns:1fr 1.5fr 1fr}.family-week-panel{display:grid;grid-template-columns:1fr}.family-week-panel strong{font-size:19px}.family-days-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.family-day-tile{flex:0 0 82%;scroll-snap-align:start;min-height:170px}.family-period-shortcuts>div{grid-template-columns:1fr}.family-service-tile{min-height:54px}.family-child-card{padding:14px;border-radius:22px}.family-booking-shell{gap:14px}}
@media(max-width:430px){.family-day-tile{flex-basis:88%}.family-service-tile{grid-template-columns:32px 1fr}.family-service-tile .fst-state{grid-column:1/-1;text-align:center}.family-period-card,.family-alsh-period{grid-template-columns:36px 1fr;padding:13px}.family-period-card span,.family-alsh-period span{width:36px;height:36px}.family-child-card>header b{font-size:16px}}


/* V12.13 - Espace famille : colonne mobile propre + actions intégrées à la carte enfant */
.family-booking-shell-v1213{max-width:980px;margin:0 auto;width:100%;}
.family-child-card-v1213{display:grid;gap:14px;}
.family-child-main-head{margin-bottom:0!important;}
.family-week-box{display:grid;grid-template-columns:minmax(220px,1fr) auto;align-items:center;gap:12px;background:linear-gradient(180deg,#f8fbff,#eef6ff);border:1px solid #bfdbfe;border-radius:20px;padding:12px;}
.family-week-title small{display:block;color:#64748b;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px;}
.family-week-title strong{display:block;color:#0f172a;font-size:17px;line-height:1.2;}
.family-week-box .family-week-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap;}
.family-week-box .family-week-actions button{min-height:40px;border-radius:13px;}
.family-week-box .family-bulk-btn{white-space:nowrap;}
.family-booking-shell-v1213 .family-days-grid{grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:10px;}
.family-booking-shell-v1213 .family-day-tile{min-height:unset;padding:11px;border-radius:18px;}
.family-booking-shell-v1213 .family-service-list{gap:7px;}
.family-booking-shell-v1213 .family-service-tile{min-height:44px;padding:8px;grid-template-columns:30px 1fr auto;}
.family-booking-shell-v1213 .family-service-tile .fst-icon{width:28px;height:28px;border-radius:10px;}
@media(max-width:900px){
  .family-booking-shell-v1213{max-width:100%;}
  .family-week-box{grid-template-columns:1fr;}
  .family-week-box .family-week-actions{justify-content:stretch;display:grid;grid-template-columns:44px 1fr 44px;}
  .family-week-box .family-bulk-btn{grid-column:1/-1;width:100%;}
  .family-booking-shell-v1213 .family-days-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:560px){
  .main{padding-left:10px!important;padding-right:10px!important;}
  .family-simple-head{margin-bottom:10px;}
  .family-simple-head .subtitle{font-size:13px;line-height:1.35;}
  .family-booking-shell-v1213{gap:12px;}
  .family-child-card-v1213{border-radius:20px;padding:12px;gap:12px;}
  .family-child-main-head b{font-size:16px!important;}
  .family-week-box{border-radius:16px;padding:10px;gap:10px;}
  .family-week-title strong{font-size:15px;}
  .family-week-box .family-week-actions{grid-template-columns:42px 1fr 42px;gap:6px;}
  .family-week-box .family-week-actions button{min-height:38px;font-size:12px;padding:0 8px;}
  .family-booking-shell-v1213 .family-days-grid{display:grid!important;grid-template-columns:1fr!important;overflow:visible!important;padding-bottom:0!important;gap:9px;}
  .family-booking-shell-v1213 .family-day-tile{flex:auto!important;scroll-snap-align:none!important;min-height:0!important;border-radius:16px;padding:10px;}
  .family-booking-shell-v1213 .family-day-head{margin-bottom:8px;}
  .family-booking-shell-v1213 .family-day-head b{font-size:13px;}
  .family-booking-shell-v1213 .family-service-tile{grid-template-columns:30px 1fr auto;min-height:46px;border-radius:14px;}
  .family-booking-shell-v1213 .family-service-tile b{font-size:13px;}
  .family-booking-shell-v1213 .family-service-tile small{font-size:10.5px;}
  .family-period-shortcuts{border-radius:20px;padding:12px;}
  .family-period-shortcuts>div{grid-template-columns:1fr!important;}
}

/* V12.14 - Modal famille "Réserver plusieurs jours" réellement responsive */
.parent-rec-modal-back{padding:12px!important;place-items:center!important;align-items:center!important;}
.parent-rec-modal-back .modal{width:min(760px,calc(100vw - 24px))!important;min-height:0!important;max-height:calc(100dvh - 24px)!important;border-radius:24px!important;}
.parent-rec-modal-back .modal-head{padding:13px 15px!important;min-height:auto!important;}
.parent-rec-modal-back .modal-head h2{font-size:20px!important;line-height:1.15!important;}
.parent-rec-modal-back .modal-body{padding:12px!important;max-height:calc(100dvh - 92px)!important;overflow:auto!important;}
.parent-rec-v1214{display:grid;gap:10px;}
.parent-rec-v1214 .rec-step{background:#fff;border:1px solid #dbe3ee;border-radius:18px;padding:12px;box-shadow:0 6px 18px rgba(15,23,42,.05);}
.parent-rec-v1214 .rec-step-title{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.parent-rec-v1214 .rec-step-title>span{width:30px;height:30px;border-radius:12px;background:#2563eb;color:#fff;display:grid;place-items:center;font-weight:950;flex:0 0 auto;}
.parent-rec-v1214 .rec-step-title b{display:block;font-size:15px;color:#0f172a;}
.parent-rec-v1214 .rec-step-title small{display:block;color:#64748b;font-size:12px;line-height:1.25;margin-top:1px;}
.parent-rec-v1214 .rec-fields{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:9px;align-items:end;}
.parent-rec-v1214 .rec-fields label{display:grid;gap:5px;min-width:0;}
.parent-rec-v1214 .rec-fields small{font-size:11px;color:#64748b;font-weight:900;text-transform:uppercase;letter-spacing:.03em;}
.parent-rec-v1214 input,.parent-rec-v1214 select{min-height:42px;border-radius:13px;padding:9px 11px;font-size:14px;}
.parent-rec-v1214 .rec-choice-grid{display:grid;gap:8px;}
.parent-rec-v1214 .rec-days{grid-template-columns:repeat(5,1fr);}
.parent-rec-v1214 .rec-services{grid-template-columns:repeat(3,1fr);}
.parent-rec-v1214 .rec-choice{display:block;min-width:0;}
.parent-rec-v1214 .rec-choice input{position:absolute;opacity:0;pointer-events:none;}
.parent-rec-v1214 .rec-choice span{display:flex;align-items:center;justify-content:center;min-height:42px;border-radius:14px;border:1px solid #dbe3ee;background:#f8fafc;color:#0f172a;font-weight:900;font-size:13px;text-align:center;padding:8px;}
.parent-rec-v1214 .rec-choice input:checked+span{background:#2563eb;border-color:#2563eb;color:#fff;box-shadow:0 8px 20px rgba(37,99,235,.18);}
.parent-rec-v1214 .rec-choice.is-disabled span{background:#f1f5f9;color:#94a3b8;text-decoration:line-through;}
.parent-rec-v1214 .rec-footer{display:grid;grid-template-columns:1fr 1.6fr;gap:9px;position:sticky;bottom:-12px;background:linear-gradient(180deg,rgba(255,255,255,.8),#fff 35%);padding-top:8px;}
.parent-rec-v1214 .rec-footer button{min-height:44px;border-radius:14px;}
.parent-rec-v1214 .rec-primary{background:#2563eb;color:#fff;}
@media(max-width:680px){
  .parent-rec-modal-back{padding:0!important;align-items:end!important;place-items:end center!important;}
  .parent-rec-modal-back .modal{width:100vw!important;max-height:96dvh!important;border-radius:22px 22px 0 0!important;}
  .parent-rec-modal-back .modal-body{max-height:calc(96dvh - 62px)!important;padding:10px!important;}
  .parent-rec-modal-back .modal-head h2{font-size:18px!important;}
  .parent-rec-v1214{gap:8px;}
  .parent-rec-v1214 .rec-step{border-radius:16px;padding:10px;}
  .parent-rec-v1214 .rec-step-title{align-items:flex-start;margin-bottom:8px;}
  .parent-rec-v1214 .rec-step-title>span{width:28px;height:28px;border-radius:10px;}
  .parent-rec-v1214 .rec-step-title b{font-size:14px;}
  .parent-rec-v1214 .rec-step-title small{font-size:11.5px;}
  .parent-rec-v1214 .rec-fields{grid-template-columns:1fr;gap:7px;}
  .parent-rec-v1214 input,.parent-rec-v1214 select{min-height:40px;font-size:14px;}
  .parent-rec-v1214 .rec-days{grid-template-columns:repeat(2,1fr);}
  .parent-rec-v1214 .rec-days .rec-choice:nth-child(5){grid-column:1/-1;}
  .parent-rec-v1214 .rec-services{grid-template-columns:1fr;}
  .parent-rec-v1214 .rec-choice span{min-height:40px;font-size:13px;}
  .parent-rec-v1214 .rec-footer{grid-template-columns:1fr;bottom:-10px;}
}
@media(max-width:390px){
  .parent-rec-modal-back .modal-head,.parent-rec-modal-back .modal-body{padding-left:8px!important;padding-right:8px!important;}
  .parent-rec-v1214 .rec-step{padding:9px;}
  .parent-rec-v1214 .rec-days{grid-template-columns:1fr;}
  .parent-rec-v1214 .rec-days .rec-choice:nth-child(5){grid-column:auto;}
}

/* V12.15 - Fiches enfant/foyer/admin : responsive mobile propre, sans défilement horizontal */
@media (max-width: 760px){
  .modal-back{
    padding:0!important;
    align-items:stretch!important;
    place-items:stretch!important;
  }
  .modal-back .modal{
    width:100vw!important;
    max-width:100vw!important;
    height:100dvh!important;
    max-height:100dvh!important;
    border-radius:0!important;
    overflow:hidden!important;
  }
  .modal-head{
    position:sticky!important;
    top:0!important;
    z-index:20!important;
    padding:10px 12px!important;
    min-height:54px!important;
    background:#fff!important;
  }
  .modal-head h2{
    font-size:18px!important;
    line-height:1.18!important;
    max-width:calc(100vw - 70px)!important;
    white-space:normal!important;
  }
  .modal-head .iconbtn{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    flex:0 0 38px!important;
  }
  .modal-body{
    padding:10px!important;
    max-height:calc(100dvh - 54px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .modal-foot{
    position:sticky!important;
    bottom:0!important;
    z-index:20!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    padding:10px!important;
    background:linear-gradient(180deg,rgba(255,255,255,.88),#fff 35%)!important;
  }
  .modal-foot button,
  .modal-body > .row button,
  .modal-body .toolbar button,
  .modal-body .btnrow button{
    width:100%!important;
    min-height:42px!important;
    justify-content:center!important;
  }
  .modal-body *,
  .modal-body *::before,
  .modal-body *::after{
    max-width:100%!important;
  }
  .modal-body input,
  .modal-body select,
  .modal-body textarea,
  .modal-body button{
    min-width:0!important;
  }
  .modal-body .formgrid,
  .modal-body .checkgrid,
  .modal-body .cols2,
  .modal-body .cols3{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .modal-body .full{grid-column:auto!important;}
  .modal-body .field{margin:0 0 9px!important;}
  .modal-body .toolbar,
  .modal-body .btnrow,
  .modal-body .row{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    align-items:stretch!important;
  }
  .modal-body .tabs,
  .modal-body .fiche-tabs,
  .modal-body .foyer-tabs,
  .modal-body .v1141-tabs{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
    margin:0 0 10px!important;
    overflow:visible!important;
  }
  .modal-body .tabs .tab,
  .modal-body .fiche-tabs .tab,
  .modal-body .foyer-tabs .tab,
  .modal-body .v1141-tabs .tab{
    width:100%!important;
    min-width:0!important;
    min-height:38px!important;
    padding:8px 7px!important;
    border-radius:12px!important;
    font-size:12px!important;
    line-height:1.15!important;
    white-space:normal!important;
    text-align:center!important;
  }
  .modal-body .card,
  .modal-body .subcard{
    padding:12px!important;
    border-radius:16px!important;
    margin-bottom:10px!important;
  }
  .modal-body h2{font-size:18px!important;line-height:1.2!important;}
  .modal-body h3{font-size:16px!important;line-height:1.25!important;}
  .modal-body .doc-line{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:5px!important;
    padding:10px!important;
    border-radius:14px!important;
  }
  .modal-body .person-card{
    display:grid!important;
    grid-template-columns:42px 1fr!important;
    align-items:center!important;
    gap:9px!important;
  }
  .modal-body .person-card .avatar{
    width:42px!important;height:42px!important;border-radius:14px!important;
  }
  .modal-body .person-card button{
    grid-column:1/-1!important;
  }
  .modal-body .table-wrap,
  .modal-body .v1201-table-wrap,
  .modal-body .v1203-table-wrap{
    width:100%!important;
    overflow-x:auto!important;
    border-radius:14px!important;
  }
}
@media (max-width: 420px){
  .modal-body .tabs,
  .modal-body .fiche-tabs,
  .modal-body .foyer-tabs,
  .modal-body .v1141-tabs{
    grid-template-columns:1fr!important;
  }
  .modal-head h2{font-size:17px!important;}
  .modal-body{padding:8px!important;}
}


/* V12.16 - Fiches enfant/foyer : rendu smartphone vraiment accessible */
.sheet-mobile-toggle{display:none;}
.sheet-save-bar{display:none;}
.sheet-modal-v1216 .modal-head{gap:10px;}
.sheet-modal-v1216 .modal-head h2{min-width:0;}
@media (max-width:760px){
  .sheet-modal-back-v1216{padding:0!important;align-items:stretch!important;place-items:stretch!important;}
  .sheet-modal-v1216{width:100vw!important;height:100dvh!important;max-width:100vw!important;max-height:100dvh!important;border-radius:0!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;}
  .sheet-modal-v1216 .modal-head{position:sticky!important;top:0!important;z-index:40!important;background:#fff!important;border-bottom:1px solid #e2e8f0!important;padding:10px 12px!important;display:grid!important;grid-template-columns:1fr 42px!important;align-items:center!important;min-height:58px!important;}
  .sheet-modal-v1216 .modal-head h2{font-size:18px!important;line-height:1.15!important;margin:0!important;max-width:none!important;}
  .sheet-modal-v1216 .modal-head .iconbtn{grid-column:2!important;grid-row:1!important;width:38px!important;height:38px!important;min-width:38px!important;justify-self:end!important;border-radius:50%!important;}
  .sheet-modal-v1216 .modal-head .modal-save-tools{display:none!important;}
  .sheet-modal-v1216 .modal-body{flex:1!important;max-height:none!important;height:auto!important;overflow-y:auto!important;overflow-x:hidden!important;padding:10px!important;background:#f6f8fb!important;-webkit-overflow-scrolling:touch!important;}
  .sheet-modal-v1216 .sheet-save-bar{display:flex!important;position:sticky!important;top:0!important;z-index:35!important;background:linear-gradient(180deg,#f6f8fb 0%,rgba(246,248,251,.92) 75%,rgba(246,248,251,0) 100%)!important;padding:0 0 8px!important;margin:0 0 6px!important;}
  .sheet-modal-v1216 .sheet-save-bar .modal-save-tools{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;width:100%!important;margin:0!important;}
  .sheet-modal-v1216 .save-state-badge{width:100%!important;justify-content:center!important;min-height:38px!important;border-radius:12px!important;font-size:12px!important;white-space:normal!important;}
  .sheet-modal-v1216 .modal-save-btn{width:100%!important;min-height:38px!important;border-radius:12px!important;padding:8px 10px!important;font-size:12px!important;}
  .sheet-modal-v1216 .sheet-mobile-toggle{display:grid!important;gap:6px!important;background:#fff!important;border:1px solid #dbe3ee!important;border-radius:16px!important;padding:10px!important;margin:0 0 10px!important;box-shadow:0 4px 14px rgba(15,23,42,.05)!important;}
  .sheet-modal-v1216 .sheet-mobile-toggle label{font-size:12px!important;font-weight:900!important;color:#64748b!important;text-transform:uppercase!important;letter-spacing:.03em!important;}
  .sheet-modal-v1216 .sheet-mobile-toggle select{height:44px!important;border-radius:13px!important;font-weight:900!important;background:#fff!important;font-size:15px!important;}
  .sheet-modal-v1216 .fiche-tabs,.sheet-modal-v1216 .foyer-tabs,.sheet-modal-v1216 .v1166-tabs{display:none!important;}
  .sheet-modal-v1216 .tabpane.active{display:block!important;}
  .sheet-modal-v1216 .tabpane:not(.active){display:none!important;}
  .sheet-modal-v1216 .formgrid,.sheet-modal-v1216 .checkgrid,.sheet-modal-v1216 .cols2,.sheet-modal-v1216 .cols3{grid-template-columns:1fr!important;gap:9px!important;}
  .sheet-modal-v1216 .field{margin:0 0 9px!important;}
  .sheet-modal-v1216 input,.sheet-modal-v1216 select,.sheet-modal-v1216 textarea{font-size:16px!important;min-height:44px!important;border-radius:13px!important;}
  .sheet-modal-v1216 textarea{min-height:96px!important;}
  .sheet-modal-v1216 .check{min-height:50px!important;border-radius:14px!important;padding:12px!important;align-items:center!important;}
  .sheet-modal-v1216 .check input{width:18px!important;height:18px!important;flex:0 0 18px!important;}
  .sheet-modal-v1216 .subcard,.sheet-modal-v1216 .card,.sheet-modal-v1216 .responsable-block{border-radius:16px!important;padding:12px!important;background:#fff!important;margin-bottom:10px!important;}
  .sheet-modal-v1216 .toolbar,.sheet-modal-v1216 .row,.sheet-modal-v1216 .btnrow{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;align-items:stretch!important;}
  .sheet-modal-v1216 button{min-width:0!important;}
  .sheet-modal-v1216 .toolbar button,.sheet-modal-v1216 .row button,.sheet-modal-v1216 .btnrow button,.sheet-modal-v1216 #addResp,.sheet-modal-v1216 #sendDoc{width:100%!important;min-height:42px!important;justify-content:center!important;}
  .sheet-modal-v1216 .doc-line{display:grid!important;grid-template-columns:1fr!important;gap:6px!important;border-radius:14px!important;}
  .sheet-modal-v1216 .table-wrap{overflow-x:auto!important;border-radius:14px!important;}
  .sheet-modal-v1216 table{min-width:560px!important;}
  .sheet-modal-v1216 #auth .hint,.sheet-modal-v1216 .hint{font-size:13px!important;line-height:1.35!important;border-radius:14px!important;padding:10px!important;}
}
@media (max-width:390px){
  .sheet-modal-v1216 .modal-head h2{font-size:16px!important;}
  .sheet-modal-v1216 .modal-body{padding:8px!important;}
  .sheet-modal-v1216 .sheet-save-bar .modal-save-tools{grid-template-columns:1fr!important;}
}

/* ===================== V12.16 TEST2 - correctif limité onglets mobile =====================
   Demande : garder de vrais boutons compacts sur fiche enfant / foyer / Mon foyer.
   Annule uniquement le remplacement par select mobile et réduit la barre Enregistré/Enregistrer.
===================== */
@media (max-width:760px){
  /* Ne plus afficher le sélecteur Rubrique ajouté au test précédent */
  .sheet-modal-v1216 .sheet-mobile-toggle,
  .sheet-mobile-toggle.v1216-sheet-toggle{
    display:none!important;
  }

  /* Fiches en modale : vrais boutons compacts, type appli mobile */
  .sheet-modal-v1216 .fiche-tabs,
  .sheet-modal-v1216 .fiche-tabs.v1166-tabs,
  .sheet-modal-v1216 .foyer-tabs,
  .sheet-modal-v1216 .v1166-tabs{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:6px!important;
    margin:0 0 10px!important;
    padding:6px!important;
    background:#eef3f8!important;
    border:1px solid #dbe5ef!important;
    border-radius:14px!important;
    overflow:visible!important;
  }
  .sheet-modal-v1216 .fiche-tabs .tab,
  .sheet-modal-v1216 .foyer-tabs .tab,
  .sheet-modal-v1216 .v1166-tabs .tab{
    flex:1 1 calc(50% - 6px)!important;
    min-width:0!important;
    width:auto!important;
    min-height:32px!important;
    padding:6px 7px!important;
    border-radius:10px!important;
    font-size:11px!important;
    line-height:1.1!important;
    font-weight:900!important;
    text-align:center!important;
    white-space:normal!important;
    box-shadow:none!important;
  }
  .sheet-modal-v1216 .fiche-tabs .tab.active,
  .sheet-modal-v1216 .foyer-tabs .tab.active,
  .sheet-modal-v1216 .v1166-tabs .tab.active{
    box-shadow:0 3px 8px rgba(37,99,235,.18)!important;
  }

  /* Page Parents > Mon foyer : mêmes vrais boutons, hors modale */
  main .fiche-tabs.v1166-tabs,
  .main .fiche-tabs.v1166-tabs,
  #app .fiche-tabs.v1166-tabs,
  main .foyer-tabs,
  .main .foyer-tabs,
  #app .foyer-tabs{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:6px!important;
    margin:0 0 10px!important;
    padding:6px!important;
    background:#eef3f8!important;
    border:1px solid #dbe5ef!important;
    border-radius:14px!important;
    overflow:visible!important;
  }
  main .fiche-tabs.v1166-tabs .tab,
  .main .fiche-tabs.v1166-tabs .tab,
  #app .fiche-tabs.v1166-tabs .tab,
  main .foyer-tabs .tab,
  .main .foyer-tabs .tab,
  #app .foyer-tabs .tab{
    flex:1 1 calc(50% - 6px)!important;
    min-width:0!important;
    width:auto!important;
    min-height:32px!important;
    padding:6px 7px!important;
    border-radius:10px!important;
    font-size:11px!important;
    line-height:1.1!important;
    font-weight:900!important;
    text-align:center!important;
    white-space:normal!important;
    box-shadow:none!important;
  }

  /* Barre sauvegarde plus petite : voyant + bouton compacts */
  .sheet-modal-v1216 .sheet-save-bar{
    justify-content:flex-end!important;
    align-items:center!important;
    padding:0 0 6px!important;
    margin:0 0 6px!important;
    background:transparent!important;
  }
  .sheet-modal-v1216 .sheet-save-bar .modal-save-tools{
    display:flex!important;
    flex-direction:row!important;
    justify-content:flex-end!important;
    align-items:center!important;
    gap:6px!important;
    width:auto!important;
    margin:0!important;
  }
  .sheet-modal-v1216 .save-state-badge,
  .parent-save-badge{
    width:auto!important;
    min-height:24px!important;
    padding:3px 7px!important;
    border-radius:999px!important;
    font-size:10px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  .sheet-modal-v1216 .modal-save-btn{
    width:auto!important;
    min-height:26px!important;
    padding:4px 8px!important;
    border-radius:999px!important;
    font-size:10px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  .sheet-modal-v1216 .toolbar .modal-save-btn,
  .sheet-modal-v1216 .row .modal-save-btn,
  .sheet-modal-v1216 .btnrow .modal-save-btn{
    width:auto!important;
    min-height:26px!important;
  }
}

@media (max-width:390px){
  .sheet-modal-v1216 .fiche-tabs .tab,
  .sheet-modal-v1216 .foyer-tabs .tab,
  .sheet-modal-v1216 .v1166-tabs .tab,
  main .fiche-tabs.v1166-tabs .tab,
  .main .fiche-tabs.v1166-tabs .tab,
  #app .fiche-tabs.v1166-tabs .tab{
    flex-basis:calc(50% - 6px)!important;
    font-size:10.5px!important;
    padding:5px 6px!important;
  }
}

/* ===================== V12.16 TEST3 - correctif limité mobile fiche enfant / foyer =====================
   - Harmonise les onglets fiche enfant avec le rendu Mon foyer.
   - Rend Personnes de confiance et Prestations utilisables sur mobile.
   - Ne touche pas à la navigation globale.
===================== */
@media (max-width:760px){
  /* Onglets fiche enfant/foyer : mêmes boutons compacts partout */
  .modal.sheet-modal-v1216 .modal-body > .fiche-tabs,
  .modal.sheet-modal-v1216 .modal-body > .fiche-tabs.v1166-tabs,
  .modal.sheet-modal-v1216 .modal-body > .foyer-tabs,
  main .fiche-tabs.v1166-tabs,
  #app .fiche-tabs.v1166-tabs,
  main .foyer-tabs,
  #app .foyer-tabs{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
    padding:6px!important;
    margin:0 0 10px!important;
    background:#eef3f8!important;
    border:1px solid #dbe5ef!important;
    border-radius:14px!important;
  }
  .modal.sheet-modal-v1216 .modal-body > .fiche-tabs .tab,
  .modal.sheet-modal-v1216 .modal-body > .foyer-tabs .tab,
  main .fiche-tabs.v1166-tabs .tab,
  #app .fiche-tabs.v1166-tabs .tab,
  main .foyer-tabs .tab,
  #app .foyer-tabs .tab{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-width:0!important;
    min-height:34px!important;
    margin:0!important;
    padding:6px 7px!important;
    border:1px solid #d8e2ee!important;
    border-radius:10px!important;
    background:#f8fbff!important;
    color:#142033!important;
    font-size:11px!important;
    line-height:1.08!important;
    font-weight:850!important;
    text-align:center!important;
    white-space:normal!important;
    box-shadow:0 1px 2px rgba(15,23,42,.04)!important;
  }
  .modal.sheet-modal-v1216 .modal-body > .fiche-tabs .tab.active,
  .modal.sheet-modal-v1216 .modal-body > .foyer-tabs .tab.active,
  main .fiche-tabs.v1166-tabs .tab.active,
  #app .fiche-tabs.v1166-tabs .tab.active,
  main .foyer-tabs .tab.active,
  #app .foyer-tabs .tab.active{
    background:#2563eb!important;
    border-color:#2563eb!important;
    color:#fff!important;
    box-shadow:0 4px 10px rgba(37,99,235,.22)!important;
  }

  /* Personnes de confiance : tableau transformé en cartes tactiles */
  .sheet-modal-v1216 #contacts .copy-contacts-box{padding:10px!important;margin-bottom:10px!important;}
  .sheet-modal-v1216 #contacts .copy-contacts-box .toolbar{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;}
  .sheet-modal-v1216 #contacts .trusted-table-wrap{overflow:visible!important;border:0!important;background:transparent!important;}
  .sheet-modal-v1216 #contacts .trusted-table,
  .sheet-modal-v1216 #contacts .trusted-table tbody,
  .sheet-modal-v1216 #contacts .trusted-table tr,
  .sheet-modal-v1216 #contacts .trusted-table td{display:block!important;width:100%!important;min-width:0!important;}
  .sheet-modal-v1216 #contacts .trusted-table thead{display:none!important;}
  .sheet-modal-v1216 #contacts .trusted-row{
    position:relative!important;
    margin:0 0 10px!important;
    padding:10px!important;
    border:1px solid #dbe5ef!important;
    border-radius:14px!important;
    background:#fff!important;
    box-shadow:0 1px 4px rgba(15,23,42,.05)!important;
  }
  .sheet-modal-v1216 #contacts .trusted-row td{padding:0 0 7px!important;border:0!important;}
  .sheet-modal-v1216 #contacts .trusted-row td::before{display:block!important;margin:0 0 3px!important;color:#64748b!important;font-size:10px!important;font-weight:800!important;}
  .sheet-modal-v1216 #contacts .trusted-row td:nth-child(1)::before{content:'Nom';}
  .sheet-modal-v1216 #contacts .trusted-row td:nth-child(2)::before{content:'Prénom';}
  .sheet-modal-v1216 #contacts .trusted-row td:nth-child(3)::before{content:'Téléphone';}
  .sheet-modal-v1216 #contacts .trusted-row td:nth-child(4)::before{content:'Lien avec l’enfant';}
  .sheet-modal-v1216 #contacts .trusted-row input{width:100%!important;min-height:34px!important;font-size:13px!important;padding:7px 9px!important;}
  .sheet-modal-v1216 #contacts .trusted-row td:last-child{padding:0!important;text-align:right!important;}
  .sheet-modal-v1216 #contacts .contact-remove{min-width:34px!important;min-height:30px!important;border-radius:999px!important;}
  .sheet-modal-v1216 #contacts .trusted-actions{display:grid!important;grid-template-columns:1fr!important;gap:6px!important;align-items:stretch!important;}
  .sheet-modal-v1216 #contacts .trusted-actions .hint{font-size:12px!important;line-height:1.3!important;}

  /* Prestations : filtres et tableau adaptés mobile */
  .sheet-modal-v1216 #prestations h3{font-size:16px!important;margin:0 0 8px!important;}
  .sheet-modal-v1216 #prestations .sticky-tools{
    position:static!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    padding:8px!important;
    border-radius:14px!important;
  }
  .sheet-modal-v1216 #prestations .sticky-tools .field{min-width:0!important;width:100%!important;}
  .sheet-modal-v1216 #prestations .sticky-tools button{width:100%!important;min-height:34px!important;padding:7px 8px!important;font-size:12px!important;border-radius:10px!important;}
  .sheet-modal-v1216 #summaryBox .table-wrap{overflow:visible!important;border:0!important;background:transparent!important;}
  .sheet-modal-v1216 #summaryBox table,
  .sheet-modal-v1216 #summaryBox tbody,
  .sheet-modal-v1216 #summaryBox tr,
  .sheet-modal-v1216 #summaryBox td{display:block!important;width:100%!important;min-width:0!important;}
  .sheet-modal-v1216 #summaryBox thead{display:none!important;}
  .sheet-modal-v1216 #summaryBox tr{
    margin:0 0 8px!important;
    padding:8px 10px!important;
    border:1px solid #dbe5ef!important;
    border-radius:14px!important;
    background:#fff!important;
  }
  .sheet-modal-v1216 #summaryBox td{display:grid!important;grid-template-columns:92px 1fr!important;gap:8px!important;align-items:start!important;border:0!important;padding:4px 0!important;font-size:12px!important;}
  .sheet-modal-v1216 #summaryBox td::before{color:#64748b!important;font-weight:850!important;font-size:10px!important;}
  .sheet-modal-v1216 #summaryBox td:nth-child(1)::before{content:'Jour';}
  .sheet-modal-v1216 #summaryBox td:nth-child(2)::before{content:'Cantine';}
  .sheet-modal-v1216 #summaryBox td:nth-child(3)::before{content:'Matin';}
  .sheet-modal-v1216 #summaryBox td:nth-child(4)::before{content:'Soir';}
  .sheet-modal-v1216 #summaryBox td:nth-child(5)::before{content:'Mercredi';}
  .sheet-modal-v1216 #summaryBox td:nth-child(6)::before{content:'ALSH';}
  .sheet-modal-v1216 #summaryBox td:nth-child(7)::before{content:'Total';}
}

/* V12.16 TEST4 - finitions fiche enfant / mon foyer */
@media (max-width: 680px){
  .fiche-tabs .tab,.foyer-tabs .tab,.v1166-tabs .tab{gap:5px;}
  #fam_infos .v1216-parent-savebar{
    display:flex;align-items:center;justify-content:flex-end;gap:8px;
    margin:6px 0 10px;padding:6px 8px;border:1px solid #e6edf5;border-radius:12px;background:#f8fbff;
  }
  #fam_infos .v1216-parent-save-btn{
    width:auto!important;min-height:32px!important;padding:7px 12px!important;border-radius:10px!important;font-size:12px!important;line-height:1!important;
  }
  #fam_infos .parent-save-badge,#fam_infos .save-state-badge{
    display:inline-flex;align-items:center;justify-content:center;width:auto!important;min-height:26px!important;
    padding:4px 8px!important;border-radius:999px!important;font-size:11px!important;margin:0!important;
  }
  #fam_infos .v1216-lock-hint{display:none!important;}
  .v1216-doc-row{display:flex!important;flex-direction:column;gap:8px;align-items:stretch!important;padding:10px!important;border-radius:12px!important;}
  .v1216-doc-main{display:flex;flex-direction:column;gap:2px;min-width:0;}
  .v1216-doc-main span,.v1216-doc-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .v1216-doc-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;}
  .v1216-doc-actions .btn,.v1216-doc-actions button{width:100%;min-height:32px!important;padding:6px 5px!important;font-size:11px!important;border-radius:10px!important;text-align:center;}
}

/* V12.16 TEST6 - Mon foyer : sauvegarde dans le titre + import documents simplifié */
.v1216-foyer-top{align-items:flex-start!important;gap:10px!important;}
.v1216-foyer-title{display:flex!important;align-items:center!important;gap:6px!important;flex-wrap:wrap!important;}
.v1216-parent-savebar-top{
  display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;
  margin:0!important;padding:6px 8px!important;border:1px solid #e6edf5!important;border-radius:14px!important;background:#f8fbff!important;
  flex:0 0 auto!important;box-shadow:0 4px 12px rgba(15,23,42,.05)!important;
}
.v1216-parent-savebar-top .v1216-parent-save-btn{width:auto!important;min-height:32px!important;padding:7px 10px!important;border-radius:10px!important;font-size:13px!important;line-height:1!important;}
.v1216-parent-savebar-top .parent-save-badge{width:auto!important;min-height:28px!important;padding:5px 9px!important;border-radius:999px!important;font-size:12px!important;margin:0!important;}
.v1216-doc-upload{border:1px solid #e2e8f0;border-radius:16px;background:#f8fafc;padding:12px;margin:8px 0 14px;}
.v1216-doc-upload-head{display:flex;flex-direction:column;gap:2px;margin-bottom:10px;}
.v1216-doc-upload-head b{font-size:15px;color:#0f172a;}
.v1216-doc-upload-head small{color:#64748b;font-weight:700;}
.v1216-doc-upload-grid{display:grid;grid-template-columns:1.1fr 1fr 1.4fr auto;gap:10px;align-items:end;}
.v1216-doc-upload .field{margin:0;}
.v1216-doc-upload label span{font-weight:700;color:#64748b;}
.v1216-doc-import-btn{white-space:nowrap;min-height:40px;}
.v1216-doc-help{margin-top:8px!important;}
@media (max-width:680px){
  .v1216-foyer-top{display:flex!important;flex-direction:column!important;align-items:stretch!important;}
  .v1216-parent-savebar-top{align-self:flex-end!important;padding:5px 6px!important;gap:6px!important;margin-top:-4px!important;}
  .v1216-parent-savebar-top .parent-save-badge{min-height:24px!important;padding:4px 7px!important;font-size:10.5px!important;}
  .v1216-parent-savebar-top .v1216-parent-save-btn{min-height:28px!important;padding:5px 8px!important;font-size:12px!important;}
  #fam_infos .v1216-parent-savebar:not(.v1216-parent-savebar-top){display:none!important;}
  .v1216-doc-upload{padding:10px;border-radius:14px;margin-top:6px;}
  .v1216-doc-upload-grid{grid-template-columns:1fr!important;gap:8px!important;}
  .v1216-doc-upload .field label{font-size:11px!important;}
  .v1216-doc-upload select,.v1216-doc-upload input{width:100%!important;min-height:38px!important;font-size:12px!important;}
  .v1216-file-field input[type=file]{padding:8px!important;background:#fff!important;border:1px dashed #cbd5e1!important;border-radius:12px!important;}
  .v1216-doc-import-btn{width:100%!important;min-height:38px!important;border-radius:12px!important;font-size:12px!important;}
  .v1216-doc-help{font-size:11px!important;line-height:1.35!important;}
}

/* V12.16 TEST7 - ajustements demandés foyer/enfants */
.v1216-foyer-top{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
}
.v1216-foyer-top > div:first-child{min-width:0!important;flex:1 1 auto!important;}
.v1216-foyer-title{
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  line-height:1.05!important;
  margin:0!important;
}
.v1216-parent-savebar-top{
  flex:0 0 auto!important;
  align-self:center!important;
  margin:0!important;
}
.person-card .pc-main[data-v1216-clickable="1"]{
  cursor:pointer!important;
  border-radius:10px!important;
}
.person-card .pc-main[data-v1216-clickable="1"]:active{background:#eef6ff!important;}
.person-card .v1216-child-open-btn{
  white-space:nowrap!important;
  min-width:max-content!important;
}
@media (max-width:680px){
  .v1216-foyer-top{
    flex-direction:row!important;
    align-items:center!important;
    justify-content:space-between!important;
    padding-top:2px!important;
  }
  .v1216-foyer-title{font-size:20px!important;white-space:nowrap!important;}
  .v1216-foyer-top .subtitle{display:none!important;}
  .v1216-parent-savebar-top{
    padding:3px 5px!important;
    gap:4px!important;
    margin:0!important;
    border-radius:999px!important;
  }
  .v1216-parent-savebar-top .parent-save-badge{
    min-height:20px!important;
    padding:2px 6px!important;
    font-size:9.5px!important;
  }
  .v1216-parent-savebar-top .v1216-parent-save-btn{
    min-width:26px!important;
    min-height:24px!important;
    width:26px!important;
    padding:2px!important;
    font-size:12px!important;
    border-radius:8px!important;
  }
  #fam_children.card,
  main .card:has(.person-card.compact){
    padding:10px!important;
  }
  #fam_children h2{margin-bottom:8px!important;font-size:17px!important;}
  #fam_children .cards-list,
  main .cards-list{gap:8px!important;}
  #fam_children .person-card,
  main .person-card{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    gap:8px!important;
    min-height:0!important;
    padding:9px 10px!important;
  }
  #fam_children .person-card .avatar,
  main .person-card .avatar{
    width:28px!important;
    height:28px!important;
    min-width:28px!important;
    font-size:16px!important;
  }
  #fam_children .person-card .pc-main,
  main .person-card .pc-main{
    flex:1 1 auto!important;
    min-width:0!important;
    display:flex!important;
    flex-direction:column!important;
    gap:1px!important;
  }
  #fam_children .person-card .pc-main b,
  main .person-card .pc-main b{
    font-size:12px!important;
    line-height:1.15!important;
  }
  #fam_children .person-card .pc-main span,
  main .person-card .pc-main span{
    font-size:10.5px!important;
    line-height:1.1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  #fam_children .person-card button[onclick*="childSheet"],
  main .person-card button[onclick*="childSheet"]{
    width:auto!important;
    min-width:72px!important;
    max-width:96px!important;
    min-height:30px!important;
    padding:5px 8px!important;
    font-size:10.5px!important;
    line-height:1.05!important;
    border-radius:10px!important;
    white-space:normal!important;
  }
}

/* V12.16 TEST 8 : aides côté famille */
.v1216-section-help{margin-left:6px;vertical-align:middle;}
.family-help-tip{white-space:pre-line;line-height:1.35;}

/* ===================== V12.16 TEST9 - corrections ciblées famille/aides ===================== */
/* Icône info réellement discrète : plus de bouton bleu entouré */
.info-bubble,
.info-bubble.module-help,
.info-bubble.family-help-only,
.info-bubble.v1216-section-help{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  padding:0!important;
  margin-left:5px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#2563eb!important;
  font-size:0!important;
  line-height:1!important;
  cursor:help!important;
  vertical-align:middle!important;
}
.info-bubble::before{content:"ℹ";font-size:17px!important;font-weight:800!important;line-height:1!important;}
.info-bubble:hover,.info-bubble.is-open{background:transparent!important;border:0!important;color:#1d4ed8!important;box-shadow:none!important;}
.top h1 .info-bubble{margin-left:5px!important;}
.v1216-foyer-title .info-bubble{align-self:center!important;}

/* Titre Mon foyer + aide + sauvegarde parfaitement alignés */
.v1216-foyer-top{align-items:center!important;padding-top:0!important;margin-bottom:10px!important;}
.v1216-foyer-title{display:flex!important;align-items:center!important;gap:4px!important;white-space:nowrap!important;}
.v1216-parent-savebar-top{align-items:center!important;margin-left:auto!important;}
@media(max-width:680px){
  .v1216-foyer-top{display:flex!important;flex-direction:row!important;align-items:center!important;gap:6px!important;margin-bottom:8px!important;}
  .v1216-foyer-title{font-size:20px!important;line-height:1!important;}
  .v1216-parent-savebar-top{padding:2px 4px!important;gap:4px!important;border-color:#dbeafe!important;background:#f8fbff!important;}
  .v1216-parent-savebar-top .parent-save-badge{font-size:9px!important;min-height:19px!important;padding:2px 5px!important;}
  .v1216-parent-savebar-top .v1216-parent-save-btn{width:25px!important;min-width:25px!important;height:24px!important;min-height:24px!important;padding:0!important;}
}

/* Cartes enfants plus compactes, bouton sur une seule ligne et vert */
main .cards-list{gap:8px!important;}
main .person-card{min-height:0!important;}
main .person-card .pc-main[data-v1216-clickable="1"]{cursor:pointer!important;}
main .person-card button[onclick*="childSheet"],
#fam_children .person-card button[onclick*="childSheet"]{
  background:#16a34a!important;
  border-color:#16a34a!important;
  color:#fff!important;
  white-space:nowrap!important;
  min-width:max-content!important;
  width:auto!important;
}
@media(max-width:680px){
  main .person-card,#fam_children .person-card{padding:8px 9px!important;gap:7px!important;}
  main .person-card button[onclick*="childSheet"],#fam_children .person-card button[onclick*="childSheet"]{font-size:10px!important;padding:5px 7px!important;max-width:none!important;white-space:nowrap!important;}
}

/* ===================== V12.16 TEST10 - icônes aide famille stables ===================== */
.family-info-dot{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  margin-left:6px!important;
  padding:0!important;
  border:1.5px solid #2563eb!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#2563eb!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1!important;
  font-family:Arial, sans-serif!important;
  box-shadow:0 2px 6px rgba(37,99,235,.12)!important;
  cursor:help!important;
  vertical-align:middle!important;
  position:relative!important;
  overflow:visible!important;
}
.family-info-dot:hover,.family-info-dot.is-open{
  background:#eff6ff!important;
  color:#1d4ed8!important;
  border-color:#1d4ed8!important;
}
.family-info-dot.is-open::after{
  content:attr(data-tooltip);
  position:absolute!important;
  z-index:999999!important;
  top:calc(100% + 8px)!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  width:min(270px, calc(100vw - 34px))!important;
  white-space:normal!important;
  text-align:left!important;
  background:#0f172a!important;
  color:#fff!important;
  border-radius:12px!important;
  padding:10px 11px!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1.35!important;
  box-shadow:0 12px 28px rgba(15,23,42,.28)!important;
  pointer-events:none!important;
}
.family-info-dot.is-open::before{
  content:attr(data-help-title);
  position:absolute!important;
  z-index:1000000!important;
  top:calc(100% + 9px)!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  width:min(270px, calc(100vw - 34px))!important;
  color:#fff!important;
  font-size:0!important;
}
.v1216-foyer-title .family-info-dot,
.top h1 .family-info-dot{flex:0 0 auto!important;}
@media(max-width:680px){
  .family-info-dot{width:17px!important;height:17px!important;min-width:17px!important;font-size:11px!important;margin-left:5px!important;}
  .family-info-dot.is-open::after{left:auto!important;right:-4px!important;transform:none!important;width:min(260px, calc(100vw - 28px))!important;}
  .v1216-foyer-top{align-items:center!important;}
  .v1216-foyer-title{display:flex!important;align-items:center!important;gap:3px!important;}
}

/* ===================== V12.16 TEST11 - correctif : ne pas appliquer les patches parent aux listes admin ===================== */
body.v1216-admin-ui main .person-card,
body.v1216-admin-ui .main .person-card{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:10px!important;
  padding:10px 12px!important;
  min-height:0!important;
}
body.v1216-admin-ui main .person-card .avatar,
body.v1216-admin-ui .main .person-card .avatar{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  border-radius:12px!important;
  font-size:18px!important;
}
body.v1216-admin-ui main .person-card .pc-main,
body.v1216-admin-ui .main .person-card .pc-main{
  flex:1 1 auto!important;
  min-width:0!important;
  pointer-events:none!important;
}
body.v1216-admin-ui main .person-card .pc-main b,
body.v1216-admin-ui .main .person-card .pc-main b{
  font-size:12px!important;
  line-height:1.15!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body.v1216-admin-ui main .person-card .pc-main span,
body.v1216-admin-ui .main .person-card .pc-main span{
  font-size:10px!important;
  line-height:1.1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body.v1216-admin-ui main .person-card button,
body.v1216-admin-ui .main .person-card button{
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  min-height:26px!important;
  padding:5px 8px!important;
  font-size:10px!important;
  line-height:1!important;
  border-radius:9px!important;
  white-space:nowrap!important;
  flex:0 0 auto!important;
}
body.v1216-admin-ui main .person-card button[onclick*="childSheet"],
body.v1216-admin-ui .main .person-card button[onclick*="childSheet"]{
  background:#edf2f7!important;
  border-color:#edf2f7!important;
  color:#233045!important;
}
body.v1216-admin-ui main .person-card button.danger,
body.v1216-admin-ui .main .person-card button.danger{
  background:#dc2626!important;
  border-color:#dc2626!important;
  color:#fff!important;
}
@media(max-width:680px){
  body.v1216-admin-ui main .cards-list,
  body.v1216-admin-ui .main .cards-list{gap:7px!important;}
  body.v1216-admin-ui main .person-card,
  body.v1216-admin-ui .main .person-card{padding:8px!important;gap:7px!important;}
}

/* ===================== V12.16 TEST12 - icône aide unifiée + recherche admin mobile ===================== */
.app-help-i,
.info-bubble.app-help-i,
.module-help.app-help-i,
.family-info-dot.app-help-i,
button.app-help-i{
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  max-width:18px!important;
  min-height:18px!important;
  padding:0!important;
  margin:0 0 0 6px!important;
  display:inline-grid!important;
  place-items:center!important;
  border:1.5px solid #2563eb!important;
  border-radius:999px!important;
  background:#eff6ff!important;
  color:#1d4ed8!important;
  font-size:11px!important;
  font-weight:950!important;
  line-height:1!important;
  font-family:Arial, sans-serif!important;
  box-shadow:none!important;
  transform:none!important;
  cursor:help!important;
  vertical-align:middle!important;
  position:relative!important;
  overflow:visible!important;
  text-indent:0!important;
}
.app-help-i:hover,
.app-help-i.is-open{
  background:#dbeafe!important;
  border-color:#1d4ed8!important;
  color:#1e40af!important;
  box-shadow:0 0 0 3px rgba(37,99,235,.10)!important;
  transform:none!important;
}
.app-help-tip{
  position:fixed!important;
  z-index:2147483000!important;
  max-width:min(360px, calc(100vw - 24px))!important;
  background:#0f172a!important;
  color:#fff!important;
  border-radius:14px!important;
  padding:11px 12px!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1.35!important;
  box-shadow:0 18px 45px rgba(15,23,42,.30)!important;
  pointer-events:none!important;
}
.app-help-tip b{display:block!important;font-size:12px!important;margin-bottom:4px!important;color:#fff!important;}
.top h1,
.v1216-foyer-title{display:flex!important;align-items:center!important;gap:4px!important;flex-wrap:wrap!important;}
.top h1 .app-help-i,
.v1216-foyer-title .app-help-i{flex:0 0 auto!important;}
.family-info-dot:not(.app-help-i)::before,
.family-info-dot:not(.app-help-i)::after{display:none!important;content:none!important;}
@media(max-width:680px){
  .app-help-i,
  button.app-help-i{width:17px!important;height:17px!important;min-width:17px!important;max-width:17px!important;font-size:10px!important;margin-left:4px!important;}
  .app-help-tip{font-size:11px!important;max-width:calc(100vw - 20px)!important;}
}
/* Recherche enfants admin : évite les débordements sur mobile et les superpositions */
body.v1216-admin-ui .main .smart-search.v11-search,
body.v1216-admin-ui main .smart-search.v11-search{
  min-width:0!important;
  max-width:100%!important;
  width:100%!important;
  overflow:visible!important;
  flex:1 1 100%!important;
}
body.v1216-admin-ui .main .smart-search.v11-search .search-wrap,
body.v1216-admin-ui main .smart-search.v11-search .search-wrap{
  max-width:100%!important;
  min-width:0!important;
}
body.v1216-admin-ui .main .smart-search.v11-search input,
body.v1216-admin-ui main .smart-search.v11-search input{
  min-width:0!important;
}
@media(max-width:680px){
  body.v1216-admin-ui .main .smart-search.v11-search,
  body.v1216-admin-ui main .smart-search.v11-search{
    position:relative!important;
    top:auto!important;
    z-index:2!important;
    padding:8px!important;
    border-radius:14px!important;
    margin:0 0 8px 0!important;
    box-shadow:0 6px 14px rgba(37,99,235,.08)!important;
  }
  body.v1216-admin-ui .main .smart-search.v11-search label,
  body.v1216-admin-ui main .smart-search.v11-search label{
    font-size:10px!important;
    line-height:1.1!important;
    margin-bottom:5px!important;
  }
  body.v1216-admin-ui .main .smart-search.v11-search .search-wrap,
  body.v1216-admin-ui main .smart-search.v11-search .search-wrap{
    gap:6px!important;
    padding:5px 6px!important;
    min-height:36px!important;
    border-radius:11px!important;
  }
  body.v1216-admin-ui .main .smart-search.v11-search .search-wrap:before,
  body.v1216-admin-ui main .smart-search.v11-search .search-wrap:before{
    font-size:14px!important;
  }
  body.v1216-admin-ui .main .smart-search.v11-search input,
  body.v1216-admin-ui main .smart-search.v11-search input{
    font-size:12px!important;
    min-height:26px!important;
    height:28px!important;
    padding:3px 4px!important;
    line-height:1.1!important;
  }
  body.v1216-admin-ui .main .clear-search,
  body.v1216-admin-ui main .clear-search{
    width:28px!important;
    height:28px!important;
    min-width:28px!important;
    padding:0!important;
    border-radius:9px!important;
    font-size:12px!important;
  }
  body.v1216-admin-ui .main .suggestions,
  body.v1216-admin-ui main .suggestions{
    left:8px!important;
    right:8px!important;
    top:calc(100% + 3px)!important;
    border-radius:12px!important;
  }
}

/* ===================== V12.16 TEST13 - correctifs anti-duplication aides + admin enfants ===================== */
.app-help-i,
button.app-help-i{
  width:18px!important;height:18px!important;min-width:18px!important;max-width:18px!important;
  min-height:18px!important;padding:0!important;margin-left:6px!important;
  display:inline-grid!important;place-items:center!important;
  border:1.5px solid #2563eb!important;border-radius:50%!important;
  background:#eff6ff!important;color:#1d4ed8!important;
  font:900 11px/1 Arial,sans-serif!important;text-align:center!important;
  box-shadow:none!important;cursor:help!important;vertical-align:middle!important;
  position:relative!important;overflow:visible!important;appearance:none!important;
}
.app-help-i:hover,.app-help-i.is-open{background:#dbeafe!important;color:#1e40af!important;border-color:#1d4ed8!important;}
.app-help-tip{position:fixed!important;z-index:2147483000!important;max-width:min(360px,calc(100vw - 24px))!important;background:#0f172a!important;color:#fff!important;border-radius:14px!important;padding:11px 12px!important;font-size:12px!important;font-weight:700!important;line-height:1.35!important;box-shadow:0 18px 45px rgba(15,23,42,.30)!important;pointer-events:none!important;}
.app-help-tip b{display:block!important;margin-bottom:4px!important;color:#fff!important;font-size:12px!important;}
.app-help-tip span{display:block!important;color:#fff!important;}
.info-bubble:not(.app-help-i),.module-help:not(.app-help-i),.family-info-dot:not(.app-help-i){display:none!important;}
.top h1,.v1216-foyer-title{display:flex!important;align-items:center!important;gap:4px!important;flex-wrap:nowrap!important;min-height:0!important;}
.top h1 .app-help-i,.v1216-foyer-title .app-help-i{flex:0 0 18px!important;}
@media(max-width:680px){.app-help-i,button.app-help-i{width:17px!important;height:17px!important;min-width:17px!important;max-width:17px!important;font-size:10px!important;margin-left:4px!important}.app-help-tip{font-size:11px!important;max-width:calc(100vw - 20px)!important}}

body.v1216-admin-ui .v1216-child-card-fixed{padding-top:10px!important;}
body.v1216-admin-ui .v1216-child-toolbar-fixed{margin:0 0 8px 0!important;padding:0!important;display:flex!important;align-items:flex-start!important;gap:8px!important;min-height:0!important;}
body.v1216-admin-ui .v1216-child-search-fixed{margin:0!important;padding:0!important;width:100%!important;max-width:100%!important;min-width:0!important;flex:1 1 auto!important;}
body.v1216-admin-ui .v1216-child-search-fixed label{margin:0 0 5px 0!important;font-size:10px!important;line-height:1.1!important;display:block!important;}
body.v1216-admin-ui .v1216-child-search-fixed .search-wrap{margin:0!important;min-height:36px!important;padding:5px 6px!important;border-radius:11px!important;display:flex!important;align-items:center!important;gap:6px!important;}
body.v1216-admin-ui .v1216-child-search-fixed input{min-width:0!important;height:28px!important;min-height:28px!important;font-size:12px!important;padding:3px 4px!important;}
body.v1216-admin-ui .v1216-child-search-fixed .clear-search{width:28px!important;height:28px!important;min-width:28px!important;max-width:28px!important;padding:0!important;border-radius:9px!important;background:#e5e7eb!important;border-color:#e5e7eb!important;color:#111827!important;}
body.v1216-admin-ui #clist{margin-top:8px!important;}
body.v1216-admin-ui #clist .person-card{position:relative!important;z-index:1!important;}

/* ===================== V12.16 TEST14 - correctifs ciblés admin enfants / aide / z-index ===================== */
#topbarActions,.topbar-actions{position:relative!important;z-index:9999!important;}
.side,.premium-side,.side.v1216-zfix,.premium-side.v1216-zfix{position:relative!important;z-index:9998!important;}
@media(max-width:980px){.side,.premium-side{z-index:9998!important}.topbar{z-index:9999!important}}
.app-help-i{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:18px!important;height:18px!important;min-width:18px!important;max-width:18px!important;min-height:18px!important;max-height:18px!important;padding:0!important;margin:0 0 0 5px!important;border-radius:50%!important;border:1.5px solid #2563eb!important;background:#eff6ff!important;color:#1d4ed8!important;font:800 12px/1 Arial,system-ui,sans-serif!important;box-shadow:none!important;vertical-align:middle!important;cursor:help!important;transform:none!important;}
.app-help-i:hover,.app-help-i.is-open{background:#dbeafe!important;border-color:#1d4ed8!important;color:#1e40af!important;box-shadow:none!important;transform:none!important;}
.app-help-tip{position:fixed!important;z-index:10000!important;max-width:min(330px,calc(100vw - 20px))!important;background:#0f172a!important;color:#fff!important;border-radius:14px!important;padding:12px 13px!important;box-shadow:0 18px 50px rgba(15,23,42,.25)!important;font-size:13px!important;line-height:1.35!important;}
.app-help-tip b{display:block!important;margin-bottom:4px!important;font-size:13px!important;color:#fff!important;}
.app-help-tip span{display:block!important;color:#e5e7eb!important;}
body.v1216-admin-ui .field.grow.smart-search.v11-search.v1216-child-search-fixed{margin-top:-85px!important;margin-bottom:-85px!important;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;}
body.v1216-admin-ui .v1216-child-search-fixed label{display:block!important;margin:0 0 5px!important;font-size:10px!important;line-height:1.1!important;}
body.v1216-admin-ui .v1216-child-search-fixed .search-wrap{margin:0!important;min-height:36px!important;padding:5px 6px!important;border-radius:11px!important;display:flex!important;align-items:center!important;gap:6px!important;box-sizing:border-box!important;}
body.v1216-admin-ui .v1216-child-search-fixed input{min-width:0!important;height:28px!important;min-height:28px!important;font-size:12px!important;padding:3px 4px!important;}
body.v1216-admin-ui .v1216-child-search-fixed .clear-search{width:28px!important;height:28px!important;min-width:28px!important;max-width:28px!important;padding:0!important;border-radius:9px!important;background:#e5e7eb!important;border-color:#e5e7eb!important;color:#111827!important;}
body.v1216-admin-ui .v1216-child-card-fixed{overflow:visible!important;}

/* ===================== V12.16 TEST15 - correction marge mobile causée par z-index side ===================== */
/* Le z-index du menu ne doit pas remettre la sidebar dans le flux en mobile. */
#topbarActions,
.topbar-actions,
.topbar.v1216-zfix,
.topbar{
  z-index:10000!important;
}
@media(max-width:980px){
  .side.v1216-zfix,
  .premium-side.v1216-zfix,
  .side,
  .premium-side{
    position:fixed!important;
    left:0!important;
    top:56px!important;
    bottom:0!important;
    width:290px!important;
    height:calc(100vh - 56px)!important;
    max-height:calc(100vh - 56px)!important;
    margin:0!important;
    transform:translateX(-105%)!important;
    z-index:9998!important;
  }
  body.menu-open .side,
  body.menu-open .premium-side{
    transform:translateX(0)!important;
  }
  .workspace,
  .main,
  main{
    margin-top:0!important;
    padding-top:12px!important;
  }
  .app.v11,
  .app{
    display:grid!important;
    grid-template-columns:1fr!important;
    align-items:start!important;
  }
}

/* ===================== V12.16 TEST17 - correctif retour admin enfants : suppression marges négatives ===================== */
/* Annule les essais de marge négative sur la recherche enfant : ils provoquaient le chevauchement avec les cartes. */
@media (max-width:680px){
  body.v1216-admin-ui .toolbar.v1216-child-toolbar-fixed,
  body.v1216-admin-ui main .toolbar.v1216-child-toolbar-fixed,
  body.v1216-admin-ui .main .toolbar.v1216-child-toolbar-fixed{
    margin:0 0 10px 0!important;
    padding:0!important;
    min-height:0!important;
    height:auto!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    overflow:visible!important;
    clear:both!important;
  }
  body.v1216-admin-ui .field.grow.smart-search.v11-search.v1216-child-search-fixed,
  body.v1216-admin-ui main .field.grow.smart-search.v11-search.v1216-child-search-fixed,
  body.v1216-admin-ui .main .field.grow.smart-search.v11-search.v1216-child-search-fixed{
    margin:0!important;
    padding:8px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    position:relative!important;
    top:auto!important;
    z-index:2!important;
    box-sizing:border-box!important;
  }
  body.v1216-admin-ui .v1216-child-search-fixed .search-wrap{
    margin:0!important;
    min-height:36px!important;
    padding:5px 6px!important;
  }
  body.v1216-admin-ui #clist,
  body.v1216-admin-ui main #clist,
  body.v1216-admin-ui .main #clist{
    margin-top:8px!important;
    position:relative!important;
    z-index:1!important;
    display:grid!important;
    gap:8px!important;
  }
}
/* Topbar/menu toujours au-dessus, sans remettre la sidebar dans le flux mobile. */
#topbarActions,.topbar-actions,.topbar{position:sticky;z-index:10000!important;}
@media(max-width:980px){
  .side,.premium-side{z-index:9998!important;}
  .workspace,.main,main{margin-top:0!important;}
}

/* V12.08 - Modales au-dessus de la barre admin + alertes admin plus lisibles */
body.modal-open{overflow:hidden!important;}
.modal-back{position:fixed!important;inset:0!important;z-index:2147483000!important;isolation:isolate!important;display:grid!important;place-items:center!important;background:rgba(15,23,42,.58)!important;backdrop-filter:blur(3px)!important;}
.modal-back .modal{position:relative!important;z-index:1!important;margin:0!important;width:min(980px,calc(100vw - 28px))!important;max-height:calc(100dvh - 28px)!important;min-height:0!important;}
.modal-back .modal-head{position:sticky!important;top:0!important;z-index:3!important;background:#fff!important;}
.modal-back .modal-body{max-height:calc(100dvh - 96px)!important;overflow:auto!important;}
body:has(.modal-back.show) .topbar,body:has(.modal-back.show) .side{z-index:1!important;}
.alert-admin-head{position:sticky;top:0;z-index:2;background:#fff;border:1px solid #dbe7f5;border-radius:18px;padding:12px 14px;margin-bottom:12px;box-shadow:0 10px 28px rgba(15,23,42,.08)}
.alert-admin-title{display:flex;align-items:baseline;gap:10px;margin-bottom:8px}.alert-admin-title strong{font-size:30px;color:#b91c1c;line-height:1}.alert-admin-title span{font-weight:900;color:#334155}.alert-admin-head p{margin:8px 0 0;color:#64748b;font-size:13px;font-weight:700}.alert-admin-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.v1208-alert-group{border:1px solid #dbe5f0!important;border-radius:18px!important;margin:10px 0!important;background:#fff!important;overflow:hidden!important;box-shadow:0 8px 22px rgba(15,23,42,.05)}.v1208-alert-group .alert-family-head{display:grid!important;grid-template-columns:auto minmax(150px,1.2fr) auto auto minmax(180px,1fr) auto!important;gap:10px!important;align-items:center!important;width:100%!important;background:#f8fafc!important;color:#0f172a!important;padding:12px 14px!important;border:0!important;text-align:left!important;box-shadow:none!important}.v1208-alert-group .alert-family-head:hover{background:#eef6ff!important;transform:none!important}.alert-chevron{font-size:22px;font-weight:950;color:#2563eb;transition:.15s}.alert-family-head.open .alert-chevron{transform:rotate(90deg)}.alert-family-name{font-weight:950;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alert-family-count{border-radius:999px;background:#e0f2fe;color:#075985;padding:5px 9px;font-size:12px;font-weight:950;white-space:nowrap}.alert-mandatory-count{border-radius:999px;background:#fee2e2;color:#991b1b;padding:5px 9px;font-size:12px;font-weight:950;white-space:nowrap}.alert-type-list{display:flex;gap:6px;flex-wrap:wrap;min-width:0}.alert-type-chip{display:inline-flex;gap:5px;align-items:center;border:1px solid #e2e8f0;background:#fff;border-radius:999px;padding:4px 8px;font-size:12px;color:#475569;font-weight:800}.alert-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;white-space:nowrap}.alert-toggle-text{font-size:12px;font-weight:950;color:#2563eb;padding:5px 2px}.v1208-alert-group .alert-family-body{padding:10px 12px;background:#fff}.v1208-alert-group .compact-alert{display:grid!important;grid-template-columns:1fr auto!important;gap:12px!important;align-items:center!important;border:1px solid #e2e8f0!important;border-left:5px solid #f59e0b!important;background:#fff!important;border-radius:14px!important;padding:10px 12px!important;margin:8px 0!important}.v1208-alert-group .mandatory-alert{border-left-color:#dc2626!important;background:#fffafa!important}.v1208-alert-group .alert-main div{line-height:1.35}.v1208-alert-group .work-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.alert-family-body.collapsed{display:none!important}
@media(max-width:900px){.v1208-alert-group .alert-family-head{grid-template-columns:auto 1fr!important}.alert-family-count,.alert-mandatory-count,.alert-type-list,.alert-head-actions{grid-column:2/-1;justify-content:flex-start}.v1208-alert-group .compact-alert{grid-template-columns:1fr!important}.v1208-alert-group .work-actions{justify-content:flex-start}.alert-head-actions{flex-wrap:wrap}.alert-admin-head{position:relative}.alert-admin-actions button{flex:1 1 auto}}
@media(max-width:760px){.modal-back{padding:0!important;place-items:stretch!important}.modal-back .modal{width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important}.modal-back .modal-body{max-height:calc(100dvh - 54px)!important}.alert-admin-title strong{font-size:24px}.alert-admin-actions{display:grid;grid-template-columns:1fr 1fr}.alert-admin-actions button{width:100%}.v1208-alert-group .alert-family-head{padding:11px!important}.alert-family-name{white-space:normal}.alert-type-list{display:none}}

/* V12.17 - menu gauche compact, hauteur écran, accordéon exclusif + tooltips */
@media(min-width:981px){
  .app.v11{grid-template-columns:260px minmax(0,1fr)!important;min-height:100dvh!important;transition:grid-template-columns .26s cubic-bezier(.2,.8,.2,1)!important}
  .side,.premium-side{position:sticky!important;top:0!important;height:100dvh!important;max-height:100dvh!important;overflow:hidden!important;transition:width .26s cubic-bezier(.2,.8,.2,1),box-shadow .22s ease,transform .22s ease!important}
  .side-inner{height:100dvh!important;max-height:100dvh!important;min-height:100dvh!important;border-radius:0!important;padding:12px 10px!important;overflow:hidden!important;transition:padding .26s cubic-bezier(.2,.8,.2,1)!important}
  .nav,.premium-nav{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overflow-x:visible!important;padding:0 2px 12px 0!important;scrollbar-width:thin!important}
  .brand{min-height:56px!important;margin-bottom:10px!important;padding:10px!important;border-radius:16px!important;transition:min-height .22s ease,padding .22s ease,margin .22s ease,background .22s ease!important}
  .brand .logo{width:38px!important;height:38px!important;border-radius:12px!important;transition:width .22s ease,height .22s ease,border-radius .22s ease,transform .22s ease!important}
  .brand div:not(.logo){max-width:180px!important;opacity:1!important;transform:translateX(0)!important;overflow:hidden!important;transition:opacity .16s ease,transform .2s ease,max-width .24s ease!important}
  .nav-label{max-width:190px!important;opacity:1!important;transform:translateX(0)!important;transition:opacity .16s ease,transform .2s ease,max-width .24s ease!important}
  .nav-groups summary{max-height:34px!important;opacity:1!important;transition:opacity .16s ease,transform .2s ease,max-height .22s ease,min-height .22s ease,padding .22s ease,margin .22s ease!important}
  .premium-nav details{margin:8px 0!important;transition:margin .22s ease,padding .22s ease,background .2s ease,border-color .2s ease!important}
  .premium-nav summary{min-height:26px!important;margin-bottom:3px!important}
  .premium-nav button{height:38px!important;min-height:38px!important;margin:2px 0!important;padding:0 10px!important;border-radius:12px!important;transition:width .24s cubic-bezier(.2,.8,.2,1),height .22s ease,min-height .22s ease,margin .22s ease,padding .22s ease,background .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease!important}
  .premium-nav button:hover{transform:translateX(2px)!important}
  body.menu-collapsed .app.v11{grid-template-columns:78px minmax(0,1fr)!important}
  body.menu-collapsed .side,body.menu-collapsed .premium-side{width:78px!important}
  body.menu-collapsed .side-inner{padding:10px 8px!important;overflow:visible!important}
  body.menu-collapsed .brand{justify-content:center!important;padding:8px!important}
  body.menu-collapsed .brand .logo{transform:scale(.94)!important}
  body.menu-collapsed .brand div:not(.logo){
    display:block!important;
    max-width:0!important;
    opacity:0!important;
    transform:translateX(-8px)!important;
    overflow:hidden!important;
    white-space:nowrap!important;
    pointer-events:none!important;
  }
  body.menu-collapsed .nav-label{
    display:inline-block!important;
    max-width:0!important;
    opacity:0!important;
    transform:translateX(-8px)!important;
    overflow:hidden!important;
    white-space:nowrap!important;
    pointer-events:none!important;
  }
  body.menu-collapsed .nav-groups summary{
    display:flex!important;
    max-height:0!important;
    min-height:0!important;
    height:0!important;
    opacity:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    pointer-events:none!important;
  }
  body.menu-collapsed .premium-nav details{border:0!important;margin:6px 0!important;padding:0!important}
  body.menu-collapsed .premium-nav button{position:relative!important;justify-content:center!important;width:44px!important;height:42px!important;min-height:42px!important;margin:4px auto!important;padding:0!important}
  body.menu-collapsed .premium-nav button:hover{transform:translateX(0) scale(1.06)!important}
  body.menu-collapsed .nav-ico{margin:0!important}
  body.menu-collapsed .nav [data-tooltip]:hover::after{
    content:attr(data-tooltip);
    position:absolute;
    left:calc(100% + 10px);
    top:50%;
    transform:translateY(-50%);
    z-index:2147482000;
    max-width:240px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    background:#0f172a;
    color:#fff;
    border:1px solid rgba(255,255,255,.14);
    border-radius:10px;
    padding:8px 10px;
    font-size:12px;
    line-height:1.15;
    box-shadow:0 16px 38px rgba(15,23,42,.24);
    pointer-events:none;
  }
}
@media(max-width:980px){
  .side,.premium-side{height:calc(100dvh - 56px)!important;max-height:calc(100dvh - 56px)!important;overflow:hidden!important}
  .side-inner{height:100%!important;max-height:100%!important;overflow-y:auto!important;border-radius:0!important}
}

/* V12.19 - animation menu fiable : flex-basis au lieu de grid */
@media(min-width:981px){
  .app.v11{
    display:flex!important;
    align-items:stretch!important;
    min-height:100dvh!important;
  }
  .app.v11 .side,
  .app.v11 .premium-side{
    flex:0 0 260px!important;
    width:260px!important;
    min-width:260px!important;
    transition:flex-basis .32s cubic-bezier(.22,1,.36,1),width .32s cubic-bezier(.22,1,.36,1),min-width .32s cubic-bezier(.22,1,.36,1),box-shadow .22s ease!important;
    will-change:flex-basis,width,min-width!important;
  }
  .app.v11 .workspace{
    flex:1 1 auto!important;
    min-width:0!important;
    transition:filter .22s ease!important;
  }
  body.menu-collapsed .app.v11 .side,
  body.menu-collapsed .app.v11 .premium-side{
    flex-basis:78px!important;
    width:78px!important;
    min-width:78px!important;
  }
  body.menu-is-animating .app.v11 .side-inner{
    transition:padding .32s cubic-bezier(.22,1,.36,1)!important;
  }
  body.menu-is-animating .nav-ico{
    transition:transform .28s cubic-bezier(.22,1,.36,1),background .2s ease!important;
  }
  body.menu-is-animating.menu-collapsed .nav-ico{
    transform:scale(1.06)!important;
  }
}

/* V12.21 - transition visible sur les boutons de navigation eux-mêmes */
@media(min-width:981px){
  .app.v11 .nav button[data-p],
  .app.v11 .premium-nav button[data-p]{
    display:grid!important;
    grid-template-columns:28px minmax(0,1fr)!important;
    align-items:center!important;
    justify-content:start!important;
    column-gap:10px!important;
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
    transform-origin:center left!important;
    transition:
      grid-template-columns .34s cubic-bezier(.22,1,.36,1),
      column-gap .28s ease,
      width .34s cubic-bezier(.22,1,.36,1),
      max-width .34s cubic-bezier(.22,1,.36,1),
      padding .34s cubic-bezier(.22,1,.36,1),
      margin .24s ease,
      background-color .18s ease,
      color .18s ease,
      box-shadow .18s ease,
      transform .24s cubic-bezier(.22,1,.36,1)!important;
  }
  .app.v11 .nav button[data-p] .nav-ico,
  .app.v11 .premium-nav button[data-p] .nav-ico{
    grid-column:1!important;
    justify-self:center!important;
    transition:transform .3s cubic-bezier(.22,1,.36,1),background-color .18s ease,color .18s ease!important;
  }
  .app.v11 .nav button[data-p] .nav-label,
  .app.v11 .premium-nav button[data-p] .nav-label{
    grid-column:2!important;
    display:block!important;
    min-width:0!important;
    max-width:180px!important;
    opacity:1!important;
    transform:translateX(0)!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    transition:max-width .32s cubic-bezier(.22,1,.36,1),opacity .18s ease,transform .28s cubic-bezier(.22,1,.36,1)!important;
  }
  body.menu-collapsed .app.v11 .nav button[data-p],
  body.menu-collapsed .app.v11 .premium-nav button[data-p]{
    grid-template-columns:28px minmax(0,0fr)!important;
    column-gap:0!important;
    width:44px!important;
    max-width:44px!important;
    padding-left:8px!important;
    padding-right:8px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  body.menu-collapsed .app.v11 .nav button[data-p] .nav-label,
  body.menu-collapsed .app.v11 .premium-nav button[data-p] .nav-label{
    max-width:0!important;
    opacity:0!important;
    transform:translateX(-10px)!important;
  }
  body.menu-is-animating .app.v11 .nav button[data-p],
  body.menu-is-animating .app.v11 .premium-nav button[data-p]{
    will-change:grid-template-columns,width,max-width,padding,transform!important;
  }
  body.menu-is-animating.menu-collapsed .app.v11 .nav button[data-p],
  body.menu-is-animating.menu-collapsed .app.v11 .premium-nav button[data-p]{
    animation:v1221NavButtonCollapse .34s cubic-bezier(.22,1,.36,1) both!important;
  }
  body.menu-is-animating:not(.menu-collapsed) .app.v11 .nav button[data-p],
  body.menu-is-animating:not(.menu-collapsed) .app.v11 .premium-nav button[data-p]{
    animation:v1221NavButtonExpand .34s cubic-bezier(.22,1,.36,1) both!important;
  }
}
@keyframes v1221NavButtonCollapse{
  0%{transform:translateX(0) scaleX(1)}
  55%{transform:translateX(-2px) scaleX(.92)}
  100%{transform:translateX(0) scaleX(1)}
}
@keyframes v1221NavButtonExpand{
  0%{transform:translateX(0) scaleX(.94)}
  60%{transform:translateX(2px) scaleX(1.015)}
  100%{transform:translateX(0) scaleX(1)}
}

/* V12.22 - libelles gardes animables pendant la reduction */
@media(min-width:981px){
  body.menu-collapsed .app.v11 .nav button[data-p] .nav-label,
  body.menu-collapsed .app.v11 .premium-nav button[data-p] .nav-label{
    display:block!important;
  }
  body.menu-is-animating .app.v11 .nav button[data-p] .nav-label,
  body.menu-is-animating .app.v11 .premium-nav button[data-p] .nav-label{
    display:block!important;
    overflow:hidden!important;
    white-space:nowrap!important;
  }
}

/* V12.43 - menu reduit propre et topbar parent allegee */
.topbar-brand-text.parent-hidden-title{display:none!important}
.topbar-title{min-width:0!important}
.topbar-title .hamb{flex:0 0 42px!important}
@media(min-width:981px){
  body.menu-collapsed .app.v11{grid-template-columns:74px minmax(0,1fr)!important}
  body.menu-collapsed .app.v11 .side,
  body.menu-collapsed .app.v11 .premium-side{
    flex:0 0 74px!important;
    width:74px!important;
    min-width:74px!important;
    max-width:74px!important;
    overflow:hidden!important;
  }
  body.menu-collapsed .app.v11 .side-inner{
    width:74px!important;
    min-width:74px!important;
    max-width:74px!important;
    padding:10px 8px!important;
    align-items:center!important;
    overflow:hidden!important;
  }
  body.menu-collapsed .app.v11 .brand{
    width:46px!important;
    height:46px!important;
    min-height:46px!important;
    margin:4px auto 12px!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:rgba(255,255,255,.08)!important;
    overflow:hidden!important;
  }
  body.menu-collapsed .app.v11 .brand .logo{
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
    border-radius:12px!important;
    transform:none!important;
  }
  body.menu-collapsed .app.v11 .brand div:not(.logo){
    display:none!important;
    width:0!important;
    max-width:0!important;
    min-width:0!important;
    opacity:0!important;
  }
  body.menu-collapsed .app.v11 .nav,
  body.menu-collapsed .app.v11 .premium-nav{
    width:100%!important;
    padding:0!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    gap:4px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }
  body.menu-collapsed .app.v11 .nav-groups details,
  body.menu-collapsed .app.v11 .premium-nav details{
    width:100%!important;
    border:0!important;
    background:transparent!important;
    margin:0!important;
    padding:0!important;
  }
  body.menu-collapsed .app.v11 .nav-groups summary,
  body.menu-collapsed .app.v11 .premium-nav summary{
    display:none!important;
  }
  body.menu-collapsed .app.v11 .nav button[data-p],
  body.menu-collapsed .app.v11 .premium-nav button[data-p]{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:44px!important;
    min-width:44px!important;
    max-width:44px!important;
    height:42px!important;
    min-height:42px!important;
    max-height:42px!important;
    margin:2px auto!important;
    padding:0!important;
    overflow:hidden!important;
    border-radius:13px!important;
    gap:0!important;
    grid-template-columns:none!important;
  }
  body.menu-collapsed .app.v11 .nav button[data-p] .nav-label,
  body.menu-collapsed .app.v11 .premium-nav button[data-p] .nav-label,
  body.menu-collapsed .app.v11 .nav button[data-p] > span:not(.nav-ico),
  body.menu-collapsed .app.v11 .premium-nav button[data-p] > span:not(.nav-ico){
    display:none!important;
    width:0!important;
    max-width:0!important;
    min-width:0!important;
    opacity:0!important;
    pointer-events:none!important;
  }
  body.menu-collapsed .app.v11 .nav-ico{
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    flex:0 0 30px!important;
    margin:0!important;
    justify-self:center!important;
  }
}

/* V12.25 - tuiles services cliquables sur l'accueil */
.dashboard-service-link{
  cursor:pointer!important;
  text-align:left!important;
  border-color:#bfdbfe!important;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background-color .16s ease!important;
}
.dashboard-service-link:hover,
.dashboard-service-link:focus-visible{
  transform:translateY(-2px)!important;
  box-shadow:0 14px 28px rgba(37,99,235,.14)!important;
  border-color:#60a5fa!important;
  outline:none!important;
}
.dashboard-service-link:focus-visible{
  box-shadow:0 0 0 4px #dbeafe,0 14px 28px rgba(37,99,235,.14)!important;
}

/* V12.29 - mise a zero personnalisable */
.reset-choice-grid{
  grid-template-columns:repeat(2,minmax(240px,1fr))!important;
  gap:12px!important;
  margin:14px 0!important;
}
.reset-choice{
  align-items:flex-start!important;
  cursor:pointer!important;
  border-radius:16px!important;
  transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease,transform .16s ease!important;
}
.reset-choice:hover{
  border-color:#93c5fd!important;
  background:#f8fbff!important;
  transform:translateY(-1px)!important;
  box-shadow:0 10px 22px rgba(37,99,235,.08)!important;
}
.reset-choice input{
  margin-top:3px!important;
  flex:0 0 auto!important;
}
.reset-choice span{
  display:grid!important;
  gap:4px!important;
  min-width:0!important;
}
.reset-choice b{
  color:#0f172a!important;
  line-height:1.2!important;
}
.reset-choice small{
  color:#64748b!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1.35!important;
}
@media(max-width:760px){
  .reset-choice-grid{grid-template-columns:1fr!important}
}

/* V12.35 - documents demandes aux familles */
.family-doc-req-admin{
  border-left:5px solid #2563eb!important;
}
.family-doc-status-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(220px,1fr))!important;
  gap:10px!important;
  margin:12px 0!important;
}
.family-doc-status{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  border:1px solid var(--line)!important;
  border-radius:14px!important;
  padding:11px 12px!important;
  background:#fff!important;
}
.family-doc-status.ok{
  border-color:#bbf7d0!important;
  background:#f0fdf4!important;
}
.family-doc-status.warn{
  border-color:#fed7aa!important;
  background:#fff7ed!important;
}
.family-doc-status b,
.family-doc-status small{
  display:block!important;
}
.family-doc-status small{
  color:#64748b!important;
  font-weight:750!important;
  margin-top:3px!important;
}
.family-doc-req-row .doc-main span{
  display:block!important;
  color:#64748b!important;
  font-size:12px!important;
  margin:2px 0 5px!important;
}
@media(max-width:760px){
  .family-doc-status-grid{grid-template-columns:1fr!important}
}

/* V12.44 final - animation prioritaire des summary du menu gauche */
@media(min-width:981px){
  .app.v11 .nav-groups details,
  .app.v11 .premium-nav details{
    overflow:hidden!important;
    transition:
      margin .34s cubic-bezier(.22,1,.36,1),
      padding .34s cubic-bezier(.22,1,.36,1),
      border-color .26s ease,
      background-color .26s ease!important;
  }
  .app.v11 .nav-groups summary,
  .app.v11 .premium-nav summary{
    display:flex!important;
    align-items:center!important;
    overflow:hidden!important;
    max-height:34px!important;
    min-height:24px!important;
    opacity:1!important;
    transform:translateY(0) scaleY(1)!important;
    transform-origin:center top!important;
    padding-top:7px!important;
    padding-bottom:7px!important;
    margin-top:0!important;
    margin-bottom:5px!important;
    pointer-events:auto!important;
    transition:
      max-height .34s cubic-bezier(.22,1,.36,1),
      min-height .34s cubic-bezier(.22,1,.36,1),
      padding .34s cubic-bezier(.22,1,.36,1),
      margin .34s cubic-bezier(.22,1,.36,1),
      opacity .2s ease,
      transform .34s cubic-bezier(.22,1,.36,1)!important;
    will-change:max-height,min-height,padding,margin,opacity,transform!important;
  }
  body.menu-collapsed .app.v11 .nav-groups details,
  body.menu-collapsed .app.v11 .premium-nav details{
    margin:2px 0!important;
    padding:0!important;
    border-color:transparent!important;
    background-color:transparent!important;
  }
  body.menu-collapsed .app.v11 .nav-groups summary,
  body.menu-collapsed .app.v11 .premium-nav summary{
    display:flex!important;
    max-height:0!important;
    min-height:0!important;
    height:auto!important;
    opacity:0!important;
    transform:translateY(-8px) scaleY(.72)!important;
    padding-top:0!important;
    padding-bottom:0!important;
    margin-top:0!important;
    margin-bottom:0!important;
    pointer-events:none!important;
  }
  body.menu-is-animating .app.v11 .nav-groups summary,
  body.menu-is-animating .app.v11 .premium-nav summary{
    display:flex!important;
  }
}

/* V12.82 EOF - pointage mobile normal + compact, une ligne garantie */
@media (max-width:760px){
  #svcContent .work-row,
  #svcContent .work-row-readable,
  #svcContent .v56-row,
  #svcContent .v1164-row,
  #svcContent .v1178-cantine-row,
  #svcContent .v1180-row{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:6px!important;
    width:100%!important;
    min-height:38px!important;
    padding:6px 7px!important;
    overflow:hidden!important;
  }
  #svcContent .child-line,
  #svcContent .same-line-alert,
  #svcContent .v56-child-line,
  #svcContent .v58-one-line,
  #svcContent .v1178-cantine-line,
  #svcContent .v1180-child-line{
    flex:1 1 auto!important;
    min-width:0!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    gap:4px!important;
    flex-wrap:nowrap!important;
    overflow:hidden!important;
    white-space:nowrap!important;
  }
  #svcContent .link-child,
  #svcContent .v1180-id{
    min-width:0!important;
    max-width:100%!important;
    display:inline-flex!important;
    flex-direction:row!important;
    align-items:center!important;
    gap:4px!important;
    overflow:hidden!important;
    white-space:nowrap!important;
  }
  #svcContent .link-child b,
  #svcContent .v1180-id b{
    display:inline-block!important;
    max-width:120px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:11px!important;
    line-height:1!important;
  }
  #svcContent .link-child small,
  #svcContent .v1180-id small,
  #svcContent .child-line small{
    flex:0 0 auto!important;
    min-width:auto!important;
    margin:0!important;
    font-size:9px!important;
    line-height:1!important;
  }
  #svcContent .child-line .badge,
  #svcContent .child-line .pill,
  #svcContent .child-line .alert-dot,
  #svcContent .v1180-health,
  #svcContent .v1164-medical-badge{
    flex:0 0 auto!important;
    max-width:42px!important;
    padding:2px 4px!important;
    font-size:9px!important;
    line-height:1!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  #svcContent .work-actions,
  #svcContent .action-group,
  #svcContent .v56-actions,
  #svcContent .v1178-cantine-actions,
  #svcContent .v1180-actions{
    flex:0 0 auto!important;
    max-width:45%!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-end!important;
    flex-wrap:nowrap!important;
    gap:3px!important;
    overflow:visible!important;
  }
  #svcContent .work-actions button,
  #svcContent .action-group button,
  #svcContent .compact-action{
    width:auto!important;
    min-width:0!important;
    min-height:22px!important;
    padding:5px 6px!important;
    border-radius:7px!important;
    font-size:9px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  #svcContent .work-actions .light,
  #svcContent .work-actions .pill:not(.strong-pill),
  #svcContent .work-actions .badge{
    display:none!important;
  }
}

@media (max-width:390px){
  #svcContent .link-child b,
  #svcContent .v1180-id b{
    max-width:96px!important;
  }
  #svcContent .work-actions,
  #svcContent .action-group,
  #svcContent .v56-actions,
  #svcContent .v1178-cantine-actions,
  #svcContent .v1180-actions{
    max-width:48%!important;
  }
  #svcContent .work-actions button,
  #svcContent .action-group button,
  #svcContent .compact-action{
    padding:5px!important;
    font-size:8.5px!important;
  }
}

/* V12.84 EOF - pointage mobile: une ligne sans chevauchement */
@media (max-width:760px){
  #svcContent .work-row,
  .v1179-compact-only .work-row,
  .v1180-compact-only .work-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) max-content!important;
    align-items:center!important;
    gap:4px!important;
    width:100%!important;
    min-height:34px!important;
    padding:5px 6px!important;
    overflow:hidden!important;
  }
  #svcContent .child-line,
  .v1179-compact-only .child-line,
  .v1180-compact-only .child-line{
    grid-column:1!important;
    grid-row:1!important;
    min-width:0!important;
    display:flex!important;
    align-items:center!important;
    gap:3px!important;
    flex-wrap:nowrap!important;
    overflow:hidden!important;
    white-space:nowrap!important;
  }
  #svcContent .link-child,
  #svcContent .v1180-id,
  .v1179-compact-only .link-child,
  .v1179-compact-only .v1180-id,
  .v1180-compact-only .link-child,
  .v1180-compact-only .v1180-id{
    min-width:0!important;
    display:inline-flex!important;
    align-items:center!important;
    gap:3px!important;
    overflow:hidden!important;
    white-space:nowrap!important;
  }
  #svcContent .link-child b,
  #svcContent .v1180-id b,
  .v1179-compact-only .link-child b,
  .v1179-compact-only .v1180-id b,
  .v1180-compact-only .link-child b,
  .v1180-compact-only .v1180-id b{
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:10px!important;
    line-height:1!important;
  }
  #svcContent .link-child small,
  #svcContent .v1180-id small,
  .v1179-compact-only .link-child small,
  .v1179-compact-only .v1180-id small,
  .v1180-compact-only .link-child small,
  .v1180-compact-only .v1180-id small{
    flex:0 0 auto!important;
    font-size:8px!important;
    line-height:1!important;
    margin:0!important;
  }
  #svcContent .child-line .pill,
  #svcContent .child-line .badge,
  #svcContent .child-line .alert-dot,
  #svcContent .v1180-health,
  .v1179-compact-only .child-line .pill,
  .v1179-compact-only .child-line .badge,
  .v1179-compact-only .child-line .alert-dot,
  .v1179-compact-only .v1180-health,
  .v1180-compact-only .child-line .pill,
  .v1180-compact-only .child-line .badge,
  .v1180-compact-only .child-line .alert-dot,
  .v1180-compact-only .v1180-health{
    flex:0 0 auto!important;
    max-width:34px!important;
    padding:2px 3px!important;
    font-size:8px!important;
    line-height:1!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  #svcContent .work-actions,
  #svcContent .action-group,
  .v1179-compact-only .work-actions,
  .v1179-compact-only .action-group,
  .v1180-compact-only .work-actions,
  .v1180-compact-only .action-group{
    grid-column:2!important;
    grid-row:1!important;
    min-width:max-content!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    flex-wrap:nowrap!important;
    gap:2px!important;
    overflow:visible!important;
  }
  #svcContent .work-actions button,
  #svcContent .action-group button,
  .v1179-compact-only .work-actions button,
  .v1179-compact-only .action-group button,
  .v1180-compact-only .work-actions button,
  .v1180-compact-only .action-group button{
    width:auto!important;
    min-width:0!important;
    min-height:20px!important;
    max-width:38px!important;
    padding:4px 5px!important;
    border-radius:7px!important;
    font-size:8px!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
  }
  #svcContent .work-actions .light,
  #svcContent .work-actions .pill:not(.strong-pill),
  #svcContent .work-actions .badge,
  .v1179-compact-only .work-actions .light,
  .v1179-compact-only .work-actions .pill:not(.strong-pill),
  .v1179-compact-only .work-actions .badge,
  .v1180-compact-only .work-actions .light,
  .v1180-compact-only .work-actions .pill:not(.strong-pill),
  .v1180-compact-only .work-actions .badge{
    display:none!important;
  }
  #svcContent .v56-options summary,
  .v1179-compact-only .v56-options summary,
  .v1180-compact-only .v56-options summary{
    width:20px!important;
    height:20px!important;
    min-width:20px!important;
    min-height:20px!important;
    padding:0!important;
    display:grid!important;
    place-items:center!important;
  }
}
@media (max-width:390px){
  #svcContent .work-actions button,
  #svcContent .action-group button,
  .v1179-compact-only .work-actions button,
  .v1179-compact-only .action-group button,
  .v1180-compact-only .work-actions button,
  .v1180-compact-only .action-group button{
    max-width:34px!important;
    padding:4px!important;
    font-size:7.5px!important;
  }
}

/* V12.85 TRUE EOF - pointage mobile: normal + compact sans superposition */
@media (max-width:760px){
  .v1180-daily-main .compact-list,
  .v1180-daily-main .dense-list,
  .service-card .compact-list,
  .service-card .dense-list,
  #svcContent .compact-list,
  #svcContent .dense-list,
  .v1179-compact-only,
  .v1180-compact-only{width:100%!important;min-width:0!important;overflow:visible!important;}

  .v1180-daily-main .work-row,
  .v1180-daily-main .v56-row.work-row-readable,
  .service-card .work-row,
  .service-card .v56-row.work-row-readable,
  #svcContent .work-row,
  #svcContent .v56-row.work-row-readable,
  .v1179-compact-only .work-row,
  .v1180-compact-only .work-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:4px!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:32px!important;
    padding:5px 6px!important;
    overflow:visible!important;
  }

  .v1180-daily-main .child-line,
  .v1180-daily-main .v56-child-line,
  .v1180-daily-main .v1180-child-line,
  .service-card .child-line,
  .service-card .v56-child-line,
  .service-card .v1180-child-line,
  #svcContent .child-line,
  #svcContent .v56-child-line,
  #svcContent .v1180-child-line,
  .v1179-compact-only .child-line,
  .v1179-compact-only .v56-child-line,
  .v1179-compact-only .v1180-child-line,
  .v1180-compact-only .child-line,
  .v1180-compact-only .v56-child-line,
  .v1180-compact-only .v1180-child-line{
    grid-column:1!important;
    grid-row:1!important;
    min-width:0!important;
    max-width:100%!important;
    display:flex!important;
    align-items:center!important;
    gap:3px!important;
    flex-wrap:nowrap!important;
    overflow:hidden!important;
    white-space:nowrap!important;
    border-bottom:0!important;
    padding-bottom:0!important;
  }

  .v1180-daily-main .link-child,
  .v1180-daily-main .v56-child-id,
  .v1180-daily-main .v1180-id,
  .service-card .link-child,
  .service-card .v56-child-id,
  .service-card .v1180-id,
  #svcContent .link-child,
  #svcContent .v56-child-id,
  #svcContent .v1180-id,
  .v1179-compact-only .link-child,
  .v1179-compact-only .v56-child-id,
  .v1179-compact-only .v1180-id,
  .v1180-compact-only .link-child,
  .v1180-compact-only .v56-child-id,
  .v1180-compact-only .v1180-id{
    flex:1 1 auto!important;
    min-width:0!important;
    max-width:100%!important;
    display:inline-flex!important;
    align-items:center!important;
    gap:3px!important;
    overflow:hidden!important;
    white-space:nowrap!important;
  }

  .v1180-daily-main .link-child b,
  .v1180-daily-main .v56-child-id b,
  .v1180-daily-main .v1180-id b,
  .service-card .link-child b,
  .service-card .v56-child-id b,
  .service-card .v1180-id b,
  #svcContent .link-child b,
  #svcContent .v56-child-id b,
  #svcContent .v1180-id b,
  .v1179-compact-only .link-child b,
  .v1179-compact-only .v56-child-id b,
  .v1179-compact-only .v1180-id b,
  .v1180-compact-only .link-child b,
  .v1180-compact-only .v56-child-id b,
  .v1180-compact-only .v1180-id b{
    flex:1 1 auto!important;
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:10px!important;
    line-height:1.05!important;
  }

  .v1180-daily-main .link-child small,
  .v1180-daily-main .v56-child-id small,
  .v1180-daily-main .v1180-id small,
  .service-card .link-child small,
  .service-card .v56-child-id small,
  .service-card .v1180-id small,
  #svcContent .link-child small,
  #svcContent .v56-child-id small,
  #svcContent .v1180-id small,
  .v1179-compact-only .link-child small,
  .v1179-compact-only .v56-child-id small,
  .v1179-compact-only .v1180-id small,
  .v1180-compact-only .link-child small,
  .v1180-compact-only .v56-child-id small,
  .v1180-compact-only .v1180-id small{
    flex:0 0 auto!important;
    display:inline-block!important;
    min-width:16px!important;
    margin:0!important;
    font-size:7.5px!important;
    line-height:1!important;
    opacity:.75!important;
  }

  .v1180-daily-main .work-actions,
  .v1180-daily-main .action-group,
  .v1180-daily-main .v56-actions,
  .v1180-daily-main .v1180-actions,
  .service-card .work-actions,
  .service-card .action-group,
  .service-card .v56-actions,
  .service-card .v1180-actions,
  #svcContent .work-actions,
  #svcContent .action-group,
  #svcContent .v56-actions,
  #svcContent .v1180-actions,
  .v1179-compact-only .work-actions,
  .v1179-compact-only .action-group,
  .v1179-compact-only .v56-actions,
  .v1179-compact-only .v1180-actions,
  .v1180-compact-only .work-actions,
  .v1180-compact-only .action-group,
  .v1180-compact-only .v56-actions,
  .v1180-compact-only .v1180-actions{
    grid-column:2!important;
    grid-row:1!important;
    min-width:max-content!important;
    max-width:none!important;
    margin-left:0!important;
    padding-top:0!important;
    border-top:0!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-end!important;
    flex-wrap:nowrap!important;
    gap:2px!important;
    overflow:visible!important;
  }

  .v1180-daily-main .work-actions .pill,
  .v1180-daily-main .work-actions .badge,
  .v1180-daily-main .work-actions .light,
  .service-card .work-actions .pill,
  .service-card .work-actions .badge,
  .service-card .work-actions .light,
  #svcContent .work-actions .pill,
  #svcContent .work-actions .badge,
  #svcContent .work-actions .light,
  .v1179-compact-only .work-actions .pill,
  .v1179-compact-only .work-actions .badge,
  .v1179-compact-only .work-actions .light,
  .v1180-compact-only .work-actions .pill,
  .v1180-compact-only .work-actions .badge,
  .v1180-compact-only .work-actions .light{display:none!important;}

  .v1180-daily-main .work-actions button,
  .v1180-daily-main .action-group button,
  .service-card .work-actions button,
  .service-card .action-group button,
  #svcContent .work-actions button,
  #svcContent .action-group button,
  .v1179-compact-only .work-actions button,
  .v1179-compact-only .action-group button,
  .v1180-compact-only .work-actions button,
  .v1180-compact-only .action-group button{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:36px!important;
    min-height:20px!important;
    padding:4px 5px!important;
    border-radius:7px!important;
    font-size:7.5px!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
  }

  .v1180-daily-main .v56-options summary,
  .service-card .v56-options summary,
  #svcContent .v56-options summary,
  .v1179-compact-only .v56-options summary,
  .v1180-compact-only .v56-options summary{
    width:20px!important;
    min-width:20px!important;
    height:20px!important;
    min-height:20px!important;
    padding:0!important;
    display:grid!important;
    place-items:center!important;
    font-size:12px!important;
  }
}

@media (max-width:390px){
  .v1180-daily-main .work-actions button:not(.v56-primary),
  .service-card .work-actions button:not(.v56-primary),
  #svcContent .work-actions button:not(.v56-primary),
  .v1179-compact-only .work-actions button:not(.v56-primary),
  .v1180-compact-only .work-actions button:not(.v56-primary){display:none!important;}
  .v1180-daily-main .child-line .pill,
  .v1180-daily-main .child-line .badge,
  .v1180-daily-main .v1180-health,
  .service-card .child-line .pill,
  .service-card .child-line .badge,
  .service-card .v1180-health,
  #svcContent .child-line .pill,
  #svcContent .child-line .badge,
  #svcContent .v1180-health,
  .v1179-compact-only .child-line .pill,
  .v1179-compact-only .child-line .badge,
  .v1179-compact-only .v1180-health,
  .v1180-compact-only .child-line .pill,
  .v1180-compact-only .child-line .badge,
  .v1180-compact-only .v1180-health{display:none!important;}
  .v1180-daily-main .work-actions button.v56-primary,
  .service-card .work-actions button.v56-primary,
  #svcContent .work-actions button.v56-primary,
  .v1179-compact-only .work-actions button.v56-primary,
  .v1180-compact-only .work-actions button.v56-primary{max-width:32px!important;padding:4px!important;font-size:7px!important;}
}

/* V12.86 TRUE EOF - ligne de pointage structuree en cellules */
.v1186-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) max-content!important;
  align-items:center!important;
  column-gap:8px!important;
  width:100%!important;
  min-width:0!important;
  overflow:visible!important;
}
.v1186-child-cell{
  min-width:0!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  flex-wrap:nowrap!important;
}
.v1186-actions-cell{
  min-width:max-content!important;
  justify-self:end!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:5px!important;
  flex-wrap:nowrap!important;
  overflow:visible!important;
  position:relative!important;
  z-index:5!important;
}
.v1186-actions-cell .v56-options{
  position:relative!important;
  z-index:10000!important;
}
.v1186-actions-cell .v56-menu{
  position:absolute!important;
  right:0!important;
  left:auto!important;
  top:calc(100% + 4px)!important;
  bottom:auto!important;
  z-index:10001!important;
  min-width:180px!important;
}
.v1186-child-cell .v1180-id{
  min-width:0!important;
  max-width:100%!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
  overflow:hidden!important;
}
.v1186-child-cell .v1180-id b{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.v1186-child-cell .v1180-id small{
  flex:0 0 auto!important;
}

@media (max-width:760px){
  .v1186-row{
    grid-template-columns:minmax(0,1fr) max-content!important;
    column-gap:5px!important;
    padding:5px 6px!important;
    min-height:32px!important;
  }
  .v1186-child-cell{
    gap:3px!important;
    padding:0!important;
    border-bottom:0!important;
  }
  .v1186-child-cell .v1180-id{
    gap:3px!important;
  }
  .v1186-child-cell .v1180-id b{
    font-size:10px!important;
    line-height:1!important;
  }
  .v1186-child-cell .v1180-id small{
    font-size:7.5px!important;
    line-height:1!important;
    opacity:.72!important;
  }
  .v1186-child-cell .pill,
  .v1186-child-cell .badge,
  .v1186-child-cell .v1180-health,
  .v1186-actions-cell .pill,
  .v1186-actions-cell .badge,
  .v1186-actions-cell .light{
    display:none!important;
  }
  .v1186-actions-cell{
    gap:2px!important;
    min-width:max-content!important;
    max-width:none!important;
  }
  .v1186-actions-cell button{
    min-width:0!important;
    max-width:50px!important;
    min-height:21px!important;
    padding:4px 5px!important;
    border-radius:7px!important;
    font-size:8px!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
  }
  .v1186-actions-cell .v56-options summary{
    width:21px!important;
    min-width:21px!important;
    height:21px!important;
    min-height:21px!important;
    padding:0!important;
    display:grid!important;
    place-items:center!important;
  }
}

@media (max-width:390px){
  .v1186-row{
    column-gap:3px!important;
    padding:4px 5px!important;
  }
  .v1186-actions-cell button:not(.v56-primary){
    display:none!important;
  }
  .v1186-actions-cell .v56-primary{
    max-width:34px!important;
    padding:4px!important;
    font-size:7px!important;
  }
}

/* V12.87 TRUE EOF - menu mobile lisible + recherche compacte */
.v1186-compact-head{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) minmax(190px,260px)!important;
  align-items:center!important;
  gap:8px!important;
}
.v1186-compact-tools{
  display:grid!important;
  grid-template-columns:minmax(105px,1fr) 116px!important;
  align-items:end!important;
  gap:6px!important;
  min-width:0!important;
}
.v1186-compact-tools #v1179Date{
  min-height:30px!important;
  height:30px!important;
  padding:4px 6px!important;
  border-radius:9px!important;
  font-size:11px!important;
}
.v1186-compact-search{
  min-width:0!important;
  width:100%!important;
  margin:0!important;
  padding:4px!important;
  border-radius:10px!important;
  border-width:1px!important;
  box-shadow:none!important;
}
.v1186-compact-search label{
  font-size:8px!important;
  margin:0 0 2px!important;
  line-height:1!important;
}
.v1186-compact-search .search-wrap{
  min-height:28px!important;
  padding:2px 4px!important;
  border-radius:8px!important;
  gap:3px!important;
}
.v1186-compact-search .search-wrap:before{
  font-size:11px!important;
}
.v1186-compact-search input{
  min-height:22px!important;
  height:22px!important;
  padding:1px 2px!important;
  font-size:11px!important;
  font-weight:750!important;
}
.v1186-compact-search .clear-search{
  width:20px!important;
  min-width:20px!important;
  height:20px!important;
  padding:0!important;
  border-radius:7px!important;
  font-size:10px!important;
}
.v1186-actions-cell details[open]{
  z-index:2147483000!important;
}
.v1186-actions-cell details[open] .v56-menu{
  display:flex!important;
  flex-direction:column!important;
  gap:4px!important;
  min-width:190px!important;
  max-width:min(230px,calc(100vw - 24px))!important;
  padding:7px!important;
  border-radius:12px!important;
  background:#fff!important;
  border:1px solid #cbd5e1!important;
  box-shadow:0 16px 38px rgba(15,23,42,.28)!important;
  z-index:2147483001!important;
}
.v1186-actions-cell .v56-menu-item{
  display:flex!important;
  width:100%!important;
  min-height:38px!important;
  justify-content:flex-start!important;
  align-items:center!important;
  padding:9px 10px!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#0f172a!important;
  font-size:13px!important;
  font-weight:850!important;
  line-height:1.15!important;
  white-space:normal!important;
  text-align:left!important;
}
.v1186-actions-cell .v56-menu-item.danger{
  color:#b91c1c!important;
  background:#fff5f5!important;
}

@media (max-width:760px){
  .v1186-compact-head{
    grid-template-columns:auto minmax(0,1fr)!important;
    gap:6px!important;
  }
  .v1186-compact-title{
    min-width:0!important;
  }
  .v1186-compact-tools{
    grid-column:1/-1!important;
    grid-template-columns:minmax(0,1fr) 112px!important;
    width:100%!important;
  }
  .v1186-actions-cell details[open] .v56-menu{
    right:0!important;
    left:auto!important;
    top:calc(100% + 6px)!important;
    bottom:auto!important;
  }
}

@media (max-width:390px){
  .v1186-compact-tools{
    grid-template-columns:minmax(0,1fr) 104px!important;
    gap:4px!important;
  }
  .v1186-compact-tools #v1179Date{
    font-size:10px!important;
    padding:3px 4px!important;
  }
  .v1186-actions-cell details[open] .v56-menu{
    min-width:178px!important;
    right:-2px!important;
  }
  .v1186-actions-cell .v56-menu-item{
    min-height:40px!important;
    font-size:13px!important;
  }
}

/* V12.88 TRUE EOF - menus exclusifs, lisibles et recherche compact complete */
.v1186-actions-cell details[open] .v56-menu{
  position:fixed!important;
  left:var(--v1186-menu-left,8px)!important;
  top:var(--v1186-menu-top,80px)!important;
  right:auto!important;
  bottom:auto!important;
  width:var(--v1186-menu-width,210px)!important;
  min-width:0!important;
  max-width:calc(100vw - 16px)!important;
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
  padding:8px!important;
  border-radius:14px!important;
  background:#fff!important;
  border:1px solid #cbd5e1!important;
  box-shadow:0 18px 44px rgba(15,23,42,.30)!important;
  z-index:2147483001!important;
  overflow:visible!important;
}
.v1186-actions-cell details[open] summary{
  box-shadow:0 0 0 3px rgba(37,99,235,.18)!important;
}
.v1186-actions-cell .v56-menu-item{
  width:100%!important;
  min-height:42px!important;
  padding:10px 11px!important;
  border-radius:10px!important;
  justify-content:flex-start!important;
  align-items:center!important;
  background:#f8fafc!important;
  color:#0f172a!important;
  border:1px solid #e2e8f0!important;
  font-size:13px!important;
  font-weight:900!important;
  line-height:1.15!important;
  white-space:normal!important;
  text-align:left!important;
  transform:none!important;
  box-shadow:none!important;
}
.v1186-actions-cell .v56-menu-item:hover,
.v1186-actions-cell .v56-menu-item:focus{
  background:#eef5ff!important;
  border-color:#bfdbfe!important;
}
.v1186-actions-cell .v56-menu-item.danger{
  background:#fff1f2!important;
  border-color:#fecdd3!important;
  color:#b91c1c!important;
}
.v1186-compact-head{
  background:#f8fbff!important;
  border:1px solid #dbeafe!important;
  border-radius:12px!important;
  padding:5px!important;
}
.v1186-compact-title b{
  font-size:12px!important;
  line-height:1!important;
}
.v1186-compact-title small{
  font-size:9px!important;
  line-height:1.15!important;
}
.v1186-compact-add-list{
  display:grid!important;
  gap:5px!important;
  margin:5px 0!important;
}
.v1186-add-child{
  width:100%!important;
  min-height:32px!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:6px!important;
  padding:6px 8px!important;
  border-radius:10px!important;
  background:#ecfdf5!important;
  color:#14532d!important;
  border:1px solid #bbf7d0!important;
  box-shadow:none!important;
  transform:none!important;
  text-align:left!important;
}
.v1186-add-child b{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:11px!important;
}
.v1186-add-child small{
  font-size:9px!important;
  opacity:.75!important;
}

@media (max-width:760px){
  .v1186-compact-head{
    padding:5px!important;
  }
  .v1186-compact-tools{
    align-items:end!important;
  }
  .v1186-actions-cell details[open] .v56-menu{
    width:var(--v1186-menu-width,210px)!important;
    padding:8px!important;
  }
  .v1186-actions-cell .v56-menu-item{
    min-height:44px!important;
    font-size:14px!important;
  }
}

@media (max-width:390px){
  .v1186-compact-head{
    gap:4px!important;
  }
  .v1186-compact-title small{
    font-size:8px!important;
  }
  .v1186-actions-cell details[open] .v56-menu{
    width:var(--v1186-menu-width,196px)!important;
  }
}

/* V12.89 TRUE EOF - boutons compact lisibles sans casser la ligne */
.v1186-row{
  grid-template-columns:minmax(0,1fr) max-content!important;
  column-gap:8px!important;
}
.v1186-actions-cell{
  gap:5px!important;
}
.v1186-actions-cell .v56-primary{
  min-width:78px!important;
  max-width:96px!important;
  min-height:28px!important;
  padding:6px 9px!important;
  font-size:11px!important;
  line-height:1!important;
  border-radius:9px!important;
}
.v1186-actions-cell .v56-options summary{
  width:28px!important;
  min-width:28px!important;
  height:28px!important;
  min-height:28px!important;
  border-radius:9px!important;
  font-size:16px!important;
}
.v1186-actions-cell details[open] .v56-menu{
  width:var(--v1186-menu-width,220px)!important;
  padding:9px!important;
  max-height:calc(100vh - 16px)!important;
  overflow-y:auto!important;
}
.v1186-actions-cell .v56-menu-item{
  min-height:44px!important;
  padding:10px 12px!important;
  font-size:14px!important;
}
.v1186-compact-head{
  grid-template-columns:auto minmax(0,1fr)!important;
}
.v1186-compact-tools{
  grid-column:1/-1!important;
  grid-template-columns:minmax(0,1fr) 112px!important;
  gap:6px!important;
}
.v1186-compact-search label{
  display:none!important;
}
.v1186-compact-search{
  padding:3px!important;
}
.v1186-compact-search .search-wrap{
  min-height:30px!important;
}
.v1186-compact-search input{
  min-height:24px!important;
  height:24px!important;
  font-size:12px!important;
}
.v1186-compact-tools #v1179Date{
  height:32px!important;
  min-height:32px!important;
  font-size:11px!important;
}

@media (max-width:760px){
  .v1186-row{
    column-gap:5px!important;
  }
  .v1186-actions-cell{
    gap:3px!important;
  }
  .v1186-actions-cell .v56-primary{
    min-width:66px!important;
    max-width:76px!important;
    min-height:26px!important;
    padding:5px 7px!important;
    font-size:10px!important;
  }
  .v1186-actions-cell .v56-options summary{
    width:26px!important;
    min-width:26px!important;
    height:26px!important;
    min-height:26px!important;
  }
  .v1186-actions-cell details[open] .v56-menu{
    width:var(--v1186-menu-width,216px)!important;
  }
}

@media (max-width:390px){
  .v1186-row{
    column-gap:4px!important;
  }
  .v1186-child-cell .v1180-id b{
    font-size:9.5px!important;
  }
  .v1186-actions-cell .v56-primary{
    min-width:58px!important;
    max-width:66px!important;
    min-height:25px!important;
    padding:5px 6px!important;
    font-size:9px!important;
  }
  .v1186-actions-cell .v56-options summary{
    width:25px!important;
    min-width:25px!important;
    height:25px!important;
    min-height:25px!important;
  }
  .v1186-compact-tools{
    grid-template-columns:minmax(0,1fr) 102px!important;
    gap:4px!important;
  }
}

/* V12.90 TRUE EOF - mobile compact utilisable: panneau menu + barre plate */
@media (max-width:1000px){
  .v1186-compact-head{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    gap:4px!important;
    padding:4px!important;
    border-radius:10px!important;
  }
  .v1186-compact-head > button{
    min-height:26px!important;
    padding:5px 7px!important;
    font-size:9px!important;
    border-radius:8px!important;
    white-space:nowrap!important;
  }
  .v1186-compact-title{
    min-width:0!important;
    overflow:hidden!important;
  }
  .v1186-compact-title b{
    font-size:11px!important;
    line-height:1!important;
  }
  .v1186-compact-title small{
    display:block!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:8px!important;
    line-height:1!important;
  }
  .v1186-compact-tools{
    grid-column:1/-1!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 96px!important;
    align-items:center!important;
    gap:4px!important;
    width:100%!important;
  }
  .v1186-compact-search,
  .field.grow.smart-search.v11-search.v1186-compact-search{
    min-width:0!important;
    width:100%!important;
    height:28px!important;
    min-height:28px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid #bfdbfe!important;
    border-radius:8px!important;
    background:#fff!important;
    box-shadow:none!important;
    position:relative!important;
  }
  .v1186-compact-search label{
    display:none!important;
  }
  .v1186-compact-search .search-wrap{
    height:26px!important;
    min-height:26px!important;
    padding:0 4px!important;
    border:0!important;
    border-radius:8px!important;
    gap:3px!important;
    background:transparent!important;
  }
  .v1186-compact-search .search-wrap:before{
    font-size:10px!important;
    line-height:1!important;
  }
  .v1186-compact-search input{
    height:24px!important;
    min-height:24px!important;
    padding:0 2px!important;
    font-size:10px!important;
    line-height:1!important;
    font-weight:750!important;
  }
  .v1186-compact-search .clear-search{
    width:18px!important;
    min-width:18px!important;
    height:18px!important;
    min-height:18px!important;
    padding:0!important;
    border-radius:6px!important;
    font-size:9px!important;
  }
  .v1186-compact-tools #v1179Date{
    width:96px!important;
    height:28px!important;
    min-height:28px!important;
    padding:2px 4px!important;
    border-radius:8px!important;
    font-size:9px!important;
    line-height:1!important;
  }

  .v1186-row{
    grid-template-columns:minmax(0,1fr) max-content!important;
    column-gap:5px!important;
    min-height:34px!important;
    padding:5px 6px!important;
  }
  .v1186-child-cell{
    min-width:0!important;
  }
  .v1186-child-cell .v1180-id b{
    font-size:10px!important;
  }
  .v1186-child-cell .v1180-id small{
    font-size:8px!important;
  }
  .v1186-actions-cell{
    gap:4px!important;
  }
  .v1186-actions-cell .v56-primary{
    min-width:76px!important;
    max-width:88px!important;
    height:30px!important;
    min-height:30px!important;
    padding:6px 8px!important;
    border-radius:9px!important;
    font-size:10px!important;
    font-weight:900!important;
    line-height:1!important;
  }
  .v1186-actions-cell .v56-options summary{
    width:30px!important;
    min-width:30px!important;
    height:30px!important;
    min-height:30px!important;
    border-radius:9px!important;
    font-size:17px!important;
  }

  .v1186-actions-cell details[open] .v56-menu{
    position:fixed!important;
    left:10px!important;
    right:10px!important;
    top:auto!important;
    bottom:12px!important;
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    display:grid!important;
    gap:8px!important;
    padding:10px!important;
    border-radius:16px!important;
    background:#fff!important;
    border:1px solid #cbd5e1!important;
    box-shadow:0 -10px 34px rgba(15,23,42,.30)!important;
    z-index:2147483600!important;
  }
  .v1186-actions-cell .v56-menu-item{
    min-height:46px!important;
    padding:11px 12px!important;
    border-radius:12px!important;
    font-size:14px!important;
    font-weight:900!important;
    justify-content:flex-start!important;
  }
}

@media (max-width:390px){
  .v1186-compact-tools{
    grid-template-columns:minmax(0,1fr) 90px!important;
  }
  .v1186-compact-tools #v1179Date{
    width:90px!important;
    font-size:8.5px!important;
  }
  .v1186-actions-cell .v56-primary{
    min-width:70px!important;
    max-width:78px!important;
    font-size:9.5px!important;
    padding:6px!important;
  }
  .v1186-actions-cell .v56-options summary{
    width:29px!important;
    min-width:29px!important;
  }
}

/* V12.91 TRUE EOF - menu proche du bouton + recherche compacte moins large */
@media (max-width:1000px){
  .v1186-actions-cell{
    position:relative!important;
    z-index:9000!important;
    isolation:isolate!important;
  }
  .v1186-actions-cell .v56-options{
    position:relative!important;
    z-index:9100!important;
  }
  .v1186-actions-cell details[open]{
    z-index:9200!important;
  }
  .v1186-actions-cell details[open] .v56-menu{
    position:fixed!important;
    left:var(--v1186-menu-left,8px)!important;
    top:var(--v1186-menu-top,80px)!important;
    right:auto!important;
    bottom:auto!important;
    width:var(--v1186-menu-width,210px)!important;
    min-width:190px!important;
    max-width:calc(100vw - 16px)!important;
    display:flex!important;
    flex-direction:column!important;
    gap:6px!important;
    padding:8px!important;
    border-radius:14px!important;
    background:#fff!important;
    border:1px solid #cbd5e1!important;
    box-shadow:0 16px 38px rgba(15,23,42,.30)!important;
    z-index:2147483600!important;
  }
  .v1186-compact-tools{
    grid-template-columns:minmax(120px,180px) 90px!important;
    justify-content:start!important;
    width:auto!important;
    max-width:278px!important;
  }
  .v1186-compact-search,
  .field.grow.smart-search.v11-search.v1186-compact-search{
    width:180px!important;
    max-width:180px!important;
    height:24px!important;
    min-height:24px!important;
  }
  .v1186-compact-search .search-wrap{
    height:22px!important;
    min-height:22px!important;
    padding:0 3px!important;
  }
  .v1186-compact-search input{
    height:20px!important;
    min-height:20px!important;
    font-size:9px!important;
  }
  .v1186-compact-search .clear-search{
    width:16px!important;
    min-width:16px!important;
    height:16px!important;
    min-height:16px!important;
    font-size:8px!important;
  }
  .v1186-compact-tools #v1179Date{
    width:90px!important;
    height:24px!important;
    min-height:24px!important;
    font-size:8px!important;
    padding:1px 3px!important;
  }
}

@media (max-width:390px){
  .v1186-compact-tools{
    grid-template-columns:minmax(104px,150px) 84px!important;
    max-width:238px!important;
  }
  .v1186-compact-search,
  .field.grow.smart-search.v11-search.v1186-compact-search{
    width:150px!important;
    max-width:150px!important;
  }
  .v1186-compact-tools #v1179Date{
    width:84px!important;
  }
}

/* V13.08 - Parametres Application propres */
.app-assets-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.app-asset-card{border:1px solid var(--line);border-radius:16px;background:#fff;padding:12px;display:flex;flex-direction:column;gap:10px;min-width:0}
.app-asset-preview{height:112px;border:1px dashed #cbd5e1;border-radius:14px;background:linear-gradient(135deg,#f8fafc,#eef2ff);display:grid;place-items:center;overflow:hidden;padding:12px}
.app-asset-img,.app-brand-img,.app-login-img{max-width:100%;max-height:88px;width:auto;height:auto;object-fit:contain;display:block}
.app-asset-empty{color:#64748b;font-size:12px;font-weight:800;text-align:center;padding:10px}
.app-asset-body{display:flex;flex-direction:column;gap:8px;min-width:0}
.app-asset-body b{font-size:14px;color:#0f172a}
.app-asset-body small{font-size:11px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.app-asset-actions{align-items:center;margin:0;gap:8px}
.app-asset-actions input[type=file]{font-size:12px;padding:8px;min-width:0}
.brand .logo img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.login .bigicon.rpi-logo,.login .bigicon{overflow:hidden}
@media(max-width:900px){.app-assets-grid{grid-template-columns:1fr}.app-asset-preview{height:96px}}
