/* Hey Garçon · Espace client & tickets (V129.164) · rc-* (ticket) + es-* (espace) */
:root{--rc-bg:#F4F1EA;--rc-ink:#14161C;--rc-mute:#6B6F7B;--rc-soft:#8A8E99;--rc-line:#E4E1D8;--rc-dash:#CFCBC0;--rc-paper:#FFFFFF;--rc-ok:#1F7A4D;--rc-ok-bg:#E5F3EA;--rc-warn:#B26A00;--rc-warn-bg:#FBEFD9;--rc-accent:#14161C;--rc-display:"Fraunces",Georgia,serif;--rc-ui:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;--rc-mono:"IBM Plex Mono",Menlo,Consolas,monospace}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--rc-bg);color:var(--rc-ink);font:15px/1.5 var(--rc-ui);padding:max(20px,env(safe-area-inset-top)) 16px 40px}
.rc-page{width:min(520px,100%);margin:0 auto;display:grid;gap:18px}
.rc-brand{text-align:center;font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--rc-soft)}
.rc-status{display:grid;justify-items:center;text-align:center;gap:8px;padding:6px 0 2px}
.rc-status h1{margin:4px 0 0;font:600 34px/1.05 var(--rc-display);letter-spacing:-.02em;text-wrap:balance}
.rc-status p{margin:0;color:var(--rc-mute);max-width:36ch}
.rc-status .rc-amount{margin-top:2px;font:600 30px/1 var(--rc-mono);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.rc-ticket{position:relative;background:var(--rc-paper);border-radius:22px;padding:28px 26px 26px;box-shadow:0 18px 50px rgba(20,22,28,.09),0 2px 6px rgba(20,22,28,.05)}
.rc-ticket::before,.rc-ticket::after{content:"";position:absolute;left:0;right:0;height:12px;background:radial-gradient(circle at 6px 6px,var(--rc-bg) 6px,transparent 6.5px) 0 0/16px 12px repeat-x}
.rc-ticket::before{top:-1px}.rc-ticket::after{bottom:-1px;transform:scaleY(-1)}
.rc-head{text-align:center;padding-bottom:16px;border-bottom:1px dashed var(--rc-dash)}
.rc-head h2{margin:12px 0 2px;font:600 26px/1.1 var(--rc-display);letter-spacing:-.015em}
.rc-head p{margin:0;color:var(--rc-mute);font-size:13px}
.rc-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;margin:16px 0 0;padding:0 0 16px;border-bottom:1px dashed var(--rc-dash)}
.rc-meta div{display:grid;gap:2px}.rc-meta dt{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--rc-soft)}.rc-meta dd{margin:0;font-weight:700}
.rc-ticket h3{margin:18px 0 8px;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--rc-soft)}
.rc-guest{margin:10px 0 4px;font:600 15px/1.2 var(--rc-display);color:var(--rc-ink)}
.rc-line{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:start;padding:6px 0}
.rc-qty{font:600 13px/1.5 var(--rc-mono);color:var(--rc-soft)}.rc-name{font-weight:600}.rc-name small{display:block;font-size:12px;font-weight:500;color:var(--rc-soft)}
.rc-price{font:500 14px/1.5 var(--rc-mono);font-variant-numeric:tabular-nums;white-space:nowrap}
.rc-sums{margin-top:16px;padding-top:12px;border-top:1px dashed var(--rc-dash);display:grid;gap:8px}
.rc-sums div{display:flex;justify-content:space-between;gap:12px;color:var(--rc-mute)}.rc-sums b{font:600 14px/1.5 var(--rc-mono);color:var(--rc-ink);font-variant-numeric:tabular-nums}
.rc-sums .rc-total{margin-top:6px;padding-top:12px;border-top:1.5px solid var(--rc-ink);color:var(--rc-ink);font-weight:800;align-items:baseline}.rc-sums .rc-total strong{font:600 26px/1 var(--rc-mono);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.rc-sums .rc-rest{padding:8px 12px;border-radius:12px;background:var(--rc-warn-bg);color:var(--rc-warn)}.rc-sums .rc-rest b{color:var(--rc-warn)}
.rc-vat table{width:100%;border-collapse:collapse;font-size:12px}.rc-vat th{text-align:right;padding:4px 0;color:var(--rc-soft);font-weight:700;border-bottom:1px solid var(--rc-line)}.rc-vat th:first-child,.rc-vat td:first-child{text-align:left}.rc-vat td{text-align:right;padding:5px 0;font-family:var(--rc-mono);font-variant-numeric:tabular-nums}.rc-vat td:first-child{font-family:var(--rc-ui)}.rc-vat p{margin:0;font-size:12px;color:var(--rc-mute)}
.rc-legal{margin-top:20px;padding-top:14px;border-top:1px solid var(--rc-line);font-size:11px;line-height:1.55;color:var(--rc-soft)}.rc-legal b{color:var(--rc-mute)}.rc-legal span{word-break:break-all}
.rc-mail{background:var(--rc-paper);border-radius:22px;padding:22px 24px;box-shadow:0 2px 6px rgba(20,22,28,.05)}
.rc-mail h2{margin:0 0 4px;font:600 21px/1.15 var(--rc-display);letter-spacing:-.01em}.rc-mail p{margin:0 0 14px;color:var(--rc-mute);font-size:14px}
.rc-mail form{display:grid;gap:10px}
.rc-mail input{width:100%;min-height:50px;padding:0 16px;border:1.5px solid var(--rc-line);border-radius:14px;background:var(--rc-bg);color:var(--rc-ink);font:600 16px/1 var(--rc-ui)}.rc-mail input:focus{outline:none;border-color:var(--rc-ink);background:#fff}
.rc-btn{display:flex;justify-content:center;align-items:center;gap:8px;min-height:50px;padding:0 18px;border:0;border-radius:14px;background:var(--rc-accent);color:#fff;font:700 15px/1 var(--rc-ui);text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent}.rc-btn:disabled{opacity:.55;cursor:default}
.rc-btn.rc-ghost{background:transparent;color:var(--rc-ink);border:1.5px solid var(--rc-line)}
.rc-feedback{margin:0;font-size:14px;font-weight:700;min-height:1.4em}.rc-feedback.ok{color:var(--rc-ok)}.rc-feedback.err{color:#B3261E}
.rc-sent{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:14px;background:var(--rc-ok-bg);color:var(--rc-ok);font-weight:700;font-size:14px}
.rc-actions{display:grid;gap:10px}
.rc-foot{text-align:center;font-size:12px;color:var(--rc-soft)}
@media print{body{background:#fff;padding:0}.rc-brand,.rc-status,.rc-mail,.rc-actions,.rc-foot,.hg-app-version{display:none}.rc-ticket{box-shadow:none;border-radius:0}}
@media(prefers-reduced-motion:no-preference){.rc-ticket{animation:rc-in .5s cubic-bezier(.2,.8,.2,1) both}@keyframes rc-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}}

/* ───── Espace client (es-*) · V129.164 ───── */
.es-page{width:min(560px,100%);margin:0 auto;display:grid;gap:16px}
.es-top{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:4px 2px}
.es-brand{display:inline-flex}.es-logo{width:132px;max-width:50vw;height:auto;display:block}
.es-kicker{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--rc-soft)}
.es-hero{padding:6px 4px 2px;display:grid;gap:8px}
.es-hero h1{margin:0;font:600 clamp(28px,7vw,36px)/1.05 var(--rc-display);letter-spacing:-.025em;text-wrap:balance;overflow-wrap:anywhere}
.es-hero p{margin:0;color:var(--rc-mute);font-size:15px;line-height:1.5;max-width:40ch}
.es-hero-account h1{font-size:clamp(20px,5.5vw,26px);font-family:var(--rc-mono);font-weight:500;letter-spacing:-.01em}
.es-stats{display:flex;gap:10px;margin-top:6px}
.es-stats div{display:flex;align-items:baseline;gap:6px;padding:8px 14px;border-radius:999px;background:var(--rc-paper);box-shadow:0 2px 6px rgba(20,22,28,.05)}
.es-stats strong{font:600 18px/1 var(--rc-mono)}.es-stats span{font-size:12px;font-weight:700;color:var(--rc-mute)}
.es-card{background:var(--rc-paper);border-radius:22px;padding:20px;box-shadow:0 2px 6px rgba(20,22,28,.05);display:grid;gap:14px}
.es-card h2{margin:0;font:600 21px/1.15 var(--rc-display);letter-spacing:-.01em}
.es-card p{margin:0;color:var(--rc-mute);font-size:14px;line-height:1.5}
.es-login form{display:grid;gap:10px}
.es-field{display:grid;gap:6px}.es-field span{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--rc-soft)}
.es-field input{width:100%;min-height:52px;padding:0 16px;border:1.5px solid var(--rc-line);border-radius:14px;background:var(--rc-bg);color:var(--rc-ink);font:600 16px/1 var(--rc-ui)}.es-field input:focus{outline:none;border-color:var(--rc-ink);background:#fff}
.es-steps{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:10px}
.es-steps li{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:var(--rc-mute);line-height:1.45}
.es-steps b{flex:0 0 auto;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--rc-ink);color:#fff;font:700 12px/1 var(--rc-mono)}
.es-note{font-size:13px;padding-top:10px;border-top:1px dashed var(--rc-dash)}
.es-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:46px;padding:0 18px;border:1.5px solid var(--rc-ink);border-radius:14px;background:var(--rc-ink);color:#fff;font:700 14px/1 var(--rc-ui);text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent;white-space:nowrap}
.es-btn-primary{width:100%;min-height:52px}
.es-btn-ghost{background:transparent;color:var(--rc-ink);border-color:var(--rc-line)}
.es-btn-small{min-height:38px;padding:0 13px;font-size:13px;border-radius:11px}
.es-btn-danger{color:#B3261E;border-color:#F0C4C4}
.es-empty{text-align:center;justify-items:center;padding:34px 22px}
.es-empty-icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--rc-bg);font-size:28px}
.es-empty p{max-width:34ch}
.es-resto{gap:12px}
.es-resto-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center}
.es-monogram{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--rc-ink);color:#fff;font:600 20px/1 var(--rc-display)}
.es-resto-id{min-width:0}.es-resto-id h2{font-size:20px;overflow-wrap:anywhere}.es-resto-id small{display:block;margin-top:2px;color:var(--rc-soft);font-size:12px;font-weight:600}
.es-follow{margin:0}
.es-switch{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;background:var(--rc-bg);cursor:pointer}
.es-switch input{position:absolute;opacity:0;width:0;height:0}
.es-switch-track{flex:0 0 auto;width:44px;height:26px;border-radius:999px;background:#D6D2C8;position:relative;transition:background .2s}
.es-switch-knob{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .2s}
.es-switch input:checked+.es-switch-track{background:var(--rc-ok)}.es-switch input:checked+.es-switch-track .es-switch-knob{transform:translateX(18px)}
.es-switch input:focus-visible+.es-switch-track{outline:2px solid var(--rc-ink);outline-offset:2px}
.es-switch-copy{min-width:0}.es-switch-copy b{display:block;font-size:14px}.es-switch-copy small{display:block;font-size:12px;font-weight:600;color:var(--rc-soft);line-height:1.35}
.es-tickets{list-style:none;margin:0;padding:0;display:grid}
.es-ticket{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"date copy amount" "date actions actions";gap:6px 12px;align-items:center;padding:12px 0;border-top:1px solid var(--rc-line)}
.es-date{grid-area:date;width:46px;height:50px;border-radius:12px;background:var(--rc-bg);display:grid;place-content:center;text-align:center;line-height:1}
.es-date b{font:600 18px/1 var(--rc-mono)}.es-date span{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--rc-soft)}
.es-ticket-copy{grid-area:copy;min-width:0}.es-ticket-copy b{display:block;font-size:14px}.es-ticket-copy small{display:block;font-size:12px;font-weight:600;color:var(--rc-soft)}
.es-amount{grid-area:amount;font:600 17px/1 var(--rc-mono);font-variant-numeric:tabular-nums;white-space:nowrap}
.es-ticket-actions{grid-area:actions;display:flex;gap:6px}
.es-ticket.is-cancel .es-amount{color:var(--rc-warn)}.es-ticket.is-cancelled .es-ticket-copy b{text-decoration:line-through;color:var(--rc-soft)}
.es-privacy{background:transparent;box-shadow:none;border:1px dashed var(--rc-dash)}
.es-flash{padding:12px 14px;border-radius:14px;font-weight:700;font-size:14px}.es-flash.ok{background:var(--rc-ok-bg);color:var(--rc-ok)}.es-flash.bad{background:#FFE1E1;color:#B3261E}
.es-foot{text-align:center;font-size:12px;color:var(--rc-soft);line-height:1.6;padding:0 8px}
.es-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.es-head h1{margin:0;font:600 26px/1.05 var(--rc-display)}.es-head p{margin:4px 0 0;color:var(--rc-mute);font-size:14px}.es-links{display:flex;gap:8px}
.rc-check{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:12px;background:var(--rc-bg);font-size:13px;font-weight:700;cursor:pointer}
.rc-check input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--rc-ink);flex:0 0 auto}
.rc-check small{display:block;font-size:11px;font-weight:600;color:var(--rc-soft);line-height:1.4}
@media(prefers-reduced-motion:reduce){.es-switch-track,.es-switch-knob{transition:none}}
@media print{.es-top,.es-btn,.es-foot,.hg-app-version,.es-follow{display:none}}
.es-logo{mix-blend-mode:multiply}
