/* Sit'n Dip POS — burgundy brand theme, tablet-optimized */
:root{
  --choc:#7d0d0d;
  --choc-dark:#560808;
  --choc-light:#9e1b1b;
  --cream:#FBF6EE;
  --cream-dark:#F3E8E2;
  --caramel:#d9a05b;
  --gold:#f4501e;
  --ink:#2b1212;
  --muted:#8a6f6f;
  --green:#2E9E5B;
  --green-bg:#DFF5E7;
  --orange:#E07B39;
  --orange-bg:#FDEBD7;
  --grey:#9A9A9A;
  --grey-bg:#ECECEC;
  --red:#C0392B;
  --red-bg:#FBE4E1;
  --card:#FFFFFF;
  --radius:14px;
  --shadow:0 2px 10px rgba(62,40,18,.12);
}
*{box-sizing:border-box; -webkit-tap-highlight-color:transparent;}
html,body{margin:0; padding:0;}
body{
  font-family:"Segoe UI", system-ui, -apple-system, sans-serif;
  background:var(--cream);
  color:var(--ink);
  font-size:18px;
  min-height:100vh;
}
.hidden{display:none !important;}
.muted{color:var(--muted);}
.error{color:var(--red); background:var(--red-bg); padding:12px; border-radius:10px; margin-top:14px; font-weight:600;}

/* ---------- Buttons ---------- */
.btn{
  border:none; border-radius:12px; padding:14px 20px;
  font-size:18px; font-weight:700; cursor:pointer;
  min-height:56px; touch-action:manipulation;
  background:var(--cream-dark); color:var(--ink);
}
.btn:active{transform:scale(.97);}
.btn-primary{background:var(--choc); color:#fff;}
.btn-primary:disabled{background:#B9A88F; cursor:not-allowed;}
.btn-big{width:100%; font-size:20px; padding:18px;}
.btn-ghost{background:transparent; color:var(--choc); border:2px solid var(--caramel);}
.btn-danger{background:var(--red); color:#fff;}
.btn-success{background:var(--green); color:#fff;}
.btn-warning{background:var(--orange); color:#fff;}
.btn-clock{background:var(--gold); color:var(--choc-dark);}
.big-select{
  width:100%; font-size:18px; padding:14px; border-radius:12px;
  border:2px solid var(--caramel); background:#fff; min-height:56px;
}
input[type="number"], input[type="text"], input[type="password"], textarea, select{
  font-size:18px;
}

/* ---------- Login ---------- */
#view-login{min-height:100vh; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg, var(--choc-dark), var(--choc-light));}
.login-card{
  background:var(--cream); border-radius:20px; padding:36px; width:min(420px, 92vw);
  text-align:center; box-shadow:0 8px 40px rgba(0,0,0,.35);
}
.login-logo{font-size:52px; line-height:1.1; font-weight:900; color:var(--choc);}
.login-logo img{width:110px; height:110px; display:block; margin:0 auto;}
.brand-logo{width:38px; height:38px; vertical-align:-10px; margin-right:10px;}
.ts-widget{display:flex; justify-content:center; margin:14px 0 4px;}
.ts-widget:empty{display:none;}
.otp-input{
  font-size:36px; letter-spacing:12px; text-align:center; margin:16px 0;
  padding:12px; border-radius:12px; border:2px solid var(--caramel);
  width:100%; font-weight:800; color:var(--choc);
}
.btn-block{width:100%; margin-top:10px;}
.small{font-size:13px;}
.login-card h2{margin:12px 0 4px;}
.pin-display{
  font-size:42px; letter-spacing:14px; margin:18px 0; color:var(--choc);
  background:#fff; border-radius:12px; padding:14px; border:2px solid var(--caramel);
}
.pin-pad{display:grid; grid-template-columns:repeat(3,1fr); gap:12px;}
.pin-pad button{
  font-size:28px; font-weight:800; padding:18px 0; border-radius:14px;
  border:none; background:var(--choc); color:#fff; min-height:72px; cursor:pointer;
}
.pin-pad button:active{transform:scale(.95);}
.pin-pad .key-fn{background:var(--grey);}
.pin-pad .key-ok{background:var(--green);}

/* ---------- Header / tabs ---------- */
#app-header{
  display:flex; align-items:center; justify-content:space-between;
  background:var(--choc-dark); color:#fff; padding:12px 20px; position:sticky; top:0; z-index:50;
}
.brand{font-size:24px; font-weight:900;}
.brand-sub{font-size:15px; font-weight:400; color:var(--gold); margin-left:8px;}
.header-right{display:flex; align-items:center; gap:12px;}
.user-chip{background:var(--choc); padding:10px 16px; border-radius:20px; font-weight:700; font-size:16px;}
.user-chip .role{color:var(--gold); font-size:13px; display:block; font-weight:400;}
#btn-logout{border-color:var(--gold); color:#fff; min-height:48px; padding:8px 16px; font-size:16px;}

#tabs{display:flex; gap:8px; padding:10px 16px; background:var(--cream-dark);
  position:sticky; top:64px; z-index:40; overflow-x:auto;}
.tab{
  flex:1; white-space:nowrap; border:none; border-radius:12px; padding:14px 10px;
  font-size:17px; font-weight:700; background:#fff; color:var(--choc); cursor:pointer;
  min-height:56px; box-shadow:var(--shadow);
}
.tab.active{background:var(--choc); color:#fff;}
.badge{background:var(--red); color:#fff; border-radius:12px; padding:2px 10px; font-size:14px; margin-left:4px;}

/* Tab panes: only the active one is visible */
.tabpane{display:none;}
.tabpane.active{display:block;}

#main{padding:16px; max-width:1400px; margin:0 auto;}

/* ---------- Order layout ---------- */
.order-layout{display:grid; grid-template-columns:1fr 380px; gap:16px; align-items:start;}
.chips{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:14px;}
.prod-search{position:relative; margin-bottom:12px;}
.prod-search .big-input{padding-right:44px;}
.prod-search button{position:absolute; right:8px; top:50%; transform:translateY(-50%); border:none; background:#eee; width:30px; height:30px; border-radius:50%; font-size:18px; line-height:1; cursor:pointer; color:#666;}
.prod-search button.hidden{display:none;}
.chip{
  border:2px solid var(--caramel); background:#fff; border-radius:24px;
  padding:12px 22px; font-size:17px; font-weight:700; cursor:pointer; color:var(--choc);
}
.chip.active{background:var(--choc); color:#fff; border-color:var(--choc);}
.product-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(150px,1fr)); gap:12px;}
.product-card{
  background:var(--card); border-radius:var(--radius); box-shadow:var(--shadow);
  padding:16px 10px; text-align:center; cursor:pointer; border:2px solid transparent;
}
.product-card:active{border-color:var(--choc); transform:scale(.97);}
.product-card .emoji{font-size:44px;}
.product-card .pvisual{position:relative; height:92px; display:flex; align-items:center; justify-content:center; overflow:hidden; border-radius:12px; background:#f7f2ec;}
.product-card .pvisual .emoji{font-size:44px;}
.product-card .pimg{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.product-card .pname{font-weight:700; margin:8px 0 4px; font-size:16px; min-height:44px;}
.product-card .pprice{color:var(--choc); font-weight:800; font-size:17px;}

/* ---------- Cart ---------- */
.cart{background:var(--card); border-radius:var(--radius); box-shadow:var(--shadow);
  padding:16px; position:sticky; top:150px;}
.cart h3{margin:0 0 12px;}
.order-type-row{display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-bottom:12px;}
.btn-type{padding:12px 4px; font-size:15px; min-height:52px;}
.btn-type.active{background:var(--choc); color:#fff;}
.table-picker-wrap{margin-bottom:12px;}
.table-picker-wrap label{font-weight:700; display:block; margin-bottom:6px;}
.cart-lines{max-height:300px; overflow-y:auto; margin-bottom:10px;}
.cart-line{background:var(--cream); border-radius:10px; padding:10px 12px; margin-bottom:8px;}
.cart-line .cl-top{display:flex; justify-content:space-between; align-items:center; font-weight:700;}
.cart-line .cl-mods{font-size:14px; color:var(--muted);}
.cart-line .cl-notes{font-size:14px; color:var(--muted); font-style:italic;}
.cart-line .cl-actions{display:flex; gap:8px; margin-top:8px; align-items:center;}
.qty-btn{width:44px; height:44px; border-radius:10px; border:none; background:var(--choc);
  color:#fff; font-size:22px; font-weight:800; cursor:pointer;}
.qty{font-size:20px; font-weight:800; min-width:34px; text-align:center;}
.cl-remove{margin-left:auto; background:none; border:none; color:var(--red); font-size:20px; cursor:pointer;}
.cart-totals{border-top:2px dashed var(--caramel); padding-top:10px; margin-bottom:10px;}
.cart-totals .row{display:flex; justify-content:space-between; margin:4px 0;}
.cart-totals .row.total{font-size:22px; font-weight:900; color:var(--choc);}
.cart-empty{color:var(--muted); text-align:center; padding:20px 0;}
#btn-submit-order{margin-top:8px;}
#btn-clear-cart{width:100%; margin-top:8px;}

/* ---------- Tables ---------- */
.legend{display:flex; gap:20px; margin-bottom:14px; font-weight:600;}
.dot{display:inline-block; width:16px; height:16px; border-radius:50%; margin-right:6px;}
.dot-green{background:var(--green);} .dot-orange{background:var(--orange);} .dot-grey{background:var(--grey);}
.dot-blue{background:#2b5cb8;}
.zone-title{font-size:22px; font-weight:900; color:var(--choc); margin:18px 0 10px;}
.floor-map{display:grid; grid-template-columns:repeat(auto-fill, minmax(130px,1fr)); gap:14px;}
.table-card{
  border-radius:var(--radius); padding:18px 8px; text-align:center; cursor:pointer;
  font-weight:800; font-size:20px; min-height:110px; display:flex; flex-direction:column;
  justify-content:center; gap:4px; box-shadow:var(--shadow); border:3px solid transparent; color:#fff;
}
.table-card .seats{font-size:14px; font-weight:400;}
.table-card.available{background:var(--green);}
.table-card.occupied{background:var(--orange);}
.table-card.reserved{background:var(--grey);}
.table-card:active{transform:scale(.96);}

/* ---------- Plan visuel (reprend l'éditeur Admin) ---------- */
.plan-zone{margin-bottom:8px;}
.plan-canvas{position:relative;width:100%;max-width:1100px;aspect-ratio:1000/650;
  background-color:var(--card,#fff);
  background-image:linear-gradient(rgba(0,0,0,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(0,0,0,.05) 1px,transparent 1px);
  background-size:5% 7.6923%;
  border:2px solid var(--choc);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);}
.plan-table{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:2px;color:#fff;font-weight:800;cursor:pointer;box-shadow:var(--shadow);box-sizing:border-box;
  border:3px solid rgba(255,255,255,.55);}
.plan-table b{font-size:clamp(11px,1.6vw,18px);line-height:1.1;pointer-events:none;}
.plan-table span{font-size:clamp(9px,1.2vw,13px);font-weight:400;pointer-events:none;}
.plan-table.available{background:var(--green);}
.plan-table.occupied{background:var(--orange);}
.plan-table.bill{background:#2b5cb8;}
.plan-table.reserved{background:var(--grey);}
.plan-table:active{transform:scale(.96);}
.plan-bill{font-size:clamp(12px,1.8vw,20px);}

/* ---------- Orders list ---------- */
.orders-list{display:grid; grid-template-columns:repeat(auto-fill, minmax(340px,1fr)); gap:14px;}
.order-card{background:var(--card); border-radius:var(--radius); box-shadow:var(--shadow); padding:16px;}
.order-card .oc-head{display:flex; justify-content:space-between; align-items:center; margin-bottom:8px;}
.order-card .oc-num{font-size:20px; font-weight:900; color:var(--choc);}
.status-pill{padding:6px 14px; border-radius:16px; font-size:14px; font-weight:800; color:#fff;}
.status-open{background:var(--choc-light);} .status-sent{background:var(--orange);}
.status-ready{background:var(--green);} .status-served{background:#4A7FB5;}
.order-card .oc-meta{color:var(--muted); font-size:15px; margin-bottom:8px;}
.order-card .oc-elapsed{font-weight:800; color:var(--choc);}
.order-card .oc-items{font-size:15px; margin:8px 0; background:var(--cream); border-radius:10px; padding:10px;}
.order-card .oc-total{font-size:22px; font-weight:900; color:var(--choc); margin:8px 0;}
.oc-actions{display:grid; grid-template-columns:1fr 1fr; gap:8px;}
.oc-actions .btn{font-size:16px; min-height:52px; padding:10px;}
.empty-state{text-align:center; color:var(--muted); padding:60px 20px; font-size:20px;}

/* ---------- Cash session ---------- */
.cash-content{max-width:760px; margin:0 auto;}
.cash-card{background:var(--card); border-radius:var(--radius); box-shadow:var(--shadow); padding:28px; margin-bottom:16px;}
.cash-card h2{margin-top:0; color:var(--choc);}
.cash-card .big-label{font-weight:700; display:block; margin:16px 0 8px;}
.amount-input{width:100%; font-size:28px; padding:16px; border-radius:12px;
  border:2px solid var(--caramel); text-align:center; font-weight:800;}
.quick-amounts{display:flex; gap:8px; flex-wrap:wrap; margin:12px 0;}
.quick-amounts button{border:2px solid var(--caramel); background:#fff; border-radius:10px;
  padding:10px 16px; font-size:16px; font-weight:700; cursor:pointer; color:var(--choc);}
.session-info{background:var(--cream); border-radius:12px; padding:16px; margin:12px 0;}
.session-info .row{display:flex; justify-content:space-between; padding:6px 0; font-size:18px;}
.session-info .row b{color:var(--choc);}
.session-open-pill{display:inline-block; background:var(--green-bg); color:var(--green);
  padding:6px 16px; border-radius:16px; font-weight:800;}

/* blocked screen */
.blocked-screen{border:3px solid var(--red); border-radius:var(--radius); background:#fff;
  padding:24px; margin-bottom:16px;}
.blocked-screen h2{color:var(--red); margin-top:0;}
.blocker-list{margin:12px 0;}
.blocker-item{background:var(--red-bg); border-radius:10px; padding:12px 14px; margin-bottom:8px;
  display:flex; justify-content:space-between; font-weight:700;}
.block-paths{display:grid; gap:12px; margin-top:16px;}
.block-path{border:2px solid var(--caramel); border-radius:12px; padding:16px; background:var(--cream);}
.block-path h3{margin-top:0; color:var(--choc);}
.override-box{margin-top:16px; border-top:2px dashed var(--caramel); padding-top:16px;}
.checkbox-row{display:flex; align-items:center; gap:10px; margin:12px 0; font-size:18px; font-weight:600;}
.checkbox-row input{width:28px; height:28px;}

/* Z-report */
.z-report{background:#fff; border-radius:var(--radius); box-shadow:var(--shadow); padding:28px;}
.z-report h2{color:var(--choc); margin-top:0; text-align:center;}
.z-report .zrow{display:flex; justify-content:space-between; padding:10px 0;
  border-bottom:1px solid var(--cream-dark); font-size:18px;}
.z-report .zrow.total{font-size:24px; font-weight:900; color:var(--choc); border-bottom:none;}
.zrow.variance-ok{color:var(--green); font-weight:900;}
.zrow.variance-bad{color:var(--red); font-weight:900;}
.z-methods{margin:12px 0;}
.z-methods .zrow{border-bottom:1px dotted var(--cream-dark);}

/* ---------- Clock ---------- */
.clock-content{max-width:560px; margin:0 auto;}
.clock-status-pill{text-align:center; font-size:22px; font-weight:800; padding:18px; border-radius:12px; margin-bottom:16px;}
.clock-in{background:var(--green-bg); color:var(--green);}
.clock-out{background:var(--grey-bg); color:var(--muted);}

/* ---------- Modal ---------- */
.modal-root{position:fixed; inset:0; background:rgba(43,29,16,.6); z-index:100;
  display:flex; align-items:center; justify-content:center; padding:20px;}
.modal{background:var(--cream); border-radius:20px; width:min(560px, 94vw);
  max-height:92vh; overflow-y:auto; padding:24px; box-shadow:0 10px 50px rgba(0,0,0,.4);}
.modal h2{margin-top:0; color:var(--choc);}
.modal .mod-item{display:flex; align-items:center; gap:12px; padding:12px; background:#fff;
  border-radius:10px; margin-bottom:8px; font-size:17px;}
.mod-item input{width:26px; height:26px;}
.mod-item .mprice{margin-left:auto; font-weight:700; color:var(--choc);}
.qty-row{display:flex; align-items:center; gap:16px; margin:16px 0;}
.qty-row .qty-btn{width:60px; height:60px; font-size:30px;}
.qty-row .qty{font-size:28px; min-width:50px; text-align:center;}
.modal-actions{display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:16px;}
.notes-input{width:100%; border-radius:10px; border:2px solid var(--caramel); padding:12px; font-size:17px; margin-top:8px;}

/* payment */
.pay-methods{display:grid; grid-template-columns:repeat(2,1fr); gap:10px; margin:12px 0;}
.pay-method-btn{font-size:18px; min-height:64px;}
.pay-method-btn.active{background:var(--choc); color:#fff;}
.pay-line{background:#fff; border-radius:10px; padding:12px; margin-bottom:8px;
  display:flex; align-items:center; gap:10px;}
.pay-line .pname{font-weight:700; min-width:110px;}
.pay-line input{flex:1; font-size:20px; padding:10px; border-radius:8px; border:2px solid var(--caramel); text-align:right; font-weight:700;}
.pay-line .premove{background:none; border:none; color:var(--red); font-size:22px; cursor:pointer;}
.pay-summary{background:var(--cream-dark); border-radius:12px; padding:14px; margin:12px 0;}
.pay-summary .row{display:flex; justify-content:space-between; font-size:19px; margin:6px 0;}
.pay-summary .change-ok{color:var(--green); font-weight:900; font-size:24px;}
.pay-summary .change-bad{color:var(--red); font-weight:900;}
.gift-row{display:flex; gap:8px; margin:8px 0;}
.gift-row input{flex:1; font-size:20px; padding:10px; border-radius:8px; border:2px solid var(--caramel); text-transform:uppercase; font-weight:700; letter-spacing:1px;}
.gift-ok{background:#fff; border-radius:10px; padding:12px; margin:8px 0; font-size:18px;}
.gift-ok .muted{font-size:14px; margin-top:4px;}
.gift-err{color:var(--red); font-weight:700; margin:8px 0;}

/* toast */
.toast-root{position:fixed; bottom:24px; left:50%; transform:translateX(-50%); z-index:200;}
.toast{background:var(--choc-dark); color:#fff; padding:16px 28px; border-radius:14px;
  font-size:18px; font-weight:700; margin-top:8px; box-shadow:0 4px 20px rgba(0,0,0,.3);
  animation:slideup .25s ease;}
.toast.success{background:var(--green);}
.toast.error{background:var(--red);}
@keyframes slideup{from{transform:translateY(20px); opacity:0;} to{transform:none; opacity:1;}}

@media (max-width:900px){
  .order-layout{grid-template-columns:1fr;}
  .cart{position:static;}
  #tabs{top:56px;}
  .tab{font-size:15px;}
}

/* ---- Aperçu tickets cuisine (avant impression) ---- */
.ticket-preview{background:#fff8f0;border:1px solid #e8d9c4;border-radius:12px;padding:14px;margin:12px 0;}
.ticket-preview .tp-head{margin-bottom:8px;}
.ticket-preview .tp-items{margin:8px 0 12px;font-size:15px;line-height:1.7;}

/* ============ Typography pass: Helvetica display, calmer rhythm ============ */
body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;}
button,input,select,textarea{font-family:inherit;}
h1,h2,h3{letter-spacing:-.015em;font-weight:700;line-height:1.25;}
#tabs .tab{font-weight:600;}
.cart h3{font-size:20px;margin:0 0 14px;}
.modal h2{font-size:22px;margin:0 0 16px;}
.modal h3{font-size:17px;margin:18px 0 10px;}
.cart-totals .row.total{font-size:21px;}
.big-input{width:100%;padding:14px;border:1.5px solid #ddd;border-radius:12px;font-size:17px;background:#fff;}
.big-input:focus{outline:none;border-color:#F4501E;}
.btn-small{padding:8px 14px;font-size:15px;border-radius:10px;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0;}
.form-grid label{display:block;font-weight:600;font-size:15px;color:var(--ink);}
.form-grid label input,.form-grid label textarea{margin-top:6px;}
.modal label{display:block;font-weight:600;font-size:15px;margin:12px 0 4px;}
.modal label input,.modal label textarea,.modal label select{margin-top:6px;width:100%;}
.modal textarea.big-input{resize:vertical;}

/* ============ CRM: customer chip, promo, loyalty ============ */
.cart-actions-row{display:flex;gap:8px;margin:10px 0;}
.btn-cart-action{flex:1;padding:12px 8px;font-size:15px;}
#cart-customer-chip{margin:0 0 10px;}
.customer-chip{display:flex;align-items:center;gap:10px;background:#fff;border:1.5px solid var(--caramel);border-radius:12px;padding:10px 12px;}
.cc-info{flex:1;min-width:0;font-size:16px;}
.cc-loyalty{margin-top:4px;display:flex;align-items:center;gap:8px;}
.tier-badge{display:inline-block;padding:3px 12px;border-radius:999px;font-size:13px;font-weight:700;color:#fff;}
.pts{font-weight:700;font-size:15px;color:#8a6a1f;}
.cc-remove{border:none;background:none;font-size:18px;color:var(--muted);cursor:pointer;padding:6px;}
.cart-totals .row.discount span{color:var(--green);font-weight:700;}
.cm-results{max-height:220px;overflow-y:auto;margin:8px 0;border:1px solid #eee;border-radius:12px;}
.cm-item{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;text-align:left;background:#fff;border:0;border-bottom:1px solid #f0f0f0;padding:12px 14px;font-size:16px;cursor:pointer;}
.cm-item:last-child{border-bottom:0;}
.cm-item:active{background:#f7f7f7;}
.promo-current{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--green-bg);border-radius:12px;padding:12px 14px;margin-bottom:12px;font-size:16px;}

/* ============ CRM: reservations ============ */
.res-toolbar{display:flex;gap:10px;align-items:center;margin-bottom:16px;flex-wrap:wrap;}
.res-toolbar .big-select{width:auto;}
.reservations-list{display:grid;gap:12px;}
.res-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;border-left:6px solid var(--grey);}
.res-card.res-confirmee{border-left-color:var(--gold);}
.res-card.res-assise{border-left-color:var(--green);}
.res-card.res-annulee{border-left-color:var(--red);opacity:.75;}
.res-card.res-no_show{border-left-color:#555;opacity:.75;}
.res-head{display:flex;align-items:center;gap:8px;font-size:17px;margin-bottom:6px;flex-wrap:wrap;}
.res-status{margin-left:auto;font-size:13px;font-weight:700;padding:4px 12px;border-radius:999px;background:var(--grey-bg);color:#555;}
.res-confirmee .res-status{background:#FFF1E8;color:#B23A0E;}
.res-assise .res-status{background:var(--green-bg);color:var(--green);}
.res-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap;}

/* ---- Bill splitting (split.js) ---- */
.loyalty-choice{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:12px 0;padding:10px 12px;background:#FFF9F3;border:1px solid #f3ddc9;border-radius:12px;}
.loyalty-choice label{display:flex;align-items:center;gap:6px;font-size:15px;}
#rm-guests{display:flex;flex-direction:column;gap:8px;margin-bottom:8px;}
.split-resv{margin:10px 0;}
.split-guest{display:flex;gap:8px;align-items:flex-start;margin-bottom:10px;}
.split-guest .big-input{flex:1;}
.sg-cust{flex:1.4;}
.split-modes{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:10px 0;}
.split-modes label{display:flex;align-items:center;gap:6px;}
.split-assign{display:flex;flex-direction:column;gap:8px;margin:10px 0;}
.sa-row{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#FAFAF7;border:1px solid #eee;border-radius:10px;padding:8px 10px;}
.sa-row .big-select{max-width:180px;}
.split-totals{margin:12px 0;border-top:2px solid var(--choc,#7D0D0D);padding-top:8px;}
.st-row{display:flex;justify-content:space-between;padding:6px 2px;font-size:16px;}
.split-part{border:1.5px solid #e8e0d5;border-radius:14px;padding:12px;margin-bottom:10px;background:#fff;}
.split-part.paid{border-color:#bfe3c9;background:#f4fbf5;}
.sp-head{display:flex;align-items:center;gap:10px;margin-bottom:6px;flex-wrap:wrap;}
.sp-amount{margin-left:auto;font-weight:700;font-size:17px;}
.sp-pay{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;}
.sp-pay.hidden{display:none;}

/* ---- Mon planning ---- */
.mp-shift{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid #eee;border-radius:12px;margin-bottom:8px;background:#fff;}
.mp-avail-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #f2f2f2;}
.mp-avail-row b{width:90px;}
.mp-avail-row input[type=time]{width:110px;padding:8px;border:1.5px solid #ddd;border-radius:10px;font-size:15px;}
.mp-check{display:flex;align-items:center;gap:6px;font-weight:600;}
.mp-check input{width:20px;height:20px;}

/* ---- Liste d'attente (waitlist) ---- */
.waitlist-card{background:#fff;border:1px solid #e5e5e5;border-radius:14px;padding:14px;margin-bottom:14px;}
.waitlist-card h3{margin:0 0 10px;color:var(--choc);}
.wl-form{display:grid;grid-template-columns:2fr 2fr 90px 1.5fr auto;gap:8px;align-items:start;margin-bottom:8px;}
.wl-list{display:flex;flex-direction:column;gap:8px;}
.wl-item{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;
  border:1px solid #eee;border-radius:10px;padding:10px 12px;background:#fafafa;flex-wrap:wrap;}
.wl-info{flex:1;min-width:200px;}
.wl-actions{white-space:nowrap;}
.wl-seat{width:100%;margin-top:8px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.wl-seat.hidden{display:none;}
.vip-badge{display:inline-block;background:#7D0D0D;color:#ffd97a;font-weight:bold;font-size:12px;
  border-radius:20px;padding:2px 10px;margin-left:6px;vertical-align:middle;}
.noshow-badge{display:inline-block;background:#fef2f2;color:#b91c1c;font-size:12px;font-weight:bold;
  border:1px solid #fecaca;border-radius:20px;padding:2px 10px;margin-left:6px;vertical-align:middle;}
@media (max-width:900px){ .wl-form{grid-template-columns:1fr 1fr;} }
