/* Seat bookings: the guest pages (body.rampa: /rampa, and /dylen with body.rampa.dclub) and their sections in the
   staff app (.rampa-staff, .rampa-staff.dclub). Same components as app.css; Na-Rampě's yellow (#EAE645) on near-black
   instead of ChillOut's amber on wood, D-Club's violet (#C33CFF, as on the website) on blue-black.
   The page redefines app.css's tokens, so every shared component picks the new colours up. */
body.rampa{
  --ground:#0E0E0C; --panel:#181815; --panel2:#22221D; --line:#34332B;
  --text:#F4F3E9; --muted:#A9A795; --faint:#7E7C6C;
  --amber:#EAE645; --brass:#EAE645; --copper:#C9C53A; --bottle:#17170F; --bottle-hi:#33321E;
  --paper:#EAE645; --ink:#111110; --ink-soft:#4B4A22;
  --acc-rgb:234,230,69;   /* the accent as r,g,b for the tinted backgrounds below */
}
/* D-Club Dyleň (/dylen): the website's D-Club colours. Ticket in a lighter violet so its small grey-violet text
   stays readable (dark ink on #D58BFF ~8:1, on the #C33CFF buttons ~4.9:1). */
body.rampa.dclub{
  --ground:#08070D; --panel:#130F1C; --panel2:#1C1628; --line:#2E2640;
  --text:#F1ECF8; --muted:#A89DB4; --faint:#807590;
  --amber:#C33CFF; --brass:#C33CFF; --copper:#A12FD6; --bottle:#120B1A; --bottle-hi:#2A1A3A;
  --paper:#D58BFF; --ink:#111110; --ink-soft:#4A1A66;
  --acc-rgb:195,60,255;
}
body.rampa.dclub .cta:hover{background:#D16BFF}
body.rampa.dclub .wordmark{font-size:2.3rem}
body.rampa .wordmark{color:var(--amber);font-size:2.6rem}
body.rampa .wordmark span{color:var(--muted);font-family:var(--ui);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px}
body.rampa .cta:hover{background:#F3F07A}
body.rampa .cta{color:var(--ink)}

.seat-note{margin:0;padding:12px 14px;border-radius:14px;border:1px dashed rgba(var(--acc-rgb),.55);background:rgba(var(--acc-rgb),.06);font-size:.92rem}
.seat-note b{color:var(--amber);font-weight:600}

.nights{display:grid;gap:8px}
.night{display:grid;grid-template-columns:3.9rem minmax(0,1fr);gap:2px 12px;align-items:start;text-align:left;border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:12px 14px}
.night .nd{font-family:var(--display);line-height:1.05;padding-top:2px}
.night .nd b{display:block;font-weight:400;font-size:1.2rem;color:var(--amber)}
.night .nd small{font-family:var(--ui);color:var(--muted);font-size:.74rem}
.night .nt{display:block;font-size:1rem;font-weight:600;overflow-wrap:anywhere}
.night .ns{display:block;margin:1px 0 0;color:var(--muted);font-size:.84rem;overflow-wrap:anywhere}
.night .nm{margin:6px 0 0;display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-size:.8rem;color:var(--muted)}
.left{font-size:.72rem;font-weight:600;white-space:nowrap;padding:2px 8px;border-radius:999px;background:rgba(var(--acc-rgb),.13);color:var(--amber)}
.left.low{background:rgba(224,138,90,.16);color:var(--high)}
.left.off{background:var(--panel2);color:var(--faint)}
.night[aria-pressed="true"]{border-color:var(--amber);box-shadow:inset 0 0 0 1px var(--amber);background:rgba(var(--acc-rgb),.07)}
.night:disabled{opacity:.5;cursor:default}
/* arrival time chips: 4 to a row at 375px, 48px tall tap targets */
.arrive{display:grid;gap:8px}
.arrive-lbl{margin:0;font-weight:600;font-size:.92rem}
.arrivals{display:grid;grid-template-columns:repeat(auto-fill,minmax(4.25rem,1fr));gap:8px}
.arr{min-height:48px;border:1px solid var(--line);background:var(--panel);border-radius:12px;padding:8px 6px;font-weight:600;font-size:1rem;font-variant-numeric:tabular-nums}
.arr[aria-pressed="true"]{border-color:var(--amber);box-shadow:inset 0 0 0 1px var(--amber);background:rgba(var(--acc-rgb),.1);color:var(--amber)}
.night-info{display:grid;gap:8px;padding:12px 14px;border-radius:12px;background:var(--panel2);font-size:.88rem}
.night-info p{margin:0}
.tix{display:inline-flex;align-items:center;gap:6px;justify-self:start;border:1px solid var(--amber);color:var(--amber);border-radius:10px;padding:8px 12px;font-weight:600;text-decoration:none}
.tix:hover{background:rgba(var(--acc-rgb),.1)}

.tickets{display:grid;gap:14px}
body.rampa .ticket .t-hold{color:var(--ink)}
body.rampa .t-foot{border-top-color:rgba(17,17,16,.3)}
body.rampa .t-foot .ghost{border-color:rgba(17,17,16,.4)}
.t-seat{grid-column:1/-1;margin:0;font-size:.82rem;font-weight:600}
.t-seat a{color:var(--ink)}
.cross{text-align:center}

/* staff app: Na-Rampě and D-Club sections (staff-rampa.js) */
.rampa-staff .sec::before{content:"";display:inline-block;width:9px;height:9px;border-radius:50%;background:#EAE645;margin:0 8px 2px 0;vertical-align:middle}
.rampa-staff .st.rampa{background:rgba(234,230,69,.13);color:#EAE645}
.rampa-staff.dclub .sec::before{background:#C33CFF}
/* Kancelář → Rezervace míst: the Na-Rampě · D-Club switch above one room's settings */
.seat-admin{display:grid;gap:18px;min-width:0}
.rampa-staff .night-edit{display:grid;gap:8px;padding:12px 0;border-bottom:1px solid var(--line)}
.rampa-staff .night-edit .inline input{padding:9px 11px}
/* a visible caption on each of a night's fields: two HH:MM boxes side by side must not depend on a tooltip */
.rampa-staff .mini-field{display:grid;gap:3px;flex:1;min-width:0;font-size:.72rem;color:var(--muted)}
.rampa-staff .mini-field.time{flex:0 0 5.5rem}
.rampa-staff .mini-field input{width:100%;font-size:1rem;color:var(--text)}
.rampa-staff .night-edit b small{font-weight:400;color:var(--muted)}
/* staff door: a Na-Rampě guest's QR must not look like ChillOut's "Vítej…" toast (staff-rampa.js) */
.toast.rampa{background:#EAE645;color:#111110;font-weight:600}
.toast.dclub{background:#C33CFF;color:#111110;font-weight:600}
.lapsed-card.dclub .kicker{color:#D58BFF}
/* guest ticket: app.css's focus ring is --amber, which here is the ticket's own yellow */
body.rampa .ticket :focus-visible{outline-color:var(--ink)}
