.os-service-home,.os-tables{max-width:900px;margin:auto;padding:18px 18px 110px}.os-take-order{display:flex;align-items:center;width:100%;gap:18px;padding:24px;border:0;border-radius:22px;background:linear-gradient(115deg,#147cff,#28c3f4);color:#fff;text-align:left;box-shadow:0 15px 35px #087dff38}.os-take-order>span{display:grid;place-items:center;width:68px;height:68px;border:1px solid #8de8ff;border-radius:18px;font-size:42px}.os-take-order>div{flex:1}.os-take-order b{display:block;font-size:25px}.os-take-order small{display:block;margin-top:5px;font-size:15px;color:#e6f7ff}.os-take-order>strong{font-size:38px;color:#8ee9ff}
.os-ready-banner{display:flex;align-items:center;width:100%;min-width:0;gap:14px;margin:0 0 14px;padding:15px 17px;border:1px solid #294b69;border-radius:18px;background:linear-gradient(110deg,#0a1d31,#0c2339);color:#fff;text-align:left;overflow:hidden}.os-ready-banner>span{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:14px;background:#15314a;font-size:27px}.os-ready-banner>div{min-width:0;flex:1}.os-ready-banner b,.os-ready-banner small{display:block;overflow-wrap:anywhere}.os-ready-banner b{font-size:18px}.os-ready-banner small{margin-top:3px;color:#92a9bd}.os-ready-banner>em{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:50%;background:#17344e;color:#65ddff;font-style:normal;font-weight:900}.os-ready-banner>strong{flex:0 0 auto;color:#7191aa;font-size:25px}.os-ready-banner.has-alert{border-color:#ffb431;background:linear-gradient(110deg,#382311,#171d2b);box-shadow:0 0 0 0 #ffb43170;animation:osReadyPulse 1.15s ease-in-out infinite}.os-ready-banner.has-alert>span,.os-ready-banner.has-alert>em{background:#ffad2430;color:#ffd36b}.os-ready-banner.has-alert b{color:#ffd36b}@keyframes osReadyPulse{0%,100%{box-shadow:0 0 0 0 #ffb43118}50%{box-shadow:0 0 0 6px #ffb43125}}@media(prefers-reduced-motion:reduce){.os-ready-banner.has-alert{animation:none}}
.os-rush{display:flex;align-items:center;gap:14px;margin-top:14px;padding:15px;border:1px solid #32d6ff;border-radius:19px;background:#0a1b2e}.os-rush>span{color:#39dcff;font-size:31px}.os-rush>div{flex:1}.os-rush small{display:block;color:#46daf9;font-weight:900;letter-spacing:.1em}.os-rush b{display:block;margin-top:4px}.os-rush label{display:flex;gap:8px}.os-rush input{width:140px;padding:12px;border:1px solid #294967;border-radius:12px;background:#071526;color:#fff;font-size:16px}.os-rush button{padding:0 18px;border:0;border-radius:12px;background:#168bff;color:#fff;font-weight:900}
.os-send-next{display:flex;align-items:center;width:100%;gap:15px;margin-top:12px;padding:17px 19px;border:1px solid #8b5cf6;border-radius:18px;background:linear-gradient(120deg,#171742,#18233d);color:#fff;text-align:left}.os-send-next>span{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#6d3fe633;color:#b99cff;font-size:21px}.os-send-next>div{flex:1}.os-send-next b{display:block;font-size:18px}.os-send-next small{display:block;margin-top:4px;color:#aebbd0}.os-send-next>strong{color:#b99cff;font-size:27px}.os-next-table-list,.os-next-course-list{display:grid;gap:10px}.os-next-table-list button,.os-next-course-list button{display:flex;align-items:center;gap:12px;width:100%;padding:16px;border:1px solid #294967;border-radius:16px;background:#091a2d;color:#fff;text-align:left}.os-next-table-list span,.os-next-course-list div{flex:1}.os-next-table-list b,.os-next-course-list b{display:block;font-size:17px}.os-next-table-list small,.os-next-course-list small,.os-next-course-list em{display:block;margin-top:4px;color:#8fa5ba;font-style:normal}.os-next-table-list em{color:#55dcff;font-style:normal;font-weight:800}.os-next-table-list strong,.os-next-course-list strong{font-size:24px;color:#58dcff}.os-next-course-list button>span{font-size:26px}.os-next-course-list .recommended{border-color:#48d9ff;background:linear-gradient(115deg,#0b2946,#172354)}.os-next-course-list .recommended small{color:#54dcff;font-weight:900}
.os-my-section,.os-home-duo>button{display:flex;align-items:center;gap:14px;width:100%;margin-top:14px;padding:17px;border:1px solid #234664;border-radius:19px;background:#0a1b2e;color:#fff;text-align:left}.os-my-section>span{color:#3ddcff;font-size:28px}.os-my-section>div,.os-home-duo>button>div{flex:1}.os-my-section b,.os-home-duo b{display:block;font-size:17px}.os-my-section small,.os-home-duo small{display:block;margin-top:4px;color:#91a5bb}.os-my-section em{padding:7px 10px;border-radius:999px;background:#103b5b;color:#4ddcff;font-style:normal}.os-my-section>strong,.os-home-duo>button>strong{color:#6d8aa5;font-size:25px}.os-home-duo{display:grid;grid-template-columns:1fr 1fr;gap:12px}.os-home-duo .carla{border-color:#42388d;background:linear-gradient(130deg,#1b1851,#0a1b2e)}.os-home-duo .carla>span{display:grid;place-items:center;width:48px;height:48px;border:1px solid #7663ff;border-radius:50%;font-size:22px}.os-home-duo .ready>span{font-size:35px}.os-home-duo .has-alert{border-color:#e5a22e}
.os-home-duo.os-home-single{grid-template-columns:1fr}
.os-tracking-row{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:12px}.os-tracking-row button{display:grid;justify-items:center;gap:5px;padding:13px 5px;border:1px solid #244563;border-radius:15px;background:#091a2d;color:#fff}.os-tracking-row span{font-size:24px}.os-tracking-row small{color:#8098b0}.os-service-home>h3{margin:23px 0 12px;color:#48dcfb;font-size:13px;letter-spacing:.12em}.os-service-shortcuts{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.os-service-shortcuts button{display:grid;justify-items:center;gap:10px;padding:15px 5px;border:1px solid #264765;border-radius:16px;background:#0a1b2e;color:#fff}.os-service-shortcuts span{font-size:28px}.os-service-shortcuts .blue{color:#32a7ff}.os-service-shortcuts .cyan{color:#37d7ff}.os-service-shortcuts .purple{color:#a855f7}.os-service-shortcuts .green{color:#4bd77e}.os-service-shortcuts .orange{color:#ff8a2c}
.os-tables>nav{display:grid;grid-template-columns:1fr 1fr;border:1px solid #294a69;border-radius:15px;overflow:hidden}.os-tables>nav button{padding:14px;border:0;background:#091a2d;color:#9cb0c6;font-weight:800}.os-tables>nav .active{background:linear-gradient(110deg,#157aff,#20b8ed);color:#fff}.os-table-tools{display:flex;gap:10px;margin:15px 0 24px}.os-table-tools label{display:flex;align-items:center;flex:1;padding:0 15px;border:1px solid #294a69;border-radius:15px;background:#071526}.os-table-tools input{width:100%;padding:15px 10px;border:0;background:transparent;color:#fff;font-size:16px;outline:0}.os-table-tools button{padding:0 18px;border:1px solid #315273;border-radius:15px;background:#0a1b2e;color:#fff}.os-table-heading{display:flex;align-items:center;gap:10px;margin:21px 0 12px}.os-table-heading h2{margin:0;font-size:21px}.os-table-heading span{display:grid;place-items:center;min-width:28px;height:28px;border-radius:50%;background:#102840;color:#a9bdd1}.os-open-tables{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.os-table-card{--state:#ffae35;position:relative;padding:18px;border:1px solid var(--state);border-radius:17px;background:linear-gradient(145deg,color-mix(in srgb,var(--state) 9%,#0a1b2e),#081627);color:#fff;text-align:left;overflow:hidden}.os-table-card:before{content:'';position:absolute;inset:0 auto 0 0;width:4px;background:var(--state)}.os-table-card header{display:flex;justify-content:space-between;gap:8px}.os-table-card header b{font-size:24px}.os-table-card header strong{color:#4bdcff;font-size:18px}.os-table-card p{margin:13px 0;color:#a1b2c4}.os-table-card small{display:block;color:var(--state)}.os-table-card>span{display:block;margin-top:16px;padding:10px;border:1px solid color-mix(in srgb,var(--state) 55%,#244563);border-radius:10px;color:var(--state);font-weight:900}.os-table-card.served{--state:#4bd77e}.os-table-card.ready{--state:#36d8ff}.os-table-card.progress{--state:#a855f7}.os-free-tables{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.os-free-tables button{padding:14px 8px;border:1px solid #294a69;border-radius:13px;background:#0a1b2e;color:#fff}.os-free-tables b{display:block;font-size:19px}.os-free-tables small{display:block;margin-top:4px;color:#728aa3}
@media(max-width:600px){.os-service-home,.os-tables{padding:14px 12px 110px}.os-rush{display:grid;grid-template-columns:auto 1fr}.os-rush label{grid-column:1/-1}.os-rush input{width:100%;min-width:0}.os-home-duo{gap:8px}.os-home-duo>button{padding:13px 10px}.os-service-shortcuts{gap:6px}.os-service-shortcuts button{font-size:11px}.os-open-tables{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:5px}.os-table-card{min-width:245px;scroll-snap-align:start}.os-free-tables{grid-template-columns:repeat(3,1fr)}}

/* La barre du bas contient déjà ces accès : aucun doublon sur l'accueil rush. */
.os-service-home>h3,.os-service-shortcuts{display:none}
html,body,#app,#content{max-width:100%;overflow-x:hidden}
.os-service-home button,.os-tables button,.os-rush input{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.os-open-tables{max-width:100%;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:none}
.os-open-tables::-webkit-scrollbar{display:none}
@media(max-width:600px){.os-open-tables{touch-action:pan-x;padding:2px 2px 10px}.os-table-card{min-width:min(245px,76vw)}.os-tracking-row{margin-bottom:8px}}

/* Passe tactile v2 : aucune carte ne doit pousser la page hors de l'ecran. */
.os-home-duo,.os-home-duo>button,.os-home-duo>button>div,.os-tracking-row,.os-tracking-row>button{min-width:0;max-width:100%}
.os-home-duo b,.os-home-duo small{overflow-wrap:anywhere}
.os-home-duo>button>strong{flex:0 0 auto}
.floor-scope{display:none!important}
@media(max-width:600px){
  .os-home-duo{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .os-home-duo>button{padding:13px 10px;gap:8px;overflow:hidden}
  .os-home-duo .ready>span{font-size:28px}
  .os-home-duo b{font-size:15px;line-height:1.2}
  .os-home-duo small{font-size:12px;line-height:1.25}
  .os-open-tables{display:grid;grid-template-columns:1fr;overflow:visible;touch-action:manipulation;padding:2px 0 8px}
  .os-table-card{width:100%;min-width:0;scroll-snap-align:none}
}

/* Planning hebdomadaire */
.os-planning{max-width:900px;margin:auto;padding:0 18px 115px}.os-planning>nav{display:grid;grid-template-columns:1fr 1fr;padding:3px;border:1px solid #294b6a;border-radius:15px;background:#071526}.os-planning>nav button{padding:12px;border:0;border-radius:12px;background:transparent;color:#98abc0;font-weight:850}.os-planning>nav button.active{background:linear-gradient(105deg,#176eff,#28c4f5);color:#fff}.os-planning>nav button:disabled{opacity:.55}.os-plan-toolbar{display:flex;align-items:center;gap:10px;margin:15px 0}.os-plan-toolbar>div{display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid #294b6a;border-radius:13px;background:#091a2d}.os-plan-toolbar button,.os-plan-person select{min-height:38px;border:1px solid #294b6a;border-radius:10px;background:#0a1b2e;color:#dff7ff}.os-plan-person{display:flex;align-items:center;gap:8px;margin-left:auto;color:#94aac0}.os-plan-summary>div{display:flex;align-items:center;gap:13px;padding:15px;border:1px solid #244867;border-radius:15px;background:#0a1b2e}.os-plan-summary span{font-size:30px;color:#3ddcff}.os-plan-summary p{display:grid;flex:1;margin:0}.os-plan-summary small{margin-top:3px;color:#8fa5ba}.os-plan-summary em{color:#9fb3c7;font-style:normal}.os-plan-days{display:grid;gap:9px;margin-top:12px}.os-plan-day,.os-plan-edit-day{display:grid;grid-template-columns:76px 1fr auto;align-items:center;gap:12px;min-height:80px;padding:10px 14px;border:1px solid #244563;border-radius:14px;background:#091a2d}.os-plan-date{display:grid;justify-items:center;border-right:1px solid #244563}.os-plan-date small,.os-plan-date span{color:#43dafa;font-size:10px;font-weight:850}.os-plan-date b{font-size:25px}.os-plan-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.os-plan-services>div{display:grid;padding:9px 12px;border-radius:9px;background:#0d302d;color:#63e49a}.os-plan-services small,.os-plan-day>strong small,.os-plan-rest small{color:#8da3b8}.os-plan-day>strong{display:grid;min-width:75px;color:#43dafa}.os-plan-rest{display:grid;color:#b06cff}.os-create-own-plan{margin-top:14px}.os-planning-editor{display:grid;gap:10px}.os-plan-edit-day{grid-template-columns:76px 1fr}.os-plan-edit-fields{display:grid;grid-template-columns:130px 1fr 1fr auto;align-items:center;gap:8px}.os-plan-edit-fields select,.os-plan-edit-fields input{min-width:0;height:42px;border:1px solid #294b6a;border-radius:9px;background:#071526;color:#fff;padding:7px}.os-rest-check{display:flex;align-items:center;gap:6px;color:#aebed0}.os-rest-check input{width:18px;height:18px}.os-time-line{display:flex;align-items:center;gap:5px}.os-copy-day{height:42px;border:1px solid #315b7d;border-radius:9px;background:#102842;color:#bfefff}.os-planning-editor>footer{position:sticky;bottom:88px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border:1px solid #285476;border-radius:15px;background:#0a1c30ee;backdrop-filter:blur(12px);z-index:3}.os-planning-editor>footer div{display:grid}.os-planning-editor>footer small{color:#8ca4bb}
@media(max-width:650px){.os-planning{padding:0 12px 115px}.os-plan-toolbar{display:grid;grid-template-columns:1fr auto}.os-plan-toolbar>div{grid-column:1/-1;justify-content:space-between}.os-plan-person{margin:0}.os-plan-person select{max-width:150px}.os-plan-day{grid-template-columns:62px 1fr auto;padding:9px 8px;gap:8px}.os-plan-services{grid-template-columns:1fr}.os-plan-summary em{display:none}.os-plan-edit-day{grid-template-columns:58px 1fr;padding:9px 7px}.os-plan-edit-fields{grid-template-columns:1fr 1fr}.os-rest-check,.os-plan-edit-fields select{grid-column:span 1}.os-time-line{grid-column:1/-1}.os-copy-day{grid-column:1/-1}.os-planning-editor>footer{bottom:78px}.os-planning-editor>footer button{padding:12px}.os-plan-date b{font-size:22px}}

/* Administration visuelle du plan de salle */
.os-floor-admin>header small,.os-zone-editor>small{color:#42d9f7;font-weight:900;letter-spacing:.1em}.os-floor-admin>header h2,.os-zone-editor h2{margin:5px 0}.os-floor-admin>header p{margin:0;color:#93a8bc}.os-floor-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:17px 0}.os-floor-kpis article{display:grid;padding:14px;border:1px solid #285274;border-radius:14px;background:#0a1b2e}.os-floor-kpis article:nth-child(2){border-color:#7642a0}.os-floor-kpis article:nth-child(3){border-color:#26714e}.os-floor-kpis b{color:#3ddcff;font-size:26px}.os-floor-kpis span{font-weight:850}.os-floor-kpis small{margin-top:3px;color:#8ba2b8}.os-floor-admin>nav{display:grid;grid-template-columns:1fr 1fr;padding:3px;border:1px solid #294b6a;border-radius:13px}.os-floor-admin>nav button{padding:11px;border:0;border-radius:10px;background:transparent;color:#9eb0c3;font-weight:850}.os-floor-admin>nav .active{background:linear-gradient(105deg,#176fff,#25bef1);color:white}.os-floor-preview,.os-floor-list{margin-top:16px}.os-floor-zone{margin:10px 0;padding:12px;border:1px solid color-mix(in srgb,var(--zone) 65%,#244563);border-radius:14px;background:#071526}.os-floor-zone header{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:8px}.os-floor-zone header>span{width:9px;height:9px;border-radius:50%;background:var(--zone)}.os-floor-zone header small{color:#8ca3b9}.os-floor-zone header button{border:0;background:transparent;color:#51dcfb}.os-floor-zone>div{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin-top:12px}.os-floor-zone>div button{min-height:43px;border:1px solid color-mix(in srgb,var(--zone) 68%,#244563);border-radius:10px;background:color-mix(in srgb,var(--zone) 11%,#0a1b2e);color:#fff;font-weight:850}.os-floor-zone>div button.busy{border-color:#ff8a2c;color:#ffad5c}.os-floor-legend{display:flex;gap:18px;color:#87a0b6;font-size:12px}.os-floor-legend span:first-child{color:#33d49d}.os-floor-legend span:last-child{color:#ff8a2c}.os-floor-list>header{display:flex;justify-content:space-between;align-items:center}.os-floor-list>header button{padding:9px;border:1px solid #315978;border-radius:10px;background:#0a1b2e;color:#fff}.os-floor-list-row,.os-floor-actions>button{display:flex;align-items:center;gap:12px;width:100%;margin-top:9px;padding:14px;border:1px solid #284b69;border-radius:14px;background:#0a1b2e;color:#fff;text-align:left}.os-floor-list-row>span{display:grid;place-items:center;width:43px;height:43px;border-radius:11px;background:color-mix(in srgb,var(--zone) 22%,#102840);color:var(--zone);font-size:23px}.os-floor-list-row>div,.os-floor-actions>button>div{display:grid;flex:1}.os-floor-list-row small,.os-floor-list-row em,.os-floor-actions small{color:#8ea4b9;font-style:normal}.os-floor-list-row>strong{color:var(--zone)}.os-floor-list-row>i,.os-floor-actions>button>strong{font-size:24px;color:#6f8da7}.os-floor-actions{margin-top:16px}.os-floor-actions>button>span{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#103454;color:#44dcff;font-size:23px}.os-zone-editor form>label,.os-zone-editor form>div label{display:grid;gap:6px;margin:12px 0;color:#a9bacb}.os-zone-editor input{min-width:0;height:48px;border:1px solid #315576;border-radius:11px;background:#071526;color:#fff;padding:10px}.os-zone-editor fieldset{display:flex;gap:8px;margin:14px 0;padding:0;border:0}.os-zone-editor legend{margin-bottom:8px;font-weight:850}.os-zone-editor fieldset label{flex:1;padding:10px;border:1px solid #315576;border-radius:10px;background:#0a1b2e}.os-zone-editor form>div{display:grid;grid-template-columns:1fr 1fr;gap:10px}.os-zone-editor form>section{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}.os-zone-editor form>section>b,.os-zone-editor form>section>small{width:100%}.os-zone-editor form>section button{padding:11px;border:1px solid #315576;border-radius:10px;background:#0a1b2e;color:#fff}.os-zone-editor form>section button.active{border-color:#39d9ff;color:#39d9ff}.os-zone-editor form>section small{color:#8097ad}
@media(max-width:600px){.os-floor-zone>div{grid-template-columns:repeat(4,1fr)}.os-floor-zone header{grid-template-columns:auto 1fr auto}.os-floor-zone header small{grid-column:2/-1}.os-floor-list-row>strong{font-size:12px}.os-zone-editor fieldset{display:grid;grid-template-columns:1fr 1fr}.os-floor-kpis article{padding:10px}.os-floor-kpis b{font-size:22px}}
