
:root{
  --bg:#0b1220;
  --fg:#e8eefc;
  --panel:#111b2f;
  --card:#0e1730;
  --border:#1a2742;
  --muted:#89a0c6;

  --accent:#4f7cff;

  --ok:#12b886;           /* Encodage caisse confirmé */
  --warn:#fab005;         /* Commandée */
  --danger:#f03e3e;       /* Nouvelle commande */
  --violet:#845ef7;       /* À encoder en caisse */
  --blue:#339af0;         /* En cours */
  --gray:#495057;         /* Vide */
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  background:var(--bg);
  color:var(--fg);
  font:16px/1.4 system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  padding:16px;
}

h1{margin:0;font-size:22px;font-weight:700}
h2{margin:0;font-size:18px}

.page-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 0 12px 0;
}

.support-trigger{
  width:34px;
  height:34px;
  min-width:34px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.10);
  color:#dbe7ff;
  font-size:14px;
  box-shadow:none;
}
.support-trigger:hover{filter:none;background:rgba(255,255,255,0.10)}

.support-panel[hidden]{display:none !important}
.support-panel{
  position:fixed;
  inset:0;
  z-index:1200;
}
.support-backdrop{
  position:absolute;
  inset:0;
  background:rgba(2,6,23,0.68);
}
.support-modal{
  position:relative;
  width:min(520px, calc(100vw - 32px));
  margin:72px auto 0;
  background:#0f172a;
  border:1px solid rgba(255,255,255,0.08);
  border-radius:18px;
  padding:18px;
  box-shadow:0 18px 48px rgba(2,6,23,0.45);
}
.support-modal-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.support-kicker{
  color:var(--muted);
  font-size:12px;
  font-weight:700;
  letter-spacing:0.3px;
  text-transform:uppercase;
  margin-bottom:2px;
}
.support-copy{
  margin:10px 0 14px;
  color:var(--muted);
  font-size:14px;
}
.support-fields{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.support-fields label{color:var(--muted); font-size:13px}
.support-fields input{
  width:100%;
  padding:10px 12px;
  background:var(--card);
  border:1px solid #223155;
  border-radius:10px;
  color:var(--fg);
}
.support-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}
.btn-secondary{
  background:#223155;
  color:#dbe7ff;
}
.support-close{
  width:34px;
  height:34px;
  min-width:34px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#17233d;
  color:#e8eefc;
}

button{
  background:var(--accent);
  color:white;
  border:none;
  border-radius:10px;
  padding:10px 12px;
  cursor:pointer;
  font-weight:600;
}
button:hover{filter:brightness(1.05)}

.layout{
  display:grid;
  grid-template-columns:1fr 360px;
  gap:14px;
  align-items:start;
}
@media (max-width:1100px){
  .layout{grid-template-columns:1fr}
}

.tables-section,
.summary-section{
  border:1px solid var(--border);
  background:var(--panel);
  border-radius:14px;
  overflow:hidden;
}

.summary-section{
  display:flex;
  flex-direction:column;
  min-height:0;
}

.section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:12px 14px;
  border-bottom:1px solid var(--border);
}

.summary-section .section-head{
  position:sticky;
  top:0;
  z-index:2;
  background:var(--panel);
}

.controls{
  display:flex;
  gap:10px;
  align-items:center;
}
select{
  background:var(--card);
  color:var(--fg);
  border:1px solid #223155;
  border-radius:10px;
  padding:8px 10px;
}

.empty{
  padding:14px;
  color:var(--muted);
}

/* Zone tables */
#tables{
  display:flex;
  flex-direction:column;
  gap:18px;
  padding:12px;
}

.tables-grid{
  display:grid;
  gap:14px;
}

.tables-grid--active{
  grid-template-columns:repeat(auto-fill, minmax(285px, 1fr));
}

.tables-empty-section{
  border-top:1px solid rgba(255,255,255,0.06);
  padding-top:18px;
}

.tables-subtitle{
  font-size:16px;
  font-weight:800;
  color:#f3f6ff;
  margin-bottom:12px;
}

.tables-grid--empty{
  grid-template-columns:repeat(auto-fill, minmax(300px, 1fr));
}

/* Carte table */
.table{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:16px;
  padding:14px;
  display:flex;
  flex-direction:column;
  gap:12px;
  min-height:158px;
  border-left:6px solid transparent;
  box-shadow:0 10px 24px rgba(2,6,23,0.16);
  cursor:pointer;
}

.table--empty{
  min-height:104px;
  padding:12px 14px;
  box-shadow:none;
}

/* Header table */
.card-head{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}

.card-body{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:auto;
}

.card-time-row{
  display:flex;
  align-items:center;
  gap:8px;
}

.chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 12px;
  border-radius:999px;
  background:#223155;
  color:var(--fg);
  font-size:12px;
  font-weight:700;
  letter-spacing:0.2px;
}
.chip.muted{font-weight:600;color:var(--muted)}
.chip-id{
  font-size:16px;
  font-weight:800;
  padding:9px 14px;
  min-width:56px;
  justify-content:center;
}
.chip-status{
  font-size:15px;
  font-weight:800;
  padding:9px 16px;
}
.chip-time{
  background:#24345e;
  color:#f8fafc;
  font-size:12px;
  font-weight:800;
}

/* Actions */
.card-actions{
  display:flex;
  gap:10px;
  align-items:center;
}
.btn{
  flex:1;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid #223155;
  background:#16203a;
  color:var(--fg);
  font-weight:800;
}
.btn-primary{border:none;background:var(--accent); color:white}
.btn:active{transform:translateY(1px)}

/* Status colors (card + chip) */
.status-vide{border-left-color:var(--gray)}
.status-en_cours{border-left-color:var(--blue)}
.status-commandee{border-left-color:var(--warn)}
.status-en_preparation{border-left-color:var(--blue)}
.status-nouvelle_commande{border-left-color:var(--warn)}
.status-a_encoder_caisse{border-left-color:var(--violet)}
.status-encodage_caisse_confirme{border-left-color:var(--ok)}
.status-cloture_anomalie{border-left-color:var(--danger)}
.status-cloturee{border-left-color:var(--gray)}

.chip.status-vide{background:#2b2f36}
.chip.status-en_cours{background:var(--blue); color:#061827}
.chip.status-commandee{background:var(--warn); color:#2b2100}
.chip.status-en_preparation{background:#3b82f6; color:#eff6ff}
.chip.status-nouvelle_commande{background:var(--warn); color:#2b2100}
.chip.status-a_encoder_caisse{background:var(--violet)}
.chip.status-encodage_caisse_confirme{background:var(--ok); color:#062114}
.chip.status-cloture_anomalie{background:var(--danger)}
.chip.status-cloturee{background:#334155; color:#e2e8f0}

/* Pulse for Commandée + Nouvelle commande, and only while class .pulse is present */
@keyframes pulse {
  0% { box-shadow: 0 0 0 0 rgba(240,62,62,0.55); }
  70% { box-shadow: 0 0 0 14px rgba(240,62,62,0); }
  100% { box-shadow: 0 0 0 0 rgba(240,62,62,0); }
}
.status-nouvelle_commande.pulse,
.status-commandee.pulse{
  animation:pulse 1s infinite;
}

/* Summary styling */
#summary{
  padding:12px;
  display:flex;
  flex-direction:column;
  gap:10px;
  max-height:min(70vh, 720px);
  overflow-y:auto;
  overscroll-behavior:contain;
}
#summary .wrapper{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:14px;
  padding:10px 12px;
}
#summary .head{
  display:flex;
  gap:8px;
  align-items:center;
  margin-bottom:6px;
}
#summary .line{color:var(--fg); font-size:13px}
#summary .items{color:var(--muted); font-size:13px}

#summary .summaryItem{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:14px;
  padding:12px;
}
#summary .summaryItem--clickable{
  width:100%;
  text-align:left;
  cursor:pointer;
  transition:transform .12s ease, border-color .12s ease, background .12s ease, box-shadow .12s ease;
}
#summary .summaryItem--clickable:hover,
#summary .summaryItem--clickable:focus-visible{
  outline:none;
  border-color:rgba(96,165,250,.55);
  background:rgba(30,41,59,.96);
  box-shadow:0 10px 24px rgba(2,6,23,.28);
  transform:translateY(-1px);
}
#summary .summaryItem .head{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  margin-bottom:8px;
}
#summary .summaryItem .summaryHeadTop{
  align-items:center;
}
#summary .summaryItem .summaryHeadBottom{
  margin-top:2px;
}
#summary .summaryItem .chip-total{
  padding:9px 16px;
  font-size:13px;
  font-weight:800;
}
#summary .summaryItem .body{
  color:var(--fg);
  font-size:13px;
  line-height:1.45;
}
#summary .summaryMeta{
  margin-top:8px;
  color:var(--muted);
  font-size:12px;
}

.chip-action{color:white;font-weight:800;font-size:14px;padding:10px 16px;}
.chip-action--danger{background:#ff5a52;color:white;}
.chip-action--cash{background:#a78bfa;color:#f8f5ff;}

.summary-section.collapsed .summary-body{display:none;}
.summary-section .section-head .controls{display:flex;gap:10px;align-items:center;}
.summary-section{height:auto;}
.summary-body{display:block;}
#summary{max-height:min(60vh, 560px);}

.table:hover{
  border-color:rgba(96,165,250,0.28);
}

@media (max-width: 900px){
  .tables-grid--active,
  .tables-grid--empty{
    grid-template-columns:1fr;
  }
}


.staff-alert-banner[hidden]{display:none !important}
.staff-alert-banner{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin:0 0 12px 0;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid rgba(248,113,113,0.35);
  background:linear-gradient(180deg, rgba(127,29,29,0.96) 0%, rgba(153,27,27,0.96) 100%);
  color:#fee2e2;
  box-shadow:0 14px 30px rgba(127,29,29,0.28);
}
.staff-alert-banner__icon{
  width:28px;
  height:28px;
  min-width:28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:rgba(255,255,255,0.12);
  font-weight:800;
}
.staff-alert-banner__body{display:flex;flex-direction:column;gap:2px}
.staff-alert-banner__title{font-size:14px;font-weight:800;color:#fff1f2}
.staff-alert-banner__text{font-size:13px;line-height:1.45;color:#ffe4e6}

.staff-notice[hidden]{display:none !important}
.staff-notice{
  position:fixed;
  top:76px;
  right:16px;
  z-index:1250;
  min-width:min(420px, calc(100vw - 32px));
  max-width:min(520px, calc(100vw - 32px));
  padding:12px 14px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,0.10);
  background:rgba(15,23,42,0.96);
  box-shadow:0 18px 42px rgba(2,6,23,0.35);
}
.staff-notice--info{border-color:rgba(96,165,250,0.35);background:rgba(15,23,42,0.96)}
.staff-notice--success{border-color:rgba(18,184,134,0.35);background:rgba(6,78,59,0.94)}
.staff-notice--error{border-color:rgba(240,62,62,0.35);background:rgba(127,29,29,0.94)}
.staff-notice__text{font-size:14px;line-height:1.45;color:#f8fafc}
@media (max-width: 640px){
  .staff-notice{left:16px;right:16px;min-width:auto;max-width:none}
}
body.staff-degraded [data-critical-action="true"]{
  opacity:0.48;
  pointer-events:none;
  cursor:not-allowed;
  filter:grayscale(0.2);
  box-shadow:none !important;
}
body.staff-degraded [data-critical-action="true"]:hover{filter:grayscale(0.2)}
body.staff-degraded [data-critical-action="true"]:disabled{opacity:0.48}


.staff-cash-tunnel-open{overflow:hidden}
.staff-cash-tunnel{position:fixed;inset:0;z-index:1600;background:rgba(2,6,23,.76);backdrop-filter:blur(6px);padding:24px;display:flex;align-items:stretch;justify-content:center}
.staff-cash-tunnel__shell{width:min(1240px,100%);height:100%;display:flex;flex-direction:column;background:linear-gradient(180deg,rgba(15,23,42,.98) 0%,rgba(17,24,39,.98) 100%);border:1px solid rgba(148,163,184,.18);border-radius:28px;box-shadow:0 30px 90px rgba(2,6,23,.45);overflow:hidden}
.staff-cash-tunnel__header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:28px 30px 18px;border-bottom:1px solid rgba(148,163,184,.12)}
.staff-cash-tunnel__eyebrow{font-size:28px;font-weight:900;letter-spacing:-.01em;text-transform:none;color:#93c5fd;margin-bottom:8px;line-height:1.05}
.staff-cash-tunnel__header h2{margin:0;font-size:22px;line-height:1.08;color:#f8fafc}
.staff-cash-tunnel__close,.staff-cash-tunnel__ghost,.staff-cash-tunnel__secondary,.staff-cash-tunnel__primary,.staff-cash-tunnel__confirm{border:none;border-radius:16px;padding:14px 18px;font-size:15px;font-weight:800;cursor:pointer}
.staff-cash-tunnel__close{background:linear-gradient(135deg,#dc2626 0%,#ef4444 100%);color:#fff;border:1px solid rgba(248,113,113,.45);box-shadow:0 12px 28px rgba(220,38,38,.22)}
.staff-cash-tunnel__ghost{background:rgba(148,163,184,.12);color:#e2e8f0;border:1px solid rgba(148,163,184,.18)}
.staff-cash-tunnel__print-ticket{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-width:340px;min-height:68px;padding:18px 28px!important;border-radius:20px!important;font-size:20px!important;font-weight:900!important;letter-spacing:-.012em;background:linear-gradient(135deg,#f59e0b 0%,#f97316 100%)!important;color:#ffffff!important;border:1px solid rgba(251,191,36,.72)!important;box-shadow:0 18px 38px rgba(249,115,22,.24),inset 0 1px 0 rgba(255,255,255,.16)!important;white-space:nowrap}
.staff-cash-tunnel__print-ticket-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:12px;background:rgba(255,255,255,.18);font-size:22px;line-height:1;flex:0 0 auto}
.staff-cash-tunnel__print-ticket-label{display:inline-flex;align-items:center;line-height:1.08}
.staff-cash-tunnel__print-ticket.is-printing{background:linear-gradient(135deg,rgba(249,115,22,.86) 0%,rgba(251,146,60,.82) 100%)!important;border-color:rgba(251,191,36,.56)!important;box-shadow:0 14px 30px rgba(249,115,22,.18)!important}
.staff-cash-tunnel__content{flex:1;overflow:auto;padding:28px 30px 30px}
.staff-cash-tunnel__choice-stage{min-height:calc(100vh - 290px);display:flex;align-items:center;justify-content:center}
.staff-cash-tunnel__card{width:min(980px,100%);max-width:980px;margin:0 auto;background:transparent;border:none;border-radius:24px;padding:0;box-shadow:none}
.staff-cash-tunnel__question{font-size:34px;line-height:1.12;font-weight:900;color:#f8fafc;margin-bottom:0;text-align:center;transform:translateY(-18px)}
.staff-cash-tunnel__choice-actions{display:flex;justify-content:center;align-items:stretch;gap:40px;margin-top:22px}
.staff-cash-tunnel__choice-actions .staff-cash-tunnel__ghost{grid-column:1/-1}
.staff-cash-tunnel__primary{background:linear-gradient(135deg,rgba(22,163,74,.9) 0%,rgba(34,197,94,.72) 100%);color:#fff;border:1px solid rgba(74,222,128,.5);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 16px 34px rgba(22,163,74,.14)}
.staff-cash-tunnel__secondary{background:linear-gradient(135deg,rgba(91,65,181,.82) 0%,rgba(115,81,214,.72) 100%);color:#f8fafc;border:1px solid rgba(167,139,250,.34);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 16px 34px rgba(124,58,237,.12)}
.staff-cash-tunnel__choice-button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:148px;width:min(460px,100%);padding:22px 28px;border-radius:22px;font-size:28px;font-weight:900;letter-spacing:-.02em}
.staff-cash-tunnel__btn-icon{display:inline-flex;align-items:center;justify-content:center;width:82px;height:82px;font-size:56px;line-height:1;color:#fff;flex:0 0 auto}
.staff-cash-tunnel__btn-icon svg{width:70px;height:70px;display:block}
.staff-cash-tunnel__choice-button span:last-child{display:inline-flex;align-items:center;justify-content:center;line-height:1.05}
.staff-cash-tunnel__close:hover{filter:brightness(1.04)}
.staff-cash-tunnel__choice-button:hover{transform:translateY(-1px)}
.staff-cash-tunnel__choice-button:active{transform:translateY(0)}
.staff-cash-tunnel__topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin:-6px 0 18px}
.staff-cash-tunnel__guest-tabs{display:flex;flex-wrap:wrap;gap:12px;margin:0;flex:1}.staff-cash-tunnel__guest-tab{appearance:none;border:1px solid rgba(96,165,250,.28);background:rgba(30,41,59,.78);color:#cbd5e1;border-radius:999px;padding:10px 16px;font-size:14px;font-weight:800;line-height:1;cursor:pointer;transition:all .16s ease}.staff-cash-tunnel__guest-tab:hover{border-color:rgba(147,197,253,.44);color:#f8fafc;transform:translateY(-1px)}.staff-cash-tunnel__guest-tab.is-active{background:linear-gradient(135deg,rgba(59,130,246,.34) 0%,rgba(99,102,241,.30) 100%);border-color:rgba(96,165,250,.56);color:#ffffff;box-shadow:0 10px 24px rgba(37,99,235,.16)}
.staff-cash-tunnel__article-badge{display:inline-flex;align-items:center;gap:14px;min-height:74px;padding:16px 22px;border-radius:22px;background:linear-gradient(180deg, rgba(76,99,196,.34) 0%, rgba(61,80,165,.28) 100%);border:1px solid rgba(96,125,255,.50);box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.staff-cash-tunnel__article-badge-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:14px;background:rgba(255,255,255,.12);font-size:20px;line-height:1;color:#f8fafc}
.staff-cash-tunnel__article-badge-text{font-size:19px;font-weight:900;color:#f8fafc;letter-spacing:-.015em}

.staff-cash-tunnel__total{
  font-size:28px;
  font-weight:900;
  color:#ffffff !important;
}
.staff-cash-tunnel__families{display:grid;grid-template-columns:1fr;gap:20px;align-items:start}
.staff-cash-tunnel__family{background:linear-gradient(180deg, rgba(12,20,42,.98) 0%, rgba(10,18,38,.94) 100%);border:1px solid rgba(148,163,184,.14);border-radius:22px;padding:0;box-shadow:inset 0 1px 0 rgba(255,255,255,.02);overflow:hidden;--family-accent-bg:linear-gradient(90deg, rgba(59,130,246,.32) 0%, rgba(59,130,246,.18) 58%, rgba(59,130,246,.08) 100%);--family-accent-border:rgba(96,165,250,.44);--family-accent-chip-bg:rgba(59,130,246,.20);--family-accent-chip-border:rgba(96,165,250,.34);--family-accent-chip-text:#eff6ff;--family-accent-total:#ffffff;--family-surface-bg:linear-gradient(180deg, rgba(59,130,246,.18) 0%, rgba(59,130,246,.10) 100%);--family-surface-divider:rgba(96,165,250,.14)}
.staff-cash-tunnel__family-head{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:16px 20px 14px;margin:0;background:var(--family-accent-bg);border-bottom:1px solid var(--family-accent-border)}
.staff-cash-tunnel__family-head h3{margin:0;font-size:19px;font-weight:900;color:#f8fafc;letter-spacing:-.015em}
.staff-cash-tunnel__family-head span{
  font-size:14px;
  font-weight:800;
  color:#ffffff !important;
}
.staff-cash-tunnel__lines{display:flex;flex-direction:column;padding:12px 22px 14px}
.staff-cash-tunnel__line{padding:14px 2px 12px;background:transparent;border:none}
.staff-cash-tunnel__line+.staff-cash-tunnel__line{border-top:1px solid var(--family-surface-divider)}
.staff-cash-tunnel__line-main{display:flex;align-items:center;gap:12px;padding:0}
.staff-cash-tunnel__line-left{display:flex;align-items:flex-start;gap:12px;min-width:0;flex:1}
.staff-cash-tunnel__thumb{display:none}
.staff-cash-tunnel__thumb-image{display:none}
.staff-cash-tunnel__line-copy{min-width:0;flex:1}
.staff-cash-tunnel__line-head{display:flex;align-items:center;justify-content:flex-start;gap:10px;min-width:0;flex-wrap:wrap}
.staff-cash-tunnel__line-name{font-size:17px;font-weight:900;color:#f8fafc;line-height:1.2;min-width:0;letter-spacing:-.012em}
.staff-cash-tunnel__extras-inline{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;min-width:0;flex:0 1 auto}.staff-cash-tunnel__extras-separator{font-size:12px;font-weight:900;line-height:1;color:rgba(226,232,240,.72)}.staff-cash-tunnel__extras-chip{display:inline-flex;align-items:center;min-height:22px;padding:3px 9px;border-radius:999px;background:var(--family-accent-chip-bg);border:1px solid var(--family-accent-chip-border);font-size:11px;line-height:1.05;font-weight:700;color:var(--family-accent-chip-text);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.staff-cash-tunnel__note{margin-top:6px;display:inline-flex;align-items:center;width:fit-content;max-width:100%;padding:5px 9px;border-radius:12px;background:rgba(251,146,60,.13);border:1px solid rgba(251,146,60,.28);color:#fed7aa;font-size:12px;font-weight:800;line-height:1.25}
.staff-cash-tunnel__line-right{display:none}
.staff-cash-tunnel__qty{display:inline-flex;align-items:center;justify-content:center;min-width:56px;padding:7px 12px;border-radius:14px;background:rgba(99,102,241,.26);color:#eef2ff;font-size:14px;font-weight:900;line-height:1;flex:0 0 auto}
.staff-cash-tunnel__line-total{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 12px;border-radius:999px;background:rgba(30,41,59,.88);border:1px solid rgba(148,163,184,.22);font-size:15px;font-weight:900;color:#ffffff;white-space:nowrap;flex:0 0 auto;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.staff-cash-tunnel__footer{display:flex;justify-content:flex-start;gap:14px;align-items:center;margin-top:26px}
.staff-cash-tunnel__confirm{background:linear-gradient(135deg,#16a34a 0%,#22c55e 100%);color:#ffffff;min-width:420px;min-height:76px;padding:22px 30px!important;border-radius:22px!important;font-size:21px!important;box-shadow:0 18px 38px rgba(22,163,74,.22),inset 0 1px 0 rgba(255,255,255,.12)}
.staff-cash-tunnel__confirm:disabled{opacity:.68;cursor:not-allowed;filter:none;box-shadow:none}
.staff-cash-tunnel__empty{padding:28px;border-radius:18px;background:rgba(15,23,42,.35);border:1px dashed rgba(148,163,184,.24);font-size:15px;color:#cbd5e1}
@media (max-width: 1120px){.staff-cash-tunnel__families{grid-template-columns:1fr}.staff-cash-tunnel__family{padding:18px 18px 16px}}
@media (max-width: 900px){.staff-cash-tunnel{padding:12px}.staff-cash-tunnel__shell{border-radius:18px}.staff-cash-tunnel__header,.staff-cash-tunnel__content{padding:18px}.staff-cash-tunnel__choice-stage{min-height:calc(100vh - 220px)}.staff-cash-tunnel__footer,.staff-cash-tunnel__choice-actions{grid-template-columns:1fr;display:grid}.staff-cash-tunnel__topbar{flex-direction:column;align-items:flex-start;margin:-2px 0 16px}.staff-cash-tunnel__guest-tabs{width:100%}.staff-cash-tunnel__confirm{min-width:0;width:100%}.staff-cash-tunnel__line-head{gap:10px}}
@media (max-width: 640px){.staff-cash-tunnel__family-head h3{font-size:18px}.staff-cash-tunnel__family-head span{
  font-size:14px;
  font-weight:800;
  color:#ffffff !important;
}.staff-cash-tunnel__line-main{gap:10px}.staff-cash-tunnel__qty{min-width:46px;padding:6px 9px;font-size:13px}.staff-cash-tunnel__line-name{font-size:16px}.staff-cash-tunnel__extras-inline{gap:5px}.staff-cash-tunnel__extras-chip{font-size:10px;padding:3px 8px}.staff-cash-tunnel__line-total{font-size:14px;min-height:28px;padding:0 10px;margin-left:6px}}

/* Tablet Sunmi landscape optimization — 3 colonnes + résumé intégré */
.layout{
  display:block;
  width:100%;
}

.tables-section--tablet{
  width:100%;
}

.section-head--staff-main{
  min-height:74px;
  align-items:center;
}

.section-title-block{
  display:flex;
  align-items:center;
  min-width:140px;
}

.staff-main-toolbar{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:18px;
  flex:1;
  min-width:0;
}

.controls--tables,
.controls--summary{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:nowrap;
}

.section-head-divider{
  width:1px;
  align-self:stretch;
  min-height:38px;
  background:rgba(148,163,184,0.18);
}

.summary-head-inline{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:16px;
  min-width:min(430px, 46vw);
}

.summary-head-inline h2{
  white-space:nowrap;
}

.tables-section--tablet .summary-section{
  border:0;
  border-radius:0;
  background:transparent;
  overflow:visible;
}

.tables-section--tablet .summary-body{
  border-bottom:1px solid var(--border);
  background:rgba(11,18,32,0.28);
}

.tables-section--tablet #summary{
  max-height:min(34vh, 360px);
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
}

.tables-section--tablet #summary .summaryItem,
.tables-section--tablet #summary .wrapper{
  min-width:0;
}

@media (min-width: 1080px){
  .tables-section--tablet .tables-grid--active,
  .tables-section--tablet .tables-grid--empty{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 900px) and (max-width: 1079px){
  .tables-section--tablet .tables-grid--active,
  .tables-section--tablet .tables-grid--empty{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 899px){
  .section-head--staff-main{
    align-items:flex-start;
    flex-direction:column;
  }
  .staff-main-toolbar{
    width:100%;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:12px;
  }
  .section-head-divider{display:none;}
  .summary-head-inline{
    min-width:0;
    width:100%;
    justify-content:space-between;
  }
  .tables-section--tablet #summary{
    grid-template-columns:1fr;
  }
}


/* Hotfix tablette Sunmi — panneaux latéraux homogènes */
:root{
  --staff-side-panel-width: 440px;
}

/* Le panneau détail table est plus large pour masquer la 3e colonne partielle. */
#tableDetailPanel{
  width:var(--staff-side-panel-width, 440px) !important;
  box-sizing:border-box;
}

/* Le résumé du jour s'ouvre maintenant comme un panneau latéral droit. */
.tables-section--tablet .summary-section{
  position:fixed;
  top:0;
  right:0;
  width:var(--staff-side-panel-width, 440px);
  max-width:calc(100vw - 24px);
  height:100vh;
  box-sizing:border-box;
  z-index:490;
  display:flex;
  flex-direction:column;
  gap:14px;
  padding:18px;
  border:0;
  border-left:1px solid rgba(255,255,255,0.08);
  border-radius:0;
  background:#0f172a;
  box-shadow:-18px 0 42px rgba(0,0,0,0.24);
  overflow-y:auto;
}

.tables-section--tablet .summary-section.collapsed{
  display:none;
}

.summary-drawer-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:0 0 12px;
  border-bottom:1px solid rgba(255,255,255,0.08);
}

.summary-drawer-head h2{
  margin:0;
  font-size:22px;
  font-weight:800;
  color:#f8fafc;
}

.summary-drawer-head button{
  width:auto;
  min-width:72px;
  padding:7px 12px;
  border-radius:999px;
  background:#17233d;
  color:#e8eefc;
  font-size:13px;
}

.tables-section--tablet .summary-body{
  display:block;
  flex:1;
  min-height:0;
  border-bottom:0;
  background:transparent;
  overflow:visible;
}

.tables-section--tablet #summary{
  display:flex;
  flex-direction:column;
  gap:12px;
  max-height:none;
  overflow:visible;
}

.tables-section--tablet #summary .summaryItem,
.tables-section--tablet #summary .wrapper{
  width:100%;
  min-width:0;
}

@media (max-width: 899px){
  :root{--staff-side-panel-width: min(440px, 92vw);}
}

/* Hotfix PWA Staff — lisibilité tablette +10%
   Objectif : augmenter textes et badges sans zoom global brutal ni débordement. */
body{
  font-size:17.6px;
  line-height:1.42;
}

h1{font-size:24px;line-height:1.12;}
h2{font-size:20px;line-height:1.16;}

button,
select,
input,
textarea{
  font-size:15.5px;
}

button{
  padding:11px 14px;
}
select{
  padding:9px 12px;
}

/* En-têtes et barres de contrôle */
.page-header{gap:14px;margin-bottom:14px;}
.support-trigger,
.support-close{
  width:38px;
  height:38px;
  min-width:38px;
  font-size:15px;
}
.section-head{
  padding:13px 15px;
  gap:12px;
}
.controls,
.controls--tables,
.controls--summary{
  gap:11px;
}
.section-title-block{min-width:150px;}

/* Cartes tables : textes/badges +10%, dimensions légèrement ajustées */
#tables{
  gap:19px;
  padding:13px;
}
.tables-grid{gap:15px;}
.tables-subtitle{
  font-size:17.5px;
  line-height:1.18;
  margin-bottom:13px;
}
.table{
  padding:15px;
  gap:13px;
  min-height:168px;
}
.table--empty{
  min-height:112px;
  padding:13px 15px;
}
.card-head{
  gap:11px;
}
.card-body{
  gap:11px;
}
.card-time-row{gap:9px;}

.chip{
  font-size:13.2px;
  line-height:1.12;
  padding:8px 13px;
  min-width:0;
  max-width:100%;
}
.chip-id{
  font-size:17.6px;
  padding:10px 15px;
  min-width:61px;
}
.chip-status{
  font-size:16.5px;
  padding:10px 17px;
}
.chip-time{
  font-size:13.2px;
}
.chip-action{
  font-size:15.4px;
  padding:11px 17px;
}
.btn{
  font-size:15.5px;
  padding:11px 14px;
}

/* Panneaux latéraux table + résumé : mêmes proportions, plus lisibles */
#tableDetailPanel,
.tables-section--tablet .summary-section{
  font-size:17.6px;
}
#tableDetailPanel button,
.tables-section--tablet .summary-section button{
  font-size:15.5px;
}
.summary-drawer-head h2{
  font-size:24px;
  line-height:1.12;
}
.summary-drawer-head button{
  font-size:14.5px;
  padding:8px 14px;
  min-width:80px;
}

/* Résumé du jour */
#summary{
  gap:13px;
  padding:13px;
}
#summary .wrapper,
#summary .summaryItem{
  padding:13px;
}
#summary .line,
#summary .items,
#summary .summaryItem .body{
  font-size:14.3px;
  line-height:1.48;
}
#summary .summaryMeta{
  font-size:13.2px;
  line-height:1.38;
}
#summary .summaryItem .chip-total{
  font-size:14.3px;
  padding:10px 17px;
}

/* Alertes staff et notices */
.staff-alert-banner{
  padding:13px 15px;
  gap:13px;
}
.staff-alert-banner__title{
  font-size:15.4px;
}
.staff-alert-banner__text{
  font-size:14.3px;
}
.staff-notice__text{
  font-size:15.4px;
}

/* Modale support */
.support-kicker{font-size:13.2px;}
.support-copy{font-size:15.4px;line-height:1.45;}
.support-fields label{font-size:14.3px;}
.support-fields input{font-size:15.5px;padding:11px 13px;}

/* Tunnel encodage : hausse contrôlée sans casser la tablette */
.staff-cash-tunnel__eyebrow{font-size:30px;}
.staff-cash-tunnel__header h2{font-size:24px;}
.staff-cash-tunnel__close,
.staff-cash-tunnel__ghost,
.staff-cash-tunnel__secondary,
.staff-cash-tunnel__primary,
.staff-cash-tunnel__confirm{
  font-size:16.5px;
}
.staff-cash-tunnel__question{font-size:37px;}
.staff-cash-tunnel__choice-button{font-size:30px;}
.staff-cash-tunnel__guest-tab{font-size:15.4px;}
.staff-cash-tunnel__article-badge-text{font-size:21px;}
.staff-cash-tunnel__total{font-size:31px;}
.staff-cash-tunnel__family-head h3{font-size:21px;}
.staff-cash-tunnel__family-head span{font-size:15.4px;}
.staff-cash-tunnel__line-name{font-size:18.7px;}
.staff-cash-tunnel__extras-chip{font-size:12.1px;}
.staff-cash-tunnel__note{font-size:13.2px;}
.staff-cash-tunnel__qty{font-size:15.4px;}
.staff-cash-tunnel__line-total{font-size:16.5px;}
.staff-cash-tunnel__empty{font-size:16.5px;}

/* Sécurité anti-débordement sur tablette */
.chip,
.btn,
button,
#summary .summaryItem,
#tableDetailPanel,
.tables-section--tablet .summary-section{
  overflow-wrap:anywhere;
}
.card-head,
#summary .summaryItem .head{
  min-width:0;
}

@media (max-width: 899px){
  body{font-size:17px;}
  h1{font-size:23px;}
  h2{font-size:19px;}
  .chip-status{font-size:15.5px;}
  .chip-id{font-size:17px;}
}

/* Hotfix PWA Staff — lisibilité tablette +10% supplémentaire
   + panneaux détail table / résumé du jour renforcés +20%.
   Méthode : tailles ciblées, pas de zoom global, protections anti-débordement. */
:root{
  --staff-side-panel-width: 480px;
}

body{
  font-size:19.2px;
  line-height:1.44;
}

h1{font-size:26.4px;line-height:1.10;}
h2{font-size:22px;line-height:1.14;}

button,
select,
input,
textarea{
  font-size:17px;
}

button{
  padding:12px 15px;
}
select{
  padding:10px 13px;
}

.page-header{gap:15px;margin-bottom:15px;}
.support-trigger,
.support-close{
  width:42px;
  height:42px;
  min-width:42px;
  font-size:16px;
}
.section-head{
  padding:14px 16px;
  gap:13px;
}
.controls,
.controls--tables,
.controls--summary{
  gap:12px;
}
.section-title-block{min-width:165px;}
.staff-main-toolbar{gap:19px;}
.summary-head-inline{gap:17px;}

#tables{
  gap:20px;
  padding:14px;
}
.tables-grid{gap:16px;}
.tables-subtitle{
  font-size:19.2px;
  line-height:1.18;
  margin-bottom:14px;
}
.table{
  padding:16px;
  gap:14px;
  min-height:178px;
}
.table--empty{
  min-height:122px;
  padding:14px 16px;
}
.card-head{gap:12px;min-width:0;}
.card-body{gap:12px;min-width:0;}
.card-time-row{gap:10px;min-width:0;}

.chip{
  font-size:14.5px;
  line-height:1.12;
  padding:9px 14px;
  max-width:100%;
  min-width:0;
  overflow-wrap:anywhere;
  white-space:normal;
}
.chip-id{
  font-size:19.3px;
  padding:11px 16px;
  min-width:67px;
}
.chip-status{
  font-size:18px;
  padding:11px 18px;
}
.chip-time{
  font-size:14.5px;
}
.chip-action{
  font-size:17px;
  padding:12px 18px;
}
.btn{
  font-size:17px;
  padding:12px 15px;
}

/* Panneaux latéraux : largeur + typographie renforcées pour Sunmi. */
#tableDetailPanel,
.tables-section--tablet .summary-section{
  width:var(--staff-side-panel-width, 480px) !important;
  max-width:calc(100vw - 24px);
  font-size:21px;
  line-height:1.46;
  padding:20px !important;
  gap:16px !important;
}

#tableDetailPanel *,
.tables-section--tablet .summary-section *{
  max-width:100%;
  min-width:0;
  overflow-wrap:anywhere;
}

#tableDetailPanel h2,
.summary-drawer-head h2{
  font-size:29px !important;
  line-height:1.08 !important;
  font-weight:900 !important;
}

#tableDetailPanel button,
.tables-section--tablet .summary-section button{
  font-size:18px !important;
  line-height:1.15 !important;
  padding:14px 18px !important;
  min-height:48px;
}

.summary-drawer-head{
  gap:14px;
  padding:0 0 16px;
}
.summary-drawer-head button{
  min-width:96px;
  padding:10px 16px !important;
}

/* Détail table : articles, tickets, badges, total. */
.staff-detail-head{
  gap:14px !important;
  margin-bottom:18px !important;
}
.staff-detail-head-actions{gap:10px !important;}
.staff-detail-status-chip{
  font-size:18px !important;
  line-height:1.12 !important;
  padding:12px 18px !important;
  margin-bottom:17px !important;
}
.staff-detail-context-meta,
.staff-detail-info{
  font-size:17px !important;
  line-height:1.52 !important;
  margin-bottom:16px !important;
}
.staff-detail-context-chip{
  font-size:16px !important;
  padding:9px 14px !important;
  line-height:1.15 !important;
}
.staff-detail-actions{
  gap:11px !important;
  margin-bottom:4px;
}

.staff-detail-ticket-card{
  padding:18px 18px 20px !important;
  margin-bottom:18px !important;
  gap:14px !important;
  border-radius:20px !important;
}
.staff-detail-ticket-head{
  gap:14px !important;
  align-items:flex-start !important;
}
.staff-detail-ticket-label{
  font-size:18px !important;
  line-height:1.25 !important;
}
.staff-detail-ticket-total{
  font-size:21px !important;
  line-height:1.15 !important;
}
.staff-detail-product-line{
  gap:9px !important;
}
.staff-detail-product-main{
  font-size:20.5px !important;
  line-height:1.32 !important;
  gap:12px !important;
}
.staff-detail-client-line{
  font-size:16px !important;
  line-height:1.35 !important;
}
.staff-detail-note-line{
  font-size:16px !important;
  line-height:1.35 !important;
  padding:9px 11px !important;
  border-radius:14px !important;
}
.staff-detail-extras-wrap{
  gap:9px !important;
  margin-top:4px !important;
}
.staff-detail-extras-label,
.staff-detail-extra-chip{
  font-size:15px !important;
  line-height:1.14 !important;
}
.staff-detail-extra-chip{
  padding:6px 12px !important;
}
.staff-detail-total-wrap{
  margin-top:8px !important;
  margin-bottom:22px !important;
}
.staff-detail-total-chip{
  gap:12px !important;
  padding:15px 18px !important;
  border-radius:999px !important;
}
.staff-detail-total-label{
  font-size:18px !important;
}
.staff-detail-total-value{
  font-size:27px !important;
  line-height:1.05 !important;
}

/* Résumé du jour : panneau vertical plus lisible et blocs proportionnés. */
.tables-section--tablet .summary-body{
  flex:1;
  min-height:0;
}
.tables-section--tablet #summary{
  gap:16px;
  padding:14px 0 0;
  max-height:none;
  overflow:visible;
}
#summary .wrapper,
#summary .summaryItem{
  padding:18px !important;
  border-radius:20px !important;
}
#summary .summaryItem .head{
  gap:10px !important;
  margin-bottom:11px !important;
}
#summary .line,
#summary .items,
#summary .summaryItem .body{
  font-size:17.2px !important;
  line-height:1.54 !important;
}
#summary .summaryMeta{
  font-size:16px !important;
  line-height:1.42 !important;
  margin-top:11px !important;
}
#summary .summaryItem .chip-total{
  font-size:17.2px !important;
  padding:12px 18px !important;
}
.tables-section--tablet #summary .chip{
  font-size:16.5px !important;
  padding:10px 15px !important;
}
.tables-section--tablet #summary .chip-status{
  font-size:18px !important;
  padding:11px 18px !important;
}

.staff-alert-banner{
  padding:15px 17px;
  gap:15px;
}
.staff-alert-banner__title{font-size:17px;}
.staff-alert-banner__text{font-size:16px;line-height:1.42;}
.staff-notice__text{font-size:17px;}

.support-kicker{font-size:14.5px;}
.support-copy{font-size:17px;line-height:1.47;}
.support-fields label{font-size:16px;}
.support-fields input{font-size:17px;padding:12px 14px;}

@media (max-width: 899px){
  :root{--staff-side-panel-width:min(480px, 94vw);}
  body{font-size:18.4px;}
  h1{font-size:25px;}
  h2{font-size:21px;}
  #tableDetailPanel,
  .tables-section--tablet .summary-section{
    font-size:19px;
    padding:18px !important;
  }
  #tableDetailPanel h2,
  .summary-drawer-head h2{
    font-size:26px !important;
  }
  .chip-status{font-size:16.8px;}
  .chip-id{font-size:18.3px;}
}



/* Hotfix mode encodage caisse — actions principales plus visibles tablette */
.staff-cash-tunnel__footer{justify-content:center;position:sticky;bottom:0;padding:16px 0 0;background:linear-gradient(180deg,rgba(15,23,42,0) 0%,rgba(15,23,42,.96) 38%,rgba(15,23,42,.98) 100%);z-index:3}
@media (max-width: 900px){
  .staff-cash-tunnel__header{grid-template-columns:1fr!important;align-items:stretch!important;gap:14px!important}
  .staff-cash-tunnel__print-ticket{justify-self:stretch!important;width:100%;min-width:0;min-height:72px;font-size:20px!important;padding:20px 22px!important}
  .staff-cash-tunnel__close{justify-self:stretch!important;min-height:58px}
  .staff-cash-tunnel__confirm{width:100%;min-width:0;min-height:82px;font-size:22px!important;padding:24px 22px!important}
}


/* Hotfix mode encodage caisse — liste articles 1 colonne optimisée tablette */
.staff-cash-tunnel__families{
  grid-template-columns:1fr !important;
  gap:24px !important;
}

.staff-cash-tunnel__family{
  border-radius:24px !important;
}

.staff-cash-tunnel__family-head{
  padding:20px 24px 18px !important;
}

.staff-cash-tunnel__family-head h3{
  font-size:25px !important;
  line-height:1.08 !important;
  letter-spacing:-.02em !important;
}

.staff-cash-tunnel__family-head span{
  font-size:18px !important;
  font-weight:900 !important;
}

.staff-cash-tunnel__lines{
  padding:12px 24px 18px !important;
}

.staff-cash-tunnel__line{
  padding:19px 0 18px !important;
}

.staff-cash-tunnel__line-main{
  display:grid !important;
  grid-template-columns:82px minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:22px !important;
  width:100% !important;
}

.staff-cash-tunnel__qty{
  min-width:72px !important;
  min-height:46px !important;
  padding:0 16px !important;
  border-radius:18px !important;
  font-size:20px !important;
  font-weight:950 !important;
}

.staff-cash-tunnel__line-copy{
  min-width:0 !important;
  width:100% !important;
}

.staff-cash-tunnel__line-head{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:14px !important;
  width:100% !important;
  min-width:0 !important;
  flex-wrap:wrap !important;
}

.staff-cash-tunnel__line-name{
  font-size:24px !important;
  line-height:1.08 !important;
  font-weight:950 !important;
  letter-spacing:-.022em !important;
  color:#ffffff !important;
}

.staff-cash-tunnel__extras-inline{
  gap:8px !important;
  flex:1 1 auto !important;
}

.staff-cash-tunnel__extras-separator{
  font-size:15px !important;
  font-weight:950 !important;
}

.staff-cash-tunnel__extras-chip{
  min-height:32px !important;
  padding:7px 13px !important;
  font-size:14px !important;
  line-height:1.05 !important;
  font-weight:850 !important;
}

.staff-cash-tunnel__line-total{
  min-height:42px !important;
  padding:0 18px !important;
  border-radius:999px !important;
  font-size:20px !important;
  font-weight:950 !important;
}

.staff-cash-tunnel__note{
  margin-top:10px !important;
  padding:8px 12px !important;
  font-size:14px !important;
}

@media (max-width: 900px){
  .staff-cash-tunnel__family-head{
    padding:18px 20px 16px !important;
  }

  .staff-cash-tunnel__line-main{
    grid-template-columns:72px minmax(0,1fr) auto !important;
    gap:16px !important;
  }

  .staff-cash-tunnel__line-name{
    font-size:21px !important;
  }

  .staff-cash-tunnel__extras-chip{
    font-size:13px !important;
    min-height:30px !important;
  }

  .staff-cash-tunnel__line-total{
    font-size:18px !important;
  }
}

@media (max-width: 640px){
  .staff-cash-tunnel__line-main{
    grid-template-columns:1fr !important;
    gap:10px !important;
    align-items:stretch !important;
  }

  .staff-cash-tunnel__qty,
  .staff-cash-tunnel__line-total{
    width:max-content !important;
  }

  .staff-cash-tunnel__line-name{
    font-size:20px !important;
  }
}


/* Hotfix mode encodage caisse — suppléments articles plus visibles */
.staff-cash-tunnel__extras-inline{
  gap:12px !important;
  margin-top:2px !important;
}

.staff-cash-tunnel__extras-separator{
  font-size:18px !important;
  font-weight:950 !important;
  color:rgba(241,245,249,.86) !important;
}

.staff-cash-tunnel__extras-chip{
  min-height:42px !important;
  padding:10px 18px !important;
  border-radius:999px !important;
  font-size:18px !important;
  line-height:1.05 !important;
  font-weight:900 !important;
  border-width:2px !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 8px 18px rgba(0,0,0,.12) !important;
}

@media (max-width: 900px){
  .staff-cash-tunnel__extras-inline{
    gap:10px !important;
  }

  .staff-cash-tunnel__extras-separator{
    font-size:16px !important;
  }

  .staff-cash-tunnel__extras-chip{
    min-height:38px !important;
    padding:9px 15px !important;
    font-size:16px !important;
  }
}

@media (max-width: 640px){
  .staff-cash-tunnel__extras-chip{
    min-height:36px !important;
    padding:8px 14px !important;
    font-size:15px !important;
  }
}

/* Beordy — canal À emporter V1 : file visible permanente staff */
.takeaway-section{
  margin:12px 12px 18px;
  padding:14px;
  border-radius:24px;
  background:#fff7f2;
  border:1px solid rgba(255,126,79,.28);
  box-shadow:0 16px 36px rgba(15,23,42,.08);
}

.takeaway-section--active{
  border-color:rgba(255,126,79,.55);
  box-shadow:0 20px 42px rgba(255,126,79,.16);
}

.takeaway-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}

.takeaway-kicker{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:900;
  color:rgba(20,20,38,.55);
}

.takeaway-head h2{
  margin:2px 0 0;
  font-size:20px;
  line-height:1;
  font-weight:950;
  color:#141426;
}

.takeaway-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:28px;
  min-height:28px;
  padding:0 8px;
  margin-left:6px;
  border-radius:999px;
  background:#ff7e4f;
  color:white;
  font-size:15px;
  font-weight:950;
}

.takeaway-refresh{
  border:0;
  border-radius:999px;
  padding:9px 13px;
  background:white;
  color:#141426;
  font-size:13px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(15,23,42,.08);
}

.takeaway-empty{
  padding:12px 10px;
  border-radius:18px;
  background:rgba(255,255,255,.72);
  color:rgba(20,20,38,.58);
  font-size:14px;
  font-weight:800;
  text-align:center;
}

.takeaway-orders{
  display:grid;
  gap:10px;
}

.takeaway-card{
  width:100%;
  border:0;
  text-align:left;
  border-radius:20px;
  padding:13px 14px;
  background:white;
  color:#141426;
  cursor:pointer;
  box-shadow:0 12px 26px rgba(15,23,42,.10);
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
  border:1px solid rgba(20,20,38,.06);
}

.takeaway-card:hover{
  transform:translateY(-1px);
  box-shadow:0 18px 32px rgba(15,23,42,.14);
}

.takeaway-card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:8px;
}

.takeaway-number{
  font-size:18px;
  font-weight:950;
  letter-spacing:-.02em;
}

.takeaway-status{
  padding:6px 9px;
  border-radius:999px;
  font-size:12px;
  font-weight:950;
  white-space:nowrap;
  background:rgba(255,126,79,.12);
  color:#c84f24;
}

.takeaway-card--preparing .takeaway-status{
  background:rgba(20,20,38,.08);
  color:#141426;
}

.takeaway-card--ready .takeaway-status{
  background:rgba(34,197,94,.14);
  color:#15803d;
}

.takeaway-customer{
  font-size:16px;
  font-weight:900;
  margin-bottom:6px;
}

.takeaway-meta{
  color:rgba(20,20,38,.62);
  font-size:13px;
  font-weight:850;
}

.takeaway-detail-panel{
  display:flex;
  flex-direction:column;
  gap:14px;
  color:#f8fafc;
  min-height:100%;
}

.takeaway-detail-close{
  align-self:flex-end;
  width:42px;
  height:42px;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:#f8fafc;
  font-size:26px;
  line-height:1;
  cursor:pointer;
}

.takeaway-detail-kicker{
  color:#ffb69c;
  font-size:12px;
  letter-spacing:.11em;
  text-transform:uppercase;
  font-weight:950;
}

.takeaway-detail-panel h2{
  margin:0;
  font-size:34px;
  font-weight:950;
  letter-spacing:-.04em;
}

.takeaway-detail-ticket{
  padding:14px 16px;
  border-radius:22px;
  background:#ff7e4f;
  color:white;
  font-size:23px;
  font-weight:950;
  text-align:center;
  box-shadow:0 18px 40px rgba(255,126,79,.25);
}

.takeaway-detail-status{
  align-self:flex-start;
  border-radius:999px;
  padding:8px 13px;
  font-size:14px;
  font-weight:950;
  background:rgba(255,255,255,.10);
  color:#f8fafc;
}

.takeaway-detail-status--ready{ background:rgba(34,197,94,.18); color:#86efac; }
.takeaway-detail-status--preparing{ background:rgba(250,204,21,.18); color:#fde68a; }
.takeaway-detail-status--received{ background:rgba(255,126,79,.18); color:#ffb69c; }
.takeaway-detail-status--picked_up{ background:rgba(34,197,94,.18); color:#86efac; }
.takeaway-detail-status--cancelled{ background:rgba(248,113,113,.18); color:#fecaca; }

.takeaway-detail-meta-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:10px;
}

.takeaway-detail-meta-grid > div{
  padding:13px;
  border-radius:18px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.07);
}

.takeaway-detail-meta-grid span{
  display:block;
  font-size:12px;
  color:rgba(248,250,252,.62);
  font-weight:800;
  margin-bottom:4px;
}

.takeaway-detail-meta-grid strong{
  display:block;
  font-size:16px;
  font-weight:950;
  color:#f8fafc;
}

.takeaway-detail-origin{
  padding:10px 12px;
  border-radius:16px;
  background:rgba(255,255,255,.06);
  color:rgba(248,250,252,.72);
  font-size:13px;
  font-weight:800;
}

.takeaway-detail-items{
  display:grid;
  gap:10px;
}

.takeaway-detail-item{
  border-radius:20px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.07);
  padding:14px;
}

.takeaway-detail-item-main{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}

.takeaway-detail-item-main strong{
  font-size:18px;
  line-height:1.15;
  font-weight:950;
}

.takeaway-detail-item-main span{
  font-size:16px;
  font-weight:950;
  color:#ffb69c;
  white-space:nowrap;
}

.takeaway-detail-notes{
  display:grid;
  gap:5px;
  margin-top:9px;
  color:rgba(248,250,252,.78);
  font-size:14px;
  font-weight:750;
}

.takeaway-detail-notes span{
  display:block;
}

.takeaway-detail-empty{
  padding:16px;
  border-radius:18px;
  background:rgba(255,255,255,.08);
  color:rgba(248,250,252,.72);
  font-weight:850;
  text-align:center;
}

.takeaway-detail-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:auto;
  padding-top:8px;
}

.takeaway-detail-btn{
  min-height:52px;
  border:0;
  border-radius:18px;
  padding:12px 14px;
  background:rgba(255,255,255,.12);
  color:#f8fafc;
  font-size:15px;
  font-weight:950;
  cursor:pointer;
}

.takeaway-detail-btn:disabled{
  opacity:.45;
  cursor:not-allowed;
}

.takeaway-detail-btn--print{
  grid-column:1 / -1;
  background:#ff7e4f;
  color:white;
  font-size:18px;
}

.takeaway-detail-btn--ready{ background:#15803d; }
.takeaway-detail-btn--done{ background:#16a34a; }
.takeaway-detail-btn--danger{ background:#991b1b; }

@media (max-width: 900px){
  .takeaway-section{ margin:10px 10px 16px; padding:12px; border-radius:22px; }
  .takeaway-head h2{ font-size:18px; }
  .takeaway-card{ padding:12px; }
  .takeaway-number{ font-size:16px; }
  .takeaway-detail-panel h2{ font-size:30px; }
  .takeaway-detail-meta-grid{ grid-template-columns:1fr; }
}

.takeaway-detail-order-block{
  display:grid;
  gap:10px;
  padding:12px;
  border-radius:22px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.08);
}

.takeaway-detail-order-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:4px 2px 2px;
  color:#f8fafc;
}

.takeaway-detail-order-head strong{
  font-size:15px;
  font-weight:950;
}

.takeaway-detail-order-head span{
  font-size:13px;
  font-weight:900;
  color:#ffb69c;
  white-space:nowrap;
}

/* Beordy — Takeaway cartes staff style tables (hotfix UX)
   Objectif : à emporter en haut, tables en bas, mais mêmes repères visuels et statuts que les cartes tables. */
.takeaway-section{
  margin:12px;
  padding:12px;
  border-radius:16px;
  background:rgba(255,126,79,0.035);
  border:1px solid rgba(255,126,79,0.22);
  box-shadow:none;
}

.takeaway-section--active{
  border-color:rgba(255,126,79,0.42);
  box-shadow:0 14px 34px rgba(2,6,23,0.18);
}

.takeaway-head{
  margin-bottom:12px;
}

.takeaway-kicker{
  color:rgba(248,250,252,0.58);
}

.takeaway-head h2{
  color:#f8fafc;
}

.takeaway-count{
  background:#ff7e4f;
  color:#ffffff;
}

.takeaway-refresh{
  background:#17233d;
  color:#e8eefc;
  border:1px solid rgba(255,255,255,0.08);
  box-shadow:none;
}

.takeaway-empty{
  background:rgba(15,23,42,0.42);
  color:rgba(226,232,240,0.72);
  border:1px dashed rgba(148,163,184,0.18);
}

.takeaway-orders{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(285px, 1fr));
  gap:14px;
}

.takeaway-section .takeaway-card.takeaway-card--table-style{
  width:auto;
  min-height:158px;
  padding:14px;
  border-radius:16px;
  border:1px solid var(--border);
  border-left:6px solid transparent;
  color:var(--fg);
  box-shadow:0 10px 24px rgba(2,6,23,0.16);
  text-align:left;
  transition:border-color .12s ease, box-shadow .12s ease;
}

.takeaway-section .takeaway-card.takeaway-card--table-style:hover,
.takeaway-section .takeaway-card.takeaway-card--table-style:focus-visible{
  transform:none;
  outline:none;
  border-color:rgba(96,165,250,0.28);
  box-shadow:0 10px 24px rgba(2,6,23,0.16);
}

.takeaway-card-customer-line{
  font-size:17px;
  line-height:1.2;
  font-weight:900;
  color:#f8fafc;
}

.takeaway-card-meta-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}

.takeaway-card-info-chip{
  background:#24345e;
  color:#f8fafc;
}

.takeaway-card-total-chip{
  background:#1e3a5f;
  color:#f8fafc;
}

@media (max-width: 900px){
  .takeaway-orders{
    grid-template-columns:1fr;
  }
  .takeaway-section .takeaway-card.takeaway-card--table-style{
    padding:14px;
  }
}

/* Beordy — hotfix Takeaway cards V3.1
   À emporter compact, même logique visuelle que les tables, sans surcouche de file administrative. */
.section-head--staff-main .section-title-block h2{
  font-size:22px;
  font-weight:950;
  color:#f8fafc;
}

.section-head--staff-main .staff-main-toolbar{
  margin-left:auto;
}

.takeaway-section{
  margin:12px 12px 14px !important;
  padding:0 0 16px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.takeaway-section--active{
  border:0 !important;
  box-shadow:none !important;
}

.takeaway-head{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  margin:0 0 10px !important;
  padding:0 !important;
}

.takeaway-head h2{
  margin:0 !important;
  color:#f8fafc !important;
  font-size:18px !important;
  line-height:1.2 !important;
  font-weight:950 !important;
}

.takeaway-kicker,
.takeaway-refresh{
  display:none !important;
}

.takeaway-count{
  min-width:26px !important;
  min-height:26px !important;
  margin-left:8px !important;
  padding:0 8px !important;
  background:#ff7e4f !important;
  color:#fff !important;
  font-size:14px !important;
  font-weight:950 !important;
}

.takeaway-empty{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:10px 14px !important;
  border-radius:14px !important;
  background:rgba(15,23,42,0.42) !important;
  border:1px dashed rgba(148,163,184,0.18) !important;
  color:rgba(226,232,240,0.72) !important;
  font-size:13px !important;
  font-weight:800 !important;
  text-align:left !important;
}

.takeaway-orders{
  display:grid !important;
  grid-template-columns:repeat(auto-fill, minmax(250px, 290px)) !important;
  justify-content:start !important;
  gap:14px !important;
}

.takeaway-section .takeaway-card.takeaway-card--table-style.takeaway-card--compact{
  width:100% !important;
  min-height:128px !important;
  padding:14px !important;
  gap:10px !important;
  border-radius:16px !important;
  border:1px solid var(--border) !important;
  border-left:6px solid transparent !important;
  color:var(--fg) !important;
  box-shadow:0 10px 24px rgba(2,6,23,0.16) !important;
}

.takeaway-section .takeaway-card.takeaway-card--compact .card-head{
  gap:10px !important;
  align-items:center !important;
}

.takeaway-customer-chip{
  max-width:150px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.takeaway-section .takeaway-card.takeaway-card--compact .chip-id{
  min-width:auto !important;
  max-width:160px !important;
  padding:9px 14px !important;
  font-size:16px !important;
}

.takeaway-section .takeaway-card.takeaway-card--compact .chip-status{
  padding:9px 15px !important;
  font-size:15px !important;
}

.takeaway-section .takeaway-card.takeaway-card--compact .card-body{
  gap:10px !important;
  margin-top:auto !important;
}

.takeaway-section .takeaway-card.takeaway-card--compact .chip-action{
  width:100%;
  justify-content:center;
  min-height:40px;
  padding:9px 14px;
  font-size:14px;
  border-radius:999px;
}

.takeaway-section .takeaway-card.takeaway-card--compact .chip-time{
  font-size:12px !important;
  padding:7px 12px !important;
}

.tables-heading{
  margin:0 12px 8px;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,0.06);
  color:#f8fafc;
  font-size:18px;
  font-weight:950;
}

@media (max-width: 900px){
  .takeaway-orders{
    grid-template-columns:1fr !important;
  }

  .takeaway-section .takeaway-card.takeaway-card--table-style.takeaway-card--compact{
    min-height:124px !important;
  }
}

/* Beordy — hotfix Takeaway V3.3
   Zone À emporter distincte sans casser la DA sombre : léger accent orange, pas de bloc blanc. */
.takeaway-section{
  margin:12px 12px 16px !important;
  padding:14px 14px 16px !important;
  border:2px solid rgba(255,126,79,0.40) !important;
  border-radius:22px !important;
  background:linear-gradient(180deg, rgba(255,126,79,0.075), rgba(255,126,79,0.035)) !important;
  box-shadow:0 12px 28px rgba(2,6,23,0.16) !important;
}

.takeaway-section--active{
  border-color:rgba(255,126,79,0.62) !important;
  box-shadow:0 14px 32px rgba(2,6,23,0.20), inset 0 1px 0 rgba(255,255,255,0.035) !important;
}

.takeaway-section .takeaway-head{
  margin:0 0 12px !important;
}

.takeaway-section .takeaway-head h2{
  color:#f8fafc !important;
  text-shadow:0 1px 0 rgba(2,6,23,0.22) !important;
  letter-spacing:0.04em !important;
}

.tables-heading{
  text-transform:uppercase !important;
  letter-spacing:0.04em !important;
}

.takeaway-section .takeaway-empty{
  background:rgba(15,23,42,0.38) !important;
  border:1px dashed rgba(255,255,255,0.12) !important;
  color:rgba(226,232,240,0.72) !important;
}

.takeaway-section .takeaway-card.takeaway-card--table-style.takeaway-card--compact{
  box-shadow:0 10px 24px rgba(2,6,23,0.20) !important;
}
