/* Prodej zájezdů – webová podoba původní aplikace */
.sales-icon { width: 19px; height: 19px; flex: 0 0 auto; }
.sales-head-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px; }
.sales-dialog-subtitle { max-width:720px; margin:7px 0 0; color:var(--muted); font-size:12px; line-height:1.45; }

.sales-status-strip {
  display:flex; align-items:center; flex-wrap:wrap; gap:9px; margin:-6px 0 16px;
  padding:11px; border:1px solid #cfdde2; border-radius:18px;
  background:#eaf1f5; box-shadow:0 7px 22px rgba(18,50,74,.08);
}
.sales-status-meta { display:inline-flex; align-items:center; gap:7px; min-height:38px; padding:8px 10px; color:#526973; font-size:11px; font-weight:750; white-space:nowrap; }
.sales-status-meta .sales-icon { width:17px; height:17px; }
.sales-status-button {
  display:inline-flex; min-height:39px; align-items:stretch; padding:0; overflow:hidden;
  border:1px solid currentColor; border-radius:10px; background:white;
  box-shadow:0 2px 8px rgba(18,50,74,.08); font-size:11px; font-weight:800;
  transition:transform .14s,box-shadow .14s;
}
.sales-status-button:hover { transform:translateY(-1px); box-shadow:0 6px 15px rgba(18,50,74,.14); }
.sales-status-label { display:inline-flex; align-items:center; gap:7px; padding:9px 10px; white-space:nowrap; }
.sales-status-label .sales-icon { width:17px; height:17px; }
.sales-status-button strong { display:inline-flex; align-items:center; justify-content:center; min-width:42px; padding:9px 10px; border-left:1px solid currentColor; white-space:nowrap; }
.sales-status-button.tone-danger { color:#8f2f3b; border-color:#d7a7ae; }
.sales-status-button.tone-danger strong { background:#fdebed; }
.sales-status-button.tone-warning { color:#775718; border-color:#dec88c; }
.sales-status-button.tone-warning strong { background:#fff5d8; }
.sales-status-button.tone-info { color:#285f7c; border-color:#9fc2d7; }
.sales-status-button.tone-info strong { background:#e8f4fb; }
.sales-status-button.tone-success { color:#256348; border-color:#9ecdb9; }
.sales-status-button.tone-success strong { background:#e7f5ed; }
.sales-status-button.tone-birthday { color:#67468f; border-color:#baa8d8; }
.sales-status-button.tone-birthday strong { background:#f2ecfa; }

.sales-tabs {
  display:flex; gap:6px; margin:0 0 22px; padding:6px; overflow-x:auto;
  border:1px solid var(--line); border-radius:17px; background:rgba(226,239,236,.88);
  scrollbar-width:thin;
}
.sales-tabs button { flex:0 0 auto; min-height:42px; padding:10px 16px; border:0; border-radius:12px; color:var(--muted); background:transparent; font-size:13px; font-weight:850; white-space:nowrap; }
.sales-tabs button:hover { color:var(--ink); background:rgba(255,255,255,.55); }
.sales-tabs button.active { color:var(--ink); background:white; box-shadow:0 5px 16px rgba(7,56,63,.10); }

.sales-panel { min-width:0; padding:22px; border:1px solid var(--line); border-radius:20px; background:var(--card); box-shadow:var(--soft-shadow); }
.sales-panel + .sales-panel { margin-top:18px; }
.sales-panel-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:18px; }
.sales-panel-head h2 { margin:3px 0 0; font-size:20px; letter-spacing:-.025em; }
.sales-panel-head p { max-width:880px; margin:6px 0 0; color:var(--muted); font-size:12px; line-height:1.55; }
.sales-panel-head > strong { color:var(--teal-dark); font-size:26px; letter-spacing:-.035em; }
.sales-panel-kicker { display:flex; align-items:center; gap:7px; color:var(--teal-dark); font-size:10px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.sales-panel-kicker .sales-icon { width:16px; height:16px; }

.sales-storage-warning { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:18px; padding:15px 18px; border:1px solid #e8ce7b; border-radius:15px; color:#68500a; background:#fff7d8; }
.sales-storage-warning span { color:#7d692b; font-size:12px; }
.sales-storage-warning.danger { border-color:#f0aca0; color:#8b2c1d; background:#fff0ed; }

.sales-evidence-panel { padding:0; overflow:hidden; }
.sales-evidence-panel > .sales-panel-head { margin:0; padding:21px 22px; border-bottom:1px solid var(--line); }
.sales-toolbar { display:grid; grid-template-columns:minmax(280px,1fr) repeat(3,minmax(150px,190px)); gap:11px; padding:16px; border-bottom:1px solid var(--line); background:linear-gradient(#fff,#fbfdfc); }
.sales-table-summary { padding:11px 17px 0; color:var(--muted); font-size:11px; font-weight:750; }
.sales-table { min-width:1250px; }
.sales-payment { display:inline-flex; padding:6px 9px; border-radius:999px; font-size:10px; font-weight:850; }
.sales-payment.paid { color:#096343; background:#dff5e9; }
.sales-payment.deposit { color:#7a5b05; background:#fff2bf; }
.sales-payment.none { color:#8b3729; background:#ffe4de; }
.sales-pagination { display:flex; align-items:center; justify-content:center; gap:15px; padding:18px; border-top:1px solid var(--line); color:var(--muted); font-size:12px; }

.detail-dialog.sales-record-dialog { width:min(1420px,calc(100vw - 24px)); max-height:calc(100dvh - 24px); }
.sales-record-dialog form { display:flex; max-height:calc(100dvh - 24px); flex-direction:column; }
.sales-record-body { display:block; max-height:none; min-height:0; padding:20px 22px; overflow-y:auto; background:#f4f8f8; }
.sales-form-hint { display:flex; align-items:center; margin-bottom:14px; padding:11px 13px; border:1px solid #c9e3dd; border-radius:10px; color:#315f59; background:#edf8f5; font-size:12px; line-height:1.5; }
.sales-record-section { margin-bottom:14px; padding:14px; border:1px solid #d6e3e1; border-radius:15px; background:#fff; box-shadow:0 5px 16px rgba(7,56,63,.035); }
.sales-record-section:last-of-type { margin-bottom:0; }
.sales-record-section-title { display:flex; align-items:center; gap:9px; margin-bottom:11px; color:var(--teal-dark); }
.sales-record-section-title > span { display:grid; width:32px; height:32px; place-items:center; border-radius:9px; background:#e6f4f2; }
.sales-record-section-title h3 { margin:0; color:var(--ink); font-size:15px; }
.sales-tile-grid { display:grid; grid-template-columns:repeat(4,minmax(190px,1fr)); gap:10px; }
.sales-field-tile { display:block; min-width:0; min-height:82px; padding:11px 12px; border:1px solid #d2e0dd; border-radius:11px; color:var(--ink); background:#f9fbfb; font-size:12px; }
.sales-field-tile:hover { border-color:#b6cfca; }
.sales-field-label { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:18px; margin-bottom:7px; color:var(--muted); font-size:10px; font-weight:850; letter-spacing:.05em; text-transform:uppercase; }
.sales-field-tile input,.sales-field-tile select,.sales-field-tile textarea { min-height:39px; padding:9px 10px; border-radius:8px; font-size:13px; font-weight:650; }
.sales-field-tile textarea { min-height:72px; }
.sales-field-value { min-height:30px; display:flex; align-items:center; color:var(--ink); font-size:14px; font-weight:720; overflow-wrap:anywhere; }
.sales-field-value a { color:var(--teal-dark); }
.sales-field-wide { grid-column:1 / -1; }
.sales-derived-tile { border-color:#9fd0c4; background:#e9f7f3; }
.sales-derived-tile .sales-field-label { color:#26725f; }
.sales-derived-tile .sales-field-value { color:#145744; font-size:17px; font-weight:900; }
.sales-required-badge { padding:3px 6px; border-radius:999px; color:#0a6d71; background:#dff3f1; font-size:8px; letter-spacing:.03em; text-transform:none; }
.sales-record-actions { flex:0 0 auto; }
.sales-actions-spacer { flex:1; }

.detail-dialog.sales-list-dialog { width:min(1180px,calc(100vw - 24px)); }
.sales-list-body,.sales-alert-dialog-body { max-height:calc(100dvh - 190px); overflow-y:auto; }
.sales-alert-hint { padding:11px 13px; border:1px solid #c9e3d6; border-radius:10px; color:#315f4c; background:#edf8f3; font-size:12px; line-height:1.45; }
.sales-alert-list { display:grid; gap:9px; }
.sales-alert-row { display:flex; align-items:center; gap:12px; padding:12px; border:1px solid var(--line); border-radius:12px; background:#fbfdfc; }
.sales-alert-main { flex:1; min-width:0; padding:0; border:0; color:inherit; background:transparent; text-align:left; }
.sales-alert-main strong,.sales-alert-main span,.sales-alert-main small { display:block; }
.sales-alert-main span { margin-top:4px; color:var(--ink-soft); font-size:12px; }
.sales-alert-main small { margin-top:3px; color:var(--muted); font-size:10px; }
.sales-modal-table { min-width:860px; }
.sales-all-clear { display:grid; min-height:150px; place-items:center; align-content:center; gap:7px; padding:24px; border:1px dashed #c9dad7; border-radius:14px; color:var(--muted); background:#f7faf9; text-align:center; }
.sales-all-clear strong { color:var(--ink); font-size:18px; }
.sales-all-clear span { font-size:12px; }

.sales-value-grid { display:grid; gap:14px; margin-bottom:18px; }
.sales-value-grid.three { grid-template-columns:repeat(3,minmax(170px,1fr)); }
.sales-value-box,.sales-metric-box { position:relative; display:flex; min-height:126px; align-items:center; justify-content:space-between; gap:18px; overflow:hidden; padding:21px 22px; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:var(--soft-shadow); }
.sales-value-box::after,.sales-metric-box::after { content:''; position:absolute; width:100px; height:100px; right:-42px; bottom:-52px; border-radius:50%; background:rgba(7,150,162,.06); }
.sales-value-box span,.sales-metric-box span { display:block; max-width:230px; color:var(--muted); font-size:12px; font-weight:780; line-height:1.35; }
.sales-value-box strong,.sales-metric-box strong { display:block; margin-top:12px; font-size:clamp(25px,2.5vw,36px); letter-spacing:-.04em; }
.sales-value-box > .sales-icon,.sales-metric-box > .sales-icon { width:44px; height:44px; color:var(--teal); opacity:.88; }
.sales-value-box.tone-birthday { border-color:#d5c2e8; background:#fbf7ff; }
.sales-value-box.tone-birthday > .sales-icon { color:#78519e; }
.sales-value-box.tone-departure { border-color:#b7d6e5; background:#f4fbfe; }
.sales-value-box.tone-departure > .sales-icon { color:#2e6f91; }
.sales-value-box.tone-return { border-color:#b9dbc9; background:#f3fbf7; }
.sales-value-box.tone-return > .sales-icon { color:#2f7654; }

.sales-calendar-panel { margin-bottom:18px; overflow:hidden; }
.sales-calendar-toolbar { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:9px; margin-bottom:17px; }
.sales-calendar-toolbar > div { display:grid; min-width:220px; text-align:center; }
.sales-calendar-toolbar > div span { color:var(--muted); font-size:10px; font-weight:850; letter-spacing:.11em; text-transform:uppercase; }
.sales-calendar-toolbar > div strong { margin-top:2px; font-size:20px; }
.sales-calendar-scroll { width:100%; overflow-x:auto; border-radius:12px; }
.sales-calendar-grid { display:grid; grid-template-columns:repeat(7,minmax(110px,1fr)); gap:1px; min-width:790px; overflow:hidden; border:1px solid #cdd9e1; border-radius:12px; background:#cdd9e1; }
.sales-calendar-grid .weekday { padding:9px; color:white; background:var(--navy); font-size:11px; font-weight:850; text-align:center; }
.sales-calendar-cell { min-height:142px; padding:8px; border:0; border-radius:0; color:var(--ink); background:white; text-align:left; cursor:default; }
.sales-calendar-cell.empty { background:#eff3f4; }
.sales-calendar-cell.has-events { cursor:pointer; }
.sales-calendar-cell.has-events:hover { position:relative; z-index:1; box-shadow:inset 0 0 0 2px var(--teal); }
.sales-calendar-cell.today { box-shadow:inset 0 0 0 3px var(--teal); }
.sales-calendar-number { display:grid; width:27px; height:27px; place-items:center; margin-bottom:4px; border-radius:7px; font-size:11px; font-weight:900; }
.sales-calendar-cell.today .sales-calendar-number { color:white; background:var(--teal); }
.sales-calendar-event { display:block; margin-top:4px; padding:4px 5px; overflow:hidden; border:1px solid transparent; border-radius:6px; font-size:9px; font-weight:750; text-overflow:ellipsis; white-space:nowrap; }
.sales-calendar-event.birthday,.sales-event-badge.birthday { color:#684084; border-color:#dfc8ef; background:#f5ecfb; }
.sales-calendar-event.departure,.sales-event-badge.departure { color:#245f7d; border-color:#a9d1e4; background:#e7f4fa; }
.sales-calendar-event.return,.sales-event-badge.return { color:#286448; border-color:#a9d7c3; background:#e8f6ef; }
.sales-calendar-cell small { display:block; margin-top:4px; color:var(--muted); font-size:9px; }
.sales-calendar-legend { display:flex; flex-wrap:wrap; gap:15px; margin-top:12px; color:var(--muted); font-size:11px; }
.sales-calendar-legend span::before { content:''; display:inline-block; width:11px; height:11px; margin-right:6px; border-radius:3px; vertical-align:-1px; }
.sales-calendar-legend .birthday::before { background:#d8b8e9; }
.sales-calendar-legend .departure::before { background:#9ccce2; }
.sales-calendar-legend .return::before { background:#9ed2ba; }
.sales-event-badge { display:inline-flex; padding:5px 8px; border:1px solid; border-radius:999px; font-size:9px; font-weight:850; }

.sales-filter-panel { display:flex; align-items:end; flex-wrap:wrap; gap:15px; margin-bottom:18px; padding:15px 18px; }
.sales-filter-title { display:flex; flex:1 1 280px; align-items:center; gap:9px; min-height:42px; color:var(--ink); }
.sales-filter-title .sales-icon { color:var(--teal); }
.sales-filter-panel label { min-width:165px; }
.sales-summary-table tbody tr[data-sales-stat-period],table tbody tr[data-commission-key] { cursor:pointer; }
.sales-summary-table tbody tr:not([data-sales-stat-period]) { cursor:default; }
.sales-money-positive { color:#176a52; }

.sales-ck-table-panel { margin-bottom:18px; padding:0; overflow:hidden; }
.sales-ck-table-panel > .sales-panel-head { margin:0; padding:21px 22px; border-bottom:1px solid var(--line); }
.sales-ck-wide { width:max-content; min-width:100%; }
.sales-ck-wide .ck-group { color:white; border-left:2px solid white; background:var(--navy); text-align:center; }
.sales-ck-wide th { white-space:nowrap; text-align:center; }
.sales-ck-wide td { min-width:118px; white-space:nowrap; text-align:right; }
.sales-ck-wide td:first-child { position:sticky; left:0; z-index:1; min-width:115px; background:white; text-align:left; }
.sales-table-link { padding:4px 3px; border:0; color:var(--teal-dark); background:transparent; font-weight:800; text-decoration:underline; text-decoration-color:#a8cfca; text-underline-offset:3px; }
.sales-distribution-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.sales-distribution-grid .sales-panel + .sales-panel { margin-top:0; }
.sales-donut-layout { display:grid; gap:20px; }
.sales-donut { position:relative; display:grid; width:190px; aspect-ratio:1; place-items:center; margin:0 auto; border-radius:50%; }
.sales-donut::after { content:''; position:absolute; inset:38px; border-radius:50%; background:white; box-shadow:0 0 0 1px rgba(12,76,82,.06); }
.sales-donut span { position:relative; z-index:1; max-width:110px; font-size:15px; font-weight:900; text-align:center; }
.sales-donut-legend { display:grid; gap:7px; }
.sales-donut-legend button { display:grid; grid-template-columns:10px minmax(0,1fr) auto; align-items:center; gap:8px; padding:8px; border:1px solid #e3edeb; border-radius:9px; color:inherit; background:#fbfdfc; text-align:left; }
.sales-donut-legend button:hover { border-color:#aaccc7; background:#f2f9f8; }
.sales-donut-legend i { width:9px; height:9px; border-radius:50%; }
.sales-donut-legend span { overflow:hidden; font-size:11px; font-weight:750; text-overflow:ellipsis; white-space:nowrap; }
.sales-donut-legend strong { font-size:10px; white-space:nowrap; }

.sales-data-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.sales-data-grid .sales-panel + .sales-panel { margin-top:0; }
.sales-data-grid .button { width:fit-content; }
.sales-data-grid label + .button { margin-top:14px; }
.sales-privacy-note { margin-bottom:16px; padding:13px 14px; border:1px solid #c9e6e2; border-radius:13px; color:var(--teal-dark); background:#eaf8f6; font-size:12px; line-height:1.55; }
.sales-button-stack { display:flex; flex-wrap:wrap; gap:9px; }
#sales-import-progress { width:100%; height:12px; accent-color:var(--teal); }
.storage-meter { width:100%; height:15px; overflow:hidden; border:0; border-radius:99px; accent-color:var(--teal); }
.storage-meter.danger { accent-color:var(--coral); }
.sales-backup-panel { margin-top:18px; }
.backup-list { display:grid; gap:9px; }
.backup-row { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px; border:1px solid var(--line); border-radius:13px; background:#fbfdfc; }
.backup-row strong,.backup-row span { display:block; }
.backup-row span { margin-top:5px; color:var(--muted); font-size:11px; }
.backup-row > div:last-child { display:flex; flex:0 0 auto; gap:8px; }
.sales-empty-inline { margin:0; padding:18px; border-radius:12px; color:var(--muted); background:#f5f9f8; text-align:center; }

@media (max-width:1250px) {
  .sales-tile-grid { grid-template-columns:repeat(3,minmax(190px,1fr)); }
  .sales-distribution-grid { grid-template-columns:1fr; }
  .sales-donut-layout { grid-template-columns:220px 1fr; align-items:center; }
}
@media (max-width:1050px) {
  .sales-status-strip { flex-wrap:nowrap; overflow-x:auto; }
  .sales-status-meta,.sales-status-button { flex:0 0 auto; }
  .sales-toolbar { grid-template-columns:1fr 1fr; }
  .sales-toolbar .search-wrap { grid-column:1 / -1; }
  .sales-tile-grid { grid-template-columns:repeat(2,minmax(190px,1fr)); }
  .sales-data-grid { grid-template-columns:1fr; }
}
@media (max-width:760px) {
  .sales-head-actions { justify-content:flex-start; }
  .sales-status-strip { margin-inline:-4px; border-radius:13px; }
  .sales-tabs { margin-inline:-3px; }
  .sales-value-grid.three { grid-template-columns:1fr; }
  .sales-value-box,.sales-metric-box { min-height:104px; }
  .sales-filter-panel,.sales-panel-head,.backup-row { align-items:flex-start; flex-direction:column; }
  .sales-filter-panel label { width:100%; }
  .sales-donut-layout { grid-template-columns:1fr; }
  .sales-record-dialog .dialog-head { padding-inline:18px; }
  .sales-record-body { padding:15px; }
  .sales-tile-grid { grid-template-columns:1fr; }
  .sales-field-wide { grid-column:auto; }
  .sales-record-actions { flex-wrap:wrap; padding-inline:15px; }
  .sales-actions-spacer { display:none; }
  .sales-alert-row { align-items:stretch; flex-direction:column; }
  .sales-alert-row > .button { width:100%; }
}
@media (max-width:560px) {
  .sales-toolbar { grid-template-columns:1fr; }
  .sales-toolbar .search-wrap { grid-column:auto; }
  .sales-record-section { padding:10px; }
  .sales-button-stack,.sales-button-stack .button,.sales-data-grid .button { width:100%; }
  .backup-row > div:last-child { width:100%; }
  .backup-row > div:last-child .button { flex:1; }
  .sales-calendar-toolbar > div { order:-1; width:100%; }
}
