.admin-shell{max-width:1150px;margin:auto;padding:35px 5% 70px}.admin-shell h1{font-size:3rem;margin-bottom:15px}.admin-shell h2{font-size:2.5rem}.admin-shell h3{font-size:1.5rem}.admin-nav{display:flex;flex-wrap:wrap;gap:8px;margin:30px 0}.admin-nav a{padding:11px 16px;border:1px solid var(--line);text-decoration:none;background:white;font-size:1rem}.admin-nav a[aria-current]{background:var(--olive);color:white}.admin-panel{padding:30px;background:white;border:1px solid var(--line)}.admin-panel label,.login-box label{display:block;font-size:1rem;margin:12px 0}.admin-panel input:not([type=checkbox]),.admin-panel textarea,.admin-panel select,.login-box input{display:block;width:100%;min-width:0;min-height:45px;padding:10px;border:1px solid var(--muted);color:var(--ink);background:white;font:inherit}.admin-panel textarea{min-height:90px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.admin-grid.wide{grid-template-columns:1.4fr 1fr}.admin-panel .button,.admin-panel .plain-button{margin:8px 8px 8px 0}.login-box{max-width:470px;margin:35px auto;padding:30px;background:white;border:1px solid var(--line)}.save-bar{position:sticky;bottom:0;background:#fff;padding:12px 0;border-top:1px solid var(--line);z-index:3;display:flex;align-items:center;gap:15px;flex-wrap:wrap}.admin-picture{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--line)}.admin-picture img{width:100%;height:150px;object-fit:cover}.table-editor{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}.table-editor label{margin:5px 0}.admin-panel .table-plan{grid-template-columns:repeat(3,1fr);margin:20px 0}.admin-note{font-size:1rem;background:var(--cream);padding:15px}.booking-card{border:1px solid var(--line);padding:20px;margin:15px 0}.booking-card p{margin:8px 0;font-size:1rem}.status-pill{display:inline-block;font-size:1rem;padding:4px 10px;border-radius:15px;background:var(--cream)}.status-pill.confirmed{background:var(--olive);color:white}.booking-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.booking-actions a{font-size:1rem}.mail-card{padding:16px;border-bottom:1px solid var(--line);font-size:1rem}.mail-card pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit}.mail-card p{margin:5px 0}.event-thumb{width:100%;max-height:320px;object-fit:cover}.admin-header-tools{display:flex;gap:15px;align-items:center}.admin-header-tools button{margin:0}.status-message{font-size:1rem;margin:10px 0;color:var(--ink)}.honey{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}.mobile-actions~.honey{display:none}body.management{padding-bottom:0}
@media(max-width:700px){.admin-grid,.admin-grid.wide{grid-template-columns:1fr}.admin-panel{padding:22px 16px}.admin-shell h1{font-size:2.6rem}.admin-shell h2{font-size:2rem}.admin-nav{gap:5px}.admin-nav a{padding:9px 12px;font-size:1rem}.management-header{flex-wrap:wrap}.admin-header-tools{gap:10px}.admin-panel .table-plan{grid-template-columns:repeat(2,1fr)}.table-editor{grid-template-columns:1fr 70px 45px}.table-editor button{padding:10px!important}}
/* Administration : espacement propre, prioritaire sur les anciennes sections du site. */
.management main#admin-app{max-width:1280px;padding:32px clamp(16px,4vw,48px) 70px}
.management .admin-shell{max-width:none;padding:0}
.management .admin-shell h1{font-size:clamp(2.5rem,4vw,3.5rem)}
.management .admin-shell h2{font-size:clamp(2rem,3vw,2.6rem);margin:0 0 20px}
.management .admin-shell h3{font-size:1.65rem;margin:30px 0 18px}
.management .admin-shell h4{font-size:1.1rem;margin:0 0 18px}
.management .admin-shell .admin-panel{padding:clamp(24px,4vw,48px);border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 30px #44433006}
.management .admin-panel>p{margin-bottom:28px;max-width:75ch}
.management .admin-panel label{margin:0 0 20px;line-height:1.5}
.management .admin-panel label:has(input[type=checkbox]){display:flex;align-items:center;gap:10px;margin:18px 0}
.management .admin-panel input[type=checkbox]{flex-shrink:0;width:17px;height:17px}
.management .admin-grid{gap:10px 24px}
.management .table-editor{padding:16px 20px;background:#f9f8f2;border:1px solid var(--line);border-radius:8px;margin-bottom:12px;gap:20px}
.management .table-editor label{margin:0}
.management .table-editor button{margin:0;align-self:end}
.management .admin-nav{gap:10px;margin:28px 0}
.management .admin-nav a{border-radius:6px}
.management .closure-section{border-top:1px solid var(--line);margin-top:32px;padding-top:8px}
.closure-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;margin-bottom:24px;align-items:start}
.closure-month{padding:20px;border:1px solid var(--line);border-radius:10px;background:#f9f8f2}
.calendar-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px;text-transform:capitalize}
.calendar-heading button{border:1px solid var(--line);background:white;width:40px;height:40px;border-radius:6px}
.calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;text-align:center}
.calendar-week{font-size:1rem;margin-bottom:10px;color:var(--muted)}
.calendar-days button{position:relative;aspect-ratio:1;min-height:38px;border:1px solid transparent;border-radius:6px;background:white;color:var(--ink);font:inherit;font-size:1rem;cursor:pointer}
.calendar-days button span{display:block;font-size:1rem;position:absolute;bottom:1px;left:0;right:0}
.calendar-days button.has-closure{background:var(--cream);border-color:var(--line)}
.calendar-days button[aria-pressed=true]{background:var(--olive);color:white;outline:2px solid var(--olive);outline-offset:2px}
.calendar-days button:hover{border-color:var(--olive)}
.calendar-legend{font-size:1rem;margin:16px 0 0}
.closure-choice .small{display:inline;font-size:1rem}
.closure-feedback{font-size:1rem}
.closure-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 0;border-top:1px solid var(--line)}
.closure-row span{display:block;font-size:1rem;margin-top:4px}
.closure-row strong{font-size:1rem}
.closure-list{max-height:420px;overflow:auto;padding-right:8px}
@media(max-width:750px){.closure-layout{grid-template-columns:1fr;gap:24px}.management .admin-shell .admin-panel{padding:24px 18px}.management .table-editor{padding:12px;gap:10px;grid-template-columns:minmax(0,1fr) 70px 44px}.closure-row{gap:10px}.management .admin-panel .table-editor button{padding:8px}.closure-month{max-width:420px;width:100%}.management .admin-grid{grid-template-columns:1fr}}
/* Un seul cadre pour toutes les rubriques ; largeur stable même sans barre de défilement. */
html:has(body.management){scrollbar-gutter:stable}
.management .admin-panel{scroll-margin-top:24px}
.content-editor fieldset{border:1px solid var(--line);padding:24px;margin:20px 0;border-radius:8px}
.content-editor legend{padding:0 10px;font-size:1rem}
.content-editor .row{display:grid;grid-template-columns:2fr 1fr;gap:20px}
.content-editor .item{padding:18px 0;border-bottom:1px solid var(--line)}
.content-editor details{margin:14px 0}
.content-editor summary{padding:14px 0;cursor:pointer;font-size:1.1rem}
.content-editor #message{background:var(--cream);padding:12px}
.planner-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:12px}
.planner-toolbar>div{display:flex;align-items:center;gap:20px;text-transform:capitalize}
.planner-toolbar strong{font-size:1.2rem}
.planner-key{font-size:1rem;color:var(--muted);max-width:80ch;margin-bottom:20px}
.planner-scroll{overflow-x:auto;padding:4px 3px}
.planner-week,.planner-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;min-width:720px}
.planner-week{font-size:1rem;color:var(--muted);text-align:center;margin-bottom:10px}
.planner-day{display:flex;flex-direction:column;text-align:left;gap:7px;padding:10px;min-height:115px;border:1px solid var(--line);background:#fcfbf6;border-radius:8px;font:inherit;color:var(--ink);cursor:pointer}
.planner-day[aria-pressed=true]{outline:2px solid var(--olive);outline-offset:1px;background:#eeebd9}
.planner-day:hover{border-color:var(--olive);box-shadow:0 4px 10px #44433010}
.planner-number{display:flex;align-items:center;justify-content:space-between;gap:5px;font-weight:600;font-size:1rem}
.planner-number small{font-size:1rem;font-weight:400}
.planner-day.today .planner-number{color:#876236}
.planner-occupancy{position:relative;display:flex;justify-content:space-between;gap:5px;font-size:1rem;background:white;padding:5px 6px;border-radius:4px;overflow:hidden}
.planner-occupancy>span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.planner-occupancy strong{white-space:nowrap}
.planner-occupancy i{position:absolute;bottom:0;left:0;height:3px;width:var(--fill);background:#9a9566}
.planner-occupancy.full i{background:#b77752}
.planner-occupancy.full{background:#f3e7dc}
.planner-occupancy.closed,.planner-day-closed{color:#918f81;font-size:1rem}
.planner-pending{font-size:1rem;color:#936b32;margin-top:auto}
.planner-detail{margin-top:32px;padding-top:30px;border-top:1px solid var(--line);scroll-margin-top:25px}
.planner-detail-title{display:flex;justify-content:space-between;gap:20px;align-items:center}
.planner-detail-title .eyebrow{font-size:1rem;margin-bottom:8px}
.management .planner-detail-title h3{margin:0;font-size:1.8rem;text-transform:capitalize}
.planner-detail-title>span{font-size:1rem}
.planner-service-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}
.planner-service-tabs button{border:1px solid var(--line);background:white;color:var(--ink);padding:10px 14px;border-radius:25px;font:inherit;font-size:1rem}
.planner-service-tabs button[aria-pressed=true]{background:var(--olive);color:white}
.planner-service{background:#f9f8f2;padding:20px;border-radius:10px;margin-bottom:20px;border:1px solid var(--line)}
.planner-service-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;flex-wrap:wrap}
.management .planner-service-heading h4{margin:0;font-size:1.2rem}
.planner-service-heading small{font-size:1rem;font-weight:400;margin-left:8px}
.planner-service-heading>span{font-size:1rem}
.timeline-scale,.timeline-row{display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px;align-items:center;margin:8px 0}
.timeline-scale{font-size:1rem;color:var(--muted)}
.timeline-scale>div{display:flex;justify-content:space-between}
.timeline-row>button{border:1px solid var(--line);background:white;border-radius:6px;font:inherit;padding:7px;color:var(--ink);text-align:left}
.timeline-row>button small{display:block;font-size:1rem;color:var(--muted)}
.timeline-row>button[aria-pressed=true]{outline:2px solid var(--olive)}
.timeline-track{height:46px;position:relative;background:#e9e7db;border-radius:6px;background-image:linear-gradient(90deg,transparent 49.8%,#fff8 50%,transparent 50.2%)}
.timeline-booking{position:absolute;top:4px;height:38px;min-width:0;border:1px solid #fff8;border-radius:5px;background:var(--olive);color:white;font:inherit;font-size:1rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:0 8px;cursor:pointer}
.timeline-booking.pending{background:#c8b77e;color:#413a24}
.planner-filter{font-size:1rem}
.planner-filter button{background:none;border:0;text-decoration:underline;font:inherit;color:var(--ink)}
.service-editor{border:1px solid var(--line);border-radius:8px;padding:20px;margin:18px 0;background:#f9f8f2}
.service-editor legend{padding:0 8px;font-size:1rem}
.service-days{display:flex;flex-wrap:wrap;gap:14px}
.management .service-days label{margin:0!important;gap:6px!important;font-size:1rem}
@media(max-width:750px){.planner-toolbar{gap:8px}.planner-toolbar>div{gap:8px}.planner-toolbar strong{font-size:1rem}.planner-detail-title{display:block}.planner-detail-title>span{display:block;margin-top:10px}.planner-service{padding:14px}.timeline-scale,.timeline-row{grid-template-columns:60px minmax(0,1fr);gap:8px}.timeline-booking{font-size:1rem;padding:0 3px}.content-editor .row{grid-template-columns:1fr}.planner-number small{display:none}}
/* Édition compacte : une rubrique à la fois et créneaux sélectionnables. */
.management #edition .content-editor{max-width:930px;margin:0 auto}
.management #edition .content-editor h3{margin:20px 0 10px;font-size:1.5rem}
.management #edition .content-editor h2{font-size:1.7rem;margin:20px 0 12px}
.editor-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 20px;border-bottom:1px solid var(--line);padding-bottom:14px}
.editor-tabs button{border:1px solid var(--line);border-radius:6px;padding:9px 14px;background:#f9f8f2;color:var(--ink);font:inherit;font-size:1rem;cursor:pointer}
.editor-tabs button[aria-pressed=true]{background:var(--olive);color:white;border-color:var(--olive)}
.weekly-hours{border:1px solid var(--line);border-radius:8px;overflow:hidden;margin:18px 0}
.hours-head,.hours-day{display:grid;grid-template-columns:95px minmax(0,1fr) minmax(0,1fr);gap:14px;padding:10px 16px}
.hours-head{background:var(--cream);font-size:1rem;font-weight:600}
.hours-day{align-items:start;border-top:1px solid var(--line);background:#fff}
.hours-day:nth-child(odd){background:#faf9f4}
.hours-day>strong{font-size:1rem;padding-top:8px}
.hours-slots{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.hours-slot{display:grid;grid-template-columns:72px 12px 72px 26px;gap:6px;align-items:center}
.hours-slot-label{display:none}
.management .hours-slot select{margin:0;min-height:32px;height:32px;padding:4px;font-size:1rem;width:100%}
.hours-slot>span:not(.hours-slot-label){text-align:center;font-size:1rem}
.management .hours-slot .hours-remove{border:1px solid var(--line);padding:0;margin:0;width:26px;height:30px;background:transparent;border-radius:4px;font-size:1rem;color:var(--ink)}
.management .hours-add{padding:0;border:0;margin:0;background:none;color:var(--olive);font-size:1rem;text-decoration:underline;text-underline-offset:3px;cursor:pointer;min-height:22px}
.hours-closed{font-size:1rem;color:var(--muted);padding-top:6px}
.hours-mobile-heading{display:none}
.management .content-editor .hours-note{margin:8px 0}
.management .content-editor .hours-note summary{font-size:1rem;padding:8px 0}
.management .content-editor .save-bar{padding:8px 0;margin-top:16px}
.management .content-editor .save-bar .button{margin:4px 8px 4px 0}
@media(max-width:900px){.hours-head,.hours-day{grid-template-columns:80px minmax(0,1fr) minmax(0,1fr);gap:10px;padding:10px}.hours-slot{grid-template-columns:66px 10px 66px 24px;gap:3px}}
@media(max-width:700px){.hours-head{display:none}.hours-day{grid-template-columns:1fr;gap:8px;padding:14px}.hours-day>strong{padding-top:0;font-size:1rem}.hours-day>div{display:grid;grid-template-columns:80px minmax(0,1fr);gap:8px;align-items:start}.hours-mobile-heading{display:block;font-size:1rem;padding-top:8px}.hours-slot{grid-template-columns:68px 10px 68px 24px;gap:3px}.editor-tabs button{padding:8px 10px;font-size:1rem}}
@media(min-width:701px){.hours-slots{position:relative;padding-right:58px;min-height:34px;width:100%}.management .hours-add{position:absolute;right:0;top:5px;font-size:1rem;min-height:24px}.management .hours-slot .hours-remove{min-height:30px}.hours-closed{padding-top:8px}.hours-day{padding-top:8px;padding-bottom:8px}}

.reservation-management #record{max-width:720px;padding:24px;background:white;border:1px solid var(--line)}.reservation-management label{display:block;font-size:1rem}.reservation-management input,.reservation-management select{display:block;width:100%;margin:8px 0 18px;padding:12px;border:1px solid var(--line);background:white;font:inherit;color:var(--ink)}

/* Claudia: readable controls and supporting text, without changing the site's typography. */
body.management{font-size:18px;line-height:1.6;--muted:#686753}
.management .admin-panel p,.management .admin-panel label,.management .admin-panel input,.management .admin-panel select,.management .admin-panel textarea,.management .login-box label,.management .login-box input{font-size:1.0625rem}
.management .admin-nav a,.management .button,.management .plain-button,.management .editor-tabs button,.management .admin-header-tools a{font-size:1rem}
.management .small,.management small,.management .eyebrow,.management .admin-note,.management .status-pill,.management .mail-card{font-size:1rem}
.management .planner-day{min-height:145px}.management .planner-occupancy{gap:4px;padding:6px 4px;line-height:1.4}.management .planner-week{font-size:1rem}
.management .timeline-track{height:52px}.management .timeline-booking{height:44px;font-size:1rem}
.management .hours-slot{grid-template-columns:84px 12px 84px 30px;gap:6px}
.management .hours-slot select{font-size:1rem;height:40px;min-height:40px;padding:5px}
.management .hours-slot .hours-remove{width:30px;height:40px;min-height:40px}
.management .hours-slots{padding-right:94px;min-height:40px}.management .hours-add{font-size:1rem;min-height:32px}
.management .hours-day>strong{font-size:1rem}.management .hours-head{font-size:1rem}
.management .hours-day{padding-top:10px;padding-bottom:10px}
@media(max-width:1100px){.management .hours-slots{padding-right:0}.management .hours-add{position:static;align-self:flex-start;margin-top:3px}}
@media(max-width:750px){.management .planner-grid,.management .planner-week{min-width:700px}.management #reservation-planner{overflow-x:auto}.management .hours-day>div{grid-template-columns:70px minmax(0,1fr)}.management .hours-slot{grid-template-columns:78px 10px 78px 30px;gap:4px}}

.management .admin-nav{gap:8px}.management .admin-nav a{padding:11px 12px}
@media(max-width:700px){.management .hours-day>div{display:block}.management .hours-mobile-heading{margin-bottom:6px;padding-top:0}.management .hours-slot{grid-template-columns:76px 10px 76px 30px;gap:4px}.management .planner-service-heading{flex-wrap:wrap;gap:8px}.management .planner-service-heading h4{white-space:nowrap;flex-shrink:0}}
.management .planner-service-heading{flex-wrap:wrap;gap:8px}.management .planner-service-heading h4{white-space:nowrap;flex-shrink:0}

.menu-editor-section{margin-block:16px;padding:16px 20px}.menu-editor-section>summary{cursor:pointer;font-weight:600}.menu-editor-section>summary .small{font-weight:400}.section-settings{margin:20px 0;padding-bottom:18px;border-bottom:1px solid var(--line,#d4cda2)}.section-actions{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}.section-actions button{width:auto}.menu-editor-section .item{margin-block:18px}

.booking-online-control{display:flex;flex-wrap:wrap;align-items:center;gap:18px 28px;padding:22px 26px;margin:24px 0;border:1px solid #d4cda2;background:#fff}.booking-online-control>div{flex:1;min-width:230px}.booking-online-control strong{font-size:1.15rem}.booking-online-control p{margin:8px 0 0}.booking-online-control>p{flex-basis:100%;margin:0}.booking-online-control .button{white-space:normal}
