:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,sans-serif;color:#171717;background:#f4f1ea;--paper:#fffdf8;--ink:#171717;--muted:#6d6a63;--line:#ddd8cd;--soft:#eee9df;--danger:#7b1d1d;--warning:#8a5a00;--ok:#165b37;--shadow:0 8px 28px #00000012}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#f4f1ea;color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.app-shell{max-width:980px;margin:auto;min-height:100vh;padding:calc(12px + env(safe-area-inset-top)) 12px calc(88px + env(safe-area-inset-bottom))}.topbar{position:sticky;top:0;z-index:20;background:#f4f1eaf2;backdrop-filter:blur(12px);padding:8px 0 12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand h1{font-size:20px;margin:0;letter-spacing:.02em}.brand p{margin:2px 0 0;color:var(--muted);font-size:12px}.service-pill{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:8px 11px;font-weight:750;font-size:12px}.service-pill.open{border-color:#9dc8af;color:var(--ok);background:#f1fbf5}.page{display:grid;gap:14px}.hero{background:#171717;color:#fff;border-radius:22px;padding:18px;box-shadow:var(--shadow)}.hero h2{margin:0 0 6px;font-size:24px}.hero p{margin:0;color:#d6d3cc;line-height:1.45}.hero-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:15px}.hero button{border:0;border-radius:13px;padding:11px 14px;font-weight:800}.hero .light{background:white;color:#111}.hero .ghost{background:#2c2c2c;color:#fff;border:1px solid #4a4a4a}.grid{display:grid;gap:12px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:14px;box-shadow:0 2px 10px #00000008}.card h3{margin:0 0 10px;font-size:16px}.card p{margin:5px 0;color:var(--muted);line-height:1.4}.metric{font-size:28px;font-weight:850;letter-spacing:-.03em}.label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.section-head h2{margin:0;font-size:23px}.section-head p{margin:3px 0 0;color:var(--muted);font-size:13px}.btn{border:1px solid var(--line);background:var(--paper);border-radius:12px;padding:10px 12px;font-weight:750}.btn.primary{background:#171717;color:#fff;border-color:#171717}.btn.danger{color:var(--danger);border-color:#dcb6b6;background:#fff7f7}.btn.small{padding:7px 9px;font-size:12px}.btn.ok{color:var(--ok);border-color:#abd0ba;background:#f3fbf6}.form{display:grid;gap:10px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.field{display:grid;gap:5px}.field label{font-size:12px;font-weight:750;color:var(--muted)}input,select,textarea{width:100%;border:1px solid #cfc9bc;background:#fff;border-radius:12px;padding:11px 12px;color:#171717}textarea{min-height:88px;resize:vertical}.empty{padding:18px;text-align:center;color:var(--muted);border:1px dashed #cbc4b7;border-radius:14px;background:#fffaf2}.list{display:grid;gap:9px}.item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--line);background:#fff;border-radius:14px}.item-main{min-width:0}.item strong{display:block}.item small{display:block;color:var(--muted);margin-top:4px;line-height:1.35}.item-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800;background:#eee9df;color:#4f4a42}.badge.ok{background:#eaf7ef;color:var(--ok)}.badge.warn{background:#fff4d8;color:var(--warning)}.badge.danger{background:#fdeaea;color:var(--danger)}.tables{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.table-card{border:2px solid transparent;border-radius:16px;padding:12px 8px;min-height:88px;background:#fff;text-align:left}.table-card strong{font-size:18px}.table-card small{display:block;margin-top:5px;color:#666}.table-card.free{border-color:#c7d7cd}.table-card.occupied{background:#fff4e6;border-color:#dfb170}.table-card.ordered{background:#eef4ff;border-color:#9db8ea}.table-card.served{background:#edf8f1;border-color:#98c9a8}.table-card.bill{background:#fff0f0;border-color:#d9a0a0}.table-card.dirty{background:#eee;border-color:#bbb}.table-card.reserved{background:#f3efff;border-color:#b5a2df}.voice-dock{position:fixed;z-index:40;left:50%;bottom:calc(12px + env(safe-area-inset-bottom));transform:translateX(-50%);width:min(720px,calc(100% - 20px));background:#111;color:#fff;border:1px solid #333;border-radius:22px;padding:10px;box-shadow:0 14px 44px #0005}.voice-top{display:flex;align-items:center;gap:9px}.mic{width:54px;height:54px;border-radius:50%;border:0;background:#fff;color:#111;font-size:24px;flex:0 0 auto}.mic.listening{animation:pulse 1.4s infinite;background:#ffe3e3}.voice-text{min-width:0;flex:1}.voice-text strong{display:block;font-size:13px}.voice-text small{display:block;color:#c7c7c7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px}.voice-mini{border:1px solid #3f3f3f;background:#242424;color:#fff;border-radius:11px;padding:8px 9px;font-size:11px;font-weight:800}.voice-panel{margin-top:9px;display:grid;gap:8px}.voice-input{display:flex;gap:7px}.voice-input input{background:#1d1d1d;border-color:#3d3d3d;color:#fff}.voice-input .btn{background:#fff;color:#111}.pending{background:#3a2717;border:1px solid #725133;border-radius:12px;padding:9px;font-size:12px;line-height:1.4}.nav{display:flex;gap:6px;overflow:auto;padding-bottom:2px;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav button{white-space:nowrap;border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:9px 11px;font-size:12px;font-weight:800}.nav button.active{background:#171717;color:#fff;border-color:#171717}.quick{display:flex;gap:7px;flex-wrap:wrap}.alert{border-left:4px solid #c99228;background:#fff9eb;border-radius:10px;padding:10px 12px;font-size:13px}.alert.danger{border-left-color:#a23b3b;background:#fff0f0}.kitchen-ticket{border-left:5px solid #222}.photo-stage{background:#1d1d1d;border-radius:18px;min-height:240px;display:grid;place-items:center;overflow:hidden}.photo-stage img,.photo-stage canvas{display:block;max-width:100%;max-height:520px}.preset-row{display:flex;gap:7px;overflow:auto;padding-bottom:4px}.preset-row button{white-space:nowrap}.check-row{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid var(--soft)}.check-row:last-child{border-bottom:0}.check-row input{width:auto;margin-top:3px}.toast{position:fixed;top:calc(14px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);z-index:80;max-width:min(90vw,620px);background:#111;color:#fff;border-radius:12px;padding:11px 14px;box-shadow:0 10px 30px #0004;font-size:13px}.muted{color:var(--muted)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.danger-text{color:var(--danger)}.ok-text{color:var(--ok)}@keyframes pulse{0%,100%{box-shadow:0 0 0 0 #ffbaba77}50%{box-shadow:0 0 0 12px #ffbaba00}}@media(max-width:680px){.grid.two,.grid.three{grid-template-columns:1fr}.tables{grid-template-columns:repeat(3,minmax(0,1fr))}.form-row{grid-template-columns:1fr}.brand p{display:none}.service-pill{font-size:11px}.section-head{align-items:flex-start}.item{flex-direction:column}.item-actions{justify-content:flex-start}}@media(max-width:390px){.tables{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell{padding-left:9px;padding-right:9px}.hero{border-radius:18px}}

/* BUILD 46 — tablette + ordinateur : mêmes fonctions, davantage d'espace utile. */
@media(min-width:760px){
  .app-shell{max-width:1240px;padding-left:20px;padding-right:20px}
  .tables{grid-template-columns:repeat(5,minmax(0,1fr))}
  .photo-stage{min-height:360px}
  .voice-dock{width:min(820px,calc(100% - 32px))}
}
@media(min-width:1100px){
  .app-shell{max-width:1500px;display:grid;grid-template-columns:230px minmax(0,1fr);grid-template-areas:"top top" "nav page";column-gap:18px;align-content:start}
  .topbar{grid-area:top}
  .nav{grid-area:nav;position:sticky;top:82px;align-self:start;display:flex;flex-direction:column;overflow:auto;max-height:calc(100vh - 180px);padding:10px;background:var(--paper);border:1px solid var(--line);border-radius:18px;box-shadow:0 2px 10px #00000008}
  .nav button{width:100%;text-align:left;border-radius:11px;padding:10px 12px}
  .page{grid-area:page;min-width:0}
  .tables{grid-template-columns:repeat(6,minmax(0,1fr))}
  .card{padding:16px}
  .hero{padding:24px}
  .hero h2{font-size:30px}
  .voice-dock{width:min(900px,calc(100% - 280px));margin-left:115px}
}
@media(min-width:1450px){
  .tables{grid-template-columns:repeat(8,minmax(0,1fr))}
  .grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
}