/* ===== Reservation detail redesign — design system (handoff) ===== */
/* Hodnoty 1:1 z ~/Downloads/design_handoff_detail_rezervace 2/Rezervace - redesign členění.html */
/* Teplá paleta s firemní žlutou #ffc700. Pravidlo žluté: na žlutém pozadí vždy
   tmavý text/ikona var(--ink), nikdy bílá; žlutý text na světlém = var(--brand-ink). */
.rz-scope{
  --ink:#271e10; --ink-2:#54483a; --ink-3:#7d6e58;
  --line:#e2d8c4; --line-2:#bfae8f;
  --fill:#f6efdf; --fill-2:#efe4cb; --fill-hover:#f1e5c8;
  --rz-surface:#fff;
  --brand:#ffc700; --brand-ink:#7c5c00; --brand-fill:#ffefb8; --brand-line:#ecd17a;
  --good:#2c8a22; --good-ink:#226e1a; --good-fill:#ddf0d4;
  --warn:#a85c05; --warn-fill:#fae6c4; --warn-line:#e3bd78;
  --violet:#a14e2e; --violet-fill:#f7e0d3;
  --teal:#6d7c1d; --teal-fill:#ecefcf;
  --danger:#cf2b2b; --danger-fill:#fdeceb; --danger-line:#f2c6c2;
  --shadow:0 1px 2px rgba(64,48,16,.07),0 8px 24px rgba(64,48,16,.10);
  font-family:'Hanken Grotesk',system-ui,-apple-system,"Segoe UI",sans-serif;
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
}
.rz-scope .rz-flex{flex:1 1 auto}
.rz-scope .rz-muted{color:var(--ink-3)}
.rz-scope .num{text-align:right;font-variant-numeric:tabular-nums}
.rz-scope .strong{font-weight:700;color:var(--ink)}
.rz-scope .rz-mono{font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:600;color:var(--ink-2);background:var(--rz-surface);border:1px solid var(--line-2);padding:2px 7px;border-radius:6px}

/* badges + buttons */
.rz-scope .rz-badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:3px 9px 3px 8px;border-radius:999px}
.rz-scope .rz-badge .rz-dot{width:6px;height:6px;border-radius:50%;background:currentColor}
.rz-scope .rz-badge-good{background:var(--good);color:#fff}
.rz-scope .rz-badge-good .rz-dot{background:var(--rz-surface)}
.rz-scope .rz-warn-dot{width:7px;height:7px;border-radius:50%;background:var(--warn);display:inline-block;flex:0 0 auto}
.rz-scope .rz-btn{display:inline-flex;align-items:center;gap:7px;font:inherit;font-size:13px;font-weight:600;padding:8px 13px;border-radius:9px;cursor:pointer;border:1px solid var(--line-2);background:var(--rz-surface);color:var(--ink);white-space:nowrap;transition:.13s}
.rz-scope .rz-btn:hover{background:var(--fill);border-color:var(--ink-3)}
.rz-scope .rz-btn-primary{background:var(--brand);border-color:#e3b000;color:var(--ink)}
.rz-scope .rz-btn-primary:hover{background:#f0ba00;border-color:#c79c00}
.rz-scope .rz-iconbtn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;border:1px solid var(--line-2);background:var(--rz-surface);color:var(--ink-2);cursor:pointer;font-size:14px;transition:.13s}
.rz-scope .rz-iconbtn:hover{background:var(--fill)}
.rz-scope .rz-iconbtn.rz-danger{color:var(--danger)}
.rz-scope .rz-iconbtn.rz-danger:hover{background:var(--danger-fill);border-color:var(--danger-line)}
.rz-scope .rz-btn-soft{color:var(--brand-ink);border-color:var(--line-2);background:var(--rz-surface)}
.rz-scope .rz-btn-soft:hover{background:var(--brand-fill);border-color:var(--brand)}
.rz-scope .rz-badge-draft{background:var(--fill-2);color:var(--ink-2);border:1px solid var(--line-2)}
.rz-scope .rz-badge-draft .rz-dot{background:var(--ink-3)}
.rz-scope .rz-ref{display:inline-flex;align-items:center;gap:5px;font-family:'JetBrains Mono',monospace;font-size:11.5px;font-weight:700;padding:3px 8px 3px 6px;border-radius:7px;border:1px solid}
.rz-scope .rz-ref-link{background:var(--warn-fill);color:var(--warn);border-color:var(--warn-line)}
.rz-scope .rz-ref-muted{background:var(--fill);color:var(--ink-2);border-color:var(--line-2)}

/* top chrome */
.rz-scope .rz-chrome{background:var(--rz-surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);overflow:hidden}
.rz-scope .rz-tab-add{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;border-radius:50%;background:var(--good);color:#fff;margin-left:3px}
.rz-scope .rz-subbar-actions{display:flex;gap:9px}
.rz-scope .rz-cardactions{display:flex;gap:10px;padding:13px 18px;border-top:1px solid var(--line);background:var(--rz-surface)}
.rz-scope .rz-boatname{display:inline-flex;align-items:center;gap:9px}
.rz-scope .rz-boatname svg{color:var(--brand-ink)}
.rz-scope .rz-tbl-total td{border-top:2px solid var(--line-2);border-bottom:0;font-weight:700;color:var(--ink);padding-top:13px}

/* reservation header */
/* Bez overflow:hidden — hlavička hostí rozbalovací menu (trojtečka); komunikační
   pás s barevným pozadím byl z hlavičky vypuštěn, takže rohy není co ořezávat. */
.rz-scope .rz-rezhead{background:var(--rz-surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}
.rz-scope .rz-rezhead-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 20px}
.rz-scope .rz-rh-title{display:flex;align-items:flex-start;gap:13px;min-width:0}
.rz-scope .rz-back{width:36px;height:36px;border-radius:50%;border:1.5px solid var(--line-2);background:var(--rz-surface);color:var(--ink-2);cursor:pointer;display:flex;align-items:center;justify-content:center;flex:0 0 auto;transition:.13s;text-decoration:none}
.rz-scope .rz-back:hover{background:var(--fill);color:var(--ink)}
.rz-scope .rz-rh-titlerow{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.rz-scope .rz-rh-titlerow h1{margin:0;font-size:22px;font-weight:800;letter-spacing:-.02em;color:var(--ink)}
.rz-scope .rz-rh-created{font-size:12.5px;color:var(--ink-3);margin-top:4px;font-weight:500}
.rz-scope .rz-rh-actions{display:flex;align-items:center;gap:9px;flex:0 0 auto}
.rz-scope .rz-top-portal{font-size:12px;font-weight:700;color:var(--brand-ink);background:var(--brand-fill);border:1px solid var(--brand-line);padding:3px 10px;border-radius:999px}
.rz-scope .rz-btn-good{background:var(--good);border-color:var(--good);color:#fff}
.rz-scope .rz-btn-good:hover{background:var(--good-ink);border-color:var(--good-ink)}
.rz-scope .rz-rezhead-grid{display:grid;grid-template-columns:minmax(230px,1.2fr) minmax(160px,.8fr) minmax(290px,1.4fr);gap:20px;padding:6px 20px 18px;align-items:stretch}
.rz-scope .rz-zone{min-width:0}
.rz-scope .rz-zone-div{border-left:1.5px solid var(--line);padding-left:20px}
.rz-scope .rz-zone-h{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.rz-scope .rz-zone-label{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.rz-scope .rz-pill{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;color:var(--brand-ink);background:var(--brand-fill);border:1px solid var(--brand-line);padding:2px 8px;border-radius:999px}
.rz-scope .rz-cust{display:flex;align-items:center;gap:13px}
.rz-scope .rz-avatar{width:44px;height:44px;border-radius:13px;background:var(--brand);color:var(--ink);font-weight:800;font-size:15px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;letter-spacing:.02em}
.rz-scope .rz-cust-main{min-width:0}
.rz-scope .rz-cust-name{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:700;color:var(--ink)}
.rz-scope .rz-cc{font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:700;color:var(--ink-2);background:var(--fill);border:1px solid var(--line-2);padding:1px 5px;border-radius:5px}
.rz-scope .rz-cust-contact{display:flex;flex-direction:column;gap:3px;margin-top:6px;font-size:13px;color:var(--ink-2);font-weight:500}
.rz-scope .rz-cust-contact span{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rz-scope .rz-cust-contact svg,.rz-scope .rz-cust-contact .bi{color:var(--ink-3);flex:0 0 auto}
.rz-scope .rz-term{display:flex;align-items:center;gap:15px}
.rz-scope .rz-term-d{display:flex;flex-direction:column;gap:3px}
.rz-scope .rz-term-cap{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3)}
.rz-scope .rz-term-d b{font-size:15px;font-weight:700;color:var(--ink);white-space:nowrap}
.rz-scope .rz-term-arrow{color:var(--brand-ink);display:flex;flex:0 0 auto}
.rz-scope .rz-zone-pay{background:var(--fill);border:1.5px solid var(--line-2);border-radius:12px;padding:13px 16px}
.rz-scope .rz-pct{margin-left:auto;font-size:11px;font-weight:700;color:var(--ink-2);background:var(--rz-surface);border:1px solid var(--line-2);padding:2px 9px;border-radius:999px;white-space:nowrap}
.rz-scope .rz-pay-amts{display:flex;align-items:baseline;gap:8px}
.rz-scope .rz-pay-paid{font-size:23px;font-weight:800;color:var(--good);letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.rz-scope .rz-pay-of{font-size:13px;color:var(--ink-2);font-weight:600}
.rz-scope .rz-progress{height:9px;border-radius:6px;background:var(--rz-surface);border:1px solid var(--line-2);overflow:hidden;margin:10px 0}
.rz-scope .rz-progress span{display:block;height:100%;background:var(--good);border-radius:6px;min-width:0}
.rz-scope .rz-pay-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px}
.rz-scope .rz-pay-dep{color:var(--ink-3);font-weight:500}
.rz-scope .rz-pay-rem{color:var(--ink-2);font-weight:600;white-space:nowrap}
.rz-scope .rz-pay-rem b{color:var(--warn);font-weight:800;font-variant-numeric:tabular-nums}
.rz-scope .rz-rezhead-comm{display:flex;align-items:center;justify-content:space-between;padding:11px 20px;border-top:1px solid var(--line);background:var(--fill)}
.rz-scope .rz-comm-l{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--ink-2)}
.rz-scope .rz-comm-l svg{color:var(--ink-3)}
.rz-scope .rz-comm-l b{color:var(--ink)}
.rz-scope .rz-link{border:0;background:transparent;color:var(--brand-ink);font:inherit;font-weight:700;font-size:13px;cursor:pointer;padding:2px 4px;border-radius:6px}
.rz-scope .rz-link:hover{text-decoration:underline}
.rz-scope .rz-tabbar{margin-top:14px;background:var(--rz-surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:0 6px}
.rz-scope .rz-tabs{display:flex;gap:2px;padding:0 4px}
.rz-scope .rz-tab{display:flex;align-items:center;gap:7px;padding:11px 13px;font-size:13.5px;font-weight:600;color:var(--ink-2);border:0;border-bottom:2.5px solid transparent;cursor:pointer;white-space:nowrap;transition:.12s;background:transparent}
.rz-scope .rz-tab:hover{color:var(--ink)}
.rz-scope .rz-tab.is-active{color:var(--brand-ink);border-bottom-color:var(--brand);background:var(--rz-surface)}
.rz-scope .rz-tab-n{font-size:11px;font-weight:700;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--line-2);color:var(--ink-2);display:inline-flex;align-items:center;justify-content:center}
.rz-scope .rz-tab.is-active .rz-tab-n{background:var(--brand);color:var(--ink)}

/* sub bar */
.rz-scope .rz-subbar{display:flex;align-items:center;justify-content:space-between;margin:20px 2px 12px}
.rz-scope .rz-subbar-l{display:flex;align-items:baseline;gap:12px}
.rz-scope .rz-subbar-l h2{margin:0;font-size:19px;font-weight:700;letter-spacing:-.01em}
.rz-scope .rz-subbar-meta{font-size:13px;color:var(--ink-3);font-weight:500}

/* U1 card */
.rz-scope .rz-card{background:var(--rz-surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);overflow:hidden}
.rz-scope .rz-uhead{display:flex;align-items:center;gap:11px;padding:15px 18px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fdfaf2,#fff)}
.rz-scope .rz-uhead-ic{width:34px;height:34px;border-radius:10px;background:var(--brand);color:var(--ink);display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.rz-scope .rz-uhead-title{font-size:16px;font-weight:700}
.rz-scope .rz-uhead-price{font-size:17px;font-weight:700;font-variant-numeric:tabular-nums;margin-right:6px}

/* facts strip */
.rz-scope .rz-facts{display:grid;grid-template-columns:1.5fr 1fr 1fr .9fr;gap:20px;padding:16px 18px;border-bottom:1px solid var(--line);position:relative}
.rz-scope .rz-fact{min-width:0}
.rz-scope .rz-fact-label{display:flex;align-items:center;gap:5px;font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);margin-bottom:5px}
.rz-scope .rz-fact-val{font-size:15px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rz-scope .rz-fact-sub{font-size:12px;color:var(--ink-3);margin-top:1px}
.rz-scope .rz-facts-sleva{grid-column:1/-1;display:flex;align-items:center;gap:7px;font-size:13px;padding-top:13px;margin-top:3px;border-top:1px dashed var(--line);color:var(--warn)}
.rz-scope .rz-facts-sleva b{color:var(--warn)}
.rz-scope .rz-facts-sleva .rz-muted{font-weight:500}

/* sections (accordion) */
.rz-scope .rz-secs{padding:14px}
.rz-scope .rz-sec{border:1.5px solid var(--line-2);border-radius:11px;background:var(--rz-surface);overflow:hidden;transition:border-color .14s,box-shadow .14s}
.rz-scope .rz-sec + .rz-sec{margin-top:9px}
.rz-scope .rz-sec:hover{border-color:var(--line-2)}
.rz-scope .rz-sec.is-open{border-color:var(--line-2);box-shadow:var(--shadow)}
.rz-scope .rz-sec-head{display:flex;align-items:center;gap:12px;width:100%;padding:14px 15px;background:var(--fill);border:0;cursor:pointer;font:inherit;text-align:left;transition:background .14s}
.rz-scope .rz-sec-head:hover{background:var(--fill-hover)}
.rz-scope .rz-sec.is-open .rz-sec-head{background:var(--fill-2);border-bottom:1px solid var(--line)}
.rz-scope .rz-sec-ic{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;color:#fff}
.rz-scope .rz-sec-ic.sm{width:22px;height:22px;border-radius:6px;display:inline-flex;vertical-align:middle;margin-right:8px}
.rz-scope .tone-blue{--tc:var(--brand)}
.rz-scope .tone-violet{--tc:var(--violet)}
.rz-scope .tone-amber{--tc:var(--warn)}
.rz-scope .tone-teal{--tc:var(--teal)}
.rz-scope .rz-sec-ic.tone-blue{background:var(--brand);color:var(--ink)}
.rz-scope .rz-sec-ic.tone-violet{background:var(--violet);color:#fff}
.rz-scope .rz-sec-ic.tone-amber{background:var(--warn);color:#fff}
.rz-scope .rz-sec-ic.tone-teal{background:var(--teal);color:#fff}
.rz-scope .rz-sec-title{font-weight:700;font-size:14.5px;color:var(--ink)}
.rz-scope .rz-sec-sum{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--ink-2);font-weight:500}
.rz-scope .rz-sec-amt{font-size:13.5px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink);margin-right:2px}
.rz-scope .rz-chev{color:var(--ink-2);display:flex;width:26px;height:26px;border-radius:7px;align-items:center;justify-content:center;background:rgba(64,48,16,.06);transition:transform .22s ease,background .14s,color .14s}
.rz-scope .rz-sec-head:hover .rz-chev{background:rgba(64,48,16,.11)}
.rz-scope .rz-sec.is-open .rz-chev{transform:rotate(180deg);color:var(--ink);background:var(--brand)}
.rz-scope .rz-sec-body{padding:6px 16px 16px}
.rz-scope .rz-sec-body[hidden]{display:none}

/* tables */
.rz-scope .rz-tbl{width:100%;border-collapse:collapse;font-size:13.5px}
.rz-scope .rz-tbl th{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);text-align:left;padding:9px 10px 8px;border-bottom:1px solid var(--line)}
.rz-scope .rz-tbl th.num{text-align:right}
.rz-scope .rz-tbl td{padding:11px 10px;border-bottom:1px solid var(--line)}
.rz-scope .rz-tbl tbody tr:last-child td{border-bottom:0}
.rz-scope .rz-tbl td b{font-weight:650}
.rz-scope .rz-locks{display:flex;align-items:center;gap:16px;padding:11px 10px 2px;font-size:13px;color:var(--ink-2)}
.rz-scope .rz-locks-label{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3)}
.rz-scope .rz-lock{display:inline-flex;align-items:center;gap:7px;font-weight:600}
.rz-scope .rz-toggle{width:34px;height:20px;border-radius:999px;border:0;background:var(--line-2);cursor:pointer;padding:0;position:relative;transition:background .15s;flex:0 0 auto}
.rz-scope .rz-toggle.is-on{background:var(--brand)}
.rz-scope .rz-knob{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--rz-surface);box-shadow:0 1px 2px rgba(0,0,0,.25);transition:transform .15s}
.rz-scope .rz-toggle.is-on .rz-knob{transform:translateX(14px)}

/* items groups */
.rz-scope .rz-itemgrp + .rz-itemgrp{margin-top:14px}
.rz-scope .rz-itemgrp-h{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--violet);background:var(--violet-fill);padding:6px 11px;border-radius:7px;display:inline-block;margin:4px 0 2px}

/* empty states */
.rz-scope .rz-empty{padding:6px 2px 2px}
.rz-scope .rz-empty-row{display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--fill);border:1px dashed var(--line-2);border-radius:10px;padding:14px 16px}
.rz-scope .rz-empty-txt{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;color:var(--ink-3);font-weight:500}

/* footer total */
.rz-scope .rz-ufoot{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--fill-2);border-top:1px solid var(--line)}
.rz-scope .rz-ufoot span{font-size:14px;font-weight:600;color:var(--ink-2)}
.rz-scope .rz-ufoot b{font-size:19px;font-weight:700;font-variant-numeric:tabular-nums}

/* ===== Bridge: existující třídy → handoff vzhled (uvnitř .rz-scope) ===== */

/* page background + základní velikost písma (přeneseno ze staré .res-detail-scope) */
.rz-scope{background:#eef1f5;border-radius:14px;padding:2px;font-size:.9375rem}

/* Proměnné pro globální helpery renderované na stránce (CustomerTypeBadge,
   svc-icon-tile, chip varianty) — přeneseno ze staré .res-detail-scope vrstvy. */
.rz-scope{
  --chip-draft-bg:#f3f4f6; --chip-draft-dot:#6b7280;
  --chip-open-bg:#eff6ff; --chip-open-dot:#3b82f6;
  --chip-confirmed-bg:#dcfce7; --chip-confirmed-dot:#16a34a;
  --chip-paid-bg:#d1fae5; --chip-paid-dot:#059669;
  --chip-cancelled-bg:#fee2e2; --chip-cancelled-dot:#dc2626;
  --chip-completed-bg:#e0e7ff; --chip-completed-dot:#4f46e5;
  --svc-boat-bg:#fff7db; --svc-boat-fg:#b88700;
  --svc-transport-bg:#e0f2fe; --svc-transport-fg:#0369a1;
  --svc-baggage-bg:#fef3c7; --svc-baggage-fg:#92400e;
  --svc-accommodation-bg:#ede9fe; --svc-accommodation-fg:#6d28d9;
  --cust-client-bg:#eef2ff; --cust-client-fg:#4338ca; --cust-client-border:#c7d2fe;
  --cust-company-bg:#ede9fe; --cust-company-fg:#6d28d9; --cust-company-border:#c4b5fd;
  --cust-school-bg:#ecfdf5; --cust-school-fg:#065f46; --cust-school-border:#6ee7b7;
  --cust-partner-bg:#fef3c7; --cust-partner-fg:#92400e; --cust-partner-border:#fcd34d;
}

/* StatusChip (.chip / .dot) → rz-badge */
.rz-scope .chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:3px 9px 3px 8px;border-radius:999px}
.rz-scope .chip .dot{width:6px;height:6px;border-radius:50%;background:currentColor}
.rz-scope .chip-confirmed,.rz-scope .chip-paid,.rz-scope .chip-completed,.rz-scope .chip-open{background:var(--good);color:#fff}
.rz-scope .chip-confirmed .dot,.rz-scope .chip-paid .dot,.rz-scope .chip-completed .dot,.rz-scope .chip-open .dot{background:var(--rz-surface)}
.rz-scope .chip-draft,.rz-scope .chip-neutral{background:var(--fill-2);color:var(--ink-2);border:1px solid var(--line-2)}
.rz-scope .chip-draft .dot,.rz-scope .chip-neutral .dot{background:var(--ink-3)}
.rz-scope .chip-cancelled{background:var(--danger-fill);color:var(--danger);border:1px solid var(--danger-line)}
.rz-scope .chip-cancelled .dot{background:var(--danger)}

/* ServiceIconTile (.svc-icon-tile / svc-tile-*) → tónovaná dlaždice, plná barva + bílá ikona */
.rz-scope .svc-icon-tile{display:flex;align-items:center;justify-content:center;color:#fff!important}
.rz-scope .svc-tile-boat,.rz-scope .svc-tile-accommodation{background:var(--brand)!important;color:var(--ink)!important}
.rz-scope .svc-tile-transport{background:var(--teal)!important}
.rz-scope .svc-tile-baggage{background:var(--warn)!important}

/* ServiceLineHeader (.sub-header) → rz-uhead
   border-left:0 přebíjí zbytkový modrý levý okraj ze staré .res-detail-scope vrstvy */
.rz-scope .sub-header{display:flex;align-items:center;gap:11px;padding:15px 18px;border-left:0;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fdfaf2,#fff)}
.rz-scope .rz-uhead-title{font-size:16px;font-weight:700}
.rz-scope .sub-header .fw-semibold{font-weight:700}
.rz-scope .sub-header > .fw-semibold{font-size:17px;font-variant-numeric:tabular-nums;margin-right:6px}

/* Edit/Delete tlačítka v hlavičce karty → rz-btn / rz-iconbtn */
.rz-scope .sub-header .btn-outline-primary{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;padding:8px 13px;border-radius:9px;border:1px solid var(--line-2);background:var(--rz-surface);color:var(--ink)}
.rz-scope .sub-header .btn-outline-primary:hover{background:var(--fill);border-color:var(--ink-3)}
.rz-scope .sub-header .btn-outline-danger{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;border:1px solid var(--line-2);background:var(--rz-surface);color:var(--danger)}
.rz-scope .sub-header .btn-outline-danger:hover{background:var(--danger-fill);border-color:var(--danger-line)}

/* Plain (ne-subrezervační) karty: měkký vzhled + overflow:hidden, aby flush
   hlavičky/tabulky neořezávaly zaoblené rohy karty. */
.rz-scope .card:not(.rz-card){border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);overflow:hidden}
/* Výjimka: karty uvnitř rozbalovacích sekcí (formuláře evidence hostů) NEsmí
   ořezávat — hostí popup adresového našeptávače (dropdown přetéká kartu). */
.rz-scope .rz-sec-body .card{overflow:visible}
/* Opt-in: jakákoli karta, která hostí rozbalovací menu (LocationSelect apod.),
   nesmí ořezávat, jinak se panel schová za okraj karty. */
.rz-scope .card.rz-allow-overflow{overflow:visible}
.rz-scope .card-header{background:var(--rz-surface);border-bottom:1px solid var(--line);font-weight:600;color:var(--ink)}
.rz-scope .table-soft tbody tr.sub-row td{padding-left:2rem;color:var(--ink-3);font-size:.8rem}

/* RefChip: LinkBadge badge-soft-* → rz-ref */
.rz-scope .badge-soft-amber{display:inline-flex;align-items:center;gap:5px;font-family:'JetBrains Mono',monospace;font-size:11.5px;font-weight:700;padding:3px 8px 3px 6px;border-radius:7px;background:var(--warn-fill);color:var(--warn);border:1px solid var(--warn-line)}
.rz-scope .badge-soft-gray{display:inline-flex;align-items:center;gap:5px;font-family:'JetBrains Mono',monospace;font-size:11.5px;font-weight:700;padding:3px 8px 3px 6px;border-radius:7px;background:var(--fill);color:var(--ink-2);border:1px solid var(--line-2)}

/* Tabulky (.table-soft) → rz-tbl */
.rz-scope .table-soft{font-size:13.5px}
.rz-scope .table-soft th{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--line);background:transparent}
.rz-scope .table-soft td{padding:11px 10px;border-bottom:1px solid var(--line);border-top:0}

/* Položky rezervace: jednotný fixní layout sloupců napříč sekcemi (Hosté / Osoby /
   Příplatky / Parkování / Místní poplatky), aby se sloupce svisle zarovnaly.
   Pořadí: 1) Počet  2) Kategorie (flex)  3) Nocí  4) Cena / MJ  5) Celková cena */
.rz-scope .rz-itemtbl{table-layout:fixed}
.rz-scope .rz-itemtbl th:nth-child(1),.rz-scope .rz-itemtbl td:nth-child(1){width:72px}
.rz-scope .rz-itemtbl th:nth-child(3),.rz-scope .rz-itemtbl td:nth-child(3){width:80px}
.rz-scope .rz-itemtbl th:nth-child(4),.rz-scope .rz-itemtbl td:nth-child(4){width:23%}
.rz-scope .rz-itemtbl th:nth-child(5),.rz-scope .rz-itemtbl td:nth-child(5){width:23%}

/* Facts: kv-label → rz-fact-label */
.rz-scope .kv-label{display:flex;align-items:center;gap:5px;font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);margin-bottom:5px}

/* MoveLockToggles: bootstrap switch → brand barva */
.rz-scope .form-switch .form-check-input:checked{background-color:var(--brand);border-color:var(--brand)}

/* SubBar / footer akce tlačítka */
.rz-scope .rz-subbar .btn-primary{background:var(--brand);border-color:#e3b000;color:var(--ink);border-radius:9px;font-weight:600}
.rz-scope .rz-subbar .btn-primary:hover{background:#f0ba00;border-color:#c79c00;color:var(--ink)}
.rz-scope .rz-cardactions .btn-outline-primary{color:var(--brand-ink);border:1px solid var(--line-2);background:var(--rz-surface);border-radius:9px;font-weight:600;display:inline-flex;align-items:center;gap:7px}
.rz-scope .rz-cardactions .btn-outline-primary:hover{background:var(--brand-fill);border-color:var(--brand)}

/* Rychlé přidání na aktivní záložce (zelené +) */
.rz-scope .rz-tab .text-success{color:var(--good)!important;display:inline-flex;align-items:center;margin-left:3px;padding:0;line-height:1}
.rz-scope .rz-tab .text-success .bi,.rz-scope .rz-tab .text-success svg{font-size:18px;width:18px;height:18px}
.rz-scope .rz-tab .dropdown{display:inline-flex}

/* Akční tlačítka v hlavičce rezervace */
.rz-scope .rz-rh-actions .btn{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;padding:8px 13px;border-radius:9px;border:1px solid var(--line-2);background:var(--rz-surface);color:var(--ink)}
.rz-scope .rz-rh-actions .btn:hover{background:var(--fill);border-color:var(--ink-3)}
.rz-scope .rz-rh-actions .btn-success{background:var(--good);border-color:var(--good);color:#fff}
.rz-scope .rz-rh-actions .btn-success:hover{background:var(--good-ink);border-color:var(--good-ink)}
.rz-scope .rz-rh-actions .dropdown-toggle::after{display:none}

/* prefers-reduced-motion */
@media (prefers-reduced-motion:reduce){
  .rz-scope *{transition:none!important;animation:none!important}
}

/* ===== Formuláře / tlačítka / nav (admin-wide rz vrstva) =====
   Přeneseno z .cust-detail-scope, barvy na rz tokeny. Umožňuje použít čistý
   .rz-scope (bez cust-detail-scope) na redesignovaných stránkách. */
.rz-scope .form-label { font-size: .8125rem; color: var(--ink-2); margin-bottom: .25rem; font-weight: 500; }
.rz-scope .form-control, .rz-scope .form-select { font-size: .9375rem; border-radius: 8px; border-color: var(--line-2); }
.rz-scope .form-control:focus, .rz-scope .form-select:focus { box-shadow: 0 0 0 3px rgba(255, 199, 0, .45); border-color: var(--brand); }
.rz-scope .btn { border-radius: 8px; font-weight: 500; }
.rz-scope .btn-sm { font-size: .8125rem; }
.rz-scope .btn-primary { background: var(--brand); border-color: #e3b000; color: var(--ink); }
.rz-scope .btn-primary:hover { background: #f0ba00; border-color: #c79c00; color: var(--ink); }
.rz-scope .btn-outline-primary { color: var(--brand-ink); border-color: var(--line-2); }
.rz-scope .btn-outline-primary:hover { background: var(--brand-fill); border-color: var(--brand); color: var(--brand-ink); }

/* nav-tabs fallback (stránky, které ještě nepoužívají rz-tabbar) */
.rz-scope .nav-tabs { border-bottom: 1px solid var(--line); gap: .25rem; }
.rz-scope .nav-tabs .nav-link { border: 0; color: var(--ink-2); font-weight: 500; padding: .75rem 1rem; border-radius: 0; border-bottom: 2px solid transparent; margin-bottom: -1px; background: transparent; }
.rz-scope .nav-tabs .nav-link:hover { color: var(--ink); border-bottom-color: var(--line-2); }
.rz-scope .nav-tabs .nav-link.active { color: var(--brand-ink); border-bottom-color: var(--brand); background: transparent; }
.rz-scope .nav-tabs .nav-link .badge { background: var(--line-2); color: var(--ink-2); font-weight: 600; margin-left: .35rem; padding: .2rem .45rem; border-radius: 999px; font-size: .7rem; }
.rz-scope .nav-tabs .nav-link.active .badge { background: var(--brand-fill); color: var(--brand-ink); }

.rz-scope a.rz-btn, .rz-scope a.rz-btn:hover { text-decoration: none; }

/* ===== Dark mode — remap rz-scope tokens + dark-only fixes =====
   Scoped to .rz-scope so the local rz variable names never leak to the rest
   of the app. Light :root values above are untouched; this only adds overrides.
   Brand stays yellow; semantic hues are lightened for contrast on dark; solid
   "colored fill + white glyph" elements get a dark glyph since their fill is
   now light. */
[data-theme="dark"] .rz-scope{
  --ink:#e6e8eb; --ink-2:#c2c8d0; --ink-3:#9aa4b2;
  --line:#2b333d; --line-2:#3a444f;
  --fill:#232a33; --fill-2:#2a323c; --fill-hover:#2f3741;
  --rz-surface:#1a1f26;
  --brand:#ffce33; --brand-ink:#ffcf4d; --brand-fill:rgba(255,199,0,.14); --brand-line:rgba(255,199,0,.34);
  --good:#34d399; --good-ink:#10b981; --good-fill:rgba(52,211,153,.15);
  --warn:#fbbf24; --warn-fill:rgba(251,191,36,.14); --warn-line:rgba(251,191,36,.4);
  --violet:#e0916f; --violet-fill:rgba(224,145,111,.14);
  --teal:#a3b73a; --teal-fill:rgba(163,183,58,.14);
  --danger:#f87171; --danger-fill:rgba(248,113,113,.14); --danger-line:rgba(248,113,113,.4);
  --shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.45);
  background:#13171c;

  /* global helper chip / svc-tile / customer-type tokens (rendered into .rz-scope) */
  --chip-draft-bg:#2a323c; --chip-draft-dot:#9aa4b2;
  --chip-open-bg:rgba(59,130,246,.18); --chip-open-dot:#60a5fa;
  --chip-confirmed-bg:rgba(34,197,94,.18); --chip-confirmed-dot:#4ade80;
  --chip-paid-bg:rgba(16,185,129,.18); --chip-paid-dot:#34d399;
  --chip-cancelled-bg:rgba(239,68,68,.18); --chip-cancelled-dot:#f87171;
  --chip-completed-bg:rgba(99,102,241,.2); --chip-completed-dot:#818cf8;
  --svc-boat-bg:rgba(255,199,0,.16); --svc-boat-fg:#ffd24d;
  --svc-transport-bg:rgba(56,182,239,.16); --svc-transport-fg:#7dd3fc;
  --svc-baggage-bg:rgba(251,191,36,.16); --svc-baggage-fg:#fcd34d;
  --svc-accommodation-bg:rgba(139,92,246,.18); --svc-accommodation-fg:#c4b5fd;
  --cust-client-bg:rgba(99,102,241,.18); --cust-client-fg:#a5b4fc; --cust-client-border:rgba(99,102,241,.4);
  --cust-company-bg:rgba(139,92,246,.18); --cust-company-fg:#c4b5fd; --cust-company-border:rgba(139,92,246,.4);
  --cust-school-bg:rgba(16,185,129,.18); --cust-school-fg:#6ee7b7; --cust-school-border:rgba(16,185,129,.4);
  --cust-partner-bg:rgba(251,191,36,.18); --cust-partner-fg:#fcd34d; --cust-partner-border:rgba(251,191,36,.4);
}

/* warm cream header gradients → flat dark surface */
[data-theme="dark"] .rz-scope .rz-uhead,
[data-theme="dark"] .rz-scope .sub-header{background:linear-gradient(180deg,#1f262f,#1a1f26)}

/* chevron pill tint (was warm rgba on light) */
[data-theme="dark"] .rz-scope .rz-chev{background:rgba(255,255,255,.06)}
[data-theme="dark"] .rz-scope .rz-sec-head:hover .rz-chev{background:rgba(255,255,255,.1)}

/* keep a dark glyph/text on the (light) yellow brand surfaces */
[data-theme="dark"] .rz-scope .rz-btn-primary,
[data-theme="dark"] .rz-scope .rz-avatar,
[data-theme="dark"] .rz-scope .rz-tab.is-active .rz-tab-n,
[data-theme="dark"] .rz-scope .rz-uhead-ic,
[data-theme="dark"] .rz-scope .rz-sec-ic.tone-blue,
[data-theme="dark"] .rz-scope .rz-sec.is-open .rz-chev,
[data-theme="dark"] .rz-scope .rz-subbar .btn-primary,
[data-theme="dark"] .rz-scope .btn-primary{color:#271e10}

/* keep a dark glyph/text on the now-lighter solid semantic fills */
[data-theme="dark"] .rz-scope .rz-badge-good,
[data-theme="dark"] .rz-scope .rz-tab-add,
[data-theme="dark"] .rz-scope .rz-btn-good,
[data-theme="dark"] .rz-scope .rz-btn-good:hover,
[data-theme="dark"] .rz-scope .rz-rh-actions .btn-success,
[data-theme="dark"] .rz-scope .rz-rh-actions .btn-success:hover,
[data-theme="dark"] .rz-scope .chip-confirmed,
[data-theme="dark"] .rz-scope .chip-paid,
[data-theme="dark"] .rz-scope .chip-completed,
[data-theme="dark"] .rz-scope .chip-open,
[data-theme="dark"] .rz-scope .rz-sec-ic.tone-violet,
[data-theme="dark"] .rz-scope .rz-sec-ic.tone-amber,
[data-theme="dark"] .rz-scope .rz-sec-ic.tone-teal{color:#1a1f26}

/* dots inside solid badges → dark to match */
[data-theme="dark"] .rz-scope .rz-badge-good .rz-dot,
[data-theme="dark"] .rz-scope .chip-confirmed .dot,
[data-theme="dark"] .rz-scope .chip-paid .dot,
[data-theme="dark"] .rz-scope .chip-completed .dot,
[data-theme="dark"] .rz-scope .chip-open .dot{background:#1a1f26}

/* service icon tiles always carry a dark glyph in dark mode (all fills are light) */
[data-theme="dark"] .rz-scope .svc-icon-tile{color:#1a1f26!important}

/* toggle handle stays a light puck (readable on both the dark off-track and the brand on-track) */
[data-theme="dark"] .rz-scope .rz-knob{background:#e6e8eb}
