:root{
  color-scheme:dark;
  font-family:Montserrat,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:#081827;
  color:#f6fbff;
}

*{box-sizing:border-box}
body{margin:0;background:linear-gradient(160deg,#0d2941,#174d70 55%,#237ca4);min-height:100vh}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
[hidden]{display:none!important}

.admin-shell{width:min(760px,100%);margin:auto;padding:calc(20px + env(safe-area-inset-top)) 16px calc(32px + env(safe-area-inset-bottom))}
.admin-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px;padding-right:62px}
.admin-heading{min-width:0;flex:1}
.admin-title-row{display:flex;align-items:center;gap:12px}
.admin-header h1{font-size:34px;margin:0 0 4px;white-space:nowrap}
.admin-header p{margin:0;color:#c9dfed;line-height:1.45}
.environment{display:inline-block;background:#ffb23f;color:#1d2730;font-size:11px;font-weight:800;letter-spacing:.08em;border-radius:999px;padding:6px 10px}

.panel{margin:16px 0;padding:18px;border:1px solid #ffffff30;border-radius:24px;background:#102d45d9;box-shadow:0 18px 48px #00101f4d;backdrop-filter:blur(18px)}
.panel h2{font-size:19px;margin:0 0 16px}
.panel-title{font-size:19px;font-weight:850;color:#f6fbff}
.collapsible-panel>summary,.technical-fallback summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-2px 0 14px;cursor:pointer;list-style:none}
.collapsible-panel>summary::-webkit-details-marker,.technical-fallback summary::-webkit-details-marker{display:none}
.collapsible-panel>summary::after,.technical-fallback summary::after{content:"⌄";flex:0 0 auto;color:#b9d6e6;font-size:20px;font-weight:900;line-height:1;transition:transform .18s ease}
.collapsible-panel[open]>summary::after,.technical-fallback[open] summary::after{transform:rotate(180deg)}
.collapsible-panel:not([open]),.technical-fallback:not([open]){background:#071b2b66}
.collapsible-panel:not([open])>*:not(summary),.technical-fallback:not([open])>*:not(summary){display:none}
.collapsible-panel>summary button{position:relative;z-index:2}
.technical-fallback summary{font-size:15px;font-weight:850;color:#b9d6e6}
.technical-fallback summary::after{font-size:17px}
.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.panel-heading h2{margin:0}
label{display:block;margin:13px 0 6px;color:#d8e9f4;font-size:13px;font-weight:700}
input,textarea,select{width:100%;margin-top:7px;border:1px solid #ffffff30;border-radius:14px;padding:13px;color:#fff;background:#061827;outline:none;font-size:16px}
input:focus,textarea:focus,select:focus{border-color:#70c7f5;box-shadow:0 0 0 3px #70c7f529}
textarea{resize:vertical;line-height:1.5}
.format-toolbar{display:flex;gap:7px;margin-top:8px}
.format-toolbar button{width:auto;min-width:42px;padding:8px 11px;border:1px solid #ffffff30;border-radius:10px;background:#ffffff12;color:#fff;font-size:13px}

button{width:100%;border:0;border-radius:14px;padding:13px 16px;background:#ffb23f;color:#172430;font-weight:800}
button.secondary{width:auto;padding:9px 12px;border:1px solid #ffffff30;background:#ffffff12;color:#fff;font-size:12px}
.forget-button{margin-top:10px}
.push-settings-button.is-on{background:#63d492;color:#092719}
.push-settings-button.is-error{background:#d05a5a;color:#fff}
.switches{display:grid;gap:2px;margin:15px 0}
.single-option{margin-bottom:10px}
.check{display:flex;align-items:center;gap:10px;margin:4px 0;padding:10px 12px;border-radius:14px;background:#ffffff0d}
.check input[type="checkbox"]{
  appearance:none;
  -webkit-appearance:none;
  display:grid;
  place-content:center;
  flex:0 0 24px;
  width:24px;
  height:24px;
  margin:0;
  padding:0;
  border:2px solid #d8e9f4;
  border-radius:7px;
  background:#061827;
  box-shadow:none;
}
.check input[type="checkbox"]::before{
  content:"";
  width:11px;
  height:6px;
  border-left:3px solid #172430;
  border-bottom:3px solid #172430;
  transform:rotate(-45deg) scale(0);
  transform-origin:center;
}
.check input[type="checkbox"]:checked{border-color:#ffb23f;background:#ffb23f}
.check input[type="checkbox"]:checked::before{transform:rotate(-45deg) scale(1)}
.check input[type="checkbox"]:focus-visible{box-shadow:0 0 0 3px #70c7f54d}
.safety-note{color:#ffd99d;font-size:12px;line-height:1.5}
.form-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.form-actions .send{background:#63d492;color:#092719}
.form-actions .schedule{grid-column:1/-1;background:#70c7f5;color:#061827}
.schedule-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin:8px 0 10px;padding:10px;border:1px solid #ffffff1f;border-radius:14px;background:#ffffff0a;overflow:hidden}
.schedule-fields label{min-width:0}
.schedule-fields input{display:block;width:100%;max-width:100%;min-width:0;-webkit-appearance:none;appearance:none}
.action-help{margin:10px 2px 0;color:#b9d6e6;font-size:11px;line-height:1.45}
.status{min-height:18px;margin:10px 2px 0;color:#b9ddf2;font-size:12px}
.status.error{color:#ffaaa7}
.status.success{color:#a9efc2}

.alerts-list{display:grid;gap:12px}
.alerts-scroll{max-height:min(62vh,720px);overflow-y:auto;padding-right:5px;overscroll-behavior:contain;scrollbar-gutter:stable}
.alert-item{padding:15px;border:1px solid #ffffff24;border-radius:18px;background:#071b2b80}
.alert-top{display:flex;justify-content:space-between;gap:12px}
.alert-item h3{margin:0 0 5px;font-size:16px}
.alert-meta{margin:0;color:#a9cadc;font-size:11px}
.alert-message{margin:12px 0;color:#e5f2f9;font-size:13px;line-height:1.5;white-space:pre-wrap}
.badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.badge{padding:4px 7px;border-radius:999px;background:#ffffff14;color:#d9ecf6;font-size:10px;font-weight:800}
.badge.active{background:#2bb76c2e;color:#a9efc2}
.badge.inactive{background:#d05a5a2e;color:#ffc0bd}
.alert-actions{display:flex;gap:8px}
.alert-item button{width:auto;padding:8px 12px;font-size:12px}
.alert-item button.danger{border:1px solid #ffaaa766;background:#d05a5a2e;color:#ffc0bd}
.empty{color:#b5cedd;text-align:center;padding:16px}
.section-help{margin:-7px 0 14px;color:#b9d6e6;font-size:12px;line-height:1.45}
.spaces-overview .panel-heading{margin-bottom:12px}
.spaces-overview .section-help{margin:0 0 14px}
.space-pills{display:grid;gap:12px}
.space-pill{padding:14px;border:1px solid #ffffff24;border-radius:20px;background:#071b2b80}
.space-pill-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.space-summary{display:grid;gap:4px;min-width:0}
.space-summary strong{font-size:16px}
.space-summary span{color:#b9d6e6;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.space-chevron{flex:0 0 42px;width:42px;height:42px;padding:0;border:1px solid #ffffff30;border-radius:50%;background:#ffffff12;color:#fff;font-size:28px;line-height:1}
.quick-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:12px}
.quick-actions button,.quick-toggle button{padding:8px 6px;border:1px solid #ffffff24;background:#ffffff0d;color:#d9ecf6;font-size:10px}
.quick-actions button.selected,.quick-toggle button.selected{border-color:#ffb23f;background:#ffb23f;color:#172430}
.quick-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.quick-toggle{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:5px;padding:7px 8px;border-radius:12px;background:#ffffff08}
.quick-toggle span{font-size:10px;font-weight:800;color:#c9dfed}
.quick-toggle button{width:auto;padding:6px 7px}
.quick-toggle button:disabled{opacity:.35;cursor:not-allowed}
body.space-editor-open{overflow:hidden}
.space-editor-overlay{position:fixed;z-index:1100;inset:0;display:grid;align-items:center;padding:calc(16px + env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom));background:#020914c7;backdrop-filter:blur(7px)}
.space-editor-sheet{width:min(700px,100%);max-height:min(88dvh,850px);margin:auto;overflow-y:auto;overscroll-behavior:contain;border:1px solid #ffffff38;border-radius:28px;background:#0d2b43;box-shadow:0 28px 80px #000b}
.space-editor-sheet .panel{margin:0;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none}
.space-editor-sheet .panel+.panel{border-top:1px solid #ffffff24}
.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.three-columns{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.schedule-grid{display:grid;gap:8px;margin-bottom:14px}
.schedule-row{display:grid;grid-template-columns:minmax(84px,1fr) 105px 105px;align-items:center;gap:8px;padding:9px;border-radius:14px;background:#071b2b80}
.schedule-row strong{font-size:12px;color:#d8e9f4}
.schedule-row input{margin:0;padding:10px 7px;text-align:center}
.exceptions-list{display:grid;gap:10px}
.exception-item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:13px;border:1px solid #ffffff24;border-radius:16px;background:#071b2b80}
.exception-item p{margin:5px 0 0;color:#d8e9f4;font-size:12px;line-height:1.4;white-space:pre-wrap}
button.danger{border:1px solid #ffaaa766;background:#d05a5a2e;color:#ffc0bd}
button.compact{width:auto;padding:8px 10px;font-size:11px}
.program-tabs{display:flex;gap:8px;margin:12px 0;overflow-x:auto;padding-bottom:2px}
.program-tabs button{flex:1 0 auto;width:auto;min-width:105px;border:1px solid #ffffff24;background:#ffffff0d;color:#d9ecf6}
.program-tabs button.selected{border-color:#70c7f5;background:#70c7f526;color:#fff}
.hour-program-bulk{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr)) auto;gap:8px;align-items:end;margin:8px 0 10px;padding:10px;border:1px solid #ffffff1f;border-radius:16px;background:#ffffff0a}
.hour-program-bulk label{margin:0}
.hour-program-bulk button{width:auto;white-space:normal}
.hour-program-grid{display:grid;gap:12px;margin:10px 0 14px}
.hour-program-target{min-width:0;padding:12px;border:1px solid #ffffff22;border-radius:16px;background:#071b2b66;overflow-x:auto}
.hour-program-target h3{margin:0 0 10px;font-size:15px}
.hour-program-row{display:grid;grid-template-columns:34px 90px 130px 104px 104px minmax(170px,1fr);gap:7px;align-items:center;min-width:640px;padding:7px 0;border-top:1px solid #ffffff12}
.hour-program-row.is-general{grid-template-columns:34px 90px minmax(0,1fr) minmax(0,1fr);min-width:0;max-width:470px}
.hour-program-row.is-work{grid-template-columns:34px 90px minmax(0,1fr) minmax(0,1fr);min-width:0;max-width:470px}
.hour-program-row.is-paddocks{grid-template-columns:34px 84px minmax(104px,130px) minmax(0,104px) minmax(0,104px);min-width:0;max-width:620px}
.hour-program-row:first-of-type{border-top:0}
.hour-program-row strong{font-size:11px;color:#d8e9f4}
.hour-program-row input,.hour-program-row select{margin:0;padding:8px 9px;font-size:13px}
.program-day-check{display:grid;place-items:center;margin:0}
.program-day-check input{width:24px;height:24px;padding:0}
.program-inline-options{display:grid;grid-template-columns:1fr 1fr;gap:7px;grid-column:1/-1;margin-left:90px}
.program-inline-options label{display:grid;grid-template-columns:auto 94px;align-items:center;gap:8px;margin:0;color:#b9d6e6}
.hour-program-list{display:grid;gap:8px}
.hour-program-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px;border:1px solid #ffffff24;border-radius:14px;background:#071b2b80}
.hour-program-item strong{font-size:14px}
.hour-program-item p{margin:4px 0 0;color:#b9d6e6;font-size:11px}
.activity-program-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:10px 0 14px}
.activity-program-target{display:grid;gap:10px}
.activity-program-target h3{margin-bottom:0}
.activity-program-group{display:grid;gap:6px;padding:10px;border:1px solid #ffffff18;border-radius:14px;background:#ffffff08}
.activity-program-group h4{margin:0 0 2px;color:#70c7f5;font-size:13px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.activity-program-row{display:grid;grid-template-columns:82px 1fr 76px 94px 94px;gap:7px;align-items:center;padding:7px 8px;border:1px solid #ffffff12;border-radius:11px;background:#06182780}
.activity-program-row strong,.activity-program-row span{font-size:11px;color:#d8e9f4}
.activity-program-row span{font-weight:750;color:#b9d6e6}
.activity-program-row input,.activity-program-row select{margin:0;padding:8px 9px;font-size:13px}

@media(max-width:520px){
  .admin-header{display:block;padding-right:58px}
  .admin-title-row{justify-content:space-between;gap:8px}
  .admin-header h1{font-size:28px}
  .environment{flex:0 0 auto;padding:4px 7px;font-size:8px;letter-spacing:.04em;white-space:nowrap}
  .space-editor-overlay{align-items:end;padding:calc(10px + env(safe-area-inset-top)) 0 0}
  .space-editor-sheet{width:100%;max-height:92dvh;margin:0;border-radius:26px 26px 0 0;border-bottom:0;padding-bottom:env(safe-area-inset-bottom)}
  .quick-options{grid-template-columns:1fr}
  .schedule-row{grid-template-columns:82px 1fr 1fr}
  .program-tabs button{min-width:94px}
  .hour-program-bulk{grid-template-columns:1fr 1fr;gap:8px}
  .hour-program-bulk button{grid-column:1/-1;width:100%}
  .hour-program-target{padding:10px}
  .hour-program-row{min-width:0;grid-template-columns:30px 70px 1fr 1fr}
  .hour-program-row.is-general{grid-template-columns:30px 70px 1fr 1fr;min-width:0;max-width:none}
  .hour-program-row.is-work{grid-template-columns:30px 70px 1fr 1fr;min-width:0;max-width:none}
  .hour-program-row.is-paddocks{grid-template-columns:30px 70px 1fr 1fr;min-width:0;max-width:none}
  .hour-program-row.is-paddocks select{grid-column:3/-1}
  .hour-program-row.is-paddocks input[data-field="opensAt"]{grid-column:3}
  .hour-program-row.is-paddocks input[data-field="closesAt"]{grid-column:4}
  .program-inline-options{margin-left:78px}
  .hour-program-item{align-items:flex-start;flex-direction:column}
  .activity-program-grid{grid-template-columns:1fr}
  .activity-program-row{grid-template-columns:70px 1fr 72px;gap:6px}
  .activity-program-row input{grid-column:span 1}
  .activity-program-row input[data-field="startsAt"]{grid-column:1/3}
  .activity-program-row input[data-field="endsAt"]{grid-column:3}
  .three-columns{grid-template-columns:1fr}
}

/* Pilote UX 2026-07-28 : administration compacte, logique inchangée. */
.admin-shell{width:min(900px,100%);padding-top:calc(18px + env(safe-area-inset-top))}
.admin-header{align-items:flex-start;margin-bottom:8px;padding-right:62px}
.admin-heading h1{margin:0;font-size:clamp(30px,5vw,42px);line-height:1.05}
.admin-header> .environment{flex:0 0 auto;margin-top:0}
.admin-eyebrow{margin:0 0 4px!important;color:#9fb3c4!important;font-size:11px!important;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.admin-header p#adminPageSubtitle{margin-top:5px;font-size:12px;line-height:1.35}
.environment{padding:5px 8px;font-size:9px}
.panel{margin:10px 0;padding:14px;border-radius:16px;box-shadow:0 10px 28px #00101f40}
.panel h2{margin-bottom:9px;font-size:17px}
.panel-title{font-size:17px}
.collapsible-panel>summary,.technical-fallback summary{margin:0 0 10px}
.panel-heading{align-items:flex-start}
.panel-heading h2{margin:0}
label{margin:9px 0 4px;font-size:11px}
input,textarea,select{margin-top:4px;padding:10px 11px;border-radius:10px;font-size:14px}
button{min-height:42px;padding:9px 12px;border-radius:10px}
button.secondary{padding:7px 10px;font-size:11px}
.section-help{margin:-3px 0 9px;font-size:11px;line-height:1.35}
.format-toolbar{margin-top:5px}
.format-toolbar button{min-height:36px;padding:6px 9px}
.switches{margin:9px 0}
.check{padding:8px 10px;border-radius:10px}
.form-actions{gap:6px}
.schedule-fields{gap:7px;margin:6px 0 8px;padding:8px;border-radius:11px}
.action-help{margin-top:7px}
.status{min-height:16px;margin-top:6px}
.alerts-list{gap:7px}
.alerts-scroll{max-height:min(70vh,760px)}
.alert-item{padding:10px 11px;border-radius:12px}
.alert-message{margin:7px 0;font-size:12px;line-height:1.4}
.badges{gap:4px;margin-bottom:7px}
.alert-actions{gap:5px}
.space-pills{gap:7px}
.space-pill{padding:10px 11px;border-radius:13px}
.space-summary strong{font-size:14px}
.space-summary span{font-size:10px}
.space-chevron{flex-basis:36px;width:36px;height:36px;font-size:23px}
.quick-actions{gap:4px;margin-top:8px}
.quick-options{gap:5px;margin-top:5px}
.quick-toggle{padding:5px 6px;border-radius:9px}
.schedule-grid{gap:5px;margin-bottom:9px}
.schedule-row{padding:6px;border-radius:9px}
.schedule-row input{padding:8px 6px}
.exceptions-list{gap:6px}
.exception-item{padding:9px 10px;border-radius:11px}
.space-editor-sheet{border-radius:18px}
@media(max-width:520px){
  .admin-shell{padding-inline:11px}
  .admin-header{display:flex;padding-right:58px}
  .admin-header> .environment{position:absolute;top:calc(18px + env(safe-area-inset-top));right:72px}
  .panel{padding:11px}
  .schedule-fields{grid-template-columns:minmax(0,1fr);padding:10px}
  .schedule-fields input{font-size:16px}
  .space-editor-sheet .panel{padding:13px}
}

/* L’onglet Espaces conserve volontairement sa présentation historique. */
body.admin-section-spaces .admin-shell{
  width:min(760px,100%);
  padding:calc(20px + env(safe-area-inset-top)) 16px calc(32px + env(safe-area-inset-bottom));
}
body.admin-section-spaces .admin-header{margin-bottom:20px}
body.admin-section-spaces .admin-heading h1{font-size:34px}
body.admin-section-spaces .admin-header p#adminPageSubtitle{margin-top:0;font-size:initial;line-height:1.45}
body.admin-section-spaces .environment{padding:6px 10px;font-size:11px}
body.admin-section-spaces .panel{margin:16px 0;padding:18px;border-radius:24px;box-shadow:0 18px 48px #00101f4d}
body.admin-section-spaces .panel h2{margin-bottom:16px;font-size:19px}
body.admin-section-spaces .spaces-overview .panel-heading{margin-bottom:12px}
body.admin-section-spaces .spaces-overview .section-help{margin:0 0 14px;font-size:12px;line-height:1.45}
body.admin-section-spaces .space-pills{gap:12px}
body.admin-section-spaces .space-pill{padding:14px;border-radius:20px}
body.admin-section-spaces .space-summary strong{font-size:16px}
body.admin-section-spaces .space-summary span{font-size:12px}
body.admin-section-spaces .space-chevron{flex-basis:42px;width:42px;height:42px;font-size:28px}
body.admin-section-spaces .quick-actions{gap:6px;margin-top:12px}
body.admin-section-spaces .quick-options{gap:8px;margin-top:8px}
body.admin-section-spaces .quick-toggle{padding:7px 8px;border-radius:12px}
body.admin-section-spaces .schedule-grid{gap:8px;margin-bottom:14px}
body.admin-section-spaces .schedule-row{padding:9px;border-radius:14px}
body.admin-section-spaces .schedule-row input{padding:10px 7px}
body.admin-section-spaces .exceptions-list{gap:10px}
body.admin-section-spaces .exception-item{padding:13px;border-radius:16px}
body.admin-section-spaces .space-editor-sheet{border-radius:28px}

@media(max-width:520px){
  body.admin-section-spaces .admin-shell{padding-inline:16px}
  body.admin-section-spaces .admin-header{display:block}
  body.admin-section-spaces .admin-heading h1{font-size:28px}
  body.admin-section-spaces .environment{padding:4px 7px;font-size:8px}
  body.admin-section-spaces .space-editor-sheet{border-radius:26px 26px 0 0}
  body.admin-section-spaces .space-editor-sheet .panel{padding:18px}
}

@media(max-width:640px){
  .activity-program-grid{
    grid-template-columns:minmax(0,1fr);
  }
  .activity-program-target,
  .activity-program-group{
    min-width:0;
    overflow:hidden;
  }
  .activity-program-row{
    grid-template-columns:minmax(82px,1fr) 86px;
    gap:7px;
    padding:9px;
  }
  .activity-program-row strong{
    align-self:center;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .activity-program-row span{
    display:none;
  }
  .activity-program-row select{
    width:86px;
    min-width:0;
  }
  .activity-program-row input{
    width:100%;
    min-width:0;
    max-width:100%;
  }
  .activity-program-row input[data-field="startsAt"]{
    grid-column:1;
  }
  .activity-program-row input[data-field="endsAt"]{
    grid-column:2;
  }
}
