
/* ─── additions for search, drawer, and pickup editor ─── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --bg: #0a1a12; --surface: #0e2018; --surface-alt: #152d1f; --border: rgba(67,192,140,0.18);
  --text: #e8f0ec; --text-muted: #7aab91;
  --primary: #43c08c; --primary-light: rgba(67,192,140,0.15);
  --danger: #f87171; --danger-bg: rgba(248,113,113,0.12); --danger-border: rgba(248,113,113,0.30);
  --warning: #fbbf24; --warning-bg: rgba(251,191,36,0.10); --warning-border: rgba(251,191,36,0.30);
  --success: #4ade80; --success-bg: rgba(74,222,128,0.10);
  --full: #a78bfa; --gold: #facd75;
  --radius: 8px;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 14px; color: var(--text); background: var(--bg);
}
.search-toggle { margin-left: auto; font-size: 13px; }
.btn { cursor: pointer; border: 1px solid var(--border); background: var(--surface); border-radius: var(--radius); padding: 6px 12px; font-size: 14px; color: var(--text); }
.btn:hover { background: var(--surface-alt); }
.btn-primary { background: var(--primary); color: #fff; border-color: var(--primary); }
.btn-primary:hover { background: #1d3aaa; }
.day-date{font-size:clamp(15px,3vw,24px);font-weight:800;color:var(--text);line-height:1}
.day-col.is-today .day-date{color:var(--primary)}
.day-empty{padding:12px 4px;color:var(--text-muted);font-size:clamp(8px,1.3vw,12px);text-align:center;overflow-wrap:anywhere;opacity:.6}
.departure-card{border:1px solid var(--border);border-radius:8px;padding:7px 8px;cursor:pointer;background:var(--surface-alt);transition:border-color 0.15s,box-shadow 0.15s;min-width:0;overflow:hidden}
.departure-card:hover{border-color:var(--primary);box-shadow:0 0 0 2px rgba(67,192,140,0.18)}
.departure-card.has-warnings{border-left:3px solid var(--danger)}
.departure-card.is-full{border-left:3px solid #a78bfa}
.departure-card.near-full{border-left:3px solid var(--warning)}
.departure-card.is-closed{border-left:3px solid var(--text-muted);background:var(--surface);opacity:.82}
.capacity-bar-fill.ok::-webkit-progress-value{background:var(--success)}
.capacity-bar-fill.near::-webkit-progress-value{background:var(--warning)}
.capacity-bar-fill.full::-webkit-progress-value{background:#a78bfa}
.capacity-bar-fill.ok::-moz-progress-bar{background:var(--success)}
.capacity-bar-fill.near::-moz-progress-bar{background:var(--warning)}
.capacity-bar-fill.full::-moz-progress-bar{background:#a78bfa}
.channel-chips { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 6px; min-width:0; }
.channel-chip { font-size: clamp(8px,1.2vw,10px); font-weight: 700; padding: 1px 5px; border-radius: 4px; min-width:0; max-width:100%; overflow-wrap:anywhere; }
.ch-GETYOURGUIDE { background: #e0f2fe; color: #0369a1; }
.ch-VIATOR { background: #ede9fe; color: #6d28d9; }
.ch-DIRECT { background: #dcfce7; color: #15803d; }
.ch-MANUAL { background: #f5f5f4; color: #57534e; }
.ch-BOKUN_MIGRATION { background: #fef3c7; color: #b45309; }
.state-message { text-align: center; padding: 48px 24px; color: var(--text-muted); }
.state-message h2 { font-size: 18px; margin-bottom: 8px; color: var(--text); }
.spinner { width: 36px; height: 36px; border: 3px solid var(--border); border-top-color: var(--primary); border-radius: 50%; animation: spin 0.7s linear infinite; margin: 0 auto 16px; }
@keyframes spin { to { transform: rotate(360deg); } }
.pickup-view { padding: 16px 20px; max-width: 1400px; }
.back-btn { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 16px; background: none; border: none; cursor: pointer; color: var(--primary); font-size: 14px; font-weight: 600; padding: 0; }
.back-btn:hover { text-decoration: underline; }
.pickup-stat-value.danger { color: var(--danger); }
.bookings-table-wrap { overflow-x: auto; margin-bottom: 24px; }
.bookings-table { width: 100%; border-collapse: collapse; background: var(--surface); border-radius: var(--radius); overflow: hidden; border: 1px solid var(--border); }
.bookings-table th { background: var(--surface-alt); padding: 8px 12px; text-align: left; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: var(--text-muted); border-bottom: 1px solid var(--border); white-space: nowrap; }
.bookings-table td { padding: 10px 12px; border-bottom: 1px solid var(--border); vertical-align: top; font-size: 13px; }
.bookings-table tr:last-child td { border-bottom: none; }
.pickup-address-edit { width: 100%; min-width: 150px; padding: 5px 7px; border: 1px dashed var(--border); border-radius: 5px; background: transparent; color: var(--text); font: inherit; text-align: left; cursor: pointer; }
.pickup-address-edit:hover, .pickup-address-edit:focus-visible { border-color: var(--primary); outline: none; background: var(--surface-alt); }
.row-critical { background: var(--danger-bg); }
.row-unassigned { background: var(--warning-bg); }
.missing-badge { display: inline-flex; align-items: center; gap: 4px; background: var(--danger); color: #fff; font-size: 10px; font-weight: 700; padding: 2px 6px; border-radius: 4px; letter-spacing: 0.04em; white-space: nowrap; margin-top: 3px; }
.unassigned-badge { background: var(--warning); }
.status-badge { display: inline-block; font-size: 10px; font-weight: 600; padding: 2px 6px; border-radius: 4px; }
.status-UNASSIGNED { background: var(--warning-bg); color: var(--warning); border: 1px solid var(--warning-border); }
.status-SCHEDULED { background: var(--success-bg); color: var(--success); }
.status-PICKED_UP { background: #f0fdf4; color: #15803d; }
.status-NO_SHOW { background: #f5f5f4; color: #78716c; }
.status-ISSUE { background: var(--danger-bg); color: var(--danger); border: 1px solid var(--danger-border); }
.lead-name { font-weight: 600; }
.field-empty { color: var(--text-muted); font-style: italic; }
.dep-heading { font-size: 15px; font-weight: 700; margin-bottom: 8px; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
@media(max-width:860px){.departure-card{padding:6px 5px}.channel-chip{padding:1px 4px}.card-action-btn,.card-action-btn-primary,.card-action-btn-ops,.card-action-btn-bus{font-size:10px;padding:3px 7px;line-height:1.1}}
@media(max-width:600px){
  html,body{min-width:0;overflow-x:hidden}
  .day-date{font-size:14px}
  .departure-card{padding:4px 2px;border-radius:5px;min-width:0}
  .channel-chips{display:none}
  .card-action-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:3px;padding-top:3px}
  .card-action-btn{min-width:0;width:100%;min-height:18px;padding:2px 1px;justify-content:center;overflow:hidden;font-size:0}
  .card-action-label{display:none}
  .card-action-compact{display:inline;font-size:9px;line-height:1}
  .day-empty{padding:7px 1px;font-size:7px;line-height:1.15;overflow-wrap:anywhere}
}
.search-bar{background:var(--surface);border-bottom:1px solid var(--border);padding:12px 20px;display:none}
.search-bar.open{display:block}
.search-form{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}
.search-form .sf-group{display:flex;flex-direction:column;gap:3px}
.search-form .sf-label{font-size:10px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}
.search-form input,.search-form select{border:1px solid var(--border);border-radius:var(--radius);padding:6px 10px;font-size:13px;background:var(--surface-alt);height:32px}
.search-results-wrap{padding:16px 20px;max-width:1400px}
.search-results-wrap h2{font-size:15px;font-weight:700;margin-bottom:10px}
.search-panel-inner{max-width:1400px}
.search-query-input{min-width:200px}
.search-form-actions{justify-content:flex-end}
.state-message-searching{padding:20px 0}
.state-message-compact{padding:16px 0}
.text-danger{color:var(--danger)}
.booking-link{color:var(--primary);text-decoration:none;font-weight:600}
.booking-link:hover{text-decoration:underline}
.cell-monospace{font-family:monospace;font-size:11px}
.cell-center-bold{text-align:center;font-weight:700}
.retry-button{margin-top:12px}
.calendar-retry-button{margin-top:16px}
.cancelled-notice{margin-bottom:14px}
.detail-note{font-size:12px;color:var(--text-muted);margin-top:6px}
.detail-field-val.monospace{font-family:monospace}
.audit-empty{color:var(--text-muted);font-size:13px}
.guide-note{color:var(--text-muted)}
.drawer-overlay{position:fixed;inset:0;background:rgba(0,0,0,.38);z-index:200;display:none;cursor:pointer}
.drawer-overlay.open{display:block}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(700px,100vw);background:var(--surface);z-index:201;box-shadow:-6px 0 32px rgba(0,0,0,.18);overflow-y:auto;transform:translateX(100%);transition:none}
.drawer.open{transform:none}
.drawer-hdr{position:sticky;top:0;background:var(--surface);border-bottom:1px solid var(--border);padding:12px 20px;display:flex;align-items:center;gap:10px;z-index:2}
.drawer-hdr-title{font-size:15px;font-weight:700;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.drawer-close{background:none;border:none;cursor:pointer;font-size:22px;color:var(--text-muted);padding:0 2px;line-height:1;flex-shrink:0}
.drawer-close:hover{color:var(--text)}
.drawer-body{padding:20px}
.detail-sec{margin-bottom:18px}
.detail-sec-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:8px;border-bottom:1px solid var(--border);padding-bottom:4px}
.detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-bottom:8px}
.detail-field{display:flex;flex-direction:column;gap:2px}
.detail-field-lbl{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}
.detail-field-val{font-size:13px;font-weight:500;word-break:break-word}
.audit-list{list-style:none;display:flex;flex-direction:column;gap:6px;max-height:260px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius);padding:8px}
.audit-item{font-size:12px;padding:6px 8px;border-radius:5px;background:var(--surface-alt)}
.audit-meta{color:var(--text-muted);font-size:11px;margin-bottom:2px}
.audit-fields{color:var(--text);font-size:11px}
.pickup-form{background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-top:4px}
.pickup-form h3{font-size:13px;font-weight:700;margin-bottom:12px}
.form-row{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}
.form-row label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}
.form-row input,.form-row textarea,.form-row select{border:1px solid var(--border);border-radius:6px;padding:7px 10px;font-size:13px;width:100%;background:var(--surface);font-family:inherit}
.form-row textarea{resize:vertical;min-height:64px}
.form-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:4px}
.save-status{font-size:13px}
.save-status.ok{color:var(--success);font-weight:600}
.save-status.conflict{color:var(--danger);font-weight:600}
.save-status.err{color:var(--danger)}
.badge-cancelled{display:inline-block;background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-border);border-radius:4px;font-size:11px;font-weight:700;padding:2px 8px;letter-spacing:.04em;text-transform:uppercase}
.readonly-notice{font-size:12px;color:var(--text-muted);font-style:italic;padding:8px 10px;background:var(--surface-alt);border-radius:var(--radius);border:1px solid var(--border)}
.session-expired{position:fixed;inset:0;background:rgba(15,23,42,.7);z-index:500;display:none;align-items:center;justify-content:center}
.session-expired.visible{display:flex}
.session-expired-box{background:var(--surface);border-radius:var(--radius);padding:32px;max-width:360px;text-align:center;box-shadow:0 8px 32px rgba(0,0,0,.2)}
.session-expired-box h2{margin-bottom:10px}
.session-expired-box p{color:var(--text-muted);margin-bottom:20px;font-size:14px}
@media(max-width:600px){.drawer{width:100vw;transition:none}.drawer.open{transform:none}.search-form{flex-direction:column}.search-form input,.search-form select{width:100%}.detail-grid{grid-template-columns:1fr 1fr}}
/* ─── Pick-up Ops Planner ─── */
.planner-header{margin-bottom:16px}
.planner-title{font-size:18px;font-weight:700;margin-top:8px;margin-bottom:0}
.planner-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:16px}
.planner-stats{display:flex;gap:24px;flex-wrap:wrap;margin-top:10px}
.planner-stat{display:flex;flex-direction:column}
.planner-stat-lbl{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}
.planner-stat-val{font-size:20px;font-weight:700}
.planner-stat-danger{color:var(--danger)}
.planner-alert{border-radius:var(--radius);padding:12px 16px;margin-bottom:14px;font-size:13px;line-height:1.5}
.planner-alert-blocked{background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger)}
.planner-alert-stale{background:var(--warning-bg);border:1px solid var(--warning-border);color:var(--warning)}
.planner-alert-conflict{background:var(--warning-bg);border:1px solid var(--warning-border);color:var(--warning)}
.planner-readonly{font-size:13px;color:var(--text-muted);font-style:italic;padding:10px 12px;background:var(--surface-alt);border-radius:var(--radius);border:1px solid var(--border)}
.planner-form-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:16px}
.planner-form-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:12px;border-bottom:1px solid var(--border);padding-bottom:6px}
.planner-form-row{margin-bottom:12px}
.planner-form-lbl{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:6px}
.planner-input{border:1px solid var(--border);border-radius:6px;padding:7px 10px;font-size:13px;background:var(--surface);font-family:inherit;height:34px}
.planner-count-badge{font-size:11px;font-weight:600;background:var(--primary-light);color:var(--primary);padding:1px 6px;border-radius:4px;margin-left:6px;text-transform:none;letter-spacing:0}
.guide-option-list{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:4px}
.guide-option{border:1px solid var(--border);background:var(--surface-alt);border-radius:var(--radius);padding:6px 12px;font-size:13px;cursor:pointer;color:var(--text);font-family:inherit}
.guide-option:hover:not(:disabled){border-color:var(--primary)}
.guide-option.selected{background:var(--primary-light);border-color:var(--primary);color:var(--primary);font-weight:600}
.guide-option:disabled{opacity:.5;cursor:not-allowed}
.planner-guide-hint{font-size:12px;color:var(--text-muted);margin-top:4px;font-style:italic}
.planner-empty{color:var(--text-muted);font-style:italic}
.planner-error-msg{color:var(--danger)}
.planner-retry-btn{margin-top:12px}
.planner-form-actions{display:flex;align-items:center;gap:12px;margin-top:4px}
.planner-generating-msg{font-size:13px;color:var(--text-muted)}
.plan-routes-btn{font-size:12px;margin-left:8px;padding:4px 10px}
.plan-result-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:16px}
.plan-result-header{margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--border)}
.plan-result-title{font-size:16px;font-weight:700;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.plan-result-meta{font-size:12px;color:var(--text-muted);margin-top:4px}
.plan-version-badge{font-size:12px;font-weight:600;color:var(--text-muted)}
.plan-status-ok{display:inline-block;font-size:11px;font-weight:700;padding:2px 7px;border-radius:4px;background:var(--success-bg);color:var(--success);text-transform:uppercase;letter-spacing:.04em}
.plan-status-published{display:inline-block;font-size:11px;font-weight:700;padding:2px 7px;border-radius:4px;background:rgba(74,222,128,0.14);color:var(--success);border:1px solid rgba(74,222,128,0.4);text-transform:uppercase;letter-spacing:.04em}
.plan-status-blocked{display:inline-block;font-size:11px;font-weight:700;padding:2px 7px;border-radius:4px;background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-border);text-transform:uppercase;letter-spacing:.04em}
.plan-status-stale{display:inline-block;font-size:11px;font-weight:700;padding:2px 7px;border-radius:4px;background:var(--warning-bg);color:var(--warning);border:1px solid var(--warning-border);text-transform:uppercase;letter-spacing:.04em}
.plan-routes-list{display:flex;flex-direction:column;gap:14px}
.plan-route-card{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.plan-route-hdr{background:var(--surface-alt);padding:10px 14px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;border-bottom:1px solid var(--border)}
.plan-route-info{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.plan-route-num{font-weight:700;font-size:13px}
.plan-guide-name{font-size:13px;color:var(--text-muted)}
.plan-van-badge{font-size:11px;font-weight:700;background:var(--primary-light);color:var(--primary);padding:2px 6px;border-radius:4px}
.plan-maps-btn{font-size:12px;padding:4px 10px;text-decoration:none}
.plan-route-meta{font-size:12px;font-weight:600;color:var(--text-muted)}
.plan-stops-wrap{overflow-x:auto}
.plan-stops-table{width:100%;border-collapse:collapse;font-size:12px}
.plan-stops-table th{background:var(--surface-alt);padding:6px 10px;text-align:left;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);white-space:nowrap;border-bottom:1px solid var(--border)}
.plan-stops-table td{padding:8px 10px;border-bottom:1px solid var(--border);vertical-align:top}
.plan-stops-table tr:last-child td{border-bottom:none}
.plan-stop-order{font-weight:700;text-align:center;width:30px}
.plan-stop-time{font-weight:600;white-space:nowrap}
.plan-stop-name{font-weight:600}
.plan-stop-pax{text-align:center;font-weight:700;width:40px}
.plan-stop-address{max-width:280px;word-break:break-word}
.planner-edit-booking{display:inline-block;margin-left:6px;border:0;background:none;color:var(--primary);font:inherit;font-weight:600;padding:0;cursor:pointer;text-decoration:underline}
.planner-edit-booking:hover{text-decoration:none}
.plan-ref-chip{font-size:11px;font-family:monospace;background:var(--surface-alt);padding:1px 4px;border-radius:3px}
.planner-action-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.planner-preview-notice{font-size:12px;color:var(--text-muted);font-style:italic}
.planner-publication-success{font-size:12px;color:var(--success);font-weight:600}
.planner-publication-error{font-size:12px;color:var(--danger);font-weight:600}
.planner-demo-preview{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px}
.planner-demo-preview-note{font-size:12px;color:var(--text-muted)}
@media(max-width:600px){.planner-stats{gap:16px}.plan-stop-address{max-width:140px}}
/* ─── Guide link controls (ADMIN/OPERATIONS only) ─── */
.guide-link-area{padding:10px 14px;border-bottom:1px solid var(--border);background:var(--surface)}
.guide-link-btn{font-size:12px;padding:4px 10px}
.guide-link-btn-danger{color:var(--danger);border-color:var(--danger)}
.guide-link-btn-danger:hover{background:var(--danger-bg)}
.guide-link-panel{display:none;margin-top:8px;background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px}
.guide-link-panel.visible{display:block}
.guide-link-once{font-size:11px;font-weight:700;color:var(--warning);margin-bottom:6px}
.guide-link-url{font-family:monospace;font-size:12px;word-break:break-all;padding:6px 8px;background:var(--surface);border:1px solid var(--border);border-radius:4px;margin-bottom:8px;user-select:all}
.guide-link-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.guide-link-status{font-size:12px;color:var(--text-muted);font-style:italic}
.guide-link-error{font-size:12px;color:var(--danger);margin-top:6px}

.app-nav{width:220px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;position:sticky;top:52px;height:calc(100vh - 52px);overflow-y:auto;z-index:50}
.nav-hamburger{display:none;background:none;border:none;cursor:pointer;padding:4px 10px;font-size:20px;color:#052016;margin-left:8px;line-height:1}
.nav-item{width:100%;background:none;border:none;cursor:pointer;text-align:left;padding:10px 16px;font-size:14px;font-weight:500;color:var(--text);display:block;font-family:inherit;border-right:3px solid transparent}
.nav-item:hover{background:var(--surface-alt)}
.nav-item.active{background:var(--primary-light);color:var(--primary);font-weight:700;border-right-color:var(--primary)}
.nav-item:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}
/* ─── Customer search in nav ─── */
.cs-area{padding:12px 12px 0;border-bottom:1px solid var(--border)}
.cs-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:6px;display:block}
.cs-form{display:flex;gap:4px;margin-bottom:8px}
.cs-input{flex:1;border:1px solid var(--border);border-radius:var(--radius);padding:6px 8px;font-size:13px;background:var(--surface-alt);min-width:0;font-family:inherit}
.cs-btn{border:1px solid var(--border);background:var(--surface-alt);border-radius:var(--radius);padding:6px 8px;cursor:pointer;font-size:12px;white-space:nowrap;font-family:inherit;color:var(--text)}
.cs-btn:hover{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}
.cs-results{border-top:1px solid var(--border);max-height:55vh;overflow-y:auto}
.cs-result-item{padding:8px 12px;cursor:pointer;border-bottom:1px solid var(--border);font-size:13px;background:var(--surface)}
.cs-result-item:hover,.cs-result-item:focus{background:var(--primary-light);outline:none}
.cs-result-name{font-weight:600}
.cs-result-meta{font-size:11px;color:var(--text-muted)}
.cs-state{padding:8px 12px;font-size:12px;color:var(--text-muted)}
.cs-state-error{color:var(--danger)}
/* ─── Customer view ─── */
.customer-view{padding:16px 20px;max-width:1000px}
.cv-sec{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:16px}
.cv-sec-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:10px;border-bottom:1px solid var(--border);padding-bottom:6px}
.cv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.cv-field{display:flex;flex-direction:column;gap:2px}
.cv-lbl{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}
.cv-val{font-size:13px;font-weight:500;word-break:break-word}
.service-state-badge{display:inline-block;font-size:11px;font-weight:700;padding:2px 7px;border-radius:4px;text-transform:uppercase;letter-spacing:.04em}
.ss-COMPLETED{background:var(--success-bg);color:var(--success)}
.ss-PICKED_UP{background:var(--success-bg);color:var(--success)}
.ss-NO_SHOW{background:#f5f5f4;color:#78716c}
.ss-CANCELLED{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-border)}
.ss-UPCOMING{background:var(--primary-light);color:var(--primary)}
.ss-PAST_UNVERIFIED{background:var(--warning-bg);color:var(--warning);border:1px solid var(--warning-border)}
.history-table-wrap{overflow-x:auto}
.history-table{width:100%;border-collapse:collapse;font-size:12px}
.history-table th{background:var(--surface-alt);padding:6px 10px;text-align:left;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);border-bottom:1px solid var(--border)}
.history-table td{padding:8px 10px;border-bottom:1px solid var(--border);vertical-align:top}
.history-table tr:last-child td{border-bottom:none}
.history-truncated-note{font-size:11px;color:var(--text-muted);font-style:italic;padding:6px 0;margin:0}
.guide-attribution-note{font-size:12px;color:var(--text-muted);font-style:italic;margin-top:6px}
/* ─── Revenue view ─── */
.revenue-view{padding:16px 20px;max-width:1100px}
.rev-restricted{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:32px;text-align:center;color:var(--text-muted)}
.rev-restricted h2{font-size:18px;margin-bottom:8px;color:var(--text)}
.rev-restricted p{font-size:14px}
.rev-filter-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:16px}
.rev-filter-form h2{font-size:14px;font-weight:700;margin-bottom:12px}
.rev-filter-row{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}
.rev-filter-group{display:flex;flex-direction:column;gap:3px}
.rev-filter-lbl{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}
.rev-filter-input{border:1px solid var(--border);border-radius:var(--radius);padding:6px 10px;font-size:13px;background:var(--surface-alt);height:32px;font-family:inherit}
.rev-disclaimer{background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:var(--radius);padding:10px 14px;font-size:13px;font-weight:600;color:var(--warning);margin-bottom:16px}
.rev-currency-group{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:16px}
.rev-currency-heading{font-size:16px;font-weight:700;margin-bottom:12px;display:flex;align-items:baseline;gap:8px}
.rev-totals-row{display:flex;gap:24px;flex-wrap:wrap;margin-bottom:14px}
.rev-stat{display:flex;flex-direction:column}
.rev-stat-lbl{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}
.rev-stat-val{font-size:22px;font-weight:700}
.rev-coverage{font-size:12px;color:var(--text-muted);margin-bottom:12px}
.rev-breakdown-wrap{overflow-x:auto}
.rev-breakdown{width:100%;border-collapse:collapse;font-size:12px}
.rev-breakdown th{background:var(--surface-alt);padding:6px 10px;text-align:left;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);border-bottom:1px solid var(--border)}
.rev-breakdown td{padding:8px 10px;border-bottom:1px solid var(--border)}
.rev-breakdown tr:last-child td{border-bottom:none}
.rev-amount{font-weight:700;font-size:13px}
@media(max-width:800px){
  .app-nav{position:fixed;top:52px;left:0;bottom:0;transform:translateX(-100%);transition:transform .2s ease;z-index:90;box-shadow:4px 0 16px rgba(0,0,0,.12)}
  .app-nav.nav-open{transform:translateX(0)}
  .nav-hamburger{display:inline-block}
  .cv-grid{grid-template-columns:1fr 1fr}
}
.theme-toggle-btn .icon-sun{display:none}
.theme-toggle-btn .icon-moon{display:inline-flex}
html.theme-light .theme-toggle-btn .icon-sun{display:inline-flex}
html.theme-light .theme-toggle-btn .icon-moon{display:none}
/* ─── Light theme (html.theme-light) ─── */
html.theme-light{background:#f4f6f5;--bg:#f4f6f5;--surface:#ffffff;--surface-alt:#f0f4f2;--border:#d0d9d4;--text:#0e1f18;--text-muted:#4a6358;--primary:#1e40af;--primary-light:#dbeafe;--danger:#dc2626;--danger-bg:#fef2f2;--danger-border:#fecaca;--warning:#d97706;--warning-bg:#fffbeb;--warning-border:#fde68a;--success:#16a34a;--success-bg:#f0fdf4;--full:#7c3aed}
html.theme-light .app-nav{background:#ffffff}
html.theme-light .nav-item.active{background:rgba(67,192,140,0.12)}
html.theme-light .bookings-table th{background:#f0f4f2}
html.theme-light .plan-stops-table th{background:#f0f4f2}
html.theme-light .rev-breakdown th{background:#f0f4f2}
html.theme-light .history-table th{background:#f0f4f2}
html.theme-light .search-form input,html.theme-light .search-form select{background:#ffffff;border-color:#c4d0ca}
html.theme-light .form-row input,html.theme-light .form-row textarea,html.theme-light .form-row select{background:#ffffff;border-color:#c4d0ca}
html.theme-light .planner-input{background:#ffffff;border-color:#c4d0ca}
html.theme-light .rev-filter-input{background:#ffffff;border-color:#c4d0ca}
html.theme-light .cs-input{background:#ffffff;border-color:#c4d0ca}
html.theme-light .cs-btn{background:#ffffff;border-color:#c4d0ca}
html.theme-light .drawer-overlay{background:rgba(0,0,0,0.4)}
html.theme-light .session-expired{background:rgba(0,0,0,0.4)}
html.theme-light .status-SCHEDULED{background:#f0fdf4;color:#16a34a}
html.theme-light .status-PICKED_UP{background:#f0fdf4;color:#15803d}
html.theme-light .ss-UPCOMING{background:#dbeafe;color:#1e40af}
/* Owner 09.10.2026: the whole CRM is drawn one step smaller on a desktop with a
   mouse, so more fits on a screen. Phones and touch screens keep full size. The
   side menu is pinned by its edges, because a viewport length is scaled too. */
@media(min-width:1024px) and (pointer:fine){body{zoom:.9}html body .app-nav.app-nav{height:auto;bottom:0}}
/* Owner 09.10.2026: the side menu stays where it is while the page scrolls. It
   is as tall as the window and scrolls by itself when its list is longer. The
   second rule undoes the smaller drawing above, which shrinks a viewport length. */
@media(min-width:1024px){html body #app-nav.navigation{position:sticky;top:0;align-self:start;height:100vh;overflow-y:auto}}
@media(min-width:1024px) and (pointer:fine){html body #app-nav.navigation{height:calc(100vh / .9)}}
/* A newer release is live: the bar an open tab shows until it has loaded it. */
.version-bar{position:fixed;right:24px;bottom:80px;z-index:39;display:flex;align-items:center;gap:12px;width:max-content;max-width:min(560px,calc(100vw - 48px));padding:8px 10px 8px 14px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface);color:var(--text);font-size:13px;line-height:1.4;box-shadow:0 8px 28px rgba(0,0,0,.22)}
.version-bar .btn{flex-shrink:0}
@media(max-width:1279px){.version-bar{max-width:min(320px,calc(100vw - 24px))}}
@media(max-width:640px){.version-bar{right:12px;bottom:72px}}
/* ─── Communications: per-departure message log ─── */
.comms-view{padding:16px 20px;max-width:1000px}
.comms-view-title{font-size:16px;font-weight:700;margin-bottom:12px}
.comms-reply-text{font-size:12px;color:var(--text)}
.comms-message-subject{font-weight:700;margin-bottom:8px}
.comms-message-body{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;margin:0 0 8px;max-width:72ch}
.comms-ask{border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;margin-bottom:14px}
.comms-ask-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.comms-ask-list{margin:6px 0 0;padding-left:18px;font-size:13px}
.comm-dep-btn{font-size:12px;margin-left:6px;padding:4px 10px}
/* ─── Mass departure transfer ─── */
.dep-transfer-btn{font-size:12px;margin-left:6px;padding:4px 10px;color:var(--warning);border-color:var(--warning)}
.dep-transfer-btn:hover{background:var(--warning-bg)}
.mt-notice{background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:var(--radius);padding:10px 14px;font-size:13px;font-weight:600;color:var(--warning);margin-bottom:12px}
.mt-table-wrap{overflow-x:auto;margin-bottom:12px}
.mt-table{width:100%;border-collapse:collapse;font-size:12px}
.mt-table th{background:var(--surface-alt);padding:6px 10px;text-align:left;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);white-space:nowrap;border-bottom:1px solid var(--border)}
.mt-table td{padding:8px 10px;border-bottom:1px solid var(--border);vertical-align:top}
.mt-table tr:last-child td{border-bottom:none}
.mt-ineligible-row{background:var(--danger-bg)}
.mt-error{color:var(--danger);font-size:13px;padding:8px 10px;background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:var(--radius);margin-bottom:12px}
.mt-ambiguous{background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:var(--radius);padding:12px;font-size:13px;color:var(--warning);margin-bottom:12px}
.mt-request-id-val{font-family:monospace;font-size:11px;word-break:break-all;background:var(--surface-alt);padding:2px 5px;border-radius:3px}
.mt-confirm-box{background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:var(--radius);padding:14px;margin-top:12px}
.mt-confirm-title{font-size:14px;font-weight:700;color:var(--danger);margin-bottom:10px}
.mt-scope-list{border:1px solid var(--border);border-radius:var(--radius);padding:8px;max-height:200px;overflow-y:auto;margin-top:6px}
.mt-booking-check{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:13px}
.mt-booking-check input[type=checkbox]{width:auto;flex:0 0 auto;margin:0}
.mt-booking-owned{opacity:.6}
.mt-channel-tag{font-size:11px;font-weight:600;background:var(--surface-alt);border:1px solid var(--border);border-radius:3px;padding:1px 5px;color:var(--text-muted)}
.mt-owned-reason{font-size:11px;color:var(--text-muted);font-style:italic}
.mt-dep-info{background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;margin-bottom:10px;font-size:13px}
html.theme-light .mt-table th{background:#f0f4f2}
.mt-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px}
.mt-actions-sm{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px}
.mt-radio-label{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:13px;cursor:pointer}
/* ─── Test booking toggle ─── */
.bc-test-row{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--border);margin-bottom:10px}
.bc-test-lbl{font-size:13px;font-weight:700;cursor:pointer;color:var(--text)}
.bc-test-banner{background:var(--warning-bg);border:2px solid var(--warning);border-radius:var(--radius);padding:10px 14px;font-size:13px;font-weight:700;color:var(--warning);margin-bottom:10px}
/* ─── Marketing reporting view ─── */
.mkt-view{padding:16px 20px;max-width:1400px}
.mkt-title{font-size:16px;font-weight:700;margin-bottom:12px}
.mkt-filter-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;margin-bottom:16px;display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}
.mkt-filter-group{display:flex;flex-direction:column;gap:3px}
.mkt-filter-lbl{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}
.mkt-filter-input{border:1px solid var(--border);border-radius:6px;padding:6px 10px;font-size:13px;background:var(--surface-alt);height:32px;font-family:inherit}
.mkt-filter-select{border:1px solid var(--border);border-radius:6px;padding:6px 10px;font-size:13px;background:var(--surface-alt);height:32px;font-family:inherit}
.mkt-tabs{display:flex;gap:2px;background:var(--border);border-radius:var(--radius);padding:2px;margin-bottom:16px;width:-moz-fit-content;width:fit-content;flex-wrap:wrap}
.mkt-tab{border:none;background:transparent;border-radius:6px;padding:6px 14px;font-size:13px;font-weight:500;cursor:pointer;color:var(--text-muted);font-family:inherit}
.mkt-tab:hover{background:var(--surface-alt);color:var(--text)}
.mkt-tab.active{background:var(--surface);color:var(--primary);font-weight:700;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.mkt-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:16px}
.mkt-section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin-bottom:10px;border-bottom:1px solid var(--border);padding-bottom:6px}
.mkt-currency-heading{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--primary);margin-bottom:8px}
.mkt-stat-row{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:8px}
.mkt-stat{display:flex;flex-direction:column;gap:2px;min-width:100px}
.mkt-stat-lbl{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}
.mkt-stat-val{font-size:18px;font-weight:700}
.mkt-stat-note{font-size:12px;color:var(--text-muted);font-style:italic;margin-top:4px}
.mkt-table-wrap{overflow-x:auto;margin-bottom:12px}
.mkt-table{width:100%;border-collapse:collapse;background:var(--surface);border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);font-size:13px}
.mkt-table th{background:var(--surface-alt);padding:8px 10px;text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap}
.mkt-table td{padding:8px 10px;border-bottom:1px solid var(--border);vertical-align:top;font-variant-numeric:tabular-nums}
.mkt-table tr:last-child td{border-bottom:none}
.mkt-table .mkt-total-row td{font-weight:800;background:var(--surface-alt);border-top:2px solid var(--border)}
.mkt-error{color:var(--danger);font-size:13px;padding:10px 12px;background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:var(--radius);margin-bottom:12px}
.tp-method>summary{cursor:pointer;font-weight:600}.tp-method ul{margin:8px 0 0;padding-left:18px}
.mkt-notice{font-size:12px;color:var(--text-muted);background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px;margin-bottom:10px}
.mkt-unavail-note{font-size:12px;color:var(--warning);background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:var(--radius);padding:6px 10px;margin-top:4px}
.mkt-freshness{font-size:12px;color:var(--text-muted)}
.mkt-compare-inputs{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius);padding:12px;margin-bottom:14px}
.mkt-date-fmt{font-size:9px;font-weight:400;color:var(--text-muted);text-transform:none;letter-spacing:0}
.mkt-date-input{width:120px;font-variant-numeric:tabular-nums}
.mkt-month-input{width:132px;font-variant-numeric:tabular-nums}
.mkt-range-actions{display:flex;gap:6px;flex-wrap:wrap}
.mkt-range-action{height:32px;padding:5px 10px;font-size:12px}
.mkt-data-readiness-notice{background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:var(--radius);padding:10px 14px;margin-bottom:14px;font-size:13px;color:var(--warning);line-height:1.5}
.mkt-ds-campaign{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px;margin-bottom:14px}
.mkt-ds-campaign-header{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid var(--border)}
.mkt-ds-campaign-name{font-size:14px;font-weight:700;color:var(--text);flex:1;min-width:150px}
.mkt-ds-platform{font-size:11px;font-weight:700;background:var(--primary-light);color:var(--primary);padding:2px 8px;border-radius:4px}
.mkt-ds-bookings,.mkt-ds-pax{font-size:12px;color:var(--text-muted)}
.mkt-ds-currency-block{border:1px solid var(--border);border-radius:6px;padding:12px;margin-bottom:10px}
.mkt-ds-cac-primary{display:flex;flex-direction:column;gap:2px;margin-bottom:12px;padding:10px 12px;background:var(--primary-light);border-radius:6px;border:1px solid rgba(67,192,140,0.3)}
.mkt-ds-cac-lbl{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--primary)}
.mkt-ds-cac-val{font-size:24px;font-weight:700;color:var(--text)}
.mkt-signal-success{display:inline-block;margin-top:8px;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:700;background:var(--success-bg);color:var(--success)}
.mkt-signal-warning{display:inline-block;margin-top:8px;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:700;background:var(--warning-bg);color:var(--warning)}
.mkt-signal-muted{display:inline-block;margin-top:8px;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:700;background:var(--surface-alt);color:var(--text-muted)}
.mkt-season-details{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px;margin-bottom:14px}
.mkt-season-summary{cursor:pointer;font-size:13px;font-weight:700;color:var(--text);list-style:none;padding:0;margin-bottom:0;user-select:none}
.mkt-season-summary::-webkit-details-marker{display:none}
.mkt-season-body{margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}
html.theme-light .mkt-filter-input{background:#fff;border-color:#c4d0ca}
html.theme-light .mkt-filter-select{background:#fff;border-color:#c4d0ca}
html.theme-light .mkt-table th{background:#f0f4f2}
html.theme-light .mkt-currency-block{border-color:#c4d0ca}
/* ─── Fast Marketing overview ─── */
.mkt-ov-period-row{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap}
.mkt-ov-period-btn{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);padding:5px 14px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;font-family:inherit}
.mkt-ov-period-btn:hover{color:var(--text)}
.mkt-ov-period-btn.active{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:700}
/* Narrow upright metric cards, side by side and wrapping as room allows: no
   full-width stretched boxes and no 1fr columns that fill the whole row. */
.mkt-ov-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,200px));gap:8px;margin-bottom:18px;justify-content:start;align-items:start}
@media(max-width:560px){.mkt-ov-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:380px){.mkt-ov-cards{grid-template-columns:repeat(1,minmax(0,1fr))}}
.mkt-ov-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--border);border-radius:var(--radius);padding:12px 14px;min-width:0}
.mkt-ov-card:has(.mkt-ov-card-val-primary){border-left-color:var(--primary)}
.mkt-ov-card:has(.mkt-ov-card-val-gold){border-left-color:#e8a030}
.mkt-ov-card:has(.mkt-ov-card-val-blue){border-left-color:#5ab8d4}
.mkt-ov-card:has(.mkt-ov-card-val-danger){border-left-color:var(--danger)}
.mkt-ov-card-lbl{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin-bottom:5px}
.mkt-ov-card-val{font-size:24px;font-weight:700;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.mkt-ov-card-val-primary{color:var(--primary)}
.mkt-ov-card-val-gold{color:var(--warning,#e8a030)}
.mkt-ov-card-val-blue{color:#5ab8d4}
.mkt-ov-card-val-danger{color:var(--danger)}
.mkt-ov-card-sub{font-size:11px;color:var(--text-muted);margin-top:3px}
@media(max-width:700px){}
@media(max-width:390px){}
.mkt-ov-ch-dot{width:7px;height:7px;border-radius:50%;display:inline-block;margin-right:7px;vertical-align:middle;background:var(--text-muted)}
.mkt-ov-dot-direct{background:#2ed47a}.mkt-ov-dot-gyg{background:#e8a030}.mkt-ov-dot-viator{background:#e05858}.mkt-ov-dot-manual{background:#5ab8d4}.mkt-ov-dot-other{background:#6a8a70}
.mkt-ov-dot-google{background:#fbbc04}.mkt-ov-dot-chatgpt{background:#22c55e}.mkt-ov-dot-instagram{background:#e1306c}.mkt-ov-dot-facebook{background:#1877f2}.mkt-ov-dot-email{background:#5ab8d4}.mkt-ov-dot-organic{background:#2ed47a}.mkt-ov-dot-paid{background:#f59e0b}.mkt-ov-dot-social{background:#ec4899}.mkt-ov-dot-referral{background:#38bdf8}.mkt-ov-dot-promo{background:#a78bfa}.mkt-ov-dot-tracked{background:#22d3ee}.mkt-ov-dot-unknown{background:#6a8a70}
.mkt-ov-total{font-weight:700;background:var(--surface-alt)}
.mkt-table .mkt-ov-total td{font-weight:700;background:var(--surface-alt);border-top:1px solid var(--border)}
.mkt-ov-tbl-net{color:var(--primary);font-weight:700}
.mkt-ov-badge{font-size:10px;padding:2px 7px;border-radius:4px;font-weight:600;background:var(--surface-alt);color:var(--text-muted);border:1px solid var(--border)}
.mkt-ov-badge-ok{background:var(--success-bg);color:var(--success);border-color:var(--success)}
.mkt-ov-src-row{background:var(--surface-alt)}
.mkt-ov-src-row td{font-size:11.5px;color:var(--text-muted);border-top:none}
.mkt-ov-src-indent{padding-left:28px !important;font-style:italic}
.mkt-ov-comparison-range{font-size:12px;color:var(--text-muted);margin:-2px 0 10px}
.mkt-ov-comparison-change{font-weight:700;color:var(--text)}
.mkt-ov-comparison-new{color:var(--primary)}
.mkt-ov-comparison-unavailable{color:var(--text-muted);font-weight:500}
.mkt-seo-up{color:#2ed47a;font-size:11px;font-weight:700}
.mkt-seo-down{color:var(--danger);font-size:11px;font-weight:700}
.mkt-seo-flat{color:var(--text-muted);font-size:11px}
.mkt-drilldown{border-top:1px solid var(--border);margin-top:18px;padding-top:14px}
.mkt-drilldown-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin-bottom:8px}
.mkt-detail-header{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.mkt-detail-header .mkt-title{margin:0}
.mkt-week{display:grid;gap:10px;min-width:0}
.mkt-week-summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 12px;margin:0;font-size:13px;color:var(--text-muted)}
.mkt-week-summary strong{font-size:22px;color:var(--text);font-variant-numeric:tabular-nums}
.mkt-week-change.up{color:var(--success)}.mkt-week-change.down{color:var(--danger)}
.mkt-week-legend{display:flex;flex-wrap:wrap;gap:4px 16px;margin:0;font-size:12px;color:var(--text-muted)}
.mkt-week-legend i{display:inline-block;width:10px;height:10px;margin-right:6px;border-radius:2px;background:var(--primary)}
.mkt-week-legend i.mkt-week-key-before{background:var(--text-muted);opacity:.4}
.mkt-week-chart{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.mkt-week-day{appearance:none;-webkit-appearance:none;display:grid;justify-items:center;gap:2px;min-width:0;padding:6px 2px;font:inherit;color:inherit;background:none;border:1px solid transparent;border-radius:6px;cursor:pointer}
.mkt-week-day:hover{border-color:var(--border)}.mkt-week-day:focus-visible{outline:2px solid var(--primary);outline-offset:1px}
.mkt-week-day.active{border-color:var(--primary);background:var(--surface-alt)}
.mkt-week-bars{display:block;width:100%;max-width:64px;height:120px;border-bottom:1px solid var(--border)}
.mkt-week-bar-now{fill:var(--primary)}.mkt-week-bar-before{fill:var(--text-muted);opacity:.4}
.mkt-week-count{font-size:17px;font-weight:700;line-height:1.2;font-variant-numeric:tabular-nums}
.mkt-week-before,.mkt-week-date{font-size:11px;line-height:1.25;color:var(--text-muted);text-align:center;font-variant-numeric:tabular-nums}
/* Promo code and referral lists: one roomy line per code or site. */
.mkt-src-list{list-style:none;margin:0;padding:0;display:grid;gap:0}
.mkt-src-row{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 16px;padding:12px 0;border-bottom:1px solid var(--border);min-width:0}
.mkt-src-row:last-child{border-bottom:none}
.mkt-src-name{font-size:15px;font-weight:700;overflow-wrap:anywhere;min-width:0}
.mkt-src-facts{font-size:13px;color:var(--text-muted);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
@media(max-width:560px){.mkt-src-row{flex-direction:column;align-items:flex-start}}
/* ─── Booking controls in drawer ─── */
.bc-section{margin-top:20px;padding-top:16px;border-top:2px solid var(--border)}
.bc-section-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:10px}
.bc-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.bc-drawer{background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-top:8px}
.bc-drawer-title{font-size:13px;font-weight:700;margin-bottom:12px}
.bc-form-row{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}
.bc-form-lbl{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}
.bc-form-input,.bc-form-select,.bc-form-textarea{border:1px solid var(--border);border-radius:6px;padding:7px 10px;font-size:13px;width:100%;background:var(--surface);font-family:inherit}
.bc-form-textarea{resize:vertical;min-height:60px}
.bc-item-row{display:flex;gap:8px;align-items:flex-end;margin-bottom:8px;flex-wrap:wrap}
.bc-item-row .bc-form-input{width:auto;flex:1}
.bc-items-list{margin-bottom:8px}
.bc-status{font-size:13px;margin-top:8px}
.bc-status-err{color:var(--danger)}
.bc-ambiguous{background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:var(--radius);padding:12px;margin-top:8px;font-size:13px}
.bc-ambiguous-id{font-family:monospace;font-size:11px;background:var(--surface-alt);padding:2px 6px;border-radius:3px;word-break:break-all}
.bc-confirm-step{background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:var(--radius);padding:12px;margin-top:8px}
.bc-confirm-title{font-size:13px;font-weight:700;color:var(--danger);margin-bottom:8px}
.bc-actions-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px}
.bc-cap-note{font-size:12px;color:var(--text-muted);font-style:italic;margin-top:4px}
.bc-internal-notice{background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:var(--radius);padding:8px 12px;font-size:12px;font-weight:600;color:var(--warning);margin-bottom:10px}
html.theme-light .bc-form-input,html.theme-light .bc-form-select,html.theme-light .bc-form-textarea{background:#fff;border-color:#c4d0ca}
html.theme-light .bc-drawer{background:#f0f4f2;border-color:#c4d0ca}
html.theme-light .day-col.is-today{background:#ecfdf5}
/* ─── Add booking departure card button ─── */
.dep-add-booking-btn{font-size:11px;padding:3px 8px;margin-top:6px}
/* ─── Booking item row input widths (flex, no inline styles) ─── */
.bc-item-cat{flex:2;min-width:80px}
.bc-item-qty{flex:0 0 70px;max-width:70px}
.bc-item-price{flex:2;min-width:80px}
.bc-btn-danger{color:var(--danger);border-color:var(--danger)}
.bc-btn-danger-bg{background:var(--danger);border-color:var(--danger);color:#fff}
.bc-outcome-radios{display:flex;gap:16px;align-items:center;margin-top:4px}
.bc-outcome-label{display:flex;gap:6px;align-items:center;cursor:pointer}
@media(max-width:390px){
  .mkt-view{padding:12px}
  .mkt-filter-bar,.mkt-compare-inputs{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch}
  .mkt-filter-input,.mkt-filter-select{width:100%;min-width:0}
  .mkt-tabs{width:100%;overflow-x:auto;flex-wrap:nowrap}
  .mkt-tab{flex:0 0 auto}
  .mkt-stat{min-width:0;flex:1 1 120px}
  .bc-drawer{padding:12px}
  .bc-item-row{display:grid;grid-template-columns:minmax(0,1fr)}
  .bc-item-row .bc-form-input,.bc-item-cat,.bc-item-qty,.bc-item-price{width:100%;max-width:none;min-width:0}
  .bc-actions-row .btn{flex:1 1 140px}
}
/* ─── Tour Profit ─── */
.tp-view{padding:16px 20px;max-width:1200px}
.tp-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:8px}
.tp-title{font-size:20px;font-weight:700;color:var(--text);margin:0}
.tp-hdr-actions{display:flex;gap:8px}
.tp-btn-primary{background:var(--primary);color:#fff;border:none;border-radius:var(--radius);padding:7px 16px;font-size:13px;font-weight:600;cursor:pointer}
.tp-btn-primary:hover{opacity:.85}
.tp-btn-sec{background:var(--surface-alt);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:7px 14px;font-size:13px;cursor:pointer}
.tp-btn-danger{background:transparent;color:var(--danger);border:1px solid var(--danger);border-radius:var(--radius);padding:7px 14px;font-size:13px;cursor:pointer;margin-left:8px}
.tp-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.tp-date-controls{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
.tp-date-control{display:flex;align-items:center;gap:6px}
.tp-date-control label{font-size:12px;color:var(--text-muted);white-space:nowrap}
.tp-date-input{background:var(--surface-alt);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:5px 10px;font-size:12px;cursor:pointer;height:32px}
.tp-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:0}
@media(max-width:900px){.tp-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.tp-cards{grid-template-columns:repeat(2,1fr)}}
.tp-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px}
.tp-card-val{font-size:20px;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}
.tp-card-lbl{font-size:10.5px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-top:2px}
.tp-card-sub{font-size:11px;color:var(--text-muted);margin-top:2px}
.tp-card-group{margin-bottom:16px}
.tp-card-group-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:6px;padding-bottom:4px;border-bottom:1px solid var(--border)}
.tp-cg-expenses .tp-card-group-label{color:var(--warning)}
.tp-cg-profit .tp-card-group-label{color:#2ed47a}
.tp-cg-profit .tp-card{border-left:2px solid #2ed47a}
.tp-day-pax{font-size:15px;font-weight:700;color:var(--text);margin-top:2px;font-variant-numeric:tabular-nums}
.tp-table th,.tp-table td{white-space:nowrap}
.tp-profit-pos{color:#2ed47a;font-weight:700}
.tp-profit-neg{color:var(--danger);font-weight:700}
.tp-profit-cell{min-width:210px;white-space:normal!important}
.tp-row-limitations{font-size:11px;font-weight:400;line-height:1.35;color:var(--text-muted);margin-top:4px;max-width:340px}
.tp-row-limitations ul{margin:3px 0 0;padding-left:16px}
.tp-row-limitations li+li{margin-top:2px}
#app .tp-by-date-table{table-layout:auto}@media(max-width:600px){#app .tp-by-date-table :is(th,td){padding:8px 6px;white-space:normal}#app .tp-by-date-table .tp-profit-cell{min-width:0}#app .tp-by-date-table .tp-btn-xs{padding:4px 6px;white-space:nowrap}}
.tp-by-date .tp-hdr-actions{margin:6px 0 10px}.tp-by-date-table tr[aria-current="date"] td{background:var(--info-bg);font-weight:600}.tp-by-date-total{margin:8px 0 16px}
.tp-day-strip{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.tp-day-btn{appearance:none;-webkit-appearance:none;font-family:inherit;color:inherit;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px;cursor:pointer;min-width:100px;text-align:left}
.tp-day-btn:hover{border-color:var(--primary)}
.tp-day-btn.active{border-color:var(--primary);background:var(--surface-alt);box-shadow:0 0 0 2px var(--primary)}
.tp-day-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}
.tp-day-sub{font-size:10px;color:var(--text-muted);font-variant-numeric:tabular-nums}
.tp-selected-day{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin:2px 0 14px}
.tp-selected-day-title{font-size:14px;font-weight:700;color:var(--text)}
.tp-selected-day-note{font-size:12px;color:var(--text-muted)}
.tp-settings-two-col{display:grid;grid-template-columns:1fr 1fr;gap:24px}
@media(max-width:700px){.tp-settings-two-col{grid-template-columns:1fr}}
.tp-settings-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}
.tp-settings-panel-title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:16px}
.tp-type-badge{display:inline-block;padding:2px 6px;border-radius:3px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.tp-type-small{background:#1a3a2a;color:#2ed47a}
.tp-type-bus{background:#1a2a3a;color:#5ab8d4}
.tp-type-section{margin-top:24px}
.tp-type-header{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;display:flex;align-items:center;gap:8px;color:var(--text-muted)}
.tp-type-empty{padding:12px;color:var(--text-muted);font-size:13px}
.tp-detail-title{margin-top:20px}
.tp-warn-cell{color:var(--warning);font-size:11px}
.card-badge{display:inline-flex;align-items:center;gap:3px;font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;letter-spacing:.03em}
.card-badge-warn{background:rgba(248,113,113,0.15);color:#f87171;border:1px solid rgba(248,113,113,0.30)}
.card-badge-full{background:rgba(167,139,250,0.12);color:#a78bfa}
.card-badge-near{background:rgba(251,191,36,0.10);color:#fbbf24}
.card-badge-closed{background:var(--surface);color:var(--text-muted);border:1px solid var(--border)}
.card-action-row{display:flex;gap:4px;flex-wrap:wrap;margin-top:8px;padding-top:6px;border-top:1px solid var(--border);align-items:center;min-width:0}
.card-action-btn{font-size:11px;font-weight:600;padding:4px 10px;border-radius:5px;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text);font-family:inherit;white-space:nowrap;min-width:0;max-width:100%;flex:0 1 auto}
.card-action-compact{display:none}
.card-action-btn:hover{border-color:var(--primary);color:var(--primary)}
.card-action-btn-primary{background:rgba(67,192,140,0.12);border-color:var(--primary);color:var(--primary)}
.card-action-btn-primary:hover{background:rgba(67,192,140,0.22)}
.tp-btn-xs{padding:2px 8px;font-size:11px}
.tp-form-info{background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius);padding:10px 14px;margin-bottom:16px;font-size:13px}
.tp-settings-form,.tp-tour-form{max-width:680px}
.tp-settings-group{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;margin-bottom:14px}
.tp-setup-notice ul{margin:6px 0 10px;padding-left:18px}
.tp-settings-group-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin-bottom:10px}
.tp-setting-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--border)}
.tp-setting-row:last-child{border-bottom:none}
.tp-setting-lbl{flex:0 0 45%;min-width:0;font-size:13px;color:var(--text)}.tp-setting-row>.tp-form-input{flex:1 1 0;min-width:0}.tp-setting-row>input[type=checkbox]{margin-right:auto}
.tp-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px}
@media(max-width:520px){.tp-form-grid{grid-template-columns:1fr}}
.tp-form-field{display:flex;flex-direction:column;gap:4px}.tp-form-field[hidden]{display:none}
.tp-not-counted{color:var(--text-muted);font-style:italic}
.tp-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.tp-icon{vertical-align:-3px;flex:none}
.tp-selector{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 0 10px;padding:8px 0}
.tp-sel-field{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}.tp-sel-field .tp-form-input{width:auto;min-width:9em}
.tp-check{display:inline-flex;align-items:center;gap:6px;font-size:13px}
:is(.tp-check,.tp-sel-cell) input[type=checkbox]{flex:0 0 auto;width:18px;height:18px;min-height:0;margin:0;padding:0}
.tp-sel-cell{width:1%;text-align:center}
#app .tp-view .tp-night .tp-table .tp-tour-cell{white-space:normal}
.tp-sel-hit{display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:32px;cursor:pointer}
@media(pointer:coarse){.tp-sel-hit{min-width:44px;min-height:44px}.tp-check{min-height:44px}}
.tp-action-bar[hidden]{display:none}
.tp-action-bar{position:sticky;bottom:0;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:12px;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 -4px 14px rgba(0,0,0,.18)}
.tp-bar-group{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}
.tp-sel-count{font-weight:700;font-size:13px}
.tp-action-bar .tp-bar-input{width:9.5em}.tp-action-bar .tp-bar-small{width:4.5em}.tp-bar-lbl{font-size:12px;color:var(--text-muted)}
.tp-hand{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:6px}.tp-override-lbl{flex-basis:100%;font-size:12px;font-weight:700;color:var(--text-muted)}.tp-hand-input{width:8.5em;padding:3px 6px;font-size:12px}
.tp-hand-mark{display:inline-block;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:1px 6px;border:1px solid var(--border);border-radius:999px;color:var(--text-muted)}
.tp-calc-small{font-size:11px;font-weight:400;color:var(--text-muted);margin-top:2px}
/* Tour Profit, one line per date: the line is the summary, the tours and their controls open under it. */
#app .tp-view .tp-nights-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;margin:28px 0 12px}
#app .tp-view .tp-nights-head .tp-detail-title{margin:0}
#app .tp-view .tp-nights{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}
#app .tp-view .tp-night-row{display:grid;grid-template-columns:1.1fr .9fr 1.3fr 1fr 1fr 1.3fr 20px;gap:16px;align-items:start;padding:14px 20px}
#app .tp-view .tp-night-head{padding-block:10px;border-bottom:1px solid var(--border);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}
#app .tp-view .tp-night+.tp-night{border-top:1px solid var(--border)}
#app .tp-view summary.tp-night-row{cursor:pointer;list-style:none}
#app .tp-view summary.tp-night-row::-webkit-details-marker{display:none}
#app .tp-view summary.tp-night-row::after{content:"";width:8px;height:8px;margin-top:5px;border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted);transform:rotate(45deg);justify-self:end}
#app .tp-view .tp-night[open]>summary.tp-night-row::after{transform:rotate(-135deg);margin-top:9px}
#app .tp-view summary.tp-night-row:hover{background:var(--surface-2,rgba(127,127,127,.06))}
#app .tp-view summary.tp-night-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
#app .tp-view .tp-night-cell{display:flex;flex-direction:column;gap:2px;min-width:0}
#app .tp-view .tp-night-k{display:none;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}
#app .tp-view .tp-night-v{font-size:15px;font-weight:650;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
#app .tp-view .tp-night-v.tp-warn-cell{font-size:13px}
#app .tp-view .tp-night-s{font-size:12px;color:var(--text-muted);overflow-wrap:anywhere}
#app .tp-view .tp-night>.mkt-table-wrap{margin:0;padding:4px 20px 20px;border-top:1px dashed var(--border)}
#app .tp-view .tp-hand-wrap{margin-top:6px;font-weight:400}
#app .tp-view .tp-hand-wrap>summary{cursor:pointer;font-size:12px;color:var(--text-muted)}
@media(max-width:899px){
#app .tp-view .tp-night-head{display:none}
#app .tp-view .tp-night-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 16px;padding:14px 44px 14px 16px;position:relative}
#app .tp-view .tp-night-row .tp-night-cell:nth-child(1){grid-column:1/3}
#app .tp-view summary.tp-night-row::after{position:absolute;top:16px;right:18px;margin:0}
#app .tp-view .tp-night[open]>summary.tp-night-row::after{top:20px;margin:0}
#app .tp-view .tp-night-k{display:block}
}
@media(max-width:1199px){
#app .tp-view .tp-night>.mkt-table-wrap{padding:0 16px 12px;overflow:visible}
#app .tp-view .tp-night .tp-table thead{display:none}
#app .tp-view .tp-night .tp-table,#app .tp-view .tp-night .tp-table tbody{display:block;width:100%;min-width:0}
#app .tp-view .tp-night .tp-table tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 16px;padding:14px 0;border-top:1px solid var(--border)}
#app .tp-view .tp-night .tp-table tr:first-child{border-top:0}
#app .tp-view .tp-night .tp-table td{display:block;width:auto;padding:0;border:0;text-align:left;min-width:0;white-space:normal;overflow-wrap:anywhere}
#app .tp-view .tp-night .tp-table td[data-th]::before{content:attr(data-th);display:block;margin-bottom:2px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}
#app .tp-view .tp-night .tp-table :is(.tp-tour-cell,.tp-profit-cell,.tp-driven-cell,.tp-act-cell,.tp-sel-cell){grid-column:1/3}
#app .tp-view .tp-night .tp-table .tp-driven-select{width:auto;max-width:calc(100% - 28px)}
}
.tp-batch-note{margin:0 0 8px;font-size:13px}
.tp-card-lbl .tp-icon{width:14px;height:14px;vertical-align:-2px}
.tp-table:not(.tp-by-date-table) :is(th,td):first-child{position:sticky;left:0;z-index:1;background:var(--surface)}
.tp-table:not(.tp-by-date-table) thead th:first-child{z-index:2}
#app .tp-view{max-width:none;min-width:0;box-sizing:border-box}
@media(max-width:600px){.tp-action-bar{position:static;padding:8px;box-shadow:none}.tp-action-bar .tp-bar-input{flex:1 1 8em;width:auto}.tp-sel-field .tp-form-input{width:100%}}
.tp-row-not-counted td{color:var(--text-muted)}
.tp-driven-select{width:auto;min-width:9em;padding:2px 6px;font-size:12px}
.tp-form-label{font-size:11.5px;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.05em}
.tp-form-input{background:var(--surface-alt);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:7px 10px;font-size:13px;width:100%;box-sizing:border-box}
.tp-form-input:focus{outline:2px solid var(--primary);outline-offset:1px}
.tp-form-actions{display:flex;align-items:center;gap:8px;margin-top:4px}
/* ─── Manage View ─── */
.mg-view{padding:16px 20px;max-width:1100px}
.mg-title{font-size:20px;font-weight:700;color:var(--text);margin-bottom:12px}
.mg-warning{background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:var(--radius);padding:10px 14px;font-size:13px;font-weight:600;color:var(--warning);margin-bottom:16px}
.mg-product{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px;overflow:hidden}
.mg-product-hdr{display:flex;align-items:flex-start;justify-content:space-between;padding:12px 16px;background:var(--surface-alt);border-bottom:1px solid var(--border);flex-wrap:wrap;gap:8px}
.mg-product-name{font-size:14px;font-weight:700;color:var(--text)}
.mg-product-id{font-size:11px;color:var(--text-muted);margin-top:2px}
.mg-offer{border-top:1px solid var(--border);padding:12px 16px}
.mg-offer-hdr{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:6px}
.mg-offer-name{font-size:13px;font-weight:700;color:var(--text)}
.mg-offer-ext-id{font-size:11px;font-family:monospace;color:var(--text-muted);margin-top:2px}
.mg-offer-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.mg-offer-meta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:8px;font-size:12px;color:var(--text-muted)}
.mg-status-badge{display:inline-block;font-size:10px;font-weight:700;padding:2px 7px;border-radius:4px;text-transform:uppercase;letter-spacing:.04em}
.mg-status-DRAFT{background:var(--surface-alt);color:var(--text-muted);border:1px solid var(--border)}
.mg-status-ACTIVE{background:var(--success-bg);color:var(--success)}
.mg-status-RETIRED{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-border)}
.mg-status-DISABLED{background:var(--surface-alt);color:var(--text-muted);border:1px solid var(--border)}
.mg-status-READ_ONLY_SOURCE{background:rgba(67,192,140,0.10);color:var(--primary);border:1px solid rgba(67,192,140,0.3)}
.mg-status-TEST{background:#fef3c7;color:#b45309;border:1px solid #fde68a}
.mg-status-NOT_VERIFIED{background:var(--surface-alt);color:var(--text-muted);border:1px dashed var(--border)}
.mg-offer-ver{font-size:10px;color:var(--text-muted)}
.mg-no-offers{padding:10px 16px;font-size:13px;color:var(--text-muted);font-style:italic}
.mg-mappings-wrap{overflow-x:auto;margin-bottom:8px}
.mg-mappings-table{width:100%;border-collapse:collapse;font-size:12px;table-layout:auto}
.mg-mappings-table th{background:var(--surface-alt);padding:5px 10px;text-align:left;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap}
.mg-mappings-table th[scope=row]{white-space:normal}
.mg-time-gaps{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:4px}
.mg-mappings-table td{padding:7px 10px;border-bottom:1px solid var(--border);vertical-align:middle}
.mg-mappings-table tr:last-child td{border-bottom:none}
.mg-mono{font-family:monospace;font-size:11px;color:var(--text-muted)}
.mg-channel-chip{display:inline-block;font-size:10px;font-weight:700;padding:2px 7px;border-radius:4px;text-transform:uppercase;letter-spacing:.04em}
.mg-ch-BOKUN{background:#fef3c7;color:#b45309}
.mg-ch-GETYOURGUIDE{background:#e0f2fe;color:#0369a1}
.mg-ch-VIATOR{background:#ede9fe;color:#6d28d9}
.mg-ch-CRM{background:var(--surface-alt);color:var(--text-muted)}
.mg-form-panel{background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius);padding:14px;margin-top:10px}
.mg-form-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:10px}
.mg-form-row{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}
.mg-gyg-terms{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px 16px;padding:10px 0;border-top:1px solid var(--border)}
.mg-gyg-terms>strong,.mg-gyg-terms>.mg-form-hint,.mg-gyg-terms>.mg-upd-error{flex-basis:100%}
.mg-gyg-terms .mg-form-row{margin:0;min-width:140px;flex:1}
.mg-form-lbl{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}
.mg-form-lbl-note{font-size:10px;font-weight:400;text-transform:none;letter-spacing:0;color:var(--text-muted)}
.mg-form-input,.mg-form-select{border:1px solid var(--border);border-radius:6px;padding:7px 10px;font-size:13px;background:var(--surface);color:var(--text);font-family:inherit;width:100%;box-sizing:border-box}
.mg-form-input:focus,.mg-form-select:focus{outline:2px solid var(--primary);outline-offset:1px}
.mg-form-hint{font-size:11px;color:var(--text-muted);margin-top:2px}
.mg-form-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:4px}
.mg-form-error{font-size:12px;color:var(--danger);margin-top:6px}
.mg-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mg-form-grid>*{min-width:0}.mg-form-panel fieldset{min-width:0;border:0;padding:0;margin:0}.mg-form-panel h2{font-size:20px}.mg-form-panel h3{font-size:16px}
[data-ledger-pricing-form]>fieldset.mg-form-panel{min-width:0;border:0;border-bottom:1px solid var(--border);border-radius:0;background:none;padding:16px 0;margin:0 0 12px}
[data-ledger-pricing-form] h3{margin:16px 0 8px}[data-ledger-pricing-form] legend{font-size:14px;font-weight:600}
[data-ledger-pricing-form] .mg-form-actions label{display:inline-flex;align-items:center;gap:4px;min-height:32px}
[data-ledger-pricing-form] input[type=checkbox]{width:18px;height:18px;min-height:0;padding:0;accent-color:var(--primary)}
@media(max-width:600px){.mg-form-grid{grid-template-columns:1fr}}
.mg-btn{cursor:pointer;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius);padding:6px 12px;font-size:13px;color:var(--text);font-family:inherit}
.mg-btn:hover{background:var(--surface-alt)}
.mg-btn-primary{background:var(--primary);color:#052016;border-color:var(--primary);font-weight:700}
.mg-btn-primary:hover{opacity:.85}
.mg-btn-sm{padding:4px 10px;font-size:12px}
.mg-upd-error{font-size:11px;color:var(--danger);margin-top:4px}
.mg-schedule-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--text-muted)}
.mg-schedule-summary strong{color:var(--text)}
.mg-schedule-editor{margin-top:0}
.mg-schedule-times{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:8px 0 10px}
.mg-schedule-time{display:flex;gap:6px;align-items:center}
.mg-schedule-time .mg-form-input{min-width:0}
.mg-schedule-remove{padding:5px 8px;line-height:1}
.mg-schedule-preview{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}
.mg-schedule-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
.mg-schedule-preview-card{border:1px solid var(--border);border-radius:6px;padding:9px 10px;background:var(--surface)}
.mg-schedule-preview-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:5px}
.mg-schedule-preview-value{font-size:12px;line-height:1.45;color:var(--text)}
.mg-schedule-notice{font-size:12px;color:var(--warning);font-weight:600;margin:8px 0}
.mg-capacity-preview{margin-top:10px;padding:10px;border:1px solid var(--border);border-radius:6px;background:var(--surface)}
.mg-capacity-preview ul{margin:7px 0;padding-left:20px;max-height:180px;overflow:auto}
@media(max-width:600px){.mg-schedule-times,.mg-schedule-preview-grid{grid-template-columns:1fr}.mg-schedule-summary{align-items:flex-start}}
html.theme-light .mg-form-input,html.theme-light .mg-form-select{background:#fff;border-color:#c4d0ca}
html.theme-light .mg-form-panel{background:#f0f4f2;border-color:#c4d0ca}
html.theme-light .mg-btn-primary{color:#fff}
html.theme-light .mg-product{border-color:#c4d0ca}
html.theme-light .mg-product-hdr{background:#e8f0ec;border-color:#c4d0ca}
html.theme-light .mg-mappings-table th{background:#e8f0ec}
/* ─── Departure operations: tour-first workflow ─── */
.dep-ops-step{margin:0 0 12px}
.dep-ops-step>h3{margin:0 0 6px;font-size:16px}
.dep-ops-tour-picker{display:grid;grid-template-columns:1fr;gap:6px}
.dep-ops-tour-toggle{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:4px 10px;width:100%;text-align:left;min-height:44px;padding:6px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:inherit;font:inherit;cursor:pointer}
.dep-ops-tour-toggle:hover{border-color:var(--accent)}
.dep-ops-tour-toggle.is-selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.dep-ops-tour-toggle:disabled{cursor:not-allowed;opacity:.6}
.dep-ops-chips{display:flex;flex-wrap:wrap;gap:4px 6px;min-width:0}
.dep-ops-pickmark{margin-left:auto;font-size:12px;font-weight:700;color:var(--text-muted)}
.dep-ops-tour-toggle.is-selected .dep-ops-pickmark{color:var(--accent)}
.dep-ops-tour-toggle.is-selected .dep-ops-pickmark::before{content:"\2713  "}
.dep-ops-tour-head{display:flex;align-items:center;gap:6px 10px;flex-wrap:wrap;margin-bottom:6px}.dep-ops-tour-head .dep-ops-tag{margin-left:auto}
.dep-ops-tour-head h3{margin:0;font-size:16px}
.dep-ops-tag{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border:1px solid var(--border);border-radius:999px;padding:3px 9px}
.dep-ops-tag.is-ready{color:var(--success);border-color:var(--success)}
.dep-ops-tag.is-alert{color:var(--danger);border-color:var(--danger)}
.dep-ops-form label{display:flex;flex-direction:column;gap:4px;margin:8px 0}
.dep-ops-ready{margin:8px 0;padding:9px 12px;border:1px solid var(--border);border-left:3px solid var(--success);border-radius:6px;background:var(--surface-alt);color:var(--text-muted);font-size:13px}
.dep-ops-missing{margin:8px 0;padding:10px 12px;border:1px solid var(--danger);border-left:3px solid var(--danger);border-radius:6px;background:var(--surface-alt)}
.dep-ops-missing strong{color:var(--danger)}
.dep-ops-missing ul{margin:6px 0 0;padding-left:20px}
.dep-ops-missing li{font-size:13px}
.dep-ops-problems{margin:8px 0;padding-left:20px;color:var(--danger)}
.dep-ops-problems li{margin:2px 0}
.dep-ops-fieldset{border:0;margin:0;padding:0;min-width:0}
.dep-ops-fieldset[disabled]{opacity:.75}
.dep-ops-customers{list-style:none;margin:8px 0;padding:0;display:grid;gap:4px}
.dep-ops-customers li{padding:6px 8px;border:1px solid var(--border);border-radius:6px;font-size:13px}
.dep-ops-customers .dep-ops-customer-missing{border-color:var(--danger)}
.dep-ops-experience{margin:2px 0 6px;font-size:13px}
.dep-ops-fields{display:grid;grid-template-columns:minmax(120px,160px) minmax(0,1fr);gap:0 12px}
.dep-ops-fields label{display:flex;flex-direction:column;gap:4px;margin:8px 0}
.dep-ops-guide-block{margin:10px 0 4px}
.dep-ops-guides{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 0}
.dep-ops-guide{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:8px 14px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:inherit;font:inherit;font-size:14px;cursor:pointer}
.dep-ops-guide:hover:not(:disabled){border-color:var(--accent)}
.dep-ops-guide.is-on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);font-weight:700}
.dep-ops-guide.is-on span::before{content:"\2713  "}
.dep-ops-guide small{color:var(--text-muted);font-size:12px;font-weight:400}
.dep-ops-guide:disabled{cursor:not-allowed;opacity:.6}
.dep-ops-bus-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px}
.dep-ops-bus{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-alt);padding:14px;min-width:0}
.dep-ops-bus-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap}
.dep-ops-bus-head h4{margin:0;font-size:17px}
.dep-ops-bus-head h4 span{font-weight:400;color:var(--text-muted)}
.dep-ops-bus-count{font-size:13px;font-weight:700}
.dep-ops-bus-bookings{list-style:none;margin:12px 0 0;padding:10px 0 0;border-top:1px solid var(--border);display:grid;gap:4px;font-size:13px}
.dep-ops-guest{color:var(--primary);text-decoration:underline;text-underline-offset:2px}
.dep-ops-icon{flex:none;width:20px;height:20px}
.dep-ops-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border:1px solid var(--border);border-radius:999px;font-size:12px;font-weight:600;line-height:1.5;color:var(--text-muted);white-space:nowrap}
.dep-ops-chip.is-ok{background:var(--success-bg);border-color:transparent;color:var(--success)}
.dep-ops-chip.is-info{background:var(--info-bg);border-color:transparent;color:var(--info)}
.dep-ops-chip.is-warn{background:var(--warning-bg);border-color:var(--warning-border,transparent);color:var(--warning-text,var(--warning))}
.dep-ops-chip.is-danger{background:var(--danger-bg);border-color:var(--danger-border,transparent);color:var(--danger)}
.dep-ops-move{margin:10px 0 0;padding:10px 0 0;border-top:1px solid var(--border)}
.dep-ops-move-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px}
.dep-ops-move-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:10px 0 4px;font-size:13px}
.departure-ops-config label.dep-ops-pick{display:inline-flex;flex-direction:row;align-items:center;gap:8px;min-height:32px;margin:0;cursor:pointer}
.dep-ops-pick input[type=checkbox]{flex:0 0 auto;width:18px;height:18px;min-height:0;margin:0;padding:0}
.dep-ops-move-rows{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:0}
.dep-ops-move-rows li{display:flex;align-items:center;gap:4px 8px;flex-wrap:wrap;padding:4px 0;border-bottom:1px solid var(--border);font-size:13px;overflow-wrap:anywhere}
.dep-ops-move-rows li.is-held{color:var(--text-muted)}
.departure-ops-config label.dep-ops-move-each{display:inline-flex;flex-direction:row;align-items:center;gap:8px;margin:0 0 0 auto;max-width:100%;font-size:13px;color:var(--text-muted);white-space:nowrap}
.dep-ops-move-each select{flex:0 1 240px;width:auto;min-width:0;max-width:100%;min-height:32px;padding:2px 8px;font-size:13px}
.dep-ops-move-step{display:flex;align-items:baseline;gap:4px 10px;flex-wrap:wrap;margin:0 0 6px;font-size:13px}
.dep-ops-targets{display:grid;gap:6px;margin:0 0 8px}
.dep-ops-target{display:flex;align-items:center;gap:6px 10px;flex-wrap:wrap;width:100%;min-height:40px;padding:6px 12px;text-align:left;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:inherit;font:inherit;font-size:13px;cursor:pointer}
.dep-ops-target:hover:not(:disabled){border-color:var(--accent)}
.dep-ops-target.is-chosen{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.dep-ops-target span:last-child{margin-left:auto;color:var(--text-muted)}
.dep-ops-move-line{margin:0 0 8px;padding:8px 12px;border-radius:var(--radius);background:var(--surface-alt);font-size:13px}
.dep-ops-move-line.is-warn{background:var(--warning-bg);color:var(--warning-text,inherit)}
.dep-ops-move-line.is-danger{background:var(--danger-bg);color:var(--danger)}
.dep-ops-move-result{margin:10px 0 0;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-alt);font-size:13px}
.dep-ops-move-result p{margin:4px 0}
.dep-ops-move-result ul{margin:4px 0}
.dep-ops-result-dialog{width:min(560px,calc(100vw - 32px))}
.dep-ops-map-dialog{width:min(680px,calc(100vw - 32px))}
.dep-ops-result-headline{margin:12px 0;padding:8px 12px;border-radius:var(--radius);font-size:15px}
.dep-ops-result-headline.is-ok{background:var(--success-bg);color:var(--success)}
.dep-ops-result-headline.is-warn{background:var(--warning-bg);color:var(--warning-text,var(--warning))}
.dep-ops-result-list{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:8px}
.dep-ops-result-list li{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-top:1px solid var(--border)}
.dep-ops-result-list li p{margin:4px 0 0;font-size:13px;overflow-wrap:anywhere}
.cv-activity{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}
.cv-activity-item{padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-size:13px}
.cv-activity-item .cv-activity-when{color:var(--text-muted);font-size:12px}
.cv-activity-warn{border-color:var(--danger)}
.cv-message{border-left-width:4px}
.cv-message.is-sent{border-left-color:var(--accent)}
.cv-message.is-received{border-left-color:#3b82f6}
.cv-message.is-unsent{border-left-color:var(--text-muted)}
.cv-message-way{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}
.cv-message-subject{margin-top:4px;font-weight:600}
.cv-message-text{margin-top:4px}
.cv-message-text summary{cursor:pointer;color:var(--text-muted);font-size:12px}
.cv-message-text p{margin:6px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
.cv-message-limits{margin-top:8px}
.dc-panel{display:grid;gap:12px}
.dc-panel textarea{width:100%;min-height:72px}
.departure-ops-day-actions{margin-left:auto;display:flex;gap:8px;align-items:center}
#app .departure-ops-page .departure-ops-day-actions .btn{min-height:44px}
.day-cancel-dialog{position:fixed;inset:0;margin:auto;width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:16px;overflow:auto;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface);color:var(--text)}
.day-cancel-dialog::backdrop{background:rgba(0,0,0,.45)}
.day-cancel-dialog .btn-danger-outline{background:transparent;border-color:var(--danger);color:var(--danger)}
.day-cancel-dialog .btn-danger-outline:disabled{opacity:.55}
.day-cancel-dialog>*+*{margin-top:12px}
.day-cancel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.day-cancel-head h3{margin:0;font-size:18px}
.day-cancel-lead{margin-bottom:0}
.day-cancel-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.day-cancel-list li{display:grid;gap:4px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--raised);min-width:0}
.day-cancel-empty{display:grid;gap:4px;margin-top:8px;padding:10px 12px;border:1px dashed var(--border);border-radius:var(--radius);min-width:0}
.day-cancel-pick,.day-cancel-reason{display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer;min-width:0}
.day-cancel-pick input,.day-cancel-reason input{width:20px;height:20px;flex:0 0 auto;margin:0}
.day-cancel-name{font-weight:600;overflow-wrap:anywhere;min-width:0}
.day-cancel-meta,.day-cancel-state{font-size:13px;color:var(--text-muted);overflow-wrap:anywhere}
.day-cancel-state.is-done{color:var(--success);font-weight:600}
.day-cancel-state.is-error{color:var(--danger)}
.day-cancel-list .btn{justify-self:start;min-height:44px}
.day-cancel-reasons{border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px;margin-left:0;margin-right:0;min-width:0}
.day-cancel-reasons legend{padding:0 6px;font-size:13px;color:var(--text-muted)}
.day-cancel-other{display:block}
.day-cancel-message{display:grid;gap:8px;margin:12px 0;padding:12px;border:1px solid var(--border);border-radius:var(--radius);min-width:0}
.day-cancel-message h4{margin:0;font-size:14px}
.day-cancel-message .day-cancel-other span{display:block;margin-bottom:6px;font-weight:600}
.day-cancel-other textarea{width:100%;min-height:84px;font-size:15px}
.day-cancel-actions{display:flex;flex-wrap:wrap;gap:8px}
.day-cancel-actions .btn{min-height:44px}
.day-cancel-mail summary{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;min-height:44px;cursor:pointer}
.day-cancel-mail .dc-bookings{margin-top:6px}
@media(max-width:600px){.departure-ops-day-actions{margin:8px 0 0}.day-cancel-actions .btn{flex:1 1 100%}}
.dc-bookings,.dc-checklist{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.dc-bookings li,.dc-checklist li{display:grid;gap:3px;padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-size:13px}
.dc-checklist li.is-done{opacity:.65}
.dc-checklist li .dc-tick{justify-self:start;margin-top:4px}
.dc-booking-name{font-weight:600}
.dc-booking-meta{color:var(--text-muted);font-size:12px}
.dc-origin-direct{color:var(--accent)}
.dc-origin-unknown{color:var(--danger)}
.calendar-cancelled-state{color:var(--danger)}
.dc-notices{display:grid;gap:8px;border-top:1px solid var(--border);padding-top:12px}
.dc-notices h3{margin:0;font-size:14px}
.dc-email{white-space:pre-wrap;font:12px/1.5 inherit;margin:6px 0 0;padding:8px;border-radius:6px;background:var(--surface-2,rgba(127,127,127,.08))}
@media(max-width:600px){.dep-ops-tour-picker{grid-template-columns:1fr}.dep-ops-bus-grid{grid-template-columns:1fr}.dep-ops-fields{grid-template-columns:1fr}.dep-ops-target span:last-child{margin-left:0}}
/* ─── Quick Booking drawer ─── */
.qb-trigger-btn{background:rgba(67,192,140,0.15);color:var(--primary);border-color:rgba(67,192,140,0.4);font-weight:700;font-size:13px}
.qb-trigger-btn:hover{background:rgba(67,192,140,0.25)}
.qb-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:300;display:none;cursor:pointer}
.qb-overlay.open{display:block}
.qb-drawer{position:fixed;top:0;right:0;bottom:0;width:min(440px,100vw);background:var(--surface);z-index:301;box-shadow:-8px 0 40px rgba(0,0,0,.25);overflow-y:auto;transform:translateX(100%);transition:transform .22s cubic-bezier(.4,0,.2,1)}
.qb-drawer.open{transform:none}
.qb-hdr{position:sticky;top:0;background:var(--surface);border-bottom:1px solid var(--border);padding:14px 20px;display:flex;align-items:center;gap:10px;z-index:2}
.qb-hdr-title{font-size:16px;font-weight:700;flex:1;color:var(--text)}
.qb-close{background:none;border:none;cursor:pointer;font-size:20px;color:var(--text-muted);padding:0 2px;line-height:1}
.qb-close:hover{color:var(--text)}
.qb-body{padding:20px}
.qb-notice{background:rgba(251,191,36,0.10);border:1px solid rgba(251,191,36,0.30);color:var(--warning);border-radius:var(--radius);padding:8px 12px;font-size:12px;margin-bottom:18px}
.qb-form{display:flex;flex-direction:column;gap:14px}
.qb-field{display:flex;flex-direction:column;gap:5px;flex:1}
.qb-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}
.qb-input{background:var(--surface-alt);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:8px 11px;font-size:14px;width:100%;font-family:inherit;box-sizing:border-box}
.qb-input:focus{outline:2px solid var(--primary);outline-offset:1px}
.qb-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.qb-stepper{display:flex;align-items:center;gap:6px}
.qb-stepper .qb-input{text-align:center;width:64px;flex-shrink:0}
.qb-step-btn{background:var(--surface-alt);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:18px;width:32px;height:36px;cursor:pointer;line-height:1;display:flex;align-items:center;justify-content:center;font-family:inherit}
.qb-step-btn:hover{border-color:var(--primary);color:var(--primary)}
.qb-actions{display:flex;align-items:center;gap:12px;padding-top:4px}
.qb-submit-btn{background:var(--primary);color:#052016;border:none;border-radius:var(--radius);padding:10px 22px;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit}
.qb-submit-btn:disabled{opacity:.4;cursor:not-allowed}
.qb-submit-btn:not(:disabled):hover{opacity:.88}
.qb-submit-note{font-size:12px;color:var(--text-muted)}
.card-action-btn-ops{background:rgba(67,192,140,0.10);border-color:rgba(67,192,140,0.35);color:var(--primary)}
.card-action-btn-ops:hover{background:rgba(67,192,140,0.20)}
.card-action-btn-bus{background:rgba(167,139,250,0.10);border-color:rgba(167,139,250,0.35);color:#a78bfa}
.card-action-btn-bus:hover{background:rgba(167,139,250,0.20)}
/* ─── Inventory panel (departure-level capacity/status controls) ─── */
.inv-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:300;display:none}
.inv-overlay.open{display:block}
.inv-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(520px,96vw);max-height:90vh;background:var(--surface);border-radius:var(--radius);box-shadow:0 8px 40px rgba(0,0,0,.3);z-index:301;display:none;flex-direction:column;overflow:hidden}
.inv-overlay.open .inv-panel{display:flex}
.inv-panel-hdr{display:flex;align-items:flex-start;gap:10px;padding:14px 16px 12px;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0}
.inv-panel-title{flex:1;min-width:0}
.inv-panel-name{font-size:14px;font-weight:700;margin-bottom:2px;word-break:break-word}
.inv-panel-meta{font-size:12px;color:var(--text-muted)}
.inv-panel-close{background:none;border:none;cursor:pointer;font-size:20px;color:var(--text-muted);padding:0 2px;line-height:1;flex-shrink:0;align-self:flex-start}
.inv-panel-close:hover{color:var(--text)}
.inv-panel-body{overflow-y:auto;padding:16px;flex:1}
.inv-info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin-bottom:14px}
.inv-info-field{display:flex;flex-direction:column;gap:2px}
.inv-info-lbl{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}
.inv-info-val{font-size:13px;font-weight:600}
.inv-status-open{color:var(--success)}
.inv-status-closed{color:var(--danger)}
.inv-section{background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius);padding:14px;margin-bottom:12px}
.inv-section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:10px;border-bottom:1px solid var(--border);padding-bottom:5px}
.inv-form-row{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}
.inv-form-lbl{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}
.inv-form-input,.inv-form-textarea{border:1px solid var(--border);border-radius:6px;padding:7px 10px;font-size:13px;background:var(--surface);font-family:inherit;width:100%}
.inv-form-textarea{resize:vertical;min-height:60px}
.inv-preview-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;margin:10px 0;font-size:13px}
.inv-preview-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:8px}
.inv-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;margin-bottom:6px}
.inv-preview-item{display:flex;flex-direction:column;gap:1px}
.inv-preview-lbl{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}
.inv-preview-val{font-size:13px;font-weight:600}
.inv-blocking{background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:5px;padding:8px 10px;font-size:13px;color:var(--danger);margin-top:6px}
.inv-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}
.inv-success{font-size:13px;color:var(--success);font-weight:600;padding:8px 10px;background:var(--success-bg);border-radius:5px;margin-top:8px}
.inv-error{font-size:13px;color:var(--danger);padding:8px 10px;background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:5px;margin-top:8px}
.inv-readonly-notice{font-size:13px;color:var(--text-muted);font-style:italic;padding:10px 12px;background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);margin-bottom:10px}
.inv-status-notice{font-size:12px;color:var(--text-muted);margin-top:6px;font-style:italic}
html.theme-light .inv-form-input,html.theme-light .inv-form-textarea{background:#fff;border-color:#c4d0ca}
html.theme-light .inv-preview-box{background:#f0f4f2}
@media(max-width:600px){.inv-panel{top:auto;left:0;right:0;bottom:0;transform:none;width:100%;max-height:85vh;border-radius:var(--radius) var(--radius) 0 0}}
/* ─── One consolidated Pickup ops menu per departure ─── */
.pickup-ops-menu{position:relative;display:inline-block}
.pickup-ops-menu>summary{list-style:none;cursor:pointer;user-select:none}
.pickup-ops-menu>summary::-webkit-details-marker{display:none}
.pickup-ops-menu>summary::marker{content:""}
.pickup-ops-panel,.ledger-selected-commands .pickup-ops-panel,.ledger-day-booking-commands .pickup-ops-panel{display:flex;flex-direction:column;gap:6px;align-items:stretch;margin:6px 0 0;padding:8px;background:var(--surface);border:1px solid var(--border);border-radius:6px;box-shadow:0 8px 24px rgba(0,0,0,.28);min-width:230px;max-width:100%}
.pickup-ops-panel>.pickup-ops-item{display:block;width:100%;margin:0;font:inherit;font-size:13px;line-height:1.35;font-weight:600;text-align:left;white-space:normal;overflow-wrap:anywhere;padding:9px 11px;border-radius:5px;border:1px solid var(--border);background:var(--surface-alt);color:var(--text);cursor:pointer;min-height:36px}
.pickup-ops-panel>.pickup-ops-item:hover{border-color:var(--primary);color:var(--primary)}
.pickup-ops-panel>.pickup-ops-item:focus-visible{outline:2px solid var(--focus-ring,rgba(67,192,140,.6));outline-offset:1px}
.pickup-ops-btn{position:relative}
.card-action-btn.pickup-ops-btn .pickup-ops-count{position:absolute;top:-6px;right:-6px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:#c2410c;color:#fff;font-size:11px;font-weight:700;line-height:17px;text-align:center;pointer-events:none}
.btn.pickup-ops-btn .pickup-ops-count{display:inline-block;min-width:18px;margin-left:6px;padding:1px 6px;border-radius:9px;background:#c2410c;color:#fff;font-size:12px;font-weight:700;line-height:16px;text-align:center}
html.theme-light .pickup-ops-panel{background:#fff;border-color:#c4d0ca}
html.theme-light .pickup-ops-panel>.pickup-ops-item{background:#f0f4f2}
@media(max-width:767px){.pickup-ops-panel>.pickup-ops-item{min-height:44px;font-size:14px}}
/* ─── Message guests dialog ─── */
.gm-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.55);display:none;align-items:center;justify-content:center;padding:16px;z-index:60}
.gm-overlay.open{display:flex}
.gm-panel{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:16px;width:min(760px,100%);max-height:90vh;overflow:auto;box-shadow:0 18px 48px rgba(0,0,0,.45)}
.gm-head{position:relative;margin-bottom:10px}
.gm-head h3{margin:0 0 4px}
.gm-close{position:absolute;top:0;right:0;background:none;border:0;color:var(--text-muted);font-size:16px;cursor:pointer;padding:2px 6px}
.gm-banner{margin:6px 0 0;padding:6px 9px;border-radius:5px;background:rgba(224,164,88,.14);border:1px solid rgba(224,164,88,.4);font-size:12px}
.gm-error{color:#e05252;font-size:13px;margin:6px 0}
.gm-table{width:100%;border-collapse:collapse;font-size:13px}
.gm-table th,.gm-table td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--border);vertical-align:top}
.gm-picked{background:rgba(67,192,140,.12)}
.gm-missing{color:#e0a458;font-size:12px}
.gm-present{font-size:12px;color:var(--text-muted)}
.gm-tools{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:10px 0}
.gm-link{background:none;border:0;color:var(--primary);cursor:pointer;font:inherit;font-size:12px;text-decoration:underline;padding:0}
.gm-field{display:block;margin-bottom:8px}
.gm-field>span{display:block;font-size:12px;color:var(--text-muted);margin-bottom:3px}
.gm-field input,.gm-field textarea{width:100%;box-sizing:border-box;font:inherit;font-size:13px;padding:7px 9px;border-radius:5px;border:1px solid var(--border);background:var(--surface-alt);color:var(--text)}
.gm-placeholders{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.gm-placeholder{font-size:11px;padding:3px 7px;border-radius:11px;border:1px solid var(--border);background:var(--surface-alt);color:var(--text-muted);cursor:pointer}
.gm-results{margin:10px 0;padding:8px 10px;border:1px solid var(--border);border-radius:6px}
.gm-results ul{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:4px;font-size:12px}
.gm-accepted{color:var(--primary)}
.gm-blocked,.gm-rejected{color:#e05252}
.gm-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}
html.theme-light .gm-panel{background:#fff;border-color:#c4d0ca}
/* ─── 2026 visual refresh: real dashboard shell, no feature or contract changes ─── */
:root{
  color-scheme:dark;
  --bg:#08140f;
  --surface:#10231b;
  --surface-alt:#162d23;
  --surface-raised:#1b3529;
  --border:rgba(159,210,187,.16);
  --border-strong:rgba(159,210,187,.28);
  --text:#f2f7f4;
  --text-muted:#9ab5a8;
  --primary:#6ed6aa;
  --primary-light:rgba(110,214,170,.13);
  --danger:#fb8585;
  --warning:#f3c969;
  --success:#67d894;
  --full:#bc9cff;
  --focus-ring:#8ff0c5;
  --radius:12px;
  --shadow-sm:0 1px 2px rgba(0,0,0,.18),0 10px 30px rgba(0,0,0,.08);
  --shadow-lg:0 24px 70px rgba(0,0,0,.36);
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.45;
}
html,body{min-height:100%;background:var(--bg)}
body{background:radial-gradient(circle at 72% -10%,rgba(110,214,170,.09),transparent 34rem),var(--bg)}
button,input,select,textarea{color:var(--text)}
button,input,select,textarea{transition:border-color .16s ease,background-color .16s ease,color .16s ease,box-shadow .16s ease,opacity .16s ease}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{
  outline:3px solid var(--focus-ring);
  outline-offset:2px;
}
.app-header .btn{background:transparent;border-color:var(--border-strong);box-shadow:none}
.app-header .btn:hover{background:var(--surface-alt);border-color:rgba(110,214,170,.48)}
.app-header .qb-trigger-btn{background:var(--primary);border-color:var(--primary);color:#062117;box-shadow:0 8px 22px rgba(24,118,82,.22)}
.app-header .qb-trigger-btn:hover{background:#83dfb8;border-color:#83dfb8}
.app-nav{
  width:248px;
  top:64px;
  height:calc(100vh - 64px);
  padding:14px 12px;
  background:rgba(12,29,22,.9);
  border-right:1px solid var(--border);
  backdrop-filter:blur(16px);
}
.cs-area{padding:5px 3px 16px;border-bottom:1px solid var(--border)}
.cs-label{margin:0 5px 8px;font-size:9px;letter-spacing:.14em}
.cs-form{gap:6px;margin-bottom:0}
.cs-input,.cs-btn{min-height:38px;background:rgba(255,255,255,.035);border-color:var(--border-strong)}
.cs-btn{padding-inline:12px;font-weight:750}
.cs-results{margin:10px -3px -8px;border-top:1px solid var(--border);border-radius:8px;overflow:hidden}
.cs-result-item{background:transparent;padding:10px}
.nav-item{position:relative;border:1px solid transparent;border-radius:9px;padding:10px 12px;color:var(--text-muted);font-size:13px;font-weight:650;border-right-width:1px}
.nav-item::before{content:"";position:absolute;left:0;top:50%;width:3px;height:0;border-radius:0 4px 4px 0;background:var(--primary);transform:translateY(-50%);transition:height .16s ease}
.nav-item:hover{background:rgba(255,255,255,.035);color:var(--text)}
.nav-item.active{background:var(--primary-light);border-color:rgba(110,214,170,.2);color:var(--primary);border-right-color:rgba(110,214,170,.2)}
.nav-item.active::before{height:18px}
.btn{min-height:34px;border-color:var(--border-strong);background:var(--surface);font-weight:650;box-shadow:0 1px 0 rgba(255,255,255,.025)}
.btn:hover{background:var(--surface-raised);border-color:rgba(110,214,170,.42)}
.btn-primary{background:var(--primary);border-color:var(--primary);color:#062117}
.btn-primary:hover{background:#83dfb8;border-color:#83dfb8}
.day-date{font-size:22px;letter-spacing:-.04em}
.day-empty{padding:22px 4px;color:var(--text-muted)}
.departure-card{padding:9px;border-color:var(--border);border-radius:10px;background:linear-gradient(155deg,rgba(255,255,255,.042),rgba(255,255,255,.018));box-shadow:0 1px 0 rgba(255,255,255,.025)}
.departure-card:hover{border-color:rgba(110,214,170,.55);box-shadow:0 0 0 3px rgba(110,214,170,.09)}
.departure-card.is-closed{background:rgba(255,255,255,.018)}
.channel-chip{padding:2px 6px;border-radius:999px;font-size:9px}
.card-action-row{gap:4px;padding-top:6px}
.card-action-btn,.card-action-btn-primary,.card-action-btn-ops,.card-action-btn-bus{border-radius:7px;min-height:26px;font-weight:700}
.search-bar{margin:16px 20px 0;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:var(--shadow-sm)}
.search-form input,.search-form select,.form-row input,.form-row textarea,.form-row select,.planner-input,.rev-filter-input,.inv-form-input,.inv-form-textarea,.qb-input{
  border-color:var(--border-strong);
  background:rgba(255,255,255,.035);
}
.search-form input:focus,.search-form select:focus,.form-row input:focus,.form-row textarea:focus,.form-row select:focus,.planner-input:focus,.rev-filter-input:focus,.inv-form-input:focus,.inv-form-textarea:focus,.qb-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(110,214,170,.1)}
.pickup-view,.customer-view,.revenue-view,.comms-view,.mkt-view,.tp-view,.mg-view,.search-results-wrap{max-width:1480px;margin-inline:auto;padding:24px}.planner-section,.cv-sec,.rev-filter-form,.rev-currency-group,.comms-section,.mkt-section{
  border-color:var(--border);
  border-radius:14px;
  box-shadow:var(--shadow-sm);
}
.bookings-table,.history-table,.rev-breakdown,.plan-stops-table{font-variant-numeric:tabular-nums}
.bookings-table th,.history-table th,.rev-breakdown th,.plan-stops-table th{letter-spacing:.08em;background:rgba(255,255,255,.025)}
.bookings-table tr:hover td,.history-table tr:hover td,.rev-breakdown tr:hover td{background:rgba(110,214,170,.035)}
.drawer,.qb-drawer{border-left:1px solid var(--border);box-shadow:var(--shadow-lg)}
.drawer-hdr,.qb-hdr{padding:16px 20px;background:rgba(16,35,27,.94);backdrop-filter:blur(16px)}
.drawer-body,.qb-body{padding:22px}
.inv-panel{border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-lg)}
.inv-overlay,.drawer-overlay,.qb-overlay{backdrop-filter:blur(5px)}
.state-message{margin:24px;padding:64px 24px;border:1px dashed var(--border-strong);border-radius:14px;background:rgba(255,255,255,.015)}
.state-message.state-message-searching{margin:0;padding:20px 0;border:0;background:transparent}
.state-message.state-message-compact{margin:0;padding:16px 0;border:0;background:transparent}
.spinner{border-color:var(--border-strong);border-top-color:var(--primary)}
html.theme-light{
  color-scheme:light;
  --bg:#f3f7f4;
  --surface:#ffffff;
  --surface-alt:#eef4f0;
  --surface-raised:#e6f0ea;
  --border:rgba(31,72,54,.13);
  --border-strong:rgba(31,72,54,.24);
  --text:#14261e;
  --text-muted:#5d7469;
  --primary:#167855;
  --primary-light:rgba(22,120,85,.1);
  --danger:#c83d3d;
  --warning:#a56806;
  --success:#197546;
  --full:#7047bd;
  --focus-ring:#0b6142;
  --shadow-sm:0 1px 2px rgba(25,55,42,.04),0 12px 32px rgba(25,55,42,.055);
  --shadow-lg:0 24px 70px rgba(25,55,42,.18);
}
html.theme-light body{background:radial-gradient(circle at 72% -10%,rgba(22,120,85,.08),transparent 34rem),var(--bg)}
html.theme-light .app-header{background:rgba(249,252,250,.91)}
html.theme-light .app-header::after{background:linear-gradient(90deg,transparent,rgba(22,120,85,.35),transparent)}
html.theme-light .app-header-title{color:var(--text-muted)}
html.theme-light .app-header .qb-trigger-btn,html.theme-light .btn-primary,html.theme-light .cal-today-btn{color:#fff}
html.theme-light .app-nav{background:rgba(249,252,250,.9)}
html.theme-light .nav-item.active{background:var(--primary-light);border-color:rgba(22,120,85,.16);color:var(--primary)}
html.theme-light .week-nav,html.theme-light .day-col{background:rgba(255,255,255,.88)}
html.theme-light .day-col.is-today{background:#f1faf5}
html.theme-light .departure-card{background:linear-gradient(155deg,#fff,#f7faf8)}
html.theme-light .theme-toggle-btn{color:var(--text);background:var(--surface)}
html.theme-light .search-form input,html.theme-light .search-form select,html.theme-light .form-row input,html.theme-light .form-row textarea,html.theme-light .form-row select,html.theme-light .planner-input,html.theme-light .rev-filter-input,html.theme-light .cs-input,html.theme-light .cs-btn,html.theme-light .inv-form-input,html.theme-light .inv-form-textarea,html.theme-light .qb-input{background:#fff;border-color:var(--border-strong)}
html.theme-light .drawer-hdr,html.theme-light .qb-hdr{background:rgba(255,255,255,.94)}
@media(max-width:1100px){
  .departure-card{padding:7px 6px}
}
@media(max-width:800px){
  .app-nav{top:56px;height:calc(100vh - 56px);padding-top:10px}
  .nav-hamburger{color:var(--text);margin-left:0;border-radius:8px}
  .search-toggle{font-size:12px;padding-inline:9px}
  .pickup-view,.customer-view,.revenue-view,.comms-view,.mkt-view,.tp-view,.mg-view,.search-results-wrap{padding:16px 12px}
}
@media(max-width:600px){
  .app-header .qb-trigger-btn{font-size:0;width:36px;padding:0}
  .app-header .qb-trigger-btn::first-letter{font-size:16px}
  .departure-card{padding:4px 2px;border-radius:5px}
  .card-action-row{grid-template-columns:minmax(24px,1fr)}
  .card-action-btn,.card-action-btn-primary,.card-action-btn-ops,.card-action-btn-bus{min-width:24px;min-height:24px;width:100%}
  .state-message{margin:8px;padding:42px 12px}
  .drawer-body,.qb-body{padding:16px 12px}
}
/* Inset rings stay visible inside compact calendar/search clipping containers. */
.departure-card:focus-visible,.cs-result-item:focus-visible{outline:3px solid var(--focus-ring);outline-offset:-3px}
.drawer:not(.open){visibility:hidden}
.qb-drawer{visibility:hidden;transition:transform .22s cubic-bezier(.4,0,.2,1),visibility 0s linear .22s}
.qb-drawer.open{visibility:visible;transition-delay:0s}
.drawer-close,.qb-close,.inv-panel-close{min-width:44px;min-height:44px}
@media(max-width:800px){
  .app-nav{visibility:hidden;transition:transform .2s ease,visibility 0s linear .2s}
  .app-nav.nav-open{visibility:visible;transition-delay:0s}
  .nav-hamburger,.app-header .qb-trigger-btn{min-width:44px;min-height:44px}
  .card-action-btn,.card-action-btn-primary,.card-action-btn-ops,.card-action-btn-bus{min-height:36px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
/* Locked Operations Ledger presentation. Operational state and commands remain owned by the CRM. */
:root{--bg:#101c17;--surface:#192a22;--surface-alt:#243e30;--surface-raised:#294535;--text:#e8f0eb;--text-muted:#b2c6bb;--primary:#43c08c;--primary-light:#243e30;--border:#3b5145;--border-strong:#6e897b;--radius:4px;font-variant-numeric:tabular-nums}
html.theme-light{--bg:#f3f7f5;--surface:#fff;--surface-alt:#e1f2e8;--surface-raised:#edf6f0;--text:#172b22;--text-muted:#4c6558;--primary:#167348;--primary-light:#e1f2e8;--border:#ccdcd2;--border-strong:#8aa697}
body{background:var(--bg);line-height:1.5}html.theme-light .app-main{background:var(--bg)}
.app-nav,html.theme-light .app-nav{background:#101c17;border-right:1px solid #3b5145;color:#e8f0eb;width:232px;padding:24px 16px}
.app-nav .nav-item{min-height:48px;padding:12px;border:0;border-radius:4px;color:#b2c6bb;font-size:14px}
.app-nav .nav-item.active{background:#243e30;color:#a5edc8;border:0}
.app-nav .nav-item::before{display:none}
.app-nav .cs-area{margin:16px 0 0;padding:16px 0;border-top:1px solid #3b5145;background:transparent}
.app-nav .cs-label{color:#b2c6bb;font-size:11px;letter-spacing:.6px}
.app-nav .cs-input,.app-nav .cs-btn{background:#192a22;color:#e8f0eb;border-color:#6e897b;border-radius:4px}
.app-nav .cs-result-item{color:#e8f0eb}
.ledger-eyebrow{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.6px;color:var(--text-muted)}
.btn,.qb-trigger-btn{border-radius:4px;box-shadow:none}html.theme-light .week-nav{margin:0 24px 12px;padding:8px 0;background:transparent;border:0;border-radius:0;box-shadow:none;backdrop-filter:none}html.theme-light .day-col,html.theme-light .day-col.is-today{background:var(--surface);border-color:var(--border);border-radius:4px;box-shadow:none}
.day-date{font-size:18px;letter-spacing:0}
.departure-card,html.theme-light .departure-card{padding:10px 8px;background:var(--bg);border-radius:4px;border-color:var(--border);box-shadow:none}
.departure-card.ledger-selected{border-color:var(--primary);box-shadow:inset 3px 0 var(--primary)}
.card-action-row{gap:4px;flex-wrap:wrap}.card-action-btn{border-radius:4px}
.pickup-view,.customer-view,.comms-view,.mkt-view,.tp-view,.mg-view{max-width:none;padding:0 24px 24px}.planner-section,.cv-sec,.rev-filter-form,.rev-currency-group,.comms-section,.mkt-section,.mg-product{background:var(--surface);border:1px solid var(--border);border-radius:4px;box-shadow:none}
.ledger-departure-section{border:1px solid var(--border);background:var(--surface);border-radius:4px;margin-bottom:20px;overflow:hidden}
.ledger-departure-section .dep-heading{padding:12px 16px;margin:0;border-bottom:1px solid var(--border)}
.ledger-departure-section .bookings-table-wrap{margin:0}.ledger-departure-section .bookings-table{border:0;border-radius:0;min-width:760px}
.ledger-guest-link{border:0;background:none;color:var(--text);font:inherit;font-weight:600;padding:0;text-align:left;text-decoration:underline;text-decoration-color:var(--border);text-underline-offset:3px;cursor:pointer}
.ledger-secondary{display:block;color:var(--text-muted);font-size:11px}
.ledger-header-search{display:flex;align-items:center;gap:8px;flex:1;max-width:560px;margin-left:auto}.ledger-header-search input{width:100%;min-width:0;min-height:40px;background:var(--bg);color:var(--text);border:1px solid var(--border-strong);border-radius:4px;padding:8px 12px}.ledger-header-search label{flex:1;min-width:0}.ledger-header-search .btn{min-height:40px}.app-header .search-toggle{margin-left:0}
.bookings-table th{font-size:11px;background:var(--bg);padding:8px}.bookings-table td{font-size:13px;padding:8px;vertical-align:middle;line-height:1.5}
.row-critical,.row-unassigned{background:var(--warning-bg)}
.cv-sec-title{font-size:12px;color:var(--text);letter-spacing:.5px}.cv-grid{gap:20px 16px}
.mkt-section,.comms-section{padding:20px}
.mg-product-hdr{background:var(--surface);padding:20px}.mg-product-name{font-size:20px;font-weight:600}
.mg-product-id{font-size:12px}.mkt-tab,.comms-tab,.tp-tab{border-radius:0;font-size:14px}
.ledger-experiences{display:grid;grid-template-columns:256px minmax(0,1fr);gap:24px;align-items:start}
.ledger-experience-list{display:grid;gap:12px}.ledger-experience-choice{display:grid;gap:8px;padding:16px;text-align:left;white-space:normal;min-height:80px;font-size:16px;font-weight:600}
.ledger-experience-choice[aria-pressed=true]{border-color:var(--primary);background:var(--primary-light)}
.ledger-experience-detail{min-width:0}.mg-view>.mg-title{font-size:20px}
.tp-cards{gap:0;border:1px solid var(--border);border-radius:4px;overflow:hidden;grid-template-columns:repeat(auto-fit,minmax(155px,1fr))}
.tp-card{border:0;border-right:1px solid var(--border);border-radius:0;padding:20px}.tp-card-val{font-size:26px;font-weight:650;letter-spacing:-.5px}.tp-card-lbl,.tp-card-sub{font-size:12px;text-transform:none;letter-spacing:0}
.mkt-stat-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,250px));gap:8px;justify-content:start;align-items:start}.mkt-stat{display:flex;flex-direction:column;gap:2px;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-radius:8px;min-width:0}.mkt-stat-val{font-size:20px}.mkt-stat-lbl{font-size:12px;text-transform:none;letter-spacing:0}
.customer-view{display:block}.customer-view>.cv-sec{padding:20px}.customer-view .cv-val{overflow-wrap:anywhere}
.nav-item{display:flex;align-items:center;gap:12px}.ledger-nav-icon{width:20px;height:20px;flex:none}.card-name .ledger-vehicle-icon{width:20px;height:20px;margin-right:4px}
.ledger-warning-icon{display:inline-block;width:14px;height:14px;vertical-align:-2px;margin-right:4px;flex:none}.ledger-calendar-head .ledger-eyebrow{display:none}
.ledger-attention-filter{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:14px}.ledger-attention-filter select{min-height:40px;padding:4px 8px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text);font:inherit;font-size:16px}
.ledger-profile-head>[data-ledger-customer-region=identity]>.cv-sec{border:0;padding:0;margin-bottom:16px}
.ledger-customer-search{margin:0 24px 20px;padding:20px;background:var(--surface);border:1px solid var(--border);border-radius:4px}
.ledger-customer-search .cs-area{padding:0;margin:0;border:0}.ledger-customer-search .cs-label{font-size:16px;text-transform:none;letter-spacing:0;color:var(--text)}
.ledger-customer-search .cs-input{width:100%;min-height:44px;font-size:16px}.ledger-customer-search .cs-btn{min-height:44px;padding:8px 20px}
.ledger-customer-search .cs-results{max-height:none;margin-top:20px;border:1px solid var(--border)}.ledger-customer-search .cs-result-item{padding:16px;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px;border-bottom:1px solid var(--border)}
.ledger-customer-search .cs-result-name{font-size:16px}.ledger-customer-search .cs-result-meta{font-size:14px}
.cs-filters{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.cs-filter-hint{margin:0;font-size:12px;color:var(--text-muted)}.cs-filters .cs-state{padding:0}
.ledger-customer-search .cs-filters{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) auto;gap:12px;align-items:end;margin:16px 0 0}
.ledger-customer-search .cs-filters .rev-filter-input{width:100%;min-height:44px;height:auto;font-size:16px}.ledger-customer-search .cs-filters .rev-filter-lbl{font-size:13px;text-transform:none;letter-spacing:0;color:var(--text)}
.ledger-customer-search .cs-filter-hint,.ledger-customer-search .cs-filters .cs-state{grid-column:1/-1;font-size:14px}
.ledger-departure-section .bookings-table td{font-size:16px;line-height:1.5;padding:6px 8px}.ledger-departure-section .bookings-table th{font-size:12px}.ledger-secondary{font-size:12px}
.ledger-experience-search{display:grid;gap:8px;margin-bottom:16px;font-size:14px}.ledger-experience-search input{min-height:44px;width:100%;padding:8px 12px;border:1px solid var(--border-strong);border-radius:4px;background:var(--surface);color:var(--text);font:inherit}
.ledger-experience-tabs{display:flex;flex-wrap:wrap;gap:8px;padding:16px;border-bottom:1px solid var(--border)}.ledger-experience-tabs button[aria-pressed=true]{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}
.departure-card:focus-visible,.cs-result-item:focus-visible{outline:3px solid var(--focus-ring);outline-offset:-3px}
.drawer:not(.open){visibility:hidden}
.qb-drawer{visibility:hidden;transition:transform .22s cubic-bezier(.4,0,.2,1),visibility 0s linear .22s}
.qb-drawer.open{visibility:visible;transition-delay:0s}
.drawer-close,.qb-close,.inv-panel-close{min-width:44px;min-height:44px}
@media(max-width:800px){.app-nav{visibility:hidden;transition:transform .2s ease,visibility 0s linear .2s}.app-nav.nav-open{visibility:visible;transition-delay:0s}.nav-hamburger,.app-header .qb-trigger-btn{min-width:44px;min-height:44px}}
.ledger-experience-panel[hidden]{display:none}.ledger-report-detail{border:1px solid var(--border);border-radius:4px;background:var(--surface);margin-bottom:12px}.ledger-report-detail>summary{padding:16px;font-size:16px;font-weight:600;cursor:pointer}.ledger-report-detail>.mkt-section{border:0;margin:0;padding-top:0}.ledger-report-detail>summary:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.ledger-day-toolbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:8px 0;border:0;background:transparent}
.ledger-day-toolbar .pickup-summary{gap:16px;margin-left:auto}.ledger-day-toolbar .pickup-stat{flex-direction:row;align-items:center;gap:6px}.ledger-day-toolbar .pickup-stat-value{font-size:16px}.ledger-day-toolbar .pickup-stat-label{font-size:14px}
.ledger-vehicle-icon{display:inline-block;width:24px;height:24px;flex:none;vertical-align:middle}.ledger-experience-identity{display:flex;align-items:center;gap:8px;font-size:14px}
.ledger-experience-facts{display:grid;gap:6px}.ledger-experience-choice .ledger-secondary,.ledger-experience-facts .ledger-secondary{font-size:14px;font-weight:400}
.customer-view.ledger-customer-profile{display:block}.ledger-profile-head{border:1px solid var(--border);border-radius:8px;padding:24px;background:var(--surface);margin-bottom:24px}.ledger-profile-head>.cv-sec{border:0;padding:0;margin-bottom:16px}.ledger-profile-head>.cv-sec:last-child{margin-bottom:0}.ledger-profile-head .cv-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ledger-profile-head h2{font-size:28px}
.ledger-profile-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:24px;margin-bottom:24px}.ledger-profile-bookings{display:grid;gap:8px;align-content:start}.ledger-profile-bookings h2{font-size:20px;margin-bottom:8px}
.ledger-profile-booking{display:grid;gap:8px;font:inherit;font-size:16px;line-height:1.5;text-align:left;padding:16px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:4px;cursor:pointer;overflow-wrap:anywhere}.ledger-profile-booking>span{font-size:14px;color:var(--text-muted)}.ledger-profile-booking[aria-pressed=true]{border-color:var(--primary);background:var(--primary-light)}
.ledger-profile-detail{min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:24px}.ledger-profile-detail>.cv-sec{padding:0;border:0;margin-bottom:24px}.ledger-profile-detail>.cv-sec+.cv-sec{padding-top:16px;border-top:1px solid var(--border)}.ledger-profile-detail .cv-sec-title{font-size:20px;text-transform:none;letter-spacing:0;border:0}.ledger-profile-detail .cv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ledger-profile-detail .cv-val{font-size:16px}.ledger-profile-detail .cv-lbl{font-size:14px;text-transform:none}
.ledger-marketing-details{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin-block:24px}.ledger-marketing-details h2{font-size:24px}.ledger-marketing-details>p{font-size:14px;color:var(--text-muted)}.ledger-marketing-details .ledger-report-detail{margin:0;border-radius:8px}.ledger-report-detail>summary{padding:16px 24px}.ledger-report-detail>summary .ledger-secondary{font-size:14px;font-weight:400;margin-top:4px}.ledger-report-detail>.mkt-filter-bar{border:0}.ledger-report-detail>.mkt-section{padding:20px 24px}.ledger-report-detail .mkt-section-title{font-size:20px}.ledger-marketing-details .mkt-table td{padding-block:12px}
.ledger-marketing-quick{display:grid;gap:12px;margin-block:16px}.ledger-marketing-summary-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.ledger-marketing-summary-heading h2,.ledger-marketing-panel h2{font-size:20px}.ledger-marketing-quick .mkt-ov-cards{grid-template-columns:repeat(auto-fill,minmax(144px,168px));gap:8px;margin:0;justify-content:start;align-items:stretch}.ledger-marketing-quick .mkt-ov-card{display:flex;flex-direction:column;justify-content:flex-start;gap:2px;min-height:172px;border:1px solid var(--border);border-radius:8px;padding:12px 14px;min-width:0;overflow-wrap:anywhere}.ledger-marketing-quick .mkt-ov-card-lbl{font-size:14px;text-transform:none;letter-spacing:0}.ledger-marketing-quick .mkt-ov-card-val{font-size:24px;font-weight:650}.ledger-marketing-quick .mkt-ov-card-sub{font-size:12px}
.ledger-marketing-visuals{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;margin-block:16px}.ledger-marketing-panel{display:grid;gap:12px;align-content:start;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:8px;min-width:0}.ledger-marketing-channel{display:grid;gap:8px}.ledger-marketing-channel>div{display:flex;justify-content:space-between;gap:8px;font-size:14px;flex-wrap:wrap}.ledger-marketing-channel meter{width:100%;height:12px;appearance:none;border:0;background:var(--bg);border-radius:4px}.ledger-marketing-channel meter::-webkit-meter-bar{border:0;background:var(--bg);border-radius:4px}.ledger-marketing-channel meter::-webkit-meter-optimum-value{background:var(--primary);border-radius:4px}.ledger-marketing-channel meter::-moz-meter-bar{background:var(--primary);border-radius:4px}
.tp-header .tp-selected-day{margin:0;padding:0;border:0}.tp-header .tp-selected-day-title{font-size:16px}.tp-header .tp-selected-day-note{font-size:12px}
@media(max-width:1023px){.ledger-marketing-visuals{grid-template-columns:1fr}}
@media(max-width:767px){.ledger-marketing-quick .mkt-ov-card{padding:12px}}
@media(max-width:399px){.ledger-marketing-quick .mkt-ov-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1100px){.ledger-departure-section .bookings-table{min-width:0;display:block}.ledger-departure-section .bookings-table thead{display:none}.ledger-departure-section .bookings-table tbody{display:block}.ledger-departure-section .bookings-table tr{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:8px;border-bottom:1px solid var(--border)}.ledger-departure-section .bookings-table td{display:block;min-width:0;border:0;padding:8px;text-align:left;overflow-wrap:anywhere}.ledger-departure-section .bookings-table td::before{content:attr(data-label);display:block;color:var(--text-muted);font-size:12px;font-weight:400;margin-bottom:4px}.ledger-departure-section .bookings-table td[colspan]{grid-column:1/-1}.ledger-departure-section .pickup-address-edit{min-width:0;overflow-wrap:anywhere;white-space:normal}.ledger-profile-layout{grid-template-columns:1fr}.ledger-profile-head .cv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.ledger-departure-section .bookings-table tr{grid-template-columns:repeat(2,minmax(0,1fr))}.ledger-day-toolbar .pickup-summary{margin-left:0;gap:8px}.ledger-profile-head,.ledger-profile-detail{padding:16px}.ledger-profile-head .cv-grid,.ledger-profile-detail .cv-grid{grid-template-columns:1fr}.ledger-profile-head h2{font-size:24px}.ledger-guest-link{min-height:44px}.ledger-report-detail>summary,.ledger-report-detail>.mkt-section{padding:16px}}
@media(max-width:700px){.ledger-customer-search .cs-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.ledger-customer-search .cs-filter-tour,.ledger-customer-search .cs-clear{grid-column:1/-1}.ledger-customer-search{margin-inline:16px}.ledger-customer-search .cs-result-item{grid-template-columns:1fr;gap:4px}}
@media(max-width:1023px){.ledger-experiences,.customer-view{display:block}.ledger-experience-list{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:16px}.customer-view>.cv-sec{margin-bottom:16px}}
.ledger-empty{padding:32px;border:1px dashed var(--border-strong);background:var(--surface);text-align:left}.ledger-empty h2{font-size:22px;margin-bottom:8px}
@media(min-width:1600px){.departure-card{padding:12px}}
@media(max-width:700px){.ledger-header-search{order:6;flex-basis:100%;max-width:none}.app-nav{width:232px;padding:16px}.departure-card{padding:8px}.channel-chips{display:flex}.card-action-row{display:flex}.card-action-btn{width:auto;min-width:36px;font-size:11px}.pickup-view,.customer-view,.comms-view,.mkt-view,.tp-view,.mg-view{padding:0 16px 16px}}
.day-empty{opacity:1;font-size:12px}
#tps-retry,#tps-add,.mkt-ov-period-btn.active{color:#062117}
html.theme-light #tps-retry,html.theme-light #tps-add,html.theme-light .mkt-ov-period-btn.active{color:#fff}
.missing-badge{background:#493916;color:#ffe09b}.mg-mappings-wrap:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
/* Approved shared/ledger-clarity.css breakpoints, mapped to CRM markup. */
.departure-card{padding:12px}
.ledger-day-toolbar{margin:0 24px 12px}.ledger-day-toolbar .pickup-summary{margin-bottom:0}
.ledger-calendar-head+.ledger-day-toolbar{padding-top:0}
.mg-view>.mg-title,.mg-view>.mg-explainer{display:none}
@media(min-width:1024px){.app-nav,html.theme-light .app-nav{position:fixed;top:0;width:192px;height:100dvh;padding:32px 16px}.ledger-header-search{margin-left:0;max-width:none}.app-header .search-toggle{margin-left:auto}}
@media(max-width:767px){.ledger-day-toolbar{margin-inline:16px}}
@media(max-width:479px){.departure-card{min-height:0}}
@media(min-width:768px){#drawer{top:50%;left:50%;right:auto;bottom:auto;width:min(880px,calc(100vw - 48px));height:auto;max-height:calc(100dvh - 48px);transform:translate(-50%,-48%);opacity:0;visibility:hidden;pointer-events:none;border:1px solid var(--border);border-radius:8px}#drawer.open{transform:translate(-50%,-50%);opacity:1;visibility:visible;pointer-events:auto}#drawer .drawer-body{max-height:calc(100dvh - 140px);overflow-y:auto}}
html.theme-light .app-nav .cs-input,html.theme-light .app-nav .cs-btn{background:#192a22;color:#e8f0eb;border-color:#6e897b}
html.theme-light .status-UNASSIGNED,html.theme-light .mg-warning{color:#805100}
html.theme-light .comms-tab,html.theme-light .mkt-tab{color:#354d40}
html.theme-light .mkt-ov-card-val-blue{color:#176782}
.card-action-row .card-action-label{display:inline}
.card-action-row .card-action-compact{display:none}
@media(max-width:767px){.card-action-row .card-action-btn{min-height:44px;font-size:12px;padding:6px 10px}}
/* BEGIN approved Ledger shared styles */

/* OpenDesign shared/app.css: approved source stylesheet. */
/* OD-LAYOUT-PRIMITIVES v1 — structure only */
@layer od-layout {
  :where(.od-stack,.od-row,.od-row-top,.od-cluster,.od-grid,.od-field,.od-stat,.od-cell,.od-tile)>:where(*){min-width:0}
  .od-stack{display:flex;flex-direction:column;gap:var(--od-gap,8px)}
  .od-row{display:flex;align-items:center;gap:var(--od-gap,8px)}
  .od-row-top{display:flex;align-items:flex-start;gap:var(--od-gap,8px)}
  .od-cluster{display:flex;flex-wrap:wrap;align-items:center;gap:var(--od-gap,8px)}
  .od-fill{flex:1 1 0;min-width:0}.od-fixed{flex:none}
  .od-grid{display:grid;gap:var(--od-gap,12px);grid-template-columns:repeat(var(--od-cols,3),minmax(0,1fr))}
  .od-stat,.od-field,.od-cell{display:grid;gap:var(--od-gap,2px)}
  :where(.od-stat,.od-field,.od-cell)>:where(*){display:block}
  .od-tile{display:grid;grid-template-rows:auto 1fr}.od-tile>:where(*){display:block}
  .od-media{display:block;width:100%;height:auto;aspect-ratio:var(--od-ratio,auto)}.od-media-cover{object-fit:cover}
  .od-truncate{display:block;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
  .od-clamp-2,.od-clamp-3{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
  .od-clamp-2{-webkit-line-clamp:2}.od-clamp-3{-webkit-line-clamp:3}.od-lines-2{min-height:calc(2 * 1.4em)}
  .od-nowrap{white-space:nowrap}.od-keep{word-break:keep-all;overflow-wrap:anywhere}
  .od-screen{display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100%}.od-scroll{overflow-y:auto;overscroll-behavior:contain;min-height:0}
  .od-rail{display:flex;gap:var(--od-gap,8px);overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;padding-inline:var(--od-rail-pad,16px);scroll-padding-inline:var(--od-rail-pad,16px)}
  .od-rail::-webkit-scrollbar{display:none}.od-rail>:where(*){flex:none;scroll-snap-align:start}.od-rail>:where(:last-child){margin-inline-end:var(--od-rail-pad,16px)}
  .od-spacer{flex:none;visibility:hidden;pointer-events:none}.od-touch{min-width:44px;min-height:44px}
}
/* /OD-LAYOUT-PRIMITIVES v1 */
:root{color-scheme:light;--bg:#f4f6f8;--surface:#fff;--text:#17212e;--muted:#536273;--accent:#174c75;--nav:#182534;--line:#dbe1e6;--soft:#eaf1f7;--success:#166534;--warning:#854d0e;--error:#991b1b;--radius:4px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--body:16px;--small:14px;--title:32px;--display:ui-monospace,'DejaVu Sans Mono',monospace;--body-font:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--enter:180ms;--exit:120ms}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:var(--body)/1.5 var(--body-font);font-variant-numeric:tabular-nums}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}a{color:var(--accent)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #1579bb;outline-offset:3px}button{color:inherit}h1,h2,h3,p{margin:0}h1{font-family:var(--display);font-size:clamp(24px,2.4vw,32px);font-weight:600;letter-spacing:-1.2px;line-height:1.2}h2{font-size:20px;line-height:1.3}h3{font-size:16px}small,.small{font-size:var(--small)}.muted{color:var(--muted)}.eyebrow{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1.6px}.mono{font-family:ui-monospace,monospace}.icon{width:20px;height:20px;display:block;flex:none;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.app-shell{display:grid;grid-template-columns:192px minmax(0,1fr);min-height:100vh}.navigation{background:var(--nav);color:#f3f6fa;display:flex;flex-direction:column;padding:32px 16px;gap:40px}.brand{display:flex;align-items:center;gap:12px;font-weight:700;font-size:18px;letter-spacing:-.5px}.nav-label{color:#b8c6d1;font-size:12px;text-transform:uppercase;letter-spacing:1.6px;padding:0 12px;margin-bottom:12px}.nav-items{display:grid;gap:8px}.nav-button{display:flex;align-items:center;gap:12px;width:100%;padding:12px;border:0;background:transparent;border-radius:var(--radius);color:#cbd6e1;text-align:left;min-height:48px;font-size:14px;font-weight:550}.nav-button.active{background:#314457;color:white}.nav-foot{margin-top:auto;display:grid;gap:24px}.user{display:flex;gap:12px;align-items:center;font-size:14px}.avatar{width:36px;height:36px;display:grid;place-items:center;flex:none;border-radius:50%;background:#405366;color:#fff;font-weight:650;font-size:12px}.user small{font-size:12px;display:block;color:#becbd7}.main{min-width:0}.utility{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 32px;border-bottom:1px solid var(--line);background:var(--surface)}.breadcrumb{font-size:14px;color:var(--muted)}.breadcrumb strong{font-weight:600;color:var(--text)}.local-label{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.local-dot{width:8px;height:8px;background:#52766b;border-radius:50%}.page-head{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:32px 32px 24px}.page-head p{margin-top:8px;color:var(--muted);font-size:14px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);font-weight:600;font-size:14px;text-decoration:none}.button.primary{background:var(--accent);border-color:var(--accent);color:white}.button.quiet{background:transparent}.summary{margin:0 32px 24px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);background:var(--surface);border-radius:var(--radius)}.summary .od-stat{padding:16px 24px;--od-gap:4px;border-right:1px solid var(--line)}.summary .od-stat:last-child{border:0}.stat-value.warning{color:var(--warning)}.search-field{flex:1}.field{display:grid;gap:4px;min-width:0;font-size:12px;font-weight:600;color:var(--muted)}input,select,textarea{min-width:0;width:100%;border:1px solid #acb9c4;border-radius:var(--radius);background:var(--surface);color:var(--text);padding:10px 12px;min-height:44px;font-size:14px;line-height:1.5}input[type=date]{min-width:0}textarea{resize:vertical;min-height:96px}.search-wrap{position:relative}.search-wrap .icon{position:absolute;left:12px;top:12px;color:var(--muted)}.search-wrap input{padding-left:40px}.filters{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr)) repeat(3,minmax(128px,1fr)) auto;gap:12px;align-items:end}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 352px;gap:24px;margin:0 32px 32px;align-items:start}.list-head .muted{font-size:12px}.table-wrap{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius)}table{width:100%;border-collapse:collapse;table-layout:fixed}thead{background:#eef2f5}th{text-align:left;font-weight:600;font-size:12px;color:var(--muted);padding:12px 8px;border-bottom:1px solid var(--line)}td{padding:16px 8px;border-bottom:1px solid var(--line);vertical-align:top;font-size:14px}tr:last-child td{border-bottom:0}th:first-child,td:first-child{padding-left:16px}th:last-child,td:last-child{padding-right:16px}.reference{font-family:ui-monospace,monospace;font-size:11px;color:var(--muted)}.status{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;font-size:11px;line-height:1.5;white-space:nowrap;border-radius:4px;font-weight:650;width:max-content;max-width:100%}.status-symbol{display:inline-block;font-family:ui-monospace,monospace;font-weight:700}.status.good{color:#166534;background:#edf7ee}.status.attention{color:#854d0e;background:#fff5d8}.status.issue{color:#991b1b;background:#fdecec}.status.neutral{color:#475569;background:#edf0f3}.status.booking-status{padding:0;background:transparent;font-size:12px}.channel-tag{display:block;font-size:12px;font-weight:550;overflow-wrap:anywhere}.detail-header{padding:24px;border-bottom:1px solid var(--line)}.detail-header .eyebrow{color:var(--muted);font-size:11px}.detail-header h2{font-size:24px;margin-top:8px;letter-spacing:-.6px}.tab{padding:12px 0;border:0;border-bottom:2px solid transparent;min-height:48px;background:none;font-size:14px;font-weight:550;color:var(--muted)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.detail-grid .full{grid-column:1/-1}.detail-field{--od-gap:4px;overflow-wrap:anywhere}.detail-field .label{font-size:12px;color:var(--muted)}.detail-field .value{font-size:14px;font-weight:500}.detail-field .value.large{font-size:20px}.pickup-notice .icon{margin-top:4px}.editor{display:grid;gap:16px}.editor .field{font-size:14px}.form-actions{display:flex;gap:8px;flex-wrap:wrap}[aria-invalid=true]{border-color:var(--error)}.readonly{font-size:14px;color:var(--muted);padding:12px;background:var(--bg)}.audit-list{padding:0;list-style:none;margin:0;display:grid;gap:24px}.audit-list li{border-bottom:1px solid var(--line);padding-bottom:16px}.audit-list strong{display:block;font-size:14px}.audit-list small{display:block;color:var(--muted);font-size:12px;margin-top:4px}.empty{padding:48px 24px;text-align:center;border:1px dashed #acb9c4;background:var(--surface);display:grid;gap:16px;justify-items:center}.empty .icon{width:32px;height:32px;color:var(--muted)}.empty p{max-width:40ch;color:var(--muted);font-size:14px}.group{margin-bottom:24px}.booking-card.selected{background:var(--soft)}.inline-detail .detail-header{padding:16px 24px}.inline-detail .editor,.inline-detail .audit-list{grid-column:1/-1}.inline-detail .editor{max-width:680px}.queue-card.selected{background:var(--soft);box-shadow:inset 3px 0 var(--accent)}.queue-card .name{font-size:16px;font-weight:650}.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-top:16px}
body[data-concept=desk]{--bg:#f1f5f3;--text:#16332d;--muted:#52685e;--accent:#14624e;--nav:#16332d;--soft:#eaf3ee;--line:#d5e2da;--radius:8px;--display:Georgia,'Times New Roman',serif}
[data-concept=desk] .app-shell{display:block}[data-concept=desk] .navigation{padding:16px 40px;flex-direction:row;gap:48px;align-items:center;background:var(--surface);color:var(--text);border-bottom:1px solid var(--line)}[data-concept=desk] .nav-label{display:none}[data-concept=desk] .nav-items{display:flex;gap:16px}[data-concept=desk] .nav-button{color:var(--muted);padding:12px 16px;width:auto}[data-concept=desk] .nav-button.active{background:var(--soft);color:var(--accent)}[data-concept=desk] .nav-button .icon{display:none}[data-concept=desk] .nav-foot{margin:0 0 0 auto;display:flex;align-items:center;gap:24px}[data-concept=desk] .user{display:none}[data-concept=desk] .utility{background:transparent;border:0;padding:16px 48px;max-width:1480px;margin:auto}[data-concept=desk] .page-head{max-width:1480px;margin:auto;padding:16px 48px 32px}[data-concept=desk] h1{font-size:clamp(32px,3.5vw,48px);font-weight:400;letter-spacing:-1.6px}[data-concept=desk] .summary{max-width:1384px;margin:0 48px 32px;background:transparent;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0}[data-concept=desk] .summary .od-stat{padding:24px}[data-concept=desk] .workspace{display:block;margin:0 48px 48px}[data-concept=desk] .table-wrap{border-radius:8px}
body[data-concept=queue]{--bg:#f5f5f6;--text:#25232a;--muted:#665e69;--accent:#8a2944;--nav:#29262e;--soft:#f8edf1;--line:#e1dce2;--display:ui-monospace,'DejaVu Sans Mono',monospace}
[data-concept=queue] .app-shell{grid-template-columns:216px minmax(0,1fr)}[data-concept=queue] .navigation{padding:32px 20px}[data-concept=queue] .nav-button.active{background:#513442}[data-concept=queue] .nav-button{font-size:14px}[data-concept=queue] .page-head{padding-bottom:24px}[data-concept=queue] h1{font-family:var(--body-font);font-size:32px;letter-spacing:-1px}[data-concept=queue] .summary{border:0;background:transparent;margin-bottom:24px;grid-template-columns:repeat(4,minmax(0,1fr))}[data-concept=queue] .summary .od-stat{padding:0 24px;border-color:#d8d0d9}[data-concept=queue] .summary .od-stat:first-child{padding-left:0}[data-concept=queue] .workspace{grid-template-columns:minmax(288px,.8fr) minmax(0,1.25fr)}[data-concept=queue] .detail-header{padding:24px 32px}[data-concept=queue] .detail-header h2{font-size:32px}[data-concept=queue] .detail-grid{gap:24px}[data-concept=queue] .detail-field .value{font-size:16px}[data-concept=queue] .detail-footer .button{justify-self:start;min-width:200px}
@media(hover:hover){.button:hover{background:var(--soft);border-color:var(--accent)}.button.primary:hover{background:var(--nav);color:white}.nav-button:hover{background:#344250;color:white}[data-concept=desk] .nav-button:hover{background:var(--soft);color:var(--accent)}[data-concept=queue] .nav-button:hover{background:#513442}.tab:hover{color:var(--text)}}
@media(min-width:1600px){.workspace{grid-template-columns:minmax(0,1fr) 400px}.reference{font-size:12px}.status{font-size:12px}[data-concept=desk] .summary,[data-concept=desk] .workspace{max-width:1384px;margin-left:auto;margin-right:auto}}
@media(max-width:1279px){.app-shell{grid-template-columns:160px minmax(0,1fr)}.navigation{padding:24px 12px}.brand{font-size:16px;gap:8px}.nav-button{padding:12px 8px;gap:8px;font-size:12px}.utility{padding:12px 24px}.page-head{padding:24px}.summary{margin:0 24px 24px}.summary .od-stat{padding:16px}.filters{grid-template-columns:repeat(3,minmax(0,1fr))}.workspace{margin:0 24px 24px;grid-template-columns:minmax(0,1fr) 320px;gap:16px}.ledger-table thead{display:none}.ledger-table,.ledger-table tbody{display:block}.ledger-table tr{display:grid;grid-template-columns:minmax(0,1fr) 80px;gap:8px;padding:16px;border-bottom:1px solid var(--line)}.ledger-table tr:last-child{border-bottom:0}.ledger-table td{padding:0!important;border:0}.ledger-table td:first-child{grid-column:1}.ledger-table td:nth-child(2){grid-column:1}.ledger-table td:nth-child(3){grid-column:2;grid-row:1;text-align:right}.ledger-table td:nth-child(3):after{content:' guests';font-size:12px}.ledger-table td:nth-child(4){grid-column:2;grid-row:2;text-align:right}.ledger-table td:nth-child(5){grid-column:1}.ledger-table td:nth-child(6){grid-column:2;grid-row:3;justify-self:end}.detail-header{padding:20px}[data-concept=desk] .navigation{gap:24px;padding:16px 24px}[data-concept=desk] .nav-items{gap:8px}[data-concept=desk] .nav-button{padding:8px;font-size:14px}[data-concept=desk] .nav-foot{gap:8px}[data-concept=queue] .app-shell{grid-template-columns:184px minmax(0,1fr)}[data-concept=queue] .navigation{padding:24px 12px}[data-concept=queue] .workspace{grid-template-columns:minmax(240px,.8fr) minmax(0,1fr)}[data-concept=queue] .detail-header{padding:24px}}
@media(max-width:1023px){.app-shell,[data-concept=queue] .app-shell{display:block}.navigation,[data-concept=queue] .navigation{padding:12px 24px;flex-direction:row;align-items:center;gap:24px}.nav-label,.nav-foot .user{display:none}.nav-items{display:flex;gap:8px}.nav-button{width:auto;font-size:12px}.nav-button .icon{display:none}.nav-foot{margin:0 0 0 auto}.nav-foot .back-link{font-size:11px}.brand{white-space:nowrap}.utility{min-height:48px}.workspace{grid-template-columns:minmax(0,1fr) 320px}[data-concept=desk] .navigation{gap:16px}[data-concept=desk] .nav-button{font-size:12px}[data-concept=desk] .utility,[data-concept=desk] .page-head{padding-left:24px;padding-right:24px}[data-concept=desk] .summary,[data-concept=desk] .workspace{margin-left:24px;margin-right:24px}[data-concept=queue] .workspace{grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr)}}
@media(max-width:767px){.navigation,[data-concept=desk] .navigation,[data-concept=queue] .navigation{display:grid;grid-template-columns:1fr auto;gap:12px;padding:16px}.navigation>div:nth-child(2){grid-column:1/-1;grid-row:2}.nav-items,[data-concept=desk] .nav-items{display:flex;flex-wrap:wrap;gap:8px}.nav-button,[data-concept=desk] .nav-button,[data-concept=queue] .nav-button{font-size:12px;padding:8px 12px;min-height:44px}.nav-foot,[data-concept=desk] .nav-foot{grid-column:2;grid-row:1;display:block;margin:0}.brand{font-size:16px}.utility,[data-concept=desk] .utility{padding:12px 16px;align-items:flex-start}.local-label{font-size:10px}.breadcrumb{font-size:12px}.page-head,[data-concept=desk] .page-head{padding:24px 16px;align-items:flex-start;flex-direction:column;gap:16px}.page-head p{font-size:14px;max-width:45ch}.summary,[data-concept=desk] .summary,[data-concept=queue] .summary{margin:0 16px 24px;grid-template-columns:1fr 1fr;gap:0}.summary .od-stat,[data-concept=desk] .summary .od-stat,[data-concept=queue] .summary .od-stat{padding:16px;border:0}.summary .od-stat:nth-child(-n+2){border-bottom:1px solid var(--line)}.summary .od-stat:nth-child(odd){border-right:1px solid var(--line)}.filters{grid-template-columns:1fr 1fr;gap:12px}.filters .button{width:100%}.search-line .button{padding:8px 12px}.workspace,[data-concept=queue] .workspace,[data-concept=desk] .workspace{display:block;margin:0 16px 24px}.workspace>.detail-panel{display:none}body[data-detail-open=true]:not([data-concept=desk]) .workspace>.detail-panel{display:block}body[data-detail-open=true]:not([data-concept=desk]) .workspace>.list-area,body[data-detail-open=true]:not([data-concept=desk]) .summary{display:none}body[data-detail-open=true]:not([data-concept=desk]) .page-head{padding-bottom:16px}.detail-header,[data-concept=queue] .detail-header{padding:24px}.inline-detail .detail-header{padding:16px}.detail-header h2,[data-concept=queue] .detail-header h2{font-size:28px}.detail-grid{gap:16px}.nav-foot .back-link{font-size:12px}input,select,textarea{font-size:16px}}
@media(prefers-reduced-motion:no-preference){@keyframes appear{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}}
/* Calendar-led revision: application context stays above the booking workspace. */
:root{--calendar-gap:8px;--calendar-card-pad:12px;--calendar-accent:#174c75}
.brand.od-field{display:grid;gap:8px;align-items:start;font-size:22px;letter-spacing:-.7px}.navigation{gap:48px}.nav-foot{gap:24px}.nav-button{font-size:14px}.page-head{padding:24px 32px}.page-head .eyebrow{color:var(--muted);font-size:10px;margin-bottom:8px}.page-head h1{font-size:32px}.timezone-label{font-size:12px;color:var(--muted);text-align:right;line-height:1.8}.timezone-label strong{font-weight:500;color:var(--text)}.calendar-region{margin:0 32px 24px}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.calendar-toolbar h2{font-size:18px}.calendar-toolbar .small{font-size:12px}.week-actions{display:flex;align-items:center;gap:8px}.week-jump{font-size:10px;color:var(--muted);margin-left:8px}.week-jump input{font-size:12px;padding:6px 8px;min-height:36px;width:136px}.weekly-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--calendar-gap)}.week-day{min-width:0}.day-heading{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;padding:8px 4px 12px;font-size:12px;color:var(--muted);min-height:44px}.day-heading strong{color:var(--text);font-size:16px;font-weight:600}.day-selected{font-size:9px;line-height:1.5;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.4px}.departure-choice{width:100%;text-align:left;padding:var(--calendar-card-pad);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin-bottom:8px;color:var(--text);--od-gap:4px;cursor:pointer;min-height:136px}.departure-choice strong{font-size:14px;line-height:1.5}.departure-choice.selected{border:2px solid var(--accent);padding:calc(var(--calendar-card-pad) - 1px);background:var(--soft)}.dep-time{font-family:ui-monospace,monospace;font-size:11px;line-height:1.5;color:var(--muted)}.capacity-line{font-size:11px;color:var(--muted);white-space:nowrap}.capacity-line b{font-size:14px;color:var(--text);font-weight:650}.departure-choice progress{display:block;width:100%;height:3px;appearance:none;border:0;border-radius:0;margin:4px 0;background:var(--line);color:var(--accent)}.departure-choice progress::-webkit-progress-bar{background:var(--line)}.departure-choice progress::-webkit-progress-value{background:var(--accent)}.departure-choice progress::-moz-progress-bar{background:var(--accent)}.dep-status{font-size:10px;line-height:1.5;color:var(--muted);white-space:nowrap}.dep-status.needs{color:#854d0e;font-weight:650}.context-main>.eyebrow{font-size:10px;color:var(--muted)}.channel-line{display:flex;gap:8px;flex-wrap:wrap;font-size:11px;color:var(--muted)}.channel-line>span:not(:last-child){padding:4px 8px;background:var(--bg);border:1px solid var(--line);border-radius:4px}.channel-line>span:last-child{align-self:center}.channel-line b{color:var(--text);margin-left:4px}.context-actions .button{white-space:nowrap}.scope-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.scope-panel .button{justify-self:start}.detail-field .value{font-size:16px}.table-wrap td{font-size:16px}.editor input,.editor select,.editor textarea{font-size:16px}.detail-heading .eyebrow{line-height:1.7}
[data-concept=desk] .brand.od-field{font-family:Georgia,serif;font-size:24px;gap:4px}[data-concept=desk] .navigation{gap:40px;padding:20px 40px}[data-concept=desk] .page-head{padding-top:16px;padding-bottom:32px}[data-concept=desk] .page-head h1{font-size:48px}[data-concept=desk] .calendar-region{margin:0 48px 32px}[data-concept=desk] .weekly-grid{--calendar-gap:12px}[data-concept=desk] .day-heading{padding:12px 8px 16px}[data-concept=desk] .day-heading strong{font:24px Georgia,serif}[data-concept=desk] .departure-choice{min-height:148px;padding:16px}[data-concept=desk] .departure-choice.selected{padding:15px;background:#e3eee7}[data-concept=desk] .departure-choice strong{font-size:16px}[data-concept=desk] .dep-time{font-size:12px}[data-concept=desk] .detail-header h2{font-family:Georgia,serif;font-weight:400;font-size:28px}[data-concept=queue] .weekly-grid{gap:0;border:1px solid var(--line);background:var(--surface)}[data-concept=queue] .week-day{border-right:1px solid var(--line);padding:8px}[data-concept=queue] .week-day:last-child{border:0}[data-concept=queue] .day-heading{padding:4px 4px 12px;gap:4px}[data-concept=queue] .departure-choice{border:0;border-radius:0;background:transparent;padding:8px;min-height:112px;--od-gap:0;margin-bottom:4px}[data-concept=queue] .departure-choice.selected{background:var(--soft);outline:1px solid var(--accent);padding:8px}[data-concept=queue] .departure-choice strong{font-size:12px}[data-concept=queue] .departure-choice progress{height:2px}[data-concept=queue] .dep-status{font-size:10px}[data-concept=queue] .nav-button{padding:12px 8px}[data-concept=queue] .page-head h1{font-size:32px}
@media(hover:hover){.departure-choice:hover{border-color:var(--accent);background:var(--soft)}[data-concept=queue] .departure-choice:hover{background:var(--soft)}}
@media(min-width:1600px){[data-concept=desk] .calendar-region{max-width:1384px;margin-left:auto;margin-right:auto}.departure-choice strong{font-size:16px}.capacity-line{font-size:12px}.dep-status{font-size:12px}}
@media(max-width:1279px){.calendar-region{margin-left:24px;margin-right:24px}.calendar-toolbar{align-items:flex-start}.week-jump{display:none}.calendar-toolbar h2{font-size:16px}.departure-choice{--calendar-card-pad:8px}.day-heading{gap:4px}.day-heading strong{font-size:14px}.day-selected{display:none}.selected-day .day-heading{color:var(--accent);font-weight:700}.departure-choice strong{font-size:12px}.capacity-line{font-size:10px}.dep-status{font-size:9px}[data-concept=queue] .week-day{padding:4px}[data-concept=queue] .departure-choice{padding:4px}[data-concept=queue] .departure-choice.selected{padding:4px}.context-actions .button{font-size:12px}.brand.od-field{font-size:20px}[data-concept=desk] .navigation{gap:24px}[data-concept=desk] .calendar-region{margin-left:24px;margin-right:24px}[data-concept=desk] .departure-choice{padding:12px}[data-concept=desk] .departure-choice.selected{padding:11px}[data-concept=desk] .departure-choice strong{font-size:14px}}
@media(max-width:1023px){.brand.od-field{font-size:18px;gap:4px}.navigation{gap:16px}.nav-button{font-size:12px}.calendar-toolbar{flex-wrap:wrap}.week-actions{flex-wrap:wrap}.departure-choice{min-height:128px}[data-concept=desk] .navigation{padding:16px 24px;gap:16px}[data-concept=desk] .brand.od-field{font-size:20px}}
@media(max-width:767px){.page-head{padding:24px 16px}.page-head h1,[data-concept=queue] .page-head h1{font-size:28px}[data-concept=desk] .page-head h1{font-size:36px}.timezone-label{text-align:left}.calendar-region,[data-concept=desk] .calendar-region{margin-left:16px;margin-right:16px}.weekly-grid,[data-concept=desk] .weekly-grid,[data-concept=queue] .weekly-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border:0;background:transparent}.week-day,[data-concept=queue] .week-day{padding:12px;border:1px solid var(--line)!important;background:var(--surface);border-radius:var(--radius)}.selected-day{outline:2px solid var(--accent)}.departure-choice,[data-concept=desk] .departure-choice,[data-concept=queue] .departure-choice{min-height:132px;padding:12px;border:1px solid var(--line);background:var(--bg)}.departure-choice.selected,[data-concept=desk] .departure-choice.selected,[data-concept=queue] .departure-choice.selected{padding:11px;border:2px solid var(--accent);outline:0;background:var(--soft)}.departure-choice strong,[data-concept=desk] .departure-choice strong,[data-concept=queue] .departure-choice strong{font-size:14px}.dep-status,[data-concept=queue] .dep-status{font-size:11px}.capacity-line{font-size:12px}.day-heading strong{font-size:18px}.day-selected{display:block;font-size:9px}.context-actions .button{font-size:14px}.calendar-toolbar h2{font-size:18px}.week-actions{gap:8px}.calendar-toolbar{gap:16px}.readiness-row .button{justify-self:start}body[data-detail-open=true]:not([data-concept=desk]) .calendar-region{display:none}.navigation,[data-concept=desk] .navigation,[data-concept=queue] .navigation{padding:16px}.page-head .eyebrow{font-size:10px}.channel-line{font-size:12px}}
@media(max-width:399px){.weekly-grid,[data-concept=desk] .weekly-grid,[data-concept=queue] .weekly-grid{grid-template-columns:1fr}.week-day{display:grid;grid-template-columns:1fr 1fr;gap:8px}.week-day .day-heading{grid-column:1/-1}.departure-choice{margin:0}}

/* OpenDesign shared/extension.css: approved source stylesheet. */
.brand-logo{display:block;width:76px;height:auto;aspect-ratio:220/236;object-fit:contain}.logo-backing{display:block;width:max-content;padding:8px;background:#101c17;border-radius:4px}.theme-toggle{display:inline-flex;justify-content:center;align-items:center;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--text);padding:8px 12px;min-height:44px;cursor:pointer;font:600 14px/1.5 var(--body-font,system-ui);white-space:nowrap}.utility-tools{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.report-filters .field{flex:1;min-width:160px;font-size:14px}.experience-list{display:grid;gap:24px}.experience-header .eyebrow{font-size:10px;color:var(--muted)}.catalog-form .field{font-size:14px}.catalog-form .form-actions{grid-column:1/-1}
html:not(.theme-light) body,html:not(.theme-light) body[data-concept=ledger]{--bg:#101820;--surface:#18232e;--text:#e8eef4;--muted:#b2bfcb;--accent:#88c4ef;--nav:#101820;--line:#394958;--soft:#20374b;--success:#a3e0b4;--warning:#f4d388;--error:#ffb6b6;--calendar-accent:#88c4ef;background:var(--bg);color:var(--text)}
html:not(.theme-light) body[data-concept=desk]{--bg:#101c17;--surface:#192a22;--text:#e8f0eb;--muted:#b2c6bb;--accent:#87d3b0;--nav:#101c17;--line:#3b5145;--soft:#243e30}
html:not(.theme-light) body[data-concept=queue]{--bg:#19161d;--surface:#27222c;--text:#f0eaf2;--muted:#c4b8ca;--accent:#eda4bc;--nav:#19161d;--line:#514456;--soft:#432b37}
html:not(.theme-light) .navigation{background:var(--nav);border-right:1px solid var(--line)}html:not(.theme-light) .nav-button{color:var(--muted)}html:not(.theme-light) .nav-button.active{background:var(--soft);color:var(--text)}html:not(.theme-light) .back-link,html:not(.theme-light) .nav-caption{color:var(--muted)}html:not(.theme-light) .avatar{background:var(--soft);color:var(--text)}html:not(.theme-light) .nav-label,html:not(.theme-light) .user small{color:var(--muted)}html:not(.theme-light) .utility{background:var(--surface)}html:not(.theme-light) .button.primary{background:var(--accent);color:var(--bg);border-color:var(--accent)}html:not(.theme-light) .button.primary:disabled{opacity:.55}html:not(.theme-light) input,html:not(.theme-light) select,html:not(.theme-light) textarea{background:var(--bg);color:var(--text);border-color:#71818d}html:not(.theme-light) input::placeholder,html:not(.theme-light) textarea::placeholder{color:var(--muted);opacity:1}html:not(.theme-light) thead,html:not(.theme-light) th{background:var(--soft);color:var(--muted)}html:not(.theme-light) .status.good{background:#183e2a;color:#a7ebba}html:not(.theme-light) .status.attention{background:#49391b;color:#f9d58c}html:not(.theme-light) .status.issue{background:#4b252b;color:#ffc1c6}html:not(.theme-light) .status.neutral{background:#37424d;color:#dfe7ed}html:not(.theme-light) .status.booking-status{background:transparent}html:not(.theme-light) .pickup-notice{background:#382c18;border-color:#8e713d;color:#f9d58c}html:not(.theme-light) .feedback{background:#183e2a;border-color:#487f5a;color:#b7ebc7}html:not(.theme-light) .dep-status.needs{color:#f9d58c}html:not(.theme-light) .departure-choice,html:not(.theme-light) .week-day{background:var(--surface)}html:not(.theme-light) .departure-choice.selected{background:var(--soft);border-color:var(--accent)}html:not(.theme-light) .field-error,html:not(.theme-light) .filters-error{color:#ffc1c6}html:not(.theme-light) .scope-panel{background:var(--surface)}html:not(.theme-light) .queue-card,html:not(.theme-light) .booking-card{background:var(--surface)}html:not(.theme-light) .queue-card.selected,html:not(.theme-light) .booking-card.selected{background:var(--soft)}html:not(.theme-light) .skip{background:var(--surface);color:var(--text)}html:not(.theme-light) :focus-visible{outline-color:#b5e0ff}
[data-concept=desk] .navigation{flex-wrap:wrap;gap:24px}[data-concept=desk] .navigation .logo-backing{padding:4px}[data-concept=desk] .brand-logo{width:48px}[data-concept=desk] .nav-items{flex-wrap:wrap;gap:8px}[data-concept=desk] .nav-button{font-size:14px;padding:8px 12px}[data-concept=desk] .nav-foot{margin-left:auto}.navigation .nav-items{gap:8px}.theme-toggle:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
@media(hover:hover){html:not(.theme-light) .button:hover,html:not(.theme-light) .theme-toggle:hover,html:not(.theme-light) .nav-button:hover{background:var(--soft);color:var(--text)}html:not(.theme-light) .button.primary:hover{background:var(--text);color:var(--bg)}html:not(.theme-light) .departure-choice:hover{background:var(--soft)}}
@media(max-width:1023px){.brand-logo{width:52px}.navigation,.navigation[data-concept=queue]{flex-wrap:wrap}.nav-items{flex-wrap:wrap}.utility-tools{gap:8px}}
@media(max-width:767px){.report-filters .field{min-width:120px}.utility{flex-wrap:wrap}.utility-tools{width:100%;justify-content:space-between}.local-label{font-size:12px}.navigation>div:nth-child(2){width:100%}[data-concept=desk] .navigation{display:grid;grid-template-columns:1fr auto}.nav-button{font-size:14px!important}.brand-logo{width:56px}.experience-header .status{font-size:12px}}

/* OpenDesign shared/ledger-clarity.css: approved source stylesheet. */
/* Operations Ledger: readable data hierarchy, scoped through its entry page. */
.departure-choice .departure-type{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.departure-type .icon{display:block;flex:none;width:28px;height:28px;color:var(--accent);stroke-width:1.75}
body[data-concept=ledger]{--data-small:14px;--data-body:16px;--calendar-card-pad:12px;font-variant-numeric:tabular-nums}
.nav-button{font-size:var(--data-body);line-height:1.5}.nav-label,.user small,.local-label,.breadcrumb{font-size:var(--data-small)}
.page-head p{font-size:var(--data-body);max-width:68ch;line-height:1.6}.page-head .eyebrow,.context-main>.eyebrow,.detail-header .eyebrow{font-size:var(--data-small);letter-spacing:.6px}
.timezone-label,.calendar-toolbar .small,.week-jump,.day-heading,.day-selected{font-size:var(--data-small)}
.calendar-toolbar h2{font-size:22px}.calendar-toolbar{flex-wrap:wrap}.week-actions{flex-wrap:wrap}.week-jump{display:grid}.week-jump input{font-size:var(--data-body);min-height:44px;width:160px}
.weekly-grid{gap:12px}.day-heading{gap:8px;min-height:64px;align-content:center}.day-heading strong{font-size:18px}.day-selected{display:block;text-transform:none;letter-spacing:0}
.departure-choice{--od-gap:8px;min-height:176px;padding:12px}.departure-choice.selected{padding:11px;box-shadow:inset 0 0 0 1px var(--accent)}
.departure-choice strong{font-size:var(--data-body);line-height:1.5}.dep-time{font-size:var(--data-body);color:var(--text);font-weight:600}.capacity-line,.dep-status{font-size:var(--data-small)}.capacity-line b{font-size:18px}.departure-choice progress{height:6px;margin:0}.selected-day .day-heading{color:var(--accent)}.channel-line{font-size:var(--data-small);gap:8px}.context-actions .button{font-size:var(--data-small)}.tab,.button{font-size:var(--data-body)}.scope-tab.active,.tab.active{border-bottom-width:3px}.field{font-size:var(--data-small)}.field{gap:8px}input,select,textarea{font-size:var(--data-body)}.filters{gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.filters>.button{justify-self:start}
.workspace{grid-template-columns:minmax(0,1fr) 368px;gap:24px}.list-head .muted{font-size:var(--data-small)}
.ledger-table th{font-size:var(--data-small);color:var(--text);padding-top:16px;padding-bottom:16px}.ledger-table td{padding-top:20px;padding-bottom:20px;line-height:1.6}.reference,.channel-tag{font-size:var(--data-small);line-height:1.6}.reference{letter-spacing:.2px}.status,.status.booking-status{font-size:var(--data-small);gap:4px}.status.booking-status{padding:4px 0}
.detail-header{padding:24px}.detail-header h2{font-size:28px;line-height:1.3;overflow-wrap:anywhere}.detail-field .label{font-size:var(--data-small)}.detail-field .value{font-size:var(--data-body);line-height:1.6}.detail-field .value.large{font-size:24px}.detail-grid{gap:20px 16px}.audit-list small{font-size:var(--data-small)}.audit-list strong,.readonly{font-size:var(--data-body)}.report-stat .label{font-size:var(--data-small);line-height:1.6}.report-stat .value{font-size:clamp(24px,2.2vw,32px);line-height:1.4;letter-spacing:-.5px}.finance-grid .report-stat .value{font-size:24px}.catalog-form .field{font-size:var(--data-small)}
:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
@media(min-width:1600px){.workspace{grid-template-columns:minmax(0,1fr) 400px}}
@media(max-width:1599px){
 .weekly-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.week-day{padding:12px;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius)}.departure-choice{background:var(--bg)}
 .ledger-table colgroup,.ledger-table thead{display:none}.ledger-table,.ledger-table tbody{display:block}.ledger-table tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(112px,.8fr);gap:16px;padding:20px;border-bottom:1px solid var(--line)}.ledger-table tr:last-child{border-bottom:0}.ledger-table td{padding:0!important;border:0;min-width:0;text-align:left!important;grid-row:auto!important;grid-column:auto!important;justify-self:stretch!important}.ledger-table td:first-child{grid-column:1!important}.ledger-table td:nth-child(3){grid-column:2!important;grid-row:1!important;text-align:right!important;font-weight:650}.ledger-table td:nth-child(3):after{content:' guests';font-size:var(--data-small);font-weight:400}.ledger-table td:nth-child(2){grid-column:1!important;grid-row:2!important}.ledger-table td:nth-child(4){grid-column:2!important;grid-row:2!important}.ledger-table td:nth-child(5){grid-column:1!important;grid-row:3!important}.ledger-table td:nth-child(6){grid-column:2!important;grid-row:3!important}.ledger-table td:nth-child(2):before,.ledger-table td:nth-child(4):before,.ledger-table td:nth-child(5):before,.ledger-table td:nth-child(6):before{display:block;font-size:var(--data-small);font-weight:400;color:var(--muted);margin-bottom:4px}.ledger-table td:nth-child(2):before{content:'Departure'}.ledger-table td:nth-child(4):before{content:'Channel'}.ledger-table td:nth-child(5):before{content:'Booking status'}.ledger-table td:nth-child(6):before{content:'Pickup status'}
}
@media(max-width:1279px){.app-shell{grid-template-columns:200px minmax(0,1fr)}.navigation{padding:24px 16px}.workspace{grid-template-columns:minmax(0,1fr) 336px;gap:16px}.weekly-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1023px){.app-shell{display:block}.navigation{flex-wrap:wrap;gap:16px}.nav-items{flex-wrap:wrap}.nav-button{font-size:var(--data-small)}.weekly-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.week-jump{display:grid}}
@media(max-width:767px){.workspace{display:block}.weekly-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.departure-choice{min-height:176px}.filters{grid-template-columns:repeat(2,minmax(0,1fr))}.day-heading{min-height:56px}.week-jump{margin:0}.calendar-toolbar h2{font-size:20px}}
@media(max-width:479px){.weekly-grid{grid-template-columns:1fr}.week-day{display:block}.departure-choice{min-height:0;margin-bottom:8px}.day-heading{min-height:44px}.filters{grid-template-columns:1fr}.search-field{flex-basis:100%}.detail-grid{grid-template-columns:1fr}.detail-grid .full{grid-column:auto}.utility{flex-wrap:wrap}.ledger-table tr{padding:16px;gap:16px 12px}}

/* Header booking search stays available in every Ledger module. */
body[data-concept=ledger] .utility{flex-wrap:wrap;gap:16px 24px}
.header-search{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px 12px;flex:1 1 320px;max-width:560px;margin:0}
.header-search .field{min-width:0}.header-search .field-error{grid-column:1/-1;margin:0}.header-search .field-error:empty{display:none}
.header-search input{min-height:44px}.header-search .button{min-height:44px}
@media(max-width:767px){.header-search{order:3;flex-basis:100%;max-width:none}.utility-tools{flex-wrap:wrap}}

/* Brand primary from the existing Booking Ops dashboard. */
/* Keep search accessible while preserving normal-flow header space. */
body[data-concept=ledger] .utility{position:sticky;top:0;z-index:20;background:var(--surface)}
html:not(.theme-light) body[data-concept=ledger]{--bg:#101c17;--surface:#192a22;--text:#e8f0eb;--muted:#b2c6bb;--accent:#43c08c;--calendar-accent:#43c08c;--nav:#101c17;--line:#3b5145;--soft:#243e30}
html.theme-light body[data-concept=ledger]{--bg:#f3f7f5;--surface:#fff;--text:#172b22;--muted:#4c6558;--accent:#167348;--calendar-accent:#167348;--nav:#101c17;--line:#ccdcd2;--soft:#e1f2e8}
body[data-concept=ledger] .nav-button.active{background:#243e30;color:#a5edc8}
body[data-concept=ledger] .avatar{background:#243e30;color:#d6f8e5}
body[data-concept=ledger] .local-dot{background:var(--accent)}
html:not(.theme-light) body[data-concept=ledger] input,html:not(.theme-light) body[data-concept=ledger] select,html:not(.theme-light) body[data-concept=ledger] textarea{border-color:#6e897b}

/* OpenDesign shared/calendar-comms.css: approved source stylesheet. */
.calendar-tabs{display:flex;gap:8px;margin:0 32px 24px;border-bottom:1px solid var(--line);padding-bottom:12px}.calendar-tabs [aria-selected=true]{background:var(--soft);border-color:var(--accent);box-shadow:inset 0 -3px var(--accent)}.comms-thread-head .button{justify-self:start}.comms-message.incoming{background:var(--soft)}.comms-meta{display:grid;gap:8px;margin:0}.comms-meta>div{display:grid;grid-template-columns:48px minmax(0,1fr);gap:8px}.comms-meta dt{color:var(--muted)}.comms-meta dd{margin:0;overflow-wrap:anywhere}.comms-meta{font-size:14px}.comms-empty .button{justify-self:start}
@media(hover:hover){.calendar-tabs .button:hover{border-color:var(--accent);background:var(--soft);color:var(--text)}}
@media(max-width:1279px){.calendar-tabs{margin-inline:24px}}
@media(max-width:767px){.calendar-tabs{margin-inline:16px}.calendar-tabs{flex-wrap:wrap}.comms-meta>div{grid-template-columns:1fr;gap:0}}

/* OpenDesign shared/compact-day.css: approved source stylesheet. */
body[data-compact-day=true] .page-head{padding:12px 24px;gap:8px}body[data-compact-day=true] .page-head h1{font-size:24px}body[data-compact-day=true] .page-head :is(.eyebrow,p,.timezone-label){display:none}
.compact-day{margin:0 24px 16px;--day-row-pad:4px}.day-toolbar,.day-totals,.day-filter-bar{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.day-toolbar{justify-content:space-between;margin-bottom:8px}.day-totals{gap:16px;font-size:14px}.compact-day input[type=date],.compact-day select{min-height:40px;padding:4px 8px;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:var(--radius);font-size:16px}.compact-day .calendar-tabs{margin:0;padding-bottom:8px}.compact-day .calendar-region{margin:16px 0}.day-filter-bar{padding:8px 0;gap:16px}.day-filter-bar h2{font-size:16px;margin-right:auto}.day-filter-bar label{display:flex;align-items:center;gap:8px;font-size:14px}
.day-table{width:100%;border-collapse:collapse;table-layout:fixed;background:var(--surface);border:1px solid var(--line);font-size:16px;line-height:1.5}.day-table th{font-size:12px;color:var(--muted);font-weight:600;text-align:left;padding:8px;white-space:normal;background:var(--bg)}.day-table td{padding:var(--day-row-pad) 8px;border-top:1px solid var(--line);vertical-align:middle;height:52px;min-width:0}.day-tour .icon{width:20px;height:20px}.day-empty{padding:24px;display:grid;gap:16px;justify-items:start}.compact-day .calendar-comms{margin:16px 0}
#day-detail{position:fixed;inset:0;margin:auto;width:min(720px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text);overflow:auto}#day-detail::backdrop{background:rgb(0 0 0 / .65)}#day-detail :is(.detail-body,.detail-header){padding:16px}#day-detail :is(.value,.comms-body){overflow-wrap:anywhere}
@media(hover:hover){.day-table tbody tr:hover{background:var(--soft)}}
@media(max-width:1100px){.day-table colgroup{display:none}.day-table thead{display:none}.day-table,.day-table tbody{display:block}.day-table tr{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:8px;border-bottom:1px solid var(--line)}.day-table td{display:block;height:auto;border:0;padding:8px;min-width:0}.day-table td:before{content:attr(data-label);display:block;font-size:12px;color:var(--muted)}.day-table td:first-child{grid-column:1/-1}}
@media(max-width:767px){.compact-day{margin-inline:16px}.day-table tr{grid-template-columns:repeat(2,minmax(0,1fr))}.day-toolbar{gap:8px}.day-filter-bar{gap:8px}.day-filter-bar h2{flex-basis:100%}.day-totals{gap:8px}#day-detail{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}}

/* Missing pickup information has both a row highlight and an explicit reason. */
.compact-day{--pickup-warning-bg:#362d16;--pickup-warning-text:#ffe29a;--pickup-warning-line:#9d7c30}
html.theme-light .compact-day{--pickup-warning-bg:#fff2cf;--pickup-warning-text:#654600;--pickup-warning-line:#a67b16}
.day-table tr.day-pickup-warning{background:var(--pickup-warning-bg)}
.day-table tr.day-pickup-warning td{border-top-color:var(--pickup-warning-line)}
.day-table .day-warning-label{color:var(--pickup-warning-text);font-weight:700;font-size:13px;line-height:1.5}
.day-warning-total{color:var(--pickup-warning-text);background:var(--pickup-warning-bg);border:1px solid var(--pickup-warning-line);padding:4px 8px;border-radius:4px;font-weight:600}
.day-bus-pax{display:flex;align-items:center;gap:8px;white-space:nowrap;padding:4px 8px;border:1px solid var(--line);border-radius:4px}
@media(hover:hover){.day-table tr.day-pickup-warning:hover{background:var(--pickup-warning-bg)}.day-table tr.day-pickup-warning .day-link:hover{color:var(--pickup-warning-text)}}

/* A single inline address warning keeps departure cards compact. */
.compact-day .calendar-departure{min-width:0;display:grid;align-content:start}
.compact-day .calendar-departure .departure-choice{width:100%}
.compact-day .calendar-address-warning{display:block;padding:4px 8px;border-radius:4px;background:var(--pickup-warning-bg);color:var(--pickup-warning-text);font-size:14px;font-weight:600;line-height:1.5}

.calendar-availability-button{width:100%;min-height:44px;margin:8px 0;font-size:14px}
.calendar-sales-state{display:block;font-size:14px;color:var(--muted)}.calendar-sales-state.sales-closed{font-weight:700;color:var(--text);text-decoration:underline}

/* CRM bindings preserve reference components; theme uses the existing toggle. */
body{--primary:var(--accent);--text-muted:var(--muted);--border:var(--line);--primary-light:var(--soft);letter-spacing:0}
html:not(.theme-light){color-scheme:dark}html.theme-light{color-scheme:light}
h1,h2,h3,.nav-label,.eyebrow,.day-selected{letter-spacing:0}
h1{font-size:24px}
#ledger-header-logo{display:none}
.utility>.nav-hamburger{display:none}
#app-nav.navigation{position:static;transform:none;width:auto;height:auto;overflow:visible}
.navigation .nav-items{padding:0;margin:0;list-style:none}.navigation .nav-items li{list-style:none}
.navigation .nav-button .ledger-nav-icon{width:20px;height:20px;flex:none}
.navigation a.nav-button,a.nav-button:visited{text-decoration:none;color:inherit}
.navigation>.cs-area{display:none}.navigation .nav-foot{margin-top:auto}
.ledger-header-commands>summary{list-style:none;cursor:pointer;min-height:44px;display:flex;align-items:center;font-size:14px}
.ledger-header-commands[open]{display:grid;gap:8px}.ledger-header-commands .btn{min-height:44px;font-size:14px}
.ledger-theme-light-label{display:none}html.theme-light .ledger-theme-dark-label{display:none}html.theme-light .ledger-theme-light-label{display:inline}
.theme-toggle .icon-moon,.theme-toggle .icon-sun{display:none!important}
#ledger-header-search{margin:0}.header-search .search-wrap input{padding-left:40px}
.ledger-search-field{position:relative;min-width:0}.ledger-search-results{position:absolute;top:100%;left:0;right:0;z-index:200;background:var(--surface);border:1px solid var(--line);border-radius:4px;box-shadow:0 8px 24px #0003;max-height:360px;overflow:auto}.ledger-search-results[hidden]{display:none}.ledger-search-option{padding:10px 12px;cursor:pointer;overflow-wrap:anywhere}.ledger-search-option[aria-selected=true],.ledger-search-option:hover{background:var(--soft)}.ledger-search-option strong,.ledger-search-option span{display:block}.ledger-search-option span{font-size:12px;color:var(--muted)}.ledger-search-status:empty{display:none}.ledger-search-status{font-size:12px;color:var(--muted);margin:4px 0}
#app>.page-head{padding:12px 24px}.page-head h1{font-size:24px}
#app>.page-head :is(.eyebrow,p,.timezone-label){display:none}
.calendar-region{margin:16px 24px}.calendar-toolbar{margin-bottom:16px}
.compact-day>.ledger-day-toolbar{margin:0 0 8px}.ledger-day-panel{margin:0;padding:0}
.departure-ops-page{max-width:1160px;margin:0 auto;padding:20px 24px 48px}
.departure-ops-heading{display:flex;align-items:flex-start;gap:24px;margin-bottom:20px}.departure-ops-heading h2{margin:0 0 4px;font-size:24px}.departure-ops-heading p{margin:0;color:var(--text-muted)}
.departure-ops-page #pickup-ops-test,.departure-ops-page #pickup-run-log{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:20px;margin:0 0 20px}
.departure-ops-group{margin:18px 0}.departure-ops-group h3{display:flex;justify-content:space-between;gap:12px;font-size:18px;margin:0 0 10px}.departure-ops-group h3 span{color:var(--text-muted);font-size:14px}
.departure-ops-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-alt);padding:16px;margin:0 0 10px}.departure-ops-card .pickup-ops-choice{display:flex;gap:12px;align-items:center;flex-wrap:wrap;min-height:36px}.departure-ops-card .pickup-ops-choice input{width:20px;height:20px;flex:none}.departure-ops-card .pickup-ops-choice span{color:var(--text-muted)}
.departure-ops-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0 32px}.departure-ops-actions .btn{min-height:40px}
.departure-ops-choice,.departure-ops-config,.departure-ops-assignment,.departure-ops-preview,.departure-ops-scope{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:16px;margin:0 0 16px}
.departure-ops-choice.is-selected{border-color:var(--accent)}
.departure-ops-choice>.btn{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;text-align:left;min-height:44px}
.departure-ops-choice>.btn span{color:var(--text-muted);font-weight:400}
.departure-ops-choice ul{margin:10px 0 0;padding-left:20px}
.departure-ops-config label,.departure-ops-scope label{display:flex;flex-direction:column;gap:4px;margin:8px 0}
.departure-ops-run{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-alt);padding:12px;margin:0 0 10px}
.departure-ops-run h4{margin:0 0 6px}
.departure-ops-page>label,.departure-ops-run>label,.departure-ops-page>label textarea{display:block;margin:10px 0;width:100%;max-width:640px}
.departure-ops-manage-list{padding-left:22px}.departure-ops-manage-stop{padding:10px 0;border-top:1px solid var(--border);line-height:1.7}
.departure-ops-manage-stop label{display:inline-flex;align-items:center;gap:5px;margin:0 8px}.departure-ops-manage-stop select,.departure-ops-manage-stop input{max-width:190px}
.departure-ops-manage-stop .btn{margin:3px}
.guide-checklist{display:flex;flex-wrap:wrap;gap:12px;margin:6px 0}
@media(max-width:600px){.departure-ops-page{padding:16px}.departure-ops-heading{display:block}.departure-ops-heading .back-btn{margin-bottom:12px}.departure-ops-actions{margin-left:0}.departure-ops-actions .btn{width:100%}}
.calendar-tabs [aria-pressed=true]{background:var(--soft);border-color:var(--accent);box-shadow:inset 0 -3px var(--accent)}
.ledger-day-toolbar{margin:0 24px 8px;padding:0;justify-content:space-between}
.ledger-day-toolbar .pickup-summary{display:flex;gap:16px;margin:0;font-size:14px}
.ledger-day-toolbar .pickup-stat{display:flex;flex-direction:row;gap:6px;font-size:14px}.ledger-day-toolbar .pickup-stat-value{font-size:14px}
.ledger-vehicle-icon{width:28px;height:28px;color:var(--accent);flex:none}
.ledger-bus-pax .ledger-vehicle-icon{width:20px;height:20px}
.day-bus-pax .ledger-vehicle-icon{width:20px;height:20px;color:inherit}
.calendar-departure>.card-action-row{display:none}
.calendar-tour-group{min-width:0;margin:12px 0 16px}
.calendar-tour-group>h3{display:flex;align-items:center;gap:6px;margin:0 0 8px;font-size:14px;line-height:1.5;overflow-wrap:anywhere;letter-spacing:0}
.calendar-tour-group>h3 svg{flex:none}
.calendar-tour-group .departure-choice{min-height:112px}
.meeting-batch{margin:16px 0;padding:16px 0;border-block:1px solid var(--line)}
.meeting-batch h3{font-size:16px}.meeting-batch h4{font-size:14px;margin-top:16px}
.meeting-batch fieldset{border:0;padding:8px 0;min-width:0}.meeting-batch legend{font-size:14px}
.meeting-batch label{display:flex;align-items:center;gap:8px;min-height:44px;overflow-wrap:anywhere}
.meeting-batch input{flex:none;width:18px;height:18px}.meeting-batch p,.meeting-batch li{overflow-wrap:anywhere}
.ledger-day-availability{position:relative;margin:8px 0}.ledger-day-availability>summary{list-style:none;margin:0}
.ledger-day-availability[open]>.ledger-day-commands{position:absolute;top:48px;right:0;z-index:12;width:280px;max-width:calc(100vw - 64px);padding:16px;border:1px solid var(--line);background:var(--surface);box-shadow:0 8px 24px #0005;border-radius:4px}
.ledger-day-commands section+section{margin-top:16px}.ledger-day-commands h3{font-size:14px;margin-bottom:8px}.ledger-day-commands .card-action-row{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0;border:0}
.ledger-day-commands .card-action-btn{min-height:44px;padding:8px;font-size:14px}.ledger-day-commands .card-action-label{display:inline}.ledger-day-commands .card-action-compact{display:none}
.calendar-tabs{margin:0 24px;padding-bottom:8px}.pickup-view.compact-day{padding:0}
.ledger-day-filter-bar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:8px 0}.ledger-day-filter-bar h2{font-size:16px;margin-right:auto}
.ledger-day-filter-bar>span{font-size:12px;color:var(--muted)}
.ledger-tour-filter,.ledger-attention-filter{display:flex;align-items:center;gap:8px;font-size:14px;margin:0}.ledger-tour-filter select,.ledger-attention-filter select{width:auto;max-width:220px}
.ledger-departure-section{border:0;background:transparent;border-radius:0;margin:0;overflow:visible}.ledger-departure-section .dep-heading.ledger-selected-commands{border:0;padding:0 0 8px;display:flex;justify-content:space-between;gap:16px;font-size:12px}
.ledger-selected-commands summary{cursor:pointer;color:var(--muted)}.ledger-selected-commands details>div{display:flex;gap:8px;padding:8px 0}
.ledger-guest-link,.pickup-address-edit{font:inherit;font-weight:400;display:block;min-height:24px;border:0;padding:0;background:transparent!important;color:var(--text);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px;text-align:left}
.pickup-address-edit{width:100%;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;border-radius:0}
.day-table .ledger-secondary{display:block;font-size:12px;color:var(--muted)}.ledger-table-tour{display:flex;gap:4px;align-items:center;font-size:14px}.ledger-table-tour .ledger-vehicle-icon{width:20px;height:20px}
.ledger-booking-status{font-size:14px}.day-table .cell-center-bold{text-align:left;font-weight:400}
.ledger-experiences{grid-template-columns:320px minmax(0,1fr)}.ledger-experience-list{gap:0}.ledger-experience-choice .ledger-experience-identity{justify-content:flex-start}.ledger-day-commands button{display:block;width:100%;margin:6px 0;white-space:normal;min-height:36px}.ledger-experience-list{max-height:72vh;overflow:auto}@media(max-width:1023px){.ledger-experience-list{grid-template-columns:1fr;max-height:360px}.ledger-experiences{display:block}}
.week-day[aria-current=date]{outline:2px solid var(--accent);outline-offset:3px}.day-today{background:var(--accent);color:var(--bg);padding:3px 6px;border-radius:3px;font-weight:700;font-size:12px}.week-actions{flex-wrap:wrap}.ledger-selected-day-label{font-size:14px;color:var(--muted)}.ledger-day-booking-actions{margin:8px 0}.ledger-experience-choice{border:0;border-bottom:1px solid var(--line);border-radius:0;padding:16px;text-align:left;min-width:0}.ledger-experience-choice[aria-pressed=true]{box-shadow:inset 3px 0 var(--accent);background:var(--soft)}.ledger-experience-id{display:block;font-family:ui-monospace,monospace;font-size:12px;overflow-wrap:anywhere;color:var(--muted);margin-top:8px}.ledger-experience-choice strong{font-size:16px;line-height:1.5;overflow-wrap:anywhere}
.day-table col:nth-child(1){width:28%}.day-table col:nth-child(2){width:6%}.day-table col:nth-child(3){width:14%}.day-table col:nth-child(4){width:34%}.day-table col:nth-child(5){width:18%}
.day-table tr.row-unassigned{background:var(--surface)}.day-table tr.row-critical{background:var(--pickup-warning-bg)}
@media(max-width:1023px){#app-nav.navigation{width:100%;display:flex}.navigation .nav-items{display:flex;flex-wrap:wrap}.navigation .nav-button{font-size:14px}.navigation .nav-label{display:none}.navigation .user{display:none}.navigation .nav-foot{margin-top:0;margin-left:auto}.navigation .ledger-nav-icon{display:none}}
@media(max-width:767px){#app>.page-head{padding:12px 16px}.calendar-region{margin-inline:16px}.ledger-day-toolbar{margin-inline:16px;gap:8px}.ledger-day-toolbar .pickup-summary{flex-wrap:wrap;gap:8px}.calendar-tabs{margin-inline:16px}.ledger-day-filter-bar{gap:8px}.ledger-day-filter-bar h2{flex-basis:100%}.day-table .ledger-secondary{font-size:14px}.ledger-guest-link,.pickup-address-edit{min-height:44px}.pickup-address-edit{white-space:normal}}
.ledger-experience-inventory{display:block;max-width:none}
.mg-dialog{position:fixed;inset:0;margin:auto;width:min(1100px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:0;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text)}
.mg-dialog::backdrop{background:rgb(0 0 0 / .65)}
.mg-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 20px;border-bottom:1px solid var(--border)}
.mg-dialog-title{margin:0;font-size:20px;overflow-wrap:anywhere}
.mg-dialog-body{overflow:auto;max-height:calc(100dvh - 132px);padding:16px 20px}
@media(max-width:767px){.mg-dialog{width:100vw;max-width:none;height:100dvh;max-height:100dvh;border-radius:0;border:0}.mg-dialog-body{max-height:calc(100dvh - 104px)}}
/* END approved Ledger shared styles */

.reviews-page>button,.customer-requests-page>button{justify-self:start}
.reviews-page{display:grid;gap:16px;min-width:0;padding:0 24px;box-sizing:border-box}.reviews-unread{border:1px solid var(--border);border-radius:8px;padding:10px 12px;min-width:0}.reviews-unread summary{cursor:pointer;font-weight:600}.reviews-unread h3{font-size:14px;margin:12px 0 6px}.reviews-unread-table{width:100%;border-collapse:collapse;font-size:13px}.reviews-unread-table :is(th,td){text-align:left;padding:6px 8px;border-bottom:1px solid var(--border);vertical-align:top}.reviews-unread-table .num{text-align:right}.reviews-shape{display:block;margin-top:4px;font-size:12px;color:var(--text-muted);overflow-wrap:anywhere;white-space:normal}.reviews-unread-list{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:13px}.reviews-unread-list li{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;padding:4px 0;border-bottom:1px solid var(--border)}.reviews-filters{display:flex;flex-wrap:wrap;align-items:end;gap:10px}.reviews-filters label{display:grid;gap:4px;font-size:13px}.reviews-filters input,.reviews-filters select,.reviews-match input{min-height:40px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);padding:8px}.reviews-cards,.reviews-sources{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,200px));gap:8px;justify-content:start}.reviews-list{display:grid;gap:10px}.reviews-item{border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:16px;min-width:0;overflow-wrap:anywhere}.reviews-item p{margin:8px 0}.reviews-item-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.reviews-match{display:grid;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.reviews-match label{display:grid;gap:4px}.reviews-candidate{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;border:1px solid var(--border);padding:8px;border-radius:6px}.reviews-board{display:grid;gap:10px;min-width:0}.reviews-board h2,.reviews-list h2{margin:0;font-size:16px}.reviews-board .mkt-table-wrap{margin:0}.reviews-ranking td:first-child{width:32px;color:var(--text-muted)}.reviews-ranking td:last-child{text-align:right;white-space:nowrap}.reviews-ranking .reviews-current td{background:var(--surface-alt)}.reviews-guides{display:flex;flex-wrap:wrap;gap:6px 16px;border:1px solid var(--border);border-radius:6px;padding:10px;margin:0;min-width:0}.reviews-match .reviews-guides label{display:flex;align-items:center;gap:8px;min-height:32px}.reviews-match .reviews-guides input{width:18px;height:18px;min-height:0;padding:0;flex:0 0 auto;accent-color:var(--primary)}.reviews-actions{display:flex;gap:8px;flex-wrap:wrap}.reviews-showing{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0}.reviews-pagination{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap}
.reviews-tabs{display:flex;flex-wrap:wrap}.reviews-rating{color:var(--primary);letter-spacing:1px}.reviews-text{white-space:pre-wrap;margin:8px 0}.reviews-mail-label{margin:8px 0 0;font-size:13px}.reviews-whole-mail summary{cursor:pointer;min-height:40px;display:flex;align-items:center;color:var(--primary)}.reviews-mail-text{max-height:14em;overflow:auto;margin-top:4px;padding:6px 10px;border-left:3px solid var(--border);overflow-wrap:anywhere}.reviews-unread-text{flex-basis:100%;min-width:0}
@media(max-width:480px){.reviews-page{padding:0 16px}.reviews-wide{display:none}#app .reviews-page .reviews-ranking :is(th,td){padding-inline:6px}#app .reviews-page .reviews-ranking td:first-child{width:14px}#app .reviews-page .reviews-ranking .btn{padding-inline:10px}.reviews-cards,.reviews-sources{grid-template-columns:repeat(2,minmax(0,1fr))}.reviews-filters>*{min-width:0}.reviews-filters label{flex:1 1 140px}}
.reviews-guide-pick summary{cursor:pointer;min-height:40px;display:flex;align-items:center}.reviews-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.reviews-guide-pick{align-self:end;min-width:0}.reviews-guide-pick .reviews-guides{margin-top:4px}.reviews-figure{min-width:0}.reviews-filters select{max-width:100%}.reviews-page :is(button,summary,select,input,a):focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.reviews-guide-tabs-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0;max-width:100%}.reviews-guide-tabs{display:flex;flex-wrap:nowrap;gap:4px;overflow-x:auto;max-width:100%;min-width:0;padding-bottom:2px}.reviews-guide-tabs .btn{flex:0 0 auto;white-space:nowrap;min-height:40px}.reviews-guide-tabs .btn[aria-selected=true]{border-color:var(--primary);background:var(--primary-light);font-weight:700}.reviews-more-guides{display:flex;align-items:center;gap:6px;font-size:13px}.reviews-icon{width:14px;height:14px;vertical-align:-2px;flex:0 0 auto}.reviews-icon-star{fill:var(--primary)}.reviews-icon-star-off{fill:none;stroke:var(--text-muted);stroke-width:1.5}.reviews-icon-trophy,.reviews-icon-medal{fill:none;stroke:var(--primary);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.reviews-rank{margin:0}.reviews-ranking th[colspan]{text-align:left;font-weight:600}.reviews-rating{white-space:nowrap}
@media(min-width:481px){.reviews-cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.reviews-sources{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}


.reviews-chips{display:flex;flex-wrap:wrap;gap:8px;min-width:0;margin:0 0 8px}.reviews-chip{min-height:44px;flex:0 0 auto;max-width:100%;white-space:normal}.reviews-chip[aria-pressed=true]{border-color:var(--primary);background:var(--primary-light);font-weight:700}
#app#app .reviews-chip[aria-pressed=true]{background:var(--soft);border-color:var(--accent);color:var(--text);box-shadow:inset 0 -3px var(--accent);font-weight:700}
.reviews-layout{display:grid;gap:16px;min-width:0}.reviews-main{display:grid;gap:16px;min-width:0;align-content:start}.reviews-side{min-width:0;order:-1}
.reviews-side .reviews-board{border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:16px;align-content:start}.reviews-side .reviews-chips{margin:0}.reviews-side .reviews-chip{min-height:40px;padding-inline:12px}.reviews-side h3{margin:0;font-size:13px;font-weight:600}
.reviews-lead{list-style:none;margin:0;padding:0;display:grid}.reviews-lead-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:2px 8px;align-items:center;padding:8px 6px;border-top:1px solid var(--border)}.reviews-lead-row.reviews-current{background:var(--surface-alt)}
.reviews-lead-rank{color:var(--text-muted);white-space:nowrap}.reviews-lead-name{overflow-wrap:anywhere}.reviews-lead-rating{white-space:nowrap;font-weight:700}.reviews-move{grid-column:2 / -1;font-size:13px;color:var(--text-muted)}.reviews-move-up{color:var(--success)}.reviews-move-down{color:var(--danger)}
.reviews-icon-up,.reviews-icon-down{fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.reviews-lead-note{margin:0;font-size:12px}
@media(min-width:1100px){.reviews-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start}.reviews-side{order:0;position:sticky;top:16px;max-height:calc(100vh - 32px);overflow:auto}}
.reviews-source-icon{display:inline-block;vertical-align:-4px;width:18px;height:18px;flex:0 0 auto;border-radius:4px}

.pickup-dry-actions{display:grid;gap:8px;margin-top:12px;min-width:0}.pickup-dry-result{display:grid;gap:8px;border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:12px;min-width:0;overflow-wrap:anywhere}.pickup-dry-result h4,.pickup-dry-result h5{margin:0}.pickup-dry-run-view ol{margin:8px 0;padding-left:20px}
.pickup-dry-actions .btn:focus-visible,.pickup-dry-result summary:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.pickup-dry-table-wrap{overflow-x:auto;min-width:0}.pickup-dry-table{width:100%;border-collapse:collapse;font-size:13px}.pickup-dry-table th,.pickup-dry-table td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--border);vertical-align:top}
@media(max-width:480px){.pickup-dry-actions .guide-actions{display:grid}.pickup-dry-actions .btn{width:100%}}

.overview-page{display:grid;gap:16px;min-width:0;width:100%;max-width:none;padding:0 24px 24px;box-sizing:border-box}
.overview-page.is-pending :is(.summary,.dashboard-grid){opacity:.4;transition:opacity .15s}
.overview-head{display:flex;justify-content:space-between;align-items:center;gap:8px 12px;flex-wrap:wrap}.overview-head p{margin:0}
.ov-actions{display:flex;flex-wrap:wrap;gap:6px}.ov-actions .btn{min-height:32px;padding:4px 10px;font-size:13px;white-space:nowrap}
.overview-dates{margin-left:8px;font-weight:400;font-size:12px;color:var(--text-muted);font-variant-numeric:tabular-nums}
.ov-section{display:grid;gap:10px;min-width:0}.ov-section-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 12px}
.ov-section-head h3{margin:0;font-size:16px}.ov-section-head p{margin:0;font-size:12px}
.ov-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr));gap:10px}
.ov-tile{display:grid;align-content:start;gap:4px;min-width:0;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}
.ui-icon{display:inline-block;width:16px;height:16px;flex:none;vertical-align:-3px;margin-right:6px}
.mkt-ov-card-lbl .ui-icon{color:var(--primary)}
.ov-tile-label{display:flex;align-items:center;font-size:12px;color:var(--text-muted)}.ov-tile-label .ui-icon,.ov-section-head h3 .ui-icon,.ov-panel h3 .ui-icon{color:var(--primary)}.ov-delta .ui-icon{width:12px;height:12px;margin-right:3px;vertical-align:-1px}
.ov-tile-value{font-size:22px;font-weight:700;line-height:1.2;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.ov-tile-change{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;font-size:12px;color:var(--text-muted);font-variant-numeric:tabular-nums}
.ov-delta{font-weight:600}.ov-delta.up{color:var(--success)}.ov-delta.down{color:var(--danger)}
.ov-tile-note{font-size:12px;color:var(--text-muted)}
.ov-graphs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:10px}
.ov-series-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}@media(min-width:900px){.ov-series-grid{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}.ov-series-grid>[data-ov-bookings]{grid-row:span 2}}
.ov-wide{grid-column:1/-1}
.ov-panel{display:grid;align-content:start;gap:8px;min-width:0;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}
.ov-panel h3{margin:0;font-size:14px}.ov-panel .ledger-marketing-channel{gap:6px}.ov-panel .ledger-marketing-channel strong{font-weight:600}.ov-panel p{margin:0}
.ov-legend{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:12px;color:var(--text-muted)}
.ov-legend i{display:inline-block;width:10px;height:10px;margin-right:6px;border-radius:2px;background:var(--primary)}
.ov-legend i.ov-key-before{background:var(--text-muted);opacity:.4}.ov-legend i.ov-key-profit{background:var(--success)}.ov-legend i.ov-key-loss{background:var(--danger)}
.ov-chart{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(44px,1fr);gap:4px;overflow-x:auto}.ov-chart:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.ov-series-totals{display:flex;flex-wrap:wrap;gap:8px 24px}.ov-series-total{display:grid;gap:2px;min-width:0}.ov-series-total strong{font-size:22px;font-variant-numeric:tabular-nums}
.ov-legend i.ov-key-line{background:var(--warning);border-radius:50%}
.ov-sseries{display:block;width:100%;height:auto;max-height:320px}.ov-sbar{fill:var(--primary)}.ov-sline{fill:none;stroke:var(--warning);stroke-width:2}.ov-sdot{fill:var(--warning)}
.ov-tline-direct{fill:none;stroke:var(--primary);stroke-width:2.5}.ov-tline-ota{fill:none;stroke:var(--warning);stroke-width:2.5;stroke-dasharray:6 4}.ov-tmark-direct{fill:var(--primary)}.ov-tmark-ota{fill:var(--warning)}
.ov-tile-label i{display:inline-block;width:10px;height:10px;margin-right:6px}.ov-tile-label i.ov-key-direct{background:var(--primary);border-radius:50%}.ov-tile-label i.ov-key-ota{background:var(--warning)}
.ov-trend{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:center}
@media(min-width:900px){.ov-series-grid>[data-ov-trend]{grid-column:1/-1}.ov-trend{grid-template-columns:minmax(0,1fr) minmax(0,3fr)}.ov-trend-totals{flex-direction:column}}
.ov-sgrid{stroke:var(--border);stroke-width:1}.ov-saxis{font-size:12px;fill:var(--text-muted)}.ov-saxis-bars{fill:var(--primary)}.ov-saxis-line{fill:var(--warning)}
.ov-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ov-table summary{cursor:pointer;font-size:13px;color:var(--primary)}.ov-table summary:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.ov-table table{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}.ov-table :is(th,td){padding:4px 8px;text-align:left;border-bottom:1px solid var(--border)}
.ov-reviews{display:grid;gap:10px;margin:0;padding:0;list-style:none}.ov-review{display:grid;gap:2px;padding-bottom:10px;border-bottom:1px solid var(--border)}.ov-review:last-child{border-bottom:0;padding-bottom:0}.ov-review p{margin:0;overflow-wrap:anywhere}.ov-review-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 12px;font-size:13px}
[data-overview-back]{min-height:32px;padding:4px 10px;font-size:13px}
.ov-chart-day{display:grid;justify-items:center;align-content:start;gap:2px;min-width:0}
.ov-bars{display:block;width:100%;max-width:64px;height:120px;border-bottom:1px solid var(--border)}
.ov-bar-now{fill:var(--primary)}.ov-bar-before{fill:var(--text-muted);opacity:.4}.ov-bar-profit{fill:var(--success)}.ov-bar-loss{fill:var(--danger)}.ov-bar-zero{fill:var(--border)}
.ov-chart-value{font-size:14px;font-weight:700;line-height:1.2;font-variant-numeric:tabular-nums;text-align:center;overflow-wrap:anywhere}
.ov-chart-sub{font-size:11px;line-height:1.25;color:var(--text-muted);text-align:center;font-variant-numeric:tabular-nums}
#app .tp-by-date .tp-btn-sec[aria-pressed="true"]{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}
@media(max-width:480px){#app .tp-by-date .tp-by-date-table :is(th,td){padding:8px 6px}#app .tp-by-date .tp-by-date-table .tp-btn-xs{padding:0 8px;font-size:13px}.overview-page{padding:0 16px 16px}.ov-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ov-tile{padding:10px}.ov-tile-value{font-size:18px}.ov-chart-value{font-size:12px}.ov-sseries{max-height:260px}.ov-bars{height:96px}}
/* Owner 09.10.2026: Overview reads like Marketing: soft panels without frames,
   larger headings and numbers, and room between the blocks. */
.overview-page{gap:32px;padding-bottom:48px}
.ov-section{gap:16px}.ov-section-head h3{font-size:20px}.ov-section-head p{font-size:13px}
.ov-tiles{grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:16px}
.ov-tile{gap:8px;padding:20px;border:0;border-radius:8px;background:var(--panel,var(--surface))}
.ov-tile-label,.ov-tile-change,.ov-tile-note{font-size:13px}.ov-tile-value{font-size:26px}
.ov-graphs,.ov-series-grid{gap:16px}
.ov-panel{gap:16px;padding:24px;border:0;border-radius:8px;background:var(--panel,var(--surface))}
.ov-panel h3{font-size:18px}.ov-panel .ledger-marketing-channel{gap:8px}
.ov-series-totals{gap:12px 40px}.ov-series-total strong{font-size:26px}
.ov-reviews{gap:16px}.ov-review{gap:4px;padding-bottom:16px}
@media(max-width:480px){.overview-page{gap:24px}.ov-tiles{gap:10px}.ov-tile{padding:14px}.ov-tile-value{font-size:22px}.ov-panel{padding:16px}}

/* Every date field looks the same on every page: one height, border and type. */
:is(#app,#drawer,#inv-panel,.gm-overlay) input[placeholder="DD.MM.YYYY"]{height:var(--control-h);box-sizing:border-box;padding-left:var(--s3);border:1px solid var(--line-strong);border-radius:var(--radius);background-color:var(--card);color:var(--text);font-family:inherit;font-size:14px;font-variant-numeric:tabular-nums}
:is(#app,#drawer,#inv-panel,.gm-overlay) input[placeholder="DD.MM.YYYY"]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
/* The period chooser shared by the report pages. */
.period-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 16px;margin:0 0 16px;min-width:0}
.period-dates{display:flex;flex-wrap:wrap;gap:8px}
.period-field{display:grid;gap:4px;font-size:12px;color:var(--muted)}
.period-field input{width:140px}
.mkt-filter-bar .period-bar,.reviews-page .period-bar,.overview-page .period-bar{margin:0}.mkt-filter-bar .period-bar{flex:1 1 100%}
@media(max-width:600px){.period-dates{width:100%}.period-field{flex:1 1 0;min-width:0}.period-field input{width:100%;min-width:0}}
/* Screens set their own field background, so the calendar mark is kept with !important. */
:is(#app,#drawer,#inv-panel,.gm-overlay) input[placeholder="DD.MM.YYYY"]{min-width:132px;padding-right:30px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%237f9388' stroke-width='1.4' stroke-linecap='round'%3E%3Crect x='2' y='3.2' width='12' height='10.8' rx='1.8'/%3E%3Cpath d='M2 6.8h12M5.3 1.8v2.6M10.7 1.8v2.6'/%3E%3C/svg%3E") !important;background-repeat:no-repeat !important;background-position:right 8px center !important;background-size:16px 16px !important;cursor:pointer}
.date-cal{position:fixed;z-index:600;width:268px;max-width:calc(100vw - 16px);box-sizing:border-box;padding:10px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 10px 28px rgba(0,0,0,.3);font-size:14px}
.date-cal-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}
.date-cal button{min-height:34px;padding:0;font:inherit;color:inherit;background:none;border:1px solid transparent;border-radius:6px;cursor:pointer}
.date-cal button:hover{background:var(--surface-alt)}.date-cal button:focus-visible{outline:2px solid var(--primary);outline-offset:1px}
.date-cal-head button{width:34px;font-size:18px;border-color:var(--border)}
.date-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.date-cal-weekday{padding:2px 0;font-size:11px;color:var(--text-muted);text-align:center}
.date-cal .date-cal-today{border-color:var(--border);font-weight:700}
.date-cal button[aria-pressed="true"]{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}
.date-cal-foot{display:flex;justify-content:flex-end;margin-top:6px}.date-cal-foot button{padding:0 12px;border-color:var(--border)}

.customer-requests-page{display:grid;gap:24px;min-width:0;max-width:none;margin:0;padding:0 24px 32px;box-sizing:border-box}
.cr-list{display:grid;gap:12px;min-width:0}.cr-list h2{margin:0;font-size:15px}
.cr-item{display:grid;gap:6px;min-width:0;padding:16px 24px;border:1px solid var(--border);border-radius:8px;background:var(--surface);overflow-wrap:anywhere}
.cr-item p{margin:0}.cr-item-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.cr-ask{font-size:15px;font-weight:600}
.cr-tag{padding:2px 10px;border-radius:999px;border:1px solid var(--border);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.cr-tag-held{border-color:var(--warning,#d9a441);color:var(--warning,#d9a441)}.cr-tag-approved{border-color:var(--accent);color:var(--accent)}.cr-tag-declined,.cr-tag-closed{color:var(--text-muted)}
.cr-tag-completed{border-color:var(--success,#3f9b6b);color:var(--success,#3f9b6b)}
.cr-blockers{margin:4px 0 0;padding-left:18px;color:var(--warning,#d9a441);font-size:13px}
.cr-check{display:flex;gap:8px;align-items:flex-start;font-size:13px;margin-top:6px}
.cr-note-field input{border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);padding:8px;font:inherit}
.cr-list>[data-cr-more]{justify-self:start}
.cr-note{padding:8px 12px;border-left:3px solid var(--border);white-space:pre-wrap}
.cr-note-warn{border-left-color:var(--warning,#d9a441)}
.cr-note-field{display:grid;gap:4px;font-size:13px;margin-top:6px}
.cr-note-field textarea{min-height:56px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);padding:8px;font:inherit;resize:vertical}
.cr-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
@media(max-width:600px){.customer-requests-page{padding:0 16px 24px}.cr-item{padding:16px}.cr-actions>*{flex:1 1 auto}}
.cl-sec p{margin:0 0 8px}.cl-row{display:flex;gap:8px;flex-wrap:wrap;min-width:0}
.cl-url{flex:1 1 260px;min-width:0;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);padding:8px;font:inherit}

.mc-icon{flex:none}
.mc-when{margin-left:auto;color:var(--text-muted);font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}
.mc-empty{padding:16px;border:1px dashed var(--border);border-radius:10px;color:var(--text-muted);text-align:center}
.mc-quote{margin:0;padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:var(--surface);white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:13px;max-height:240px;overflow:auto}
.mc-draft{border-left:3px solid var(--success)}
#mc-bot-overlay .gm-head h3{overflow-wrap:anywhere}
.mc-error{color:var(--danger)}
.mc-note{display:flex;gap:8px;align-items:center;padding:10px 14px;border:1px solid var(--border);border-left:4px solid var(--info);border-radius:8px;background:var(--surface);font-size:14px}
.mc-note-ok{border-left-color:var(--success)}.mc-note-warn{border-left-color:var(--danger)}
.mc-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
#mc-reply-overlay .gm-head h3,#mc-reply-overlay .gm-head p{overflow-wrap:anywhere}
.mc-dock{position:fixed;right:24px;bottom:20px;z-index:40}
.mc-dock-launcher{display:flex;gap:9px;align-items:center;min-height:48px;padding:10px 16px;border:1px solid var(--border-strong);border-radius:9px;background:var(--surface);color:var(--text);font:inherit;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 8px 30px rgba(0,0,0,.2)}
.mc-dock-launcher:hover{border-color:var(--text)}
.mc-dock-launcher:focus-visible,.mc-dock-close:focus-visible,.mc-dock-draft summary:focus-visible{outline:2px solid var(--info);outline-offset:2px}
.mc-dock-launcher small{font-size:12px;font-weight:500;color:var(--text-muted)}
.mc-dock-count{min-width:22px;padding:0 6px;border-radius:999px;background:var(--text);color:var(--surface);font-size:12px;line-height:22px;text-align:center}
.mc-dock-panel{display:flex;flex-direction:column;width:min(440px,calc(100vw - 48px));max-height:min(640px,calc(100vh - 120px));border:1px solid var(--border-strong);border-radius:10px;background:var(--surface);color:var(--text);box-shadow:0 8px 30px rgba(0,0,0,.3);overflow:hidden}
.mc-dock-head{display:flex;gap:10px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border)}
.mc-dock-head h2{margin:0;font-size:16px}.mc-dock .muted{color:var(--text-muted);font-size:13px}
.mc-dock-close{margin-left:auto;min-width:36px;min-height:36px;border:0;border-radius:6px;background:none;color:var(--text);font:inherit;font-size:16px;cursor:pointer}
.mc-dock-body{flex:1;min-height:0;overflow:auto;padding:12px;display:grid;gap:10px;align-content:start}.mc-dock-body p{margin:0}
.mc-dock-note{font-size:13px;color:var(--text-muted)}.mc-dock-note-warn{color:var(--danger)}
.mc-dock-list{list-style:none;margin:0;padding:0;display:grid;gap:10px;min-width:0}
.mc-dock-card{display:grid;gap:6px;min-width:0;padding:12px;border:1px solid var(--border);border-radius:8px;overflow-wrap:anywhere}
.mc-dock-top{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:14px}
.mc-chan{flex:none;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:700}
.mc-chan-email{background:var(--info-bg);color:var(--info)}.mc-chan-whatsapp{background:var(--success-bg);color:var(--success)}
.mc-dock-subject{font-weight:600;font-size:14px}
.mc-dock-text{font-size:14px;line-height:1.45;white-space:pre-wrap;max-height:120px;overflow:auto}
.mc-dock-draft{font-size:13px}.mc-dock-draft summary{cursor:pointer;color:var(--text-muted)}
.mc-dock-draft div{margin-top:6px;padding:8px 10px;border-left:3px solid var(--success);border-radius:6px;background:var(--success-bg);white-space:pre-wrap;max-height:200px;overflow:auto}
.mc-dock-foot{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px 12px;border-top:1px solid var(--border)}
.mc-dock-page{margin-left:auto}
body.mc-dock-on .tp-action-bar{padding-right:210px}body.mc-dock-on #app{padding-bottom:96px}
@media(max-width:600px){.mc-when{margin-left:0}
  .mc-dock{right:12px;bottom:12px}.mc-dock-panel{width:calc(100vw - 24px);max-height:min(560px,calc(100vh - 96px))}body.mc-dock-on .tp-action-bar{padding-right:12px;padding-bottom:64px}}

.mc-translation{margin:16px 0;padding:14px 16px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}
.mc-translation h4{margin:0 0 6px}
.mc-translation .mc-bubble-text{margin:12px 0;white-space:pre-wrap;overflow-wrap:anywhere}

.message-center{max-width:1480px;margin:0 auto;padding:0 24px 32px;color:var(--text)}
.message-center section,.message-center .guide-create{padding:24px;margin-bottom:20px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}
.message-center h2{font-size:18px;margin:0 0 8px}.message-center h3{font-size:16px;margin:0 0 6px}.message-center section>h3:not(:first-child){margin-top:20px}
.message-center p{line-height:1.6}.message-center .muted{color:var(--text-muted);font-size:13px}
.message-center article{min-width:0;padding:20px;background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius)}
.message-center #templates,.message-center #schedule{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px}
.message-center label{display:block;font-size:13px;font-weight:600;margin:16px 0 6px}
.message-center input:not([type=checkbox]),.message-center textarea{display:block;width:100%;padding:10px 12px;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:6px}
.message-center textarea{min-height:160px;resize:vertical}.message-center input[type=checkbox]{accent-color:var(--primary);width:18px;height:18px}
.message-center button{font:inherit;min-height:40px;max-width:100%;white-space:normal;padding:8px 16px;margin-top:16px;border:1px solid var(--border-strong);border-radius:6px;background:var(--primary-light);color:var(--text);cursor:pointer}
.message-center button:disabled,.message-center input:disabled,.message-center textarea:disabled{opacity:.6;cursor:not-allowed}
.message-center .notice{padding:14px 18px;border-left:3px solid var(--warning);background:var(--surface-alt);font-size:13px}
.message-center .message{white-space:pre-wrap;overflow-wrap:anywhere;padding:14px;background:var(--surface);border:1px dashed var(--border-strong);border-radius:6px;font-size:13px}
.message-center .badge{font-size:11px;letter-spacing:.08em;color:var(--warning);margin-bottom:10px}.message-center .badge.on{color:var(--success)}
.message-center .error{color:var(--danger)}.message-center #status{min-height:24px;font-size:13px}
.message-center .message-help{border:1px solid var(--border);border-radius:var(--radius);padding:18px;background:var(--surface)}
.message-center .message-help>summary{cursor:pointer;font-weight:600}.message-center .message-help section{border:0;margin:16px 0 0;padding:8px}
.message-center code{overflow-wrap:anywhere}.message-center .guide-row{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-top:12px}
.message-center .guide-row>div:first-child{flex:1;min-width:0}.message-center .guide-actions{display:flex;gap:8px;flex-wrap:wrap}.message-center .guide-edit button{margin:12px 8px 0 0}.message-center .guide-row p{overflow-wrap:anywhere}.message-center .guide-row button{margin:0;flex-shrink:0}
.delivery-mode-panel{border:1px solid var(--warning);border-radius:var(--radius);background:var(--surface-alt);padding:16px;margin:0 0 18px}.delivery-mode-panel.is-on{border-color:var(--success)}.delivery-mode-panel.is-unknown{border-color:var(--danger)}
.delivery-mode-panel h3{display:flex;align-items:center;gap:10px;margin:0 0 6px;font-size:17px}.delivery-mode-state{font-size:12px;font-weight:800;letter-spacing:.08em;color:var(--warning)}.delivery-mode-panel.is-on .delivery-mode-state{color:var(--success)}.delivery-mode-panel.is-unknown .delivery-mode-state{color:var(--danger)}
.sending-slot{display:contents}.sending-switch{display:inline-flex;align-items:center;gap:8px;min-height:var(--control-h,40px);padding:0 14px;border:1px solid var(--line-strong,var(--border));border-radius:var(--radius);background:var(--card,var(--surface));color:var(--text);font:inherit;font-size:14px;white-space:nowrap}button.sending-switch{cursor:pointer}button.sending-switch:disabled{cursor:progress;opacity:.7}.sending-switch .delivery-mode-state{font-size:12px;font-weight:800;letter-spacing:.08em;color:var(--muted,var(--text))}.sending-switch.is-paused{border-color:var(--warning);box-shadow:inset 3px 0 var(--warning)}.sending-switch.is-paused .delivery-mode-state{color:var(--warning)}.sending-switch.is-unknown{border-color:var(--danger)}.sending-switch.is-unknown .delivery-mode-state{color:var(--danger)}
.delivery-mode-panel p{margin:6px 0;line-height:1.5}.delivery-mode-panel [data-delivery-mode]{min-height:44px;margin-top:10px}.message-center #test-all[aria-disabled=true]{opacity:.6;cursor:not-allowed}
.message-dialog-actions{display:flex;flex-wrap:wrap;gap:0 8px}
/* Automatic messages: a short list of closed rows; everything else is inside the opened row. */
.message-center .auto-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.message-center .auto-row{border:1px solid var(--card-line,var(--border));border-radius:var(--radius);background:var(--card,var(--surface));min-width:0}
.message-center .auto-row>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:6px 16px;cursor:pointer;list-style:none;border-radius:var(--radius)}
.message-center .auto-row>summary::-webkit-details-marker{display:none}
.message-center .auto-row>summary::before{content:"\25B8";flex:none;color:var(--text-muted);transition:transform .12s}
.message-center .auto-row[open]>summary::before{transform:rotate(90deg)}
.message-center .auto-row>summary:focus-visible{outline:2px solid var(--accent,var(--primary));outline-offset:2px}
.message-center .auto-row[open]>summary{border-bottom:1px solid var(--card-line,var(--border));border-bottom-left-radius:0;border-bottom-right-radius:0}
.message-center .auto-row-title{flex:1;min-width:0;margin:0;font-size:15px;font-weight:600;overflow-wrap:anywhere}
.message-center .auto-row-state{flex:none;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}
.message-center .auto-row-state.is-on{color:var(--success)}
.message-center .auto-row-body{padding:8px 16px 20px;min-width:0}
.message-center .auto-toggle p{margin:8px 0 0}
.message-center .auto-switches{margin-top:12px}
.message-center .auto-switch-line{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:4px 0;border-top:1px solid var(--card-line,var(--border))}
.message-center .auto-switch-line:first-child{border-top:0}
.message-center .auto-switch-name{flex:1;min-width:0;font-size:15px;overflow-wrap:anywhere}
#app .message-center .auto-switch-line button.auto-switch-toggle{flex:none;display:inline-flex;flex-direction:row-reverse;align-items:center;justify-content:space-between;gap:10px;min-width:88px;min-height:44px;margin:0;padding:0 16px 0 8px;border-radius:999px;font-weight:800;color:var(--text-muted)}
#app .message-center .auto-switch-line button.auto-switch-toggle::after{content:"";flex:none;width:22px;height:22px;border-radius:50%;background:currentColor}
#app .message-center .auto-switch-line button.auto-switch-toggle[aria-checked="true"]{flex-direction:row;padding:0 8px 0 16px;color:var(--success);border-color:var(--success)}
.message-center .auto-row-body button{min-height:44px}
.message-center .auto-row-body input:not([type=checkbox]){min-height:44px}
.message-center .auto-row textarea{min-height:240px;font-size:15px;line-height:1.5;resize:vertical;width:100%}
.message-center .auto-row .message-dialog-actions button{margin-right:0}
@media(max-width:600px){.message-center{padding:0 12px 20px}.message-center section,.message-center .guide-create{padding:16px}.message-center article{padding:14px}.message-center .guide-row{align-items:flex-start;flex-direction:column}.message-center .auto-row>summary{padding:6px 12px}.message-center .auto-row-body{padding:8px 12px 16px}}

.booking-feed{margin-top:16px;padding:20px;min-width:0}.booking-feed-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}.booking-feed-head p{margin:4px 0 0}
.booking-feed-filters{display:flex;gap:10px;flex-wrap:wrap}.booking-feed-filters label{display:grid;gap:4px;font-size:var(--data-small);color:var(--muted)}.booking-feed-filters select{min-height:40px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);padding:8px}
.booking-feed-live{margin:12px 0 8px}.booking-feed-state{padding:16px 0}.booking-feed-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.booking-feed-row{border-bottom:1px solid var(--line)}
.booking-feed-open{display:grid;grid-template-columns:150px minmax(0,1fr) minmax(110px,auto);gap:16px;width:100%;padding:14px 8px;border:0;background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}.booking-feed-open:hover{background:var(--surface-alt)}.booking-feed-open:focus-visible{outline:2px solid var(--focus-ring,var(--accent));outline-offset:-2px}
.booking-feed-when,.booking-feed-main,.booking-feed-side{display:grid;gap:4px;min-width:0;align-content:start}.booking-feed-side{text-align:right}.booking-feed-guest{overflow-wrap:anywhere}
.booking-feed-badges{display:flex;gap:6px;flex-wrap:wrap}.booking-feed-type,.booking-feed-source,.booking-feed-fresh{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:4px;border:1px solid var(--border)}
.booking-feed-type-NEW{background:var(--success-bg);color:var(--success)}.booking-feed-type-CHANGED{background:var(--warning-bg);color:var(--warning);border-color:var(--warning-border)}.booking-feed-type-CANCELLED{background:var(--danger-bg);color:var(--danger);border-color:var(--danger-border)}.booking-feed-fresh{color:var(--accent);border-color:currentColor}
.booking-feed-row-new{animation:booking-feed-arrive 4s ease-out}@keyframes booking-feed-arrive{from{background:var(--surface-alt)}to{background:transparent}}
.booking-feed-more{padding:12px 0;text-align:center}
@media(max-width:640px){.booking-feed{padding:16px}.booking-feed-open{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px}.booking-feed-when{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}.booking-feed-filters{flex:1 1 100%}.booking-feed-filters label{flex:1 1 140px}.booking-feed-filters select{width:100%}}
@media(prefers-reduced-motion:reduce){.booking-feed-row-new{animation:none}}

.xp-plan-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap}
.xp-plan-head .mg-form-title{margin-bottom:2px}
.xp-plan-lead{margin:0;font-size:13px;color:var(--text)}
.xp-plan-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px}
.xp-bus-summary{margin:8px 0 0;font-size:13px;font-weight:600;color:var(--text)}
.xp-bus-list{list-style:none;margin:10px 0;padding:0;display:grid;gap:6px}
.xp-bus{display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}
.xp-bus-label{font-size:12px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}
.xp-bus-time{font-size:18px;font-variant-numeric:tabular-nums;color:var(--text)}
.xp-bus-seats{font-size:12px;color:var(--text-muted)}
.xp-bus-edit .xp-bus-input{max-width:120px;min-width:0}
.xp-bus-seats-row{max-width:220px}
.xp-window{display:flex;gap:12px;flex-wrap:wrap;align-items:baseline;font-size:13px;color:var(--text)}
.xp-window strong{font-size:16px;font-variant-numeric:tabular-nums}
.xp-cal{max-width:420px}
.xp-cal-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:40px}
.xp-cal-bar .xp-window{margin:0;flex:1 1 200px}
.xp-cal-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:8px 0}
.xp-cal-nav .mg-btn{min-width:44px;min-height:36px;font-size:18px;line-height:1}
.xp-cal-month{font-size:15px;font-weight:700;color:var(--text)}
.xp-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-bottom:12px}
.xp-cal-wd{font-size:11px;font-weight:600;color:var(--text-muted);text-align:center;padding:2px 0}
.xp-cal-day{min-width:0;min-height:40px;padding:0;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font:inherit;font-size:14px;font-variant-numeric:tabular-nums;cursor:pointer}
.xp-cal-day:hover:not(:disabled){border-color:var(--primary)}
.xp-cal-day:focus-visible{outline:2px solid var(--primary);outline-offset:1px}
.xp-cal-day:disabled{opacity:.45;cursor:default}
.xp-cal-day.is-today{font-weight:700;text-decoration:underline}
.xp-cal-day.is-on{background:var(--primary);border-color:var(--primary);color:#062117;font-weight:700}
.xp-cal-day.is-on:disabled{opacity:.6}
/* The tour's facts sit on one line above the tabs, so the tab's own content starts higher. */
.mg-dialog .mg-product-hdr{padding:10px 16px}
.mg-dialog .ledger-experience-facts{display:flex;flex-wrap:wrap;align-items:center;gap:4px 16px}
[data-ledger-experience-panel="schedule"] [data-xp-rules]{margin-top:16px;padding-top:12px;border-top:1px solid var(--border)}
[data-xp-rules] .mg-form-hint{margin:6px 0}
.xp-cal-day.is-draft{background:transparent;color:var(--primary);border-width:2px}
.xp-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:8px}
.xp-link-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:12px;min-width:0;overflow-wrap:anywhere}
.xp-link-card h4{margin:0 0 6px;font-size:14px}
.xp-link-ids{margin:6px 0;padding:0;list-style:none;display:grid;gap:4px;font-size:12px}
.xp-check{font-size:12px;margin:3px 0}
.xp-check-ok{color:var(--success)}
.xp-check-warn{color:var(--warning)}
.xp-check-info{color:var(--text-muted)}
@media(max-width:600px){.xp-bus{grid-template-columns:56px minmax(0,1fr) auto;padding:8px 10px}.xp-bus-edit{grid-template-columns:56px minmax(0,1fr)}.xp-bus-edit .mg-schedule-remove{grid-column:1 / -1;justify-self:start}.xp-links{grid-template-columns:1fr}}
/* Price calendar in an experience's Overview: a month grid, a list on a phone. */
.price-cal-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.price-cal-head .mg-form-title{margin:0}
.price-cal-nav{display:flex;align-items:center;gap:8px}
.price-cal-nav strong{min-width:128px;text-align:center}
.price-cal-nav .mg-btn{min-width:40px;min-height:40px;padding:0;font-size:18px}
.price-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-bottom:8px}
.price-cal-weekday{padding:2px 0;font-size:11px;color:var(--text-muted);text-align:center}
.price-cal-day{display:flex;flex-direction:column;gap:2px;min-width:0;min-height:64px;padding:4px 6px;border:1px solid var(--border);border-radius:6px;font-size:12px}
.price-cal-day.is-today{border-color:var(--primary)}
.price-cal-day.is-empty{opacity:.5}
.price-cal-date small{display:none}
.price-cal-slot{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 5px}
.price-cal-slot small{font-size:11px;color:var(--text-muted)}
.price-cal-slot b{font-size:14px}
.price-cal-next{font-style:normal;font-weight:600;color:var(--text-muted);white-space:nowrap}
.price-cal-next.up{color:var(--success)}
.price-cal-next.down{color:var(--warning)}
@media (max-width:640px){
.price-cal-grid{grid-template-columns:minmax(0,1fr)}
.price-cal-weekday,.price-cal-blank,.price-cal-day.is-empty{display:none}
.price-cal-day{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:4px 14px;min-height:0;padding:8px 10px;font-size:14px}
.price-cal-date b{display:none}
.price-cal-date small{display:inline;font-size:13px;font-weight:600;color:var(--text)}
}
#app .ledger-experience-tabs.ledger-experience-categories{padding:0;border-bottom:0}
.ledger-experience-groups.is-single .ledger-experience-group>summary{display:none}
.ledger-experience-groups.is-single .ledger-experience-rows{margin-top:0}
.ledger-experience-category-count{margin-left:var(--s1);color:var(--muted);font-weight:600}
.ledger-experience-groups{display:grid;gap:var(--s4);margin-top:var(--s4)}
.ledger-experience-groups>p{margin:0}
.ledger-experience-group>summary{display:flex;align-items:center;gap:var(--s3);min-height:44px;padding:0 var(--s2);cursor:pointer;border-bottom:1px solid var(--line);font-size:16px;font-weight:600}
.ledger-experience-group>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.ledger-experience-group-count{min-width:24px;padding:0 var(--s2);border-radius:999px;background:var(--raised);color:var(--muted);font-size:13px;font-weight:600;line-height:22px;text-align:center}
.ledger-experience-rows{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:var(--s3);margin-top:var(--s3)}
.ledger-experience-rows>p{grid-column:1/-1;margin:0}
.ledger-experience-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg)}
.ledger-experience-card:hover{background:var(--raised)}
.ledger-experience-photo{position:relative;aspect-ratio:2/1;width:100%;background:var(--card);color:var(--muted);display:flex;align-items:center;justify-content:center;overflow:hidden}
.ledger-experience-photo img{display:block;width:100%;height:100%;object-fit:cover}
.ledger-experience-photo .ledger-vehicle-icon{width:56px;height:56px;color:var(--muted)}
.ledger-experience-card-body{display:flex;flex-direction:column;flex:1;gap:var(--s2);padding:var(--s3)}
.ledger-experience-row-name strong{display:block;font-size:15px;line-height:1.35;overflow-wrap:anywhere}
.ledger-experience-row-facts{display:grid;gap:2px;min-width:0;color:var(--muted);font-size:13px}
.ledger-experience-row-actions{display:flex;margin-top:auto}
.ledger-experience-card{--thumb-w:64px;--thumb-h:36px}
.ledger-experience-media{position:relative}
.ledger-experience-vehicle{position:absolute;left:var(--s3);bottom:calc(var(--thumb-h) / -2);width:var(--thumb-w);height:var(--thumb-h);border:2px solid var(--surface);border-radius:var(--radius);background:var(--card);overflow:hidden;box-shadow:0 1px 4px rgb(0 0 0 / .35)}
.ledger-experience-vehicle img,.ledger-experience-vehicle .ledger-vehicle-art{display:block;width:100%;height:100%;object-fit:cover}
.ledger-experience-card-body{padding-top:calc(var(--thumb-h) / 2 + var(--s3))}
.ledger-experience-photo .ledger-vehicle-art{width:100%;height:100%;padding:var(--s3);box-sizing:border-box}
.ledger-experience-photo-empty{position:absolute;top:var(--s2);right:var(--s3);font-size:12px;color:var(--muted)}
.ledger-photo-preview .ledger-vehicle-art{padding:var(--s2)}
.va-snow{fill:var(--raised)}.va-snow-line{stroke:var(--line-strong);stroke-width:1.5;fill:none}
.va-body{fill:var(--accent)}.va-roof{fill:var(--soft)}.va-stripe{fill:var(--on-accent);opacity:.35}
.va-glass{fill:var(--info-bg);stroke:var(--info);stroke-width:1}.va-door{fill:none;stroke:var(--on-accent);stroke-width:1.5;opacity:.6}.va-door-line{fill:none;stroke:var(--on-accent);stroke-width:1.5;opacity:.6}
.va-bay{fill:none;stroke:var(--on-accent);stroke-width:1.2;opacity:.45}.va-handle{fill:var(--on-accent);opacity:.7}.va-lamp{fill:var(--warning)}
.va-tire{fill:var(--bg);stroke:var(--line-strong);stroke-width:1.5}.va-hub{fill:var(--line-strong)}
.ledger-photo-editor{display:grid;gap:var(--s3);margin-bottom:var(--s4)}
.ledger-photo-preview{max-width:360px}
.ledger-photo-input{max-width:100%}
/* On a phone a card is one short row: picture on the left, name and facts beside it. */
@media(max-width:767px){.ledger-experience-rows{grid-template-columns:1fr}.ledger-photo-preview{max-width:none}
.ledger-experience-card{flex-direction:row}.ledger-experience-media{flex:0 0 36%;max-width:150px}.ledger-experience-photo{height:100%;aspect-ratio:auto;min-height:96px}
.ledger-experience-vehicle,.ledger-experience-photo-empty{display:none}.ledger-experience-card-body{padding-top:var(--s3);min-width:0}}
@media(min-width:768px) and (max-width:1023px){.ledger-experience-rows{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1024px){.ledger-experience-rows{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:1280px){.ledger-experience-rows{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(min-width:1600px){.ledger-experience-rows{grid-template-columns:repeat(6,minmax(0,1fr))}}
.bi-dialog{position:fixed;inset:0;margin:auto;width:min(640px,calc(100vw - 32px));max-height:calc(100vh - 48px);padding:16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text)}
.bi-dialog::backdrop{background:rgba(0,0,0,.45)}
.bi-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}
.bi-head h2{margin:0;font-size:18px}
.bi-note{margin:6px 0;font-size:13px;color:var(--text-muted)}
.bi-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0;font-size:13px}
.bi-list{list-style:none;margin:8px 0;padding:0;display:grid;gap:6px;max-height:45vh;overflow:auto}
.bi-row label{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:4px 10px;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer}
.bi-row.is-in-crm label{opacity:.65;cursor:default}
.bi-title{font-weight:600;overflow-wrap:anywhere}
.bi-id,.bi-state{font-size:12px;color:var(--text-muted)}
.bi-state{grid-column:2 / 4}
.bi-actions{display:flex;justify-content:flex-end;margin-top:10px}

/* ─── Clarity tokens ───
   Four surface levels (page < panel < card < raised) on neutral, barely tinted
   greys so the brand green is reserved for actions and selection. Dividers are
   quiet; control borders meet 3:1 against the surface they sit on. */
body[data-concept=ledger]{
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;
  --control-h:40px;--control-h-sm:32px;--radius:6px;--radius-lg:8px;
  --nav:#0b100e;--nav-text:#b4c2bb;--nav-hover:#18221e;--nav-active:#173a2a;
}
html:not(.theme-light) body[data-concept=ledger]{
  --bg:#0a0e0d;--panel:#1a2320;--surface:#1a2320;--card:#29352f;--raised:#34433c;
  --surface-alt:#29352f;--surface-raised:#34433c;
  --line:#34433c;--card-line:#3a4a42;--line-strong:#6f8479;
  --text:#eef3f0;--muted:#a9b7b0;--input-bg:#0a0e0d;
  --accent:#4cc795;--calendar-accent:#4cc795;--accent-text:#6dd6a8;--on-accent:#04140d;--soft:#1d4231;
  --warning-bg:#3a2d10;--warning-text:#ffd98a;--warning-line:#a57f2c;
  --danger:#ff9e9e;--danger-bg:#3d1c1f;--danger-border:#9c4a4f;--success:#7fe0ae;--success-bg:#173a2a;--focus-ring:#8ff0c5;
  --warning:#ffd98a;--warning-border:#a57f2c;--info:#8fd0f0;--info-bg:#16324a;--full:#c9b5ff;
  --chip-gyg-bg:#16324a;--chip-gyg:#a6d8f7;--chip-viator-bg:#2e2548;--chip-viator:#d2c2ff;--chip-direct-bg:#1d4231;--chip-direct:#9be8c3;
  --chip-manual-bg:#2c3833;--chip-manual:#c9d4cf;--chip-bokun-bg:#3a2d10;--chip-bokun:#ffd98a;
}
html.theme-light body[data-concept=ledger]{
  --bg:#e1e7e3;--panel:#ffffff;--surface:#ffffff;--card:#f3f6f4;--raised:#e7ede9;
  --surface-alt:#f3f6f4;--surface-raised:#e7ede9;
  --line:#dbe2de;--card-line:#cbd5cf;--line-strong:#7a8b83;
  --text:#101a15;--muted:#4a5953;--input-bg:#ffffff;
  --accent:#157347;--calendar-accent:#157347;--accent-text:#157347;--on-accent:#ffffff;--soft:#dff1e7;
  --warning-bg:#fff0c7;--warning-text:#6b4700;--warning-line:#a67b16;
  --danger:#b42323;--danger-bg:#fdecec;--danger-border:#e8a3a3;--success:#197546;--success-bg:#e3f4ea;--focus-ring:#0b6142;
  --warning:#6b4700;--warning-border:#a67b16;--info:#176782;--info-bg:#e0f2fe;--full:#6d3fc0;
  --chip-gyg-bg:#e0f2fe;--chip-gyg:#075985;--chip-viator-bg:#ede9fe;--chip-viator:#5b21b6;--chip-direct-bg:#dcfce7;--chip-direct:#166534;
  --chip-manual-bg:#eef1ef;--chip-manual:#44504a;--chip-bokun-bg:#fef3c7;--chip-bokun:#92400e;
}
@media(max-width:767px){body[data-concept=ledger]{--control-h:44px;--control-h-sm:40px}}

/* ─── Shared chrome: sidebar and header ─── */
body[data-concept=ledger] #app-nav.navigation{background:var(--nav);border-right:1px solid #1c2622;color:#f3f6f4}
body[data-concept=ledger] .navigation .nav-label{color:#8fa39a}
body[data-concept=ledger] .navigation .nav-button{min-height:44px;padding:10px 12px;border-radius:var(--radius);color:var(--nav-text);font-weight:500}
body[data-concept=ledger] .navigation .nav-button:hover{background:var(--nav-hover);color:#fff}
body[data-concept=ledger] .navigation .nav-button.active{background:var(--nav-active);color:#fff;font-weight:700;box-shadow:inset 3px 0 #4cc795}
body[data-concept=ledger] .utility{background:var(--panel);border-bottom:1px solid var(--line)}
body[data-concept=ledger] .utility .field{color:var(--muted)}
body[data-concept=ledger] .utility input{height:var(--control-h);min-height:0;padding-block:0;background:var(--input-bg);border:1px solid var(--line-strong);border-radius:var(--radius);color:var(--text)}
body[data-concept=ledger] .utility :is(.button,.theme-toggle){min-height:var(--control-h);padding:0 16px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--card);color:var(--text);font-size:14px;font-weight:600}
body[data-concept=ledger] .utility :is(.button,.theme-toggle):hover{background:var(--raised);border-color:var(--accent)}
body[data-concept=ledger] .local-label{color:var(--muted)}

/* ─── Page frame: one title style, one gutter ─── */
#app>.page-head h1,#app .tp-title{font-family:var(--body-font);font-size:24px;font-weight:700;letter-spacing:-.01em;line-height:1.25}
#app>:is(.mkt-view,.tp-view,.mg-view,.comms-view,.revenue-view,.departure-ops-page,.message-center,.reviews-page,.search-results-wrap){max-width:none;margin:0;padding:0 var(--s5) var(--s6)}
#app>.tp-view{padding-top:var(--s4)}
#app>:is(.back-btn,.ledger-empty){margin-left:var(--s5);margin-right:var(--s5)}
#app .back-btn{min-height:var(--control-h-sm);margin-bottom:var(--s3);color:var(--accent-text);font-size:14px;font-weight:600}
#app :is(.mkt-view,.comms-view,.departure-ops-page,.mg-view,.message-center) h2{font-size:20px;font-weight:700;line-height:1.3}

/* ─── One button system ───
   Secondary is the default; .primary / .btn-primary is the one filled action;
   ghost is for low-emphasis toggles; danger is an outline. Two heights. */
:is(#app,#drawer,#inv-panel,.gm-overlay) :is(.button,.btn,.mg-btn,.tp-btn-primary,.tp-btn-sec,.tp-btn-danger,.tp-btn-xs,.cs-btn):not(.pickup-ops-item,.ledger-experience-choice,.card-action-btn),:is(#app,#drawer,#inv-panel,.gm-overlay) :is(.message-center button,.delivery-mode-panel button){
  display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);
  min-height:var(--control-h);padding:0 var(--s4);margin:0;
  border:1px solid var(--line-strong);border-radius:var(--radius);
  background:var(--card);color:var(--text);box-shadow:none;opacity:1;filter:none;
  font-family:inherit;font-size:14px;font-weight:600;line-height:1.2;text-decoration:none;white-space:nowrap;cursor:pointer}
:is(#app,#drawer,#inv-panel,.gm-overlay) :is(.button,.btn,.mg-btn,.tp-btn-primary,.tp-btn-sec,.tp-btn-danger,.tp-btn-xs,.cs-btn):not(.pickup-ops-item,.ledger-experience-choice,.card-action-btn):hover:not(:disabled),:is(#app,#drawer,#inv-panel,.gm-overlay) :is(.message-center button,.delivery-mode-panel button):hover:not(:disabled){background:var(--raised);border-color:var(--accent);color:var(--text);opacity:1}
:is(#app,#drawer,#inv-panel,.gm-overlay) :is(.button.primary,.btn-primary,.mg-btn-primary,.tp-btn-primary,.qb-submit-btn,[data-ops-confirm],[data-ops-manage-confirm]){background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
:is(#app,#drawer,#inv-panel,.gm-overlay) :is(.button.primary,.btn-primary,.mg-btn-primary,.tp-btn-primary,.qb-submit-btn,[data-ops-confirm],[data-ops-manage-confirm]):hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:var(--on-accent);filter:brightness(1.08)}
:is(#app,#drawer,#inv-panel,.gm-overlay) :is(.tp-btn-danger,.bc-btn-danger,.bc-btn-danger-bg,.guide-link-btn-danger,.btn-danger-outline,.dep-transfer-btn){background:transparent;border-color:var(--danger);color:var(--danger)}
:is(#app,#drawer,#inv-panel,.gm-overlay) :is(.tp-btn-danger,.bc-btn-danger,.bc-btn-danger-bg,.guide-link-btn-danger,.btn-danger-outline,.dep-transfer-btn):hover:not(:disabled){background:var(--danger-bg);border-color:var(--danger);color:var(--danger)}
:is(#app,#drawer,#inv-panel,.gm-overlay) :is(.button,.btn,.mg-btn,.tp-btn-primary,.tp-btn-sec,.tp-btn-danger,.tp-btn-xs,.cs-btn,.card-action-btn):disabled,:is(#app,#drawer,#inv-panel,.gm-overlay) :is(.message-center button,.delivery-mode-panel button):disabled,:is(#app,#drawer,#inv-panel,.gm-overlay) [aria-disabled=true]:is(.button,.btn,button){opacity:.5;cursor:not-allowed;filter:none}
:is(#app,#drawer,#inv-panel,.gm-overlay) :is(.mg-btn-sm,.tp-btn-xs,.guide-link-btn,.plan-routes-btn,.plan-maps-btn,.comm-dep-btn,.dep-transfer-btn,.mkt-range-action,.cv-possible-match),:is(#app,#drawer,#inv-panel,.gm-overlay) td :is(.button,.btn,.mg-btn,.tp-btn-sec){min-height:var(--control-h-sm);padding:0 var(--s3);font-size:13px}
:is(#app,#drawer,#inv-panel,.gm-overlay) .card-action-btn{min-height:var(--control-h-sm);padding:0 var(--s3);border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--card);color:var(--text);font-size:13px;font-weight:600}
:is(#app,#drawer,#inv-panel,.gm-overlay) .card-action-btn:hover{background:var(--raised);border-color:var(--accent);color:var(--text)}
:is(#app,#drawer,#inv-panel,.gm-overlay) :is(.guide-actions,.mg-form-actions,.tp-hdr-actions,.tp-form-actions,.planner-action-row,.form-actions,.reviews-pagination,.mt-actions,.gm-actions,.departure-ops-actions){gap:var(--s2)}
#app .compact-day :is(.calendar-availability-button,.ledger-day-operations){min-height:var(--control-h-sm);padding:0 var(--s3);font-size:13px}
#app .compact-day .calendar-availability-button{width:auto;margin:0;background:transparent;border-color:transparent;color:var(--muted)}
#app .compact-day .calendar-availability-button:hover{background:var(--raised);border-color:var(--line-strong);color:var(--text)}

/* ─── One segmented control ───
   Joined buttons with a shared border; the active item is tinted and carries
   the accent. Every view, period, range and section switcher uses it. */
:is(#app,#drawer,#inv-panel,.gm-overlay) :is(.mkt-tabs,.mkt-ov-period-row,.mkt-range-actions,.period-choices,.tp-day-strip,.ledger-experience-tabs,.calendar-tabs){display:flex;flex-wrap:nowrap;gap:0;max-width:100%;width:-moz-fit-content;width:fit-content;overflow-x:auto;scrollbar-width:none;padding:0;background:transparent;border-radius:0;box-shadow:none}
:is(#app,#drawer,#inv-panel,.gm-overlay) :is(.mkt-tabs,.mkt-ov-period-row,.mkt-range-actions,.period-choices,.tp-day-strip,.ledger-experience-tabs,.calendar-tabs,.reviews-tabs)>:is(button,.button,.btn){flex:0 0 auto;display:inline-flex;flex-direction:row;align-items:center;justify-content:center;min-height:var(--control-h);margin:0 0 0 -1px;padding:0 var(--s4);border:1px solid var(--line-strong);border-radius:0;background:var(--panel);color:var(--muted);box-shadow:none;font:600 14px/1.2 var(--body-font);white-space:nowrap;opacity:1}
:is(#app,#drawer,#inv-panel,.gm-overlay) :is(.mkt-tabs,.mkt-ov-period-row,.mkt-range-actions,.period-choices,.tp-day-strip,.ledger-experience-tabs,.calendar-tabs,.reviews-tabs)>:is(button,.button,.btn):first-child{margin-left:0;border-radius:var(--radius) 0 0 var(--radius)}
:is(#app,#drawer,#inv-panel,.gm-overlay) :is(.mkt-tabs,.mkt-ov-period-row,.mkt-range-actions,.period-choices,.tp-day-strip,.ledger-experience-tabs,.calendar-tabs,.reviews-tabs)>:is(button,.button,.btn):last-child{border-radius:0 var(--radius) var(--radius) 0}
:is(#app,#drawer,#inv-panel,.gm-overlay) :is(.mkt-tabs,.mkt-ov-period-row,.mkt-range-actions,.period-choices,.tp-day-strip,.ledger-experience-tabs,.calendar-tabs,.reviews-tabs)>:is(button,.button,.btn):only-child{border-radius:var(--radius)}
:is(#app,#drawer,#inv-panel,.gm-overlay) :is(.mkt-tabs,.mkt-ov-period-row,.mkt-range-actions,.period-choices,.tp-day-strip,.ledger-experience-tabs,.calendar-tabs,.reviews-tabs)>:is(button,.button,.btn):hover:not(:disabled){position:relative;z-index:1;background:var(--raised);border-color:var(--line-strong);color:var(--text);filter:none}
:is(#app,#drawer,#inv-panel,.gm-overlay) :is(.mkt-tabs,.mkt-ov-period-row,.mkt-range-actions,.period-choices,.tp-day-strip,.ledger-experience-tabs,.calendar-tabs,.reviews-tabs)>:is(button,.button,.btn):is(.active,[aria-pressed=true],[aria-selected=true],.btn-primary){position:relative;z-index:2;background:var(--soft);border-color:var(--accent);color:var(--text);box-shadow:none;font-weight:700}
:is(#app,#drawer,#inv-panel,.gm-overlay) :is(.mkt-tabs,.mkt-ov-period-row,.mkt-range-actions,.period-choices,.tp-day-strip,.ledger-experience-tabs,.calendar-tabs,.reviews-tabs)>:is(button,.button,.btn):disabled{opacity:.5}
#app .calendar-tabs{margin:var(--s2) 0 0;border:0}
#app .ledger-experience-tabs{width:auto;padding:var(--s4);border-bottom:1px solid var(--line)}
#app .tp-day-strip>.tp-day-btn{flex-direction:column;align-items:flex-start;min-width:120px;padding:var(--s2) var(--s4);text-align:left}
#app .compact-day .week-actions{gap:0;align-items:flex-end}
#app .compact-day .week-actions>.button{border-radius:0;background:var(--panel)}
#app .compact-day .week-actions>.button+.button{margin-left:-1px}
#app .compact-day .week-actions>.button:first-child{border-radius:var(--radius) 0 0 var(--radius)}
#app .compact-day .week-actions>#next-week{border-radius:0 var(--radius) var(--radius) 0}
#app .compact-day .week-actions>.button:hover{position:relative;z-index:1}
#app .compact-day .week-actions>.week-jump{margin-left:var(--s4);gap:var(--s1);font-size:13px;color:var(--muted)}
#app .compact-day .week-jump input{min-height:var(--control-h);width:140px;font-size:14px}

/* ─── Form controls ─── */
:is(#app,#drawer,#inv-panel,.gm-overlay) :is(input:not([type=checkbox],[type=radio],[type=range]),select,textarea){min-height:var(--control-h);height:auto;background:var(--input-bg);border:1px solid var(--line-strong);border-radius:var(--radius);color:var(--text)}
:is(#app,#drawer,#inv-panel,.gm-overlay) :is(input:not([type=checkbox],[type=radio],[type=range]),select):not(.pickup-address-edit){padding-block:0}
:is(#app,#drawer,#inv-panel,.gm-overlay) :is(input[type=checkbox],input[type=radio]){accent-color:var(--accent)}
:is(#app,#drawer,#inv-panel,.gm-overlay) :is(.mkt-filter-lbl,.rev-filter-lbl,.mg-form-lbl,.tp-form-label,.planner-form-lbl,.form-row label,.sf-label){color:var(--muted);font-size:12px;font-weight:600;text-transform:none;letter-spacing:0}

/* ─── Calendar week ───
   A day is one panel; a departure is one card inside it. No box around the
   day actions, no outline for "today" (the badge says it), and the selected
   day is the only column with an accent edge. */
#app .compact-day .calendar-region{margin:var(--s4) 0}
#app .compact-day .calendar-toolbar{align-items:flex-end;margin-bottom:var(--s4)}
#app .compact-day .calendar-toolbar h2{font-size:20px;font-weight:700}
#app .compact-day .calendar-toolbar .small{font-size:13px;color:var(--muted)}
#app .compact-day .weekly-grid{gap:var(--s3)}
#app .compact-day .week-day{display:flex;flex-wrap:wrap;align-content:flex-start;gap:var(--s2);padding:var(--s3);background:var(--panel);border:1px solid transparent;border-radius:var(--radius-lg);outline:0}
#app .compact-day .week-day>*{flex:1 1 100%;min-width:0;margin:0}
#app .compact-day .week-day>:is(.ledger-day-availability,.ledger-day-operations){flex:0 0 auto}
#app .compact-day .week-day:not(.selected-day)>:is(.ledger-day-availability,.ledger-day-operations){display:none}
#app .compact-day .week-day.selected-day{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);outline:0}
#app .compact-day .day-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--s2);min-height:0;padding:0 0 var(--s2);border-bottom:1px solid var(--line);color:var(--muted);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}
#app .compact-day .day-heading strong{color:var(--text);font-size:17px;font-weight:700;text-transform:none;letter-spacing:0}
#app .compact-day .day-heading .day-today{padding:2px 8px;border-radius:999px;background:var(--accent);color:var(--on-accent);font-size:12px;letter-spacing:0;text-transform:none}
#app .compact-day .day-heading .day-selected{color:var(--accent-text);font-size:12px;text-transform:none;letter-spacing:0}
#app .compact-day .ledger-day-availability[open]>.ledger-day-commands{top:calc(100% + 4px);left:0;right:auto;background:var(--raised);border:1px solid var(--line-strong);border-radius:var(--radius-lg)}
#app .compact-day .week-day>.day-empty{padding:var(--s3) 0;color:var(--muted);font-size:13px;text-align:left}
#app .compact-day .calendar-tour-group{margin:var(--s1) 0 0}
#app .compact-day .calendar-tour-group>h3{gap:var(--s2);margin:0 0 var(--s2);color:var(--muted);font-size:13px;font-weight:600}
#app .compact-day .calendar-tour-group>h3 .ledger-vehicle-icon{width:18px;height:18px;color:var(--accent)}
#app .compact-day .departure-choice{--od-gap:2px;min-height:0;margin:0 0 var(--s2);padding:10px var(--s3);background:var(--card);border:1px solid var(--card-line);border-radius:var(--radius-lg);box-shadow:none;color:var(--text)}
#app .compact-day .departure-choice:hover{background:var(--raised);border-color:var(--line-strong)}
#app .compact-day .departure-choice.selected{padding:10px var(--s3);background:var(--soft);border:1px solid var(--accent);box-shadow:inset 3px 0 0 var(--accent)}
#app .compact-day .departure-choice .dep-time{font:700 15px/1.3 var(--body-font);color:var(--text)}
#app .compact-day .departure-choice .capacity-line{font-size:13px;color:var(--muted)}
#app .compact-day .departure-choice .capacity-line b{font-size:18px;font-weight:700;color:var(--text)}
#app .compact-day .departure-choice progress{height:6px;margin:6px 0 4px;border-radius:3px;overflow:hidden;background:var(--line)}
#app .compact-day .departure-choice progress::-webkit-progress-bar{background:var(--line);border-radius:3px}
#app .compact-day .departure-choice progress::-webkit-progress-value{background:var(--accent);border-radius:3px}
#app .compact-day .departure-choice progress::-moz-progress-bar{background:var(--accent);border-radius:3px}
#app .compact-day .departure-choice .calendar-sales-state{font-size:13px;color:var(--muted)}
#app .compact-day .departure-choice .dep-status{font-size:13px;color:var(--muted)}
#app .compact-day .calendar-address-warning{margin-top:6px;padding:4px var(--s2);border-radius:4px;background:var(--warning-bg);color:var(--warning-text);box-shadow:inset 3px 0 var(--warning-line);font-size:13px;font-weight:700}

/* ─── Calendar day: summary, filters and bookings table ─── */
#app .compact-day{--pickup-warning-bg:var(--warning-bg);--pickup-warning-text:var(--warning-text);--pickup-warning-line:var(--warning-line)}
#app .compact-day .ledger-day-toolbar{gap:var(--s3) var(--s4)}
#app .compact-day .ledger-selected-day-label{font-size:14px;color:var(--muted)}
#app .compact-day .day-totals{gap:var(--s3);font-size:14px}
#app .compact-day .day-bus-pax{padding:4px 10px;border:1px solid var(--card-line);border-radius:999px;background:var(--card)}
#app .compact-day .day-warning-total{border-radius:999px;padding:4px 10px;background:var(--warning-bg);border-color:var(--warning-line);color:var(--warning-text);font-weight:700}
#app .compact-day .ledger-day-filter-bar{gap:var(--s3) var(--s4);padding:var(--s4) 0 var(--s3)}
#app .compact-day .ledger-day-filter-bar h2{font-size:18px;font-weight:700}
#app .compact-day .ledger-day-filter-bar>span{font-size:13px;color:var(--muted)}
#app .compact-day :is(.ledger-tour-filter,.ledger-attention-filter){gap:var(--s2);font-size:13px;color:var(--muted)}
#app .compact-day :is(.ledger-tour-filter,.ledger-attention-filter) select{padding:0 var(--s3);font-size:14px}
#app .compact-day .ledger-departure-section .dep-heading.ledger-selected-commands{color:var(--muted);font-size:13px}
#app .compact-day .day-table{border-collapse:separate;border-spacing:0;background:var(--panel);border:0;border-radius:var(--radius-lg);overflow:hidden;font-size:14px}
#app .compact-day .day-table th{padding:10px var(--s3);background:var(--card);border-bottom:1px solid var(--card-line);color:var(--muted);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}
#app .compact-day .day-table .ledger-secondary{color:var(--muted);font-size:13px}
#app .compact-day .day-table tbody tr:hover{background:var(--raised)}
#app .compact-day .day-table tr.day-pickup-warning{background:var(--warning-bg);box-shadow:inset 3px 0 var(--warning-line)}
#app .compact-day .day-table tr.day-pickup-warning:hover{background:var(--warning-bg)}
@media(min-width:1101px){#app .compact-day .day-table td{padding:10px var(--s3);border-top:1px solid var(--line)}#app .compact-day .day-table tbody tr:first-child td{border-top:0}}

/* ─── Surfaces: panels on the page, cards inside panels, never a third box ─── */
:is(#app,#drawer,#inv-panel,.gm-overlay) :is(.mkt-section,.mkt-filter-bar,.ledger-report-detail,.ledger-marketing-panel,.mkt-season-details,.mkt-ds-campaign,.tp-settings-panel,.tp-settings-group,.mg-product,.planner-section,.planner-form-section,.plan-result-section,.rev-filter-form,.rev-currency-group,.reviews-item,.departure-ops-config,.departure-ops-assignment,.departure-ops-preview,.departure-ops-scope,.departure-ops-confirm,.delivery-mode-panel){background:var(--panel);border:0;border-radius:var(--radius-lg);box-shadow:none}
#app .message-center :is(section,.guide-create,.message-help){background:var(--panel);border:0;border-radius:var(--radius-lg);box-shadow:none}
#app .message-center .message-help section{background:transparent;padding:var(--s2) 0}
#app .message-center article,:is(#app,#drawer,#inv-panel,.gm-overlay) :is(.dep-ops-bus,.departure-ops-run,.mg-schedule-preview-card,.mg-capacity-preview,.plan-route-card){background:var(--card);border:1px solid var(--card-line);border-radius:var(--radius-lg);box-shadow:none}
:is(#app,#drawer,#inv-panel,.gm-overlay) :is(.mkt-section,.mkt-filter-bar,.ledger-report-detail,.ledger-marketing-panel,.mkt-season-details,.mkt-ds-campaign,.tp-settings-panel,.tp-settings-group,.mg-product,.planner-section,.planner-form-section,.plan-result-section,.rev-filter-form,.rev-currency-group,.reviews-item,.departure-ops-config,.departure-ops-assignment,.departure-ops-preview,.departure-ops-scope,.departure-ops-confirm,.delivery-mode-panel) :is(.mkt-section,.mkt-filter-bar,.ledger-report-detail,.ledger-marketing-panel,.mkt-season-details,.mkt-ds-campaign,.tp-settings-panel,.tp-settings-group,.mg-product,.planner-section,.planner-form-section,.plan-result-section,.rev-filter-form,.rev-currency-group,.reviews-item,.departure-ops-config,.departure-ops-assignment,.departure-ops-preview,.departure-ops-scope,.departure-ops-confirm,.delivery-mode-panel){background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none;padding:var(--s4) 0 0;margin:var(--s4) 0 0}
:is(#app,#drawer,#inv-panel,.gm-overlay) :is(.mkt-ov-card,.tp-cards){background:var(--panel);border:0;border-radius:var(--radius-lg);box-shadow:none}
:is(#app,#drawer,#inv-panel,.gm-overlay) :is(.mkt-section-title,.tp-settings-group-title,.tp-settings-panel-title,.mg-form-title,.planner-form-title,.tp-card-group-label,.tp-type-header,.mkt-drilldown-label,.detail-sec-title){color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border-bottom:0;padding-bottom:0}

/* ─── Notices: one warning, one error and one info style ─── */
:is(#app,#drawer,#inv-panel,.gm-overlay) :is(.mg-warning,.mt-notice,.mt-ambiguous,.mkt-data-readiness-notice,.rev-disclaimer,.mkt-unavail-note,.bc-test-banner,.planner-alert-stale,.planner-alert-conflict),#app .message-center .notice{background:var(--warning-bg);border:0;border-radius:var(--radius);box-shadow:inset 3px 0 var(--warning-line);color:var(--warning-text)}
:is(#app,#drawer,#inv-panel,.gm-overlay) :is(.mkt-error,.mt-error,.planner-alert-blocked,.mt-confirm-box){background:var(--danger-bg);border:0;border-radius:var(--radius);box-shadow:inset 3px 0 var(--danger);color:var(--danger)}
:is(#app,#drawer,#inv-panel,.gm-overlay) :is(.tp-form-info,.mkt-notice,.mt-dep-info,.readonly-notice,.planner-readonly){background:var(--card);border:0;border-radius:var(--radius);box-shadow:inset 3px 0 var(--line-strong);color:var(--text)}

/* ─── One table style ─── */
:is(#app,#drawer,#inv-panel,.gm-overlay) :is(.mkt-table,.mg-mappings-table,.plan-stops-table,.bookings-table,.mt-table,.gm-table,.rev-breakdown,.day-table){border-collapse:separate;border-spacing:0;background:var(--panel);border:0;border-radius:var(--radius-lg);overflow:hidden}
:is(#app,#drawer,#inv-panel,.gm-overlay) :is(.mkt-table,.mg-mappings-table,.plan-stops-table,.bookings-table,.mt-table,.gm-table,.rev-breakdown,.day-table) th{padding:10px var(--s3);background:var(--card);border-bottom:1px solid var(--card-line);color:var(--muted);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}
:is(#app,#drawer,#inv-panel,.gm-overlay) :is(.mkt-table,.mg-mappings-table,.plan-stops-table,.bookings-table,.mt-table,.gm-table,.rev-breakdown) td{padding:10px var(--s3);border-bottom:1px solid var(--line)}
:is(#app,#drawer,#inv-panel,.gm-overlay) :is(.mkt-table,.mg-mappings-table,.plan-stops-table,.bookings-table,.mt-table,.gm-table,.rev-breakdown) tr:last-child td{border-bottom:0}
:is(#app,#drawer,#inv-panel,.gm-overlay) :is(.mkt-table,.mg-mappings-table,.bookings-table,.mt-table,.rev-breakdown) tbody tr:hover td{background:var(--raised)}
:is(#app,#drawer,#inv-panel,.gm-overlay) :is(.mkt-table .mkt-total-row,.mkt-table .mkt-ov-total) td{background:var(--card);border-top:1px solid var(--line-strong)}

/* ─── Status pills and channel chips on tokens ─── */
:is(#app,#drawer,#inv-panel,.gm-overlay) :is(.ch-GETYOURGUIDE,.mg-ch-GETYOURGUIDE){background:var(--chip-gyg-bg);color:var(--chip-gyg)}
:is(#app,#drawer,#inv-panel,.gm-overlay) :is(.ch-VIATOR,.mg-ch-VIATOR){background:var(--chip-viator-bg);color:var(--chip-viator)}
:is(#app,#drawer,#inv-panel,.gm-overlay) .ch-DIRECT{background:var(--chip-direct-bg);color:var(--chip-direct)}
:is(#app,#drawer,#inv-panel,.gm-overlay) :is(.ch-MANUAL,.mg-ch-CRM){background:var(--chip-manual-bg);color:var(--chip-manual)}
:is(#app,#drawer,#inv-panel,.gm-overlay) :is(.ch-BOKUN_MIGRATION,.mg-ch-BOKUN){background:var(--chip-bokun-bg);color:var(--chip-bokun)}
:is(#app,#drawer,#inv-panel,.gm-overlay) :is(.status-SCHEDULED,.status-PICKED_UP,.ss-COMPLETED,.ss-PICKED_UP,.mg-status-ACTIVE,.plan-status-ok,.plan-status-published,.mkt-ov-badge-ok,.mkt-signal-success){background:var(--success-bg);color:var(--success);border-color:transparent}
:is(#app,#drawer,#inv-panel,.gm-overlay) :is(.status-NO_SHOW,.ss-NO_SHOW,.mg-status-DRAFT,.mg-status-DISABLED,.mg-status-NOT_VERIFIED,.mkt-ov-badge,.mkt-signal-muted,.card-badge-closed){background:var(--chip-manual-bg);color:var(--chip-manual);border-color:transparent}
:is(#app,#drawer,#inv-panel,.gm-overlay) :is(.status-UNASSIGNED,.ss-PAST_UNVERIFIED,.mg-status-TEST,.plan-status-stale,.mkt-signal-warning,.missing-badge,.card-badge-near){background:var(--warning-bg);color:var(--warning-text);border-color:transparent}
:is(#app,#drawer,#inv-panel,.gm-overlay) :is(.status-ISSUE,.ss-CANCELLED,.mg-status-RETIRED,.plan-status-blocked,.badge-cancelled,.card-badge-warn){background:var(--danger-bg);color:var(--danger);border-color:transparent}
:is(#app,#drawer,#inv-panel,.gm-overlay) :is(.ss-UPCOMING,.mg-status-READ_ONLY_SOURCE,.mkt-ds-platform,.planner-count-badge,.plan-van-badge){background:var(--soft);color:var(--accent-text);border-color:transparent}
:is(#app,#drawer,#inv-panel,.gm-overlay) .card-action-btn-primary{background:var(--soft);border-color:var(--accent);color:var(--text)}
:is(#app,#drawer,#inv-panel,.gm-overlay) .card-action-btn-bus{background:var(--chip-viator-bg);border-color:var(--full);color:var(--full)}
:is(#app,#drawer,#inv-panel,.gm-overlay) .card-badge-full{background:var(--chip-viator-bg);color:var(--full)}
:is(#app,#drawer,#inv-panel,.gm-overlay) .tp-type-small{background:var(--soft);color:var(--accent-text)}
:is(#app,#drawer,#inv-panel,.gm-overlay) .tp-type-bus{background:var(--info-bg);color:var(--info)}
:is(#app,#drawer,#inv-panel,.gm-overlay) :is(.tp-profit-pos,.mkt-seo-up){color:var(--success)}
:is(#app,#drawer,#inv-panel,.gm-overlay) .tp-cg-profit .tp-card-group-label{color:var(--success)}
:is(#app,#drawer,#inv-panel,.gm-overlay) .tp-cg-profit .tp-card{border-left:2px solid var(--success)}
:is(#app,#drawer,#inv-panel,.gm-overlay) .mkt-ov-card-val-blue{color:var(--info)}
:is(#app,#drawer,#inv-panel,.gm-overlay) .mkt-ov-card-val-gold{color:var(--warning-text)}

/* ─── Marketing ─── */
#app .mkt-view .mkt-filter-bar{padding:var(--s4) var(--s5)}
#app .mkt-view :is(.mkt-ov-period-row,.mkt-tabs){margin:0 0 var(--s4)}
#app .mkt-view .mkt-ov-card{padding:var(--s4);border-left:3px solid var(--line-strong)}
#app .mkt-view .mkt-ov-card:has(.mkt-ov-card-val-primary){border-left-color:var(--accent)}
#app .mkt-view .mkt-ov-card:has(.mkt-ov-card-val-danger){border-left-color:var(--danger)}
#app .mkt-view .mkt-ov-card:has(.mkt-ov-card-val-blue){border-left-color:var(--info)}
#app .mkt-view .mkt-ov-card:has(.mkt-ov-card-val-gold){border-left-color:var(--warning-line)}
#app .mkt-view :is(.mkt-ov-card-lbl,.mkt-stat-lbl){color:var(--muted);font-size:13px;text-transform:none;letter-spacing:0}
#app .mkt-view .ledger-marketing-panel{padding:var(--s5)}
#app .mkt-view .ledger-report-detail>summary{padding:var(--s4) var(--s5)}
#app .mkt-view .mkt-drilldown{border-top:1px solid var(--line)}

/* ─── Tour Profit ─── */
#app .tp-view .tp-header{margin-bottom:var(--s4)}
#app .tp-view .tp-cards{gap:0;overflow:hidden}
#app .tp-view .tp-card{background:transparent;border:0;border-right:1px solid var(--line);border-radius:0;padding:var(--s4) var(--s5)}
#app .tp-view .tp-card:last-child{border-right:0}
#app .tp-view .tp-card-lbl{color:var(--muted);font-size:13px}
#app .tp-view .tp-table{margin-bottom:var(--s4)}

/* ─── Reviews ─── */
#app .reviews-page{gap:var(--s4)}
#app .reviews-page .mkt-ov-card{padding:var(--s4);border-left:3px solid var(--line-strong)}
#app .reviews-page .reviews-item{padding:var(--s4) var(--s5)}
#app .reviews-page .reviews-match{border-top:1px solid var(--line)}
#app .reviews-page .reviews-candidate{background:var(--card);border:1px solid var(--card-line);border-radius:var(--radius)}

/* ─── Message center and Guides ─── */
#app .message-center :is(section,.guide-create){padding:var(--s5)}
#app .message-center .message{background:var(--input-bg);border:1px dashed var(--line-strong)}
#app .message-center .guide-row{margin:0 0 var(--s2);padding:var(--s3) var(--s4);background:var(--card);border:1px solid var(--card-line);border-radius:var(--radius-lg)}
#app :is(.message-center,.departure-ops-page,.comms-view,.compact-day) .delivery-mode-panel{margin:0 0 var(--s4);padding:var(--s4) var(--s5);background:var(--panel);border:0;border-radius:var(--radius-lg);box-shadow:inset 3px 0 var(--warning-line)}
#app :is(.message-center,.departure-ops-page,.comms-view,.compact-day) .delivery-mode-panel.is-on{box-shadow:inset 3px 0 var(--accent)}
#app :is(.message-center,.departure-ops-page,.comms-view,.compact-day) .delivery-mode-panel.is-unknown{box-shadow:inset 3px 0 var(--danger)}

/* ─── Experiences (shared classes only) ─── */
#app .mg-view .mg-product-hdr{background:transparent;border-bottom:1px solid var(--line)}
#app .mg-dialog{background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--radius-lg)}
#app .mg-dialog .mg-dialog-head{border-bottom:1px solid var(--line)}
#app .mg-dialog .mg-form-panel{background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;padding:var(--s4) 0 0}

/* ─── Departure operations ───
   A column of panels (dry run, each tour). Inside a tour the customer list
   and the bus section are sections, not boxes; each bus is one card; tour
   choices and guide chips share the selection language of the calendar. */
#app .departure-ops-page .departure-ops-heading{margin-bottom:var(--s4)}
#app .departure-ops-day-picker{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2);margin:var(--s2) 0 0}#app .departure-ops-day-picker label{display:block;margin:0}#app .departure-ops-day-picker input{width:auto;min-width:0}
#app .message-center.guide-roster>section:empty{display:none}

/* ─── Spacing repairs ───
   The shared button rule clears every margin and shows buttons that carry
   the hidden attribute; the global table rule gives every column the same
   width. These put back the gaps and widths those rules take away. */
#app .departure-ops-page .departure-ops-confirm{padding:var(--s4) var(--s5);margin:var(--s4) 0}
#app .departure-ops-page .departure-ops-confirm>h3{margin:0 0 var(--s2)}
#app .departure-ops-page .departure-ops-confirm ul{padding-left:var(--s5)}
#app .departure-ops-page .dep-ops-feature{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);min-height:56px;padding:var(--s2) 0;border-top:1px solid var(--border)}
#app .departure-ops-page .dep-ops-feature:first-child{border-top:0}
#app .departure-ops-page .dep-ops-feature>div{flex:1;min-width:0}
#app .departure-ops-page .dep-ops-feature p{margin:2px 0 0}
#app .departure-ops-page button.dep-ops-feature-toggle{flex:none;display:inline-flex;flex-direction:row-reverse;align-items:center;justify-content:space-between;gap:10px;min-width:88px;min-height:44px;margin:0;padding:0 16px 0 8px;border-radius:999px;font-weight:800;color:var(--text-muted)}
#app .departure-ops-page button.dep-ops-feature-toggle::after{content:"";flex:none;width:22px;height:22px;border-radius:50%;background:currentColor}
#app .departure-ops-page button.dep-ops-feature-toggle[aria-checked="true"]{flex-direction:row;padding:0 8px 0 16px;color:var(--success);border-color:var(--success)}
#app .departure-ops-page .departure-ops-confirm li+li{margin-top:var(--s1)}
#app .departure-ops-page .departure-ops-confirm>.btn{margin-top:var(--s3)}
#app .message-center button[hidden]{display:none}
#app .message-center>button{margin:0 0 var(--s4)}
#app .message-center.guide-roster>.btn{margin-bottom:var(--s4)}
#app .message-center .guide-create>:is(.button,.btn){margin-top:var(--s3)}
#app .message-center :is(section,article)>button{margin:var(--s3) var(--s2) 0 0}
#app .message-center #schedule article>button{display:flex;width:max-content}
#app .message-center article>:is(p.muted,.message){margin-top:var(--s2)}
#app .message-center .message-help{margin-bottom:20px}
/* Report tables have up to ten columns: they keep their natural width and the
   wrapper scrolls sideways instead of the headings running into each other. */
#app .mkt-table-wrap>.mkt-table{table-layout:auto}
#app .tp-table th{white-space:normal}
#app .tp-table:not(.tp-by-date-table) .tp-profit-cell{min-width:150px}
/* Customer page: the booking history has twelve columns, so it keeps its
   natural width and scrolls sideways inside its wrapper instead of
   squeezing the columns over each other. */
#app .history-table{table-layout:auto;min-width:1080px}
#app .history-table .channel-chip{white-space:nowrap}
#app .history-table :is(th,td):nth-child(5){min-width:180px}
#app .history-table :is(th,td):nth-child(6){min-width:130px}
#app .history-table :is(th,td):nth-child(12){min-width:180px}
#app .customer-view .ledger-profile-head>.cv-sec{margin-top:var(--s4)}
#app .customer-view #cv-edit-pickup{margin-top:var(--s3)}
#app .customer-view .cv-sec>ul{list-style:none;padding:0;margin:0}
#app .customer-view .cv-sec>ul>li+li{margin-top:var(--s2)}
#app .mg-view>.mg-form-actions+.ledger-experience-inventory{margin-top:var(--s4)}
#app .accounts-page{display:grid;gap:var(--s4);min-width:0;padding:0 24px 32px}#app .accounts-add{display:flex;flex-wrap:wrap;gap:var(--s3);align-items:end}#app .accounts-add label{display:grid;gap:4px;font-size:13px;color:var(--text-muted)}#app .accounts-add input{min-width:260px}#app .accounts-code{display:grid;gap:var(--s2);justify-items:start;padding:var(--s4);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}#app .accounts-code code{font-size:20px;letter-spacing:.08em;user-select:all}#app .accounts-actions{display:flex;flex-wrap:wrap;gap:var(--s2);justify-content:flex-end}#app .accounts-actions .btn{white-space:nowrap}#app .accounts-table select{min-width:128px}#app .accounts-confirm{color:var(--danger);border-color:var(--danger)}#app .accounts-disabled td{color:var(--text-muted)}#app .accounts-error{color:var(--danger)}@media(max-width:600px){#app .accounts-page{padding:0 16px 24px}#app .accounts-add input{min-width:0;width:100%}#app .accounts-add label{flex:1 1 100%}#app .accounts-table thead{display:none}#app .accounts-table tr{display:grid;grid-template-columns:1fr auto;gap:2px var(--s3);padding:var(--s3) 0;border-bottom:1px solid var(--border)}#app .accounts-table td{border:0;padding:0 var(--s3)}#app .accounts-table td:first-child,#app .accounts-table td:last-child{grid-column:1/-1}#app .accounts-actions{justify-content:flex-start;flex-wrap:wrap;white-space:normal}#app .accounts-never{display:none}}.nav-foot-actions{display:flex;flex-wrap:wrap;gap:4px 12px}.nav-foot-link{background:none;border:0;padding:0;color:inherit;opacity:.8;font:inherit;font-size:13px;cursor:pointer;text-decoration:underline}.nav-foot-link:hover{opacity:1}.nav-foot-note{margin:0;font-size:12px;opacity:.8}.staff-sign-in-code{display:grid;gap:6px;margin:0 0 12px;text-align:left;font-size:13px;color:var(--text-muted)}.staff-sign-in-code[hidden]{display:none}.staff-sign-in-code input{font-size:16px;letter-spacing:.06em;text-transform:uppercase}.staff-sign-in-error{color:var(--danger);font-size:13px;margin:0 0 12px}.staff-sign-in-error:empty{display:none}#app .activity-page{display:grid;gap:var(--s4);min-width:0;padding:0 24px 32px}@media(max-width:600px){#app .activity-page{padding:0 16px 24px}#app .activity-table thead{display:none}#app .activity-table tr{display:grid;grid-template-columns:1fr auto;gap:2px var(--s3);padding:var(--s3) 0;border-bottom:1px solid var(--border)}#app .activity-table td{border:0;padding:0 var(--s3)}#app .activity-table td:nth-child(3){grid-column:1/-1}}#app .activity-filter{display:flex;align-items:center;gap:var(--s2);max-width:420px}#app .activity-filter select{flex:1;min-width:0}#app .activity-page>.btn{justify-self:start}#app .activity-table td{white-space:normal;overflow-wrap:anywhere}#app .activity-ids{font-size:12px}#app .activity-ok{color:var(--text-muted)}#app .activity-refused,#app .activity-failed{color:var(--warning,#e0b04a);font-weight:600}
#app .departure-ops-page .dep-ops-step{margin:0 0 var(--s4)}
#app .departure-ops-page .dep-ops-step>h3{margin:0 0 var(--s2);font-size:16px;font-weight:700}
#app .departure-ops-page .dep-ops-step>.departure-ops-config{padding:var(--s3) var(--s4)}
#app .departure-ops-page .dep-ops-tour+.dep-ops-tour{margin-top:var(--s2)}
#app .departure-ops-page .dep-ops-tour-toggle{background:var(--panel);border:1px solid var(--card-line);border-radius:var(--radius-lg);padding:var(--s2) var(--s3)}
#app .departure-ops-page .dep-ops-tour-toggle:hover:not(:disabled){background:var(--raised);border-color:var(--line-strong)}
#app .departure-ops-page .dep-ops-tour-toggle.is-selected{background:var(--soft);border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}
#app .departure-ops-page .dep-ops-tag.is-alert{background:var(--danger-bg);border-color:transparent;color:var(--danger)}
#app .departure-ops-page .dep-ops-tag{border-color:var(--line-strong);color:var(--muted)}
#app .departure-ops-page .dep-ops-tag.is-ready{background:var(--success-bg);border-color:transparent;color:var(--success)}
#app .departure-ops-page .dep-ops-customers{gap:0;border-top:1px solid var(--line)}
#app .departure-ops-page .dep-ops-customers li{padding:var(--s2) 0;border:0;border-bottom:1px solid var(--line);border-radius:0}
#app .departure-ops-page .dep-ops-customers .dep-ops-customer-missing{padding-left:var(--s3);background:var(--warning-bg);color:var(--warning-text);box-shadow:inset 3px 0 var(--warning-line)}
#app .departure-ops-page :is(.dep-ops-missing,.dep-ops-ready){border:0;border-radius:var(--radius);background:var(--card)}
#app .departure-ops-page .dep-ops-missing{background:var(--danger-bg);box-shadow:inset 3px 0 var(--danger)}
#app .departure-ops-page .dep-ops-ready{box-shadow:inset 3px 0 var(--accent)}
#app .departure-ops-page .dep-ops-bus{padding:var(--s4)}
#app .departure-ops-page .dep-ops-bus-bookings{border-top:1px solid var(--line)}
#app .departure-ops-page .dep-ops-guide{min-height:var(--control-h);background:var(--panel);border:1px solid var(--line-strong);color:var(--text)}
#app .departure-ops-page .dep-ops-bus .dep-ops-guide{background:var(--card)}
#app .departure-ops-page .dep-ops-guide:hover:not(:disabled){background:var(--raised);border-color:var(--accent)}
#app .departure-ops-page .dep-ops-guide.is-on{background:var(--soft);border-color:var(--accent);box-shadow:none;color:var(--text)}
#app .departure-ops-page .dep-ops-guide small{color:var(--muted)}
#app .departure-ops-page .dep-ops-problems{color:var(--danger)}
#app .departure-ops-page .departure-ops-run{padding:var(--s3) var(--s4)}
#app .departure-ops-page [data-ops-confirm]{margin-right:var(--s2)}
/* Polish pass 01.10.2026: lists sit inside their cards, actions never touch
   the text around them, and paired fields line up on one baseline. */
#app .departure-ops-page [data-ops-confirm]{margin-right:0}
#app .departure-ops-page .guide-actions{display:flex;flex-wrap:wrap;gap:var(--s2);margin:var(--s3) 0 var(--s2)}
#app .departure-ops-page .guide-actions+p{margin:0;color:var(--muted)}
#app .departure-ops-page .dep-ops-tour .departure-ops-config{padding:var(--s4) 0 0}
#app .departure-ops-page .dep-ops-fields{align-items:end;grid-template-columns:minmax(150px,200px) minmax(0,1fr)}
#app .departure-ops-page .dep-ops-customers li{overflow-wrap:anywhere;line-height:1.5}
#app .departure-ops-page .dep-ops-guide-block>strong+.muted{display:inline}
#app .departure-ops-page .departure-ops-preview>h3{margin:0 0 var(--s2)}
#app .departure-ops-page .departure-ops-preview>p{margin:0 0 var(--s1)}
#app .departure-ops-page .departure-ops-run{margin:var(--s3) 0 0}
#app .departure-ops-page .departure-ops-run h4{margin:0 0 var(--s1)}
#app .departure-ops-page .departure-ops-map{margin:var(--s2) 0 0;max-width:560px}
#app .departure-ops-page .departure-ops-map svg{display:block;width:100%;height:auto;border:1px solid var(--warning-line);border-radius:6px}
#app .departure-ops-page .departure-ops-map figcaption{font-size:12px;color:var(--muted);margin-top:4px}
#app .departure-ops-page div.departure-ops-flag{color:var(--warning-text);background:var(--warning-bg);border:1px solid var(--warning-line);border-radius:6px;padding:8px 10px;margin-top:var(--s3)}
#app .departure-ops-page .departure-ops-run>p.departure-ops-flag{color:var(--warning-text);background:var(--warning-bg);border:1px solid var(--warning-line);border-radius:6px;padding:6px 8px}
#app .departure-ops-page .departure-ops-run>p{margin:0 0 var(--s2);color:var(--muted);font-size:13px;line-height:1.45}
#app .departure-ops-page .departure-ops-run ul{list-style:none;margin:0;padding:0}
#app .departure-ops-page .departure-ops-run li{padding:var(--s2) 0;border-top:1px solid var(--line);font-size:14px;line-height:1.45;overflow-wrap:anywhere}
#app .departure-ops-page .departure-ops-preview>.dep-ops-send-mode{margin:var(--s3) 0 0;color:var(--muted);font-size:13px}
#app .departure-ops-page .dep-ops-step>ul{list-style:none;margin:0 0 var(--s3);padding:var(--s2) var(--s5);background:var(--panel);border-radius:var(--radius-lg)}
#app .departure-ops-page .dep-ops-step>ul li{padding:var(--s2) 0}
#app .departure-ops-page .dep-ops-step>ul li+li{border-top:1px solid var(--line)}
#app .departure-ops-page .dep-ops-guide-map{list-style:none;margin:var(--s2) 0 0;padding:0}
#app .departure-ops-page .dep-ops-guide-map li{padding:var(--s2) 0;border-top:1px solid var(--line)}

/* ─── Communications and the booking drawer ─── */
#app>.comms-view{padding-top:var(--s3)}
#app .compact-day .comms-view{max-width:none;padding:var(--s3) 0 0}
#drawer .detail-sec-title{margin-bottom:var(--s2)}
#drawer :is(.pickup-form,.audit-list){background:var(--card);border:0;border-radius:var(--radius-lg)}
#drawer .audit-item{background:var(--panel)}

/* ─── Narrow screens ─── */
@media(max-width:767px){
  :is(#app,#drawer,#inv-panel,.gm-overlay) :is(.mkt-tabs,.mkt-ov-period-row,.mkt-range-actions,.period-choices,.tp-day-strip,.ledger-experience-tabs,.calendar-tabs){flex-wrap:wrap;overflow:visible}
  :is(#app,#drawer,#inv-panel,.gm-overlay) :is(.mkt-tabs,.mkt-ov-period-row,.mkt-range-actions,.period-choices,.tp-day-strip,.ledger-experience-tabs,.calendar-tabs,.reviews-tabs)>:is(button,.button,.btn){flex:1 1 auto;margin-bottom:-1px}
  #app .compact-day .week-actions{width:100%}
  #app .compact-day .week-actions>.button{flex:1 1 0;min-width:0;padding:0 var(--s2)}
  #app .compact-day .week-actions>.week-jump{flex:1 1 100%;margin:var(--s3) 0 0}
  #app .compact-day .week-jump input{width:100%}
  #app .compact-day .week-day,#app .compact-day .week-day.selected-day{border:1px solid transparent!important;outline:0}
  #app .compact-day .week-day.selected-day{border-color:var(--accent)!important}
  #app>:is(.mkt-view,.tp-view,.mg-view,.comms-view,.revenue-view,.departure-ops-page,.message-center,.reviews-page,.search-results-wrap){padding:0 var(--s4) var(--s5)}
  #app>:is(.back-btn,.ledger-empty){margin-left:var(--s4);margin-right:var(--s4)}
  #app :is(.message-center section,.message-center .guide-create,.departure-ops-config,.ledger-marketing-panel){padding:var(--s4)}
  #app .departure-ops-page .dep-ops-tour .departure-ops-config{padding:var(--s4) 0 0}
  #app .departure-ops-page .dep-ops-fields{grid-template-columns:1fr}
  #app .departure-ops-page .dep-ops-step>ul{padding:var(--s2) var(--s4)}
  #app .departure-ops-page .guide-actions>*{flex:1 1 auto}
  #app .tp-view .tp-card{border-right:0;border-bottom:1px solid var(--line);padding:var(--s3) var(--s4)}
}
/* ─── Departure operations, compact ───
   Whole-width page: tours and buses sit side by side, guests are dense rows,
   headers and buttons are small. No fixed widths, so 360 to 1920 px fits. */
#app .departure-ops-page{box-sizing:border-box;width:100%;min-width:0;overflow-wrap:anywhere}
#app .departure-ops-page .departure-ops-heading{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2) var(--s4);margin-bottom:var(--s2)}
#app .departure-ops-page .departure-ops-heading h2{margin:0;font-size:18px}
#app .departure-ops-page .departure-ops-day-picker{margin:0}
#app .departure-ops-page .dep-ops-step{margin:0 0 var(--s3)}
#app .departure-ops-page .dep-ops-step>h3,#app .departure-ops-page .departure-ops-confirm>h3{margin:0 0 var(--s2);font-size:14px}
#app .departure-ops-page .dep-ops-tour-picker{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:var(--s2)}
#app .departure-ops-page .dep-ops-tour-toggle{min-height:40px;padding:var(--s1) var(--s3);width:100%;min-width:0}
#app .departure-ops-page .dep-ops-tours{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,520px),1fr));gap:var(--s3);align-items:start}
#app .departure-ops-page .dep-ops-tours>.dep-ops-tour{min-width:0;margin:0;padding:var(--s3);border:1px solid var(--card-line);border-radius:var(--radius-lg);background:var(--card)}
#app .departure-ops-page .dep-ops-tour .departure-ops-config{padding:0}
#app .departure-ops-page .dep-ops-tour-head h3{font-size:15px}
#app .departure-ops-page .departure-ops-confirm{padding:var(--s3);margin:var(--s3) 0}
#app .departure-ops-page .dep-ops-bus-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:var(--s2)}
#app .departure-ops-page .dep-ops-bus{padding:var(--s3);min-width:0}
#app .departure-ops-page .dep-ops-bus-head h4{font-size:14px}
#app .departure-ops-page .dep-ops-bus-count{font-size:12px;font-weight:600;color:var(--muted)}
#app .departure-ops-page .dep-ops-bus .dep-ops-fields{grid-template-columns:minmax(0,110px) minmax(0,1fr);gap:0 var(--s2)}
#app .departure-ops-page .dep-ops-bus .dep-ops-fields label{margin:var(--s1) 0;font-size:12px}
#app .departure-ops-page .dep-ops-bus-bookings{margin:var(--s2) 0 0;padding:0;gap:0}
#app .departure-ops-page .dep-ops-row{display:flex;flex-wrap:wrap;align-items:center;gap:2px var(--s3);padding:var(--s1) 0;border-bottom:1px solid var(--line);font-size:13px;line-height:1.35}
#app .departure-ops-page .dep-ops-row:last-child{border-bottom:0}
#app .departure-ops-page .dep-ops-row-main{flex:1 1 150px;min-width:0}
#app .departure-ops-page .dep-ops-row-pax{flex:none;color:var(--muted);white-space:nowrap}
#app .departure-ops-page .dep-ops-row-pickup{flex:1 1 140px;min-width:0;color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#app .departure-ops-page .dep-ops-row-btn{flex:none;min-height:32px;padding:0 var(--s3);font-size:12px}
#app .departure-ops-page .dep-ops-row-panel{flex:1 1 100%;display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--s2);padding:var(--s2);border-radius:var(--radius);background:var(--soft)}
#app .departure-ops-page .dep-ops-row-panel label{display:flex;flex-direction:column;gap:2px;flex:1 1 220px;min-width:0;margin:0;font-size:12px}
#app .departure-ops-page .dep-ops-row-panel select{width:100%;min-width:0;min-height:36px}
#app .departure-ops-page .dep-ops-row-panel .dep-ops-move-line{flex:1 1 100%;margin:0;padding:var(--s1) var(--s2);font-size:12px}
#app .departure-ops-page .dep-ops-row-panel .button{min-height:36px}
#app .departure-ops-page .dep-ops-row-btn:focus-visible,#app .departure-ops-page .dep-ops-row-panel :is(select,.button):focus-visible{outline:2px solid var(--accent);outline-offset:2px}
#app .departure-ops-page .dep-ops-customers li,#app .departure-ops-page .dep-ops-move-rows li{padding:var(--s1) 0;font-size:13px}
/* Departure operations, owner 10.10.2026: every step is its own panel, every
   part of a tour its own box, and each bus has its own colour. */
#app .departure-ops-page .dep-ops-step{padding:var(--s3) var(--s4) var(--s4);border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--panel)}
#app .departure-ops-page .dep-ops-step>h3{margin:0 0 var(--s3);padding-bottom:var(--s2);border-bottom:2px solid var(--line-strong);font-size:17px}
#app .departure-ops-page .dep-ops-tours>.dep-ops-tour{border-color:var(--line-strong);box-shadow:inset 0 3px 0 var(--accent)}
#app .departure-ops-page .dep-ops-tour-head{padding-bottom:var(--s2);margin-bottom:var(--s2);border-bottom:1px solid var(--line-strong)}
#app .departure-ops-page .dep-ops-fieldset>:is(.departure-ops-assignment,.departure-ops-config,.dep-ops-form,.dep-ops-move,.departure-ops-preview){margin:var(--s3) 0 0;padding:var(--s3);border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--panel)}
#app .departure-ops-page .dep-ops-fieldset>:is(.departure-ops-assignment,.departure-ops-config)>h3{margin:0 0 var(--s2);font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
#app .departure-ops-page .dep-ops-bus-note{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s2) var(--s3);margin:0 0 var(--s2);padding:var(--s2) var(--s3);border-radius:var(--radius);background:var(--soft);box-shadow:inset 3px 0 var(--accent);font-size:13px}
#app .departure-ops-page .dep-ops-bus-note p{flex:1 1 260px;margin:0}
#app .departure-ops-page .dep-ops-bus-hint{margin:0 0 var(--s2);font-size:12px}
#app .departure-ops-page .dep-ops-bus{--bus:var(--accent);border:1px solid var(--bus);border-left-width:6px;background:var(--card);background:color-mix(in srgb,var(--bus) 12%,var(--card))}
#app .departure-ops-page .dep-ops-bus.is-bus-1{--bus:#3b82f6}
#app .departure-ops-page .dep-ops-bus.is-bus-2{--bus:#d97706}
#app .departure-ops-page .dep-ops-bus.is-bus-3{--bus:#a855f7}
#app .departure-ops-page .dep-ops-bus.is-bus-4{--bus:#0d9488}
#app .departure-ops-page .dep-ops-bus.is-empty{--bus:var(--line-strong);border-style:dashed;background:transparent;color:var(--muted)}
#app .departure-ops-page .dep-ops-bus-head{align-items:center;padding-bottom:var(--s2);border-bottom:1px solid var(--bus)}
#app .departure-ops-page .dep-ops-bus.is-empty .dep-ops-bus-head{padding-bottom:0;border-bottom:0}
#app .departure-ops-page .dep-ops-bus-head h4{font-size:16px;font-weight:700}
#app .departure-ops-page .dep-ops-bus-count{font-size:13px;color:var(--text)}
#app .departure-ops-page .dep-ops-bus-part{margin-top:var(--s3)}
#app .departure-ops-page .dep-ops-bus-part>h5{margin:0 0 var(--s1);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
#app .departure-ops-page .dep-ops-bus-bookings{margin:0;padding:0;border-top:0;display:grid;gap:var(--s1)}
#app .departure-ops-page .dep-ops-row,#app .departure-ops-page .dep-ops-row:last-child{padding:var(--s2) var(--s3);border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}
#app .departure-ops-page .dep-ops-row-pax{font-weight:700;color:var(--text)}
#app .departure-ops-page select.dep-ops-row-bus{flex:none;width:auto;min-width:0;max-width:100%;min-height:32px;padding:2px var(--s2);font-size:12px}
#app .departure-ops-page select.dep-ops-row-bus:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
#app .departure-ops-page .dep-ops-row-back{min-height:32px;padding:2px var(--s2);font-size:12px;white-space:nowrap}
#app .departure-ops-page .dep-ops-address-add{min-height:32px;padding:2px var(--s2);font-size:12px;border-color:var(--danger);color:var(--danger)}
#app .departure-ops-page .dep-ops-address-edit{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--s1);max-width:100%}
#app .departure-ops-page .dep-ops-address-edit input{min-width:min(280px,100%);min-height:32px}
@media(max-width:600px){#app .departure-ops-page select.dep-ops-row-bus{min-height:40px;flex:1 1 100%}#app .departure-ops-page .dep-ops-step{padding:var(--s2) var(--s3) var(--s3)}}
@media(max-width:600px){
  #app .departure-ops-page .dep-ops-row-btn,#app .departure-ops-page .dep-ops-row-panel :is(select,.button),#app .departure-ops-page .dep-ops-tour-toggle{min-height:40px}
  #app .departure-ops-page .dep-ops-row-btn{padding:0 var(--s4)}
  #app .departure-ops-page .dep-ops-tours>.dep-ops-tour{padding:var(--s2)}
  #app .departure-ops-page .dep-ops-bus .dep-ops-fields{grid-template-columns:1fr}
  #app .departure-ops-page .dep-ops-row-pickup{white-space:normal}
}


#app .conn-page{display:grid;gap:var(--s4);min-width:0;padding:0 24px 32px}
#app .conn-intro{margin:0;color:var(--text-muted);max-width:70ch}
#app .conn-grid{display:grid;grid-template-columns:1fr;gap:var(--s3);min-width:0}
@media(min-width:700px){#app .conn-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1100px){#app .conn-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
#app .conn-card{display:grid;align-content:start;gap:var(--s2);min-width:0;padding:var(--s4);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow-wrap:anywhere}
#app .conn-card h3{margin:0;font-size:16px}
#app .conn-icon{vertical-align:-3px}
#app .conn-summary{margin:0}
#app .conn-live{margin:0;min-height:1.2em;color:var(--text-muted);font-size:13px}
#app .conn-keys{display:grid;grid-template-columns:1fr;gap:var(--s3)}
@media(min-width:700px){#app .conn-keys{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1100px){#app .conn-keys{grid-template-columns:repeat(3,minmax(0,1fr))}}
#app .conn-keys-group{padding:var(--s3);border:1px solid var(--border);border-radius:var(--radius);min-width:0}
#app .conn-keys-group h3{margin:0 0 var(--s2);font-size:14px}
#app .conn-keys-group ul{margin:0;padding:0;list-style:none;display:grid;gap:4px;font-size:13px;overflow-wrap:anywhere}
#app .conn-key-state[data-bad="1"]{color:var(--danger)}
#app .conn-card p{margin:0}
#app .conn-head{display:flex;justify-content:space-between;align-items:start;gap:var(--s2)}
#app .conn-badge{flex:none;padding:2px 8px;border:1px solid var(--border);border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}
#app .conn-badge[data-state="CONNECTED"]{color:var(--success)}
#app .conn-badge[data-state="NEEDS_ATTENTION"]{color:var(--danger)}
#app .conn-badge[data-state="SWITCHED_OFF"],#app .conn-badge[data-state="NOT_SET_UP"],#app .conn-badge[data-state="UNKNOWN"]{color:var(--text-muted)}
#app .conn-missing{font-size:13px}
#app .conn-missing code{font-size:12px}
#app .conn-note{font-size:13px;color:var(--text-muted)}
#app .conn-actions{display:flex;flex-wrap:wrap;gap:var(--s2);align-items:center}
#app .conn-steps summary{cursor:pointer;font-weight:600}
#app .conn-steps summary:focus-visible,#app .conn-actions a:focus-visible,#app .conn-actions button:focus-visible{outline:2px solid var(--focus,currentColor);outline-offset:2px}
#app .conn-steps ol{margin:var(--s2) 0 0;padding-left:20px;display:grid;gap:4px}
#app .conn-error{color:var(--danger)}
@media(max-width:600px){#app .conn-page{padding:0 16px 24px}}

@media(min-width:1024px){
#app{padding:16px 24px 64px}
#app#app>.page-head{padding-bottom:24px}
#app#app>.back-btn{margin:0 0 20px 24px}
#app#app :is(.reviews-page,.activity-page,.accounts-page,.conn-page){gap:28px}
#app#app :is(.customer-requests-page,.messaging-center-page){gap:32px}
#app#app .departure-ops-heading{margin-bottom:28px}
#app#app .dep-ops-step{margin-bottom:32px}
#app#app .dep-ops-step>h3{margin-bottom:14px;font-size:16px}
#app#app .dep-ops-step>h3+p{margin-top:-4px}
#app#app .dep-ops-tour-picker{gap:16px}
#app#app .departure-ops-confirm{margin:28px 0;padding:20px 24px}
#app#app .departure-ops-confirm>h3{margin-bottom:12px;font-size:16px}
#app#app .departure-ops-page .guide-actions{margin:24px 0 12px;gap:12px}
#app#app .compact-day .weekly-grid{gap:16px}
#app#app .compact-day .week-day{padding:16px}
#app#app .compact-day .calendar-region{margin:28px 0}
#app#app .reviews-board{gap:16px}
#app#app .reviews-cards{gap:14px}
#app#app .tp-header{margin-bottom:28px}
#app#app .tp-day-strip{margin-bottom:24px}
#app#app .tp-card-group{margin-bottom:28px}
#app#app .message-center .auto-list{gap:12px;margin-top:20px}
#app#app .message-center .auto-row>summary{min-height:56px;padding:8px 20px}
#app#app .message-center .auto-row-body{padding:16px 20px 24px}
#app#app .message-center .auto-switch-line{min-height:56px;gap:16px}
#app#app .message-center>.auto-row{margin-top:12px}
#app#app .message-center :is(section,.guide-create){margin-bottom:28px}
#app#app .ledger-marketing-quick{margin:28px 0}
#app#app .ledger-marketing-details{margin:36px 0}
}

/* ─── Group colours ─── */
body[data-concept=ledger]{
  --tone-daily-bg:#1d4231;--tone-daily:#9be8c3;--tone-guests-bg:#16324a;--tone-guests:#a6d8f7;
  --tone-results-bg:#3a2d10;--tone-results:#ffd98a;--tone-settings-bg:#2e2548;--tone-settings:#d2c2ff;
}
html.theme-light body[data-concept=ledger] #app{
  --tone-daily-bg:#dcfce7;--tone-daily:#166534;--tone-guests-bg:#e0f2fe;--tone-guests:#075985;
  --tone-results-bg:#fef3c7;--tone-results:#92400e;--tone-settings-bg:#ede9fe;--tone-settings:#5b21b6;
}
.nav-tile{display:inline-grid;place-items:center;flex:none;width:28px;height:28px;border-radius:8px}
.nav-tone-daily{background:var(--tone-daily-bg);color:var(--tone-daily)}
.nav-tone-guests{background:var(--tone-guests-bg);color:var(--tone-guests)}
.nav-tone-results{background:var(--tone-results-bg);color:var(--tone-results)}
.nav-tone-settings{background:var(--tone-settings-bg);color:var(--tone-settings)}

/* ─── Menu ─── */
body[data-concept=ledger] #app-nav.navigation{--focus-ring:#8ff0c5;gap:28px}
@media(min-width:1024px){body[data-concept=ledger] .navigation .nav-button{min-height:40px;padding-block:6px}}
body[data-concept=ledger] .navigation .nav-button{gap:10px;text-align:left;font-size:14px;line-height:1.3}
body[data-concept=ledger] .navigation .nav-button .ledger-nav-icon{display:block;width:18px;height:18px}
body[data-concept=ledger] .navigation .nav-button.active{box-shadow:inset 4px 0 #4cc795}
body[data-concept=ledger] .navigation .nav-label{display:block;margin:16px 0 4px 12px;padding:0;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
body[data-concept=ledger] .navigation .nav-label:first-child{margin-top:0}
body[data-concept=ledger] .navigation .nav-label-daily{color:var(--tone-daily)}
body[data-concept=ledger] .navigation .nav-label-guests{color:var(--tone-guests)}
body[data-concept=ledger] .navigation .nav-label-results{color:var(--tone-results)}
body[data-concept=ledger] .navigation .nav-label-settings{color:var(--tone-settings)}
.nav-menu-toggle{display:none}
@media(max-width:1023px){
  body[data-concept=ledger] #app-nav.navigation{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 16px}
  body[data-concept=ledger] #app-nav.navigation>div:nth-child(2){display:contents}
  body[data-concept=ledger] #app-nav .logo-backing{grid-column:1;grid-row:1}
  body[data-concept=ledger] #app-nav .nav-foot{grid-column:3;grid-row:1}
  body[data-concept=ledger] #app-nav .cs-area{grid-column:1/-1}
  .nav-menu-toggle{grid-column:2;grid-row:1;justify-self:start;display:inline-flex;align-items:center;gap:10px;min-width:0;max-width:100%;min-height:44px;padding:0 14px;border:1px solid #6f8479;border-radius:6px;background:#18221e;color:#fff;font:inherit;font-size:15px;font-weight:700;cursor:pointer}
  .nav-menu-toggle .ledger-nav-icon{display:block;flex:none;width:20px;height:20px}
  .nav-menu-current{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#b4c2bb;font-weight:500}
  .nav-menu-current:not(:empty)::before{content:"· "}
  body[data-concept=ledger] #app-nav .nav-items{display:none;grid-column:1/-1;grid-row:2}
  body[data-concept=ledger] #app-nav.nav-menu-open .nav-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:4px 8px;padding-bottom:8px}
  body[data-concept=ledger] #app-nav .nav-items .nav-label{grid-column:1/-1;margin:14px 0 2px 4px}
  body[data-concept=ledger] #app-nav .nav-items .nav-button{width:100%;min-height:48px;font-size:15px}
}

/* ─── Page title: picture, name, and one sentence on what the page is for ─── */
#app#app>.page-head{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;gap:14px}
#app>.page-head .nav-tile{width:44px;height:44px;border-radius:12px}
#app>.page-head .nav-tile .ledger-nav-icon{width:24px;height:24px}
#app>.page-head .page-head-text{min-width:0}
#app>.page-head .page-help{margin-top:2px;max-width:76ch;color:var(--muted);font-size:15px;line-height:1.45}
@media(max-width:767px){#app#app>.page-head{align-items:flex-start;gap:12px}#app>.page-head .nav-tile{width:40px;height:40px}}

/* ─── One focus ring, visible on every control ─── */
:is(#app,#app-nav,.utility,#drawer,#inv-panel,.gm-overlay) :is(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}

/* ─── Status language ───
   green + tick = fine, amber + warning sign = needs a person, red + cross =
   wrong or cancelled, blue + clock = planned or waiting, grey + dash = off or
   not relevant, violet + filled dot = full. The symbol always comes with the
   colour, so nobody has to tell the colours apart. */
body[data-concept=ledger]{
  --i-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
  --i-warn:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.5L2.5 20.5h19L12 3.5z M12 10v4.5 M12 17.6h.01'/%3E%3C/svg%3E");
  --i-cross:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 6.5l11 11 M17.5 6.5l-11 11'/%3E%3C/svg%3E");
  --i-clock:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3a9 9 0 1 0 0 18a9 9 0 0 0 0-18z M12 7.5V12l3 2'/%3E%3C/svg%3E");
  --i-dash:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12h12'/%3E%3C/svg%3E");
  --i-pause:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6v12 M15 6v12'/%3E%3C/svg%3E");
  --i-dot:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 8a4 4 0 1 0 0 8a4 4 0 0 0 0-8z M12 11a1 1 0 1 0 0 2a1 1 0 0 0 0-2z'/%3E%3C/svg%3E");
  --i-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E");
}
.tone,.tone-text{display:inline-flex;align-items:center;gap:6px;font-weight:700;line-height:1.5}
.tone{width:fit-content;padding:1px 10px 1px 8px;border-radius:999px;font-size:13px;white-space:nowrap}
:is(.tone,.tone-text)::before{content:"";flex:none;width:14px;height:14px;background:currentColor;-webkit-mask:var(--tone-icon) center/contain no-repeat;mask:var(--tone-icon) center/contain no-repeat}
.tone-good{background:var(--success-bg);color:var(--success);--tone-icon:var(--i-check)}
.tone-warn{background:var(--warning-bg);color:var(--warning-text);--tone-icon:var(--i-warn)}
.tone-bad{background:var(--danger-bg);color:var(--danger);--tone-icon:var(--i-cross)}
.tone-info{background:var(--info-bg);color:var(--info);--tone-icon:var(--i-clock)}
.tone-off{background:var(--chip-manual-bg);color:var(--chip-manual);--tone-icon:var(--i-dash)}
.tone-paused{background:var(--warning-bg);color:var(--warning-text);--tone-icon:var(--i-pause)}
.tone-text-warn{color:var(--warning-text);--tone-icon:var(--i-warn)}
.tone-text-off{color:var(--muted);font-weight:400;--tone-icon:var(--i-dash)}

/* ─── Calendar: how full a tour is ─── */
#app .compact-day .departure-choice .calendar-sales-state{display:flex;align-items:center;gap:6px}
#app .compact-day .departure-choice:is(.seats-open,.seats-low,.seats-full) .calendar-sales-state::before{content:"";flex:none;width:14px;height:14px;background:currentColor;-webkit-mask:var(--tone-icon) center/contain no-repeat;mask:var(--tone-icon) center/contain no-repeat}
#app .compact-day .departure-choice.seats-open .calendar-sales-state{color:var(--success);--tone-icon:var(--i-check)}
#app .compact-day .departure-choice.seats-low .calendar-sales-state{color:var(--warning-text);font-weight:700;--tone-icon:var(--i-warn)}
#app .compact-day .departure-choice.seats-full .calendar-sales-state{color:var(--full);font-weight:700;--tone-icon:var(--i-dot)}
#app .compact-day .departure-choice.seats-low progress::-webkit-progress-value{background:var(--warning-text)}
#app .compact-day .departure-choice.seats-low progress::-moz-progress-bar{background:var(--warning-text)}
#app .compact-day .departure-choice.seats-full progress::-webkit-progress-value{background:var(--full)}
#app .compact-day .departure-choice.seats-full progress::-moz-progress-bar{background:var(--full)}

/* ─── Day list: each booking's state in colour ─── */
#app .day-table td .tone{margin:2px 0}
#app .day-table td .ledger-secondary.tone{display:flex;font-size:13px}
#app .day-table tr.row-cancelled{background:transparent}
#app .day-table tr.row-cancelled :is(td,.ledger-guest-link,.pickup-address-edit){color:var(--muted)}
#app .day-table tr.row-cancelled .ledger-guest-link{text-decoration:line-through}

/* ─── The same symbols on every status chip that already had a colour ─── */
:is(#app,#drawer,#inv-panel,.gm-overlay,.utility) :is(.status-SCHEDULED,.status-PICKED_UP,.status-NO_SHOW,.status-UNASSIGNED,.status-ISSUE,.ss-COMPLETED,.ss-PICKED_UP,.ss-NO_SHOW,.ss-PAST_UNVERIFIED,.ss-CANCELLED,.ss-UPCOMING,.mg-status-ACTIVE,.mg-status-DRAFT,.mg-status-DISABLED,.mg-status-NOT_VERIFIED,.mg-status-TEST,.mg-status-RETIRED,.plan-status-ok,.plan-status-published,.plan-status-stale,.plan-status-blocked,.badge-cancelled,.missing-badge,.card-badge-near,.card-badge-warn,.card-badge-closed,.status.good,.status.attention,.status.issue,.auto-row-state,.delivery-mode-state)::before{content:"";display:inline-block;width:12px;height:12px;margin-right:5px;vertical-align:-1.5px;background:currentColor;-webkit-mask:var(--tone-icon) center/contain no-repeat;mask:var(--tone-icon) center/contain no-repeat}
:is(#app,#drawer,#inv-panel,.gm-overlay,.utility) :is(.status-PICKED_UP,.ss-COMPLETED,.ss-PICKED_UP,.mg-status-ACTIVE,.plan-status-ok,.plan-status-published,.status.good,.auto-row-state.is-on){--tone-icon:var(--i-check)}
:is(#app,#drawer,#inv-panel,.gm-overlay,.utility) :is(.status-SCHEDULED,.ss-UPCOMING){--tone-icon:var(--i-clock)}
:is(#app,#drawer,#inv-panel,.gm-overlay,.utility) :is(.status-UNASSIGNED,.ss-PAST_UNVERIFIED,.mg-status-TEST,.plan-status-stale,.missing-badge,.card-badge-near,.status.attention){--tone-icon:var(--i-warn)}
:is(#app,#drawer,#inv-panel,.gm-overlay,.utility) :is(.status-ISSUE,.status-NO_SHOW,.ss-NO_SHOW,.ss-CANCELLED,.mg-status-RETIRED,.plan-status-blocked,.badge-cancelled,.card-badge-warn,.status.issue){--tone-icon:var(--i-cross)}
:is(#app,#drawer,#inv-panel,.gm-overlay,.utility) :is(.mg-status-DRAFT,.mg-status-DISABLED,.mg-status-NOT_VERIFIED,.card-badge-closed,.auto-row-state){--tone-icon:var(--i-dash)}
/* A planned pickup is blue, not the green of one that has happened. */
:is(#app,#drawer,#inv-panel,.gm-overlay,.utility) .status-SCHEDULED{background:var(--info-bg);color:var(--info)}

/* ─── Is sending on? The header button and the panel say it the same way ─── */
:is(#app,#drawer,#inv-panel,.gm-overlay,.utility) .delivery-mode-state{--tone-icon:var(--i-pause)}
:is(#app,#drawer,#inv-panel,.gm-overlay,.utility) :is(.sending-switch,.delivery-mode-panel).is-on .delivery-mode-state{color:var(--success);--tone-icon:var(--i-check)}
:is(#app,#drawer,#inv-panel,.gm-overlay,.utility) :is(.sending-switch,.delivery-mode-panel).is-paused .delivery-mode-state{color:var(--warning-text);--tone-icon:var(--i-pause)}
:is(#app,#drawer,#inv-panel,.gm-overlay,.utility) :is(.sending-switch,.delivery-mode-panel).is-unknown .delivery-mode-state{color:var(--danger);--tone-icon:var(--i-warn)}
:is(#app,#drawer,#inv-panel,.gm-overlay,.utility) .sending-switch.is-on{border-color:var(--success);box-shadow:inset 3px 0 var(--success)}
#app .message-center .auto-row-state{display:inline-flex;align-items:center;padding:2px 10px 2px 8px;border-radius:999px;background:var(--chip-manual-bg);color:var(--chip-manual);font-size:13px;letter-spacing:0;text-transform:none}
#app .message-center .auto-row-state.is-on{background:var(--success-bg);color:var(--success)}

/* ─── Nothing smaller than 12px ─── */
#app#app :is(.ov-chart-sub,.tp-warn-cell,.mkt-week-date,.mkt-week-before,.mkt-ov-card-sub,.mkt-ov-card-lbl,.ledger-eyebrow,.tp-calc-small,.tp-type-badge,.tp-hand-mark){font-size:12px}
#app#app .tp-row-limitations,#app#app .tp-row-limitations :is(strong,li){font-size:13px;line-height:1.45}
#app#app svg text{font-size:12px}

/* ─── Nothing to click that is hard to hit ─── */
#app#app details>summary:not([class]){padding-block:11px;cursor:pointer}
#app#app :is(.back-btn,.calendar-availability-button,.ledger-day-operations){min-height:var(--control-h);display:inline-flex;align-items:center}
#app#app .day-table .ledger-guest-link{padding-block:8px}

/* The owner's OpenDesign palette. It sits on the page itself, so the three
   stages and Manage pickups share it and no other screen changes. The second
   group gives the CRM's own token names the same colours, for the few parts
   of this page that keep their CRM markup. */
#app>.departure-ops-page,dialog.dox-dialog{--bg:oklch(0.213144 0.019795 166.684);--surface:oklch(0.267070 0.027276 163.523);--surface-alt:oklch(0.338022 0.040709 159.659);--raised:oklch(0.362733 0.044095 158.198);--text:oklch(0.947701 0.010775 158.841);--muted:oklch(0.808202 0.026610 161.781);--primary:oklch(0.725257 0.134517 162.006);--on-primary:oklch(0.202594 0.023124 165.206);--border:oklch(0.412732 0.033761 160.613);--border-strong:oklch(0.604809 0.037402 162.491);--bus:oklch(0.745806 0.111162 244.383);--bus-bg:oklch(0.273318 0.040397 246.880);--van:oklch(0.802910 0.138174 77.185);--van-bg:oklch(0.285688 0.042993 88.428);--danger:oklch(0.759935 0.143497 29.053);--danger-bg:oklch(0.267544 0.047854 26.726);--warn:oklch(0.829794 0.142593 86.243);--warn-bg:oklch(0.285688 0.042993 88.428);--ok:oklch(0.725257 0.134517 162.006);--ok-bg:oklch(0.295274 0.039082 171.095);--v1:oklch(0.649077 0.113572 181.963);--v2:oklch(0.678465 0.163510 43.054);--v3:oklch(0.605631 0.218915 292.717);--radius:10px;--fg:var(--text);--accent:var(--primary);--font:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--mono:ui-monospace,"SFMono-Regular",Consolas,monospace;--panel:var(--surface);--card:var(--surface-alt);--line:var(--border);--line-strong:var(--border-strong);--success:var(--ok);--success-bg:var(--ok-bg);--warning-bg:var(--warn-bg);--warning-text:var(--warn);--soft:var(--surface-alt);--card-line:var(--border);--accent-text:var(--primary);--on-accent:var(--on-primary);--input-bg:var(--bg);--focus-ring:var(--primary);color-scheme:dark;color:var(--text)}
html.theme-light #app>.departure-ops-page,html.theme-light dialog.dox-dialog{--bg:oklch(0.972555 0.004985 165.009);--surface:oklch(1.000000 0.000000 89.876);--surface-alt:oklch(0.945765 0.022328 160.220);--raised:oklch(0.964724 0.012375 157.002);--text:oklch(0.268723 0.031200 164.019);--muted:oklch(0.482480 0.036410 162.005);--primary:oklch(0.492589 0.108184 157.412);--on-primary:oklch(1.000000 0.000000 89.876);--border:oklch(0.879595 0.021879 158.536);--border-strong:oklch(0.699427 0.037949 161.881);--bus:oklch(0.529056 0.129006 248.798);--bus-bg:oklch(0.952532 0.016885 242.428);--van:oklch(0.548270 0.117080 72.508);--van-bg:oklch(0.960430 0.029660 85.564);--danger:oklch(0.501282 0.178318 28.705);--danger-bg:oklch(0.949461 0.022054 24.440);--warn:oklch(0.507809 0.107998 73.298);--warn-bg:oklch(0.964966 0.036918 90.065);--ok:oklch(0.492589 0.108184 157.412);--ok-bg:oklch(0.945765 0.022328 160.220);color-scheme:light}
/* The content column takes the page's background up to the navigation. */
.main:has(>#app>.departure-ops-page){background:oklch(0.213144 0.019795 166.684)}
html.theme-light .main:has(>#app>.departure-ops-page){background:oklch(0.972555 0.004985 165.009)}
/* The design sets its own page margins, so the CRM's are taken off here. */
#app:has(>.departure-ops-page.dox){padding:0}
/* The design stylesheet, every class prefixed and scoped to this page. */
#app .departure-ops-page.dox{--bg:oklch(0.213144 0.019795 166.684);--surface:oklch(0.267070 0.027276 163.523);--surface-alt:oklch(0.338022 0.040709 159.659);--raised:oklch(0.362733 0.044095 158.198);--text:oklch(0.947701 0.010775 158.841);--muted:oklch(0.808202 0.026610 161.781);--primary:oklch(0.725257 0.134517 162.006);--on-primary:oklch(0.202594 0.023124 165.206);--border:oklch(0.412732 0.033761 160.613);--border-strong:oklch(0.604809 0.037402 162.491);--bus:oklch(0.745806 0.111162 244.383);--bus-bg:oklch(0.273318 0.040397 246.880);--van:oklch(0.802910 0.138174 77.185);--van-bg:oklch(0.285688 0.042993 88.428);--danger:oklch(0.759935 0.143497 29.053);--danger-bg:oklch(0.267544 0.047854 26.726);--warn:oklch(0.829794 0.142593 86.243);--warn-bg:oklch(0.285688 0.042993 88.428);--ok:oklch(0.725257 0.134517 162.006);--ok-bg:oklch(0.295274 0.039082 171.095);--v1:oklch(0.649077 0.113572 181.963);--v2:oklch(0.678465 0.163510 43.054);--v3:oklch(0.605631 0.218915 292.717);--radius:10px;}
html.theme-light #app .departure-ops-page.dox{--bg:oklch(0.972555 0.004985 165.009);--surface:oklch(1.000000 0.000000 89.876);--surface-alt:oklch(0.945765 0.022328 160.220);--raised:oklch(0.964724 0.012375 157.002);--text:oklch(0.268723 0.031200 164.019);--muted:oklch(0.482480 0.036410 162.005);--primary:oklch(0.492589 0.108184 157.412);--on-primary:oklch(1.000000 0.000000 89.876);--border:oklch(0.879595 0.021879 158.536);--border-strong:oklch(0.699427 0.037949 161.881);--bus:oklch(0.529056 0.129006 248.798);--bus-bg:oklch(0.952532 0.016885 242.428);--van:oklch(0.548270 0.117080 72.508);--van-bg:oklch(0.960430 0.029660 85.564);--danger:oklch(0.501282 0.178318 28.705);--danger-bg:oklch(0.949461 0.022054 24.440);--warn:oklch(0.507809 0.107998 73.298);--warn-bg:oklch(0.964966 0.036918 90.065);--ok:oklch(0.492589 0.108184 157.412);--ok-bg:oklch(0.945765 0.022328 160.220);}
#app .departure-ops-page.dox *{box-sizing:border-box}
#app .departure-ops-page.dox{margin:0;background:var(--bg);color:var(--text);font:16px/1.45 Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-variant-numeric:tabular-nums}
#app .departure-ops-page.dox button,#app .departure-ops-page.dox input,#app .departure-ops-page.dox select{font:inherit;color:inherit}
#app .departure-ops-page.dox button{cursor:pointer}
#app .departure-ops-page.dox button:disabled{opacity:.5;cursor:not-allowed}
#app .departure-ops-page.dox button:focus-visible,#app .departure-ops-page.dox input:focus-visible,#app .departure-ops-page.dox select:focus-visible,#app .departure-ops-page.dox a:focus-visible{outline:3px solid var(--bus);outline-offset:2px}
#app .departure-ops-page.dox h1,#app .departure-ops-page.dox h2,#app .departure-ops-page.dox h3,#app .departure-ops-page.dox h4,#app .departure-ops-page.dox p{margin:0}
#app .departure-ops-page.dox h1{font-size:22px;letter-spacing:-.3px}
#app .departure-ops-page.dox h2{font-size:18px}
#app .departure-ops-page.dox h3{font-size:16px}
#app .departure-ops-page.dox .dox-muted{color:var(--muted)}
#app .departure-ops-page.dox .dox-small{font-size:13px}
#app .departure-ops-page.dox .dox-ico{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#app .departure-ops-page.dox .dox-ico.dox-lg{width:26px;height:26px}
#app .departure-ops-page.dox .dox-row{display:flex;align-items:center;gap:10px}
#app .departure-ops-page.dox .dox-row.dox-wrapx{flex-wrap:wrap}
#app .departure-ops-page.dox .dox-grow{flex:1;min-width:0}
#app .departure-ops-page.dox .dox-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 16px;border-radius:999px;border:1px solid var(--border-strong);background:var(--surface);font-weight:600}
#app .departure-ops-page.dox .dox-btn.dox-primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}
#app .departure-ops-page.dox .dox-btn.dox-ghost{border-color:transparent;background:transparent}
#app .departure-ops-page.dox .dox-btn.dox-sm{min-height:36px;padding:4px 12px;font-size:14px}
#app .departure-ops-page.dox .dox-btn.dox-icon{width:44px;padding:0}
#app .departure-ops-page.dox .dox-btn.dox-danger{border-color:var(--danger);color:var(--danger)}
#app .departure-ops-page.dox .dox-chip{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;font-size:13px;font-weight:600;background:var(--surface-alt);color:var(--text);white-space:nowrap}
#app .departure-ops-page.dox .dox-chip .dox-ico{width:14px;height:14px}
#app .departure-ops-page.dox .dox-chip.dox-bus{background:var(--bus-bg);color:var(--bus)}
#app .departure-ops-page.dox .dox-chip.dox-van{background:var(--van-bg);color:var(--van)}
#app .departure-ops-page.dox .dox-chip.dox-ok{background:var(--ok-bg);color:var(--ok)}
#app .departure-ops-page.dox .dox-chip.dox-warn{background:var(--warn-bg);color:var(--warn)}
#app .departure-ops-page.dox .dox-chip.dox-danger{background:var(--danger-bg);color:var(--danger)}
#app .departure-ops-page.dox .dox-chip.dox-quiet{background:transparent;border:1px solid var(--border);color:var(--muted);font-weight:500}
#app .departure-ops-page.dox .dox-tile{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;flex:none}
#app .departure-ops-page.dox .dox-tile.dox-bus{background:var(--bus-bg);color:var(--bus)}
#app .departure-ops-page.dox .dox-tile.dox-van{background:var(--van-bg);color:var(--van)}
#app .departure-ops-page.dox .dox-meter{height:6px;border-radius:3px;background:var(--surface-alt);overflow:hidden;min-width:70px}
#app .departure-ops-page.dox .dox-meter i{display:block;height:100%;background:var(--primary)}
#app .departure-ops-page.dox .dox-meter.dox-full i{background:var(--danger)}
#app .departure-ops-page.dox input[type=text],#app .departure-ops-page.dox select{min-height:40px;border-radius:8px;border:1px solid var(--border-strong);background:var(--bg);padding:6px 10px;width:100%}
#app .departure-ops-page.dox .dox-tick{width:24px;height:24px;flex:none;accent-color:var(--primary)}
#app .departure-ops-page.dox .dox-empty-note{padding:18px;text-align:center;color:var(--muted);font-size:14px}
#app .departure-ops-page.dox .dox-stack{display:grid;gap:8px}
#app .departure-ops-page.dox textarea{font:inherit;color:inherit;width:100%;min-height:104px;border-radius:8px;border:1px solid var(--border-strong);background:var(--bg);padding:8px 10px;resize:vertical}
#app .departure-ops-page.dox .dox-meter{min-width:30px}
#app .departure-ops-page.dox{--fg:var(--text);--accent:var(--primary);--font:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--mono:ui-monospace,"SFMono-Regular",Consolas,monospace}
#app .departure-ops-page.dox{font-family:var(--font);font-size:15px;line-height:1.5}
#app .departure-ops-page.dox button,#app .departure-ops-page.dox input,#app .departure-ops-page.dox select,#app .departure-ops-page.dox textarea{font-family:var(--font)}
#app .departure-ops-page.dox button,#app .departure-ops-page.dox a,#app .departure-ops-page.dox input,#app .departure-ops-page.dox select,#app .departure-ops-page.dox textarea,#app .departure-ops-page.dox summary{touch-action:manipulation}
#app .departure-ops-page.dox button,#app .departure-ops-page.dox a{-webkit-tap-highlight-color:transparent}
#app .departure-ops-page.dox button:focus-visible,#app .departure-ops-page.dox input:focus-visible,#app .departure-ops-page.dox select:focus-visible,#app .departure-ops-page.dox a:focus-visible,#app .departure-ops-page.dox textarea:focus-visible,#app .departure-ops-page.dox summary:focus-visible{outline:3px solid var(--primary);outline-offset:3px}
#app .departure-ops-page.dox button:disabled{opacity:.5}
#app .departure-ops-page.dox .dox-btn{border-radius:8px;font-size:14px;line-height:1.35;min-height:44px;max-width:100%;padding:10px 15px}
#app .departure-ops-page.dox .dox-btn.dox-sm{min-height:44px}
#app .departure-ops-page.dox .dox-btn:hover:not(:disabled){border-color:var(--text);color:var(--text);box-shadow:0 1px 0 var(--border-strong)}
#app .departure-ops-page.dox .dox-btn.dox-primary:hover:not(:disabled){background:oklch(0.38 0.08 158);border-color:oklch(0.38 0.08 158);color:oklch(1 0 0)}
#app .departure-ops-page.dox .dox-btn.dox-danger:hover:not(:disabled){background:var(--danger-bg);color:var(--danger);border-color:var(--danger)}
#app .departure-ops-page.dox button.dox-link,#app .departure-ops-page.dox .dox-text-link{border:0;background:none;color:var(--text);text-align:left;padding:5px 0;min-height:44px;text-underline-offset:4px;font-weight:600}
#app .departure-ops-page.dox .dox-text-link:hover,#app .departure-ops-page.dox button.dox-link:hover{text-decoration:underline;color:var(--text)}
#app .departure-ops-page.dox{max-width:1380px;padding:0 30px 100px;margin:auto}
#app .departure-ops-page.dox .dox-page-head{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:27px 0 25px;flex-wrap:wrap}
#app .departure-ops-page.dox h1{font-size:30px;line-height:1.2;font-weight:650;letter-spacing:-.9px}
#app .departure-ops-page.dox h2{font-size:22px;letter-spacing:-.4px;line-height:1.3}
#app .departure-ops-page.dox h3{font-size:17px;letter-spacing:-.15px}
#app .departure-ops-page.dox h4{font-size:15px}
#app .departure-ops-page.dox .dox-subtitle{margin-top:7px;color:var(--muted);font-size:14px}
#app .departure-ops-page.dox .dox-eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:600}
#app .departure-ops-page.dox .dox-subtle{font-size:13px;color:var(--muted)}
#app .departure-ops-page.dox .dox-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
#app .departure-ops-page.dox .dox-date-control{display:flex;align-items:center;border:1px solid var(--border-strong);border-radius:8px;max-width:100%;background:var(--surface)}
#app .departure-ops-page.dox .dox-date-control button{border:0;background:none;width:44px;min-height:44px;color:var(--text);font-size:22px}
#app .departure-ops-page.dox .dox-date-control button:hover{background:var(--raised)}
#app .departure-ops-page.dox .dox-date-control input{width:125px;border:0;background:none;min-height:44px;text-align:center;padding:0;font-size:14px;font-weight:600}
#app .departure-ops-page.dox .dox-stage-rail{display:flex;gap:28px;border-bottom:1px solid var(--border);margin-bottom:26px}
#app .departure-ops-page.dox .dox-stage-tab{background:none;border:0;border-bottom:2px solid transparent;padding:0 0 15px;min-height:46px;color:var(--muted);font-size:14px;font-weight:600}
#app .departure-ops-page.dox .dox-stage-tab[aria-current=step]{color:var(--text);border-bottom-color:var(--primary)}
#app .departure-ops-page.dox .dox-stage-tab:hover:not(:disabled){color:var(--text)}
#app .departure-ops-page.dox .dox-stage-tab:disabled{opacity:.6}
#app .departure-ops-page.dox .dox-stage-tab .dox-ico{width:16px;height:16px;vertical-align:-3px;margin-right:6px}
#app .departure-ops-page.dox .dox-section-intro{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:20px}
#app .departure-ops-page.dox .dox-section-intro p{color:var(--muted);margin-top:6px;max-width:670px}
#app .departure-ops-page.dox .dox-stage-action{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:8px;max-width:340px;text-align:right}
#app .departure-ops-page.dox .dox-stage-action .dox-btn{min-height:44px;white-space:nowrap}
#app .departure-ops-page.dox .dox-section-intro .dox-stage-action p{margin-top:0;max-width:none}
#app .departure-ops-page.dox .dox-stage-action p[hidden]{display:none}
#app .departure-ops-page.dox .dox-pool-failed p{margin-bottom:10px}
#app .departure-ops-page.dox .dox-text-meta{display:flex;gap:8px 20px;flex-wrap:wrap;font-size:13px;color:var(--muted)}
#app .departure-ops-page.dox .dox-text-meta strong{color:var(--text)}
#app .departure-ops-page.dox .dox-tour-board{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}
#app .departure-ops-page.dox .dox-tour-lane{border:1px solid var(--border);border-radius:12px;min-width:0;background:var(--surface)}
#app .departure-ops-page.dox .dox-tour-head{padding:20px;display:flex;gap:12px;align-items:center;border-bottom:1px solid var(--border)}
#app .departure-ops-page.dox .dox-tour-head .dox-tile{border-radius:9px}
#app .departure-ops-page.dox .dox-tour-head h3{font-size:20px;font-weight:650}
#app .departure-ops-page.dox .dox-tour-head .dox-include{display:flex;align-items:center;justify-content:center;width:44px;min-height:44px;flex:none}
#app .departure-ops-page.dox .dox-tour-stats{color:var(--muted);font-size:13px;margin-top:3px}
#app .departure-ops-page.dox .dox-tour-actions{padding:0 20px;min-height:47px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);font-size:13px;color:var(--muted)}
#app .departure-ops-page.dox .dox-select-label{display:flex;align-items:center;min-height:44px;gap:10px;cursor:pointer;color:var(--muted)}
#app .departure-ops-page.dox .dox-tick{width:18px;height:18px;flex:none;margin:0}
#app .departure-ops-page.dox .dox-tour-foot{padding:14px 20px;border-top:1px solid var(--border);font-size:13px;color:var(--muted)}
#app .departure-ops-page.dox .dox-tour-foot details summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:8px}
#app .departure-ops-page.dox .dox-tour-foot select{margin:6px 0 12px}
#app .departure-ops-page.dox .dox-booking-list{list-style:none;padding:0;margin:0}
#app .departure-ops-page.dox .dox-booking{display:flex;align-items:flex-start;gap:10px;padding:14px 20px;border-bottom:1px solid var(--border);min-width:0}
#app .departure-ops-page.dox .dox-booking:last-child{border-bottom:0}
#app .departure-ops-page.dox .dox-booking .dox-select-hit{width:28px;min-height:44px;display:flex;align-items:flex-start;padding-top:9px;flex:none;cursor:pointer}
#app .departure-ops-page.dox .dox-booking-body{min-width:0;flex:1}
#app .departure-ops-page.dox .dox-booking-name{display:inline-block;border:0;background:none;padding:0;min-height:30px;font-weight:600;font-size:15px;color:var(--text);text-align:left}
#app .departure-ops-page.dox .dox-booking-name:hover{text-decoration:underline;text-underline-offset:3px}
#app .departure-ops-page.dox .dox-booking-meta{display:flex;align-items:center;flex-wrap:wrap;gap:3px 8px;color:var(--muted);font-size:12px}
#app .departure-ops-page.dox .dox-booking-address{font-size:13px;color:var(--muted);margin-top:3px;overflow-wrap:anywhere}
#app .departure-ops-page.dox .dox-booking-address .dox-ico{width:13px;height:13px;vertical-align:-2px;margin-right:4px}
#app .departure-ops-page.dox .dox-booking-pax{font-size:14px;line-height:30px;white-space:nowrap;font-variant-numeric:tabular-nums}
#app .departure-ops-page.dox .dox-booking-pax span{font-size:12px;color:var(--muted)}
#app .departure-ops-page.dox .dox-booking.dox-selected{background:var(--ok-bg);box-shadow:inset 3px 0 var(--primary)}
#app .departure-ops-page.dox .dox-booking[draggable=true]{cursor:grab}
#app .departure-ops-page.dox .dox-inline-action{border:0;background:none;color:var(--text);font-size:13px;padding:0;min-height:44px;text-decoration:underline;text-underline-offset:3px}
#app .departure-ops-page.dox .dox-problem-text{color:var(--warn);font-size:12px;display:flex;align-items:center;gap:5px;flex-wrap:wrap}
#app .departure-ops-page.dox .dox-problem-text .dox-ico{width:14px;height:14px}
#app .departure-ops-page.dox .dox-problem-text .dox-inline-action{color:var(--warn)}
#app .departure-ops-page.dox .dox-chip{border-radius:5px;padding:2px 6px;font-size:11px;white-space:normal}
#app .departure-ops-page.dox .dox-move-back{font-size:12px;min-height:30px}
#app .departure-ops-page.dox .dox-tour-lane.dox-over,#app .departure-ops-page.dox .dox-vehicle-card.dox-over{outline:2px solid var(--primary);outline-offset:3px}
#app .departure-ops-page.dox .dox-board-footer{margin-top:20px;padding:20px 0;display:flex;gap:20px;align-items:center;justify-content:space-between;border-top:1px solid var(--border)}
#app .departure-ops-page.dox .dox-next-copy{max-width:620px;color:var(--muted);font-size:14px}
#app .departure-ops-page.dox .dox-next-copy strong{color:var(--text);display:block;margin-bottom:3px}
#app .departure-ops-page.dox .dox-move-controls{margin-top:18px;background:var(--raised);border:1px solid var(--border-strong);border-radius:10px;padding:18px 20px;display:flex;gap:20px;align-items:center;flex-wrap:wrap}
#app .departure-ops-page.dox .dox-move-controls .dox-grow{flex:1 1 300px}
#app .departure-ops-page.dox .dox-move-controls select{min-width:220px;max-width:280px}
#app .departure-ops-page.dox .dox-move-summary{font-size:13px;color:var(--muted);margin-top:5px}
#app .departure-ops-page.dox .dox-move-meeting{margin-top:8px;max-width:440px}
#app .departure-ops-page.dox .dox-notice{border:1px solid var(--border-strong);background:var(--surface-alt);padding:13px 16px;border-radius:8px;display:flex;align-items:flex-start;gap:10px;margin:0 0 20px;font-size:14px}
#app .departure-ops-page.dox .dox-notice.dox-warn{background:var(--warn-bg);border-color:var(--warn);color:var(--text)}
#app .departure-ops-page.dox .dox-notice.dox-error{background:var(--danger-bg);border-color:var(--danger);color:var(--text)}
#app .departure-ops-page.dox .dox-notice .dox-ico{margin-top:1px}
#app .departure-ops-page.dox .dox-notice p{flex:1}
#app .departure-ops-page.dox .dox-notice.dox-ok .dox-ico{color:var(--ok)}
#app .departure-ops-page.dox .dox-notice.dox-warn .dox-ico{color:var(--warn)}
#app .departure-ops-page.dox .dox-notice.dox-error .dox-ico{color:var(--danger)}
#app .departure-ops-page.dox .dox-notice button{margin:-8px -7px -8px 0}
#app .departure-ops-page.dox .dox-notice .dox-notice-body{flex:1;min-width:0}
#app .departure-ops-page.dox .dox-notice .dox-notice-body ul{margin:6px 0;padding-left:18px}
#app .departure-ops-page.dox .dox-notice .dox-notice-body .dox-btn{margin:10px 0 0}
#app .departure-ops-page.dox .dox-empty-state{padding:56px 20px;text-align:center;display:grid;justify-items:center;gap:12px}
#app .departure-ops-page.dox .dox-empty-state p{max-width:420px;color:var(--muted)}
#app .departure-ops-page.dox .dox-secondary-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:32px;margin-top:30px;border-top:1px solid var(--border);padding-top:24px}
#app .departure-ops-page.dox .dox-secondary-grid h3{margin-bottom:14px}
#app .departure-ops-page.dox .dox-activity{list-style:none;margin:0;padding:0}
#app .departure-ops-page.dox .dox-activity li{display:grid;grid-template-columns:68px 1fr;gap:14px;font-size:13px;padding:11px 0;border-bottom:1px solid var(--border)}
#app .departure-ops-page.dox .dox-activity time{color:var(--muted);font-variant-numeric:tabular-nums}
#app .departure-ops-page.dox .dox-activity .dox-error{color:var(--danger)}
#app .departure-ops-page.dox .dox-feature-line{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}
#app .departure-ops-page.dox .dox-feature-line p{font-size:13px;color:var(--muted);margin-top:3px}
#app .departure-ops-page.dox .dox-switch-button{min-height:44px;width:52px;background:none;border:0;padding:6px 2px;flex:none;display:flex;align-items:center}
#app .departure-ops-page.dox .dox-switch-track{display:block;width:44px;height:24px;border-radius:6px;background:var(--border-strong);padding:3px}
#app .departure-ops-page.dox .dox-switch-thumb{display:block;width:18px;height:18px;border-radius:3px;background:var(--bg);transition:transform .15s}
#app .departure-ops-page.dox .dox-switch-button[aria-checked=true] .dox-switch-track{background:var(--primary)}
#app .departure-ops-page.dox .dox-switch-button[aria-checked=true] .dox-switch-thumb{transform:translateX(20px)}
#app .departure-ops-page.dox .dox-footer-note{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;color:var(--muted);font-size:12px;border-top:1px solid var(--border);margin-top:32px;padding-top:18px}
#app .departure-ops-page.dox .dox-lane-setup{padding:18px 20px;border-bottom:1px solid var(--border);display:grid;gap:14px}
#app .departure-ops-page.dox .dox-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
#app .departure-ops-page.dox .dox-field{display:grid;gap:6px;font-size:13px;color:var(--muted)}
#app .departure-ops-page.dox .dox-field input,#app .departure-ops-page.dox .dox-field select{min-height:44px}
#app .departure-ops-page.dox .dox-field.dox-full{grid-column:1/-1}
#app .departure-ops-page.dox input[type=time]{min-height:44px;border:1px solid var(--border-strong);background:var(--bg);padding:8px 10px;border-radius:8px;color:var(--text);width:100%}
#app .departure-ops-page.dox .dox-guide-choices{display:flex;flex-wrap:wrap;gap:4px 12px}
#app .departure-ops-page.dox .dox-guide-option{display:flex;align-items:center;gap:8px;min-height:44px;font-size:13px}
#app .departure-ops-page.dox .dox-guide-option.dox-disabled{color:var(--muted)}
#app .departure-ops-page.dox .dox-lane-summary{padding:18px 20px;border-top:1px solid var(--border);display:grid;gap:10px}
#app .departure-ops-page.dox .dox-vehicle-card{border:1px solid var(--border);border-radius:9px;background:var(--surface);min-width:0;margin:14px}
#app .departure-ops-page.dox .dox-vehicle-card>header{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:14px 16px;border-bottom:1px solid var(--border)}
#app .departure-ops-page.dox .dox-vehicle-card .dox-booking{padding:12px 16px}
#app .departure-ops-page.dox .dox-vehicle-card .dox-booking-name{font-size:14px}
#app .departure-ops-page.dox .dox-vehicle-sub{padding:10px 16px;font-size:13px;color:var(--muted);border-bottom:1px solid var(--border)}
#app .departure-ops-page.dox .dox-vehicle-card .dox-meter{width:100%;height:4px}
#app .departure-ops-page.dox .dox-vehicle-card progress{width:100%;height:5px;border:0;border-radius:0;accent-color:var(--primary)}
#app .departure-ops-page.dox progress::-webkit-progress-bar{background:var(--surface-alt)}
#app .departure-ops-page.dox progress::-webkit-progress-value{background:var(--primary)}
#app .departure-ops-page.dox .dox-stop-label{font-family:var(--mono);font-size:12px;min-width:25px;padding-top:6px;color:var(--muted)}
#app .departure-ops-page.dox .dox-stop-time{font-family:var(--mono);font-size:12px;color:var(--text)}
#app .departure-ops-page.dox .dox-field-help{font-size:12px;color:var(--muted);margin-top:4px}
#app .departure-ops-page.dox .dox-group-actions{display:flex;gap:8px;flex-wrap:wrap}
#app .departure-ops-page.dox .dox-address-form{padding-top:8px;display:grid;gap:8px}
#app .departure-ops-page.dox .dox-address-form .dox-group-actions{justify-content:flex-start}
#app .departure-ops-page.dox .dox-review-board{display:grid;grid-template-columns:1fr 1fr;gap:14px}
#app .departure-ops-page.dox .dox-review-board .dox-vehicle-card{margin:0}
#app .departure-ops-page.dox .dox-review-map{margin:18px 0 24px}
#app .departure-ops-page.dox .dox-map-frame{position:relative;border:1px solid var(--border);border-radius:9px;overflow:hidden;background:var(--surface-alt);aspect-ratio:960/600}
#app .departure-ops-page.dox .dox-map-frame>img,#app .departure-ops-page.dox .dox-map-frame>svg{display:block;width:100%;height:auto}
#app .departure-ops-page.dox .dox-map-frame>svg{position:absolute;inset:0;pointer-events:none}
#app .departure-ops-page.dox .dox-map-credit{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:7px;font-size:11px;color:var(--muted)}
#app .departure-ops-page.dox .dox-map-credit a{color:var(--muted);min-height:24px}
#app .departure-ops-page.dox .dox-map-credit a:hover{color:var(--text)}
#app .departure-ops-page.dox .dox-map-placeholder{aspect-ratio:960/600;border:1px dashed var(--border-strong);display:grid;align-content:center;text-align:center;padding:20px;color:var(--muted)}
#app .departure-ops-page.dox .dox-pickup-check{display:flex;gap:12px;align-items:flex-start;margin-top:15px;padding:13px 0;min-height:44px;font-size:14px}
#app .departure-ops-page.dox .dox-pickup-check input{margin-top:3px}
#app .departure-ops-page.dox .dox-problem-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}
#app .departure-ops-page.dox .dox-problem-item{padding:12px 14px;border:1px solid var(--border);border-radius:7px;display:flex;gap:12px;align-items:center;flex-wrap:wrap;background:var(--surface)}
#app .departure-ops-page.dox .dox-problem-item .dox-ico{color:var(--warn)}
#app .departure-ops-page.dox .dox-problem-item p{flex:1 1 260px;font-size:13px}
#app .departure-ops-page.dox .dox-review-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:14px 0}
#app .departure-ops-page.dox .dox-review-tools select{max-width:290px}
#app .departure-ops-page.dox .dox-send-summary{padding:20px;display:grid;gap:15px}
#app .departure-ops-page.dox .dox-readiness{list-style:none;padding:0;margin:0}
#app .departure-ops-page.dox .dox-readiness li{padding:12px 0;display:flex;gap:12px;border-bottom:1px solid var(--border);font-size:14px}
#app .departure-ops-page.dox .dox-readiness .dox-status-word{min-width:65px;font-size:12px;font-weight:650}
#app .departure-ops-page.dox .dox-good{color:var(--ok)}
#app .departure-ops-page.dox .dox-warning{color:var(--warn)}
#app .departure-ops-page.dox .dox-bad{color:var(--danger)}
#app .departure-ops-page.dox .dox-send-mode{padding:18px 20px;border:1px solid var(--border-strong);border-radius:9px;background:var(--surface);margin-top:20px}
#app .departure-ops-page.dox .dox-send-mode strong{display:block;margin-bottom:4px}
#app .departure-ops-page.dox .dox-send-mode p{font-size:14px;color:var(--muted)}
#app .departure-ops-page.dox .dox-progress-block{border:1px solid var(--border);border-radius:10px;padding:0 20px;background:var(--surface);margin-top:14px}
#app .departure-ops-page.dox .dox-progress-block summary{min-height:60px;cursor:pointer;font-weight:600;display:flex;align-items:center;justify-content:space-between;gap:14px}
#app .departure-ops-page.dox .dox-required{color:var(--warn)}
#app .departure-ops-page.dox .dox-readonly-note{font-size:13px;color:var(--muted);margin-bottom:16px}
#app .departure-ops-page.dox .dox-busy-label{position:fixed;top:12px;left:50%;transform:translateX(-50%);background:var(--text);color:var(--bg);padding:10px 18px;border-radius:8px;z-index:100;font-size:14px;box-shadow:0 8px 28px oklch(0 0 0 / .2)}
#app .departure-ops-page.dox .dox-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);border:0}
#app .departure-ops-page.dox .dox-readonly .dox-mutation{display:none}
@media(min-width:1200px){#app .departure-ops-page.dox .dox-review-map{max-width:700px;margin-left:auto;margin-right:auto}}
@media(max-width:1000px){#app .departure-ops-page.dox{padding-left:20px;padding-right:20px}#app .departure-ops-page.dox .dox-tour-board{gap:14px}#app .departure-ops-page.dox .dox-booking{padding-left:15px;padding-right:15px}#app .departure-ops-page.dox .dox-tour-head{padding:17px}#app .departure-ops-page.dox .dox-page-head{align-items:flex-start}#app .departure-ops-page.dox .dox-toolbar{gap:8px}#app .departure-ops-page.dox .dox-review-board{grid-template-columns:1fr}}
@media(max-width:759px){#app .departure-ops-page.dox{padding:0 16px 100px}#app .departure-ops-page.dox .dox-page-head{padding:23px 0 20px;gap:20px}#app .departure-ops-page.dox h1{font-size:26px}#app .departure-ops-page.dox .dox-page-head>.dox-grow{flex-basis:100%}#app .departure-ops-page.dox .dox-toolbar{width:100%;justify-content:space-between}#app .departure-ops-page.dox .dox-toolbar .dox-btn.dox-danger{padding-left:10px;padding-right:10px}#app .departure-ops-page.dox .dox-stage-rail{gap:0;justify-content:space-between;margin-bottom:22px}#app .departure-ops-page.dox .dox-stage-tab{font-size:12px;flex:1;padding:0 4px 12px;line-height:1.35;text-align:left}#app .departure-ops-page.dox .dox-stage-tab .dox-ico{display:none}#app .departure-ops-page.dox .dox-section-intro{display:block}#app .departure-ops-page.dox .dox-stage-action{margin-top:14px;align-items:stretch;max-width:none;text-align:left}#app .departure-ops-page.dox .dox-section-intro>.dox-text-meta{margin-top:12px}#app .departure-ops-page.dox .dox-section-intro h2{font-size:21px}#app .departure-ops-page.dox .dox-section-intro p{font-size:14px}#app .departure-ops-page.dox .dox-tour-board,#app .departure-ops-page.dox .dox-secondary-grid{grid-template-columns:minmax(0,1fr)}#app .departure-ops-page.dox .dox-tour-board{gap:18px}#app .departure-ops-page.dox .dox-tour-head h3{font-size:19px}#app .departure-ops-page.dox .dox-booking{padding:13px 15px}#app .departure-ops-page.dox .dox-board-footer{display:grid;gap:16px}#app .departure-ops-page.dox .dox-board-footer>.dox-btn{width:100%}#app .departure-ops-page.dox .dox-move-controls{padding:16px;gap:12px}#app .departure-ops-page.dox .dox-move-controls .dox-grow{flex-basis:100%}#app .departure-ops-page.dox .dox-move-controls select{max-width:none;min-width:0;width:100%}#app .departure-ops-page.dox .dox-move-controls .dox-btn.dox-primary{flex:1;min-width:180px}#app .departure-ops-page.dox .dox-secondary-grid{gap:24px;margin-top:20px}#app .departure-ops-page.dox .dox-review-map{margin:16px 0}#app .departure-ops-page.dox .dox-form-grid{grid-template-columns:1fr 1fr}#app .departure-ops-page.dox .dox-form-grid .dox-full{grid-column:1/-1}#app .departure-ops-page.dox .dox-review-tools select{max-width:none;width:100%}#app .departure-ops-page.dox .dox-review-board{gap:14px}#app .departure-ops-page.dox .dox-footer-note{padding-bottom:15px}#app .departure-ops-page.dox .dox-progress-block{padding:0 14px}#app .departure-ops-page.dox .dox-progress-block summary{font-size:14px}#app .departure-ops-page.dox .dox-vehicle-card{margin:12px}#app .departure-ops-page.dox .dox-problem-item{gap:8px}#app .departure-ops-page.dox .dox-problem-item p{flex-basis:210px}#app .departure-ops-page.dox .dox-booking-pax{font-size:13px}}
@media(prefers-reduced-motion:reduce){#app .departure-ops-page.dox *{transition:none!important;animation:none!important}}
#app .departure-ops-page.dox fieldset{border:1px solid var(--border);border-radius:8px;margin:10px 0;padding:12px}
#app .departure-ops-page.dox legend{font-size:13px;color:var(--muted);padding:0 6px}
#app .departure-ops-page.dox .dox-booking .dox-select-hit{width:44px;margin-left:-6px;padding-left:6px}
#app .departure-ops-page.dox .dox-booking-name{min-height:44px;margin-top:-4px;margin-bottom:-4px}
#app .departure-ops-page.dox .dox-booking-pax{padding-top:4px}
#app .departure-ops-page.dox .dox-text-link{display:inline-flex;align-items:center}
#app .departure-ops-page.dox .dox-map-credit a{min-height:44px;display:flex;align-items:center}
#app .departure-ops-page.dox .dox-map-credit span{display:flex;align-items:center;min-height:44px}
#app .departure-ops-page.dox .dox-move-back{min-height:44px}
#app .departure-ops-page.dox .dox-pool-guides{padding:20px;border-bottom:1px solid var(--border)}
#app .departure-ops-page.dox .dox-pool-guides h4{font-size:15px}
#app .departure-ops-page.dox .dox-pool-moves{margin:0;border:0;border-bottom:1px solid var(--border);border-radius:0;padding:14px 20px;background:var(--surface-alt);gap:12px}
#app .departure-ops-page.dox .dox-pool-moves .dox-grow{flex-basis:230px}
#app .departure-ops-page.dox .dox-pool-moves strong{font-size:14px}
#app .departure-ops-page.dox .dox-pool-move-actions{display:flex;align-items:end;gap:8px;flex-wrap:wrap}
#app .departure-ops-page.dox .dox-pool-move-actions select{min-width:155px;max-width:210px;font-size:13px}
#app .departure-ops-page.dox .dox-pool-move-actions .dox-btn{font-size:13px;padding-left:12px;padding-right:12px}
#app .departure-ops-page.dox .dox-guest-pool .dox-booking{padding-top:10px;padding-bottom:10px}
#app .departure-ops-page.dox .dox-tour-head .dox-chip{flex:none}
@media(max-width:1050px){#app .departure-ops-page.dox .dox-pool-move-actions{width:100%}#app .departure-ops-page.dox .dox-pool-move-actions .dox-field{flex:1}#app .departure-ops-page.dox .dox-pool-move-actions select{max-width:none;width:100%}#app .departure-ops-page.dox .dox-pool-guides{padding:17px}}
@media(max-width:759px){#app .departure-ops-page.dox .dox-tour-head{flex-wrap:wrap}#app .departure-ops-page.dox .dox-tour-head .dox-chip{font-size:10px}#app .departure-ops-page.dox .dox-pool-guides{padding:16px}#app .departure-ops-page.dox .dox-pool-moves{padding:14px 16px}#app .departure-ops-page.dox .dox-pool-moves .dox-grow{flex-basis:100%}#app .departure-ops-page.dox .dox-pool-move-actions{gap:8px}#app .departure-ops-page.dox .dox-pool-move-actions .dox-field{flex-basis:100%}#app .departure-ops-page.dox .dox-pool-move-actions select{max-width:none;width:100%}#app .departure-ops-page.dox .dox-pool-move-actions .dox-btn.dox-primary{min-width:0}#app .departure-ops-page.dox .dox-pool-move-actions .dox-btn:last-child{flex:1}#app .departure-ops-page.dox .dox-guest-pool .dox-booking{padding:10px 14px;gap:8px}#app .departure-ops-page.dox .dox-tour-actions{gap:10px;flex-wrap:wrap;padding:6px 16px}#app .departure-ops-page.dox .dox-tour-actions>span{font-size:11px}#app .departure-ops-page.dox .dox-tour-head h3{font-size:18px}#app .departure-ops-page.dox .dox-stage-tab{font-size:11px;padding-left:5px;padding-right:5px}#app .departure-ops-page.dox .dox-review-board .dox-booking{flex-wrap:wrap}#app .departure-ops-page.dox .dox-review-board .dox-booking-body{flex-basis:180px}}
#app .departure-ops-page.dox{padding-bottom:32px}
@media(max-width:759px){#app .departure-ops-page.dox{padding-bottom:24px}}
#app .departure-ops-page.dox .dox-step-back{margin-bottom:16px}
#app .departure-ops-page.dox .dox-guide-picker{min-width:0;margin:0;border:0;padding:0}
#app .departure-ops-page.dox .dox-guide-picker>legend{padding:0;margin-bottom:8px;color:var(--text);font-size:13px;font-weight:600}
#app .departure-ops-page.dox .dox-guide-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
#app .departure-ops-page.dox .dox-guide-choice.dox-btn{min-height:54px;min-width:0;padding:9px 12px;display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;font-size:13px;background:var(--bg);color:var(--text);border-color:var(--border-strong)}
#app .departure-ops-page.dox .dox-guide-choice-state{font-size:11px;line-height:1.3;font-weight:400;color:inherit;overflow-wrap:anywhere}
#app .departure-ops-page.dox .dox-guide-choice[aria-pressed=true]{background:var(--bg);border-color:var(--text);box-shadow:inset 0 0 0 1px var(--text)}
#app .departure-ops-page.dox .dox-guide-choice.dox-btn:hover:not(:disabled){border-color:var(--text);background:var(--bg);color:var(--text)}
#app .departure-ops-page.dox .dox-guide-choice[aria-pressed=true]:hover:not(:disabled){background:var(--bg)}
#app .departure-ops-page.dox .dox-guide-choice:disabled{opacity:.6}
#app .departure-ops-page.dox .dox-guide-clear.dox-btn{margin-top:4px;padding:8px 0;min-height:44px;font-size:12px;text-decoration:underline;text-underline-offset:3px}
#app .departure-ops-page.dox .dox-guide-clear[aria-pressed=true]{font-weight:700}
#app .departure-ops-page.dox .dox-lane-setup>.dox-guide-picker .dox-guide-buttons{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1050px){#app .departure-ops-page.dox .dox-lane-setup>.dox-guide-picker .dox-guide-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:759px){#app .departure-ops-page.dox .dox-guide-choice.dox-btn{min-height:54px}}
#app .departure-ops-page.dox .dox-review-overview{padding:20px 0}
#app .departure-ops-page.dox .dox-review-overview h3{font-size:19px;margin-bottom:5px}
#app .departure-ops-page.dox .dox-review-overview>.dox-row{gap:14px}
#app .departure-ops-page.dox .dox-review-overview .dox-text-meta{margin-top:15px;gap:10px 22px;flex-wrap:wrap}
#app .departure-ops-page.dox .dox-review-overview .dox-text-meta strong{color:var(--text);font-variant-numeric:tabular-nums}
#app .departure-ops-page.dox .dox-review-problems{padding:12px 0 0 18px;margin:0;color:var(--warn);font-size:13px;line-height:1.7}
/* Owner 17.10.2026: "lets have all the alerts in one place or under the individual customers". */
#app .departure-ops-page.dox .dox-address-tick{display:flex;align-items:flex-start;gap:10px;margin:12px 0 0;padding:10px 12px;border:1px solid var(--warn);border-radius:8px;font-size:13px;line-height:1.45;cursor:pointer}
#app .departure-ops-page.dox .dox-address-tick input{width:18px;height:18px;margin:1px 0 0;flex:none;accent-color:var(--warn)}
#app .departure-ops-page.dox .dox-address-flag{margin:4px 0 0}
#app .departure-ops-page.dox .dox-review-basis{margin:14px 0 0;font-size:12px}
#app .departure-ops-page.dox .dox-review-lane>.dox-review-overview{padding:18px 20px}
#app .departure-ops-page.dox .dox-review-lane>.dox-review-board{grid-template-columns:minmax(0,1fr);padding:0 16px 16px}
#app .departure-ops-page.dox .dox-review-lane>.dox-review-basis{padding:0 20px 18px;margin:0}
#app .departure-ops-page.dox .dox-review-board .dox-vehicle-card{margin:0}
#app .departure-ops-page.dox .dox-review-vehicle>header{align-items:flex-start}
#app .departure-ops-page.dox .dox-review-vehicle h4{font-size:17px;margin-bottom:5px}
#app .departure-ops-page.dox .dox-vehicle-clock{display:grid;gap:4px;text-align:right;flex:none;font-variant-numeric:tabular-nums}
#app .departure-ops-page.dox .dox-vehicle-clock span{font-size:11px;color:var(--muted)}
#app .departure-ops-page.dox .dox-vehicle-clock strong{font-size:20px;font-weight:600}
#app .departure-ops-page.dox .dox-review-vehicle-content{min-width:0}
#app .departure-ops-page.dox .dox-review-lane .dox-review-vehicle-content{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
#app .departure-ops-page.dox .dox-review-lane .dox-review-vehicle-content.dox-without-map{display:block}
#app .departure-ops-page.dox .dox-vehicle-map{padding:16px;min-width:0;border-bottom:1px solid var(--border)}
#app .departure-ops-page.dox .dox-vehicle-map .dox-review-map{margin:0;max-width:none}
#app .departure-ops-page.dox .dox-vehicle-map .dox-map-frame{max-width:none;margin:0 auto;aspect-ratio:4/3;max-height:480px}
#app .departure-ops-page.dox .dox-vehicle-map .dox-map-credit{font-size:10px;gap:0 12px}
#app .departure-ops-page.dox .dox-vehicle-map .dox-map-credit span,#app .departure-ops-page.dox .dox-vehicle-map .dox-map-credit a{min-height:44px}
#app .departure-ops-page.dox .dox-vehicle-map .dox-subtle{font-size:12px;margin-top:5px}
#app .departure-ops-page.dox .dox-review-vehicle .dox-booking-list{min-width:0}
#app .departure-ops-page.dox .dox-review-vehicle .dox-booking{gap:10px}
#app .departure-ops-page.dox .dox-review-vehicle .dox-booking-pax{min-width:0;flex:none}
#app .departure-ops-page.dox .dox-review-vehicle .dox-booking-body{min-width:0}
#app .departure-ops-page.dox .dox-review-vehicle .dox-booking-meta .dox-stop-time{display:inline-block;color:var(--text);font-size:14px;font-weight:650}
#app .departure-ops-page.dox .dox-review-lane .dox-vehicle-map{border-bottom:0;border-right:1px solid var(--border)}
#app .departure-ops-page.dox .dox-clock-input{width:110px;max-width:100%;min-height:44px;padding:9px 11px;border:1px solid var(--border-strong);border-radius:8px;color:var(--text);background:var(--bg);font-family:var(--mono);font-size:15px;font-variant-numeric:tabular-nums}
#app .departure-ops-page.dox .dox-clock-input::placeholder{color:var(--muted)}
#app .departure-ops-page.dox .dox-clock-input:invalid:not(:placeholder-shown){border-color:var(--danger)}
#app .departure-ops-page.dox .dox-clock-input:disabled{opacity:.55}
@media(max-width:1100px){#app .departure-ops-page.dox .dox-review-lane .dox-review-vehicle-content{display:block}#app .departure-ops-page.dox .dox-review-lane .dox-vehicle-map{border-right:0;border-bottom:1px solid var(--border)}}
@media(max-width:759px){#app .departure-ops-page.dox .dox-review-overview>.dox-row>.dox-grow{flex-basis:100%}#app .departure-ops-page.dox .dox-review-overview{padding:16px 0}#app .departure-ops-page.dox .dox-review-lane>.dox-review-overview{padding:16px}#app .departure-ops-page.dox .dox-review-lane>.dox-review-board{padding:0 12px 12px}#app .departure-ops-page.dox .dox-review-overview .dox-text-meta{display:flex;font-size:12px}#app .departure-ops-page.dox .dox-review-vehicle>header{padding:14px}#app .departure-ops-page.dox .dox-review-vehicle h4{font-size:16px}#app .departure-ops-page.dox .dox-vehicle-clock strong{font-size:18px}#app .departure-ops-page.dox .dox-vehicle-map{padding:12px}#app .departure-ops-page.dox .dox-review-vehicle .dox-booking{padding:12px;flex-wrap:nowrap}#app .departure-ops-page.dox .dox-review-vehicle .dox-booking-body{flex:1;min-width:0}#app .departure-ops-page.dox .dox-review-vehicle .dox-booking-name{overflow-wrap:anywhere;text-align:left}#app .departure-ops-page.dox .dox-review-vehicle .dox-booking-address{overflow-wrap:anywhere}#app .departure-ops-page.dox .dox-review-vehicle .dox-booking-pax{font-size:12px}#app .departure-ops-page.dox .dox-review-vehicle .dox-stop-label{min-width:14px}#app .departure-ops-page.dox .dox-review-basis{line-height:1.55}}
#app .departure-ops-page.dox .dox-dual-tours{align-items:start}
#app .departure-ops-page.dox .dox-dual-tours>:only-child{grid-column:1/-1}
#app .departure-ops-page.dox .dox-dual-tours .dox-tour-head{flex-wrap:wrap}
#app .departure-ops-page.dox .dox-dual-tours .dox-tour-head h3{font-size:19px}
#app .departure-ops-page.dox .dox-dual-tours .dox-pool-moves{display:grid;gap:12px}
#app .departure-ops-page.dox .dox-dual-tours .dox-pool-move-actions{width:100%;align-items:end}
#app .departure-ops-page.dox .dox-dual-tours .dox-pool-move-actions .dox-field{flex:1;min-width:0}
#app .departure-ops-page.dox .dox-dual-tours .dox-pool-move-actions select{width:100%;max-width:none;min-width:0}
#app .departure-ops-page.dox .dox-dual-tours .dox-pool-guides{border-top:1px solid var(--border)}
#app .departure-ops-page.dox .dox-dual-tours .dox-review-board{grid-template-columns:minmax(0,1fr)}
#app .departure-ops-page.dox .dox-dual-tours .dox-booking-body{min-width:0}
#app .departure-ops-page.dox .dox-dual-tours .dox-booking-name{overflow-wrap:anywhere;text-align:left}
#app .departure-ops-page.dox .dox-dual-tours .dox-booking-pax{flex:none}
@media(max-width:1200px){#app .departure-ops-page.dox .dox-dual-tours .dox-review-vehicle-content{display:block}#app .departure-ops-page.dox .dox-dual-tours .dox-vehicle-map{border-right:0;border-bottom:1px solid var(--border)}}
@media(max-width:900px){#app .departure-ops-page.dox .dox-dual-tours{grid-template-columns:minmax(0,1fr)}#app .departure-ops-page.dox .dox-dual-tours .dox-pool-move-actions .dox-field{flex-basis:170px}}
@media(max-width:599px){#app .departure-ops-page.dox .dox-dual-tours .dox-pool-move-actions .dox-field{flex-basis:100%}#app .departure-ops-page.dox .dox-dual-tours .dox-tour-head h3{font-size:18px}}
#app .departure-ops-page.dox .dox-dual-tours .dox-compact-tour-setup{display:grid;gap:16px;padding:16px 20px;border-top:0}
#app .departure-ops-page.dox .dox-tour-guide-pool{border:0;padding:0;margin:0;min-width:0}
#app .departure-ops-page.dox .dox-tour-guide-pool>legend{padding:0;margin-bottom:8px;color:var(--text);font-size:13px;font-weight:650}
#app .departure-ops-page.dox .dox-tour-guide-pool>legend span{margin-left:8px;color:var(--muted);font-size:12px;font-weight:400}
#app .departure-ops-page.dox .dox-pool-guide-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
#app .departure-ops-page.dox .dox-pool-guide-chip.dox-btn{min-height:44px;min-width:0;padding:6px 8px;gap:5px;border-radius:7px;font-size:12px;font-weight:500;background:var(--bg);color:var(--text);justify-content:flex-start;flex-wrap:wrap;text-align:left}
#app .departure-ops-page.dox .dox-pool-guide-chip .dox-ico{width:14px;height:14px}
#app .departure-ops-page.dox .dox-pool-guide-chip small{font-size:11px;font-weight:400}
#app .departure-ops-page.dox .dox-pool-guide-chip[aria-pressed=true]{border-color:var(--text);box-shadow:inset 0 0 0 1px var(--text);font-weight:650}
#app .departure-ops-page.dox .dox-pool-guide-chip.dox-btn:hover:not(:disabled){border-color:var(--text);background:var(--bg);color:var(--text)}
#app .departure-ops-page.dox .dox-tour-guide-pool>.dox-field-help{margin-top:8px;font-size:12px}
#app .departure-ops-page.dox .dox-bus-meeting-settings{display:grid;gap:12px}
#app .departure-ops-page.dox .dox-bus-meeting-row{display:grid;grid-template-columns:136px minmax(0,1fr);gap:12px;align-items:start}
#app .departure-ops-page.dox .dox-bus-meeting-row>.dox-field{font-size:12px;min-width:0}
#app .departure-ops-page.dox .dox-bus-meeting-row input{width:100%;min-width:0}
#app .departure-ops-page.dox .dox-small-group-settings{display:grid;grid-template-columns:110px minmax(0,1fr);gap:16px;align-items:start}
#app .departure-ops-page.dox .dox-small-group-settings>.dox-field{font-size:12px}
#app .departure-ops-page.dox .dox-small-group-settings .dox-field-help{font-size:11px;margin:0}
#app .departure-ops-page.dox .dox-direction-picker{border:0;padding:0;margin:0;min-width:0}
#app .departure-ops-page.dox .dox-direction-picker>legend{padding:0;margin-bottom:6px;font-size:12px;color:var(--muted)}
#app .departure-ops-page.dox .dox-direction-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
#app .departure-ops-page.dox .dox-direction-choice.dox-btn{min-height:44px;padding:6px 7px;border-radius:7px;min-width:0;font-size:12px;background:var(--bg);color:var(--text)}
#app .departure-ops-page.dox .dox-direction-choice[aria-pressed=true]{border-color:var(--text);box-shadow:inset 0 0 0 1px var(--text)}
#app .departure-ops-page.dox .dox-direction-choice.dox-btn:hover:not(:disabled){border-color:var(--text);background:var(--bg);color:var(--text)}
@media(max-width:1100px) and (min-width:901px){#app .departure-ops-page.dox .dox-small-group-settings{grid-template-columns:minmax(0,1fr)}#app .departure-ops-page.dox .dox-small-group-settings>.dox-field{display:flex;align-items:center;gap:12px;flex-wrap:wrap}#app .departure-ops-page.dox .dox-small-group-settings .dox-clock-input{width:100px}#app .departure-ops-page.dox .dox-pool-guide-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:599px){#app .departure-ops-page.dox .dox-dual-tours .dox-compact-tour-setup{padding:16px}#app .departure-ops-page.dox .dox-pool-guide-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}#app .departure-ops-page.dox .dox-small-group-settings{grid-template-columns:minmax(0,1fr);gap:12px}#app .departure-ops-page.dox .dox-small-group-settings>.dox-field{display:flex;align-items:center;gap:10px;flex-wrap:wrap}#app .departure-ops-page.dox .dox-small-group-settings .dox-clock-input{width:100px}#app .departure-ops-page.dox .dox-small-group-settings .dox-field-help{margin:0}#app .departure-ops-page.dox .dox-bus-meeting-row{grid-template-columns:112px minmax(0,1fr);gap:8px}#app .departure-ops-page.dox .dox-bus-meeting-row>.dox-field{font-size:11px}#app .departure-ops-page.dox .dox-bus-meeting-row .dox-meeting-place-field input{font-size:13px}}
#app .departure-ops-page.dox .dox-bus-meeting-times{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#app .departure-ops-page.dox .dox-bus-meeting-settings>.dox-field input{width:100%;min-width:0}
#app .departure-ops-page.dox .dox-bus-location-form{display:grid;gap:16px;margin-top:20px}
#app .departure-ops-page.dox .dox-bus-location-form .dox-field{min-width:0}
#app .departure-ops-page.dox .dox-bus-location-form>button{justify-self:start}
#app .departure-ops-page.dox .dox-bus-location-form>.dox-subtle{font-size:13px}
#app .departure-ops-page.dox .dox-bus-location-form .dox-form-grid .dox-clock-input{width:100%;max-width:180px}
@media(max-width:599px){#app .departure-ops-page.dox .dox-bus-location-form .dox-form-grid{grid-template-columns:minmax(0,1fr)}#app .departure-ops-page.dox .dox-bus-location-form>.dox-subtle{font-size:13px}}
#app .departure-ops-page.dox .dox-bus-compaction{padding:18px 20px;border-bottom:1px solid var(--border);min-width:0}
#app .departure-ops-page.dox .dox-compact-bus-heading{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
#app .departure-ops-page.dox .dox-compact-bus-heading h4{font-size:15px;margin:0 0 5px}
#app .departure-ops-page.dox .dox-compact-bus-heading p,#app .departure-ops-page.dox .dox-compact-preview{font-size:13px;line-height:1.6;color:var(--muted)}
#app .departure-ops-page.dox .dox-compact-preview{margin:12px 0 0;overflow-wrap:anywhere}
#app .departure-ops-page.dox .dox-bus-compaction>.dox-field-help{margin:7px 0 0}
#app .departure-ops-page.dox .dox-bus-compaction>.dox-btn{margin-top:8px}
#app .departure-ops-page.dox .dox-bus-pool-cards{display:grid;gap:14px;padding:16px}
#app .departure-ops-page.dox .dox-bus-pool-card{border:1px solid var(--border-strong);border-radius:9px;min-width:0;background:var(--bg)}
#app .departure-ops-page.dox .dox-bus-pool-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:16px;border-bottom:1px solid var(--border)}
#app .departure-ops-page.dox .dox-bus-pool-card h4{margin:0 0 5px;font-size:17px}
#app .departure-ops-page.dox .dox-bus-pool-card header p{color:var(--muted);font-size:13px;line-height:1.5;margin:0}
#app .departure-ops-page.dox .dox-bus-pool-card header p strong{color:var(--text);font-weight:600;font-variant-numeric:tabular-nums}
#app .departure-ops-page.dox .dox-bus-pool-load{display:grid;gap:4px;text-align:right;flex:none;font-variant-numeric:tabular-nums}
#app .departure-ops-page.dox .dox-bus-pool-load>strong{font-size:20px;font-weight:600}
#app .departure-ops-page.dox .dox-bus-pool-load>strong span,#app .departure-ops-page.dox .dox-bus-pool-load>span{font-size:12px;color:var(--muted);font-weight:400}
#app .departure-ops-page.dox .dox-bus-pool-card .dox-booking{padding:14px 12px;gap:9px}
#app .departure-ops-page.dox .dox-bus-pool-card .dox-booking:last-child{border-bottom:0}
#app .departure-ops-page.dox .dox-departure-change{color:var(--text);font-weight:600}
#app .departure-ops-page.dox .dox-compact-bus-heading>.dox-btn{flex-shrink:0}
@media(max-width:599px){#app .departure-ops-page.dox .dox-bus-compaction{padding:16px}#app .departure-ops-page.dox .dox-bus-pool-cards{padding:12px;gap:12px}#app .departure-ops-page.dox .dox-bus-pool-card>header{padding:14px;flex-wrap:wrap}#app .departure-ops-page.dox .dox-bus-pool-card .dox-booking{flex-wrap:nowrap}#app .departure-ops-page.dox .dox-bus-pool-card .dox-booking-body{min-width:0;flex:1}#app .departure-ops-page.dox .dox-bus-pool-card .dox-booking-pax{min-width:0;flex:none;font-size:12px}#app .departure-ops-page.dox .dox-bus-pool-card .dox-booking-name{font-size:14px}#app .departure-ops-page.dox .dox-compact-bus-heading{gap:10px}#app .departure-ops-page.dox .dox-compact-bus-heading>.dox-grow{flex-basis:100%}#app .departure-ops-page.dox .dox-bus-pool-load>strong{font-size:18px}}
#app .departure-ops-page.dox [data-vehicle-kind="bus"]{--vehicle-ink:var(--bus);--vehicle-header-bg:var(--bus-bg)}
#app .departure-ops-page.dox [data-vehicle-kind="van"]{--vehicle-ink:var(--van);--vehicle-header-bg:var(--van-bg)}
#app .departure-ops-page.dox [data-vehicle-kind]>.dox-vehicle-heading{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:14px;padding:18px 16px;background:var(--vehicle-header-bg);color:var(--text);border-top:3px solid var(--vehicle-ink);border-bottom:1px solid var(--border-strong);border-radius:8px 8px 0 0}
#app .departure-ops-page.dox .dox-vehicle-heading-copy{flex:1 1 160px;min-width:0}
#app .departure-ops-page.dox [data-vehicle-kind] .dox-vehicle-title{font-size:23px;line-height:1.2;font-weight:750;letter-spacing:-.02em;color:var(--vehicle-ink);margin:0 0 7px;overflow-wrap:anywhere;text-wrap:balance}
#app .departure-ops-page.dox [data-vehicle-kind] .dox-vehicle-heading-meta{font-size:13px;line-height:1.5;color:var(--text);margin:0;overflow-wrap:anywhere}
#app .departure-ops-page.dox [data-vehicle-kind] .dox-vehicle-clock{flex:0 1 auto;min-width:108px;max-width:100%;display:grid;gap:3px;padding:9px 12px;background:var(--bg);color:var(--text);border:1px solid var(--border-strong);border-radius:6px;text-align:left}
#app .departure-ops-page.dox [data-vehicle-kind] .dox-vehicle-clock>span{font-size:12px;color:var(--muted)}
#app .departure-ops-page.dox [data-vehicle-kind] .dox-vehicle-clock>strong{font-size:22px;line-height:1.2;font-weight:700;color:var(--text);overflow-wrap:anywhere}
#app .departure-ops-page.dox [data-vehicle-kind] .dox-vehicle-clock>.dox-vehicle-meeting{color:var(--text);font-size:12px;margin-top:2px}
@media(max-width:599px){#app .departure-ops-page.dox [data-vehicle-kind]>.dox-vehicle-heading{padding:14px 12px;gap:10px}#app .departure-ops-page.dox .dox-vehicle-heading-copy{flex-basis:120px}#app .departure-ops-page.dox [data-vehicle-kind] .dox-vehicle-title{font-size:21px}#app .departure-ops-page.dox [data-vehicle-kind] .dox-vehicle-clock{min-width:100px;padding:8px 10px}#app .departure-ops-page.dox [data-vehicle-kind] .dox-vehicle-clock>strong{font-size:20px}}
#app .departure-ops-page.dox .dox-pickup-location-alert{margin:16px 20px;padding:16px;border:1px solid var(--warn);border-radius:8px;background:var(--warn-bg);color:var(--text);min-width:0}
#app .departure-ops-page.dox .dox-pickup-location-alert>h4{display:flex;align-items:flex-start;gap:8px;font-size:15px;line-height:1.45;margin:0 0 5px}
#app .departure-ops-page.dox .dox-pickup-location-alert>h4>.dox-ico{color:var(--warn);flex:none;margin-top:2px}
#app .departure-ops-page.dox .dox-pickup-location-alert.dox-map-alert{margin:0 0 10px;padding:12px 14px}
#app .departure-ops-page.dox .dox-map-alert>p{margin:0 0 6px;font-size:13px}
#app .departure-ops-page.dox .dox-map-alert>ul{margin:0;padding-left:18px;font-size:13px;line-height:1.5}
#app .departure-ops-page.dox .dox-pickup-location-alert>p{font-size:13px;line-height:1.5}
#app .departure-ops-page.dox .dox-pickup-location-alert>ul{list-style:none;padding:0;margin:12px 0 0}
#app .departure-ops-page.dox .dox-pickup-location-alert li{padding:10px 0;border-top:1px solid var(--border-strong);min-width:0}
#app .departure-ops-page.dox .dox-pickup-location-alert li:last-child{padding-bottom:0}
#app .departure-ops-page.dox .dox-pickup-location-issue{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
#app .departure-ops-page.dox .dox-pickup-location-issue>.dox-grow{min-width:0;flex:1 1 160px}
#app .departure-ops-page.dox .dox-pickup-location-issue strong{display:block;font-size:13px;overflow-wrap:anywhere}
#app .departure-ops-page.dox .dox-pickup-location-issue span{display:block;font-size:12px}
#app .departure-ops-page.dox .dox-pickup-location-issue>.dox-btn{flex-shrink:0}
#app .departure-ops-page.dox .dox-pickup-location-alert .dox-address-form{padding:12px 0 0}
#app .departure-ops-page.dox .dox-pickup-location-alert .dox-field{color:var(--text)}
#app .departure-ops-page.dox .dox-pickup-location-alert .dox-field input{min-width:0;width:100%}
@media(max-width:599px){#app .departure-ops-page.dox .dox-pickup-location-alert{margin:12px 16px;padding:14px}#app .departure-ops-page.dox .dox-pickup-location-issue>.dox-grow{flex-basis:130px}}
#app .departure-ops-page.dox .dox-pickup-distance-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
#app .departure-ops-page.dox .dox-pickup-distance-actions .dox-btn{min-height:44px;background:var(--bg);color:var(--text);border-radius:7px;font-size:13px}
#app .departure-ops-page.dox .dox-pickup-distance-actions .dox-btn[aria-pressed=true]{border-color:var(--text);box-shadow:inset 0 0 0 1px var(--text)}
#app .departure-ops-page.dox .dox-pickup-distance-actions .dox-btn:hover:not(:disabled){background:var(--bg);color:var(--text);border-color:var(--text)}
#app .departure-ops-page.dox .dox-pickup-distance-status{margin-top:10px;font-size:13px;line-height:1.5;overflow-wrap:anywhere}
#app .departure-ops-page.dox .dox-pickup-location-alert .dox-pickup-distance-actions{margin-bottom:3px}
#app .departure-ops-page.dox .dox-booking-body .dox-pickup-distance-actions .dox-btn{padding:8px 12px;font-size:12px}
@media(max-width:599px){#app .departure-ops-page.dox .dox-pickup-distance-actions .dox-btn{flex:1 1 130px}}
/* Joins to the CRM frame and the parts that keep their CRM markup. */
#app .departure-ops-page.dox{box-sizing:border-box;width:100%;overflow-wrap:normal}
#app .departure-ops-page.dox h1,#app .departure-ops-page.dox h2,#app .departure-ops-page.dox h3,#app .departure-ops-page.dox h4{font-family:inherit}
#app .departure-ops-page.dox button{transition:none}
#app .departure-ops-page.dox input[type=checkbox]{min-height:0;min-width:0;padding:0;border:0;border-radius:0;background:none}
#app .departure-ops-page.dox [data-ops-confirm]{margin-right:0}
#app .departure-ops-page.dox .dox-stage[hidden]{display:none}
/* The lock on a tour while a request is out is a disabled fieldset around its controls. */
#app .departure-ops-page.dox fieldset.dep-ops-fieldset{border:0;border-radius:0;margin:0;padding:0;min-width:0}
#app .departure-ops-page.dox .dox-review-lane>fieldset>.dox-review-overview{padding:18px 20px}
#app .departure-ops-page.dox .dox-review-lane>fieldset>.dox-review-board{grid-template-columns:minmax(0,1fr);padding:0 16px 16px}
#app .departure-ops-page.dox .dox-review-lane>fieldset>.dox-review-basis{padding:0 20px 18px;margin:0}
/* A guest's name opens the customer profile, so it is a link here. */
#app .departure-ops-page.dox a.dox-booking-name{text-decoration:none;cursor:pointer;display:inline-flex;align-items:center}
#app .departure-ops-page.dox a.dox-booking-name:hover{text-decoration:underline;text-underline-offset:3px}
#app .departure-ops-page.dox .dox-secondary-grid>:only-child{grid-column:1/-1}
#app .departure-ops-page.dox .dox-pad{padding:14px 20px}
#app .departure-ops-page.dox .dox-lane-note{padding:14px 20px;border-bottom:1px solid var(--border);font-size:13px;color:var(--muted)}
#app .departure-ops-page.dox .dox-lane-note[role=alert]{color:var(--danger)}
#app .departure-ops-page.dox .dox-field-error{color:var(--danger);font-size:13px}
#app .departure-ops-page.dox .dox-vehicle-sub .dox-inline-action{margin-left:6px}
#app .departure-ops-page.dox .dox-own-place{display:grid;gap:8px;justify-items:start}
#app .departure-ops-page.dox .dox-own-place>.dox-field{width:100%}
#app .departure-ops-page.dox .dox-more{padding:0 20px 16px;display:grid;gap:8px;justify-items:start}
#app .departure-ops-page.dox .dox-more p{font-size:13px;color:var(--muted)}
/* Route warnings and the address check keep their wording; they take the design's warning box. */
#app .departure-ops-page.dox .departure-ops-flag{margin:12px 16px;padding:12px 14px;border:1px solid var(--warn);border-radius:8px;background:var(--warn-bg);color:var(--text);font-size:13px;line-height:1.5}
#app .departure-ops-page.dox .departure-ops-flag label{display:flex;gap:10px;align-items:flex-start;cursor:pointer}
#app .departure-ops-page.dox .dox-review-lane .departure-ops-flag+.dox-group-actions{padding:0 16px 16px}
#app .departure-ops-page.dox .departure-ops-map .dox-map-frame>svg{position:static;width:100%;height:100%;pointer-events:auto}
#app .departure-ops-page.dox figure.dox-review-map{margin:0}
/* Owner 13.10.2026: the pickup map is a street map staff zoom and drag; the page script draws it into the frame. */
#app .departure-ops-page.dox .dox-map-frame[data-ops-map-on],dialog.dox-dialog .dox-map-frame[data-ops-map-on]{touch-action:none;user-select:none;-webkit-user-select:none;background:#e9eeeb}
/* Owner 17.10.2026: "make the map darkmode". The tiles are darkened by the map's own filter; light mode shows them as drawn. */
#app .departure-ops-page.dox .dox-map-frame[data-ops-map-on],dialog.dox-dialog .dox-map-frame[data-ops-map-on]{background:#161d19}
#app .departure-ops-page.dox .dox-map-canvas .map-ground,dialog.dox-dialog .dox-map-canvas .map-ground{fill:#161d19}
html.theme-light #app .departure-ops-page.dox .dox-map-frame[data-ops-map-on],html.theme-light dialog.dox-dialog .dox-map-frame[data-ops-map-on]{background:#e9eeeb}
html.theme-light #app .departure-ops-page.dox .dox-map-canvas .map-ground,html.theme-light dialog.dox-dialog .dox-map-canvas .map-ground{fill:#e9eeeb}
html.theme-light #app .departure-ops-page.dox .dox-map-canvas .map-tiles,html.theme-light dialog.dox-dialog .dox-map-canvas .map-tiles{filter:none}
#app .departure-ops-page.dox .dox-map-credit .dox-map-licence,dialog.dox-dialog .dox-map-credit .dox-map-licence{font-size:10px;opacity:.6}
#app .departure-ops-page.dox .dox-map-frame[data-ops-map-on]:focus-visible,dialog.dox-dialog .dox-map-frame[data-ops-map-on]:focus-visible{outline:3px solid var(--bus);outline-offset:2px}
#app .departure-ops-page.dox .dox-map-canvas,dialog.dox-dialog .dox-map-canvas{position:absolute;inset:0;cursor:grab}
#app .departure-ops-page.dox .dox-map-frame.dox-map-dragging .dox-map-canvas,dialog.dox-dialog .dox-map-frame.dox-map-dragging .dox-map-canvas{cursor:grabbing}
#app .departure-ops-page.dox .dox-map-canvas>svg,dialog.dox-dialog .dox-map-canvas>svg{display:block;width:100%;height:100%}
#app .departure-ops-page.dox .dox-map-canvas .map-pin,dialog.dox-dialog .dox-map-canvas .map-pin{cursor:pointer}
#app .departure-ops-page.dox .dox-map-tools,dialog.dox-dialog .dox-map-tools{position:absolute;top:8px;left:8px;display:grid;gap:4px}
#app .departure-ops-page.dox .dox-map-tool,dialog.dox-dialog .dox-map-tool{width:34px;height:34px;min-height:0;padding:0;border:1px solid #b8c6bd;border-radius:7px;background:#ffffff;color:#172b22;font-size:19px;font-weight:600;line-height:1;box-shadow:0 1px 3px rgba(0,0,0,.25)}
#app .departure-ops-page.dox .dox-map-tool.dox-map-tool-all,dialog.dox-dialog .dox-map-tool.dox-map-tool-all{font-size:11px}
#app .departure-ops-page.dox .dox-map-tool:hover,dialog.dox-dialog .dox-map-tool:hover{background:#eef4f0}
#app .departure-ops-page.dox .dox-map-tool[aria-disabled="true"],dialog.dox-dialog .dox-map-tool[aria-disabled="true"]{opacity:.5;cursor:default}
@media(max-width:759px){#app .departure-ops-page.dox .dox-map-tool,dialog.dox-dialog .dox-map-tool{width:40px;height:40px}}
/* What the last move did. */
#app .departure-ops-page.dox .dep-ops-move-result{margin:14px 20px;padding:13px 16px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-alt);font-size:14px;display:grid;gap:4px}
#app .departure-ops-page.dox .dep-ops-move-result ul{margin:4px 0 0;padding-left:18px;color:var(--danger)}
#app .departure-ops-page.dox .dep-ops-move-result .muted{color:var(--muted);font-size:13px}
/* Dry runs, send outcomes and message progress keep their markup. */
#app .departure-ops-page.dox .dox-send-block{margin-top:24px;padding-top:24px;border-top:1px solid var(--border)}
#app .departure-ops-page.dox .dox-send-block>h3{margin-bottom:12px}
#app .departure-ops-page.dox .dox-send-block .muted,#app .departure-ops-page.dox .dox-send-summary .muted{color:var(--muted);font-size:13px}
#app .departure-ops-page.dox .dox-send-summary .text-danger,#app .departure-ops-page.dox .dox-send-block .text-danger{color:var(--danger)}
#app .departure-ops-page.dox .pickup-dry-result{border-top:1px solid var(--border);padding-top:12px;display:grid;gap:8px;font-size:13px}
#app .departure-ops-page.dox .pickup-dry-result h4{font-size:14px}
#app .departure-ops-page.dox .pickup-dry-result h5{font-size:13px;margin:0}
#app .departure-ops-page.dox .pickup-dry-result ol{margin:6px 0 0;padding-left:20px}
#app .departure-ops-page.dox .pickup-dry-result details>summary,#app .departure-ops-page.dox .dox-send-block details>summary{cursor:pointer;min-height:44px;display:flex;align-items:center}
#app .departure-ops-page.dox .pickup-dry-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:9px;background:var(--surface)}
#app .departure-ops-page.dox .pickup-dry-table{width:100%;border-collapse:collapse;table-layout:auto;font-size:13px}
#app .departure-ops-page.dox .pickup-dry-table th,#app .departure-ops-page.dox .pickup-dry-table td{padding:10px 12px;border-bottom:1px solid var(--border);text-align:left;font-size:13px;vertical-align:top}
#app .departure-ops-page.dox .pickup-dry-table th{color:var(--muted);font-weight:600;font-size:12px}
#app .departure-ops-page.dox .pickup-dry-table tr:last-child td{border-bottom:0}
#app .departure-ops-page.dox .dox-send-block .guide-row{border-top:1px solid var(--border);padding:12px 0;display:grid;gap:6px;font-size:14px}
#app .departure-ops-page.dox .dox-tour-board>:only-child{grid-column:1/-1}
#app .departure-ops-page.dox .pickup-dry-actions{display:grid;gap:8px}
#app .departure-ops-page.dox .dox-review-problems.dox-pad{padding:12px 20px 12px 38px}
#app .departure-ops-page.dox .dox-move-controls p{margin-bottom:0}
#app .departure-ops-page.dox .dox-booking-address .dox-inline-action{margin-left:8px;color:var(--muted)}
#app .departure-ops-page.dox .pickup-dry-list{margin-top:24px}
/* Owner 11.10.2026: the pickup map is read as a street map, so with both tours
   on the page it sits above its stops at the full width of the minivan card. */
#app .departure-ops-page.dox .dox-dual-tours>.dox-review-lane:not(:only-child) .dox-review-vehicle-content{display:block}
#app .departure-ops-page.dox .dox-dual-tours>.dox-review-lane:not(:only-child) .dox-vehicle-map{border-right:0;border-bottom:1px solid var(--border)}
#app .departure-ops-page.dox .dox-dual-tours>.dox-review-lane:not(:only-child) .dox-vehicle-map .dox-map-frame{max-width:none}
#app .departure-ops-page.dox .dox-review-direction{margin-top:12px;max-width:420px}
#app .departure-ops-page.dox .dox-review-direction .dox-field-help{margin-top:6px}
/* Owner 11.10.2026: a pickup is moved earlier or later in its minivan by hand. */
#app .departure-ops-page.dox .dox-stop-order{display:flex;gap:20px;margin-top:2px}
#app .departure-ops-page.dox .dox-stop-order .dox-inline-action:disabled{text-decoration:none}
#app .departure-ops-page.dox .dox-order-help{margin:0;padding:10px 20px 6px}
/* Owner 11.10.2026: the time of a pickup is typed, and with a mouse a pickup is dragged by its handle. */
#app .departure-ops-page.dox .dox-order-help+.dox-order-help{padding-top:0}
#app .departure-ops-page.dox .dox-stop-grip{display:none;flex:none;margin:0 -6px 0 -12px;padding:6px 7px 6px 4px;border-radius:6px;color:var(--muted);font-size:18px;line-height:1;letter-spacing:-3px;cursor:grab;user-select:none}
#app .departure-ops-page.dox .dox-stop-grip:hover{color:var(--text);background:var(--surface-alt)}
#app .departure-ops-page.dox .dox-drag-hint{display:none}
@media(hover:hover) and (pointer:fine){#app .departure-ops-page.dox .dox-stop-grip{display:inline-block}#app .departure-ops-page.dox .dox-drag-hint{display:inline}}
#app .departure-ops-page.dox .dox-booking.dox-drop-before{box-shadow:inset 0 3px 0 var(--primary)}
#app .departure-ops-page.dox .dox-booking.dox-drop-after{box-shadow:inset 0 -3px 0 var(--primary)}
#app .departure-ops-page.dox .dox-vehicle-card.dox-drop-van{outline:2px solid var(--primary);outline-offset:2px}
/* Manage pickups in the look of the page: one published tour, its vehicle cards and the controls of each pickup. */
#app .departure-ops-page.dox .dox-manage-choice{max-width:420px;margin:0 0 16px}
#app .departure-ops-page.dox .dox-manage-delivery{margin:0 0 20px}
#app .departure-ops-page.dox .dox-manage-delivery .dox-readiness li:last-child{border-bottom:0;padding-bottom:0}
#app .departure-ops-page.dox .dox-manage-lane span.dox-booking-name{min-height:0;margin:0}
#app .departure-ops-page.dox .dox-manage-lane>.departure-ops-flag{margin:14px}
#app .departure-ops-page.dox .dox-manage-lane>.departure-ops-flag ul{margin:6px 0 0;padding-left:18px}
#app .departure-ops-page.dox .dox-manage-lane>.dox-review-board{grid-template-columns:1fr;padding:14px}
#app .departure-ops-page.dox .dox-manage-unassigned{margin:0 14px 14px}
#app .departure-ops-page.dox .dox-manage-since{margin:0 14px 14px}
#app .departure-ops-page.dox .dox-manage-run-tools{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}
#app .departure-ops-page.dox .dox-manage-run-tools .dox-field{flex:0 1 320px}
#app .departure-ops-page.dox .dox-manage-assign{max-width:260px;margin-top:8px}
#app .departure-ops-page.dox .dox-manage-stop-edit{display:flex;align-items:flex-end;gap:6px 20px;flex-wrap:wrap;margin-top:8px}
#app .departure-ops-page.dox .dox-manage-stop-edit .dox-field input{width:132px}
#app .departure-ops-page.dox .dox-manage-stop-edit .dox-stop-order{margin:0 0 4px}
#app .departure-ops-page.dox .dox-manage-review{display:grid;gap:10px;padding-top:6px}
#app .departure-ops-page.dox .dox-manage-review h3{font-size:17px}
#app .departure-ops-page.dox .dox-manage-review .dox-review-board{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
/* The popups of this page (Pickup check, What happened) open in <body>, outside #app, so they carry the palette and their own few rules. */
dialog.dox-dialog,dialog.dox-dialog *{box-sizing:border-box}
dialog.dox-dialog{margin:auto;padding:0;border:1px solid var(--border-strong);border-radius:14px;background:var(--bg);color:var(--text);max-height:90dvh;overflow:hidden;box-shadow:0 20px 80px oklch(0 0 0 / .3);font:15px/1.5 ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-variant-numeric:tabular-nums}
dialog.dox-dialog[open]{display:flex;flex-direction:column}
dialog.dox-dialog::backdrop{background:oklch(0.08 0.02 150 / .76)}
dialog.dox-dialog :is(h3,h4,p){margin:0}
dialog.dox-dialog .dox-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 12px 12px 22px;border-bottom:1px solid var(--border);background:var(--surface)}
dialog.dox-dialog .dox-dialog-head h3{font-size:18px;line-height:1.3;letter-spacing:-.2px;color:var(--text)}
dialog.dox-dialog .dox-dialog-body{display:grid;gap:16px;padding:20px 22px;overflow:auto}
dialog.dox-dialog .dox-dialog-foot{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;padding:14px 22px;border-top:1px solid var(--border);background:var(--surface)}
dialog.dox-dialog button{font:inherit;color:inherit;cursor:pointer}
dialog.dox-dialog button:disabled{opacity:.5;cursor:not-allowed}
dialog.dox-dialog button:focus-visible{outline:3px solid var(--bus);outline-offset:2px}
dialog.dox-dialog .dox-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;max-width:100%;margin:0;padding:10px 15px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface);color:var(--text);font-size:14px;font-weight:600;line-height:1.35;box-shadow:none}
dialog.dox-dialog .dox-btn.dox-primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}
dialog.dox-dialog .dox-btn.dox-ghost{border-color:transparent;background:transparent}
dialog.dox-dialog .dox-btn:hover:not(:disabled){border-color:var(--text);color:var(--text)}
dialog.dox-dialog .dox-btn.dox-primary:hover:not(:disabled){background:oklch(0.38 0.08 158);border-color:oklch(0.38 0.08 158);color:oklch(1 0 0)}
dialog.dox-dialog .departure-ops-flag{margin:0;padding:12px 14px;border:1px solid var(--warn);border-radius:8px;background:var(--warn-bg);color:var(--text);font-size:13px;line-height:1.5}
dialog.dox-dialog .departure-ops-flag ul{margin:6px 0 0;padding-left:18px}
dialog.dox-dialog .dox-dialog-run{display:grid;gap:10px}
dialog.dox-dialog .dox-dialog-run h4{font-size:15px;color:var(--van)}
dialog.dox-dialog figure.dox-review-map{margin:0}
dialog.dox-dialog .dox-map-frame{position:relative;border:1px solid var(--border);border-radius:9px;overflow:hidden;background:var(--surface-alt);aspect-ratio:960/600}
dialog.dox-dialog .dox-map-frame>svg{display:block;width:100%;height:100%}
dialog.dox-dialog .dox-map-credit{display:flex;justify-content:space-between;gap:4px 10px;flex-wrap:wrap;margin-top:7px;font-size:11px;color:var(--muted)}
dialog.dox-dialog .dox-map-placeholder{aspect-ratio:960/600;border:1px dashed var(--border-strong);border-radius:9px;display:grid;align-content:center;text-align:center;padding:20px;color:var(--muted)}
dialog.dox-dialog .dep-ops-result-headline{margin:0;padding:10px 14px;border:1px solid var(--ok);border-radius:8px;background:var(--ok-bg);color:var(--text);font-size:15px}
dialog.dox-dialog .dep-ops-result-headline.is-warn{border-color:var(--warn);background:var(--warn-bg);color:var(--text)}
dialog.dox-dialog .dep-ops-result-list{margin:0;gap:0}
dialog.dox-dialog .dep-ops-result-list li{padding:12px 0;border-top:1px solid var(--border)}
dialog.dox-dialog .dep-ops-result-list li:first-child{border-top:0;padding-top:0}
dialog.dox-dialog .dep-ops-result-list li p{margin:4px 0 0;color:var(--muted)}
dialog.dox-dialog .dep-ops-result-list li>div{min-width:0;flex:1}
dialog.dox-dialog .dep-ops-result-problems{list-style:disc;margin:8px 0 0;padding:0 0 0 18px;display:block;font-size:14px;color:var(--text)}
dialog.dox-dialog .dep-ops-result-list .dep-ops-result-problems li{display:list-item;padding:3px 0;border:0;overflow-wrap:anywhere}
dialog.dox-dialog .dep-ops-result-code{color:var(--muted);font-size:12px}
dialog.dox-dialog .dep-ops-result-list li p.dep-ops-result-where{font-size:13px}
dialog.dox-dialog .dep-ops-result-log{margin:14px 0 0;padding-top:12px;border-top:1px solid var(--border);font-size:13px;color:var(--muted)}
dialog.dox-dialog .dep-ops-chip{border:0;border-radius:5px;padding:2px 6px;font-size:11px;background:var(--surface-alt);color:var(--text)}
dialog.dox-dialog .dep-ops-chip.is-ok{background:var(--ok-bg);color:var(--ok)}
dialog.dox-dialog .dep-ops-chip.is-warn{background:var(--warn-bg);color:var(--warn)}
dialog.dox-dialog .dep-ops-chip.is-danger{background:var(--danger-bg);color:var(--danger)}
@media(max-width:560px){dialog.dox-dialog .dox-dialog-body{padding:16px}dialog.dox-dialog .dox-dialog-foot{flex-direction:column;padding:12px 16px}dialog.dox-dialog .dox-dialog-foot .dox-btn{width:100%}}
/* The Send popup (owner 13.10.2026: "after review you hit send and get a popup what happens"). */
dialog.dox-dialog.dep-ops-send-dialog h4{font-size:14px;margin-bottom:8px;color:var(--text)}
dialog.dox-dialog .dep-ops-send-mode{padding:12px 14px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface)}
dialog.dox-dialog .dep-ops-send-mode strong{display:block}
dialog.dox-dialog .dep-ops-send-mode p{margin-top:4px;font-size:14px;color:var(--muted)}
dialog.dox-dialog .dep-ops-send-steps{margin:0;padding-left:20px;display:grid;gap:6px;font-size:14px}
dialog.dox-dialog .dep-ops-send-tours{list-style:none;margin:0;padding:0}
dialog.dox-dialog .dep-ops-send-tours li{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-top:1px solid var(--border)}
dialog.dox-dialog .dep-ops-send-tours li:first-child{border-top:0;padding-top:0}
dialog.dox-dialog .dep-ops-send-tours li>div{min-width:0;overflow-wrap:anywhere}
dialog.dox-dialog .dep-ops-send-tours p{margin-top:2px;font-size:13px;color:var(--muted)}
dialog.dox-dialog .dox-readiness{list-style:none;padding:0;margin:0}
dialog.dox-dialog .dox-readiness li{padding:8px 0;display:flex;gap:12px;border-top:1px solid var(--border);font-size:14px}
dialog.dox-dialog .dox-readiness li:first-child{border-top:0;padding-top:0}
dialog.dox-dialog .dox-readiness .dox-status-word{min-width:65px;font-size:12px;font-weight:650}
dialog.dox-dialog .dox-good{color:var(--ok)}
dialog.dox-dialog .dox-warning{color:var(--warn)}
dialog.dox-dialog .dox-bad,dialog.dox-dialog .dox-field-error{color:var(--danger)}
dialog.dox-dialog .dox-subtle,dialog.dox-dialog .dox-field-error{font-size:13px}
dialog.dox-dialog .dox-subtle{color:var(--muted)}
dialog.dox-dialog .dep-ops-send-blocked{padding:10px 14px;border:1px solid var(--warn);border-radius:8px;background:var(--warn-bg);font-size:14px}
/* Guide views (owner 11.10.2026: "we should have somewhere where to check all the guideviews"): the design's guide list, converted by hand. */
#app .departure-ops-page.dox .dox-guide-directory{padding-bottom:20px}
#app .departure-ops-page.dox .dox-guide-tour-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px;border-bottom:1px solid var(--border)}
#app .departure-ops-page.dox .dox-guide-tour-head h3{display:flex;align-items:center;gap:10px;min-width:0;font-size:19px;font-weight:650;overflow-wrap:anywhere}
#app .departure-ops-page.dox .dox-guide-tour-head .dox-ico{width:22px;height:22px}
#app .departure-ops-page.dox .dox-guide-tour-head>span{flex:none;font-size:13px}
#app .departure-ops-page.dox .dox-guide-run-card{margin:16px;border:1px solid var(--border);border-radius:9px;min-width:0}
#app .departure-ops-page.dox .dox-guide-run-body{padding:16px;min-width:0}
#app .departure-ops-page.dox .dox-guide-run-body>p{font-size:14px;line-height:1.6;overflow-wrap:anywhere}
#app .departure-ops-page.dox .dox-guide-run-state{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0;font-size:12px}
#app .departure-ops-page.dox .dox-guide-run-body>.dox-btn{min-height:44px;max-width:100%;white-space:normal}
#app .departure-ops-page.dox .dox-guide-run-body>a.dox-btn,#app .departure-ops-page.dox .dox-guide-run-body>a.dox-btn:visited{color:var(--text);background:var(--surface);text-decoration:none}
#app .departure-ops-page.dox .dox-guide-run-body>a.dox-btn:hover{color:var(--text);background:var(--surface);border-color:var(--text)}
#app .departure-ops-page.dox .dox-guide-unassigned{padding:18px 0 0;font-size:13px;color:var(--muted);line-height:1.6}
#app .departure-ops-page.dox .dox-guide-tour-lane>.dox-notice{margin:16px}
/* Owner 13.10.2026: the three bus shortcuts are always in one row; the move band sits under a fold at the bottom of the tour. */
#app .departure-ops-page.dox .dox-bus-shortcuts .dox-compact-bus-heading h4{margin:0}
#app .departure-ops-page.dox .dox-bus-shortcuts .dox-compact-bus-heading{row-gap:10px}
#app .departure-ops-page.dox .dox-bus-shortcuts .dox-compact-bus-heading>.dox-grow{flex:0 0 100%}
#app .departure-ops-page.dox .dox-bus-shortcut-row{display:flex;flex-wrap:wrap;gap:8px}
#app .departure-ops-page.dox .dox-bus-shortcut-row .dox-btn{font-size:13px;padding:8px 12px}
#app .departure-ops-page.dox .dox-bus-shortcut-notes{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:3px;font-size:13px;line-height:1.5;color:var(--muted)}
#app .departure-ops-page.dox .dox-select-all{border-top:1px solid var(--border);border-bottom:0}
#app .departure-ops-page.dox .dox-move-fold{border-top:1px solid var(--border);background:var(--surface);border-radius:0 0 12px 12px}
#app .departure-ops-page.dox .dox-move-fold>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;min-height:48px;padding:0 20px;font-size:13px;font-weight:600;color:var(--text)}
#app .departure-ops-page.dox .dox-move-fold>summary::-webkit-details-marker{display:none}
#app .departure-ops-page.dox .dox-move-fold>summary::before{content:"";flex:none;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg)}
#app .departure-ops-page.dox .dox-move-fold[open]>summary::before{transform:rotate(45deg)}
#app .departure-ops-page.dox .dox-move-fold>summary:hover{background:var(--surface-alt)}
#app .departure-ops-page.dox .dox-move-fold>.dox-pool-moves{border-top:1px solid var(--border);border-bottom:0;border-radius:0 0 12px 12px}
@media(min-width:901px){#app .departure-ops-page.dox .dox-move-fold.dox-move-holding{position:sticky;bottom:0;z-index:5;box-shadow:0 -8px 18px rgba(0,0,0,.1)}}
#app .departure-ops-page.dox .dox-stale-day{align-items:center}
#app .departure-ops-page.dox [data-ops-stale]:empty{display:none}
/* Departure log (owner 13.10.2026: "a separata departure operations log that logs the departure and you can see what was done"). */
#app .departure-ops-page.dox .dox-log-block>h3{margin-bottom:12px}
#app .departure-ops-page.dox .dox-log{list-style:none;margin:0;padding:0;border:1px solid var(--border);border-radius:12px;background:var(--surface)}
#app .departure-ops-page.dox .dox-log-line{display:grid;grid-template-columns:minmax(150px,230px) minmax(0,1fr);gap:6px 20px;padding:14px 18px;border-top:1px solid var(--border)}
#app .departure-ops-page.dox .dox-log-line:first-child{border-top:0}
#app .departure-ops-page.dox .dox-log-when{display:grid;gap:2px;align-content:start;min-width:0;font-size:13px}
#app .departure-ops-page.dox .dox-log-when time{font-weight:600;color:var(--text)}
#app .departure-ops-page.dox .dox-log-when span{color:var(--muted);overflow-wrap:anywhere}
#app .departure-ops-page.dox .dox-log-what{display:grid;gap:6px;justify-items:start;min-width:0}
#app .departure-ops-page.dox .dox-log-what p{font-size:14px;overflow-wrap:anywhere}
#app .departure-ops-page.dox .dox-log-block .dox-empty-state{padding:32px 20px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}
/* Departures with their review message (owner 17.10.2026): each opens to its guests; the button sits beside it. */
#app .departure-ops-page.dox .dox-review-deps{list-style:none;margin:0;padding:0;border:1px solid var(--border);border-radius:12px;background:var(--surface)}
#app .departure-ops-page.dox .dox-review-dep{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;align-items:start;padding:12px 18px;border-top:1px solid var(--border)}
#app .departure-ops-page.dox .dox-review-dep:first-child{border-top:0}
#app .departure-ops-page.dox .dox-review-dep summary{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;min-height:36px;padding-top:7px;cursor:pointer;font-size:14px}
#app .departure-ops-page.dox .dox-review-sum{color:var(--muted);font-size:13px}
#app .departure-ops-page.dox .dox-review-guests{list-style:none;margin:10px 0 4px;padding:0;display:grid;gap:6px}
#app .departure-ops-page.dox .dox-review-guests li{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;font-size:13px}
#app .departure-ops-page.dox .dox-review-code{min-width:96px;color:var(--muted);font-variant-numeric:tabular-nums}
#app .departure-ops-page.dox .dox-review-act{display:grid;gap:6px;justify-items:end;max-width:320px;text-align:right}
#app .departure-ops-page.dox .dox-review-confirm{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end;font-size:13px}
#app .departure-ops-page.dox .dox-review-why{color:var(--muted);font-size:12px}
#app .departure-ops-page.dox .dox-review-done{color:var(--ok);font-size:13px}
@media (max-width:640px){#app .departure-ops-page.dox .dox-review-dep{grid-template-columns:minmax(0,1fr)}#app .departure-ops-page.dox .dox-review-act{justify-items:start;text-align:left;max-width:none}#app .departure-ops-page.dox .dox-review-confirm{justify-content:flex-start}}
#app .departure-ops-page.dox .dox-dry-fold>.dox-pad{border-top:1px solid var(--border)}
@media(max-width:759px){#app .departure-ops-page.dox .dox-log-line{grid-template-columns:minmax(0,1fr);padding:12px 14px}}
@media(max-width:599px){#app .departure-ops-page.dox .dox-guide-tour-head{padding:16px}#app .departure-ops-page.dox .dox-guide-tour-head h3{font-size:18px}#app .departure-ops-page.dox .dox-guide-run-card{margin:12px}#app .departure-ops-page.dox .dox-guide-run-body{padding:14px}#app .departure-ops-page.dox .dox-guide-run-card .dox-vehicle-heading-copy{flex-basis:130px}}
/* Owner 14.10.2026: "add some icons in these, idk all the ui is just text and containers no visuals". A line
   picture before each action and fold, drawn here from the control's own data attribute, so the
   markup and what the control does stay as they were. Same style as the CRM's status icons. */
#app>.departure-ops-page{--di-eye:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");--di-list:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6h11M9 12h11M9 18h11M4.5 6h.01M4.5 12h.01M4.5 18h.01'/%3E%3C/svg%3E");--di-pencil:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20h4L19 9l-4-4L4 16v4z'/%3E%3Cpath d='M14 6l4 4'/%3E%3C/svg%3E");--di-cancel:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M9 9l6 6M15 9l-6 6'/%3E%3C/svg%3E");--di-compact:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 9h5V4M20 9h-5V4M4 15h5v5M20 15h-5v5'/%3E%3C/svg%3E");--di-pool:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12h11M10 8l4 4-4 4'/%3E%3Cpath d='M19 5v14'/%3E%3C/svg%3E");--di-undo:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 14L4 9l5-5'/%3E%3Cpath d='M4 9h10a6 6 0 0 1 0 12h-3'/%3E%3C/svg%3E");--di-send:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 3L10 14'/%3E%3Cpath d='M21 3l-7 18-4-7-7-4 18-7z'/%3E%3C/svg%3E");--di-move:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 7h13M16 3l4 4-4 4M17 17H4M8 13l-4 4 4 4'/%3E%3C/svg%3E");--di-flask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 3h6M10 3v6L4.5 19a1.5 1.5 0 0 0 1.3 2h12.4a1.5 1.5 0 0 0 1.3-2L14 9V3'/%3E%3Cpath d='M7 15h10'/%3E%3C/svg%3E");--di-mail:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 7l9 6 9-6'/%3E%3C/svg%3E");--di-clock:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");--di-refresh:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 11a8 8 0 1 0-2.3 5.7'/%3E%3Cpath d='M20 4v7h-7'/%3E%3C/svg%3E")}
#app .departure-ops-page.dox :is(.dox-btn[data-ops-guide-views],.dox-btn[data-ops-log],.dox-btn[data-ops-manage],.dox-btn[data-ops-cancel-day],.dox-btn[data-ops-bus-compact],.dox-btn[data-ops-bus-pool],.dox-btn[data-ops-bus-undo-compact],.dox-btn[data-ops-send-open],.dox-btn[data-ops-progress-refresh],.dox-btn[data-ops-activity-refresh],.dox-btn[data-ops-log-refresh],.dox-btn[data-ops-reload])::before{content:"";flex:none;width:17px;height:17px;background:currentColor;-webkit-mask:var(--di-icon) center/contain no-repeat;mask:var(--di-icon) center/contain no-repeat}
#app .departure-ops-page.dox .dox-btn[data-ops-guide-views]{--di-icon:var(--di-eye)}
#app .departure-ops-page.dox .dox-btn[data-ops-log]{--di-icon:var(--di-list)}
#app .departure-ops-page.dox .dox-btn[data-ops-manage]{--di-icon:var(--di-pencil)}
#app .departure-ops-page.dox .dox-btn[data-ops-cancel-day]{--di-icon:var(--di-cancel)}
#app .departure-ops-page.dox .dox-btn[data-ops-bus-compact]{--di-icon:var(--di-compact)}
#app .departure-ops-page.dox .dox-btn[data-ops-bus-pool]{--di-icon:var(--di-pool)}
#app .departure-ops-page.dox .dox-btn[data-ops-bus-undo-compact]{--di-icon:var(--di-undo)}
#app .departure-ops-page.dox .dox-btn[data-ops-send-open]{--di-icon:var(--di-send)}
#app .departure-ops-page.dox :is(.dox-btn[data-ops-progress-refresh],.dox-btn[data-ops-activity-refresh],.dox-btn[data-ops-log-refresh],.dox-btn[data-ops-reload]){--di-icon:var(--di-refresh)}
#app .departure-ops-page.dox .dox-move-fold>summary::before{order:-2}
#app .departure-ops-page.dox :is(.dox-move-fold>summary[data-ops-more^="MOVE:"],.dox-move-fold>summary[data-ops-more^="DRY:"],.dox-move-fold>summary[data-ops-more="EMAIL_LOG"],.dox-move-fold>summary[data-ops-more="ACTIVITY"])::after{content:"";order:-1;flex:none;width:17px;height:17px;background:currentColor;-webkit-mask:var(--di-icon) center/contain no-repeat;mask:var(--di-icon) center/contain no-repeat}
#app .departure-ops-page.dox .dox-move-fold>summary[data-ops-more^="MOVE:"]{--di-icon:var(--di-move)}
#app .departure-ops-page.dox .dox-move-fold>summary[data-ops-more^="DRY:"]{--di-icon:var(--di-flask)}
#app .departure-ops-page.dox .dox-move-fold>summary[data-ops-more="EMAIL_LOG"]{--di-icon:var(--di-mail)}
#app .departure-ops-page.dox .dox-move-fold>summary[data-ops-more="ACTIVITY"]{--di-icon:var(--di-clock)}
/* Email log and Activity, folded at the foot of the page. */
#app .departure-ops-page.dox .dox-foot-folds{display:grid;gap:12px;margin-top:30px}
#app .departure-ops-page.dox .dox-foot-fold{border:1px solid var(--border);border-radius:12px}
#app .departure-ops-page.dox .dox-foot-fold>.dox-pad{display:grid;gap:12px;justify-items:start;padding:16px 20px 20px;border-top:1px solid var(--border)}
#app .departure-ops-page.dox .dox-foot-fold>.dox-pad>:not(.dox-btn){justify-self:stretch}
#app .departure-ops-page.dox .dox-fold-chips{display:inline-flex;flex-wrap:wrap;gap:6px;margin-left:auto}

/* The design's palette, given to the names the CRM's layers already use.
   Listed with the same weight as the older theme rules so this one wins. */
body[data-concept=ledger],html:not(.theme-light) body[data-concept=ledger],html.theme-light body[data-concept=ledger]{
  --ns-bg:oklch(.18 .023 255);--ns-surface:oklch(.235 .025 255);--ns-raised:oklch(.285 .032 255);--ns-raised-2:oklch(.33 .036 255);
  --ns-fg:oklch(.95 .012 250);--ns-muted:oklch(.77 .025 250);--ns-border:oklch(.37 .035 250);--ns-strong:oklch(.60 .031 250);
  --ns-accent:oklch(.77 .115 180);--ns-on-accent:oklch(.18 .023 255);--ns-blue:oklch(.70 .145 250);--ns-gold:oklch(.83 .13 80);
  --ns-coral:oklch(.78 .12 25);--ns-previous:oklch(.64 .025 250);
  --fg:var(--ns-fg);--blue:var(--ns-blue);--gold:var(--ns-gold);--coral:var(--ns-coral);--previous:var(--ns-previous);--strong:var(--ns-strong);--border:var(--ns-border);--warn:var(--ns-gold);
  --font:"Segoe UI",-apple-system,BlinkMacSystemFont,sans-serif;--mono:"SFMono-Regular",Consolas,monospace;
  --radius:7px;--radius-lg:10px;
  --nav:var(--ns-surface);--nav-text:var(--ns-muted);--nav-hover:var(--ns-surface);--nav-active:var(--ns-raised);
  --bg:var(--ns-bg);--panel:var(--ns-surface);--surface:var(--ns-surface);--card:var(--ns-raised);--raised:var(--ns-raised-2);
  --surface-alt:var(--ns-raised);--surface-raised:var(--ns-raised-2);
  --line:var(--ns-border);--card-line:var(--ns-border);--line-strong:var(--ns-strong);
  --text:var(--ns-fg);--muted:var(--ns-muted);--input-bg:var(--ns-surface);
  --accent:var(--ns-accent);--calendar-accent:var(--ns-accent);--accent-text:var(--ns-accent);--on-accent:var(--ns-on-accent);--soft:oklch(.30 .05 190);
  --warning-bg:oklch(.30 .05 80);--warning-text:var(--ns-gold);--warning-line:oklch(.58 .1 80);--warning:var(--ns-gold);--warning-border:oklch(.58 .1 80);
  --danger:var(--ns-coral);--danger-bg:oklch(.29 .05 25);--danger-border:oklch(.55 .1 25);
  --success:var(--ns-accent);--success-bg:oklch(.30 .05 190);--focus-ring:var(--ns-accent);
  --info:oklch(.80 .09 245);--info-bg:oklch(.30 .06 250);--full:oklch(.80 .1 300);
  --chip-gyg-bg:oklch(.30 .06 250);--chip-gyg:oklch(.84 .08 245);--chip-viator-bg:oklch(.30 .06 300);--chip-viator:oklch(.84 .08 300);
  --chip-direct-bg:oklch(.30 .05 190);--chip-direct:var(--ns-accent);--chip-manual-bg:var(--ns-raised);--chip-manual:var(--ns-muted);
  --chip-bokun-bg:oklch(.30 .05 80);--chip-bokun:var(--ns-gold);
  --tone-daily:var(--ns-muted);--tone-guests:var(--ns-muted);--tone-results:var(--ns-muted);--tone-settings:var(--ns-muted);
  color-scheme:dark;background:var(--bg);color:var(--text);font-family:var(--font);font-variant-numeric:tabular-nums
}
/* Light mode: the design's daylight palette. */
html.theme-light body[data-concept=ledger]{
  --ns-bg:oklch(.968 .008 235);--ns-surface:oklch(.996 .002 235);--ns-raised:oklch(.945 .012 235);--ns-raised-2:oklch(.92 .015 235);
  --ns-fg:oklch(.25 .025 250);--ns-muted:oklch(.465 .024 250);--ns-border:oklch(.84 .018 235);--ns-strong:oklch(.56 .026 235);
  --ns-accent:oklch(.45 .09 180);--ns-on-accent:oklch(.99 .002 180);--ns-blue:oklch(.525 .14 250);--ns-gold:oklch(.53 .10 78);
  --ns-coral:oklch(.51 .15 25);--ns-previous:oklch(.565 .018 235);
  --soft:oklch(.94 .03 185);--success-bg:oklch(.94 .03 185);--warning-bg:oklch(.95 .04 85);--warning-line:oklch(.7 .1 80);--warning-border:oklch(.7 .1 80);
  --danger-bg:oklch(.95 .03 25);--danger-border:oklch(.78 .08 25);--info:oklch(.45 .12 245);--info-bg:oklch(.95 .03 245);--full:oklch(.45 .15 300);
  --chip-gyg-bg:oklch(.95 .03 245);--chip-gyg:oklch(.42 .12 245);--chip-viator-bg:oklch(.95 .03 300);--chip-viator:oklch(.42 .14 300);
  --chip-direct-bg:oklch(.94 .03 185);--chip-bokun-bg:oklch(.95 .04 85);
  color-scheme:light
}
/* Departure operations keeps its own names; they get the same palette. */
#app>.departure-ops-page,#app .departure-ops-page.dox,dialog.dox-dialog,html.theme-light #app>.departure-ops-page,html.theme-light #app .departure-ops-page.dox,html.theme-light dialog.dox-dialog{
  --bg:var(--ns-bg);--surface:var(--ns-surface);--surface-alt:var(--ns-raised);--raised:var(--ns-raised-2);--text:var(--ns-fg);--muted:var(--ns-muted);
  --primary:var(--ns-accent);--on-primary:var(--ns-on-accent);--border:var(--ns-border);--border-strong:var(--ns-strong);
  --bus:var(--ns-blue);--bus-bg:color-mix(in oklch,var(--ns-blue) 18%,var(--ns-surface));--van:var(--ns-gold);--van-bg:color-mix(in oklch,var(--ns-gold) 16%,var(--ns-surface));
  --danger:var(--ns-coral);--danger-bg:color-mix(in oklch,var(--ns-coral) 16%,var(--ns-surface));--warn:var(--ns-gold);--warn-bg:color-mix(in oklch,var(--ns-gold) 16%,var(--ns-surface));
  --ok:var(--ns-accent);--ok-bg:color-mix(in oklch,var(--ns-accent) 16%,var(--ns-surface));--radius:7px;
  --font:"Segoe UI",-apple-system,BlinkMacSystemFont,sans-serif;--mono:"SFMono-Regular",Consolas,monospace
}
.main:has(>#app>.departure-ops-page),html.theme-light .main:has(>#app>.departure-ops-page){background:var(--bg)}
body[data-concept=ledger] :is(button,input,select,textarea){font-family:inherit}
body[data-concept=ledger] .main{background:var(--bg)}

/* Page title: the design's large heading, without the picture or the
   explaining sentence under it. */
body[data-concept=ledger] #app>.page-head{display:block;padding:28px var(--s5) 0;margin:0 0 20px}
body[data-concept=ledger] #app>.page-head>.icon,body[data-concept=ledger] #app>.page-head .page-help{display:none}
body[data-concept=ledger] #app>.page-head .page-help.page-lead{display:block;margin-top:8px;font-size:14px;color:var(--muted)}
body[data-concept=ledger] #app>.page-head h1,body[data-concept=ledger] #app .tp-title{font-family:var(--font);font-size:32px;font-weight:600;letter-spacing:-.02em;line-height:1.15;color:var(--fg)}

/* Buttons: one outlined style and one filled action, as in the design. */
body[data-concept=ledger] :is(#app,#drawer,#inv-panel,.gm-overlay) :is(.button,.btn,.mg-btn,.tp-btn-primary,.tp-btn-sec,.tp-btn-danger,.tp-btn-xs,.cs-btn):not(.pickup-ops-item,.ledger-experience-choice,.card-action-btn){background:var(--surface);border-color:var(--strong);border-radius:7px;font-size:13px;font-weight:550;letter-spacing:.02em}
body[data-concept=ledger] :is(#app,#drawer,#inv-panel,.gm-overlay) :is(.button,.btn,.mg-btn,.tp-btn-sec,.tp-btn-xs,.cs-btn):not(.pickup-ops-item,.ledger-experience-choice,.card-action-btn,.primary,.btn-primary,.mg-btn-primary):hover:not(:disabled){background:var(--surface);border-color:var(--fg);box-shadow:0 0 0 1px var(--fg);color:var(--fg)}
body[data-concept=ledger] :is(#app,#drawer,#inv-panel,.gm-overlay) :is(.button.primary,.btn-primary,.mg-btn-primary,.tp-btn-primary,.qb-submit-btn,[data-ops-confirm],[data-ops-manage-confirm]){background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
body[data-concept=ledger] :is(#app,#drawer,#inv-panel,.gm-overlay) .card-action-btn{background:var(--surface);border-color:var(--strong);border-radius:7px}

/* Switchers: a framed strip; the chosen item is a raised tile. */
body[data-concept=ledger] :is(#app,#drawer,#inv-panel,.gm-overlay) :is(.mkt-tabs,.mkt-ov-period-row,.mkt-range-actions,.period-choices,.tp-day-strip,.ledger-experience-tabs,.calendar-tabs,.reviews-tabs){gap:2px;padding:4px;border:1px solid var(--border);border-radius:9px;background:var(--surface)}
body[data-concept=ledger] :is(#app,#drawer,#inv-panel,.gm-overlay) :is(.mkt-tabs,.mkt-ov-period-row,.mkt-range-actions,.period-choices,.tp-day-strip,.ledger-experience-tabs,.calendar-tabs,.reviews-tabs)>:is(button,.button,.btn){margin:0;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--muted);box-shadow:none;font-weight:550}
body[data-concept=ledger] :is(#app,#drawer,#inv-panel,.gm-overlay) :is(.mkt-tabs,.mkt-ov-period-row,.mkt-range-actions,.period-choices,.tp-day-strip,.ledger-experience-tabs,.calendar-tabs,.reviews-tabs)>:is(button,.button,.btn):hover:not(:disabled){background:transparent;border-color:var(--strong);box-shadow:none;color:var(--fg)}
body[data-concept=ledger] :is(#app,#drawer,#inv-panel,.gm-overlay) :is(.mkt-tabs,.mkt-ov-period-row,.mkt-range-actions,.period-choices,.tp-day-strip,.ledger-experience-tabs,.calendar-tabs,.reviews-tabs)>:is(button,.button,.btn):is(.active,[aria-pressed=true],[aria-selected=true],.btn-primary){background:var(--raised);border-color:var(--strong);color:var(--fg);font-weight:600}

/* Fields: the design's outlined boxes on the panel colour. */
body[data-concept=ledger] :is(#app,#drawer,#inv-panel,.gm-overlay) :is(input:not([type=checkbox],[type=radio],[type=range]),select,textarea){background:var(--surface);border-color:var(--strong);border-radius:6px;color:var(--fg);font-size:13px}
body[data-concept=ledger] :is(#app,#drawer,#inv-panel,.gm-overlay) :is(input,textarea)::placeholder{color:var(--muted);opacity:1}
body[data-concept=ledger] :is(#app,#drawer,#inv-panel,.gm-overlay,#app-nav,.utility) :is(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--accent);outline-offset:3px}

/* Frame: a fixed-width menu on the left, the page beside it. */
body[data-concept=ledger] .app-shell{display:grid;grid-template-columns:264px minmax(0,1fr);min-height:100vh}
body[data-concept=ledger] #app-nav.navigation{display:flex;flex-direction:column;gap:0;padding:0;background:var(--nav);border-right:1px solid var(--border);color:var(--muted)}
body[data-concept=ledger] #app-nav .ns-brand-row{flex:none;padding:19px 23px 14px;display:flex;align-items:center;gap:17px}
body[data-concept=ledger] #app-nav .logo-backing{display:block;padding:0;margin:0;background:none;border:0;box-shadow:none;flex:none}
body[data-concept=ledger] #app-nav .ns-brand{width:62px;height:auto;display:block}
/* The logo is drawn for a dark ground, so light mode keeps a navy tile under it. */
html.theme-light body[data-concept=ledger] #app-nav .logo-backing{padding:6px;background:oklch(.235 .025 255);border-radius:7px}
body[data-concept=ledger] #app-nav .ns-brand-label{border-left:1px solid var(--border);padding-left:17px;color:var(--muted);font-size:10px;line-height:1.6;letter-spacing:.13em;text-transform:uppercase}
body[data-concept=ledger] #app-nav .ns-mobile-toggle{display:none}
body[data-concept=ledger] #app-nav .ns-menu{display:block;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:10px 14px 20px;scrollbar-width:thin;scrollbar-color:var(--strong) var(--nav)}
body[data-concept=ledger] #app-nav .ns-group+.ns-group{margin-top:22px}
body[data-concept=ledger] #app-nav .ns-group-title{margin:0 12px 7px;font-size:10px;line-height:1.4;font-weight:600;letter-spacing:.13em;color:var(--muted);text-transform:uppercase}
body[data-concept=ledger] #app-nav .nav-button.ns-nav-item{width:100%;min-height:44px;padding:10px 11px;display:flex;align-items:center;gap:11px;border:1px solid transparent;border-radius:var(--radius);background:transparent;box-shadow:none;color:var(--nav-text);text-align:left;font-size:13px;font-weight:400;line-height:1.35;letter-spacing:0}
body[data-concept=ledger] #app-nav .ns-nav-item+.ns-nav-item{margin-top:2px}
body[data-concept=ledger] #app-nav .ns-nav-item .icon{display:block;width:18px;height:18px}
body[data-concept=ledger] #app-nav .ns-nav-label{min-width:0;flex:1}
body[data-concept=ledger] #app-nav .nav-button.ns-nav-item:hover{border-color:var(--strong);color:var(--fg);background:var(--nav)}
body[data-concept=ledger] #app-nav .nav-button.ns-nav-item:active{border-color:var(--fg);color:var(--fg)}
body[data-concept=ledger] #app-nav .nav-button.ns-nav-item[aria-current=page]{color:var(--accent);background:var(--nav-active);border-color:var(--border);font-weight:600;box-shadow:none}
body[data-concept=ledger] #app-nav .nav-button.ns-nav-item[aria-current=page]:hover{border-color:var(--accent)}
body[data-concept=ledger] #app-nav .ns-current-mark{width:5px;height:5px;border-radius:50%;background:currentColor;flex:none;margin-right:4px}
body[data-concept=ledger] #app-nav .ns-attention{min-width:22px;padding:2px 5px;border:1px solid currentColor;border-radius:5px;background:none;color:var(--danger);text-align:center;font:600 11px/1.25 var(--mono)}
body[data-concept=ledger] #app-nav .ns-attention::before{content:none}
body[data-concept=ledger] #app-nav .ns-settings{border-top:1px solid var(--border);margin-top:22px;padding-top:6px}
body[data-concept=ledger] #app-nav :is(.ns-settings,.ns-account)>summary{list-style:none;cursor:pointer;border:1px solid transparent;border-radius:var(--radius)}
body[data-concept=ledger] #app-nav :is(.ns-settings,.ns-account)>summary::-webkit-details-marker{display:none}
body[data-concept=ledger] #app-nav .ns-settings>summary{display:flex;align-items:center;gap:10px;min-height:44px;padding:10px 12px;color:var(--muted);font-size:10px;font-weight:600;letter-spacing:.13em;text-transform:uppercase}
body[data-concept=ledger] #app-nav :is(.ns-settings,.ns-account)>summary:hover{color:var(--fg);border-color:var(--strong)}
body[data-concept=ledger] #app-nav .ns-settings>summary .icon{width:15px;height:15px;margin-left:auto}
body[data-concept=ledger] #app-nav :is(.ns-settings[open]>summary,.ns-account[open]>summary)>.icon{transform:rotate(180deg)}
body[data-concept=ledger] #app-nav .ns-settings-list{padding-top:4px}
body[data-concept=ledger] #app-nav .cs-area{margin:0;padding:12px 14px;border-top:1px solid var(--border);border-bottom:0;background:transparent}
body[data-concept=ledger] #app-nav .ns-account{margin-top:auto;flex:none;display:block;border-top:1px solid var(--border);padding:10px 14px 12px;background:var(--nav)}
body[data-concept=ledger] #app-nav .ns-account>summary{min-height:50px;display:flex;align-items:center;gap:11px;padding:6px 10px;color:var(--muted)}
body[data-concept=ledger] #app-nav .ns-avatar{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--strong);border-radius:7px;background:none;font:500 11px/1 var(--mono);flex:none;color:var(--fg)}
body[data-concept=ledger] #app-nav .ns-account-title{flex:1;min-width:0;font-size:12px;line-height:1.5}
body[data-concept=ledger] #app-nav .ns-account-title strong{display:block;color:var(--fg)}
body[data-concept=ledger] #app-nav .ns-account-title small{display:block;font-size:10px;font-weight:400}
body[data-concept=ledger] #app-nav .ns-account>summary>.icon{width:15px;height:15px}
body[data-concept=ledger] #app-nav .ns-account-actions{display:flex;align-items:center;gap:6px;padding-top:5px}
body[data-concept=ledger] #app-nav .ns-account-actions .nav-foot-link{min-height:44px;padding:8px 9px;display:flex;align-items:center;justify-content:center;gap:6px;background:transparent;border:1px solid transparent;border-radius:var(--radius);color:var(--muted);opacity:1;font-size:11px;text-decoration:none}
body[data-concept=ledger] #app-nav .ns-account-actions .nav-foot-link:first-child{flex:1}
body[data-concept=ledger] #app-nav .ns-account-actions .icon{width:15px;height:15px}
body[data-concept=ledger] #app-nav .ns-account-actions .nav-foot-link:hover{border-color:var(--strong);color:var(--fg)}
body[data-concept=ledger] #app-nav .ns-passkey-deadline{font-size:11px;color:var(--warn);margin:6px 10px 0;opacity:1}
body[data-concept=ledger] #app-nav .icon,body[data-concept=ledger] .utility .icon{stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round;flex:none}
@media(min-width:1024px){
  body[data-concept=ledger] #app-nav.navigation{position:sticky;top:0;align-self:start;height:100vh;overflow:hidden}
}
@media(min-width:1024px) and (pointer:fine){body[data-concept=ledger] #app-nav.navigation{height:calc(100vh / .9)}}

/* Top bar: where you are, the booking search and the sending state. */
body[data-concept=ledger] .utility.topbar{min-height:68px;padding:11px 28px;display:flex;align-items:center;justify-content:flex-start;gap:16px;background:var(--bg);border-bottom:1px solid var(--border)}
body[data-concept=ledger] .topbar .breadcrumb{display:flex;align-items:center;gap:8px;min-width:0;color:var(--muted);font-size:12px}
body[data-concept=ledger] .topbar .breadcrumb strong{color:var(--fg);font-weight:600}
body[data-concept=ledger] .topbar .breadcrumb .icon{width:16px;height:16px}
body[data-concept=ledger] .topbar #ledger-header-search.header-search{margin-left:auto;flex:none;display:flex;align-items:flex-start;gap:8px}
body[data-concept=ledger] .topbar .header-search input{width:235px;height:44px;min-height:44px;padding:9px 11px 9px 34px;background:var(--surface);border:1px solid var(--strong);border-radius:6px;color:var(--fg);font-size:13px}
body[data-concept=ledger] .topbar .header-search input::placeholder{color:var(--muted);opacity:1}
body[data-concept=ledger] .topbar .header-search .button{width:44px;min-height:44px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:var(--surface);border:1px solid var(--strong);border-radius:7px;color:var(--fg)}
body[data-concept=ledger] .topbar .header-search .button:hover{border-color:var(--fg);box-shadow:0 0 0 1px var(--fg);background:var(--surface)}
body[data-concept=ledger] .topbar .utility-tools{display:flex;align-items:center;gap:12px}
body[data-concept=ledger] .topbar .sending-switch{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0 4px;background:none;border:0;box-shadow:none;color:var(--gold);font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase}
body[data-concept=ledger] .topbar .sending-switch::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
body[data-concept=ledger] .topbar .sending-switch .delivery-mode-state{color:inherit}
body[data-concept=ledger] .topbar .sending-switch .delivery-mode-state::before{content:none}
body[data-concept=ledger] .topbar .sending-switch.is-on{color:var(--accent)}
body[data-concept=ledger] .topbar .sending-switch.is-unknown{color:var(--danger)}
body[data-concept=ledger] .topbar button.sending-switch:hover{text-decoration:underline;text-underline-offset:4px}
body[data-concept=ledger] .topbar .theme-toggle{min-height:44px;padding:0 12px;background:transparent;border:1px solid transparent;border-radius:var(--radius);color:var(--muted);font-size:12px;font-weight:500}
body[data-concept=ledger] .topbar .theme-toggle:hover{border-color:var(--strong);color:var(--fg);background:transparent}
body[data-concept=ledger] #app{padding-left:28px;padding-right:28px}
@media(min-width:1024px) and (max-width:1280px){
  body[data-concept=ledger] .topbar .header-search input{width:205px}
  body[data-concept=ledger] .topbar .breadcrumb{display:none}
}

/* Tablets and phones: the menu folds behind one button under the logo row. */
@media(max-width:1023px){
  body[data-concept=ledger] .app-shell{display:block}
  body[data-concept=ledger] #app-nav.navigation{position:relative;display:flex;flex-direction:column;align-items:stretch;width:100%;height:auto;padding:0;border-right:0;border-bottom:1px solid var(--border)}
  body[data-concept=ledger] #app-nav>*{grid-column:auto;grid-row:auto}
  body[data-concept=ledger] #app-nav .ns-brand-row{padding:12px 18px;gap:20px}
  body[data-concept=ledger] #app-nav .ns-brand{width:45px}
  body[data-concept=ledger] #app-nav .ns-brand-label{display:none}
  body[data-concept=ledger] #app-nav .ns-mobile-toggle{min-width:0;min-height:48px;display:flex;align-items:center;flex:1;gap:16px;text-align:left;padding:8px 12px;border:1px solid var(--strong);border-radius:var(--radius);background:var(--surface);color:var(--fg)}
  body[data-concept=ledger] #app-nav .ns-mobile-toggle>span{min-width:0;flex:1}
  body[data-concept=ledger] #app-nav .ns-mobile-toggle small{display:block;font-size:10px;color:var(--muted);line-height:1.3}
  body[data-concept=ledger] #app-nav .ns-mobile-toggle strong{display:block;font-size:13px;line-height:1.4;color:var(--fg)}
  body[data-concept=ledger] #app-nav .ns-mobile-toggle .nav-menu-current::before{content:none}
  body[data-concept=ledger] #app-nav .ns-mobile-toggle[aria-expanded=true]>.icon{transform:rotate(180deg)}
  body[data-concept=ledger] #app-nav .ns-menu{display:none;max-height:58dvh;padding:10px 16px 20px}
  body[data-concept=ledger] #app-nav.nav-menu-open .ns-menu{display:block}
  body[data-concept=ledger] #app-nav .ns-account{margin:0;padding:5px 18px}
  body[data-concept=ledger] #app-nav .ns-account>summary{min-height:44px;padding:4px 6px}
  body[data-concept=ledger] #app-nav .ns-account-title{display:flex;align-items:baseline;gap:9px}
  body[data-concept=ledger] #app-nav .ns-account-title small{font-size:11px}
  body[data-concept=ledger] #app-nav .ns-avatar{width:28px;height:28px}
  body[data-concept=ledger] #app-nav .ns-account-actions{padding:5px 0}
  body[data-concept=ledger] #app-nav .ns-account-actions .nav-foot-link:first-child{flex:none}
  body[data-concept=ledger] #app-nav .ns-account-actions .nav-foot-link{font-size:12px}
  body[data-concept=ledger] .utility.topbar{padding:12px 20px;flex-wrap:wrap}
  body[data-concept=ledger] .topbar .breadcrumb{display:none}
  body[data-concept=ledger] .topbar #ledger-header-search.header-search{flex:1;margin:0}
  body[data-concept=ledger] .topbar .header-search .ledger-search-field{flex:1;min-width:0}
  body[data-concept=ledger] .topbar .header-search input{width:100%}
  body[data-concept=ledger] #app{padding-left:20px;padding-right:20px}
}
@media(max-width:620px){
  body[data-concept=ledger] .utility.topbar{padding:10px 16px;gap:10px}
  body[data-concept=ledger] .topbar .sending-switch{font-size:9px;letter-spacing:.02em;gap:5px}
  body[data-concept=ledger] #app{padding-left:16px;padding-right:16px}
}
@media(prefers-reduced-motion:reduce){body[data-concept=ledger] #app-nav *{transition:none}}

#app#app .compact-day{--availability-open:oklch(from var(--success) l c calc(h - 25));--availability-open-bg:oklch(from var(--availability-open) calc(l * .34) calc(c * .40) h);--availability-low-bg:oklch(from var(--warn) calc(l * .33) calc(c * .30) h);--availability-closed-bg:oklch(from var(--raised) l 0 h);--availability-closed-fg:oklch(from var(--muted) l 0 h);--availability-closed-border:oklch(from var(--strong) l 0 h);--warning-bg:color-mix(in oklch,var(--warn) 7%,var(--surface));--pending-bg:color-mix(in oklch,var(--blue) 5%,var(--surface));--smallgroup:var(--van);margin:0 0 32px;padding:0;color:var(--fg)}
html.theme-light #app#app .compact-day{--availability-open-bg:color-mix(in oklch,var(--availability-open) 12%,var(--surface));--availability-low-bg:color-mix(in oklch,var(--warn) 14%,var(--surface));--availability-closed-bg:var(--raised)}
#app#app .compact-day .icon{display:inline-block;width:19px;height:19px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round;flex:none;vertical-align:middle}
#app#app .compact-day .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#app#app .compact-day .calendar-region{margin:0}
#app#app>.page-head:has(.cal-timezone){display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-left:0;padding-right:0;margin-bottom:14px}
body[data-concept=ledger] #app>.page-head .cal-timezone{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted)}
body[data-concept=ledger] #app>.page-head .cal-timezone .icon{width:16px;height:16px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}

/* Week controls */
#app#app .compact-day .cal-toolbar{display:flex;align-items:end;justify-content:space-between;flex-wrap:wrap;gap:14px;margin:0 0 20px}
#app#app .compact-day .cal-period{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
#app#app .compact-day .cal-period h2{font:550 18px/1.4 var(--mono);letter-spacing:-.02em;margin:0;color:var(--fg)}
#app#app .compact-day .cal-period p{font-size:11px;letter-spacing:.015em;color:var(--muted);margin:3px 0 0}
#app#app .compact-day .cal-arrows{display:flex;gap:5px}
#app#app .compact-day .cal-arrows .btn{width:44px;min-width:44px;padding:0}
#app#app .compact-day .cal-tools{display:flex;align-items:end;gap:9px;flex-wrap:wrap}
#app#app .compact-day .cal-date-label{display:grid;gap:4px;font-size:11px;letter-spacing:.015em;color:var(--muted);margin:0}
#app#app .compact-day .cal-date-label input{width:124px;min-height:44px;border:1px solid var(--strong);background:var(--surface);border-radius:6px;padding:9px 11px;color:var(--fg);font-size:13px}
#app#app .compact-day .cal-zero-pax{margin:-8px 0 14px;font-size:12px;color:var(--muted)}

/* Selected day guests */
#app#app .compact-day .pax-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:16px 18px;margin:0 0 18px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}
#app#app .compact-day .pax-summary-heading{min-width:0}
#app#app .compact-day .pax-summary-heading h2{font-size:15px;font-weight:550;line-height:1.4;margin:0;color:var(--fg)}
#app#app .compact-day .pax-summary-heading p{font-size:11px;letter-spacing:.015em;color:var(--muted);margin:4px 0 0}
#app#app .compact-day .pax-totals{display:flex;align-items:stretch;gap:0;flex-wrap:wrap;max-width:100%;margin:0}
#app#app .compact-day .pax-totals>div{min-width:110px;max-width:250px;padding:0 20px;border-left:1px solid var(--border)}
#app#app .compact-day .pax-totals dt{display:flex;align-items:center;gap:7px;font-size:12px;line-height:1.4;color:var(--muted);min-height:28px;overflow-wrap:anywhere}
#app#app .compact-day .pax-totals dd{font:550 25px/1.25 var(--mono);color:var(--fg);margin:4px 0 0;letter-spacing:-.02em}
#app#app .compact-day .pax-totals .pax-total dt{color:var(--fg)}
#app#app .compact-day .tour-symbol{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex:none;border-radius:4px;color:var(--fg);background:var(--raised)}
#app#app .compact-day .tour-symbol.small{color:var(--smallgroup);background:color-mix(in oklch,var(--smallgroup) 10%,var(--surface))}
#app#app .compact-day .tour-symbol.bus{color:var(--bus);background:color-mix(in oklch,var(--bus) 10%,var(--surface))}
#app#app .compact-day .tour-symbol .icon{width:21px;height:21px;color:inherit;stroke-width:1.8}

/* The week */
#app#app .compact-day .week-board{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:visible;margin:0}
#app#app .compact-day .cal-day{min-width:0;display:flex;flex-direction:column;border-right:1px solid var(--border);padding:0 8px 8px;position:relative}
#app#app .compact-day .cal-day:last-child{border-right:0}
#app#app .compact-day .cal-day-heading{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1px;position:relative;min-height:44px;padding:12px 3px 10px;margin:0 0 12px;border-bottom:1px solid var(--border);background:none}
#app#app .compact-day .cal-day-heading.today:before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--strong)}
#app#app .compact-day .cal-day-heading.selected{border-bottom:2px solid var(--fg)}
#app#app .compact-day .compact-date{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px}
#app#app .compact-day .day-name{display:block;font-size:11px;line-height:1.4;letter-spacing:.02em;color:var(--muted)}
#app#app .compact-day .day-date{display:block;font:550 14px/1.4 var(--mono);letter-spacing:0;color:var(--fg)}
#app#app .compact-day .cal-day-heading .day-today{padding:0;border-radius:0;background:none;color:var(--muted);font-size:10px;line-height:1.4;font-weight:400;letter-spacing:.06em;text-transform:uppercase}
#app#app .compact-day .cal-day-heading .day-selected{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;padding:0}
#app#app .compact-day .tour-group{margin:0 0 18px}
#app#app .compact-day .tour-group h3{display:grid;gap:4px;align-items:start;margin:0 2px 9px;color:var(--fg);font-size:14px;font-weight:600;line-height:1.4;letter-spacing:0}
#app#app .compact-day .tour-title{text-wrap:balance;overflow-wrap:anywhere}
#app#app .compact-day .tour-format{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;line-height:1.4;letter-spacing:.01em;min-height:28px;overflow-wrap:anywhere}
#app#app .compact-day .tour-format>span:last-child{min-width:0}
#app#app .compact-day .calendar-departure{display:block;margin:0;padding:0;border:0;background:none}
#app#app .compact-day .calendar-departure+.calendar-departure{margin-top:7px}

/* Departure cards: green has room, amber is nearly full, grey is closed out */
#app#app .compact-day .departure-card{--card-bg:var(--bg);--card-color:var(--strong);display:block;position:relative;width:100%;min-width:0;min-height:114px;margin:0;padding:10px 9px;border:1px solid var(--card-color);border-radius:5px;background:var(--card-bg);color:var(--fg);text-align:left;font:inherit;letter-spacing:0;box-shadow:none;opacity:1;overflow:visible;transition:none;cursor:pointer}
#app#app .compact-day .departure-card.available{--card-bg:var(--availability-open-bg);--card-color:var(--availability-open)}
#app#app .compact-day .departure-card.warn{--card-bg:var(--availability-low-bg);--card-color:var(--warn)}
#app#app .compact-day .departure-card.closed{--card-bg:var(--availability-closed-bg);--card-color:var(--availability-closed-border)}
#app#app .compact-day .departure-card.cancelled{--card-color:var(--danger);border-style:dashed}
#app#app .compact-day .departure-card:hover{background:var(--card-bg);border-color:var(--fg);box-shadow:0 0 0 1px var(--fg)}
#app#app .compact-day .departure-card[aria-pressed=true]{border-color:var(--fg);box-shadow:inset 0 0 0 1px var(--fg);background:var(--card-bg)}
#app#app .compact-day .departure-card:focus-visible{outline:3px solid var(--fg);outline-offset:3px}
#app#app .compact-day .dep-time{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;font:550 13px/1.5 var(--mono);color:var(--fg)}
#app#app .compact-day .dep-time strong{font:550 12px/1.5 var(--font)}
#app#app .compact-day .departure-card.cancelled .dep-time{text-decoration:line-through}
#app#app .compact-day .departure-type{display:block;margin-top:2px;font-size:11px;font-weight:550;color:var(--muted)}
#app#app .compact-day .dep-count{display:block;margin-top:8px;font:550 17px/1.4 var(--mono);color:var(--fg)}
#app#app .compact-day .dep-count small{font:400 11px/1.5 var(--font);letter-spacing:.015em;color:var(--muted)}
#app#app .compact-day .seat-track{-webkit-appearance:none;appearance:none;display:block;width:100%;height:4px;margin:7px 0 6px;border:0;border-radius:2px;background:var(--border);overflow:hidden;color:var(--card-color)}
#app#app .compact-day .seat-track::-webkit-progress-bar{background:var(--border);border-radius:2px}
#app#app .compact-day .seat-track::-webkit-progress-value{background:var(--card-color);border-radius:2px}
#app#app .compact-day .seat-track::-moz-progress-bar{background:var(--card-color);border-radius:2px}
#app#app .compact-day .departure-card.closed .seat-track,#app#app .compact-day .departure-card.closed .seat-track::-webkit-progress-bar{background:oklch(from var(--bg) l 0 h)}
#app#app .compact-day .dep-status{display:flex;align-items:center;gap:4px;min-height:15px;font-size:11px;font-weight:550;line-height:1.5;letter-spacing:.015em;white-space:normal;color:var(--muted)}
#app#app .compact-day .dep-status .icon{width:12px;height:12px}
#app#app .compact-day .dep-status.available{color:var(--availability-open)}
#app#app .compact-day .dep-status.warn{color:var(--warn)}
#app#app .compact-day .dep-status.danger{color:var(--danger)}
#app#app .compact-day .dep-status-detail{display:block;margin-top:2px;font-size:11px;line-height:1.5;letter-spacing:.015em;color:var(--muted)}
#app#app .compact-day .departure-card.closed :is(.dep-count small,.dep-status-detail,.dep-status,.muted){color:var(--availability-closed-fg)}
#app#app .compact-day .dep-issues{display:grid;gap:7px;margin-top:9px;padding-top:8px;border-top:1px solid var(--card-color)}
#app#app .compact-day .departure-issue{display:flex;align-items:flex-start;gap:5px;color:var(--warn);font-size:11px;line-height:1.5;letter-spacing:.015em}
#app#app .compact-day .departure-issue .icon{width:13px;height:13px;margin-top:2px}
#app#app .compact-day .departure-issue>span{min-width:0;overflow-wrap:anywhere;text-wrap:pretty}
#app#app .compact-day .dep-flags{display:flex;justify-content:space-between;align-items:center;gap:5px;min-height:16px;margin-top:6px;font-size:11px;line-height:1.5;letter-spacing:.015em}
#app#app .compact-day .dep-flags .muted{color:var(--muted)}
#app#app .compact-day .selection-word{margin-left:auto;color:var(--fg);font-size:10px;letter-spacing:.06em;text-transform:uppercase}
#app#app .compact-day .cal-empty{padding:28px 12px;color:var(--muted);font-size:12px;text-align:center}

/* Day links: Availability and Departure operations */
#app#app .compact-day .day-links{display:flex;flex-direction:column;margin-top:auto;padding-top:5px;border-top:1px solid var(--border)}
#app#app .compact-day .day-links :is(summary,a){display:flex;align-items:center;gap:4px;min-height:44px;padding:8px 3px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--muted);font-size:11px;line-height:1.5;letter-spacing:.015em;text-align:left;text-decoration:none;cursor:pointer;list-style:none;box-shadow:none;width:auto}
#app#app .compact-day .day-links summary::-webkit-details-marker{display:none}
#app#app .compact-day .day-links :is(summary,a):hover{color:var(--fg);border-color:var(--strong)}
#app#app .compact-day .day-links .icon{width:13px;height:13px}
#app#app .compact-day .day-links .cancel-day-button{display:flex;align-items:center;gap:7px;min-height:44px;margin-top:6px;padding:8px 9px;border:1px solid var(--danger);border-radius:4px;background:var(--bg);color:var(--danger);font:inherit;font-size:11px;font-weight:550;line-height:1.5;letter-spacing:.015em;text-align:left;cursor:pointer}
#app#app .compact-day .day-links .cancel-day-button .icon{width:16px;height:16px}
#app#app .compact-day .day-links .cancel-day-button:hover{box-shadow:0 0 0 1px var(--danger)}
#app#app .compact-day .day-links .cancel-day-button:focus-visible{outline:3px solid var(--danger);outline-offset:3px}
#app#app .compact-day .day-availability{position:relative}
#app#app .compact-day .day-availability[open]>summary{color:var(--fg);border-color:var(--strong)}
#app#app .compact-day .day-availability[open]>summary .icon{transform:rotate(180deg)}
#app#app .compact-day .day-availability-list{position:absolute;z-index:30;left:0;bottom:calc(100% + 4px);width:max-content;min-width:100%;max-width:min(300px,calc(100vw - 32px));max-height:min(420px,60vh);overflow:auto;display:grid;gap:12px;padding:12px;border:1px solid var(--strong);border-radius:var(--radius);background:var(--surface);box-shadow:0 12px 32px oklch(0 0 0 / .35)}
#app#app .compact-day .day-availability-list section{display:grid;gap:4px}
#app#app .compact-day .day-availability-list h3{margin:0 0 2px;font:550 12px/1.4 var(--mono);color:var(--fg)}

/* Commands moved into a menu keep their handlers; only their look changes here. */
#app#app .compact-day :is(.day-availability-list,.departure-actions-list) :is(.card-action-btn,.pickup-ops-item){display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:44px;margin:0;padding:9px 11px;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--fg);font:inherit;font-size:13px;font-weight:400;text-align:left;white-space:normal;box-shadow:none;cursor:pointer}
#app#app .compact-day :is(.day-availability-list,.departure-actions-list) :is(.card-action-btn,.pickup-ops-item):hover{border-color:var(--strong);background:var(--raised)}
#app#app .compact-day :is(.day-availability-list,.departure-actions-list) .card-action-compact{display:none}
#app#app .compact-day :is(.day-availability-list,.departure-actions-list) .card-action-label{display:inline;position:static;width:auto;height:auto;clip-path:none;overflow:visible;font-size:inherit}
#app#app .compact-day .departure-actions-list .dep-cancel-btn{color:var(--danger)}

/* Under the week */
#app#app .compact-day .week-caption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;margin:11px 0 24px;color:var(--muted);font-size:11px;letter-spacing:.015em}
#app#app .compact-day .week-caption span{display:flex;align-items:center;gap:6px}
#app#app .compact-day .week-caption .icon{width:14px;height:14px}
#app#app .compact-day .cal-tabs{display:flex;gap:24px;margin:0 0 19px;padding:0;border:0;border-bottom:1px solid var(--border);background:none}
#app#app .compact-day .cal-tabs button{min-height:48px;margin:0;padding:10px 2px;border:0;border-bottom:2px solid transparent;border-radius:2px 2px 0 0;background:transparent;color:var(--muted);font-size:13px;font-weight:550;box-shadow:none}
#app#app .compact-day .cal-tabs button[aria-pressed=true]{border-bottom-color:var(--fg);color:var(--fg)}
#app#app .compact-day .cal-tabs button:hover{color:var(--fg);background:var(--surface)}

/* The chosen day's bookings */
#app#app .compact-day .day-manifest{display:block;margin:0;padding:0;border:0;background:none}
#app#app .compact-day .manifest-head{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin:0 0 17px}
#app#app .compact-day .manifest-title{min-width:0;flex:1 1 300px}
#app#app .compact-day .manifest-title h2{margin:0;font-size:20px;font-weight:550;letter-spacing:-.015em;color:var(--fg);overflow-wrap:anywhere;text-wrap:balance}
#app#app .compact-day .manifest-title h2 .muted{color:var(--muted);font-weight:400}
#app#app .compact-day .manifest-title p{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:3px 0 0;font-size:12px;color:var(--muted)}
#app#app .compact-day .booking-count{padding:4px 7px;border:1px solid var(--border);border-radius:4px;font:500 11px var(--mono);color:var(--muted)}
#app#app .compact-day .manifest-filters{display:flex;gap:10px;align-items:end;flex-wrap:wrap;min-width:0;max-width:100%}
#app#app .compact-day .manifest-filters .field{display:grid;gap:5px;min-width:0;max-width:100%;margin:0;font-size:11px;font-weight:400;letter-spacing:.015em;color:var(--muted)}
#app#app .compact-day .manifest-filters select{min-height:44px;max-width:100%;padding:9px 30px 9px 11px;border:1px solid var(--strong);border-radius:6px;background-color:var(--surface);color:var(--fg);font-size:12px}
#app#app .compact-day #ledger-departure-select{width:300px}
#app#app .compact-day .manifest-group{margin-top:14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:visible}
#app#app .compact-day .manifest-group-head{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;margin:0;padding:13px 18px;border-bottom:1px solid var(--border);background:none}
#app#app .compact-day .manifest-group-head h3{display:flex;gap:8px;align-items:center;margin:0;font-size:13px;font-weight:550;color:var(--fg)}
#app#app .compact-day .manifest-group-head h3 span{font:500 12px var(--mono);color:var(--muted)}
#app#app .compact-day .manifest-group-head .icon{width:17px;height:17px}
#app#app .compact-day .departure-actions{position:relative}
#app#app .compact-day .departure-actions>summary{min-height:44px;padding:8px 11px;font-size:12px;background:transparent;list-style:none;cursor:pointer}
#app#app .compact-day .departure-actions>summary::-webkit-details-marker{display:none}
#app#app .compact-day .departure-actions[open]>summary .icon{transform:rotate(180deg)}
#app#app .compact-day .departure-actions-list{position:absolute;z-index:30;right:0;top:calc(100% + 4px);width:max-content;min-width:240px;max-width:min(320px,calc(100vw - 32px));display:grid;gap:2px;padding:6px;border:1px solid var(--strong);border-radius:var(--radius);background:var(--surface);box-shadow:0 12px 32px oklch(0 0 0 / .35)}
#app#app .compact-day .booking-table{width:100%;margin:0;border-collapse:collapse;table-layout:fixed;background:none}
#app#app .compact-day .booking-table :is(thead,thead tr){background:none}
#app#app .compact-day .booking-table th{padding:12px 17px;border-bottom:1px solid var(--border);background:none;text-align:left;font-weight:400;font-size:11px;letter-spacing:.015em;text-transform:none;color:var(--muted)}
#app#app .compact-day .booking-table th:nth-child(1){width:26%}
#app#app .compact-day .booking-table th:nth-child(2){width:8%}
#app#app .compact-day .booking-table th:nth-child(3){width:18%}
#app#app .compact-day .booking-table th:nth-child(4){width:29%}
#app#app .compact-day .booking-table th:nth-child(5){width:19%}
#app#app .compact-day .booking-table td{padding:13px 17px;border-bottom:1px solid var(--border);vertical-align:top;font-size:12px;letter-spacing:.01em;overflow-wrap:anywhere;color:var(--fg)}
#app#app .compact-day .booking-table tr:last-child td{border-bottom:0}
#app#app .compact-day .booking-table tr.row-critical,#app#app .compact-day .booking-table tr.row-unassigned{background:var(--warning-bg)}
#app#app .compact-day .booking-table tr.row-cancelled td{color:var(--muted)}
#app#app .compact-day .booking-table .ledger-guest-link{display:block;min-height:44px;margin:-8px 0 -4px;padding:8px 0;border:0;border-radius:2px;background:none;color:var(--fg);font-size:13px;font-weight:550;line-height:1.5;letter-spacing:.01em;text-align:left;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--strong)}
#app#app .compact-day .booking-table tr.row-cancelled .ledger-guest-link{color:var(--muted);text-decoration:underline;text-decoration-color:var(--strong)}
#app#app .compact-day .booking-table .ledger-guest-link:hover{text-decoration-thickness:2px;color:var(--fg)}
#app#app .compact-day .booking-table td:first-child .ledger-secondary{display:block;color:var(--muted);font:11px/1.65 var(--mono);overflow-wrap:anywhere}
#app#app .compact-day .booking-table td:first-child details{margin-top:4px;color:var(--muted);font-size:11px}
#app#app .compact-day .booking-table td:first-child summary{display:flex;align-items:center;min-height:44px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
#app#app .compact-day .booking-table .cell-center-bold{text-align:left;font:500 15px/1.5 var(--mono)}
#app#app .compact-day .booking-table td:nth-child(3){font:500 14px/1.6 var(--mono)}
#app#app .compact-day .booking-table td:nth-child(3) .tone-text{font:550 11px/1.5 var(--font);letter-spacing:.015em}
#app#app .compact-day .booking-table .pickup-address-edit{display:block;width:100%;min-width:0;min-height:44px;margin:-8px 0 -4px;padding:8px 0;border:0;border-radius:2px;background:none!important;color:var(--fg);font:inherit;font-size:12px;line-height:1.5;text-align:left;white-space:normal;overflow-wrap:anywhere;text-decoration:none}
#app#app .compact-day .booking-table .pickup-address-edit:hover{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:2px}
#app#app .compact-day .booking-table td:nth-child(4) .ledger-secondary{display:block;margin-top:4px;color:var(--muted);font-size:11px;line-height:1.5}
#app#app .compact-day .booking-table .day-warning-label{color:var(--warn);font-weight:550}
#app#app .compact-day .booking-table td:nth-child(5){display:table-cell}
#app#app .compact-day .booking-table td:nth-child(5) .tone{display:flex;margin:0 0 6px;padding:0;border:0;border-radius:0;background:none;font-size:11px;font-weight:400;line-height:1.5;letter-spacing:.015em}
#app#app .compact-day .booking-table td:nth-child(5) .tone:before{width:13px;height:13px}
#app#app .compact-day .booking-table .tone-warn,#app#app .compact-day .booking-table .tone-text-warn{color:var(--warn)}
#app#app .compact-day .booking-table .tone-bad{color:var(--danger)}
#app#app .compact-day .booking-table .ledger-secondary.tone-bad{color:var(--warn)}
#app#app .compact-day .booking-table td:is(:nth-child(3),:nth-child(4)) .tone-text:before{display:none}
#app#app .compact-day .booking-table .tone-good,#app#app .compact-day .booking-table .tone-off,#app#app .compact-day .booking-table .tone-info{color:var(--muted)}
#app#app .compact-day .meeting-details{display:grid;gap:4px;padding:14px 18px;border-top:1px solid var(--border);font-size:12px;color:var(--muted)}
#app#app .compact-day .meeting-details strong{font-size:12px;color:var(--fg)}
#app#app .compact-day .meeting-details .stale{color:var(--danger)}
#app#app .compact-day .calendar-state{display:grid;justify-items:center;gap:13px;margin:0;padding:42px 24px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);text-align:center;color:var(--muted)}

@media(min-width:1024px) and (max-width:1350px){
  #app#app .compact-day .week-board{grid-template-columns:repeat(4,minmax(0,1fr))}
  #app#app .compact-day .cal-day:nth-child(4){border-right:0}
  #app#app .compact-day .cal-day:nth-child(n+5){border-top:1px solid var(--border)}
}
@media(max-width:1023px){
  #app#app .compact-day .week-board{grid-template-columns:repeat(4,minmax(0,1fr))}
  #app#app .compact-day .cal-day:nth-child(4){border-right:0}
  #app#app .compact-day .cal-day:nth-child(n+5){border-top:1px solid var(--border)}
  #app#app .compact-day .manifest-head{align-items:flex-start}
  #app#app .compact-day .booking-table :is(td,th){padding-left:12px;padding-right:12px}
}
@media(max-width:700px){
  #app#app .compact-day .week-board{grid-template-columns:repeat(2,minmax(0,1fr))}
  #app#app .compact-day .cal-day:nth-child(4){border-right:1px solid var(--border)}
  #app#app .compact-day .cal-day:nth-child(even){border-right:0}
  #app#app .compact-day .cal-day:nth-child(n+3){border-top:1px solid var(--border)}
  #app#app .compact-day .cal-toolbar{display:grid;gap:16px}
  #app#app .compact-day .cal-period{gap:10px}
  #app#app .compact-day .cal-period h2{font-size:15px}
  #app#app .compact-day .cal-tools{justify-content:space-between}
  #app#app .compact-day .cal-date-label{flex:1}
  #app#app .compact-day .cal-date-label input{width:100%;min-width:0}
  body[data-concept=ledger] #app>.page-head .cal-timezone{display:none}
  #app#app .compact-day .pax-summary{padding:14px;gap:14px}
  #app#app .compact-day .pax-summary-heading{width:100%}
  #app#app .compact-day .pax-totals{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));row-gap:14px}
  #app#app .compact-day .pax-totals>div{min-width:0;max-width:none;padding:0 12px}
  #app#app .compact-day .pax-totals>div:first-child{grid-column:1/-1;border-left:0;padding:0}
  #app#app .compact-day .pax-totals>div:nth-child(even){border-left:0;padding-left:0}
  #app#app .compact-day .pax-totals dd{font-size:23px}
  #app#app .compact-day .manifest-filters{width:100%;display:grid;grid-template-columns:minmax(0,1fr)}
  #app#app .compact-day .manifest-filters select,#app#app .compact-day #ledger-departure-select{width:100%}
  #app#app .compact-day .manifest-title h2{font-size:19px}
  #app#app .compact-day .booking-table thead{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}
  #app#app .compact-day .booking-table tbody{display:block}
  #app#app .compact-day .booking-table tr{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px;border-bottom:1px solid var(--border)}
  #app#app .compact-day .booking-table td,#app#app .compact-day .booking-table td:nth-child(5){display:block;border:0;padding:0}
  #app#app .compact-day .booking-table td:before{content:attr(data-label);display:block;margin-bottom:4px;font:400 10px/1.5 var(--font);color:var(--muted)}
  #app#app .compact-day .booking-table td:first-child{grid-column:1/-1}
  #app#app .compact-day .booking-table td:first-child:before{display:none}
  #app#app .compact-day .booking-table td:nth-child(2){grid-column:1;grid-row:2}
  #app#app .compact-day .booking-table td:nth-child(3){grid-column:2;grid-row:2}
  #app#app .compact-day .booking-table td:nth-child(n+4){grid-column:1/-1}
  #app#app .compact-day .booking-table td[colspan]{grid-column:1/-1}
  #app#app .compact-day .booking-table td[colspan]:before{display:none}
}
@media(max-width:380px){
  #app#app .compact-day .week-board{grid-template-columns:1fr}
  #app#app .compact-day .cal-day,#app#app .compact-day .cal-day:nth-child(4){border-right:0}
  #app#app .compact-day .cal-day+.cal-day{border-top:1px solid var(--border)}
  #app#app .compact-day .cal-day .day-links{flex-direction:row;flex-wrap:wrap;gap:0 12px}
  #app#app .compact-day .cal-period h2{font-size:13px}
}
@media(prefers-reduced-motion:reduce){#app#app .compact-day *{animation:none!important;transition:none!important}}

#app#app .departure-ops-page.dox{--bus-tint:color-mix(in oklch,var(--bus) 13%,var(--surface));--small-tint:oklch(from var(--van) calc(l * .33) calc(c * .2) h);--problem-tint:oklch(from var(--danger) calc(l * .34) calc(c * .22) h);max-width:1800px;padding-bottom:28px}
html.theme-light #app#app .departure-ops-page.dox{--bus-tint:color-mix(in oklch,var(--bus) 9%,var(--surface));--small-tint:color-mix(in oklch,var(--van) 12%,var(--surface));--problem-tint:color-mix(in oklch,var(--danger) 8%,var(--surface))}
#app#app .departure-ops-page.dox :is(button,a,input,select,summary):focus-visible{outline:3px solid var(--fg);outline-offset:3px}
#app#app .departure-ops-page.dox .dox-btn{border-radius:5px;border:1px solid var(--strong);background:var(--surface);color:var(--fg);font-size:13px;font-weight:550;min-height:44px;padding:9px 14px;box-shadow:none}
#app#app .departure-ops-page.dox .dox-btn.dox-ghost{background:transparent;border-color:var(--strong)}
#app#app .departure-ops-page.dox .dox-btn:hover:not(:disabled){border-color:var(--fg);color:var(--fg);background:var(--raised);box-shadow:none}
#app#app .departure-ops-page.dox .dox-btn.dox-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
#app#app .departure-ops-page.dox .dox-btn.dox-primary:hover:not(:disabled){background:var(--accent);color:var(--on-accent);box-shadow:0 0 0 2px var(--fg)}
#app#app .departure-ops-page.dox .dox-btn.dox-danger{background:transparent;border-color:var(--danger);color:var(--danger)}
#app#app .departure-ops-page.dox .dox-btn:disabled{cursor:not-allowed;opacity:.5}

#app#app .departure-ops-page.dox .dox-page-head{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:0 0 22px;padding:0;border:0}
#app#app .departure-ops-page.dox .dox-page-head h1{font:600 32px/1.15 var(--font);letter-spacing:-.02em;color:var(--fg);margin:0}
#app#app .departure-ops-page.dox .dox-page-head .dox-subtitle{margin:7px 0 0;color:var(--muted);font-size:13px}
#app#app .departure-ops-page.dox .dox-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-left:auto}
#app#app .departure-ops-page.dox .dox-toolbar .dox-btn{font-size:12px}

#app#app .departure-ops-page.dox .dox-datebar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 18px}
#app#app .departure-ops-page.dox .dox-datebar-label{font-size:12px;color:var(--muted)}
#app#app .departure-ops-page.dox .dox-date-control{display:flex;align-items:center;border:1px solid var(--strong);border-radius:5px;background:var(--bg)}
#app#app .departure-ops-page.dox .dox-date-control button{width:40px;min-height:44px;border:0;background:transparent;color:var(--muted);font-size:20px}
#app#app .departure-ops-page.dox .dox-date-control button:hover{color:var(--fg);background:var(--raised)}
#app#app .departure-ops-page.dox .dox-date-control input{width:110px;min-height:44px;border:0;background:transparent;color:var(--fg);text-align:center;font:500 14px var(--font);padding:0}
#app#app .departure-ops-page.dox .dox-day-name{font-size:14px;font-weight:550}
#app#app .departure-ops-page.dox .dox-timezone{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:12px}
#app#app .departure-ops-page.dox .dox-timezone .dox-ico{width:15px;height:15px;margin:0}

#app#app .departure-ops-page.dox .dox-summary{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;margin:0 0 20px;background:var(--surface);border:1px solid var(--border);border-radius:7px}
#app#app .departure-ops-page.dox .dox-summary>div{padding:15px 19px;min-width:0}
#app#app .departure-ops-page.dox .dox-summary>div+div{border-left:1px solid var(--border)}
#app#app .departure-ops-page.dox .dox-summary dt{font-size:12px;color:var(--muted);margin:0 0 6px}
#app#app .departure-ops-page.dox .dox-summary dd{margin:0;font:550 25px/1.3 var(--mono);letter-spacing:-.025em;color:var(--fg)}
#app#app .departure-ops-page.dox .dox-summary dd small{font:400 12px/1.5 var(--font);color:var(--muted);letter-spacing:0}
#app#app .departure-ops-page.dox .dox-summary dd.dox-issue-count{color:var(--danger)}
#app#app .departure-ops-page.dox .dox-summary dd.dox-summary-note{font:400 11px/1.5 var(--font);color:var(--muted);letter-spacing:0;margin-top:5px}

#app#app .departure-ops-page.dox .dox-stage-rail{display:flex;align-items:stretch;gap:24px;margin:0 0 20px;padding:0;border-bottom:1px solid var(--border)}
#app#app .departure-ops-page.dox .dox-stage-tab{display:flex;align-items:center;gap:9px;min-height:48px;padding:8px 0;background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;color:var(--muted);font-size:13px;font-weight:550}
#app#app .departure-ops-page.dox .dox-stage-tab[aria-current=step]{color:var(--fg);border-bottom-color:var(--fg)}
#app#app .departure-ops-page.dox .dox-stage-tab:hover:not(:disabled){color:var(--fg)}
#app#app .departure-ops-page.dox .dox-stage-tab small{font:500 12px var(--mono);color:inherit}
#app#app .departure-ops-page.dox .dox-stage-tab .dox-ico{width:15px;height:15px;margin:0;vertical-align:middle}
#app#app .departure-ops-page.dox .dox-stage-aside{margin-left:auto;display:flex;align-items:center;font-size:12px;color:var(--muted)}

#app#app .departure-ops-page.dox .dox-actionbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 20px;padding:18px 20px;background:var(--surface);border:1px solid var(--border);border-radius:7px}
#app#app .departure-ops-page.dox .dox-actionbar h2{font:600 13px/1.4 var(--font);letter-spacing:0;margin:0;color:var(--fg)}
#app#app .departure-ops-page.dox .dox-actionbar>div>p{font-size:12px;color:var(--muted);margin:4px 0 0}
#app#app .departure-ops-page.dox .dox-actionbar .dox-stage-action{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex:0 1 auto;max-width:min(460px,55%);margin:0}
#app#app .departure-ops-page.dox .dox-actionbar .dox-stage-action p{font-size:12px;color:var(--muted);text-align:right;margin:0}

#app#app .departure-ops-page.dox .dox-notice{border-radius:7px}
#app#app .departure-ops-page.dox .dox-tour-board.dox-dual-tours{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
#app#app .departure-ops-page.dox .dox-tour-lane{background:var(--surface);border:1px solid var(--border);border-radius:7px;min-width:0;overflow:visible}
#app#app .departure-ops-page.dox .dox-tour-head{padding:18px 20px;gap:12px;align-items:center;background:var(--bus-tint);border-bottom:1px solid var(--border);border-radius:6px 6px 0 0}
#app#app .departure-ops-page.dox .dox-tour-head:has(.dox-van){background:var(--small-tint)}
#app#app .departure-ops-page.dox .dox-tour-head h3{font:600 19px/1.3 var(--font);letter-spacing:-.01em;color:var(--fg)}
#app#app .departure-ops-page.dox .dox-tour-head .dox-tour-stats{font-size:12px;color:var(--muted);margin-top:3px}
#app#app .departure-ops-page.dox .dox-tile{width:42px;height:42px;border-radius:7px;background:transparent;border:1px solid color-mix(in oklch,var(--bus) 55%,var(--border));color:var(--bus)}
#app#app .departure-ops-page.dox .dox-tile.dox-van{color:var(--van);border-color:oklch(from var(--van) calc(l * .65) calc(c * .55) h)}
html.theme-light #app#app .departure-ops-page.dox .dox-tile.dox-van{border-color:oklch(from var(--van) calc(l * 1.25) calc(c * .7) h)}
#app#app .departure-ops-page.dox .dox-tile .dox-ico{width:25px;height:25px}
#app#app .departure-ops-page.dox .dox-chip{border-radius:5px}
#app#app .departure-ops-page.dox .dox-tour-foot{font-size:12px;color:var(--muted);border-top:1px solid var(--border)}

#app#app .departure-ops-page.dox .dox-pool-guides{padding:18px 20px;border-bottom:1px solid var(--border)}
#app#app .departure-ops-page.dox .dox-tour-guide-pool{border:0;margin:0 0 18px;padding:0;min-width:0}
#app#app .departure-ops-page.dox .dox-tour-guide-pool legend{float:left;width:100%;display:flex;justify-content:space-between;gap:10px;margin:0 0 10px;padding:0;font-size:12px;font-weight:550;color:var(--fg)}
#app#app .departure-ops-page.dox .dox-tour-guide-pool legend span{font-size:11px;font-weight:400;color:var(--muted)}
#app#app .departure-ops-page.dox .dox-pool-guide-buttons{clear:both;display:flex;gap:6px;flex-wrap:wrap}
#app#app .departure-ops-page.dox .dox-pool-guide-chip{display:grid;grid-template-columns:auto auto;column-gap:0;align-items:center;justify-items:start;text-align:left;min-height:44px;padding:8px 10px;background:transparent;border:1px solid var(--border);border-radius:5px;color:var(--muted);font-size:12px;font-weight:400}
#app#app .departure-ops-page.dox .dox-pool-guide-chip .dox-ico{grid-column:1;grid-row:1 / span 2;width:15px;height:15px;margin-right:7px}
#app#app .departure-ops-page.dox .dox-pool-guide-chip>:is(span,small){grid-column:2}
#app#app .departure-ops-page.dox .dox-pool-guide-chip small{font-size:10px;color:inherit}
#app#app .departure-ops-page.dox .dox-pool-guide-chip[aria-pressed=true]{background:var(--raised);border-color:var(--strong);color:var(--fg)}
#app#app .departure-ops-page.dox .dox-pool-guide-chip:hover:not(:disabled){border-color:var(--fg);color:var(--fg);background:transparent}
#app#app .departure-ops-page.dox .dox-pool-guide-chip[aria-pressed=true]:hover:not(:disabled){background:var(--raised)}
#app#app .departure-ops-page.dox .dox-pool-guide-chip:disabled{opacity:.65}
#app#app .departure-ops-page.dox .dox-field{display:grid;gap:7px;color:var(--muted);font-size:12px;font-weight:400;min-width:0}
#app#app .departure-ops-page.dox .dox-field :is(input:not([type=checkbox]):not([type=radio]),select,textarea){width:100%;min-height:44px;padding:9px 11px;background:var(--bg);border:1px solid var(--strong);border-radius:5px;color:var(--fg);font-size:13px;min-width:0}
#app#app .departure-ops-page.dox .dox-clock-input{font-family:var(--mono)}
#app#app .departure-ops-page.dox .dox-field-help{font-size:11px;color:var(--muted);line-height:1.65}
#app#app .departure-ops-page.dox .dox-direction-picker legend{font-size:12px;color:var(--muted);padding:0;margin:0 0 7px}
#app#app .departure-ops-page.dox .dox-direction-buttons{display:flex;gap:4px;flex-wrap:wrap}
#app#app .departure-ops-page.dox .dox-direction-choice{min-height:44px;padding:7px 12px;background:var(--bg);border:1px solid var(--strong);border-radius:5px;color:var(--muted);font-size:12px;font-weight:400}
#app#app .departure-ops-page.dox .dox-direction-choice[aria-pressed=true]{background:var(--raised);border-color:var(--fg);color:var(--fg)}
#app#app .departure-ops-page.dox .dox-inline-action{color:var(--fg);font-size:12px}

#app#app .departure-ops-page.dox .dox-tour-actions{display:flex;align-items:baseline;gap:8px;padding:15px 20px 6px;font-size:13px;font-weight:600;color:var(--fg);border:0;background:transparent}
#app#app .departure-ops-page.dox .dox-tour-actions>span+span{font-size:11px;font-weight:400;color:var(--muted)}
#app#app .departure-ops-page.dox .dox-select-all{font-weight:400;font-size:13px}
#app#app .departure-ops-page.dox .dox-tick,#app#app .departure-ops-page.dox .dox-booking input[type=checkbox]{width:17px;height:17px;margin:0;accent-color:var(--fg)}
#app#app .departure-ops-page.dox .dox-booking{padding:12px 20px;gap:10px;border-bottom:1px solid var(--border)}
#app#app .departure-ops-page.dox .dox-booking.dox-selected{background:var(--raised)}
#app#app .departure-ops-page.dox .dox-booking-name{font-size:13px;font-weight:550;color:var(--fg);min-height:0}
#app#app .departure-ops-page.dox .dox-booking-meta{font-size:11px;color:var(--muted);gap:2px 6px;margin-top:2px}
#app#app .departure-ops-page.dox .dox-booking-meta>span:first-child{font:400 10px/1.65 var(--mono);letter-spacing:.01em}
#app#app .departure-ops-page.dox .dox-booking-address{font-size:12px;line-height:1.6;color:var(--muted);margin-top:4px}
#app#app .departure-ops-page.dox .dox-problem-text{color:var(--danger);font-size:12px;margin-top:4px}
#app#app .departure-ops-page.dox .dox-booking-pax{font:500 14px/1.5 var(--mono);text-align:right;white-space:nowrap}
#app#app .departure-ops-page.dox .dox-booking-pax span{display:block;font:400 10px/1.5 var(--font);color:var(--muted)}

#app#app .departure-ops-page.dox .dox-bus-pool-card{margin:16px 20px;background:var(--surface);border:1px solid var(--border);border-radius:7px;box-shadow:none}
#app#app .departure-ops-page.dox .dox-vehicle-heading{background:var(--bus-tint);border-bottom:1px solid var(--border);border-radius:6px 6px 0 0}
#app#app .departure-ops-page.dox .dox-bus-pool-card[data-vehicle-kind=van] .dox-vehicle-heading{background:var(--small-tint)}
#app#app .departure-ops-page.dox .dox-vehicle-title{font:600 15px/1.4 var(--font);color:var(--bus)}
#app#app .departure-ops-page.dox .dox-bus-pool-card[data-vehicle-kind=van] .dox-vehicle-title{color:var(--van)}
#app#app .departure-ops-page.dox .dox-vehicle-heading-meta{font-size:12px;color:var(--muted)}

#app#app .departure-ops-page.dox .dox-pickup-location-alert{background:var(--problem-tint);border:1px solid oklch(from var(--danger) calc(l * .62) calc(c * .45) h);border-radius:7px;color:var(--fg)}
html.theme-light #app#app .departure-ops-page.dox .dox-pickup-location-alert{border-color:color-mix(in oklch,var(--danger) 45%,var(--border))}
#app#app .departure-ops-page.dox .dox-pickup-location-alert .dox-ico{color:var(--danger)}
#app#app .departure-ops-page.dox :is(.dox-move-fold,.dox-foot-fold){border-color:var(--border);border-radius:7px;background:var(--surface)}
#app#app .departure-ops-page.dox .dox-empty-state{border-radius:7px}
#app#app .departure-ops-page.dox .dox-actionbar.dox-attention{justify-content:flex-start;gap:14px;padding:13px 16px;border-color:oklch(from var(--danger) calc(l * .62) calc(c * .45) h);background:var(--problem-tint)}
html.theme-light #app#app .departure-ops-page.dox .dox-actionbar.dox-attention{border-color:color-mix(in oklch,var(--danger) 45%,var(--border))}
#app#app .departure-ops-page.dox .dox-attention>.dox-ico{flex:none;width:21px;height:21px;color:var(--danger)}
#app#app .departure-ops-page.dox .dox-attention>div>p{margin-top:3px}
#app#app .departure-ops-page.dox .dox-attention>.dox-btn{margin-left:auto;flex:none;background:transparent;display:inline-flex;align-items:center;gap:8px}
#app#app .departure-ops-page.dox .dox-attention>.dox-btn .dox-ico{width:16px;height:16px;margin:0}
#app#app .departure-ops-page.dox .dox-fleet-note{display:flex;align-items:center;gap:6px;margin:0;padding:13px 20px;border-bottom:1px solid var(--border);font-size:12px;line-height:1.5;color:var(--fg)}
#app#app .departure-ops-page.dox .dox-fleet-note.dox-blocked{color:var(--danger)}
#app#app .departure-ops-page.dox .dox-fleet-note .dox-ico{width:15px;height:15px;margin:0}
#app#app .departure-ops-page.dox .dox-guest-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:14px 20px;border-bottom:1px solid var(--border);font-weight:400}
#app#app .departure-ops-page.dox .dox-guest-tools .dox-select-label{margin-right:auto;min-height:44px;display:inline-flex;align-items:center;gap:8px}
#app#app .departure-ops-page.dox .dox-guest-tools>.dox-pool-alert{flex-basis:100%;margin:0}
#app#app .departure-ops-page.dox .dox-bus-shortcut-row{display:flex;flex-wrap:wrap;gap:8px}
#app#app .departure-ops-page.dox .dox-gate{position:relative;display:inline-flex}
#app#app .departure-ops-page.dox .dox-gate:focus-visible{outline:3px solid var(--fg);outline-offset:3px;border-radius:5px}
#app#app .departure-ops-page.dox .dox-gate-tip,#app#app .departure-ops-page.dox .dox-stage-action:not(.dox-stage-progress):has(>.dox-btn:disabled)>p{position:absolute;top:calc(100% + 6px);z-index:30;width:max-content;max-width:min(320px,80vw);margin:0;padding:8px 10px;border:1px solid var(--strong);border-radius:6px;background:var(--raised);color:var(--fg);font-size:12px;font-weight:400;line-height:1.45;text-align:left;box-shadow:0 6px 18px rgb(0 0 0 / .28);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .12s}
#app#app .departure-ops-page.dox .dox-gate-tip{left:0}
#app#app .departure-ops-page.dox .dox-stage-action:not(.dox-stage-progress):has(>.dox-btn:disabled){position:relative}
#app#app .departure-ops-page.dox .dox-stage-action:not(.dox-stage-progress):has(>.dox-btn:disabled)>p{right:0}
#app#app .departure-ops-page.dox :is(.dox-gate:hover,.dox-gate:focus-within)>.dox-gate-tip,#app#app .departure-ops-page.dox .dox-stage-action:not(.dox-stage-progress):has(>.dox-btn:disabled):is(:hover,:focus-within)>p{opacity:1;visibility:visible}
#app#app .departure-ops-page.dox ul.dox-fleet-note{display:grid;gap:4px;list-style:none;color:var(--danger)}
#app#app .departure-ops-page.dox ul.dox-fleet-note li{display:flex;align-items:flex-start;gap:6px}
#app#app .departure-ops-page.dox ul.dox-fleet-note .dox-ico{flex:none;margin-top:2px}
#app#app .departure-ops-page.dox .dox-card-fold{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:8px;min-height:32px;border-radius:4px}
#app#app .departure-ops-page.dox .dox-card-fold::before{content:"";flex:none;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin:-3px 2px 0 1px}
#app#app .departure-ops-page.dox .dox-card-fold[aria-expanded=false]::before{transform:rotate(-45deg);margin-top:0}
#app#app .departure-ops-page.dox .dox-card-fold:focus-visible{outline:3px solid var(--fg);outline-offset:3px}
#app#app .departure-ops-page.dox .dox-folded .dox-vehicle-heading{border-bottom:0}
#app#app .departure-ops-page.dox .dox-seat-bar{width:100%;max-width:240px;margin-top:8px}
#app#app .departure-ops-page.dox .dox-tour-head .dox-seat-bar{margin-top:6px}
#app#app .departure-ops-page.dox [data-vehicle-kind=van] .dox-seat-bar,#app#app .departure-ops-page.dox .dox-tour-head .dox-seat-bar{color:var(--van)}
#app#app .departure-ops-page.dox :is([data-vehicle-kind=van],.dox-tour-head) .dox-seat-bar::-webkit-progress-value{background:var(--van)}
#app#app .departure-ops-page.dox :is([data-vehicle-kind=van],.dox-tour-head) .dox-seat-bar::-moz-progress-bar{background:var(--van)}
#app#app .departure-ops-page.dox .dox-seat-bar.dox-over::-webkit-progress-value{background:var(--danger)}
#app#app .departure-ops-page.dox .dox-seat-bar.dox-over::-moz-progress-bar{background:var(--danger)}
#app#app .departure-ops-page.dox .dox-track{-webkit-appearance:none;appearance:none;display:block;flex:1;min-width:25px;height:5px;border:0;border-radius:2px;background:var(--raised);overflow:hidden;color:var(--bus)}
#app#app .departure-ops-page.dox .dox-track::-webkit-progress-bar{background:var(--raised);border-radius:2px}
#app#app .departure-ops-page.dox .dox-track::-webkit-progress-value{background:var(--bus)}
#app#app .departure-ops-page.dox .dox-track::-moz-progress-bar{background:var(--bus)}

@media(max-width:1100px){
  #app#app .departure-ops-page.dox .dox-summary{grid-template-columns:1fr 1fr}
  #app#app .departure-ops-page.dox .dox-summary>div:nth-child(3){border-left:0}
  #app#app .departure-ops-page.dox .dox-summary>div:nth-child(n+3){border-top:1px solid var(--border)}
}
@media(max-width:900px){
  #app#app .departure-ops-page.dox .dox-tour-board.dox-dual-tours{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:640px){
  #app#app .departure-ops-page.dox .dox-page-head h1{font-size:26px}
  #app#app .departure-ops-page.dox .dox-toolbar{margin-left:0;justify-content:flex-start}
  #app#app .departure-ops-page.dox .dox-actionbar{flex-direction:column;align-items:stretch}
  #app#app .departure-ops-page.dox .dox-actionbar .dox-stage-action{align-items:stretch;max-width:none}
  #app#app .departure-ops-page.dox .dox-actionbar .dox-stage-action p{text-align:left}
  #app#app .departure-ops-page.dox .dox-attention>.dox-btn{margin-left:0}
  #app#app .departure-ops-page.dox .dox-stage-aside{display:none}
  #app#app .departure-ops-page.dox .dox-bus-pool-card{margin:12px}
  #app#app .departure-ops-page.dox .dox-summary>div{padding:12px 14px}
  #app#app .departure-ops-page.dox .dox-summary dd{font-size:21px}
}

#app#app .overview-page{--ov-gold:oklch(0.82 0.15 85);--ov-previous:oklch(.64 .025 250);display:block;padding:28px var(--s5) 32px;margin:0;min-width:0;color:var(--fg)}
html.theme-light #app#app .overview-page{--ov-gold:oklch(0.62 0.15 70);--ov-previous:oklch(.55 .03 250)}
#app#app .overview-page .icon{width:15px;height:15px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
#app#app .overview-page .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#app#app .overview-page .muted{color:var(--muted)}
#app#app .overview-page .page-header{display:flex;justify-content:space-between;align-items:center;gap:22px;margin:0 0 18px}
#app#app .overview-page .page-header h1{margin:0;font:600 32px/1.15 var(--font);letter-spacing:-.02em;color:var(--fg)}
#app#app .overview-page .page-header p{margin:5px 0 0;font-size:13px;color:var(--muted)}
#app#app .overview-page .refresh{display:flex;align-items:center;gap:12px;flex:none}
#app#app .overview-page .refresh span{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
#app#app .overview-page .refresh .btn{display:inline-flex;align-items:center;gap:8px;min-height:44px}
#app#app .overview-page .period-bar{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;flex-wrap:wrap;margin:0 0 15px}
#app#app .overview-page .period-dates{display:flex;gap:9px}
#app#app .overview-page .period-field{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted)}
#app#app .overview-page .period-field input{width:120px}
#app#app .overview-page .text-link{display:inline-flex;gap:6px;align-items:center;min-height:44px;padding:5px 0;border:0;background:transparent;color:var(--fg);font:inherit;font-size:13px;text-decoration:underline;cursor:pointer}
#app#app .overview-page .text-link:hover{text-decoration-thickness:2px}
#app#app .overview-page .text-link:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:3px}
#app#app .overview-page .period-back{margin:-6px 0 6px}
#app#app .overview-page .comparison{display:flex;align-items:baseline;flex-wrap:wrap;gap:12px;margin:0 0 12px}
#app#app .overview-page .comparison h2{margin:0;font-size:15px;font-weight:600}
#app#app .overview-page .comparison p{margin:0;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
#app#app .overview-page .summary{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:20px;margin:0 0 18px;padding:0;max-width:none;border:0;border-radius:0;background:none;box-shadow:none}
#app#app .overview-page .metric-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:18px;align-self:start}
#app#app .overview-page :is(.ov-hero,.ov-secondary){min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}
#app#app .overview-page .metric{min-width:0;padding:0;background:transparent}
#app#app .overview-page .ov-hero{display:grid;grid-template-rows:auto minmax(72px,1fr) auto;padding:22px 24px}
#app#app .overview-page .ov-hero>.metric .metric-label{font-size:13px}
#app#app .overview-page .ov-hero>.metric .metric-number{margin:8px 0 6px;font-size:44px;line-height:1.1;letter-spacing:-.05em;overflow-wrap:normal}
#app#app .overview-page .ov-hero>.metric .metric-number.words{font-size:20px}
#app#app .overview-page .ov-hero :is(.metric-change,.ov-delta){font-size:12px}
#app#app .overview-page .ov-vs{color:var(--muted)}
#app#app .overview-page .ov-spark{display:flex;flex-direction:column;min-height:72px;margin:18px 0 0}
#app#app .overview-page .ov-spark svg{display:block;flex:1;width:100%;min-height:48px;overflow:visible}
#app#app .overview-page .ov-spark polyline{fill:none;stroke:var(--accent);stroke-width:2;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
#app#app .overview-page .ov-spark figcaption{margin-top:6px;font-size:11px;color:var(--muted);text-align:right}
#app#app .overview-page .ov-hero-foot{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:20px;margin-top:20px;padding-top:18px;border-top:1px solid var(--border)}
#app#app .overview-page .ov-hero-foot .metric-number{margin:6px 0 4px;font-size:28px}
#app#app .overview-page .ov-secondary{display:grid;align-content:start}
#app#app .overview-page .ov-secondary .metric{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:14px;align-items:baseline;padding:11px 18px;border-bottom:1px solid var(--border)}
#app#app .overview-page .ov-secondary .metric:last-child{border-bottom:0}
#app#app .overview-page .ov-secondary .metric-label{grid-column:1;grid-row:1}
#app#app .overview-page .ov-secondary .metric-number{grid-column:2;grid-row:1;margin:0;font-size:18px;text-align:right}
#app#app .overview-page .ov-secondary .metric-number.words{font-size:13px;padding:0}
#app#app .overview-page .ov-secondary .metric-change{grid-column:2;grid-row:2;min-height:0;text-align:right}
#app#app .overview-page .ov-secondary .metric-note{grid-column:1;grid-row:2;margin:2px 0 0}
#app#app .overview-page .metric-label{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted)}
#app#app .overview-page .metric-number{margin:7px 0;font:550 28px/1.25 var(--mono);letter-spacing:-.04em;font-variant-numeric:tabular-nums;overflow-wrap:break-word}
#app#app .overview-page .metric-number.words{font:550 17px/1.5 var(--font);letter-spacing:0;padding:5px 0}
#app#app .overview-page .metric-number.muted{color:var(--muted)}
#app#app .overview-page .metric-change{min-height:16px;font-size:11px}
#app#app .overview-page .metric-note{margin:5px 0 0;font-size:11px;line-height:1.4;color:var(--muted)}
#app#app .overview-page .comparison-unavailable{font-size:11px;color:var(--muted)}
#app#app .overview-page .ov-delta{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}
#app#app .overview-page .ov-delta.up{color:var(--success)}
#app#app .overview-page .ov-delta.down{color:var(--danger)}
#app#app .overview-page .review-leaderboard{min-width:0;display:flex;flex-direction:column;padding:18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}
#app#app .overview-page .review-leaderboard h2{margin:0;font-size:15px;font-weight:600;line-height:1.4}
#app#app .overview-page .review-leaderboard header p{margin:5px 0 0;font-size:12px;color:var(--muted)}
#app#app .overview-page .leaderboard-list{list-style:none;padding:0;margin:16px 0 12px}
#app#app .overview-page .leaderboard-list li{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:8px;align-items:center;padding:12px 0;border-top:1px solid var(--border)}
#app#app .overview-page .leaderboard-rank{font:500 12px/1.5 var(--mono);color:var(--muted)}
#app#app .overview-page .leaderboard-list li:first-child .leaderboard-rank{color:var(--ov-gold)}
#app#app .overview-page .leaderboard-guide{min-width:0;display:grid;gap:2px}
#app#app .overview-page .leaderboard-guide strong{font-size:13px;font-weight:550;overflow-wrap:anywhere}
#app#app .overview-page .leaderboard-guide>span{font-size:11px;color:var(--muted);letter-spacing:.01em}
#app#app .overview-page .leaderboard-score{display:flex;align-items:center;gap:5px;font-size:14px}
#app#app .overview-page .leaderboard-score strong{font:550 14px/1.5 var(--mono)}
#app#app .overview-page .review-leaderboard footer{margin-top:auto}
#app#app .overview-page .leaderboard-note{margin:0;font-size:11px;line-height:1.6;color:var(--muted);letter-spacing:.01em}
#app#app .overview-page .review-leaderboard .text-link{margin-top:7px}
#app#app .overview-page .leaderboard-empty{margin:22px 0;font-size:13px;line-height:1.6;color:var(--muted)}
#app#app .overview-page .today{display:flex;flex-direction:column;gap:17px;padding:22px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}
#app#app .overview-page .today header h2{margin:0;font-size:16px;font-weight:600}
#app#app .overview-page .today header p{margin:3px 0 0;font-size:12px;color:var(--muted)}
#app#app .overview-page .today-item+.today-item{padding-top:17px;border-top:1px solid var(--border)}
#app#app .overview-page .today-item .metric-note{margin:0}
#app#app .overview-page .dashboard-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px;align-items:start;margin:0}
#app#app .overview-page .mix-stack{display:grid;grid-template-columns:1fr 1fr;gap:18px;grid-column:1/-1}
#app#app .overview-page .dashboard-grid>*{grid-column:1/-1;min-width:0}
#app#app .overview-page .dashboard-grid>[data-panel=bookings],#app#app .overview-page .dashboard-grid>[data-panel=guests]{grid-column:span 6}
#app#app .overview-page .dashboard-grid>.today{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 22px}
#app#app .overview-page .dashboard-grid>.today header{grid-column:1/-1}
#app#app .overview-page .dashboard-grid>.today .today-item+.today-item{padding-top:0;border-top:0}
#app#app .overview-page .panel{min-width:0;padding:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:visible}
#app#app .overview-page .panel-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:17px 22px 0;margin:0}
#app#app .overview-page .panel-head h2{margin:0;font-size:16px;font-weight:600;letter-spacing:-.01em}
#app#app .overview-page .panel-head p{margin:4px 0 0;font-size:12px;color:var(--muted);max-width:65ch}
#app#app .overview-page .panel-body{padding:20px 22px}
#app#app .overview-page .empty{display:block;min-height:120px;margin:0;padding:35px 22px;border:0;border-radius:0;background:none;font-size:13px;color:var(--muted)}
#app#app .overview-page .key{display:inline-block;flex:none;width:10px;height:10px;border-radius:2px;background:var(--series)}
#app#app .overview-page :is(.tone-direct,.bar-direct,.key-direct,.bar-profit,.key-profit){--series:var(--success)}
#app#app .overview-page :is(.tone-ota,.tone-bus,.bar-ota,.key-ota,.bar-guests,.key-guests){--series:var(--blue)}
#app#app .overview-page .tone-smallgroup{--series:var(--warn)}
#app#app .overview-page .tone-muted{--series:var(--muted)}
#app#app .overview-page :is(.bar-loss,.key-loss){--series:var(--danger)}
#app#app .overview-page .key-bookings{--series:var(--accent)}
#app#app .overview-page .key-line{--series:var(--warn);border-radius:50%}
#app#app .overview-page .key-ota{border-radius:0}
#app#app .overview-page .key.previous{background:color-mix(in oklch,var(--ov-previous) 22%,var(--surface));border:1px solid var(--ov-previous)}
#app#app .overview-page .mix-row{margin:0 0 18px}
#app#app .overview-page .mix-row:last-child{margin-bottom:0}
#app#app .overview-page .mix-label{display:flex;align-items:center;gap:8px;min-width:0;margin-bottom:9px;font-size:12px}
#app#app .overview-page .mix-label>span:not(.source-icon){overflow-wrap:anywhere}
#app#app .overview-page .mix-label strong{margin-left:auto;font-size:13px;font-weight:550;font-variant-numeric:tabular-nums}
#app#app .overview-page .mix-label small{min-width:31px;text-align:right;font-size:11px;color:var(--muted)}
#app#app .overview-page .source-mark{width:18px;height:auto;object-fit:contain;flex:none}
#app#app .overview-page .source-icon{display:grid;place-items:center;width:20px;height:20px;color:var(--series);flex:none}
#app#app .overview-page .source-icon .icon{width:18px;height:18px}
#app#app .overview-page .track{height:9px;background:var(--bg);border-radius:3px}
#app#app .overview-page .track span{display:block;width:var(--share);height:100%;background:var(--series);border:1px solid var(--surface);border-radius:3px}
#app#app .overview-page :is(.ticket-type,.mix-row) .metric-change{margin-top:7px}
#app#app .overview-page .ticket-total{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-bottom:16px;margin-bottom:17px;border-bottom:1px solid var(--border)}
#app#app .overview-page .ticket-total>div:first-child{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
#app#app .overview-page .ticket-total>div:first-child>span{font-size:12px;color:var(--muted)}
#app#app .overview-page .ticket-total strong{font:550 28px/1.25 var(--mono);letter-spacing:-.04em}
#app#app .overview-page .ticket-types{display:grid;gap:20px}
#app#app .overview-page .ticket-label{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:9px;align-items:center;margin-bottom:9px;font-size:12px}
#app#app .overview-page .ticket-label>strong{font-weight:550}
#app#app .overview-page .ticket-label>span{text-align:right;font-variant-numeric:tabular-nums}
#app#app .overview-page .chart-head{display:flex;gap:20px;flex-wrap:wrap;align-items:center;padding:12px 22px 0;margin:0}
#app#app .overview-page .chart-stat{display:grid;grid-template-columns:auto auto;align-items:baseline;column-gap:9px;row-gap:0;margin:0}
#app#app .overview-page .chart-stat dt{font-size:11px;letter-spacing:.02em;color:var(--muted)}
#app#app .overview-page .chart-stat dd{margin:0;font-size:21px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
#app#app .overview-page .chart-stat :is(.metric-change,.comparison-unavailable){grid-column:1/-1;font-size:11px}
#app#app .overview-page .unit{padding:12px 22px 7px;font-size:11px;letter-spacing:.015em;color:var(--muted)}
#app#app .overview-page .graph{position:relative;min-width:0;margin:0 22px 0 13px}
#app#app .overview-page .graph-scroll{overflow-x:auto;padding-top:22px}
#app#app .overview-page :is(.graph-scroll,.table-scroll):focus-visible{outline:3px solid var(--accent);outline-offset:3px}
#app#app .overview-page .plot{position:relative;height:200px;margin-left:42px;margin-right:8px;min-width:0}
#app#app .overview-page .grid-lines{position:absolute;inset:0;pointer-events:none}
#app#app .overview-page .grid-line{position:absolute;left:0;right:0;height:0;border-top:1px dashed var(--border)}
#app#app .overview-page .grid-line.zero{border-top:1px solid var(--strong)}
#app#app .overview-page .grid-line>span{position:absolute;right:calc(100% + 10px);top:-10px;font-size:11px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
#app#app .overview-page .columns{position:absolute;inset:0;display:flex;justify-content:space-around;gap:8px}
#app#app .overview-page .column{position:relative;flex:1;min-width:0;border-radius:3px;color:var(--fg)}
#app#app .overview-page .column:hover{box-shadow:0 0 0 1px var(--strong)}
#app#app .overview-page .bar-set{position:absolute;inset:0;display:flex;gap:4px;align-items:flex-end;justify-content:center}
#app#app .overview-page .bar{position:relative;width:min(27px,58%);height:var(--height);min-height:0;background:var(--series);border:1px solid var(--surface);border-radius:3px 3px 0 0}
#app#app .overview-page .graph-signed .bar{position:absolute}
#app#app .overview-page .bar.previous{background:color-mix(in oklch,var(--ov-previous) 22%,var(--surface));border:1.5px solid var(--ov-previous)}
#app#app .overview-page .bar-ota{border-radius:0}
#app#app .overview-page .column.pair .bar{width:min(20px,35%)}
#app#app .overview-page .bar-value{position:absolute;bottom:calc(var(--height) + 5px);left:0;right:0;text-align:center;font-size:11px;line-height:1.3;color:var(--fg);pointer-events:none;font-variant-numeric:tabular-nums}
#app#app .overview-page .bar-value.muted{color:var(--muted)}
#app#app .overview-page .x-label{position:absolute;left:-6px;right:-6px;top:calc(100% + 10px);font-size:11px;line-height:1.3;color:var(--muted);text-align:center;pointer-events:none;font-variant-numeric:tabular-nums}
#app#app .overview-page .x-label strong{display:block;font-weight:400;color:var(--fg)}
#app#app .overview-page .chart-bottom{height:47px}
#app#app .overview-page .legend{display:flex;gap:14px;flex-wrap:wrap;padding:4px 22px 16px;font-size:12px;color:var(--muted)}
#app#app .overview-page .legend span{display:inline-flex;gap:6px;align-items:center}
#app#app .overview-page .chart-summary{padding:12px 22px;border-top:1px solid var(--border);font-size:12px;line-height:1.6;color:var(--muted)}
#app#app .overview-page .chart-summary .text-link{font-size:12px}
#app#app .overview-page .data-table{border-top:1px solid var(--border)}
#app#app .overview-page .data-table summary{display:list-item;padding:13px 22px;font-size:12px;color:var(--muted);cursor:pointer}
#app#app .overview-page .data-table summary:hover{color:var(--fg)}
#app#app .overview-page .table-scroll{overflow-x:auto;margin:0 18px 16px}
#app#app .overview-page .data-table table{width:100%;border-collapse:collapse;font-size:12px;text-align:right;font-variant-numeric:tabular-nums}
#app#app .overview-page .data-table :is(th,td){padding:10px;border-bottom:1px solid var(--border)}
#app#app .overview-page .data-table th{font-weight:550;color:var(--muted)}
#app#app .overview-page .data-table :is(th,td):first-child{text-align:left}
#app#app .overview-page .ov-series-body{padding:12px 22px 4px}
#app#app .overview-page .ov-sseries{display:block;width:100%;height:auto;max-height:320px}
#app#app .overview-page .ov-sbar{fill:var(--accent)}
#app#app .overview-page .ov-sline{fill:none;stroke:var(--warn);stroke-width:2}
#app#app .overview-page .ov-sdot{fill:var(--warn)}
#app#app .overview-page .ov-sgrid{stroke:var(--border);stroke-width:1;stroke-dasharray:3 3}
#app#app .overview-page .ov-saxis{font-size:11px;fill:var(--muted)}
#app#app .overview-page .ov-saxis-bars{fill:var(--accent)}
#app#app .overview-page .ov-saxis-line{fill:var(--warn)}
#app#app .overview-page .rating-total{display:flex;gap:8px;align-items:center;flex:none}
#app#app .overview-page .rating-total strong{font-size:24px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
#app#app .overview-page .rating-total .small{font-size:11px;color:var(--muted)}
#app#app .overview-page .gold{color:var(--ov-gold)}
#app#app .overview-page .reviews{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;margin:18px 0 0;padding:0 22px 18px;list-style:none}
#app#app .overview-page .review{min-width:0;padding:17px 0;border-top:1px solid var(--border)}
#app#app .overview-page .review-meta{--series:var(--muted);display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:11px;color:var(--muted)}
#app#app .overview-page .review-meta time{width:100%;font-variant-numeric:tabular-nums}
#app#app .overview-page .review-rating{display:flex;gap:7px;align-items:center;margin:11px 0 9px;font-size:12px}
#app#app .overview-page .stars{font-size:16px;line-height:1;letter-spacing:2px;color:var(--ov-gold);white-space:nowrap}
#app#app .overview-page .review p{margin:0;font-size:13px;line-height:1.6;max-width:65ch}
#app#app .overview-page .review footer{margin-top:9px;font-size:11px;color:var(--muted)}
#app#app .overview-page .review-footer{padding:0 22px 16px}
#app#app .overview-page .footer{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-top:25px;font-size:11px;color:var(--muted)}
@media(min-width:1600px){#app#app .overview-page .plot{height:232px}}
@media(max-width:1280px){#app#app .overview-page .summary{grid-template-columns:minmax(0,1fr)}}
@media(max-width:1200px){
#app#app .overview-page .refresh span{display:none}
#app#app .overview-page .panel-head{flex-wrap:wrap}
#app#app .overview-page .reviews{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
#app#app .overview-page .period-field{display:grid;gap:4px}
#app#app .overview-page .reviews{grid-template-columns:1fr 1fr}
#app#app .overview-page .reviews .review:last-child{grid-column:span 2}
}
@media(max-width:700px){
#app#app .overview-page .metric-grid{grid-template-columns:minmax(0,1fr);gap:15px}
#app#app .overview-page .ov-hero{padding:18px 17px}
#app#app .overview-page .ov-hero>.metric .metric-number{font-size:34px}
#app#app .overview-page .ov-hero-foot .metric-number{font-size:22px}
#app#app .overview-page .ov-secondary .metric{padding:11px 17px}
}
@media(max-width:620px){
#app#app .overview-page{padding:20px 16px 28px}
#app#app .overview-page .page-header{gap:15px;align-items:flex-start}
#app#app .overview-page .page-header h1{font-size:28px}
#app#app .overview-page .page-header p{font-size:12px;max-width:30ch}
#app#app .overview-page .refresh .btn{width:44px;padding:0;font-size:0;gap:0}
#app#app .overview-page .refresh .btn .icon{width:18px;height:18px}
#app#app .overview-page .period-bar{gap:13px}
#app#app .overview-page .period-dates{width:100%}
#app#app .overview-page .period-field{flex:1;min-width:0}
#app#app .overview-page .period-field input{width:100%;min-width:0}
#app#app .overview-page .comparison{gap:4px}
#app#app .overview-page .comparison p{flex-basis:100%;font-size:11px}
#app#app .overview-page .dashboard-grid{gap:15px}
#app#app .overview-page .dashboard-grid>*,#app#app .overview-page .dashboard-grid>[data-panel]{grid-column:1/-1}
#app#app .overview-page .mix-stack{grid-template-columns:1fr;gap:15px}
#app#app .overview-page .dashboard-grid>.today{grid-template-columns:1fr}
#app#app .overview-page .today{padding:18px 17px}
#app#app .overview-page .panel-head{padding:18px 17px 0;gap:10px}
#app#app .overview-page .panel-body{padding:18px 17px}
#app#app .overview-page .panel-head p{font-size:11px}
#app#app .overview-page .chart-head{padding:15px 17px 0;gap:20px}
#app#app .overview-page .chart-stat dd{font-size:22px}
#app#app .overview-page .graph{margin-right:17px;margin-left:7px}
#app#app .overview-page .plot{margin-left:40px;margin-right:0;height:190px}
#app#app .overview-page .columns{gap:4px}
#app#app .overview-page .column{min-width:44px}
#app#app .overview-page :is(.bar-value,.x-label){font-size:10px}
#app#app .overview-page .unit{padding-left:17px}
#app#app .overview-page .legend{padding:4px 17px 14px;gap:12px;font-size:11px}
#app#app .overview-page .chart-summary{padding:11px 17px;font-size:11px}
#app#app .overview-page .data-table summary{padding:12px 17px}
#app#app .overview-page .reviews{grid-template-columns:1fr;gap:0;margin-top:12px;padding:0 17px 10px}
#app#app .overview-page .reviews .review:last-child{grid-column:auto}
#app#app .overview-page .review-meta time{width:auto;margin-left:auto}
#app#app .overview-page .review-footer{padding-left:17px}
#app#app .overview-page .footer{font-size:10px}
}
@media(prefers-reduced-motion:reduce){#app#app .overview-page *{animation:none!important;transition:none!important}}

#app#app .rv-page{--rating:var(--gold);display:flex;flex-direction:column;gap:22px;min-width:0;max-width:none;margin:0;padding:0 var(--s5) 32px;color:var(--fg)}
#app#app .rv-page>[data-reviews-retry]{align-self:flex-start}
#app#app .rv-page :is(h2,h3,p,ul,ol,dl,fieldset,legend){margin:0;padding:0}
#app#app .rv-page :is(ul,ol){list-style:none}
#app#app .rv-page p{text-wrap:pretty}
#app#app .rv-page :is(button,input,select){font-family:var(--font)}
#app#app .rv-page :is(button,select,input,summary,a):focus-visible{outline:3px solid var(--accent);outline-offset:3px}
#app#app .rv-page .icon{display:inline-block;width:16px;height:16px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round;flex:none;vertical-align:middle}
#app#app .rv-page .icon.rv-star{fill:currentColor;stroke-width:1.2;color:var(--rating);width:12px;height:12px}
#app#app .rv-page .rv-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#app#app .rv-page .rv-label{display:block;color:var(--muted);font-size:12px;line-height:1.5;margin-bottom:7px}
#app#app .rv-page .rv-warning{color:var(--warn)}
#app#app .rv-page .rv-state{color:var(--muted);font-size:13px;padding:24px 0}
#app#app .rv-page .rv-alert{padding:12px 14px;border:1px solid var(--danger);border-radius:7px;color:var(--danger);font-size:13px}
#app#app .rv-page .rv-small-empty{color:var(--muted);font-size:12px;line-height:1.6;padding:20px 0}

/* Buttons and fields */
#app#app .rv-page .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:9px 13px;border:1px solid var(--strong);border-radius:7px;background:var(--surface);color:var(--fg);font-size:12px;font-weight:550;letter-spacing:.02em;box-shadow:none;cursor:pointer;text-decoration:none}
#app#app .rv-page .btn:hover:not(:disabled){border-color:var(--fg);background:var(--surface);color:var(--fg);box-shadow:0 0 0 1px var(--fg)}
#app#app .rv-page .btn:disabled{opacity:.5;cursor:default}
#app#app .rv-page .btn.rv-apply,#app#app .rv-page .btn.rv-sync{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
#app#app .rv-page .btn.rv-apply:hover:not(:disabled),#app#app .rv-page .btn.rv-sync:hover:not(:disabled){background:oklch(from var(--accent) calc(l + .08) c h);border-color:var(--accent);color:var(--on-accent);box-shadow:none}
#app#app .rv-page .rv-field{display:flex;align-items:center;min-width:0}
#app#app .rv-page .rv-field select,#app#app .rv-page .rv-find input{min-height:44px;min-width:0;border:1px solid var(--strong);border-radius:7px;background:var(--surface);color:var(--fg);padding:9px 12px;font-size:12px;letter-spacing:.01em}
#app#app .rv-page .rv-field select{max-width:100%;padding-right:30px}
#app#app .rv-page .rv-find input{flex:1;font-size:13px;background:var(--bg)}
#app#app .rv-page input[type=checkbox]{width:18px;height:18px;flex:none;accent-color:var(--accent)}

/* Segmented controls: guide tabs, source and rating filters, change period */
#app#app .rv-page .rv-seg{display:inline-flex;flex-wrap:wrap;gap:3px;max-width:100%;border:1px solid var(--border);border-radius:7px;padding:3px}
#app#app .rv-page .rv-seg-btn{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:9px 13px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--muted);font-size:12px;letter-spacing:.02em;box-shadow:none;cursor:pointer}
#app#app .rv-page .rv-seg-btn:hover:not(:disabled){color:var(--fg);border-color:var(--fg);background:var(--bg)}
#app#app .rv-page .rv-seg-btn:disabled{opacity:.55;cursor:default}
#app#app .rv-page .rv-seg-btn:is([aria-pressed=true],[aria-selected=true]),#app#app .rv-page .rv-seg-btn:is([aria-pressed=true],[aria-selected=true]):hover:not(:disabled){background:var(--raised);color:var(--fg);border-color:var(--strong)}
#app#app .rv-page .rv-seg-sm .rv-seg-btn{padding:9px 10px}
#app#app .rv-page .rv-seg-btn .reviews-source-icon{width:16px;height:16px;vertical-align:middle}
#app#app .rv-page .rv-seg-logos{display:inline-flex}
#app#app .rv-page .rv-seg-logos>*+*{margin-left:-5px}
#app#app .rv-page .icon.rv-star.rv-star-low{color:var(--muted)}
#app#app .rv-page .icon.rv-text-icon{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;margin-left:-2px}
#app#app .rv-page .rv-count{font:11px var(--mono);color:var(--muted)}

/* Import status */
#app#app .rv-page .rv-statusbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
#app#app .rv-page .rv-import{display:flex;align-items:flex-start;gap:9px;min-width:0;flex:1 1 320px;color:var(--muted);font-size:12px;line-height:1.6}
#app#app .rv-page .rv-import .icon{margin-top:2px}
#app#app .rv-page .rv-import span{min-width:0}

/* Unread mails */
#app#app .rv-page .rv-unread{border:1px solid var(--border);border-radius:7px;background:var(--surface)}
#app#app .rv-page .rv-unread>summary{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 16px;cursor:pointer;font-size:12px;color:var(--fg)}
#app#app .rv-page .rv-unread[open]>summary{border-bottom:1px solid var(--border)}
#app#app .rv-page .rv-unread>:not(summary){margin:0 16px}
#app#app .rv-page .rv-unread>:is(p,h3,div){margin-top:14px;font-size:12px}
#app#app .rv-page .rv-unread>:last-child{margin-bottom:16px}
#app#app .rv-page .rv-unread h3{font-size:13px;font-weight:550}
#app#app .rv-page .rv-unread-table{width:100%;border-collapse:collapse;font-size:12px}
#app#app .rv-page .rv-unread-table :is(th,td){padding:8px 10px;border-top:1px solid var(--border);text-align:left;vertical-align:top;overflow-wrap:anywhere}
#app#app .rv-page .rv-unread-table th{color:var(--muted);font-size:10px;font-weight:500;border-top:0}
#app#app .rv-page .rv-unread-table .num{text-align:right;font-family:var(--mono)}
#app#app .rv-page .rv-shape{display:block;margin-top:4px;color:var(--muted);font:11px var(--mono);overflow-wrap:anywhere}
#app#app .rv-page .rv-unread-list{display:grid;gap:0}
#app#app .rv-page .rv-unread-list>li{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;padding:10px 0;border-top:1px solid var(--border);font-size:12px}
#app#app .rv-page .rv-unread-text{flex-basis:100%}

/* Controls */
#app#app .rv-page .rv-controls{display:grid;gap:12px}
#app#app .rv-page .rv-tabs-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
#app#app .rv-page .rv-rank{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted)}
#app#app .rv-page .rv-filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
#app#app .rv-page .rv-filter-actions{display:flex;gap:9px;flex-wrap:wrap}
#app#app .rv-page .rv-quick{display:flex;flex-wrap:wrap;gap:10px}
#app#app .rv-page .rv-pick{position:relative}
#app#app .rv-page .rv-pick>summary{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:9px 12px;border:1px solid var(--strong);border-radius:7px;background:var(--surface);color:var(--fg);font-size:12px;cursor:pointer;list-style:none}
#app#app .rv-page .rv-pick>summary::-webkit-details-marker{display:none}
#app#app .rv-page .rv-pick-panel{margin:0;position:absolute;z-index:6;top:calc(100% + 6px);left:0;display:grid;gap:2px;min-width:230px;max-width:calc(100vw - 32px);max-height:280px;overflow:auto;padding:10px 12px;border:1px solid var(--strong);border-radius:7px;background:var(--surface);box-shadow:0 12px 30px rgba(0,0,0,.35)}
#app#app .rv-page .rv-pick-panel legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#app#app .rv-page .rv-pick-panel label,#app#app .rv-page .rv-guides label{display:flex;align-items:center;gap:10px;min-height:44px;font-size:12px}

/* Overview: four figures over the period, then three panels */
#app#app .rv-page .rv-overview{border:1px solid var(--border);border-radius:7px;background:var(--surface);overflow:hidden}
#app#app .rv-page .rv-summary{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));border-bottom:1px solid var(--border)}
#app#app .rv-page .rv-summary>div{min-width:0;padding:18px 22px}
#app#app .rv-page .rv-summary>div+div{border-left:1px solid var(--border)}
#app#app .rv-page .rv-summary strong{display:block;font:550 24px/1.2 var(--mono);letter-spacing:-.02em}
#app#app .rv-page .rv-summary-rating .rv-label{font-size:13px}
#app#app .rv-page .rv-summary-rating strong{font-size:44px;line-height:1.1;letter-spacing:-.05em}
#app#app .rv-page .rv-summary strong.rv-period{font-size:17px;line-height:1.5}
#app#app .rv-page .rv-summary small{display:block;color:var(--muted);font:11px/1.5 var(--font);letter-spacing:.01em;margin-top:5px}
#app#app .rv-page .rv-summary small.rv-warning{color:var(--warn)}
#app#app .rv-page .rv-summary-rating>div{display:flex;align-items:center;gap:9px}
#app#app .rv-page .rv-summary-rating .icon.rv-star{width:24px;height:24px;margin-left:2px}
#app#app .rv-page .rv-outof{color:var(--muted);font-size:13px}
#app#app .rv-page .rv-charts{display:grid;grid-template-columns:.85fr 1.15fr 1fr}
#app#app .rv-page .rv-panel{min-width:0;padding:20px;border:1px solid var(--border);border-radius:7px;background:var(--surface)}
#app#app .rv-page .rv-charts>.rv-panel{border:0;border-radius:0;background:transparent}
#app#app .rv-page .rv-charts>.rv-panel+.rv-panel{border-left:1px solid var(--border)}
#app#app .rv-page .rv-panel h2{font-size:16px;font-weight:550;letter-spacing:0;color:var(--fg)}
#app#app .rv-page .rv-panel-head{margin-bottom:17px}
#app#app .rv-page .rv-panel-head p{margin-top:4px;color:var(--muted);font-size:11px;line-height:1.6}
#app#app .rv-page .rv-dist{display:grid;gap:2px}
#app#app .rv-page .rv-dist-row{display:grid;grid-template-columns:34px minmax(0,1fr) 28px;gap:12px;align-items:center;min-height:44px;font-size:12px}
#app#app .rv-page .rv-dist-label{display:flex;align-items:center;gap:6px;font:12px var(--mono)}
#app#app .rv-page .rv-dist-row strong{font:12px var(--mono);text-align:right}
#app#app .rv-page progress.rv-track{appearance:none;-webkit-appearance:none;display:block;width:100%;height:7px;border:0;border-radius:2px;background:var(--bg);color:var(--rating);overflow:hidden}
#app#app .rv-page progress.rv-track::-webkit-progress-bar{background:var(--bg);border-radius:2px}
#app#app .rv-page progress.rv-track::-webkit-progress-value{background:var(--rating);border-radius:2px}
#app#app .rv-page progress.rv-track::-moz-progress-bar{background:var(--rating);border-radius:2px}
#app#app .rv-page .rv-trend-chart{display:flex;gap:8px;padding-top:8px}
#app#app .rv-page .rv-chart-scale{display:flex;flex-direction:column;justify-content:space-between;height:102px;font:10px var(--mono);color:var(--muted)}
#app#app .rv-page .rv-trend-bars{display:flex;gap:3px;min-width:0;flex:1}
#app#app .rv-page .rv-trend-col{display:flex;flex-direction:column;flex:1;min-width:0;padding:0 2px;text-align:center;color:var(--muted);font-size:10px;line-height:1.6}
#app#app .rv-page .rv-bar-zone{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:102px;border-bottom:1px solid var(--strong)}
#app#app .rv-page .rv-trend-value{margin-bottom:3px;font:10px var(--mono);color:var(--fg)}
#app#app .rv-page .rv-bar{display:block;flex:none;width:min(22px,70%);background:var(--accent);border-radius:2px 2px 0 0}
#app#app .rv-page .rv-trend-date{display:block;margin-top:8px;font:10px var(--mono)}
#app#app .rv-page .rv-bar-0{height:0px}
#app#app .rv-page .rv-bar-1{height:2px}
#app#app .rv-page .rv-bar-2{height:4px}
#app#app .rv-page .rv-bar-3{height:6px}
#app#app .rv-page .rv-bar-4{height:8px}
#app#app .rv-page .rv-bar-5{height:10px}
#app#app .rv-page .rv-bar-6{height:12px}
#app#app .rv-page .rv-bar-7{height:14px}
#app#app .rv-page .rv-bar-8{height:16px}
#app#app .rv-page .rv-bar-9{height:18px}
#app#app .rv-page .rv-bar-10{height:20px}
#app#app .rv-page .rv-bar-11{height:22px}
#app#app .rv-page .rv-bar-12{height:24px}
#app#app .rv-page .rv-bar-13{height:26px}
#app#app .rv-page .rv-bar-14{height:28px}
#app#app .rv-page .rv-bar-15{height:30px}
#app#app .rv-page .rv-bar-16{height:32px}
#app#app .rv-page .rv-bar-17{height:34px}
#app#app .rv-page .rv-bar-18{height:36px}
#app#app .rv-page .rv-bar-19{height:38px}
#app#app .rv-page .rv-bar-20{height:40px}
#app#app .rv-page .rv-bar-21{height:42px}
#app#app .rv-page .rv-bar-22{height:44px}
#app#app .rv-page .rv-bar-23{height:46px}
#app#app .rv-page .rv-bar-24{height:48px}
#app#app .rv-page .rv-bar-25{height:50px}
#app#app .rv-page .rv-bar-26{height:52px}
#app#app .rv-page .rv-bar-27{height:54px}
#app#app .rv-page .rv-bar-28{height:56px}
#app#app .rv-page .rv-bar-29{height:58px}
#app#app .rv-page .rv-bar-30{height:60px}
#app#app .rv-page .rv-bar-31{height:62px}
#app#app .rv-page .rv-bar-32{height:64px}
#app#app .rv-page .rv-bar-33{height:66px}
#app#app .rv-page .rv-bar-34{height:68px}
#app#app .rv-page .rv-bar-35{height:70px}
#app#app .rv-page .rv-bar-36{height:72px}
#app#app .rv-page .rv-bar-37{height:74px}
#app#app .rv-page .rv-bar-38{height:76px}
#app#app .rv-page .rv-bar-39{height:78px}
#app#app .rv-page .rv-bar-40{height:80px}
#app#app .rv-page .rv-source-head,#app#app .rv-page .rv-source-row{display:grid;grid-template-columns:minmax(0,1fr) 50px 48px;gap:8px;align-items:center}
#app#app .rv-page .rv-source-head{padding-bottom:8px;font-size:10px;color:var(--muted)}
#app#app .rv-page .rv-source-head>span+span{text-align:right}
#app#app .rv-page .rv-source-row{min-height:51px;padding:10px 0;border-top:1px solid var(--border);font-size:12px}
#app#app .rv-page .rv-source-row>strong,#app#app .rv-page .rv-source-row>.rv-source-count{font:12px var(--mono);text-align:right}
#app#app .rv-page .rv-source-row small{grid-column:1/-1;color:var(--muted);font-size:11px;line-height:1.5}
#app#app .rv-page .rv-source{display:inline-flex;align-items:center;gap:8px;min-width:0;font-size:12px;font-weight:550}
#app#app .rv-page .rv-source svg{flex:none}

/* Guide comparison */
#app#app .rv-page .rv-compare .mkt-table-wrap{margin-top:14px;overflow-x:auto}
#app#app .rv-page .rv-compare-table{width:100%;border-collapse:collapse;font-size:12px}
#app#app .rv-page .rv-compare-table :is(th,td){padding:10px 12px;border-top:1px solid var(--border);text-align:left}
#app#app .rv-page .rv-compare-table th{border-top:0;color:var(--muted);font-size:10px;font-weight:500}
#app#app .rv-page .rv-compare-table td{font-family:var(--mono)}
#app#app .rv-page .rv-compare-table td:first-child{font-family:var(--font)}

/* Reviews ledger and the guide ratings beside it */
#app#app .rv-page .rv-bottom{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px;align-items:start}
#app#app .rv-page .rv-ledger{min-width:0}
#app#app .rv-page .rv-list-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:14px}
#app#app .rv-page .rv-list-head h2{font-size:16px;font-weight:550}
#app#app .rv-page .rv-list-head span{color:var(--muted);font-size:12px}
#app#app .rv-page .rv-ledger-head,#app#app .rv-page .rv-row{display:grid;grid-template-columns:86px 110px 56px minmax(0,1fr);gap:12px;align-items:start}
#app#app .rv-page .rv-ledger-head{align-items:center;padding:10px 8px;border-top:1px solid var(--strong);font-size:10px;color:var(--muted)}
#app#app .rv-page .rv-row{padding:18px 8px;border-top:1px solid var(--border);font-size:12px}
#app#app .rv-page .rv-row:hover{background:var(--surface)}
#app#app .rv-page .rv-row-date{color:var(--muted);font:10px/1.8 var(--mono)}
#app#app .rv-page .rv-row .rv-source{font-size:11px;gap:6px}
#app#app .rv-page .rv-rate{display:inline-flex;align-items:center;gap:5px;font:12px/1.6 var(--mono)}
#app#app .rv-page .rv-row-copy{min-width:0;overflow-wrap:anywhere}
#app#app .rv-page .rv-text{max-width:65ch;font-size:13px;line-height:1.65;color:var(--fg)}
#app#app .rv-page .rv-text.muted{color:var(--muted)}
#app#app .rv-page .rv-english{max-width:65ch;margin-top:6px;padding-left:10px;border-left:2px solid var(--border);font-size:13px;line-height:1.65;color:var(--fg)}
#app#app .rv-page .rv-english.muted{color:var(--muted)}
#app#app .rv-page .rv-english-label{display:block;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
#app#app .rv-page .rv-meta{margin-top:6px;color:var(--muted);font-size:11px;line-height:1.6;letter-spacing:.01em}
#app#app .rv-page .rv-row-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;font-size:12px}
#app#app .rv-page .rv-open{display:inline-flex;align-items:center;gap:7px;min-height:44px;color:var(--fg);font-size:12px;text-decoration:underline;text-underline-offset:4px}
#app#app .rv-page .rv-row-panel{grid-column:1/-1}
#app#app .rv-page .rv-whole-mail{margin-top:8px;font-size:12px}
#app#app .rv-page .rv-whole-mail>summary{display:inline-flex;align-items:center;min-height:44px;color:var(--fg);cursor:pointer;text-decoration:underline;text-underline-offset:4px}
#app#app .rv-page .rv-mail-label{font-size:11px;margin-top:6px}
#app#app .rv-page .rv-mail-text{color:var(--muted);white-space:pre-wrap;max-height:240px;overflow:auto}
#app#app .rv-page .rv-match{display:grid;gap:10px;padding:14px 16px;border:1px solid var(--border);border-radius:7px;background:var(--surface);font-size:12px}
#app#app .rv-page .rv-match>strong{font-size:13px}
#app#app .rv-page .rv-match>.btn{justify-self:start}
#app#app .rv-page .rv-match [role=alert]{color:var(--danger)}
#app#app .rv-page .rv-candidate{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:8px 0;border-top:1px solid var(--border)}
#app#app .rv-page .rv-candidate>span{min-width:0;flex:1 1 220px;line-height:1.6;overflow-wrap:anywhere}
#app#app .rv-page .rv-find{display:grid;gap:7px;color:var(--muted)}
#app#app .rv-page .rv-find-row{display:flex;gap:9px;flex-wrap:wrap}
#app#app .rv-page .rv-find-row input{flex:1 1 180px}
#app#app .rv-page .rv-guides{display:grid;gap:2px;border:0}
#app#app .rv-page .rv-guides legend{margin-bottom:6px;color:var(--muted);font-size:11px}
#app#app .rv-page .rv-more{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding-top:16px;border-top:1px solid var(--border);color:var(--muted);font-size:12px}
#app#app .rv-page .rv-more>span{flex:1 1 200px}
#app#app .rv-page .rv-side{min-width:0}
#app#app .rv-page .rv-change{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;margin-bottom:12px}
#app#app .rv-page .rv-change .rv-label{margin:0}
#app#app .rv-page .rv-guide-list{display:grid}
#app#app .rv-page .rv-guide-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:2px 8px;align-items:center;padding:10px 0;border-top:1px solid var(--border);font-size:12px}
#app#app .rv-page .rv-guide-row.rv-current{background:var(--bg)}
#app#app .rv-page .rv-guide-rank{display:inline-flex;align-items:center;gap:3px;color:var(--muted);font:10px var(--mono)}
#app#app .rv-page .rv-guide-name{min-width:0;font-weight:550;overflow-wrap:anywhere}
#app#app .rv-page .rv-guide-rating{display:inline-flex;align-items:center;gap:5px;font:500 12px var(--mono)}
#app#app .rv-page .rv-move{grid-column:2/-1;color:var(--muted);font-size:11px;line-height:1.5}
#app#app .rv-page .rv-move strong{font-weight:550}
#app#app .rv-page .rv-move .icon{width:11px;height:11px}
#app#app .rv-page .rv-move-up{color:var(--success)}
#app#app .rv-page .rv-move-down{color:var(--danger)}
#app#app .rv-page .icon.rv-trophy{color:var(--rating);width:13px;height:13px}
#app#app .rv-page .icon.rv-medal{color:var(--muted);width:13px;height:13px}
#app#app .rv-page .rv-small-title{margin-top:16px;padding-top:12px;border-top:1px solid var(--strong);color:var(--muted);font-size:11px;font-weight:500}

/* Light theme: the frame already darkens gold and blue; only the shadow and the empty bar track change */
html.theme-light #app#app .rv-page{--rating:var(--gold)}
html.theme-light #app#app .rv-page .rv-pick-panel{box-shadow:0 12px 30px rgba(20,20,20,.16)}
html.theme-light #app#app .rv-page progress.rv-track,html.theme-light #app#app .rv-page progress.rv-track::-webkit-progress-bar{background:var(--raised)}

@media(max-width:1023px){
  #app#app .rv-page .rv-summary{grid-template-columns:repeat(3,minmax(0,1fr))}
  #app#app .rv-page .rv-summary>div:first-child{grid-column:1/-1}
  #app#app .rv-page .rv-summary>div:nth-child(2){border-left:0}
  #app#app .rv-page .rv-summary>div:nth-child(n+2){border-top:1px solid var(--border)}
  #app#app .rv-page .rv-charts{grid-template-columns:1fr 1fr}
  #app#app .rv-page .rv-charts>.rv-sources{grid-column:1/-1;border-left:0;border-top:1px solid var(--border)}
  #app#app .rv-page .rv-bottom{grid-template-columns:1fr}
}
@media(max-width:700px){
  #app#app .rv-page{gap:18px}
  #app#app .rv-page .rv-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;width:100%}
  #app#app .rv-page .rv-seg-btn{flex:none}
  #app#app .rv-page .rv-filters{display:grid;grid-template-columns:1fr 1fr}
  #app#app .rv-page .rv-filters>.rv-field:nth-child(3),#app#app .rv-page .rv-pick,#app#app .rv-page .rv-filter-actions{grid-column:1/-1}
  #app#app .rv-page .rv-field select,#app#app .rv-page .rv-pick>summary{width:100%}
  #app#app .rv-page .rv-field{display:block}
  #app#app .rv-page .rv-pick-panel{position:static;max-width:none;margin-top:6px;box-shadow:none}
  #app#app .rv-page .rv-filter-actions .btn{flex:1}
  #app#app .rv-page .rv-quick .rv-seg{display:flex;width:100%}
  #app#app .rv-page .rv-quick .rv-seg-btn{flex:1 1 auto;justify-content:center}
  #app#app .rv-page .rv-summary>div{padding:15px}
  #app#app .rv-page .rv-summary strong{font-size:21px}
  #app#app .rv-page .rv-summary-rating strong{font-size:34px}
  #app#app .rv-page .rv-charts{grid-template-columns:1fr}
  #app#app .rv-page .rv-charts>.rv-panel+.rv-panel{border-left:0;border-top:1px solid var(--border)}
  #app#app .rv-page .rv-wide{display:none}
  #app#app .rv-page .rv-ledger-head{display:none}
  #app#app .rv-page .rv-row{grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;padding:18px 0;border-top:1px solid var(--border)}
  #app#app .rv-page .rv-row-date{grid-column:1;grid-row:1}
  #app#app .rv-page .rv-row>.rv-source{grid-column:1;grid-row:2}
  #app#app .rv-page .rv-row>.rv-rate{grid-column:2;grid-row:1 / span 2;align-self:center}
  #app#app .rv-page .rv-row-copy{grid-column:1/-1;grid-row:3}
  #app#app .rv-page .rv-row-panel{grid-row:4}
  #app#app .rv-page .rv-row-actions .btn,#app#app .rv-page .rv-open{flex:1 1 auto}
  #app#app .rv-page .rv-unread-table :is(th,td){padding:8px 6px}
}
@media(max-width:380px){
  #app#app .rv-page{padding-inline:16px}
  #app#app .rv-page .rv-summary{grid-template-columns:1fr}
  #app#app .rv-page .rv-summary>div+div{border-left:0;border-top:1px solid var(--border)}
  #app#app .rv-page .rv-filters{grid-template-columns:1fr}
  #app#app .rv-page .rv-seg-btn{padding:9px 10px}
  #app#app .rv-page .rv-panel{padding:16px}
  #app#app .rv-page .rv-source-head,#app#app .rv-page .rv-source-row{grid-template-columns:minmax(0,1fr) 40px 40px;gap:5px}
  #app#app .rv-page .rv-statusbar .btn{width:100%}
  #app#app .rv-page .rv-more .btn{flex:1}
}
@media(prefers-reduced-motion:reduce){#app#app .rv-page *{animation:none!important;transition:none!important}}

#app#app .cp{min-width:0;max-width:none;margin:0;padding:0 var(--s5) 32px;color:var(--fg)}
#app#app .cp :where(h1,h2,h3,p,dl,dd,ol,ul){margin:0;padding:0}
#app#app .cp :where(ol,ul){list-style:none}
#app#app .cp :is(h1,h2,h3){font-family:var(--font)}
#app#app .cp p{text-wrap:pretty}
#app#app .cp h1{font-size:30px;line-height:1.2;letter-spacing:-.02em;font-weight:600}
#app#app .cp h2{font-size:19px;line-height:1.3;letter-spacing:-.01em;font-weight:600}
#app#app .cp .mono{font-family:var(--mono);font-size:12px}
#app#app .cp .icon{display:inline-block;width:16px;height:16px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round;flex:none;vertical-align:middle}
#app#app .cp .cp-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#app#app .cp .text-link{display:inline-flex;align-items:center;gap:6px;padding:5px 0;border:0;background:transparent;color:var(--fg);font:inherit;font-size:13px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
#app#app .cp .text-link:hover{text-decoration-thickness:2px}
#app#app .cp :is(.text-link,.cp-tab,.cp-booking,.cp-email-note,summary):focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}
#app#app .cp .btn{display:inline-flex;align-items:center;gap:7px}
#app#app .cp .btn .icon{width:16px;height:16px}
#app#app .cp-kicker{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin-bottom:5px}
#app#app .cp-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:6px 0 22px}
#app#app .cp-title-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:8px;color:var(--muted);font-size:12px}
#app#app .cp-heading-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
#app#app .cp-readonly{font-size:12px;color:var(--muted);border:1px dashed var(--border);padding:8px 12px;border-radius:5px}
#app#app .cp-tag{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:4px;padding:3px 7px;font-size:11px;line-height:1.5;letter-spacing:.015em;color:var(--muted);white-space:nowrap}
#app#app .cp-tag .icon{width:13px;height:13px}
#app#app .cp-tag.confirmed{color:var(--success)}
#app#app .cp-tag.completed{color:var(--blue)}
#app#app .cp-tag.cancelled{color:var(--muted);border-style:dashed}
#app#app .cp-tag.warn{color:var(--warn)}
#app#app .cp-box{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-width:0}
#app#app .cp-box-head{padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border)}
#app#app .cp-box-head p{margin-top:4px;font-size:12px;color:var(--muted)}
#app#app .cp-note{color:var(--muted);font-size:12px;line-height:1.7}
#app#app .cp-empty{margin:0 20px 20px;padding:30px 20px;border:1px dashed var(--border);border-radius:5px;color:var(--muted);font-size:13px}
#app#app .cp-tour-icon{display:grid;place-items:center;flex:none;color:var(--warn)}
#app#app .cp-tour-icon.bus{color:var(--blue)}
#app#app .cp-tour-icon .icon{width:23px;height:23px}

#app#app .cp-customer-summary{display:flex;align-items:center;gap:30px;padding:0 0 22px;margin-bottom:24px;border-bottom:1px solid var(--border)}
#app#app .cp-customer-summary>p{color:var(--muted);font-size:13px;flex:1}
#app#app .cp-customer-summary dl{display:flex;align-items:center;gap:32px}
#app#app .cp-customer-summary dl>div{display:flex;align-items:baseline;gap:10px}
#app#app .cp-customer-summary dt{font-size:12px;color:var(--muted);letter-spacing:.01em;order:2}
#app#app .cp-customer-summary dd{font:500 21px/1.2 var(--mono);letter-spacing:-.02em}

#app#app .cp-desk{display:grid;grid-template-columns:290px minmax(0,1fr);gap:22px;align-items:start}
#app#app .cp-customer-rail,#app#app .cp-customer-main{min-width:0}
#app#app .cp-customer-main{display:grid;gap:20px}
#app#app .cp-customer-facts .cp-box-head{padding:16px 18px}
#app#app .cp-customer-facts h2{font-size:15px}
#app#app .cp-customer-facts .cp-fields{display:grid;grid-template-columns:1fr;gap:19px;padding:18px}
#app#app .cp-customer-facts .cp-fields dt{font-size:11px;letter-spacing:.02em;color:var(--muted);margin-bottom:5px}
#app#app .cp-customer-facts .cp-fields dd{font-size:13px;line-height:1.6;overflow-wrap:anywhere}
#app#app .cp-customer-tools{padding:0 18px 8px;border-top:1px solid var(--border)}
#app#app .cp-customer-tools .text-link{font-size:11px;min-height:44px;color:var(--muted)}
#app#app .cp-customer-tools .text-link:hover{color:var(--fg)}
#app#app .cp-customer-bookings{margin-top:23px}
#app#app .cp-customer-bookings>h2{font-size:14px;margin-bottom:12px}
#app#app .cp-customer-bookings>.cp-note{margin-top:10px}
#app#app .cp-customer-bookings>.cp-empty{margin:0}
#app#app .cp-bookings{display:grid;grid-template-columns:1fr;border:1px solid var(--border);border-radius:7px;background:var(--surface)}
#app#app .cp-booking{display:grid;grid-template-columns:28px minmax(0,1fr);gap:4px 10px;width:100%;min-height:44px;padding:14px;margin:0;border:0;border-radius:0;background:transparent;color:var(--fg);text-align:left;font:inherit;letter-spacing:0;cursor:pointer}
#app#app .cp-booking+.cp-booking{border-top:1px solid var(--border)}
#app#app .cp-booking:first-child{border-radius:6px 6px 0 0}
#app#app .cp-booking:last-child{border-radius:0 0 6px 6px}
#app#app .cp-booking:only-child{border-radius:6px}
#app#app .cp-booking[aria-pressed=true]{background:var(--raised);box-shadow:inset 0 0 0 1px var(--strong)}
#app#app .cp-booking:hover{box-shadow:inset 0 0 0 1px var(--fg)}
#app#app .cp-booking-top{grid-column:1;grid-row:1/4;align-self:start}
#app#app .cp-booking .cp-tour-icon{width:28px;height:28px}
#app#app .cp-booking strong{grid-column:2;font-size:12px;line-height:1.5;font-weight:600}
#app#app .cp-booking-meta{grid-column:2;font-size:11px;letter-spacing:.015em;color:var(--muted)}
#app#app .cp-booking-guide{display:flex;align-items:flex-start;gap:5px;min-width:0;overflow-wrap:anywhere}
#app#app .cp-booking-guide .icon{width:13px;height:13px;margin-top:1px}
#app#app .cp-booking-bottom{grid-column:2;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px;margin-top:5px}
#app#app .cp-booking-bottom .mono{font-size:10px;color:var(--muted)}
#app#app .cp-booking .cp-tag{font-size:10px}

#app#app .cp-booking-summary-head{padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid var(--border)}
#app#app .cp-booking-summary-head h2{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;font-size:16px}
#app#app .cp-booking-summary-head h2 .mono{color:var(--muted);font-weight:400}
#app#app .cp-booking-summary-head p{margin-top:4px;font-size:11px;color:var(--muted);letter-spacing:.015em}
#app#app .cp-booking-summary-fields{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:22px 28px;padding:20px}
#app#app .cp-booking-summary-fields>div{min-width:0}
#app#app .cp-booking-summary-fields dt{font-size:11px;letter-spacing:.02em;color:var(--muted);margin-bottom:7px}
#app#app .cp-booking-summary-fields dd{font-size:14px;line-height:1.6;overflow-wrap:anywhere}
#app#app .cp-booking-summary-fields .cp-summary-tour{display:flex;align-items:flex-start;gap:10px;font-weight:550}
#app#app .cp-summary-tour .cp-tour-icon{width:26px;height:26px}
#app#app .cp-booking-summary-fields .cp-summary-amount{font:500 23px/1.25 var(--mono);letter-spacing:-.02em}
#app#app .cp-booking-summary-fields .cp-summary-payment-state{font-size:11px;color:var(--muted);margin-top:5px}
#app#app .cp-summary-location{display:flex;align-items:flex-start;gap:6px 14px;flex-wrap:wrap}
#app#app .cp-summary-location>span{flex:1 1 160px;min-width:0;white-space:pre-line}
#app#app .cp-summary-location .text-link{font-size:12px;min-height:24px;flex:none}
#app#app .cp-summary-location .text-link .icon{width:15px;height:15px}
#app#app .cp-booking-reference-note{padding:0 20px 16px;color:var(--muted);font-size:11px;line-height:1.6}
#app#app .cp-booking-summary-footer{border-top:1px solid var(--border);padding:12px 20px 5px}
#app#app .cp-booking-summary-footer>p{font-size:11px;color:var(--muted);line-height:1.65;max-width:65ch}
#app#app .cp-booking-summary-footer>div{display:flex;gap:22px;flex-wrap:wrap;align-items:center}
#app#app .cp-booking-summary-footer .cp-portal-preview{gap:6px}#app#app .cp-booking-summary-footer .cp-portal-preview .icon{width:14px;height:14px}
#app#app .cp-booking-summary-footer .text-link{font-size:11px;min-height:44px}
#app#app .cp-booking-summary-footer .text-link .icon{width:14px;height:14px}

/* The live tour, guide and pickup record, set in the design's field style. */
#app#app .cp-booking-plan{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
#app#app .cp-booking-plan>.cv-sec{margin:0;padding:18px 20px;border:0;border-radius:0;background:none;box-shadow:none;min-width:0}
#app#app .cp-booking-plan>.cv-sec+.cv-sec{border-left:1px solid var(--border)}
#app#app .cp-booking-plan .cv-sec-title{margin:0 0 14px;padding:0;border:0;font-size:15px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--fg)}
#app#app .cp-booking-plan .cv-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 20px}
#app#app .cp-booking-plan .cv-field{display:grid;gap:5px;min-width:0}
#app#app .cp-booking-plan .cv-lbl{font-size:11px;letter-spacing:.02em;text-transform:none;font-weight:400;color:var(--muted)}
#app#app .cp-booking-plan .cv-val{font-size:13px;line-height:1.6;color:var(--fg);overflow-wrap:anywhere}
#app#app .cp-booking-plan :is(.ledger-secondary,.text-danger){margin-top:14px;font-size:11px;line-height:1.6;color:var(--muted)}
#app#app .cp-booking-plan .text-danger{color:var(--danger)}

#app#app .cp-history>.cp-box-head{border-bottom:0;padding-bottom:12px}
#app#app .cp-tabs{display:flex;gap:20px;flex-wrap:wrap;border-bottom:1px solid var(--border);padding:0 20px}
#app#app .cp-tab{margin:0;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--muted);padding:12px 0;min-height:48px;font:inherit;font-size:13px;cursor:pointer}
#app#app .cp-tab[aria-selected=true]{color:var(--fg);border-bottom-color:var(--fg);font-weight:600}
#app#app .cp-tab:hover{color:var(--fg)}
#app#app .cp-tab span{font:11px var(--mono);margin-left:5px;color:var(--muted)}
#app#app .cp-history-toolbar{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:10px 20px}
#app#app .cp-email-note{border:0;background:transparent;color:var(--muted);min-height:44px;padding:0;font:inherit;font-size:11px;display:inline-flex;align-items:center;gap:6px;cursor:pointer}
#app#app .cp-email-note:hover{color:var(--fg)}
#app#app .cp-email-note .icon{width:14px;height:14px}
#app#app .cp-message{padding:14px 20px;border-top:1px solid var(--border)}
#app#app .cp-message>summary{color:var(--fg);list-style:none;cursor:pointer;display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:9px;min-height:44px;align-items:start}
#app#app .cp-message>summary::-webkit-details-marker{display:none}
#app#app .cp-message-icon .icon{width:17px;height:17px;color:var(--muted);margin-top:3px}
#app#app .cp-message-title{display:block;font-size:13px;font-weight:550;line-height:1.6}
#app#app .cp-message-meta{display:flex;gap:8px;flex-wrap:wrap;font-size:11px;color:var(--muted);letter-spacing:.01em;margin-top:3px}
#app#app .cp-message.is-unsent .cv-message-outcome{color:var(--warn)}
#app#app .cp-message-date{font-size:11px;color:var(--muted);text-align:right;line-height:1.6;white-space:nowrap}
#app#app .cp-message-date .icon{display:block;width:15px;height:15px;margin:5px 0 0 auto}
#app#app .cp-message[open] .cp-message-date .icon{transform:rotate(180deg)}
#app#app .cp-message-body{margin:13px 0 0 33px;padding:0 0 2px}
#app#app .cp-message-body p{white-space:pre-wrap;font-size:14px;line-height:1.7;max-width:65ch}
#app#app .cp-message-body .text-link{color:var(--muted);font-size:11px;margin-top:9px}
#app#app .cp-message-body .text-link:hover{color:var(--fg)}
#app#app .cp-tab-panel>.cp-empty{margin-top:0}
#app#app .cp-activity{padding:16px 20px 15px}
#app#app .cp-event{position:relative;padding:12px 0 16px 28px;border-left:1px solid var(--border);margin-left:8px}
#app#app .cp-event:before{content:'';position:absolute;left:-4px;top:20px;width:7px;height:7px;border-radius:50%;background:var(--strong)}
#app#app .cp-event:last-child{padding-bottom:0;border-left-color:transparent}
#app#app .cp-event strong{font-size:13px;display:block;font-weight:600}
#app#app .cp-event p{font-size:12px;color:var(--muted);margin-top:4px;line-height:1.6}
#app#app .cp-event-time{font-size:11px;color:var(--muted)}
#app#app .cp-event.warn strong{color:var(--warn)}
#app#app .cp-event .text-link{font-size:11px}

@media(min-width:1600px){#app#app .cp-desk{grid-template-columns:310px minmax(0,1fr);gap:26px}}
@media(max-width:1220px){
  #app#app .cp-heading{align-items:flex-start}
  #app#app .cp-desk{grid-template-columns:255px minmax(0,1fr);gap:18px}
  #app#app .cp-customer-summary dl{gap:20px}
  #app#app .cp-customer-summary dl>div{display:grid;gap:5px}
  #app#app .cp-message>summary{grid-template-columns:20px minmax(0,1fr)}
  #app#app .cp-message-date{grid-column:2;display:flex;gap:8px;text-align:left}
  #app#app .cp-message-date .icon{margin:0 0 0 auto}
  #app#app .cp-booking-plan{grid-template-columns:1fr}
  #app#app .cp-booking-plan>.cv-sec+.cv-sec{border-left:0;border-top:1px solid var(--border)}
}
@media(max-width:760px){
  #app#app .cp{padding:0 16px 24px}
  #app#app .cp-heading{flex-wrap:wrap;margin-bottom:20px}
  #app#app .cp-heading-actions{width:100%}
  #app#app .cp-heading-actions .btn-primary{margin-right:auto}
  #app#app .cp-desk{grid-template-columns:1fr;gap:22px}
  #app#app .cp-customer-summary{gap:15px;flex-wrap:wrap;margin-bottom:20px;padding-bottom:20px}
  #app#app .cp-customer-summary>p{flex-basis:100%}
  #app#app .cp-customer-summary dl{width:100%;justify-content:space-between;gap:18px}
  #app#app .cp-customer-summary dl>div{display:grid;gap:5px;flex:1;min-width:0}
  #app#app .cp-customer-summary dt{font-size:11px}
  #app#app .cp-customer-facts .cp-fields{grid-template-columns:1fr 1fr;gap:16px}
  #app#app .cp-customer-bookings{margin-top:18px}
  #app#app .cp-bookings{grid-template-columns:repeat(3,minmax(0,1fr))}
  #app#app .cp-booking{grid-template-columns:1fr;padding:12px;gap:4px}
  #app#app .cp-booking+.cp-booking{border-top:0;border-left:1px solid var(--border)}
  #app#app .cp-booking:nth-child(3n+1){border-left:0}
  #app#app .cp-booking:nth-child(n+4){border-top:1px solid var(--border)}
  #app#app .cp-booking:is(:first-child,:last-child,:only-child){border-radius:0}
  #app#app .cp-booking-top,#app#app .cp-booking strong,#app#app .cp-booking-meta,#app#app .cp-booking-bottom{grid-row:auto;grid-column:1}
  #app#app .cp-booking-bottom .mono{display:none}
}
@media(max-width:480px){
  #app#app .cp h1{font-size:28px}
  #app#app .cp-heading-actions{gap:8px}
  #app#app .cp-heading-actions .btn{font-size:12px;padding:8px 11px}
  #app#app .cp-customer-summary dd{font-size:20px}
  #app#app .cp-customer-facts .cp-fields{grid-template-columns:1fr}
  #app#app .cp-bookings{grid-template-columns:1fr}
  #app#app .cp-booking{grid-template-columns:28px minmax(0,1fr) auto;gap:3px 9px}
  #app#app .cp-booking+.cp-booking,#app#app .cp-booking:nth-child(n){border-left:0;border-top:1px solid var(--border)}
  #app#app .cp-booking:first-child{border-top:0}
  #app#app .cp-booking-top{grid-column:1;grid-row:1/4}
  #app#app .cp-booking strong,#app#app .cp-booking-meta{grid-column:2}
  #app#app .cp-booking-bottom{grid-column:3;grid-row:1/4;margin:0;align-self:center}
  #app#app .cp-booking-summary-head{padding:16px;align-items:flex-start;flex-wrap:wrap}
  #app#app .cp-booking-summary-fields{padding:16px;gap:20px 16px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
  #app#app .cp-booking-summary-fields dd{font-size:13px}
  #app#app .cp-booking-summary-fields .cp-summary-tour{gap:6px}
  #app#app .cp-summary-tour .cp-tour-icon{display:none}
  #app#app .cp-booking-summary-fields .cp-summary-amount{font-size:18px}
  #app#app .cp-booking-summary-footer{padding:12px 16px 5px}
  #app#app .cp-booking-summary-footer>div{gap:16px}
  #app#app .cp-booking-reference-note{padding-left:16px;padding-right:16px}
  #app#app .cp-booking-plan>.cv-sec{padding:16px}
  #app#app .cp-booking-plan .cv-grid{grid-template-columns:1fr}
  #app#app .cp-tabs{gap:19px;padding:0 18px}
  #app#app .cp-message{padding:14px 18px}
  #app#app .cp-message-body{margin-left:0}
}

/* The desk's dialog (on <body>). */
dialog#customer-desk-dialog{width:min(660px,calc(100% - 32px));max-height:90dvh;margin:auto;padding:0;border:1px solid var(--strong);border-radius:10px;background:var(--surface);color:var(--fg);font:14px/1.5 var(--font);overflow:auto;box-shadow:0 20px 80px oklch(0 0 0 / .3)}
dialog#customer-desk-dialog::backdrop{background:oklch(0 0 0 / .5)}
dialog#customer-desk-dialog :where(h2,h3,p,ul){margin:0;padding:0}
dialog#customer-desk-dialog ul{list-style:none}
dialog#customer-desk-dialog .icon{display:inline-block;width:16px;height:16px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round;flex:none;vertical-align:middle}
dialog#customer-desk-dialog .dialog-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 12px 12px 22px;border-bottom:1px solid var(--border);background:var(--surface)}
dialog#customer-desk-dialog .dialog-head h2{font-size:20px;line-height:1.3;font-weight:600;letter-spacing:-.01em}
dialog#customer-desk-dialog .dialog-body{display:grid;gap:17px;padding:20px 22px 22px}
dialog#customer-desk-dialog p{font-size:13px;line-height:1.65;max-width:65ch}
dialog#customer-desk-dialog .cp-note{color:var(--muted);font-size:12px;line-height:1.7}
dialog#customer-desk-dialog .cp-empty{padding:24px 20px;border:1px dashed var(--border);border-radius:5px;color:var(--muted)}
dialog#customer-desk-dialog .btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:8px 14px;border:1px solid var(--strong);border-radius:7px;background:var(--surface);color:var(--fg);font:inherit;font-size:13px;font-weight:550;letter-spacing:.02em;text-decoration:none;cursor:pointer}
dialog#customer-desk-dialog .btn:hover:not(:disabled){border-color:var(--fg);box-shadow:0 0 0 1px var(--fg)}
dialog#customer-desk-dialog .btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
dialog#customer-desk-dialog .btn:disabled{opacity:.55;cursor:not-allowed}
dialog#customer-desk-dialog .btn:focus-visible,dialog#customer-desk-dialog :is(input,textarea,summary):focus-visible{outline:3px solid var(--accent);outline-offset:3px}
dialog#customer-desk-dialog .cp-dialog-close{min-width:44px;min-height:44px;padding:0;border-color:transparent}
dialog#customer-desk-dialog .cv-sec{margin:0;padding:0;border:0;background:none;box-shadow:none;display:grid;gap:12px}
dialog#customer-desk-dialog .cv-sec h2{font-size:15px;font-weight:600}
dialog#customer-desk-dialog .cv-sec-title{font-size:15px;font-weight:600;color:var(--fg);text-transform:none;letter-spacing:0}
dialog#customer-desk-dialog .cv-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 22px}
dialog#customer-desk-dialog .cv-field{display:grid;gap:5px;min-width:0}
dialog#customer-desk-dialog .cv-lbl{font-size:11px;font-weight:400;letter-spacing:.02em;text-transform:none;color:var(--muted)}
dialog#customer-desk-dialog .cv-val{font-size:13px;line-height:1.6;overflow-wrap:anywhere}
dialog#customer-desk-dialog details{border-top:1px solid var(--border);padding-top:6px}
dialog#customer-desk-dialog details>summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-size:13px;font-weight:550}
dialog#customer-desk-dialog details>summary::-webkit-details-marker{display:none}
dialog#customer-desk-dialog details>summary::after{content:'';width:7px;height:7px;margin:0 4px 3px auto;border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);transform:rotate(45deg)}
dialog#customer-desk-dialog details[open]>summary{margin-bottom:10px}
dialog#customer-desk-dialog details[open]>summary::after{margin-bottom:-3px;transform:rotate(-135deg)}
dialog#customer-desk-dialog form{display:grid;gap:16px}
dialog#customer-desk-dialog .form-row{display:grid;gap:6px;margin:0}
dialog#customer-desk-dialog label{font-size:12px;font-weight:400;text-transform:none;letter-spacing:0;color:var(--muted);line-height:1.6}
dialog#customer-desk-dialog :is(input:not([type=checkbox]),textarea){width:100%;padding:10px 11px;border:1px solid var(--strong);border-radius:6px;background:var(--surface);color:var(--fg);font:14px/1.6 var(--font)}
dialog#customer-desk-dialog textarea{min-height:110px;resize:vertical}
dialog#customer-desk-dialog input[type=checkbox]{width:18px;height:18px;margin:0 8px 0 0;vertical-align:-3px;accent-color:var(--accent)}
dialog#customer-desk-dialog .text-danger{color:var(--danger)}
dialog#customer-desk-dialog .cp-form-actions,dialog#customer-desk-dialog .cr-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;padding-top:4px}
dialog#customer-desk-dialog .cr-actions>*{flex:0 1 auto}
dialog#customer-desk-dialog .cl-sec{display:grid;gap:10px;border-top:1px solid var(--border);padding-top:16px}
dialog#customer-desk-dialog .cl-sec .button{display:inline-flex;align-items:center;min-height:40px;padding:8px 14px;border:1px solid var(--strong);border-radius:7px;background:var(--surface);color:var(--fg);font:inherit;font-size:13px;cursor:pointer}
dialog#customer-desk-dialog .cp-matches{display:grid;gap:10px}
dialog#customer-desk-dialog .cp-matches li{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
@media(max-width:480px){
  dialog#customer-desk-dialog .dialog-head{padding:10px 10px 10px 18px}
  dialog#customer-desk-dialog .dialog-body{padding:18px}
  dialog#customer-desk-dialog .cv-grid{grid-template-columns:1fr}
}

#app#app .ex-page{padding:0 var(--s5) 32px;max-width:1500px;margin:0 auto;--ex-bus:var(--blue);--ex-van:var(--warn)}
#app#app .ex-page,#app#app .ex-page *{box-sizing:border-box}
#app#app .ex-page .icon{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
#app#app .ex-page h2,#app#app .ex-page h3{font-family:var(--font);font-weight:600;color:var(--fg);margin:0;text-wrap:balance}
#app#app .ex-page h3{font-size:15px;line-height:1.4}
#app#app .ex-page button:focus-visible,#app#app .ex-page input:focus-visible,#app#app .ex-page select:focus-visible,#app#app .ex-page summary:focus-visible{outline:2px solid var(--fg);outline-offset:3px}

/* Title and actions */
#app#app .ex-page .ex-head{display:flex;align-items:center;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;padding:28px 0 22px}
#app#app .ex-page .ex-head h1{margin:0;font:600 32px/1.15 var(--font);letter-spacing:-.02em;color:var(--fg)}
#app#app .ex-page .ex-head p{margin:8px 0 0;color:var(--muted);font-size:14px;line-height:1.45;max-width:65ch}
#app#app .ex-page .ex-head .ex-actions{margin:0}
#app#app .ex-page .ex-head .ex-actions .btn{min-height:44px;padding-left:16px;padding-right:16px}
#app#app .ex-page .ex-row-status{color:var(--muted)}

/* Categories */
#app#app .ex-page .ex-bar{display:flex;align-items:flex-end;justify-content:space-between;gap:12px 20px;flex-wrap:wrap;border-bottom:1px solid var(--border);margin-bottom:20px}
#app#app .ex-page .ex-categories{display:flex;gap:24px;flex-wrap:wrap}
#app#app .ex-page .ex-category{display:flex;align-items:center;justify-content:center;gap:9px;min-height:49px;margin:0 0 -1px;border:0;border-bottom:2px solid transparent;border-radius:0;padding:0 2px 9px;background:transparent;color:var(--muted);font:400 14px/1.4 var(--font);cursor:pointer}
#app#app .ex-page .ex-category:hover{color:var(--fg);border-bottom-color:var(--strong);background:transparent}
#app#app .ex-page .ex-category[aria-pressed=true]{color:var(--fg);border-bottom-color:var(--fg);background:transparent;box-shadow:none}
#app#app .ex-page .ex-count{font:400 11px/1.5 var(--mono);letter-spacing:.02em;border:1px solid var(--border);border-radius:4px;min-width:24px;padding:1px 5px;text-align:center;color:var(--muted)}
#app#app .ex-page .ex-category[aria-pressed=true] .ex-count{border-color:var(--strong);color:var(--fg)}
#app#app .ex-page .ex-category-symbol{display:inline-flex;align-items:center;justify-content:center;flex:none;color:var(--fg)}
#app#app .ex-page .ex-actions{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:10px}
#app#app .ex-page .ex-actions .btn{display:inline-flex;align-items:center;gap:8px;min-height:40px}

#app#app .ex-page>.mg-form-panel{margin:0 0 18px}

/* Search */
#app#app .ex-page .ex-toolbar{display:flex;align-items:flex-end;gap:12px;margin-bottom:18px;flex-wrap:wrap}
#app#app .ex-page .ex-find{display:flex;flex-direction:column;gap:6px;min-width:0}
#app#app .ex-page .ex-find label{font-size:12px;letter-spacing:.01em;color:var(--muted)}
#app#app .ex-page .ex-find select{min-width:170px}
#app#app .ex-page .ex-search{position:relative;width:320px;max-width:100%;margin:0}
#app#app .ex-page .ex-search .icon{position:absolute;top:50%;left:13px;transform:translateY(-50%);color:var(--muted);pointer-events:none}
#app#app .ex-page .ex-search input{width:100%;min-height:44px;padding:9px 12px 9px 40px;border:1px solid var(--strong);border-radius:5px;background:var(--bg);color:var(--fg);font:14px/1.4 var(--font)}
#app#app .ex-page .ex-search input::placeholder{color:var(--muted);opacity:1}
#app#app .ex-page .ex-result-count{margin-left:auto;padding-bottom:12px;color:var(--muted);font-size:12px}
#app#app .ex-page .ex-empty{padding:22px;margin:0;border:1px dashed var(--strong);border-radius:var(--radius);color:var(--muted);font-size:13px;text-align:center}
#app#app .ex-page .ex-empty p{margin:0 0 12px}
#app#app .ex-page .ex-empty .btn{min-height:40px}

/* Index beside the workspace */
#app#app .ex-page .ex-split{display:grid;grid-template-columns:258px minmax(0,1fr);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);align-items:stretch;min-height:590px}
#app#app .ex-page .ex-index{border-right:1px solid var(--border);padding:17px 10px;min-width:0}
#app#app .ex-page .ex-index-group+.ex-index-group{margin-top:17px}
#app#app .ex-page .ex-index-heading{display:flex;align-items:center;gap:9px;padding:7px 10px;margin:0 0 5px;font:550 11px/1.5 var(--font);letter-spacing:.02em;color:var(--muted);cursor:pointer;list-style:none}
#app#app .ex-page .ex-index-heading::-webkit-details-marker{display:none}
#app#app .ex-page .ex-index-heading .ex-count{margin-left:auto}
#app#app .ex-page .ex-index-heading .ex-category-symbol{color:var(--muted)}
#app#app .ex-page .ex-index-heading .icon{width:16px;height:16px}
#app#app .ex-page .ex-index-row{width:100%;min-height:68px;display:grid;grid-template-columns:36px minmax(0,1fr) 28px;grid-template-areas:"logo copy fmt";gap:9px;align-items:center;text-align:left;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--fg);padding:11px 10px;min-width:0;cursor:pointer;font:inherit;margin:0}
#app#app .ex-page .ex-index-row .ex-owner-symbol{grid-area:logo}
#app#app .ex-page .ex-index-row .ex-index-copy{grid-area:copy}
#app#app .ex-page .ex-index-row .ex-format-symbol{grid-area:fmt}
#app#app .ex-page .ex-index-row:hover{border-color:var(--strong);background:transparent}
#app#app .ex-page .ex-index-row[aria-pressed=true]{border-color:var(--strong);background:var(--raised);box-shadow:none}
#app#app .ex-page .ex-index-copy{min-width:0}
#app#app .ex-page .ex-index-row strong{display:block;font-size:13px;line-height:1.5;font-weight:550;overflow-wrap:anywhere}
#app#app .ex-page .ex-index-row small{display:flex;gap:4px 10px;flex-wrap:wrap;margin-top:5px;color:var(--muted);font-size:11px}
#app#app .ex-page .ex-owner-symbol{display:flex;align-items:center;justify-content:center;width:36px;min-height:40px;flex:none}
#app#app .ex-page .ex-owner-logo{display:block;width:32px;height:auto;object-fit:contain}
#app#app .ex-page .ex-format-symbol{display:grid;place-items:center;width:28px;height:32px;flex:none;color:var(--muted)}
#app#app .ex-page .ex-format-symbol[data-format=bus]{color:var(--ex-bus)}
#app#app .ex-page .ex-format-symbol[data-format=small]{color:var(--ex-van)}
#app#app .ex-page .ex-format-symbol .icon{width:22px;height:22px}

/* Workspace */
#app#app .ex-page .ex-pane{min-width:0}
#app#app .ex-page .ex-pane-head{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:14px;padding:21px 23px;border-bottom:1px solid var(--border)}
#app#app .ex-page .ex-pane-id{display:flex;align-items:flex-start;gap:12px;min-width:0;flex:1}
#app#app .ex-page .ex-pane-id>.ex-owner-symbol{width:44px;min-height:48px}
#app#app .ex-page .ex-pane-id>.ex-owner-symbol .ex-owner-logo{width:42px}
#app#app .ex-page .ex-title-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
#app#app .ex-page .ex-title-line .ex-format-symbol{width:24px}
#app#app .ex-page .ex-title-line .ex-format-symbol .icon{width:24px;height:24px}
#app#app .ex-page .ex-pane-category{display:flex;align-items:center;gap:7px;margin:6px 0 0;font-size:12px;color:var(--muted)}
#app#app .ex-page .ex-pane-category .ex-category-symbol{color:var(--muted)}
#app#app .ex-page .ex-pane-category .icon{width:17px;height:17px}
#app#app .ex-page .ex-pane-name{min-width:0}
#app#app .ex-page .ex-pane-name h2{font-size:20px;line-height:1.35;letter-spacing:-.01em;overflow-wrap:anywhere}
#app#app .ex-page .ex-facts{display:flex;gap:9px;flex-wrap:wrap;margin-top:10px}
#app#app .ex-page .ex-facts span{font-size:11px;letter-spacing:.01em;line-height:1.5;color:var(--fg);background:var(--bg);border:1px solid var(--border);padding:3px 8px;border-radius:4px}
#app#app .ex-page .ex-badge{display:inline-flex;gap:6px;align-items:center;font-size:11px;letter-spacing:.02em;border:1px solid var(--border);border-radius:4px;padding:3px 7px;color:var(--fg)}
#app#app .ex-page .ex-badge::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--fg)}
#app#app .ex-page .ex-badge.draft{color:var(--muted)}
#app#app .ex-page .ex-badge.draft::before{background:transparent;border:1px solid currentColor}
#app#app .ex-page .ex-identity-meta{display:flex;align-items:center;gap:6px 16px;flex-wrap:wrap;margin-top:6px}
#app#app .ex-page .ex-identity-meta .ex-pane-category{margin:0}
#app#app .ex-page .ex-identity-edit{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;max-width:100%;padding:7px 10px;border:1px solid var(--strong);border-radius:5px;background:transparent;color:var(--fg);font-size:12px;line-height:1.5;text-align:left;cursor:pointer}
#app#app .ex-page .ex-identity-edit:hover{border-color:var(--fg)}
#app#app .ex-page .ex-identity-edit .icon{width:16px;height:16px;flex:none}
#app#app .ex-page .ex-partner-owner{color:var(--muted)}
#app#app .ex-page .ex-partner-owner .icon{width:25px;height:25px;stroke-linecap:round;stroke-linejoin:round}
#app#app .ex-page .ex-back{display:none;align-items:center;gap:8px;min-height:44px;padding:0 4px;border:0;background:transparent;color:var(--fg);font:12px/1.4 var(--font);cursor:pointer;flex-basis:100%}
#app#app .ex-page .ex-section-nav{display:flex;flex-wrap:wrap;gap:5px;padding:8px 18px;border-bottom:1px solid var(--border)}
#app#app .ex-page .ex-section-button,#app#app .ex-page .ex-view-tab{min-height:44px;padding:9px 12px;margin:0;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--fg);font:400 12px/1.4 var(--font);cursor:pointer}
#app#app .ex-page .ex-section-button:hover,#app#app .ex-page .ex-view-tab:hover{border-color:var(--strong);background:transparent}
#app#app .ex-page .ex-section-button[aria-pressed=true]{border-color:var(--strong);background:var(--raised);box-shadow:none}
#app#app .ex-page .ex-section-content{padding:23px;min-height:405px;min-width:0}
#app#app .ex-page .ex-section-content[hidden],#app#app .ex-page [data-ex-pricing-panel][hidden]{display:none}
#app#app .ex-page .ex-view-tabs{display:flex;gap:5px;flex-wrap:wrap;padding-bottom:12px;margin-bottom:20px;border-bottom:1px solid var(--border)}
#app#app .ex-page .ex-view-tab[aria-pressed=true]{background:var(--bg);border-color:var(--strong);box-shadow:none}

/* Blocks inside a section: flat, divided by rules, in the design's type */
#app#app .ex-page .ex-section-content .mg-offer{border:0;padding:0;margin:0 0 26px;background:none}
#app#app .ex-page .ex-section-content .mg-offer+.mg-offer{border-top:1px solid var(--border);padding-top:22px}
#app#app .ex-page .mg-form-title{font:550 14px/1.5 var(--font);text-transform:none;letter-spacing:0;color:var(--fg);margin:0 0 12px}
#app#app .ex-page .mg-form-panel{background:var(--bg);border:1px solid var(--border);border-radius:7px;padding:16px;margin-top:12px}
#app#app .ex-page .mg-form-panel h2{font-size:16px;margin-bottom:12px}
#app#app .ex-page [data-ledger-pricing-form]>fieldset.mg-form-panel{background:none;border:0;border-bottom:1px solid var(--border);border-radius:0;padding:16px 0;margin:0 0 12px}
#app#app .ex-page .mg-form-hint,#app#app .ex-page .mg-schedule-notice{font-size:12px;font-weight:400;line-height:1.5;color:var(--muted);margin:6px 0}
#app#app .ex-page .mg-mappings-wrap>.mg-form-hint{margin:0;padding:10px 12px}
#app#app .ex-page .mg-form-error{font-size:12px;color:var(--danger)}
#app#app .ex-page .mg-form-row{margin:0 0 12px;gap:7px;color:var(--fg);font-size:12px;font-weight:550}
#app#app .ex-page .mg-form-input,#app#app .ex-page .mg-form-select,#app#app .ex-page .ex-section-content input:not([type=checkbox]):not([type=radio]):not([type=file]),#app#app .ex-page .ex-section-content select{min-height:44px;border:1px solid var(--strong);border-radius:5px;background:var(--bg);color:var(--fg);padding:9px 12px;font:14px/1.4 var(--font);color-scheme:dark}
html.theme-light #app#app .ex-page .mg-form-input,html.theme-light #app#app .ex-page .mg-form-select,html.theme-light #app#app .ex-page .ex-section-content input:not([type=checkbox]):not([type=radio]):not([type=file]),html.theme-light #app#app .ex-page .ex-section-content select{color-scheme:light}
#app#app .ex-page .mg-btn,#app#app .ex-page .ex-section-content .btn{min-height:40px}
#app#app .ex-page .mg-form-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}
/* Details: the design's always-open section with its save bar. */
#app#app .ex-page .ex-details{margin:0 0 26px}
#app#app .ex-page .ex-section-heading{margin-bottom:23px}
#app#app .ex-page .ex-section-heading h3{font-size:16px}
#app#app .ex-page .ex-section-heading p{font-size:12px;color:var(--muted);margin:5px 0 0}
#app#app .ex-page .ex-fieldset{padding:0;margin:0;border:0;min-width:0}
#app#app .ex-page .ex-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 20px;min-width:0}
#app#app .ex-page .ex-field{min-width:0;display:flex;flex-direction:column;gap:7px}
#app#app .ex-page .ex-field.wide,#app#app .ex-page .ex-wide{grid-column:1/-1}
#app#app .ex-page .ex-field label{font-size:12px;letter-spacing:.02em;font-weight:550;color:var(--fg)}
#app#app .ex-page .ex-field small{font-size:12px;line-height:1.6;color:var(--muted)}
#app#app .ex-page .ex-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px}
#app#app .ex-page .ex-check{min-height:44px;display:flex;align-items:center;gap:9px;font-size:13px;font-weight:400;color:var(--fg);cursor:pointer}
#app#app .ex-page .ex-check input{width:17px;height:17px;min-height:0;margin:0;flex:none;accent-color:var(--fg)}
#app#app .ex-page .ex-fieldset legend{padding:0;margin-bottom:9px;font-size:12px;letter-spacing:.02em;font-weight:550;color:var(--fg)}
#app#app .ex-page .ex-help{margin:0;font-size:12px;line-height:1.6;color:var(--muted)}
#app#app .ex-page .ex-time-list{display:flex;flex-wrap:wrap;gap:9px;border:1px solid transparent;border-radius:5px;margin-bottom:9px}
#app#app .ex-page .ex-time{display:flex;align-items:center;gap:4px;max-width:100%}
#app#app .ex-page .ex-time input{width:140px!important}
#app#app .ex-page .ex-time button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;border:1px solid var(--strong);border-radius:5px;background:var(--bg);color:var(--fg);cursor:pointer}
#app#app .ex-page .ex-time-label{min-width:38px;font-size:12px;color:var(--muted)}
#app#app .ex-page .ex-days{display:flex;gap:6px;flex-wrap:wrap;border:1px solid transparent;border-radius:5px}
#app#app .ex-page .ex-day{min-height:44px;min-width:44px;border:1px solid var(--strong);border-radius:5px;color:var(--muted);background:var(--bg);padding:8px;font-size:12px;cursor:pointer}
#app#app .ex-page .ex-day[aria-pressed=true]{color:var(--fg);background:var(--raised);box-shadow:inset 0 -2px var(--fg)}
#app#app .ex-page .ex-day:hover:not(:disabled){border-color:var(--fg);color:var(--fg)}
#app#app .ex-page .ex-day:disabled{cursor:default;opacity:.6}
#app#app .ex-page .ex-exception{display:grid;grid-template-columns:minmax(140px,1fr) 100px 44px;gap:10px;margin:10px 0;align-items:end}
#app#app .ex-page .ex-exception>button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;border:1px solid var(--strong);border-radius:5px;background:var(--bg);color:var(--fg);cursor:pointer}
#app#app .ex-page .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#app#app .ex-page .ex-disclosure{border-top:1px solid var(--border);margin-top:4px;padding-top:8px}
#app#app .ex-page .ex-disclosure>summary{padding:8px 0;min-height:44px;color:var(--fg);font-size:13px;font-weight:550;cursor:pointer}
#app#app .ex-page .ex-photos{border-top:0;margin-top:0;padding-top:0}
#app#app .ex-page .ex-periods{margin:4px 0 12px;padding-left:18px;font-size:13px;line-height:1.7;color:var(--fg)}
#app#app .ex-page .ex-channels{margin-bottom:20px}
#app#app .ex-page .ex-channel{display:grid;grid-template-columns:145px minmax(0,1fr);gap:20px;padding:19px 0;border-top:1px solid var(--border)}
#app#app .ex-page .ex-channel:first-child{border-top:0;padding-top:0}
#app#app .ex-page .ex-channel-title{font-weight:550;font-size:14px;color:var(--fg)}
#app#app .ex-page .ex-channel-title small{display:block;margin-top:5px;font-size:11px;color:var(--muted);font-weight:400}
#app#app .ex-page .ex-channel-body{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:12px}
#app#app .ex-page .ex-channel-body .xp-link-ids{list-style:none;margin:0;padding:0;display:grid;gap:12px;width:100%;font-size:13px}
#app#app .ex-page .ex-channel-body .xp-link-ids small{display:block;margin-top:4px;font-size:12px;color:var(--muted)}
#app#app .ex-page .ex-link-form{width:100%;display:grid;gap:16px}
#app#app .ex-page .ex-channel-limits{margin-top:14px}
#app#app .ex-page .ex-channel-more{margin-top:18px}
#app#app .ex-page .ex-help.ex-beside{padding-top:26px}
#app#app .ex-page .ex-section-content>.ex-details:last-child{margin-bottom:-23px}
#app#app .ex-page .ex-section-content>.ex-details:last-child>.ex-form-footer:last-child{border-bottom:0}
#app#app .ex-page .ex-section-content .ex-field input[readonly]:not([type=checkbox]):not([type=radio]):not([type=file]){border-color:var(--border);color:var(--muted)}
#app#app .ex-page .ex-note{padding:13px 15px;border:1px solid var(--border);border-radius:5px;background:var(--bg);font-size:12px;color:var(--muted);line-height:1.6;margin:0}
#app#app .ex-page .ex-details .mg-form-error,#app#app .ex-page .ex-details .inv-success{margin:16px 0 0}
#app#app .ex-page .ex-form-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;margin:26px -23px 0;padding:16px 23px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
#app#app .ex-page .ex-save-state{font-size:12px;color:var(--muted);max-width:42ch}
#app#app .ex-page .ex-save-state.is-dirty{color:var(--fg)}
#app#app .ex-page .ex-form-actions{display:flex;gap:9px;margin-left:auto}
#app#app .ex-page .ex-form-actions .btn{min-height:44px}
#app#app .ex-page .btn{font-size:14px;font-weight:400}
#app#app .ex-page .mg-advanced{border-top:1px solid var(--border);margin-top:6px;padding-top:8px}
#app#app .ex-page .mg-advanced>summary{padding:8px 0;min-height:44px;color:var(--fg);font-size:13px;font-weight:550;cursor:pointer}
#app#app .ex-page .mg-mappings-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:7px;background:var(--bg)}
#app#app .ex-page .mg-mappings-table{background:transparent;border:0;border-radius:0;font-size:12px}
#app#app .ex-page .mg-mappings-table thead{background:transparent}
#app#app .ex-page .ledger-photo-input{width:100%;padding:9px 12px;border:1px dashed var(--strong);border-radius:5px;background:var(--bg);color:var(--fg);font:13px/1.4 var(--font)}
#app#app .ex-page .mg-mappings-table th{background:transparent;color:var(--muted);font-weight:550;text-transform:none;letter-spacing:.01em;font-size:11px;border-bottom:1px solid var(--border)}
#app#app .ex-page .mg-mappings-table td{background:transparent;border-bottom:1px solid var(--border)}
#app#app .ex-page .ledger-photo-preview{max-width:320px;border:1px solid var(--border);border-radius:7px;overflow:hidden;background:var(--bg)}
#app#app .ex-page .ledger-photo-preview img,#app#app .ex-page .ledger-photo-preview svg{display:block;width:100%;height:auto}

/* Price calendar: the design's calendar and day inspector on the live month data */
#app#app .ex-page .price-cal-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:13px;flex-wrap:wrap;margin-bottom:20px}
#app#app .ex-page .price-cal-title{margin:0;font:550 14px/1.5 var(--font);color:var(--fg)}
#app#app .ex-page .price-cal-intro p{margin:4px 0 0;font-size:12px;color:var(--muted)}
#app#app .ex-page .price-cal-mode{font-size:11px;letter-spacing:.01em;border:1px solid var(--strong);padding:5px 8px;border-radius:4px;color:var(--fg)}
#app#app .ex-page .price-cal-head{display:flex;align-items:center;justify-content:space-between;gap:14px 16px;flex-wrap:wrap;margin-bottom:15px}
#app#app .ex-page .price-cal-nav{display:flex;align-items:center;gap:10px}
#app#app .ex-page .price-cal-nav strong{min-width:122px;text-align:center;font-size:14px;font-weight:550}
#app#app .ex-page .price-cal-nav .mg-btn{width:44px;min-width:44px;min-height:44px;padding:0;font-size:19px}
#app#app .ex-page .price-cal-jump{display:flex;align-items:center;gap:9px;min-width:0}
#app#app .ex-page .price-cal-jump label,#app#app .ex-page .price-cal-departure label{font-size:11px;color:var(--muted);letter-spacing:.01em}
#app#app .ex-page .price-cal-jump input{width:155px;max-width:100%;font-size:12px}
#app#app .ex-page .price-cal-weekdays,#app#app .ex-page .price-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
#app#app .ex-page .price-cal-weekday{padding:0 5px 8px;color:var(--muted);font-size:11px;letter-spacing:.01em;text-align:center}
#app#app .ex-page .price-cal-grid{padding:5px;border:1px solid var(--border);border-radius:7px;background:var(--bg);margin-bottom:12px}
#app#app .ex-page .price-cal-day{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;min-height:74px;margin:0;padding:8px 6px;background:var(--surface);border:1px solid transparent;border-radius:4px;color:var(--fg);font:inherit;text-align:left;cursor:pointer}
#app#app .ex-page .price-cal-day:hover{border-color:var(--fg);background:var(--bg)}
#app#app .ex-page .price-cal-day[aria-pressed=true]{background:var(--surface);border-color:var(--fg);box-shadow:inset 0 0 0 1px var(--fg)}
#app#app .ex-page .price-cal-day[aria-current=date] .price-cal-date b{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:2px}
#app#app .ex-page .price-cal-day.is-empty{background:transparent;color:var(--muted)}
#app#app .ex-page .price-cal-day.is-empty[aria-pressed=true]{color:var(--fg)}
#app#app .ex-page .price-cal-date b{font:400 11px/1.5 var(--mono);letter-spacing:.01em}
#app#app .ex-page .price-cal-date small{display:none}
#app#app .ex-page .price-cal-slot{display:flex;flex-direction:column;align-items:center;gap:1px;align-self:center}
#app#app .ex-page .price-cal-slot+.price-cal-slot{margin-top:4px}
#app#app .ex-page .price-cal-slot b{font:550 12px/1.4 var(--mono);letter-spacing:-.01em}
#app#app .ex-page .price-cal-slot small{font:400 11px/1.4 var(--mono);color:var(--muted)}
#app#app .ex-page .price-cal-none{align-self:center;font:12px/1.4 var(--font)}
#app#app .ex-page .price-cal-next{font:550 11px/1.4 var(--mono);font-style:normal}
#app#app .ex-page .price-cal-next.up{color:var(--success)}
#app#app .ex-page .price-cal-next.down{color:var(--warn)}
#app#app .ex-page .ex-cal-key{display:flex;gap:8px 18px;flex-wrap:wrap;align-items:center;padding:2px 0 14px;font-size:11px;color:var(--muted)}
#app#app .ex-page .ex-cal-key span{display:flex;align-items:center;gap:6px}
#app#app .ex-page .ex-cal-key span:last-child{margin-left:auto}
#app#app .ex-page .ex-cal-key i{width:10px;height:10px;background:var(--surface);border:1px solid var(--fg);border-radius:2px}
#app#app .ex-page .ex-cal-key b{font:550 11px var(--mono);color:var(--fg)}
#app#app .ex-page .price-cal-inspector{border:1px solid var(--border);border-radius:7px;background:var(--bg);padding:20px;margin-top:8px}
#app#app .ex-page .price-cal-inspector h4{margin:0;font:550 14px/1.5 var(--font);color:var(--fg)}
#app#app .ex-page .price-cal-inspector>header{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
#app#app .ex-page .price-cal-inspector>header p{margin:4px 0 0;font-size:12px;color:var(--muted)}
#app#app .ex-page .price-cal-time{font:400 11px/1.5 var(--mono);color:var(--muted)}
#app#app .ex-page .price-cal-departure{display:flex;align-items:center;gap:9px;min-width:0}
#app#app .ex-page .price-cal-departure select{width:auto;max-width:100%;font-size:12px}
#app#app .ex-page .price-cal-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:20px 0;padding-bottom:20px;border-bottom:1px solid var(--border)}
#app#app .ex-page .price-cal-compare>div{min-width:0}
#app#app .ex-page .price-cal-compare span{display:block;font-size:11px;letter-spacing:.01em;color:var(--muted)}
#app#app .ex-page .price-cal-compare strong{display:block;font-size:24px;font-weight:550;letter-spacing:-.02em;line-height:1.3;margin:6px 0;overflow-wrap:anywhere}
#app#app .ex-page .price-cal-compare strong.price-cal-unavailable{font-size:17px;letter-spacing:0;margin:9px 0}
#app#app .ex-page .price-cal-compare small{display:block;font-size:11px;color:var(--muted);line-height:1.6;max-width:40ch}
#app#app .ex-page .price-cal-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
#app#app .ex-page .price-cal-inputs section{min-width:0}
#app#app .ex-page .price-cal-inputs dl{margin:12px 0 0}
#app#app .ex-page .price-cal-inputs dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;padding:8px 0;border-bottom:1px solid var(--border)}
#app#app .ex-page .price-cal-inputs dt{font-size:11px;color:var(--muted)}
#app#app .ex-page .price-cal-inputs dd{margin:0;font-size:11px;color:var(--fg);text-align:right;font-variant-numeric:tabular-nums}
#app#app .ex-page .price-cal-note{margin:14px 0 0;font-size:11px;line-height:1.5;color:var(--muted)}
#app#app .ex-page .price-cal-boundary{margin:20px 0 0;padding-top:14px;border-top:1px solid var(--border);font-size:11px;color:var(--muted)}

/* Page endnote */
#app#app .ex-page .ex-endnote{margin-top:25px;font-size:11px;color:var(--muted);display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}

/* Light theme */
html.theme-light #app#app .ex-page .ex-index-row[aria-pressed=true],html.theme-light #app#app .ex-page .ex-section-button[aria-pressed=true]{background:var(--raised)}
html.theme-light #app#app .ex-page{--ex-bus:oklch(.5 .15 250);--ex-van:oklch(.55 .14 70)}

@media(max-width:1200px){
  #app#app .ex-page .price-cal-slot b{font-size:11px}
  #app#app .ex-page .price-cal-inputs{grid-template-columns:1fr}
}
@media(max-width:1023px){
  #app#app .ex-page .ex-channel{grid-template-columns:115px minmax(0,1fr);gap:12px}
  #app#app .ex-page .ex-split{grid-template-columns:222px minmax(0,1fr)}
  #app#app .ex-page .ex-categories{gap:17px}
  #app#app .ex-page .ex-section-nav{padding:8px 12px;gap:2px}
}
@media(max-width:760px){
  #app#app .ex-page .ex-head{padding:22px 0 18px}
  #app#app .ex-page .ex-head h1{font-size:26px}
  #app#app .ex-page .ex-split{display:block;min-height:0}
  #app#app .ex-page .ex-index{border-right:0}
  #app#app .ex-page .ex-pane{display:none}
  #app#app .ex-page .ex-split[data-reading=true] .ex-index{display:none}
  #app#app .ex-page .ex-split[data-reading=true] .ex-pane{display:block}
  #app#app .ex-page .ex-back{display:inline-flex}
}
@media(max-width:700px){
  #app#app .ex-page .ex-section-content>.ex-details:last-child{margin-bottom:-21px}
  #app#app .ex-page .ex-help.ex-beside{padding-top:0}
  #app#app .ex-page .ex-channel{grid-template-columns:1fr;gap:11px}
  #app#app .ex-page .ex-channel-title small{display:inline;margin-left:8px}
  #app#app .ex-page .ex-checks{grid-template-columns:1fr}
  #app#app .ex-page{padding:0 var(--s4) 24px}
  #app#app .ex-page .ex-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;width:100%}
  #app#app .ex-page .ex-category{font-size:13px;min-height:48px;padding:8px 4px}
  #app#app .ex-page .ex-actions{width:100%}
  #app#app .ex-page .ex-find{flex:1;min-width:180px}
  #app#app .ex-page .ex-search{width:100%}
  #app#app .ex-page .ex-find select{width:100%}
  #app#app .ex-page .ex-result-count{flex-basis:100%;margin:0;padding:0}
  #app#app .ex-page .ex-pane-head{padding:15px 17px}
  #app#app .ex-page .ex-pane-id{flex-basis:100%}
  #app#app .ex-page .ex-section-nav{padding:10px 12px;gap:3px}
  #app#app .ex-page .ex-section-button{padding:8px;font-size:12px}
  #app#app .ex-page .ex-section-content{padding:21px 17px;min-height:0}
  #app#app .ex-page .ex-fields{grid-template-columns:1fr;gap:18px 14px}
  #app#app .ex-page .ex-form-footer{margin:26px -17px 0;padding:15px 17px}
}
@media(max-width:600px){
  #app#app .ex-page .price-cal-weekdays,#app#app .ex-page .price-cal-blank{display:none}
  #app#app .ex-page .price-cal-grid{grid-template-columns:minmax(0,1fr);max-height:350px;overflow-y:auto;overscroll-behavior:contain}
  #app#app .ex-page .price-cal-day{display:grid;grid-template-columns:minmax(68px,1fr) auto;align-items:center;gap:6px 12px;min-height:52px;padding:9px 10px}
  #app#app .ex-page .price-cal-date{display:flex;gap:9px;align-items:center}
  #app#app .ex-page .price-cal-date b{font-size:12px}
  #app#app .ex-page .price-cal-date small{display:inline;font:550 13px var(--font);color:inherit}
  #app#app .ex-page .price-cal-slot{grid-column:2;flex-direction:row;align-items:baseline;gap:4px 8px;align-self:center}
  #app#app .ex-page .price-cal-slot+.price-cal-slot{margin-top:0}
  #app#app .ex-page .price-cal-none{grid-column:2}
  #app#app .ex-page .price-cal-compare,#app#app .ex-page .price-cal-inputs{grid-template-columns:1fr;gap:18px}
  #app#app .ex-page .price-cal-inspector{padding:16px}
  #app#app .ex-page .ex-cal-key span:last-child{margin-left:0}
  #app#app .ex-page .price-cal-jump{flex-wrap:wrap}
  #app#app .ex-page .price-cal-nav{width:100%;justify-content:space-between;gap:7px}
  #app#app .ex-page .price-cal-nav strong{min-width:0}
  #app#app .ex-page .price-cal-departure{width:100%;flex-wrap:wrap}
}
@media(max-width:380px){
  #app#app .ex-page .ex-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  #app#app .ex-page .ex-actions .btn{font-size:12px;padding:9px 8px;gap:6px;min-width:0}
  #app#app .ex-page .ex-find{flex-basis:100%}
  #app#app .ex-page .mg-form-grid{grid-template-columns:1fr}
}
@media(max-width:430px){
  #app#app .ex-page .ex-exception{grid-template-columns:minmax(0,1fr) 44px;gap:7px}
  #app#app .ex-page .ex-exception>.ex-field:first-child{grid-column:1/-1}
  #app#app .ex-page .ex-exception input{padding:8px!important}
}
@media(prefers-reduced-motion:reduce){#app#app .ex-page *{transition:none!important;animation:none!important}}

#app#app .mx-page{--metric-good:oklch(.80 .15 150);--metric-bad:var(--coral);--metric-cost:var(--gold);display:block;padding:0 var(--s5) 32px;margin:0;min-width:0}
html.theme-light #app#app .mx-page{--metric-good:oklch(.45 .13 150)}
#app#app .mx-page .icon{display:inline-block;width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none;vertical-align:middle}
#app#app .mx-page .mx-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#app#app .mx-page .mx-muted{color:var(--muted);font-size:12px;margin:8px 0}
#app#app .mx-page .bi-good{color:var(--metric-good)}
#app#app .mx-page .bi-bad{color:var(--metric-bad)}

/* Report tabs */
#app#app .mx-page .bi-marketing-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;background:var(--surface);border:1px solid var(--border);border-radius:7px;padding:4px;margin:0 0 10px}
#app#app .mx-page .bi-tab{display:block;min-height:44px;text-align:left;border:1px solid transparent;border-radius:4px;padding:12px;min-width:0;color:var(--fg);background:transparent;font:inherit;line-height:1.5;cursor:pointer}
#app#app .mx-page .bi-tab>span{display:block;font-weight:550}
#app#app .mx-page .bi-tab>small{display:block;font-size:11px;line-height:1.5;font-weight:400;letter-spacing:.01em;color:var(--muted);margin-top:3px}
#app#app .mx-page .bi-tab[aria-pressed=true]{background:var(--raised);border-color:var(--strong)}
#app#app .mx-page .bi-tab:hover{border-color:var(--fg)}
#app#app .mx-page .bi-tab:hover>small,#app#app .mx-page .bi-tab[aria-pressed=true]>small{color:var(--fg)}
#app#app .mx-page .bi-more-tabs{display:flex;flex-wrap:wrap;align-items:center;gap:0 18px;margin:0 0 18px;font-size:12px;color:var(--muted)}
#app#app .mx-page .bi-more-tabs .bi-tab{padding:10px 2px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--muted);font-size:13px;font-weight:500}
#app#app .mx-page .bi-more-tabs .bi-tab[aria-pressed=true]{color:var(--fg);border-bottom-color:var(--accent);background:transparent}
#app#app .mx-page .bi-more-tabs .bi-tab:hover{color:var(--fg);border-color:transparent;border-bottom-color:var(--strong)}

/* Period, filters */
#app#app .mx-page .bi-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 14px;margin:0 0 14px}
#app#app .mx-page .bi-toolbar .period-bar{margin:0;flex:0 1 auto}
#app#app .mx-page .bi-history,#app#app .mx-page .bi-apply{min-height:44px}
#app#app .mx-page .bi-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-left:auto}
#app#app .mx-page .bi-filter{display:grid;gap:5px;font-size:11px;letter-spacing:.015em;color:var(--muted);min-width:0}
#app#app .mx-page .bi-select,#app#app .mx-page .bi-input{min-height:44px;background:var(--surface);color:var(--fg);border:1px solid var(--strong);padding:9px 12px;border-radius:6px;max-width:100%;font-size:13px}
#app#app .mx-page .bi-select{min-width:150px}
#app#app .mx-page .bi-input{width:150px}
#app#app .mx-page .bi-select:hover,#app#app .mx-page .bi-input:hover{border-color:var(--fg)}
#app#app .mx-page .bi-seo-presets{display:flex;flex-wrap:wrap;gap:2px;width:fit-content;max-width:100%;padding:4px;margin:0 0 16px;border:1px solid var(--border);border-radius:7px;background:var(--surface)}
#app#app .mx-page .bi-seo-presets>.btn{margin:0;min-height:40px;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--muted);box-shadow:none;font-weight:550}
#app#app .mx-page .bi-seo-presets>.btn:hover:not(:disabled){background:transparent;border-color:var(--strong);color:var(--fg)}
#app#app .mx-page .bi-seo-presets>.btn[aria-pressed=true]{background:var(--raised);border-color:var(--strong);color:var(--fg);font-weight:600}

/* Comparison line and colour guide */
#app#app .mx-page .bi-comparison{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 14px;margin:0 0 6px;font-size:12px;color:var(--muted)}
#app#app .mx-page .bi-comparison strong{font-weight:550;color:var(--fg)}
#app#app .mx-page .bi-comparison>span:last-child{margin-left:auto}
#app#app .mx-page .bi-color-guide{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 22px;margin:0 0 18px;font-size:11px;line-height:1.5;color:var(--muted)}
#app#app .mx-page .bi-color-guide b{font-weight:550}
#app#app .mx-page .bi-color-guide .good{color:var(--metric-good)}
#app#app .mx-page .bi-color-guide .bad{color:var(--metric-bad)}
#app#app .mx-page .bi-color-guide .cost{color:var(--metric-cost)}

/* Figures */
#app#app .mx-page .bi-ledger{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:18px;align-items:stretch;margin:0 0 12px}
#app#app .mx-page :is(.bi-hero,.bi-side){min-width:0;border:1px solid var(--border);border-radius:7px;background:var(--surface)}
#app#app .mx-page .bi-stat{min-width:0}
#app#app .mx-page .bi-stat-lbl{font-size:12px;color:var(--muted)}
#app#app .mx-page .bi-stat-val{font:550 24px/1.3 var(--mono);letter-spacing:-.02em;margin:6px 0 2px;overflow-wrap:anywhere}
#app#app .mx-page .bi-stat-val.is-empty{font:500 14px/1.9 var(--font);letter-spacing:0;color:var(--muted)}
#app#app .mx-page .bi-hero{position:relative;display:flex;flex-direction:column;padding:22px 24px}
#app#app .mx-page .bi-hero-period{position:absolute;top:22px;right:24px;margin:0;font-size:12px;color:var(--muted)}
#app#app .mx-page .bi-hero>.bi-stat{margin-bottom:20px}
#app#app .mx-page .bi-hero>.bi-stat .bi-stat-lbl{font-size:13px}
#app#app .mx-page .bi-hero>.bi-stat .bi-stat-val{margin:8px 0 6px;font-size:44px;line-height:1.1;letter-spacing:-.05em;overflow-wrap:normal}
#app#app .mx-page .bi-hero>.bi-stat .bi-stat-val.is-empty{font:500 20px/1.4 var(--font);letter-spacing:0}
#app#app .mx-page .bi-stat .bi-hero-change .bi-change{display:inline}
#app#app .mx-page .bi-vs{margin-left:6px;font-size:12px;color:var(--muted)}
#app#app .mx-page .bi-hero-foot{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:auto;padding-top:18px;border-top:1px solid var(--border)}
#app#app .mx-page .bi-hero-foot .bi-stat-val{font-size:28px}
#app#app .mx-page .bi-hero-foot .bi-stat-val.is-empty{font-size:14px}
#app#app .mx-page .bi-side .bi-stat{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:14px;align-items:baseline;padding:11px 18px;border-bottom:1px solid var(--border)}
#app#app .mx-page .bi-side .bi-stat:last-child{border-bottom:0}
#app#app .mx-page .bi-side .bi-stat-lbl{grid-column:1;grid-row:1;font-size:13px}
#app#app .mx-page .bi-side .bi-stat-val{grid-column:2;grid-row:1;margin:0;font-size:18px;text-align:right;overflow-wrap:normal}
#app#app .mx-page .bi-side .bi-stat-val.is-empty{font-size:13px;line-height:1.5}
#app#app .mx-page .bi-side .bi-stat .bi-change{grid-column:2;grid-row:2;margin:2px 0 0;text-align:right}
#app#app .mx-page .bi-side .bi-stat small{grid-column:1;grid-row:2;margin:2px 0 0}
#app#app .mx-page .bi-stat small{display:block;font-size:11px;line-height:1.5;color:var(--muted);margin-top:3px}
#app#app .mx-page .bi-change{display:inline-block;color:var(--fg);font:500 12px/1.5 var(--mono);letter-spacing:0;margin:2px 0 3px;overflow-wrap:anywhere}
#app#app .mx-page .bi-stat .bi-change,#app#app .mx-page .bi-table .bi-change{display:block}
#app#app .mx-page .bi-table .bi-change{font-size:11px;margin:5px 0 0}
#app#app .mx-page .bi-change[data-trend=good]{color:var(--metric-good)}
#app#app .mx-page .bi-change[data-trend=bad]{color:var(--metric-bad)}
#app#app .mx-page .bi-change[data-trend=cost]{color:var(--metric-cost)}
#app#app .mx-page .bi-change[data-trend=neutral]{color:var(--fg)}
#app#app .mx-page .bi-note{font-size:12px;line-height:1.6;color:var(--muted);margin:0;padding:12px 0 8px}
#app#app .mx-page .bi-summary{margin:0 0 26px}

/* Booking breakdown */
#app#app .mx-page .bi-breakdown-heading h2{font-size:22px;font-weight:550;line-height:1.4;margin:0 0 14px}
#app#app .mx-page .bi-panel{background:var(--surface);border:1px solid var(--border);border-radius:7px;margin:0 0 20px;min-width:0}
#app#app .mx-page .bi-report-heading{padding:16px 22px}
#app#app .mx-page .bi-report-heading h3{font-size:15px;font-weight:550;line-height:1.5;margin:0}
#app#app .mx-page .bi-scroll,#app#app .mx-page .bi-channel-scroll{position:relative;overflow-x:auto;border-top:1px solid var(--border);scrollbar-color:var(--strong) var(--surface)}
#app#app .mx-page .bi-table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}
#app#app .mx-page .bi-table th{font-size:11px;letter-spacing:.015em;color:var(--muted);padding:13px 14px;font-weight:500;text-align:right;border-bottom:1px solid var(--border);vertical-align:bottom;background:var(--bg)}
#app#app .mx-page .bi-table td{padding:14px;border-bottom:1px solid var(--border);vertical-align:middle;text-align:right}
#app#app .mx-page .bi-table th:first-child,#app#app .mx-page .bi-table td:first-child{text-align:left;padding-left:20px}
#app#app .mx-page .bi-table :is(th,td):last-child{padding-right:20px}
#app#app .mx-page .bi-table tbody>tr:last-child>*{border-bottom:0}
#app#app .mx-page .bi-table tbody>tr:hover{background:var(--raised)}
#app#app .mx-page .bi-table small{display:block;color:var(--muted);font-size:10px;font-weight:400;line-height:1.5;margin-top:2px}
#app#app .mx-page .bi-table tbody th[scope=row],#app#app .mx-page .bi-table tfoot th[scope=row]{font:550 13px/1.6 var(--font);color:var(--fg);text-align:left;background:transparent;border-bottom:1px solid var(--border);vertical-align:middle}
#app#app .mx-page .bi-num{font-family:var(--mono);font-size:12px;letter-spacing:-.01em;font-variant-numeric:tabular-nums;white-space:nowrap}
#app#app .mx-page .bi-channel-table{min-width:1060px}
#app#app .mx-page .bi-channel-table tbody>tr:last-child>*{border-bottom:1px solid var(--border)}
#app#app .mx-page .bi-acquisition-child{background:color-mix(in oklch,var(--raised) 35%,var(--surface))}
#app#app .mx-page .bi-channel-table .bi-acquisition-child th[scope=row]{padding-left:34px;font-weight:400;font-style:italic}
#app#app .mx-page .bi-channel-total{background:var(--raised)}
#app#app .mx-page .bi-channel-total>*{font-weight:600;border-top:2px solid var(--strong);border-bottom:0!important}
#app#app .mx-page .bi-channel-table tfoot tr:hover{background:var(--raised)}
#app#app .mx-page .bi-channel-note{padding:14px 20px;margin:0;font-size:11px;line-height:1.7;letter-spacing:.01em;color:var(--muted);border-top:1px solid var(--border)}
#app#app .mx-page .bi-source{display:inline-flex;align-items:center;gap:9px}
#app#app .mx-page .bi-source-dot{display:inline-block;width:7px;height:7px;border-radius:50%;flex:none;background:var(--muted)}
#app#app .mx-page .bi-source-dot.direct,#app#app .mx-page .bi-source-dot.organic{background:var(--metric-good)}
#app#app .mx-page .bi-source-dot.gyg,#app#app .mx-page .bi-source-dot.paid{background:var(--gold)}
#app#app .mx-page .bi-source-dot.viator{background:var(--coral)}
#app#app .mx-page .bi-source-dot.social,#app#app .mx-page .bi-source-dot.tracked{background:var(--blue)}
#app#app .mx-page .bi-total-label{display:inline-flex;align-items:center;gap:8px}
#app#app .mx-page .bi-total-label .icon{width:16px;height:16px;color:var(--blue)}
#app#app .mx-page .bi-product-name{display:flex;align-items:center;gap:12px}
#app#app .mx-page .bi-product-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:none;border:1px solid var(--border);border-radius:5px;background:var(--bg);color:var(--gold)}
#app#app .mx-page .bi-product-icon.bus{color:var(--blue)}
#app#app .mx-page .bi-product-icon .icon{width:19px;height:19px}
#app#app .mx-page .bi-product-averages .bi-table th:first-child{width:62%}

/* Folds */
#app#app .mx-page .bi-disclosure{margin:0 0 20px;border-top:1px solid var(--border);padding-top:7px}
#app#app .mx-page .bi-disclosure>summary{min-height:44px;cursor:pointer;color:var(--fg);font-size:13px;letter-spacing:.02em;padding:12px 0}
#app#app .mx-page .bi-disclosure>summary:hover{text-decoration:underline;text-underline-offset:4px}
#app#app .mx-page .bi-period-breakdown{margin-top:6px}
#app#app .mx-page .bi-comparison-dates{display:flex;flex-wrap:wrap;gap:6px 32px;padding:0 0 14px;color:var(--muted);font-size:12px;line-height:1.6}
#app#app .mx-page .bi-comparison-dates b{color:var(--fg);font-weight:550;margin-right:8px}
#app#app .mx-page .bi-period-breakdown .bi-scroll{border:1px solid var(--border);border-radius:7px;background:var(--surface)}
#app#app .mx-page .bi-bars{display:grid;gap:20px;padding:10px 0 18px}
#app#app .mx-page .bi-bar-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:9px;font-size:13px}
#app#app .mx-page .bi-bar-head span{color:var(--muted);font:12px var(--mono)}
#app#app .mx-page .bi-meter{display:block;width:100%;height:8px;border:0;border-radius:2px;background:var(--bg);-webkit-appearance:none;appearance:none}
#app#app .mx-page .bi-meter::-webkit-meter-bar{background:var(--bg);border:0;border-radius:2px;height:8px}
#app#app .mx-page .bi-meter::-webkit-meter-optimum-value,#app#app .mx-page .bi-meter::-webkit-meter-suboptimum-value,#app#app .mx-page .bi-meter::-webkit-meter-even-less-good-value{background:var(--blue);border-radius:2px}
#app#app .mx-page .bi-meter::-moz-meter-bar{background:var(--blue);border-radius:2px}
#app#app .mx-page .bi-bar:nth-child(2) .bi-meter::-webkit-meter-optimum-value,#app#app .mx-page .bi-bar:nth-child(2) .bi-meter::-webkit-meter-suboptimum-value,#app#app .mx-page .bi-bar:nth-child(2) .bi-meter::-webkit-meter-even-less-good-value{background:var(--gold)}
#app#app .mx-page .bi-bar:nth-child(2) .bi-meter::-moz-meter-bar{background:var(--gold)}
#app#app .mx-page .bi-bar:nth-child(3) .bi-meter::-webkit-meter-optimum-value,#app#app .mx-page .bi-bar:nth-child(3) .bi-meter::-webkit-meter-suboptimum-value,#app#app .mx-page .bi-bar:nth-child(3) .bi-meter::-webkit-meter-even-less-good-value{background:var(--previous)}
#app#app .mx-page .bi-bar:nth-child(3) .bi-meter::-moz-meter-bar{background:var(--previous)}
#app#app .mx-page .mx-source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:6px}
#app#app .mx-page .mx-source-panel{border:1px solid var(--border);border-radius:7px;background:var(--surface);padding:18px 22px;min-width:0}
#app#app .mx-page .mx-source-panel h3{font-size:15px;font-weight:550;margin:0 0 8px}
#app#app .mx-page .mx-src-list{list-style:none;margin:0;padding:0}
#app#app .mx-page .mx-src-row{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 16px;padding:12px 0;border-bottom:1px solid var(--border);min-width:0}
#app#app .mx-page .mx-src-row:last-child{border-bottom:0}
#app#app .mx-page .mx-src-name{font-size:14px;font-weight:550;overflow-wrap:anywhere;min-width:0}
#app#app .mx-page .mx-src-facts{font:12px var(--mono);color:var(--muted);overflow-wrap:anywhere}

/* Bookings per day */
#app#app .mx-page .bi-trend-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 22px 0}
#app#app .mx-page .bi-trend-head h3{font-size:17px;font-weight:550;line-height:1.5;margin:0}
#app#app .mx-page .bi-trend-head p{font-size:12px;color:var(--muted);line-height:1.6;margin:4px 0 0}
#app#app .mx-page .bi-trend-summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px;padding:16px 22px 0}
#app#app .mx-page .bi-trend-summary>strong{font:550 28px/1.3 var(--mono);letter-spacing:-.02em;color:var(--fg)}
#app#app .mx-page .bi-trend-summary .bi-change{font-size:13px;margin:0}
#app#app .mx-page .bi-trend-legend{display:flex;flex-wrap:wrap;gap:8px 24px;padding:16px 22px 0;color:var(--muted);font-size:11px;line-height:1.5}
#app#app .mx-page .bi-trend-legend>span{display:flex;gap:7px;align-items:center}
#app#app .mx-page .bi-trend-legend i{display:inline-block;width:9px;height:9px;border-radius:2px;flex:none}
#app#app .mx-page .bi-trend-legend .current{background:var(--accent)}
#app#app .mx-page .bi-trend-legend .previous{background:var(--previous)}
#app#app .mx-page .bi-trend-plot{display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px;padding:24px 22px 0}
#app#app .mx-page .bi-trend-scale{height:168px;margin-top:30px;display:flex;flex-direction:column;justify-content:space-between;text-align:right;color:var(--muted);font:11px/1 var(--mono)}
#app#app .mx-page .bi-trend-scale span{transform:translateY(-50%)}
#app#app .mx-page .bi-trend-scale span:last-child{transform:translateY(50%)}
#app#app .mx-page .bi-trend-series{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;min-width:0;background:repeating-linear-gradient(to top,var(--border) 0,var(--border) 1px,transparent 1px,transparent 84px);background-size:100% 169px;background-repeat:no-repeat;background-position:0 29px}
#app#app .mx-page .bi-trend-group{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-width:0;min-height:260px;padding:0 4px 8px;background:transparent;border:1px solid transparent;border-radius:4px;color:var(--fg);cursor:pointer;font:inherit}
#app#app .mx-page .bi-trend-group:hover{border-color:var(--strong)}
#app#app .mx-page .bi-trend-group[aria-pressed=true]{background:var(--raised);border-color:var(--strong)}
#app#app .mx-page .bi-trend-value{height:29px;font:500 12px/1.5 var(--mono);display:flex;align-items:flex-start;justify-content:center}
#app#app .mx-page .bi-trend-bars{display:block;width:100%;max-width:64px;height:168px}
#app#app .mx-page .bi-trend-bars .was{fill:var(--previous)}
#app#app .mx-page .bi-trend-bars .now{fill:var(--accent)}
#app#app .mx-page .bi-trend-date{display:block;margin-top:13px;font-size:11px;line-height:1.5;text-wrap:balance}
#app#app .mx-page .bi-trend-was{display:block;margin-top:2px;font-size:11px;color:var(--muted)}
#app#app .mx-page .bi-trend-caption{font-size:11px;line-height:1.6;color:var(--muted);padding:10px 22px 18px;margin:0}

/* Website traffic */
#app#app .mx-page .bi-direct-website{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--border);border-radius:7px;background:var(--surface);margin:0 0 20px}
#app#app .mx-page .bi-direct-website>div{padding:20px 22px;min-width:0}
#app#app .mx-page .bi-direct-website>div+div{border-left:1px solid var(--border)}
#app#app .mx-page .bi-direct-website h2{font-size:17px;line-height:1.4;font-weight:550;margin:0}
#app#app .mx-page .bi-direct-figure{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px;margin-top:10px}
#app#app .mx-page .bi-direct-figure strong{font:550 28px/1.3 var(--mono);letter-spacing:-.02em}
#app#app .mx-page .bi-direct-figure .bi-change{margin:0}
#app#app .mx-page .bi-direct-website p{color:var(--muted);font-size:12px;line-height:1.65;max-width:56ch;margin:7px 0 0}

/* The reports the design does not draw: same frame, same tokens */
#app#app .mx-page .mx-section{border:1px solid var(--border);border-radius:7px;background:var(--surface);padding:18px 22px;margin:0 0 20px;min-width:0}
#app#app .mx-page .mx-section-title{font-size:17px;font-weight:550;line-height:1.4;margin:0 0 14px;color:var(--fg)}
#app#app .mx-page .mx-section>.mx-stat-note{margin:0 0 4px;font-size:12px;line-height:1.5;color:var(--muted)}
#app#app .mx-page .mx-section>.btn{margin-top:12px}
#app#app .mx-page .mx-section>p:not([class]){margin:12px 0 0;font-size:13px;color:var(--muted)}
#app#app .mx-page .mx-section>p[role=alert]{color:var(--danger)}
#app#app .mx-page .mx-stat-note{font-size:12px;line-height:1.6;color:var(--muted);margin:8px 0 0}
#app#app .mx-page .mx-table-wrap{position:relative;overflow-x:auto;border:1px solid var(--border);border-radius:7px;scrollbar-color:var(--strong) var(--surface)}
#app#app .mx-page .mx-table{width:100%;min-width:680px;border-collapse:collapse;font-size:13px;text-align:right}
#app#app .mx-page .mx-table th{padding:12px 14px;font-size:11px;font-weight:500;letter-spacing:.015em;color:var(--muted);background:var(--bg);border-bottom:1px solid var(--border);vertical-align:bottom}
#app#app .mx-page .mx-table td{padding:12px 14px;border-bottom:1px solid var(--border);vertical-align:middle;font-variant-numeric:tabular-nums}
#app#app .mx-page .mx-table th:first-child,#app#app .mx-page .mx-table td:first-child,#app#app .mx-page .mx-table th[scope=row]{text-align:left}
#app#app .mx-page .mx-table tbody th[scope=row]{font-weight:550;color:var(--fg);background:transparent;font-size:13px;letter-spacing:0;border-bottom:1px solid var(--border)}
#app#app .mx-page .mx-table tbody tr:last-child>*{border-bottom:0}
#app#app .mx-page .mx-table tbody tr:hover{background:var(--raised)}
#app#app .mx-page .mx-ov-total{background:var(--raised);font-weight:600}
#app#app .mx-page .mx-zero-delivery{color:var(--muted)}
#app#app .mx-page .mx-stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));border:1px solid var(--border);border-radius:7px;background:var(--surface);overflow:hidden;margin:0 0 14px}
#app#app .mx-page .mx-stat{padding:14px 16px;min-width:0;box-shadow:1px 0 0 var(--border),0 1px 0 var(--border)}
#app#app .mx-page .mx-stat-lbl{font-size:12px;color:var(--muted)}
#app#app .mx-page .mx-stat-val{font:550 20px/1.3 var(--mono);letter-spacing:-.02em;margin-top:4px;overflow-wrap:anywhere}
#app#app .mx-page .mx-error,#app#app .mx-page .mx-unavail-note{font-size:13px;line-height:1.6;color:var(--danger);background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:7px;padding:12px 14px;margin:0 0 14px}
#app#app .mx-page .mx-unavail-note{color:var(--warning);background:var(--warning-bg);border-color:var(--warning-border);margin:8px 0 0;font-size:12px}
#app#app .mx-page .mx-notice{font-size:13px;line-height:1.6;color:var(--muted);border:1px dashed var(--strong);border-radius:7px;padding:18px 20px;margin:0 0 14px}
#app#app .mx-page .mx-data-readiness-notice{font-size:12px;line-height:1.6;color:var(--warning);background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:7px;padding:10px 14px;margin:0 0 14px}
#app#app .mx-page .mx-freshness{font:12px var(--mono);color:var(--muted)}
#app#app .mx-page .mx-currency-heading{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}
#app#app .mx-page .mx-seo-up{color:var(--metric-good);font:500 11px var(--mono)}
#app#app .mx-page .mx-seo-down{color:var(--metric-bad);font:500 11px var(--mono)}
#app#app .mx-page .mx-seo-flat{color:var(--muted);font:11px var(--mono)}
#app#app .mx-page .mx-ov-badge{display:inline-block;border:1px solid var(--border);border-radius:4px;padding:2px 7px;font-size:11px;color:var(--muted)}
#app#app .mx-page .mx-ov-badge-ok{color:var(--metric-good);border-color:var(--metric-good)}
#app#app .mx-page .mx-ds-campaign,#app#app .mx-page .mx-season-details{background:var(--surface);border:1px solid var(--border);border-radius:7px;padding:16px 18px;margin:0 0 14px}
#app#app .mx-page .mx-ds-campaign-header{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid var(--border)}
#app#app .mx-page .mx-ds-campaign-name{flex:1;min-width:150px;font-size:14px;font-weight:600}
#app#app .mx-page .mx-ds-platform{border:1px solid var(--border);border-radius:4px;padding:2px 8px;font-size:11px;color:var(--muted)}
#app#app .mx-page .mx-ds-bookings,#app#app .mx-page .mx-ds-pax{font-size:12px;color:var(--muted)}
#app#app .mx-page .mx-ds-currency-block{border:1px solid var(--border);border-radius:6px;padding:12px;margin-bottom:10px}
#app#app .mx-page .mx-ds-cac-primary{display:flex;flex-direction:column;gap:2px;margin-bottom:12px;padding:10px 12px;background:var(--raised);border:1px solid var(--border);border-radius:6px}
#app#app .mx-page .mx-ds-cac-lbl{font-size:11px;letter-spacing:.04em;color:var(--muted)}
#app#app .mx-page .mx-ds-cac-val{font:550 22px/1.3 var(--mono)}
#app#app .mx-page :is(.mx-signal-success,.mx-signal-warning,.mx-signal-muted){display:inline-block;margin-top:8px;padding:3px 9px;border-radius:4px;font-size:12px;font-weight:600;border:1px solid currentColor}
#app#app .mx-page .mx-signal-success{color:var(--metric-good)}
#app#app .mx-page .mx-signal-warning{color:var(--metric-cost)}
#app#app .mx-page .mx-signal-muted{color:var(--muted)}
#app#app .mx-page .mx-season-summary{cursor:pointer;font-size:13px;font-weight:600;min-height:44px;display:flex;align-items:center}
#app#app .mx-page .mx-season-body{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}
#app#app .mx-page details>summary{cursor:pointer}
#app#app .mx-page .state-message{border:1px dashed var(--border);border-radius:7px;padding:40px 20px;text-align:center}

html.theme-light #app#app .mx-page .bi-acquisition-child{background:color-mix(in oklch,var(--raised) 55%,var(--surface))}
html.theme-light #app#app .mx-page .bi-table th,html.theme-light #app#app .mx-page .mx-table th{background:var(--raised)}

@media(max-width:1250px){
#app#app .mx-page .bi-tab{padding:10px}
#app#app .mx-page .bi-filters{margin-left:0}
}
@media(max-width:1023px){
#app#app .mx-page .bi-marketing-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}
#app#app .mx-page .bi-toolbar .period-bar{flex:1 1 100%}
#app#app .mx-page .bi-source-grid,#app#app .mx-page .mx-source-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
#app#app .mx-page{padding-inline:16px}
#app#app .mx-page .bi-marketing-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
#app#app .mx-page .bi-marketing-tabs .bi-tab:last-child{grid-column:1/-1}
#app#app .mx-page .bi-more-tabs{gap:0 14px}
#app#app .mx-page .bi-filters{width:100%}
#app#app .mx-page .bi-filter{flex:1 1 140px}
#app#app .mx-page .bi-select,#app#app .mx-page .bi-input{width:100%;min-width:0}
#app#app .mx-page .bi-comparison>span:last-child{margin-left:0;width:100%}
#app#app .mx-page .bi-ledger{grid-template-columns:1fr;gap:15px}
#app#app .mx-page .bi-hero{padding:18px 17px}
#app#app .mx-page .bi-hero-period{position:static;margin:0 0 10px}
#app#app .mx-page .bi-hero>.bi-stat .bi-stat-val{font-size:34px}
#app#app .mx-page .bi-hero-foot .bi-stat-val{font-size:22px}
#app#app .mx-page .bi-side .bi-stat{padding:11px 17px}
#app#app .mx-page .bi-direct-website{grid-template-columns:1fr}
#app#app .mx-page .bi-direct-website>div+div{border-left:0;border-top:1px solid var(--border)}
#app#app .mx-page .bi-direct-website>div{padding:18px}
#app#app .mx-page .bi-trend-head,#app#app .mx-page .bi-trend-summary,#app#app .mx-page .bi-trend-legend,#app#app .mx-page .bi-trend-caption{padding-left:16px;padding-right:16px}
#app#app .mx-page .bi-trend-plot{grid-template-columns:30px minmax(0,1fr);gap:6px;padding:20px 12px 0 16px}
#app#app .mx-page .bi-trend-series{gap:3px}
#app#app .mx-page .bi-trend-group{padding:0 1px 8px}
#app#app .mx-page .bi-trend-date{font-size:10px}
#app#app .mx-page .bi-trend-was{font-size:10px}
#app#app .mx-page .bi-report-heading{padding:14px 16px}
#app#app .mx-page .mx-section,#app#app .mx-page .mx-source-panel{padding:16px}
#app#app .mx-page .bi-channel-note{padding:14px 16px}
}
@media(max-width:380px){
#app#app .mx-page{padding-inline:12px}
#app#app .mx-page .bi-tab{padding:8px}
#app#app .mx-page .bi-trend-plot{grid-template-columns:24px minmax(0,1fr);padding-left:12px}
}

#app#app .tp-view{--profit-good:oklch(.80 .15 150);--profit-bad:var(--coral);display:block;padding:0 var(--s5) 32px;margin:0;min-width:0;color:var(--fg)}
html.theme-light #app#app .tp-view{--profit-good:oklch(.45 .13 150)}
#app#app .tp-view .tp-icon{width:17px;height:17px;flex:none;vertical-align:middle}
#app#app .tp-view .tp-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#app#app .tp-view .tp-profit-pos{color:var(--profit-good)}
#app#app .tp-view .tp-profit-neg{color:var(--profit-bad)}
#app#app .tp-view .tp-warn-cell{color:var(--warn)}
#app#app .tp-view .tp-not-counted{color:var(--muted)}

/* Heading and buttons */
#app#app .tp-view .tp-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 20px;margin:0 0 22px;padding:0;border:0}
#app#app .tp-view .tp-title{margin:0;font:600 30px/1.25 var(--font);letter-spacing:-.02em;color:var(--fg);text-transform:none}
#app#app .tp-view .tp-hdr-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
#app#app .tp-view :is(.tp-btn-sec,.tp-btn-primary,.tp-btn-danger){min-height:44px;padding:10px 14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--surface);color:var(--fg);border:1px solid var(--strong);border-radius:7px;font:550 13px/1.5 var(--font);letter-spacing:.02em;box-shadow:none;cursor:pointer;text-transform:none}
#app#app .tp-view .tp-btn-primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
#app#app .tp-view .tp-btn-danger{color:var(--danger);border-color:oklch(from var(--danger) l c h / .55)}
#app#app .tp-view :is(.tp-btn-sec,.tp-btn-danger):hover:not(:disabled){border-color:var(--fg);box-shadow:inset 0 0 0 1px var(--fg)}
#app#app .tp-view .tp-btn-primary:hover:not(:disabled){box-shadow:inset 0 0 0 2px var(--on-accent)}
#app#app .tp-view :is(.tp-btn-sec,.tp-btn-primary,.tp-btn-danger,.tp-btn-xs):disabled{opacity:.5;cursor:not-allowed}
#app#app .tp-view .tp-btn-sec[aria-pressed=true]{background:var(--raised);border-color:var(--fg)}
#app#app .tp-view .tp-btn-xs{min-height:36px;padding:6px 10px;display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--surface);color:var(--fg);border:1px solid var(--strong);border-radius:6px;font:550 12px/1.4 var(--font);letter-spacing:.01em;cursor:pointer}
#app#app .tp-view .tp-btn-xs:hover:not(:disabled){border-color:var(--fg)}
#app#app .tp-view .tp-form-input{min-height:38px;background:var(--surface);color:var(--fg);border:1px solid var(--strong);border-radius:6px;padding:7px 10px;font-size:13px;max-width:100%;box-sizing:border-box}
#app#app .tp-view .tp-form-input:hover:not(:disabled){border-color:var(--fg)}
#app#app .tp-view .tp-form-input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}

/* What stops the figures, and save notes */
#app#app .tp-view .tp-setup-notice{margin:0 0 18px;padding:14px 18px;border:1px solid oklch(from var(--warn) l c h / .45);border-radius:7px;background:oklch(from var(--warn) l c h / .08);color:var(--fg);font-size:13px;line-height:1.6}
#app#app .tp-view .tp-setup-notice>strong{color:var(--warn);font-weight:600}
#app#app .tp-view .tp-setup-notice>ul{margin:6px 0 12px;padding:0 0 0 18px;list-style:disc;color:var(--fg)}
#app#app .tp-view .tp-setup-notice>.tp-btn-primary{min-height:38px;padding:7px 12px}
#app#app .tp-view .tp-batch-note{margin:0 0 12px;padding:10px 14px;border-left:3px solid var(--accent);background:var(--surface);border-radius:0 7px 7px 0;font-size:13px}
#app#app .tp-view .period-bar{margin:0 0 14px}

/* The period ledger: label, figure, note */
#app#app .tp-view .tp-card-group{margin:0 0 12px}
#app#app .tp-view .tp-cards{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:18px;margin:0;border:0;border-radius:0;background:transparent;overflow:visible;box-shadow:none}
#app#app .tp-view :is(.tp-hero,.tp-side){min-width:0;border:1px solid var(--border);border-radius:7px;background:var(--surface)}
#app#app .tp-view .tp-hero{display:flex;flex-direction:column;padding:22px 24px}
#app#app .tp-view .tp-side{display:grid;grid-auto-rows:1fr}
#app#app .tp-view .tp-card{display:flex;flex-direction:column;min-width:0;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
#app#app .tp-view .tp-card-lbl{order:-1;margin:0;font:400 12px/1.5 var(--font);letter-spacing:0;text-transform:none;color:var(--muted)}
#app#app .tp-view .tp-card-val{margin:9px 0 7px;font:550 24px/1.3 var(--mono);letter-spacing:-.025em;color:var(--fg);overflow-wrap:anywhere}
#app#app .tp-view .tp-card-val.tp-words{font:550 19px/1.45 var(--font);letter-spacing:0}
#app#app .tp-view .tp-hero .tp-card-lbl{font-size:13px}
#app#app .tp-view .tp-hero .tp-card-val{margin:8px 0 6px;font-size:44px;line-height:1.1;letter-spacing:-.05em;overflow-wrap:normal}
#app#app .tp-view .tp-hero .tp-card-val.tp-words{font-size:24px;letter-spacing:0}
#app#app .tp-view .tp-spark{display:flex;flex:1;flex-direction:column;min-height:72px;margin:18px 0 0}
#app#app .tp-view .tp-spark svg{display:block;flex:1 1 64px;width:100%;height:0;min-height:48px;overflow:visible}
#app#app .tp-view .tp-spark polyline{fill:none;stroke:var(--accent);stroke-width:2;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
#app#app .tp-view .tp-spark-zero{stroke:var(--border);stroke-width:1;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}
#app#app .tp-view .tp-spark figcaption{margin-top:6px;font-size:11px;color:var(--muted);text-align:right}
#app#app .tp-view .tp-side .tp-card{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:14px;align-items:baseline;padding:13px 18px;border-bottom:1px solid var(--border)}
#app#app .tp-view .tp-side .tp-card:last-child{border-bottom:0}
#app#app .tp-view .tp-side .tp-card-lbl{grid-column:1;grid-row:1;font-size:13px}
#app#app .tp-view .tp-side .tp-card-val{grid-column:2;grid-row:1;margin:0;font-size:18px;text-align:right;overflow-wrap:normal}
#app#app .tp-view .tp-side .tp-card-val.tp-words{font-size:14px}
#app#app .tp-view .tp-side .tp-card-sub{grid-column:1/-1;grid-row:2;margin:2px 0 0}
#app#app .tp-view .tp-card-val.tp-profit-pos{color:var(--profit-good)}
#app#app .tp-view .tp-card-val.tp-profit-neg{color:var(--profit-bad)}
#app#app .tp-view .tp-card-val.tp-warn-cell{color:var(--warn)}
#app#app .tp-view .tp-card-sub{margin:0;font-size:11px;line-height:1.5;letter-spacing:.012em;color:var(--muted)}

/* Dates: one line each, its departures open under it */
#app#app .tp-view .tp-nights-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;margin:26px 0 12px}
#app#app .tp-view .tp-detail-title{margin:0;font:600 16px/1.4 var(--font);letter-spacing:0;text-transform:none;color:var(--fg)}
#app#app .tp-view .tp-nights{border:1px solid var(--border);border-radius:7px;background:var(--surface);overflow:hidden}
#app#app .tp-view .tp-night-row{grid-template-columns:1.1fr .9fr 1.3fr 1fr 1fr 1.3fr 20px;gap:16px;align-items:start;padding:15px 18px}
#app#app .tp-view .tp-night-head{padding-block:13px;border-bottom:1px solid var(--border);font:500 11px/1.4 var(--font);letter-spacing:.025em;text-transform:none;color:var(--muted)}
#app#app .tp-view .tp-night+.tp-night{border-top:1px solid var(--border)}
#app#app .tp-view summary.tp-night-row:hover,#app#app .tp-view .tp-night[open]>summary.tp-night-row{background:var(--raised)}
#app#app .tp-view summary.tp-night-row::after{border-color:var(--muted)}
#app#app .tp-view .tp-night-k{font:500 11px/1.4 var(--font);letter-spacing:.025em;text-transform:none;color:var(--muted)}
#app#app .tp-view .tp-night-v{font:500 15px/1.5 var(--mono);letter-spacing:-.01em;overflow-wrap:anywhere}
#app#app .tp-view .tp-night-cell:first-child .tp-night-v{font-weight:600}
#app#app .tp-view .tp-night-v.tp-warn-cell{font-size:14px}
#app#app .tp-view .tp-night-s{font-size:11px;line-height:1.6;color:var(--muted)}
#app#app .tp-view .tp-night>.mkt-table-wrap{margin:0;padding:0 18px 14px;border:0;background:var(--raised);overflow:visible}

/* The departures of a date */
#app#app .tp-view .tp-table{width:100%;margin:0;border-collapse:collapse;background:transparent;font-size:13px}
#app#app .tp-view .tp-table :is(thead,tr,th,td){position:static;background:transparent;white-space:normal}
#app#app .tp-view .tp-table th{padding:12px 14px;border-bottom:1px solid var(--border);font:500 11px/1.4 var(--font);letter-spacing:.025em;text-transform:none;color:var(--muted);text-align:right;vertical-align:bottom}
#app#app .tp-view .tp-table td{padding:13px 14px;border-bottom:1px solid var(--border);text-align:right;vertical-align:top;color:var(--fg);overflow-wrap:anywhere}
#app#app .tp-view .tp-table tr:last-child td{border-bottom:0}
#app#app .tp-view .tp-table :is(th,td):first-child{text-align:left;padding-left:0}
#app#app .tp-view .tp-table :is(th,td):last-child{padding-right:0}
#app#app .tp-view .tp-table td:is([data-th=Guests],[data-th=Revenue],[data-th=Costs]){font:500 14px/1.5 var(--mono);letter-spacing:-.01em;white-space:nowrap;overflow-wrap:normal}
#app#app .tp-view .tp-table td:is([data-th=Guests],[data-th=Revenue],[data-th=Costs]) .tp-calc-small{white-space:normal}
#app#app .tp-view .tp-table .tp-profit-cell{font:500 15px/1.5 var(--mono);letter-spacing:-.01em}
#app#app .tp-view .tp-table :is(.tp-tour-cell,.tp-driven-cell,.tp-hand-cell){font-family:var(--font)}
#app#app .tp-view .tp-table .tp-sel-cell{width:44px;padding-right:0}
#app#app .tp-view .tp-row-action{display:inline-flex;align-items:center;gap:9px;min-height:40px;padding:0;background:transparent;border:0;color:var(--fg);font:550 17px/1.5 var(--mono);letter-spacing:-.01em;text-align:left;cursor:pointer}
#app#app .tp-view span.tp-row-action{cursor:default}
#app#app .tp-view button.tp-row-action:hover .tp-row-time{text-decoration:underline;text-underline-offset:4px}
#app#app .tp-view .tp-tour-small .tp-row-action>.tp-icon:first-child{color:var(--gold)}
#app#app .tp-view .tp-tour-bus .tp-row-action>.tp-icon:first-child{color:var(--blue)}
#app#app .tp-view .tp-row-action>.tp-icon:last-child:not(:first-child){width:15px;height:15px;color:var(--muted)}
#app#app .tp-view .tp-calc-small{margin-top:3px;font:400 11px/1.6 var(--font);letter-spacing:0;color:var(--muted)}
#app#app .tp-view .tp-row-limitations{max-width:34ch;margin:4px 0 0 auto;font:400 11px/1.6 var(--font);color:var(--muted)}
#app#app .tp-view .tp-driven-cell .tp-row-limitations{margin-left:0}
#app#app .tp-view .tp-row-limitations :is(ul,li){margin:0;padding:0;list-style:none}
#app#app .tp-view .tp-row-limitations strong{font-weight:500}
#app#app .tp-view .tp-hand-mark{display:block;width:fit-content;margin:0 0 4px auto;padding:1px 7px;border:1px solid var(--strong);border-radius:999px;font:500 11px/1.5 var(--font);letter-spacing:0;text-transform:none;color:var(--muted)}
#app#app .tp-view .tp-row-not-counted td{color:var(--muted)}
#app#app .tp-view .tp-driven-select{display:inline-block;vertical-align:middle;width:auto;min-width:10em;min-height:36px;padding:5px 8px;font-size:12px}
#app#app .tp-view .tp-table :is(th,td).tp-driven-cell{text-align:left}
#app#app .tp-view .tp-driven-cell{white-space:nowrap}
#app#app .tp-view .tp-driven-cell>:is(div,.tp-hand){white-space:normal;justify-content:flex-start}
#app#app .tp-view .tp-driven-cell>.tp-icon{width:15px;height:15px;color:var(--muted);margin-right:6px}
#app#app .tp-view .tp-hand-wrap{margin:0;font-weight:400}
#app#app .tp-view .tp-hand-wrap>summary{display:inline-flex;align-items:center;min-height:38px;padding:7px 11px;border:1px solid var(--strong);border-radius:7px;background:var(--surface);color:var(--fg);font:550 13px/1.4 var(--font);letter-spacing:.02em;list-style:none;cursor:pointer}
#app#app .tp-view .tp-hand-wrap>summary::-webkit-details-marker{display:none}
#app#app .tp-view .tp-hand-wrap>summary:hover{border-color:var(--fg)}
#app#app .tp-view .tp-hand-wrap>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
#app#app .tp-view .tp-hand-wrap[open]>summary{background:var(--raised);border-color:var(--fg)}
#app#app .tp-view .tp-hand{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;margin-top:8px}
#app#app .tp-view .tp-hand-input{width:9.5em;font:500 13px/1.4 var(--mono)}
#app#app .tp-view .tp-override-lbl{flex-basis:100%;font:500 11px/1.4 var(--font);text-transform:none;letter-spacing:0;color:var(--muted)}
#app#app .tp-view .tp-type-empty{display:grid;place-content:center;min-height:160px;padding:40px 24px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--muted);font-size:13px;text-align:center}

/* Changing several dates at once */
#app#app .tp-view .tp-selector{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:0 0 12px;padding:12px 14px;border:1px solid var(--border);border-radius:7px;background:var(--surface);font-size:13px}
#app#app .tp-view .tp-sel-field{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}
#app#app .tp-view .tp-sel-field .tp-form-input{width:auto}
#app#app .tp-view .tp-check{display:inline-flex;align-items:center;gap:8px;font-weight:550}
#app#app .tp-view :is(.tp-check,.tp-sel-hit) input{width:16px;height:16px;accent-color:var(--accent)}
#app#app .tp-view .tp-action-bar{gap:10px 16px;margin-top:12px;padding:12px 14px;background:var(--raised);border:1px solid var(--strong);border-radius:7px;box-shadow:0 -8px 24px oklch(0 0 0 / .25)}
#app#app .tp-view .tp-action-bar[hidden]{display:none}
#app#app .tp-view .tp-bar-group{gap:6px}
#app#app .tp-view .tp-bar-group>.tp-icon{color:var(--muted)}
#app#app .tp-view .tp-sel-count{font:600 13px/1.4 var(--font)}
#app#app .tp-view .tp-action-bar .tp-bar-input{width:10em;font-family:var(--mono)}

/* How profit is calculated */
#app#app .tp-view .tp-method{margin:18px 0 0;padding:0;border:0;background:transparent;box-shadow:none;font-size:12px;line-height:1.65;color:var(--muted)}
#app#app .tp-view .tp-method>summary{display:inline-flex;align-items:center;gap:8px;min-height:40px;font:550 13px/1.4 var(--font);color:var(--fg);list-style:none;cursor:pointer}
#app#app .tp-view .tp-method>summary::-webkit-details-marker{display:none}
#app#app .tp-view .tp-method>summary::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px)}
#app#app .tp-view .tp-method[open]>summary::after{transform:rotate(-135deg) translateY(-1px)}
#app#app .tp-view .tp-method>ul{margin:4px 0 0;padding:0 0 0 18px;max-width:100ch;list-style:disc}

/* Settings, tour details and manual tours */
#app#app .tp-view .tp-settings-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
#app#app .tp-view :is(.tp-settings-panel,.tp-tour-form){padding:20px 22px;border:1px solid var(--border);border-radius:7px;background:var(--surface);box-shadow:none}
#app#app .tp-view .tp-settings-panel-title{margin:0 0 4px;font:600 17px/1.4 var(--font);letter-spacing:0;text-transform:none;color:var(--fg)}
#app#app .tp-view .tp-settings-group{margin:18px 0 0;padding:0;border:0}
#app#app .tp-view .tp-settings-group-title{margin:0 0 4px;padding:0 0 8px;border-bottom:1px solid var(--border);font:500 12px/1.5 var(--font);letter-spacing:0;text-transform:none;color:var(--muted)}
#app#app .tp-view .tp-setting-row{display:grid;grid-template-columns:minmax(0,1fr) 150px;align-items:center;gap:12px;padding:7px 0;border-bottom:1px solid var(--border)}
#app#app .tp-view .tp-setting-lbl{font-size:13px;color:var(--fg)}
#app#app .tp-view .tp-setting-row .tp-form-input{width:100%;font-family:var(--mono)}
#app#app .tp-view .tp-setting-row input[type=checkbox]{justify-self:end;width:18px;height:18px;accent-color:var(--accent)}
#app#app .tp-view .tp-settings-form>.tp-btn-primary{margin-top:18px}
#app#app .tp-view .tp-form-info{margin:0 0 14px;font-size:13px;color:var(--muted)}
#app#app .tp-view .tp-form-info>strong{color:var(--fg);font-weight:600}
#app#app .tp-view .tp-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px 18px}
#app#app .tp-view .tp-form-field{display:grid;gap:6px;min-width:0}
#app#app .tp-view .tp-form-label{font:400 12px/1.4 var(--font);letter-spacing:0;text-transform:none;color:var(--muted)}
#app#app .tp-view .tp-tour-form .tp-form-input{width:100%;min-height:44px}
#app#app .tp-view .tp-form-input[readonly]{background:transparent;border-style:dashed;color:var(--muted)}
#app#app .tp-view .tp-form-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}

@media(min-width:1200px){
#app#app .tp-view .tp-table th:first-child{width:24%}
#app#app .tp-view .tp-table .tp-hand-cell{width:190px}
}
@media(max-width:1250px){
}
@media(max-width:1199px){
#app#app .tp-view .tp-night>.mkt-table-wrap{padding:0 16px 12px}
#app#app .tp-view .tp-table tr{padding:14px 0;border-top:1px solid var(--border)}
#app#app .tp-view .tp-table tr:first-child{border-top:0}
#app#app .tp-view .tp-table td,#app#app .tp-view .tp-table td:first-child,#app#app .tp-view .tp-table td:last-child{padding:0;border:0;text-align:left}
#app#app .tp-view .tp-table td[data-th]::before{margin-bottom:2px;font:500 11px/1.4 var(--font);letter-spacing:.025em;text-transform:none;color:var(--muted)}
#app#app .tp-view .tp-table :is(.tp-tour-cell,.tp-profit-cell,.tp-driven-cell,.tp-hand-cell,.tp-sel-cell){grid-column:1/3}
#app#app .tp-view .tp-hand-mark{margin-left:0}
#app#app .tp-view .tp-hand{justify-content:flex-start}
}
@media(min-width:900px){
#app#app .tp-view .tp-night-row>:is(:nth-child(2),:nth-child(4),:nth-child(5),:nth-child(6)){text-align:right}
}
@media(max-width:899px){
#app#app .tp-view .tp-night-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 16px;padding:14px 44px 14px 16px}
#app#app .tp-view .tp-settings-two-col{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:760px){
#app#app .tp-view .tp-header{align-items:flex-start}
#app#app .tp-view .tp-title{font-size:28px}
#app#app .tp-view .tp-cards{grid-template-columns:1fr;gap:15px}
#app#app .tp-view .tp-hero{padding:18px 17px}
#app#app .tp-view .tp-hero .tp-card-val{font-size:28px}
#app#app .tp-view .tp-side .tp-card{padding:11px 17px}
#app#app .tp-view :is(.tp-settings-panel,.tp-tour-form){padding:16px}
#app#app .tp-view .tp-setting-row{grid-template-columns:minmax(0,1fr) 120px}
}

#app#app .messaging-center-page{display:block;padding:0 var(--s5) 32px;margin:0;min-width:0;color:var(--fg)}
#app#app .messaging-center-page .muted{color:var(--muted)}
#app#app .messaging-center-page .mc-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#app#app .messaging-center-page .btn{min-height:44px;padding:8px 13px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--strong);border-radius:5px;background:transparent;color:var(--fg);font:550 12px/1.4 var(--font);letter-spacing:.02em;box-shadow:none;text-decoration:none;cursor:pointer}
#app#app .messaging-center-page .btn:hover:not(:disabled){background:var(--raised);border-color:var(--fg)}
#app#app .messaging-center-page .btn:disabled{opacity:.5;cursor:not-allowed}
#app#app .messaging-center-page .mc-channel-controls{margin:0 0 20px}
#app#app .messaging-center-page .mc-channel-count{margin-left:4px;padding:1px 5px;border-radius:4px;background:var(--surface);color:inherit;font:11px/1.5 var(--mono)}
#app#app .messaging-center-page .mc-icon{flex:none}
#app#app .messaging-center-page{min-width:0;}
#app#app .messaging-center-page [hidden]{display:none!important;}
#app#app .messaging-center-page h2{font-size:24px; line-height:1.3; letter-spacing:-.015em; text-wrap:pretty;}
#app#app .messaging-center-page h3{font-size:16px; line-height:1.4;}
#app#app .messaging-center-page button,#app#app .messaging-center-page input,#app#app .messaging-center-page textarea{font-family:var(--font);}
#app#app .messaging-center-page button{letter-spacing:.02em;}
#app#app .messaging-center-page button:disabled{cursor:not-allowed;}
#app#app .messaging-center-page button:focus-visible,#app#app .messaging-center-page input:focus-visible,#app#app .messaging-center-page textarea:focus-visible,#app#app .messaging-center-page summary:focus-visible,#app#app .messaging-center-page [tabindex]:focus-visible{outline:3px solid var(--fg); outline-offset:3px;}
#app#app .messaging-center-page button:active:not(:disabled){border-color:var(--fg);}
#app#app .messaging-center-page :is(p,h2,h3,strong,span,small){overflow-wrap:anywhere;}
#app#app .messaging-center-page :is(input,textarea){min-width:0;}
#app#app .messaging-center-page .mc-scope{display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:8px 12px; flex:none; border:1px solid var(--border); border-radius:7px; background:transparent; color:var(--fg); font-size:12px;}
#app#app .messaging-center-page .mc-scope:hover{border-color:var(--strong); background:var(--surface); color:var(--fg);}
#app#app .messaging-center-page .mc-scope .mc-icon{width:16px; height:16px;}
#app#app .messaging-center-page .mc-toolbar{display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:21px;}
#app#app .messaging-center-page .mc-filters{display:flex; gap:20px; align-self:stretch;}
#app#app .messaging-center-page .mc-filter{min-height:46px; display:flex; align-items:center; gap:8px; border:0; border-bottom:2px solid transparent; padding:0 0 8px; background:transparent; color:var(--muted); font-size:13px; white-space:nowrap;}
#app#app .messaging-center-page .mc-filter:hover{color:var(--fg); border-bottom-color:var(--strong);}
#app#app .messaging-center-page .mc-filter[aria-pressed=true]{color:var(--fg); border-bottom-color:var(--fg); font-weight:600;}
#app#app .messaging-center-page .mc-filter span{padding:1px 5px; border-radius:4px; color:inherit; background:var(--surface); font:11px/1.5 var(--mono);}
#app#app .messaging-center-page .mc-search{display:flex; align-items:center; gap:9px; width:300px; min-width:180px; border:1px solid var(--strong); border-radius:7px; background:var(--surface); padding:0 12px; color:var(--muted);}
#app#app .messaging-center-page .mc-search .mc-icon{width:17px; height:17px;}
#app#app .messaging-center-page .mc-search input{min-height:44px; width:100%; border:0; background:transparent; padding:9px 0; font-size:13px; color:var(--fg);}
#app#app .messaging-center-page .mc-search:focus-within{outline:2px solid var(--fg); outline-offset:3px;}
#app#app .messaging-center-page .mc-search input:focus-visible{outline-offset:-2px;}
#app#app .messaging-center-page .mc-workspace{min-width:0; border:1px solid var(--border); border-radius:7px; background:var(--surface);}
#app#app .messaging-center-page .mc-desk{display:grid; grid-template-columns:minmax(250px,.82fr) minmax(0,1.65fr); align-items:stretch;}
#app#app .messaging-center-page .mc-index{min-width:0; border-right:1px solid var(--border);}
#app#app .messaging-center-page .mc-index-head{display:flex; justify-content:space-between; gap:12px; align-items:center; padding:17px 18px; border-bottom:1px solid var(--border); font-size:11px; color:var(--muted); letter-spacing:.015em;}
#app#app .messaging-center-page .mc-index-head strong{color:var(--fg); font-weight:550;}
#app#app .messaging-center-page .mc-thread{display:block; position:relative; text-align:left; width:100%; min-height:124px; padding:18px; border:0; border-bottom:1px solid var(--border); border-radius:0; background:transparent; color:var(--fg); letter-spacing:0!important;}
#app#app .messaging-center-page .mc-thread:last-child{border-bottom:0;}
#app#app .messaging-center-page .mc-thread:hover{background:var(--raised); color:var(--fg); box-shadow:inset 0 0 0 1px var(--strong);}
#app#app .messaging-center-page .mc-thread[aria-pressed=true]{background:var(--raised); color:var(--fg); box-shadow:inset 0 0 0 1px var(--strong);}
#app#app .messaging-center-page .mc-thread:focus-visible{outline-offset:-4px;}
#app#app .messaging-center-page .mc-thread-head{display:flex; align-items:baseline; justify-content:space-between; gap:9px;}
#app#app .messaging-center-page .mc-thread-head strong{font-size:13px;}
#app#app .messaging-center-page .mc-thread-head time{font:11px var(--mono); color:var(--muted); flex:none;}
#app#app .messaging-center-page .mc-thread-subject{display:block; font-size:14px; font-weight:550; margin:7px 0 5px; line-height:1.45;}
#app#app .messaging-center-page .mc-thread-preview{display:block; font-size:12px; color:var(--muted); line-height:1.55;}
#app#app .messaging-center-page .mc-thread-foot{display:flex; align-items:center; gap:10px; margin-top:10px; font-size:11px; color:var(--muted);}
#app#app .messaging-center-page .mc-status{display:inline-flex; align-items:center; gap:5px; font-size:11px; line-height:1.5; color:var(--muted); letter-spacing:.015em;}
#app#app .messaging-center-page .mc-status .mc-icon{width:13px; height:13px;}
#app#app .messaging-center-page .mc-status.needs{color:var(--fg);}
#app#app .messaging-center-page .mc-status.needs::before{content:''; width:5px; height:5px; border-radius:50%; background:currentColor; flex:none;}
#app#app .messaging-center-page .mc-draft-label{margin-left:auto; font-style:italic;}
#app#app .messaging-center-page .mc-reader{min-width:0; padding:28px 30px;}
#app#app .messaging-center-page .mc-reader:focus{outline-offset:-4px;}
#app#app .messaging-center-page .mc-reading-kicker{display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px;}
#app#app .messaging-center-page .mc-reading-kicker>span:first-child{font-size:11px; color:var(--muted); letter-spacing:.08em; text-transform:uppercase;}
#app#app .messaging-center-page .mc-reader-title{margin-bottom:24px;}
#app#app .messaging-center-page .mc-sender{display:flex; align-items:center; gap:11px; min-width:0;}
#app#app .messaging-center-page .mc-avatar{width:39px; height:39px; display:grid; place-items:center; border:1px solid var(--strong); border-radius:7px; background:var(--raised); color:var(--fg); font:12px var(--mono); flex:none;}
#app#app .messaging-center-page .mc-sender-details{min-width:0;}
#app#app .messaging-center-page .mc-sender-details strong{display:block; font-size:14px;}
#app#app .messaging-center-page .mc-sender-details small{display:block; color:var(--muted); font-size:11px; line-height:1.6; letter-spacing:.015em;}
#app#app .messaging-center-page .mc-message-meta{display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px;}
#app#app .messaging-center-page .mc-message-date{display:block; color:var(--muted); font-size:11px; text-align:right; line-height:1.7; letter-spacing:.015em;}
#app#app .messaging-center-page .mc-message-date time{font-family:var(--mono);}
#app#app .messaging-center-page .mc-message-body{max-width:65ch; margin:23px 0; font-size:15px; line-height:1.7; white-space:pre-wrap; overflow-wrap:anywhere; text-wrap:pretty;}
#app#app .messaging-center-page .mc-booking-context{display:flex; gap:8px 13px; flex-wrap:wrap; align-items:center; margin:18px 0; padding:12px 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); color:var(--muted); font-size:11px;}
#app#app .messaging-center-page .mc-booking-context strong{color:var(--fg); font-family:var(--mono); font-weight:400;}
#app#app .messaging-center-page .mc-composer{border:1px solid var(--strong); border-radius:7px; margin-top:22px; background:var(--bg);}
#app#app .messaging-center-page .mc-compose-head{padding:14px 16px 11px; display:flex; gap:9px; align-items:center; border-bottom:1px solid var(--border);}
#app#app .messaging-center-page .mc-compose-head .mc-icon{width:17px; height:17px;}
#app#app .messaging-center-page .mc-compose-head h3{font-size:13px; font-weight:550;}
#app#app .messaging-center-page .mc-compose-head span{font-size:11px; color:var(--muted); margin-left:auto;}
#app#app .messaging-center-page .mc-compose-address{padding:12px 16px 0; font-size:11px; color:var(--muted); line-height:1.6;}
#app#app .messaging-center-page .mc-compose-address strong{color:var(--fg); font-weight:400;}
#app#app .messaging-center-page .mc-compose-subject{display:flex; align-items:baseline; gap:9px; padding:4px 16px 0; font-size:11px; color:var(--muted);}
#app#app .messaging-center-page .mc-compose-subject strong{color:var(--fg); font-weight:400;}
#app#app .messaging-center-page .mc-composer textarea{display:block; resize:vertical; width:100%; min-height:132px; max-height:440px; border:0; border-radius:0; padding:16px; color:var(--fg); background:transparent; font-size:14px; line-height:1.6;}
#app#app .messaging-center-page .mc-composer textarea::placeholder{color:var(--muted); opacity:1;}
#app#app .messaging-center-page .mc-composer textarea:focus-visible{outline-offset:-4px;}
#app#app .messaging-center-page .mc-compose-footer{display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; padding:12px 16px; border-top:1px solid var(--border);}
#app#app .messaging-center-page .mc-compose-footer small{color:var(--muted); font-size:11px;}
#app#app .messaging-center-page .mc-send{display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 16px; gap:10px; border:1px solid var(--accent); border-radius:5px; background:var(--accent); color:var(--on-accent); font-size:13px; font-weight:600;}
#app#app .messaging-center-page .mc-send .mc-icon{width:16px; height:16px;}
#app#app .messaging-center-page .mc-send:hover{background:oklch(from var(--accent) calc(l + .08) c h); color:var(--on-accent); border-color:var(--accent);}
#app#app .messaging-center-page .mc-send:active{background:oklch(from var(--accent) calc(l + .06) c h); color:var(--on-accent);}
#app#app .messaging-center-page .mc-composer .mc-error{padding:0 16px 12px; color:var(--danger); font-size:12px;}
#app#app .messaging-center-page .mc-composer .mc-error:empty{display:none;}
#app#app .messaging-center-page .mc-composer .mc-translation{margin:0 16px 14px;padding:12px 14px;border:1px solid var(--border);border-radius:6px;background:var(--surface)}
#app#app .messaging-center-page .mc-composer .mc-translation h4{margin:0 0 4px;font:550 12px/1.4 var(--font);color:var(--fg)}
#app#app .messaging-center-page .mc-composer .mc-translation p{margin:0;font-size:11px;line-height:1.6;color:var(--muted)}
#app#app .messaging-center-page .mc-composer .mc-translation p.gm-error{color:var(--danger)}
#app#app .messaging-center-page .mc-composer .mc-translation .mc-bubble-text{margin:10px 0;font-size:13px;line-height:1.6;color:var(--fg);white-space:pre-wrap;overflow-wrap:anywhere}
#app#app .messaging-center-page .mc-composer .mc-translation .btn{margin-top:10px}
#app#app .messaging-center-page .mc-button{display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:44px; padding:8px 12px; border:1px solid var(--strong); border-radius:5px; background:transparent; color:var(--fg); font-size:12px;}
#app#app .messaging-center-page .mc-button:hover{background:var(--raised); border-color:var(--fg); color:var(--fg);}
#app#app .messaging-center-page .mc-button .mc-icon{width:16px; height:16px;}
#app#app .messaging-center-page .mc-plain-button{display:inline-flex; gap:7px; align-items:center; min-height:44px; padding:8px 0; border:0; background:transparent; color:var(--fg); font-size:12px;}
#app#app .messaging-center-page .mc-plain-button:hover{text-decoration:underline; text-underline-offset:4px;}
#app#app .messaging-center-page .mc-plain-button .mc-icon{width:16px; height:16px;}
#app#app .messaging-center-page .mc-readonly{color:var(--muted); font-size:12px; line-height:1.6; margin:16px 0 4px;}
#app#app .messaging-center-page .mc-back{display:none;}
#app#app .messaging-center-page .mc-empty{padding:70px 24px; text-align:center; border:1px solid var(--border); border-radius:7px; background:var(--surface);}
#app#app .messaging-center-page .mc-empty>.mc-icon{width:32px; height:32px; color:var(--muted); margin-bottom:14px;}
#app#app .messaging-center-page .mc-empty h2{font-size:22px;}
#app#app .messaging-center-page .mc-empty p{margin:10px auto 18px; max-width:50ch; color:var(--muted);}
#app#app .messaging-center-page .mc-endnote{font-size:11px; color:var(--muted); letter-spacing:.015em; display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap; margin-top:15px;}
@media (min-width:1500px){
#app#app .messaging-center-page .mc-desk{grid-template-columns:350px minmax(0,1fr);}
#app#app .messaging-center-page .mc-reader{padding:32px 40px;}
}
@media (min-width:1024px) and (max-width:1250px){
#app#app .messaging-center-page .mc-toolbar{align-items:stretch; flex-wrap:wrap; gap:13px;}
#app#app .messaging-center-page .mc-search{width:100%;}
#app#app .messaging-center-page .mc-desk{grid-template-columns:255px minmax(0,1fr);}
#app#app .messaging-center-page .mc-reader{padding:24px 20px;}
}
@media (max-width:760px){
#app#app .messaging-center-page .mc-scope{font-size:11px; padding:7px 9px; gap:5px;}
#app#app .messaging-center-page .mc-toolbar{flex-direction:column-reverse; align-items:stretch; gap:14px;}
#app#app .messaging-center-page .mc-search{width:100%;}
#app#app .messaging-center-page .mc-filters{gap:20px;}
#app#app .messaging-center-page .mc-desk{display:block;}
#app#app .messaging-center-page .mc-index{border-right:0;}
#app#app .messaging-center-page .mc-desk .mc-reader{display:none;}
#app#app .messaging-center-page .mc-desk[data-reading=true] .mc-index{display:none;}
#app#app .messaging-center-page .mc-desk[data-reading=true] .mc-reader{display:block;}
#app#app .messaging-center-page .mc-back{display:inline-flex; margin-bottom:20px;}
#app#app .messaging-center-page .mc-reader{padding:22px;}
#app#app .messaging-center-page .mc-reader h2{font-size:23px;}
#app#app .messaging-center-page .mc-message-meta{align-items:flex-start;}
#app#app .messaging-center-page .mc-message-date{text-align:left;}
#app#app .messaging-center-page .mc-thread{min-height:116px; padding:18px 20px;}
}
@media (max-width:420px){
#app#app .messaging-center-page .mc-scope{margin-top:0;}
#app#app .messaging-center-page .mc-filters{gap:14px; justify-content:space-between;}
#app#app .messaging-center-page .mc-filter{font-size:12px; gap:5px;}
#app#app .messaging-center-page .mc-reader{padding:19px 16px;}
#app#app .messaging-center-page .mc-compose-footer{gap:10px;}
#app#app .messaging-center-page .mc-compose-footer small{flex-basis:100%;}
#app#app .messaging-center-page .mc-send{margin-left:auto;}
}
@media (prefers-reduced-motion:reduce){
#app#app .messaging-center-page *{transition:none!important; animation:none!important;}
}
#app#app .messaging-center-page .mc-page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:22px;margin:20px 0 24px}
#app#app .messaging-center-page .mc-page-head h1{margin:0;font:600 32px/1.15 var(--font);letter-spacing:-.02em;color:var(--fg)}
#app#app .messaging-center-page .mc-page-head p{margin:8px 0 0;font-size:14px;color:var(--muted)}
#app#app .messaging-center-page .mc-channel-controls{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;min-width:0}
#app#app .messaging-center-page .mc-channels{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--strong);border-radius:7px;background:var(--bg)}
#app#app .messaging-center-page .mc-channel{min-height:44px;min-width:90px;padding:9px 15px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--fg);font-size:13px;font-weight:550}
#app#app .messaging-center-page .mc-channel[aria-pressed=true]{background:var(--raised);border-color:var(--strong);color:var(--fg);box-shadow:inset 0 0 0 1px var(--strong)}
#app#app .messaging-center-page .mc-channel:hover{border-color:var(--fg);color:var(--fg)}
#app#app .messaging-center-page .mc-filter:disabled{opacity:.5}
#app#app .messaging-center-page .mc-filter:disabled:hover{color:var(--muted);border-bottom-color:transparent}
#app#app .messaging-center-page .mc-filter[aria-pressed=true]:disabled:hover{color:var(--fg);border-bottom-color:var(--fg)}
#app#app .messaging-center-page .mc-search:has(input:disabled){opacity:.5}
#app#app .messaging-center-page .mc-channel-empty{min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center}
#app#app .messaging-center-page .mc-channel-empty p{line-height:1.7}
@media (max-width:760px){
#app#app .messaging-center-page .mc-page-head{flex-direction:column;gap:16px}
#app#app .messaging-center-page .mc-page-head h1{font-size:28px}
#app#app .messaging-center-page .mc-channel-controls{width:100%;justify-content:space-between;gap:8px}
#app#app .messaging-center-page .mc-channels{flex:none}
#app#app .messaging-center-page .mc-channel{min-width:82px;padding:9px 11px}
#app#app .messaging-center-page .mc-channel-empty{min-height:300px;padding:36px 20px}
#app#app .messaging-center-page .mc-channel-empty h2{font-size:21px}
}
#app#app .messaging-center-page .mc-automation{display:flex; align-items:center; justify-content:space-between; gap:20px; padding:0 0 18px; margin:0 0 20px; border-bottom:1px solid var(--border);}
#app#app .messaging-center-page .mc-automation>div{min-width:0;}
#app#app .messaging-center-page .mc-automation h2{font-size:13px; line-height:1.5; letter-spacing:0; font-weight:550;}
#app#app .messaging-center-page .mc-automation p{margin-top:3px; max-width:65ch; color:var(--muted); font-size:12px; line-height:1.5;}
#app#app .messaging-center-page .mc-ai-switch{display:inline-flex; align-items:center; justify-content:flex-end; gap:10px; flex:none; min-width:88px; min-height:44px; padding:8px 4px 8px 10px; border:1px solid transparent; border-radius:7px; background:transparent; color:var(--fg); font-size:12px;}
#app#app .messaging-center-page .mc-switch-track{display:flex; align-items:center; justify-content:flex-start; width:44px; height:24px; padding:3px; border:1px solid var(--strong); border-radius:20px; background:var(--raised);}
#app#app .messaging-center-page .mc-switch-thumb{display:block; width:16px; height:16px; border-radius:50%; background:var(--muted);}
#app#app .messaging-center-page .mc-ai-switch[aria-checked=true] .mc-switch-track{justify-content:flex-end; border-color:var(--fg); background:var(--fg);}
#app#app .messaging-center-page .mc-ai-switch[aria-checked=true] .mc-switch-thumb{background:var(--bg);}
#app#app .messaging-center-page .mc-ai-switch:hover:not(:disabled){border-color:var(--strong); color:var(--fg);}
#app#app .messaging-center-page .mc-ai-switch:hover:not(:disabled) .mc-switch-track{border-color:var(--fg);}
@media (max-width:420px){
#app#app .messaging-center-page .mc-automation{gap:12px; align-items:flex-start;}
}

/* What the live page shows and the design did not */
#app#app .messaging-center-page .mc-note{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:0 0 14px;padding:11px 14px;border:1px solid var(--border);border-left:3px solid var(--strong);border-radius:7px;background:var(--surface);color:var(--fg);font-size:13px;line-height:1.55}
#app#app .messaging-center-page .mc-note-ok{border-left-color:var(--fg)}
#app#app .messaging-center-page .mc-note-warn{border-left-color:var(--danger)}
#app#app .messaging-center-page .mc-index-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:14px 18px;border-top:1px solid var(--border);font-size:12px;line-height:1.55}
#app#app .messaging-center-page .mc-ai-draft{margin:18px 0;border:1px solid var(--border);border-left:3px solid var(--strong);border-radius:5px;background:var(--bg)}
#app#app .messaging-center-page .mc-ai-draft header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:11px 16px;border-bottom:1px solid var(--border)}
#app#app .messaging-center-page .mc-ai-draft h3{font-size:13px;font-weight:550}
#app#app .messaging-center-page .mc-ai-draft header span{font-size:11px;color:var(--muted);letter-spacing:.015em}
#app#app .messaging-center-page .mc-ai-text{margin:0;padding:14px 16px;max-width:65ch;font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}
#app#app .messaging-center-page .mc-ai-draft footer{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:6px 16px;border-top:1px solid var(--border)}
#app#app .messaging-center-page .mc-compose-note{margin:0;padding:10px 16px 0;font-size:12px;line-height:1.5;color:var(--muted)}
#app#app .messaging-center-page .mc-compose-address .muted{font-size:11px}
#app#app .messaging-center-page .mc-quiet{display:flex;align-items:flex-start;gap:9px;margin:16px 0 4px;color:var(--muted);font-size:12px;line-height:1.6}
#app#app .messaging-center-page .mc-quiet .mc-icon{width:16px;height:16px;margin-top:2px}
#app#app .messaging-center-page .mc-linked-open{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px 13px;min-height:44px;padding:0;border:0;background:transparent;color:var(--muted);font:11px/1.5 var(--font);letter-spacing:.015em;text-align:left;cursor:pointer}
#app#app .messaging-center-page .mc-linked-open:hover span:first-of-type{color:var(--fg);text-decoration:underline;text-underline-offset:3px}
#app#app .messaging-center-page .mc-linked-open strong{color:var(--fg);font-family:var(--mono);font-weight:400}
#app#app .messaging-center-page .mc-booking-context:has(.mc-gmail){padding:0}
#app#app .messaging-center-page .mc-gmail{margin-left:auto;display:inline-flex;align-items:center;min-height:44px;color:var(--muted);font-size:11px;text-decoration:underline;text-underline-offset:3px}
#app#app .messaging-center-page .mc-gmail:hover{color:var(--fg)}
#app#app .messaging-center-page .mc-check{min-height:32px;padding:0;border:0;background:transparent;color:var(--muted);font:inherit;letter-spacing:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
#app#app .messaging-center-page .mc-check:hover:not(:disabled){color:var(--fg)}
#app#app .messaging-center-page .mc-empty .mc-button{margin-top:16px}
#app#app .messaging-center-page .mc-history{margin:16px 0 21px}
#app#app .messaging-center-page .mc-history summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;min-height:44px;color:var(--muted);font-size:12px;list-style:none;cursor:pointer}
#app#app .messaging-center-page .mc-history summary::-webkit-details-marker{display:none}
#app#app .messaging-center-page .mc-history summary:hover{color:var(--fg)}
#app#app .messaging-center-page .mc-history summary .mc-icon{width:15px;height:15px}
#app#app .messaging-center-page .mc-history[open] summary .mc-icon{transform:rotate(180deg)}
#app#app .messaging-center-page .mc-history-item{padding:16px;border:1px solid var(--border);border-radius:5px;margin:8px 0;background:var(--bg)}
#app#app .messaging-center-page .mc-history-item header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:11px;color:var(--muted)}
#app#app .messaging-center-page .mc-history-item header strong{color:var(--fg);font-weight:550}
#app#app .messaging-center-page .mc-history-item p{margin:10px 0 0;font-size:13px;line-height:1.65;white-space:pre-wrap}
#app#app .messaging-center-page .mc-linked-off{color:var(--danger)}

/* Write to guests: unchanged function, the desk's surface and type */
#app#app .messaging-center-page .mc-section{display:grid;gap:12px;min-width:0;margin-top:30px;padding:20px 22px;border:1px solid var(--border);border-radius:7px;background:var(--surface)}
#app#app .messaging-center-page .mc-section>h2{margin:0;font:600 16px/1.4 var(--font);letter-spacing:0}
#app#app .messaging-center-page .mc-section>p{margin:0;font-size:13px;line-height:1.6}
#app#app .messaging-center-page .mc-section .mc-error{padding:0;font-size:13px}
#app#app .messaging-center-page .mc-write{display:block}
#app#app .messaging-center-page .mc-write>summary{cursor:pointer;min-height:24px}
#app#app .messaging-center-page .mc-write>summary>h2{display:inline;margin:0 0 0 6px;font:600 16px/1.4 var(--font);letter-spacing:0}
#app#app .messaging-center-page .mc-write-body{display:grid;gap:12px;min-width:0;margin-top:14px}
#app#app .messaging-center-page .mc-write-body>p{margin:0;font-size:13px;line-height:1.6}
#app#app .messaging-center-page #mc-content>.mc-quiet{margin:0 0 14px}
#app#app .messaging-center-page .mc-date{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:13px;color:var(--muted)}
#app#app .messaging-center-page .mc-date input{min-height:44px;width:150px;max-width:100%;padding:8px 12px;border:1px solid var(--strong);border-radius:5px;background:var(--bg);color:var(--fg);font:13px var(--mono)}
#app#app .messaging-center-page .mc-list{list-style:none;margin:0;padding:0;display:grid;min-width:0}
#app#app .messaging-center-page .mc-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;min-width:0;padding:10px 0;border-top:1px solid var(--border)}
#app#app .messaging-center-page .mc-time{font:12px var(--mono);color:var(--muted);white-space:nowrap}
#app#app .messaging-center-page .mc-main{flex:1 1 220px;min-width:0;font-size:14px}
@media (max-width:760px){
#app#app .messaging-center-page .mc-section{padding:18px}
#app#app .messaging-center-page .mc-index-foot{padding:14px 20px}
}
/* The Sent tab: figures for the last 30 days, and Automatic or Written on every message. */
#app#app .messaging-center-page .sl-summary-title{margin:0 0 10px;font-size:11px;font-weight:500;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}
#app#app .messaging-center-page .sl-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 22px}
#app#app .messaging-center-page .sl-stat{display:flex;flex-direction:column;gap:6px;min-width:0;padding:14px 16px;border:1px solid var(--border);border-radius:6px;background:var(--bg)}
#app#app .messaging-center-page .sl-stat-lbl{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}
#app#app .messaging-center-page .sl-stat-lbl .mc-icon{width:14px;height:14px;flex:none}
#app#app .messaging-center-page .sl-stat-val{font:550 24px/1.2 var(--mono);letter-spacing:-.02em;color:var(--fg)}
#app#app .messaging-center-page .mc-filter .mc-icon{width:15px;height:15px;flex:none}
#app#app .messaging-center-page .sl-filters{flex-wrap:wrap;column-gap:18px;row-gap:0}
#app#app .messaging-center-page .sl-kind{display:inline-flex;align-items:center;gap:4px;padding:1px 6px;border:1px solid var(--border);border-radius:4px;font-size:11px;line-height:1.5;color:var(--muted)}
#app#app .messaging-center-page .sl-kind.is-written{border-color:var(--fg);color:var(--fg);font-weight:600}
#app#app .messaging-center-page .sl-kind .mc-icon{width:12px;height:12px;flex:none}
#app#app .messaging-center-page .sl-desk .mc-thread-subject .mc-icon{width:14px;height:14px;margin-right:6px;vertical-align:-2px}
#app#app .messaging-center-page .sl-facts{display:grid;gap:8px;margin:18px 0;padding:12px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
#app#app .messaging-center-page .sl-facts div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;align-items:baseline}
#app#app .messaging-center-page .sl-facts dt{font-size:12px;color:var(--muted)}
#app#app .messaging-center-page .sl-facts dd{margin:0;font-size:13px;overflow-wrap:anywhere}
#app#app .messaging-center-page .sl-facts .sl-kind{margin-right:6px}
#app#app .messaging-center-page .sl-scope{margin:16px 0 0}
@media (max-width:760px){
#app#app .messaging-center-page .sl-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
#app#app .messaging-center-page .sl-facts div{grid-template-columns:1fr;gap:2px}
}
@media (max-width:600px){
#app#app .messaging-center-page{padding:0 16px 24px}
}

#app#app .message-center{max-width:none;margin:0;padding:0 var(--s5) 32px;color:var(--fg)}
#app#app .message-center [hidden]{display:none!important}
#app#app .message-center .am-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#app#app .message-center :is(p,li,h2,h3,summary,strong,small){overflow-wrap:anywhere}
#app#app .message-center .muted{color:var(--muted);font-size:12px;line-height:1.6}
#app#app .message-center p{margin:0;max-width:75ch;line-height:1.6;text-wrap:pretty}
#app#app .message-center :is(h2,h3){font-family:var(--font);color:var(--fg)}
#app#app .message-center :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--fg);outline-offset:3px}
#app#app .message-center button{min-height:44px;max-width:100%;margin:0;padding:8px 13px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--strong);border-radius:6px;background:transparent;color:var(--fg);font:550 13px/1.4 var(--font);letter-spacing:.02em;white-space:normal;box-shadow:none;cursor:pointer}
#app#app .message-center button:hover:not(:disabled){background:var(--bg);border-color:var(--fg);color:var(--fg)}
#app#app .message-center button:disabled{opacity:.5;cursor:not-allowed}
#app#app .message-center button.am-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}
#app#app .message-center button.am-primary:hover:not(:disabled){background:oklch(from var(--accent) calc(l + .08) c h);border-color:var(--fg);color:var(--on-accent)}
#app#app .message-center label{display:block;margin:18px 0 7px;font:550 12px/1.4 var(--font);letter-spacing:.02em;color:var(--fg)}
#app#app .message-center :is(input:not([type=checkbox]):not([type=radio]),textarea,select){display:block;width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid var(--strong);border-radius:7px;background:var(--bg);color:var(--fg);font:400 13px/1.5 var(--font);letter-spacing:0}
#app#app .message-center textarea{min-height:246px;resize:vertical;font-size:13px;line-height:1.6}
#app#app .message-center :is(input,textarea):disabled{opacity:.6;cursor:not-allowed}
#app#app .message-center code{font:12px/1.5 var(--mono)}
#app#app .message-center .error,#app#app .message-center .text-danger{color:var(--danger)}
#app#app .message-center>#status{min-height:0;margin:0 0 12px;font-size:12px;color:var(--muted)}
#app#app .message-center>#status:empty{display:none}
#app#app .message-center>#message-retry{margin:0 0 16px}

/* Sending: the banner at the top */
#app#app .message-center .delivery-mode-panel{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 24px;padding:16px 20px;border:1px solid var(--border);border-radius:7px;background:var(--surface);box-shadow:none}
#app#app .message-center .delivery-mode-panel>div{flex:1;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 20px}
#app#app .message-center .delivery-mode-panel>div>*{grid-column:1}
#app#app .message-center .delivery-mode-panel>div>:is(.guide-actions,button){grid-column:2;grid-row:1/span 4;align-self:center}
#app#app .message-center .delivery-mode-panel h3{display:flex;align-items:center;gap:10px;margin:0;font:600 13px/1.4 var(--font);letter-spacing:0}
#app#app .message-center .delivery-mode-panel p{margin:0;font-size:12px;color:var(--muted)}
#app#app .message-center .delivery-mode-panel p.text-danger{color:var(--danger)}
#app#app .message-center .delivery-mode-state{display:inline-flex;align-items:center;gap:7px;padding:3px 8px;border:1px solid var(--border);border-radius:4px;font:500 11px/1.4 var(--mono);letter-spacing:.04em;color:var(--muted)}
#app#app .message-center .delivery-mode-panel.is-on .delivery-mode-state{color:var(--success)}
#app#app .message-center .delivery-mode-panel.is-paused .delivery-mode-state{color:var(--warn)}
#app#app .message-center .delivery-mode-panel.is-unknown .delivery-mode-state{color:var(--danger)}
#app#app .message-center .delivery-mode-panel .guide-actions{display:flex;gap:8px;margin:0}
#app#app .message-center .delivery-mode-panel button{margin:0}

/* The messages: switches drop-down, then the list beside the chosen message */
#app#app .message-center .am-messages{display:block;margin:0 0 24px;padding:0;border:0;background:transparent;box-shadow:none}
#app#app .message-center .am-messages>p[role=status]{margin:0 0 12px;font-size:12px;color:var(--muted)}
#app#app .message-center .am-messages>p[role=status]:empty{display:none}
#app#app .message-center .auto-row{margin:0;border:1px solid var(--border);border-radius:7px;background:var(--surface);min-width:0}
#app#app .message-center .auto-row>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:6px 20px;border:0;border-radius:7px;cursor:pointer;list-style:none}
#app#app .message-center .auto-row>summary::-webkit-details-marker{display:none}
#app#app .message-center .auto-row>summary::before{content:"";flex:none;width:7px;height:7px;border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);transform:rotate(-45deg);transition:transform .12s}
#app#app .message-center .auto-row[open]>summary::before{transform:rotate(45deg)}
#app#app .message-center .auto-row>summary:hover{background:var(--raised)}
#app#app .message-center .auto-row[open]>summary{border-bottom:1px solid var(--border);border-radius:7px 7px 0 0}
#app#app .message-center .auto-row-title{flex:1;min-width:0;margin:0;font:600 14px/1.4 var(--font);letter-spacing:0}
#app#app .message-center .auto-row-state{flex:none;font:500 11px/1.4 var(--mono);letter-spacing:.02em;text-transform:none;color:var(--muted)}
#app#app .message-center .auto-row-state.is-on{color:var(--success)}
#app#app .message-center .auto-row-state::before{display:none}
#app#app .message-center .auto-row-body{padding:16px 20px 20px;min-width:0}
#app#app .message-center .auto-switches{margin:0 0 24px}
#app#app .message-center .auto-switches>.auto-row-body{padding:4px 20px 8px}
#app#app .message-center .auto-switch-line{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:4px 0;border-top:1px solid var(--border)}
#app#app .message-center .auto-switch-line:first-child{border-top:0}
#app#app .message-center .auto-switch-name{flex:1;min-width:0;font-size:13px;font-weight:500}
#app#app .message-center .auto-switch-line button.auto-switch-toggle{flex:none;flex-direction:row-reverse;justify-content:space-between;gap:10px;min-width:88px;padding:0 16px 0 8px;border-radius:999px;font-weight:600;color:var(--muted)}
#app#app .message-center .auto-switch-line button.auto-switch-toggle::after{content:"";flex:none;width:22px;height:22px;border-radius:50%;background:currentColor}
#app#app .message-center .auto-switch-line button.auto-switch-toggle[aria-checked=true]{flex-direction:row;padding:0 8px 0 16px;color:var(--success);border-color:var(--success)}
#app#app .message-center .auto-switch-line button.auto-switch-toggle:hover:not(:disabled){color:var(--fg)}
#app#app .message-center .auto-switch-line button.auto-switch-toggle[aria-checked=true]:hover:not(:disabled){color:var(--success)}

#app#app .message-center .am-categories{display:flex;gap:8px 24px;flex-wrap:wrap;margin:0 0 20px;border-bottom:1px solid var(--border)}
#app#app .message-center .am-categories:empty{display:none}
#app#app .message-center button.am-category{display:flex;align-items:center;gap:9px;min-height:44px;margin:0 0 -1px;padding:0 2px 9px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--muted);font:550 14px/1.4 var(--font);cursor:pointer}
#app#app .message-center button.am-category:hover:not(:disabled){color:var(--fg);border-bottom-color:var(--strong);background:transparent}
#app#app .message-center button.am-category[aria-pressed=true]{color:var(--fg);border-bottom-color:var(--fg);background:transparent;box-shadow:none}
#app#app .message-center .am-count{min-width:24px;padding:1px 5px;border:1px solid var(--border);border-radius:4px;font:400 11px/1.5 var(--mono);text-align:center;color:var(--muted)}
#app#app .message-center button.am-category[aria-pressed=true] .am-count{border-color:var(--strong);color:var(--fg)}
#app#app .message-center .am-desk{display:grid;grid-template-columns:230px minmax(0,1fr);gap:24px;align-items:start}
#app#app .message-center .am-desk:has(.am-index:empty){display:block}
#app#app .message-center .am-index{display:grid;gap:8px;min-width:0}
#app#app .message-center .am-index:empty{display:none}
#app#app .message-center .am-index-label{padding:0 4px 8px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
#app#app .message-center .am-index-label:not(:first-child){margin-top:14px}
#app#app .message-center button.am-choice{display:block;width:100%;min-height:84px;padding:16px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--fg);text-align:left;line-height:1.5;letter-spacing:0}
#app#app .message-center .am-choice strong{display:block;font-size:13px;font-weight:550}
#app#app .message-center .am-choice small{display:block;margin-top:5px;font-size:12px;letter-spacing:.01em;color:var(--muted)}
#app#app .message-center .am-choice small.is-on{color:var(--success)}
#app#app .message-center button.am-choice[aria-pressed=true]{background:var(--raised);border-color:var(--strong)}
#app#app .message-center button.am-choice:hover:not(:disabled){background:var(--surface);border-color:var(--fg)}
#app#app .message-center .am-desk .auto-list{display:block;margin:0;min-width:0}
#app#app .message-center .am-desk .auto-row>summary{display:none}
#app#app .message-center .am-desk .auto-row-body{padding:0}
#app#app .message-center .am-desk .auto-toggle{padding:22px 24px;border-bottom:1px solid var(--border)}
#app#app .message-center .am-title{margin:0;font:600 19px/1.4 var(--font);letter-spacing:-.01em}
#app#app .message-center .auto-toggle p{margin:6px 0 0;font-size:12px;color:var(--muted)}
#app#app .message-center .am-desk .auto-slot{padding:8px 24px 24px;min-width:0}
#app#app .message-center .auto-slot>p[role=status]{margin-top:14px;font-size:12px}
#app#app .message-center .auto-slot>p[role=status]:empty{display:none}
#app#app .message-center .auto-slot>button{margin:18px 8px 0 0}
#app#app .message-center .auto-slot>h3{margin:28px 0 8px;padding-top:20px;border-top:1px solid var(--border);font:600 14px/1.5 var(--font)}
#app#app .message-center .auto-slot>p.muted{margin-top:8px}
#app#app .message-center .auto-slot details{margin-top:10px;padding:10px 14px;border:1px solid var(--border);border-radius:7px;background:var(--bg);font-size:12px}
#app#app .message-center .auto-slot details>summary{cursor:pointer;line-height:1.6}
#app#app .message-center .auto-slot details>p{margin-top:8px}

/* A pickup message: the fields beside the example preview, then the save bar */
#app#app .message-center .am-editor>p.muted:first-child{margin-top:14px}
#app#app .message-center .am-edit-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(230px,.9fr);gap:24px;margin-top:4px}
#app#app .message-center .am-fields{min-width:0}
#app#app .message-center .am-preview{align-self:start;min-width:0;margin-top:18px;padding:20px;border:1px solid var(--border);border-radius:7px;background:var(--bg)}
#app#app .message-center .am-preview .am-preview-label{margin:0 0 18px;font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
#app#app .message-center .am-preview>strong{display:block;margin:0 0 16px;padding-bottom:14px;border-bottom:1px solid var(--border);font-size:14px;font-weight:550;line-height:1.6}
#app#app .message-center .am-preview .message{margin:0;padding:0;border:0;background:transparent;font-size:13px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}
#app#app .message-center .am-editor>p.muted:not(:first-child){margin-top:12px}
#app#app .message-center .message-dialog-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin:20px -24px 0;padding:18px 24px 0;border-top:1px solid var(--border)}
#app#app .message-center .message-dialog-actions button{margin:0}
#app#app .message-center .am-editor>p[role=status]{margin-top:12px;font-size:12px}
#app#app .message-center .am-editor>p[role=status]:empty{display:none}
#app#app .message-center .am-editor article,#app#app .message-center #test-results article{margin-top:14px;padding:16px 18px;border:1px solid var(--border);border-radius:7px;background:var(--bg)}
#app#app .message-center article h3{margin:0 0 8px;font:600 13px/1.5 var(--font)}
#app#app .message-center article p{font-size:12px;line-height:1.7}

/* Send me a sample, Placeholders you can use, Automation history */
#app#app .message-center>details.auto-row{margin:0 0 12px}
#app#app .message-center>details.auto-row>.auto-row-body>*+*{margin-top:12px}
#app#app .message-center #placeholders ul{margin:0;padding:0;list-style:none;display:grid;gap:6px}
#app#app .message-center #placeholders li{font:12px/1.6 var(--mono);color:var(--muted)}
#app#app .message-center>details.auto-row label{margin:0 0 7px}
#app#app .message-center #automation-operating-date{width:160px;font-family:var(--mono)}
#app#app .message-center article.guide-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0;padding:14px 0;border:0;border-top:1px solid var(--border);border-radius:0;background:transparent}
#app#app .message-center article.guide-row h3{margin:0 0 4px;font:600 13px/1.5 var(--font)}
#app#app .message-center article.guide-row p{font-size:12px;color:var(--muted)}
#app#app .message-center .guide-actions{display:flex;flex-wrap:wrap;gap:8px}

@media(max-width:1250px){
#app#app .message-center .am-desk{grid-template-columns:200px minmax(0,1fr);gap:18px}
#app#app .message-center .am-edit-grid{grid-template-columns:1fr;gap:0}
#app#app .message-center textarea{min-height:220px}
}
@media(max-width:760px){
#app#app .message-center{padding:0 16px 24px}
#app#app .message-center .delivery-mode-panel>div{grid-template-columns:1fr}
#app#app .message-center .delivery-mode-panel>div>:is(.guide-actions,button){grid-column:1;grid-row:auto;margin-top:8px}
#app#app .message-center .am-desk{grid-template-columns:1fr}
#app#app .message-center .am-index{grid-template-columns:repeat(3,minmax(0,1fr))}
#app#app .message-center .am-index-label{grid-column:1/-1}
#app#app .message-center button.am-choice{min-height:100px;padding:12px}
#app#app .message-center .am-choice strong{font-size:12px}
#app#app .message-center .am-choice small{font-size:11px}
#app#app .message-center .am-desk .auto-toggle{padding:18px}
#app#app .message-center .am-desk .auto-slot{padding:4px 18px 18px}
#app#app .message-center .message-dialog-actions{margin:20px -18px 0;padding:16px 18px 0}
#app#app .message-center .auto-row>summary{padding:6px 16px}
#app#app .message-center .auto-row-body{padding:14px 16px 18px}
}
@media(max-width:480px){
#app#app .message-center .am-index{grid-template-columns:1fr}
#app#app .message-center button.am-choice{min-height:70px;padding:12px 14px}
#app#app .message-center .message-dialog-actions button{flex:1}
}

#app#app :is(.message-center.guide-roster,.accounts-page) .ro-top{display:flex;align-items:center;justify-content:space-between;gap:16px 20px;flex-wrap:wrap;margin:0 0 24px;padding:0 0 22px;border-bottom:1px solid var(--border)}
#app#app :is(.message-center.guide-roster,.accounts-page) .ro-summary{display:flex;flex-wrap:wrap;gap:32px;margin:0}
#app#app :is(.message-center.guide-roster,.accounts-page) .ro-summary div{display:flex;align-items:baseline;gap:9px}
#app#app :is(.message-center.guide-roster,.accounts-page) .ro-summary dt{order:1;font-size:12px;color:var(--muted)}
#app#app :is(.message-center.guide-roster,.accounts-page) .ro-summary dd{margin:0;font:550 22px/1.3 var(--mono);letter-spacing:-.02em;color:var(--fg)}
#app#app :is(.message-center.guide-roster,.accounts-page) .ro-actions{display:flex;flex-wrap:wrap;gap:8px}
#app#app :is(.message-center.guide-roster,.accounts-page) .ro-status{margin:0 0 12px;font-size:12px;color:var(--muted)}
#app#app :is(.message-center.guide-roster,.accounts-page) .ro-status:empty{display:none}
#app#app :is(.message-center.guide-roster,.accounts-page) .ro-panel{display:block;min-width:0;margin:0;padding:0;border:1px solid var(--border);border-radius:7px;background:var(--surface);box-shadow:none}
#app#app :is(.message-center.guide-roster,.accounts-page) :is(.ro-head,.ro-row){display:grid;grid-template-columns:minmax(160px,1.25fr) minmax(180px,1.4fr) minmax(100px,.7fr) 216px;gap:20px;align-items:center;padding:18px 22px}
#app#app :is(.message-center.guide-roster,.accounts-page) .ro-head{border-bottom:1px solid var(--border);border-radius:7px 7px 0 0;background:var(--bg);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
#app#app :is(.message-center.guide-roster,.accounts-page) .ro-row{margin:0;border:0;border-radius:0;background:transparent}
#app#app :is(.message-center.guide-roster,.accounts-page) .ro-row+.ro-row{border-top:1px solid var(--border)}
#app#app :is(.message-center.guide-roster,.accounts-page) .ro-person{display:flex;align-items:center;gap:13px;min-width:0}
#app#app :is(.message-center.guide-roster,.accounts-page) .ro-initials{display:grid;place-items:center;flex:none;width:38px;height:38px;border:1px solid var(--strong);border-radius:7px;font:500 12px/1 var(--mono);color:var(--fg)}
#app#app :is(.message-center.guide-roster,.accounts-page) .ro-person h3{margin:0;font:600 14px/1.4 var(--font);letter-spacing:0}
#app#app :is(.message-center.guide-roster,.accounts-page) .ro-contact{min-width:0;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
#app#app :is(.message-center.guide-roster,.accounts-page) .ro-contact small{display:block;margin-top:4px;font-size:11px;color:var(--muted)}
#app#app :is(.message-center.guide-roster,.accounts-page) .ro-tag{display:inline-flex;align-items:center;gap:7px;padding:4px 8px;border:1px solid var(--border);border-radius:4px;font:500 11px/1.4 var(--mono);color:var(--muted)}
#app#app :is(.message-center.guide-roster,.accounts-page) .ro-tag.is-active{color:var(--fg)}
#app#app :is(.message-center.guide-roster,.accounts-page) .ro-tag.is-active::before{content:"";flex:none;width:8px;height:4px;margin:0 2px 3px 1px;border-left:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg)}
#app#app :is(.message-center.guide-roster,.accounts-page) .ro-row-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
#app#app :is(.message-center.guide-roster,.accounts-page) .ro-foot{max-width:none;margin:0;padding:18px 22px;border-top:1px solid var(--border);font-size:12px;color:var(--muted)}
#app#app :is(.message-center.guide-roster,.accounts-page) .ro-empty{max-width:none;padding:48px 24px;text-align:center;color:var(--muted)}

/* Guides | Guide hours (owner 17.10.2026), in the Reviews segmented-control look */
#app#app .message-center.guide-roster .ro-tabs{display:inline-flex;gap:3px;max-width:100%;margin:0 0 24px;padding:3px;border:1px solid var(--border);border-radius:7px}
#app#app .message-center.guide-roster .ro-tabs button{min-height:44px;padding:9px 16px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--muted);font-size:12px;letter-spacing:.02em;box-shadow:none;cursor:pointer}
#app#app .message-center.guide-roster .ro-tabs button:hover:not(:disabled){color:var(--fg);border-color:var(--fg);background:var(--bg)}
#app#app .message-center.guide-roster .ro-tabs button[aria-selected=true],#app#app .message-center.guide-roster .ro-tabs button[aria-selected=true]:hover:not(:disabled){background:var(--raised);color:var(--fg);border-color:var(--strong)}
#app#app .message-center.guide-roster .ro-tabs button:focus-visible{outline:3px solid var(--fg);outline-offset:2px}
#app#app .message-center.guide-roster .ro-tabpanel[hidden]{display:none}
#app#app .message-center.guide-roster .gh-month-nav{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 20px}
#app#app .message-center.guide-roster .gh-month{min-width:140px;font:600 16px/1.4 var(--font);text-align:center;color:var(--fg)}
#app#app .message-center.guide-roster .gh-totals{margin-bottom:20px}
#app#app .message-center.guide-roster :is(.ro-head,.ro-row).gh-total-row{grid-template-columns:minmax(160px,1.6fr) minmax(90px,.6fr) minmax(110px,.6fr)}
#app#app .message-center.guide-roster :is(.ro-head,.ro-row).gh-shift-row{grid-template-columns:minmax(130px,1fr) 96px minmax(150px,1.4fr) 120px minmax(120px,.8fr) 196px}
#app#app .message-center.guide-roster .ro-row :is(h3){margin:0;font:600 14px/1.4 var(--font);letter-spacing:0;overflow-wrap:anywhere}
#app#app .message-center.guide-roster .gh-num{font:500 13px/1.5 var(--mono);color:var(--fg);white-space:nowrap}
#app#app .message-center.guide-roster .gh-tour{min-width:0;font-size:12px;line-height:1.5;color:var(--muted);overflow-wrap:anywhere}
#app#app .message-center.guide-roster .ro-row.is-open{box-shadow:inset 3px 0 0 var(--accent)}
#app#app .message-center.guide-roster .ro-tag.gh-check{border-color:var(--warning,var(--strong));color:var(--warning,var(--fg))}

/* Add guide and Edit guide */
dialog#guide-dialog{width:min(620px,calc(100% - 32px));max-height:calc(100dvh - 40px);margin:auto;padding:0;border:1px solid var(--strong);border-radius:7px;background:var(--surface);color:var(--fg);font:14px/1.5 var(--font);overflow:auto}
dialog#guide-dialog::backdrop{background:oklch(from var(--bg) calc(l - .08) c h / .8)}
dialog#guide-dialog :where(h2,p){margin:0}
dialog#guide-dialog .ro-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;border-bottom:1px solid var(--border)}
dialog#guide-dialog .ro-dialog-head h2{font:600 19px/1.3 var(--font);letter-spacing:-.01em;color:var(--fg);overflow-wrap:anywhere}
dialog#guide-dialog .ro-dialog-body{display:grid;gap:20px;padding:24px}
dialog#guide-dialog form{display:grid;gap:16px;margin:0;padding:0;border:0;background:transparent}
dialog#guide-dialog label{display:grid;gap:7px;margin:0;font:550 12px/1.4 var(--font);letter-spacing:.02em;color:var(--fg)}
dialog#guide-dialog select{display:block;width:100%;min-width:0;min-height:44px;margin:0;padding:10px 12px;border:1px solid var(--strong);border-radius:7px;background:var(--bg);color:var(--fg);font:400 13px/1.5 var(--font)}
dialog#guide-dialog .ro-help{font-size:12px;line-height:1.6;color:var(--muted)}
dialog#guide-dialog input{display:block;width:100%;min-width:0;min-height:44px;margin:0;padding:10px 12px;border:1px solid var(--strong);border-radius:7px;background:var(--bg);color:var(--fg);font:400 13px/1.5 var(--font)}
dialog#guide-dialog button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;margin:0;padding:8px 13px;border:1px solid var(--strong);border-radius:6px;background:transparent;color:var(--fg);font:550 13px/1.4 var(--font);letter-spacing:.02em;box-shadow:none;cursor:pointer}
dialog#guide-dialog button:hover:not(:disabled){background:var(--bg);border-color:var(--fg);color:var(--fg)}
dialog#guide-dialog button:disabled{opacity:.5;cursor:not-allowed}
dialog#guide-dialog button.am-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}
dialog#guide-dialog button.am-primary:hover:not(:disabled){background:oklch(from var(--accent) calc(l + .08) c h);border-color:var(--fg);color:var(--on-accent)}
dialog#guide-dialog button.ro-close{flex:none;min-width:44px;padding:0;border-color:transparent;font-size:22px;font-weight:400;line-height:1}
dialog#guide-dialog :is(button,input,select):focus-visible{outline:3px solid var(--fg);outline-offset:3px}
dialog#guide-dialog .ro-error{font-size:12px;line-height:1.6;color:var(--danger)}
dialog#guide-dialog .ro-error:empty{display:none}
dialog#guide-dialog .ro-dialog-foot{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding-top:6px}

@media(max-width:1250px){
#app#app .message-center.guide-roster :is(.ro-head,.ro-row).gh-shift-row{grid-template-columns:minmax(120px,1fr) 90px minmax(120px,1fr) 110px 120px 186px;gap:12px}
#app#app :is(.message-center.guide-roster,.accounts-page) :is(.ro-head,.ro-row){grid-template-columns:minmax(140px,1fr) minmax(160px,1fr) 96px 206px;gap:12px}
}
@media(max-width:760px){
#app#app :is(.message-center.guide-roster,.accounts-page) .ro-summary{gap:22px}
#app#app :is(.message-center.guide-roster,.accounts-page) .ro-head{display:none}
#app#app :is(.message-center.guide-roster,.accounts-page) .ro-row{grid-template-columns:minmax(0,1fr) auto;padding:18px}
#app#app :is(.message-center.guide-roster,.accounts-page) .ro-person,#app#app :is(.message-center.guide-roster,.accounts-page) .ro-contact{grid-column:1}
#app#app :is(.message-center.guide-roster,.accounts-page) .ro-contact{padding-left:51px}
#app#app :is(.message-center.guide-roster,.accounts-page) .ro-row>.ro-tag{grid-column:2;grid-row:1}
#app#app :is(.message-center.guide-roster,.accounts-page) .ro-row-actions{grid-column:1/-1;justify-content:flex-start;padding-left:51px}
#app#app .message-center.guide-roster :is(.ro-row).gh-shift-row{grid-template-columns:minmax(0,1fr) auto;gap:6px 12px}
#app#app .message-center.guide-roster :is(.ro-row).gh-total-row{grid-template-columns:minmax(0,1fr) auto auto;gap:12px}
#app#app .message-center.guide-roster .gh-shift-row .gh-tour{grid-column:1/-1}
#app#app .message-center.guide-roster .gh-shift-row .ro-row-actions{padding-left:0}
dialog#guide-dialog :is(.ro-dialog-head,.ro-dialog-body){padding:18px}
}
@media(max-width:480px){
#app#app :is(.message-center.guide-roster,.accounts-page) .ro-row{column-gap:8px}
#app#app :is(.message-center.guide-roster,.accounts-page) .ro-summary dd{font-size:20px}
#app#app :is(.message-center.guide-roster,.accounts-page) .ro-actions{flex:1 1 100%}
#app#app :is(.message-center.guide-roster,.accounts-page) .ro-actions button{flex:1}
#app#app :is(.message-center.guide-roster,.accounts-page) .ro-row-actions{padding-left:0}
#app#app :is(.message-center.guide-roster,.accounts-page) .ro-row-actions button{flex:1}
dialog#guide-dialog .ro-dialog-foot button{flex:1}
}

#app#app .activity-page{display:block;max-width:1400px;margin:0;padding:28px var(--s5) 32px;color:var(--fg)}
#app#app .activity-page :is(p,span,small,dd){overflow-wrap:anywhere}
#app#app .activity-page p{margin:0;max-width:75ch;font-size:13px;line-height:1.6}
#app#app .activity-page :is(button,input,select,summary):focus-visible{outline:3px solid var(--fg);outline-offset:3px}
#app#app .activity-page .btn{min-height:44px;padding:8px 13px;border:1px solid var(--strong);border-radius:6px;background:transparent;color:var(--fg);font:550 13px/1.4 var(--font);letter-spacing:.02em;box-shadow:none}
#app#app .activity-page .btn:hover:not(:disabled){background:var(--bg);border-color:var(--fg);color:var(--fg)}
#app#app .activity-page .btn:active{border-color:var(--fg)}
#app#app .activity-page .btn:disabled{opacity:.5;cursor:not-allowed}
#app#app .activity-page>.btn{margin-top:18px}
#app#app .activity-page>p[role=alert]{margin:0 0 14px;color:var(--danger)}
#app#app .activity-page>p.muted{color:var(--muted)}
#app#app .activity-page .act-page-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 24px}
#app#app .activity-page .act-page-head h1{margin:0;font:600 32px/1.15 var(--font);letter-spacing:-.02em;color:var(--fg)}
#app#app .activity-page .act-page-head p{margin-top:8px;font-size:14px;color:var(--muted);max-width:65ch}
#app#app .activity-page .act-toolbar{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:20px;margin:22px 0}
#app#app .activity-page .act-filters{display:flex;flex-wrap:wrap;align-items:end;gap:12px;flex:1}
#app#app .activity-page .act-filter{display:grid;gap:6px;min-width:150px;margin:0;font-size:11px;letter-spacing:.02em;color:var(--muted)}
#app#app .activity-page .act-filter.search{flex:1;max-width:350px;min-width:200px;margin-left:auto}
#app#app .activity-page .act-filter :is(input,select){display:block;width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid var(--strong);border-radius:7px;background:var(--bg);color:var(--fg);font:400 13px/1.5 var(--font);letter-spacing:0}
#app#app .activity-page .act-filter input::placeholder{color:var(--muted);opacity:1}
#app#app .activity-page .act-meta{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:8px 20px;margin:0 0 12px}
#app#app .activity-page .act-meta>span:first-child{font:12px/1.5 var(--mono);color:var(--muted)}
#app#app .activity-page .act-meta>span:last-child{font-size:12px;color:var(--muted)}
#app#app .activity-page .act-panel{min-width:0;margin:0;padding:0;border:1px solid var(--border);border-radius:7px;background:var(--surface);overflow:hidden}
#app#app .activity-page :is(.act-head,.act-summary){display:grid;grid-template-columns:86px minmax(180px,1fr) minmax(140px,.55fr) 130px 20px;gap:20px;align-items:center;padding:16px 22px}
#app#app .activity-page .act-head{border-bottom:1px solid var(--border);background:var(--bg);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
#app#app .activity-page .act-row{margin:0}
#app#app .activity-page .act-row+.act-row{border-top:1px solid var(--border)}
#app#app .activity-page .act-summary{min-height:80px;list-style:none;cursor:pointer;color:var(--fg)}
#app#app .activity-page .act-summary::-webkit-details-marker{display:none}
#app#app .activity-page .act-summary:hover{color:var(--fg);background:var(--raised)}
#app#app .activity-page .act-summary time{font:13px/1.5 var(--mono);color:var(--fg)}
#app#app .activity-page .act-summary time small{display:block;margin-top:3px;font-size:10px;color:var(--muted)}
#app#app .activity-page .act-title{min-width:0;font-size:13px;font-weight:550;line-height:1.5}
#app#app .activity-page .act-title small{display:block;margin-top:4px;font-size:11px;font-weight:400;color:var(--muted)}
#app#app .activity-page .act-actor{min-width:0;font-size:12px;color:var(--muted)}
#app#app .activity-page .act-tag{justify-self:stretch;display:inline-flex;align-items:center;gap:7px;padding:4px 8px;border:1px solid var(--border);border-radius:4px;font:500 11px/1.4 var(--mono);color:var(--fg)}
#app#app .activity-page .act-tag.activity-refused{color:var(--warn)}
#app#app .activity-page .act-tag.activity-failed{color:var(--danger)}
#app#app .activity-page .act-summary>.icon{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
#app#app .activity-page .act-row[open] .act-summary>.icon{transform:rotate(180deg)}
#app#app .activity-page .act-detail{padding:4px 22px 24px 128px}
#app#app .activity-page .act-detail-list{display:grid;grid-template-columns:125px minmax(0,1fr);gap:12px 16px;margin:0;font-size:12px;line-height:1.7}
#app#app .activity-page .act-detail-list dt{color:var(--muted)}
#app#app .activity-page .act-detail-list dd{margin:0}
#app#app .activity-page .act-empty{display:grid;justify-items:center;gap:10px;padding:48px 24px;border:1px solid var(--border);border-radius:7px;background:var(--surface);text-align:center}
#app#app .activity-page .act-empty h2{margin:0;font:600 19px/1.4 var(--font);letter-spacing:-.01em}
#app#app .activity-page .act-empty p{color:var(--muted)}
#app#app .activity-page .act-error{margin-top:14px;color:var(--danger)}

@media(max-width:1250px){
#app#app .activity-page :is(.act-head,.act-summary){grid-template-columns:80px minmax(150px,1fr) minmax(120px,.6fr) 120px 16px;gap:12px}
}
@media(max-width:760px){
#app#app .activity-page{padding:23px 16px 24px}
#app#app .activity-page .act-page-head{align-items:start}
#app#app .activity-page .act-page-head h1{font-size:28px}
#app#app .activity-page .act-filter.search{max-width:none}
#app#app .activity-page .act-head{display:none}
#app#app .activity-page .act-summary{grid-template-columns:70px minmax(0,1fr) 18px;gap:6px 12px;padding:16px;min-height:0}
#app#app .activity-page .act-summary time{grid-row:1/span 3;align-self:start}
#app#app .activity-page .act-summary>:is(.act-title,.act-actor){grid-column:2}
#app#app .activity-page .act-summary>.act-tag{grid-column:2;justify-self:start;margin-top:4px}
#app#app .activity-page .act-summary>.icon{grid-column:3;grid-row:1}
#app#app .activity-page .act-detail{padding:4px 18px 22px}
}
@media(max-width:480px){
#app#app .activity-page .act-page-head{flex-wrap:wrap;margin-bottom:20px}
#app#app .activity-page .act-page-head h1{font-size:26px}
#app#app .activity-page .act-page-head p{font-size:13px}
#app#app .activity-page .act-filters{width:100%;gap:10px}
#app#app .activity-page .act-filter,#app#app .activity-page .act-filter.search{min-width:0;flex:1 1 140px}
#app#app .activity-page .act-detail-list{grid-template-columns:1fr;gap:4px}
#app#app .activity-page .act-detail-list dd{margin-bottom:10px}
}

#app#app .accounts-page.staff-roster{display:block;max-width:none;margin:0;padding:0 var(--s5) 32px;color:var(--fg)}
#app#app .accounts-page.staff-roster :is(p,span,small,h3,strong){overflow-wrap:anywhere}
#app#app .accounts-page.staff-roster p{margin:0;max-width:75ch;font-size:13px;line-height:1.6}
#app#app .accounts-page.staff-roster>p.muted{color:var(--muted)}
#app#app .accounts-page.staff-roster :is(button,select,input):focus-visible{outline:3px solid var(--fg);outline-offset:3px}
#app#app .accounts-page.staff-roster .btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin:0;padding:8px 13px;border:1px solid var(--strong);border-radius:6px;background:transparent;color:var(--fg);font:550 13px/1.4 var(--font);letter-spacing:.02em;white-space:nowrap;box-shadow:none;cursor:pointer}
#app#app .accounts-page.staff-roster .btn:hover:not(:disabled){background:var(--bg);border-color:var(--fg);color:var(--fg)}
#app#app .accounts-page.staff-roster .btn:disabled{opacity:.5;cursor:not-allowed}
#app#app .accounts-page.staff-roster .btn.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}
#app#app .accounts-page.staff-roster .btn.btn-primary:hover:not(:disabled){background:oklch(from var(--accent) calc(l + .08) c h);border-color:var(--fg);color:var(--on-accent)}
#app#app .accounts-page.staff-roster .btn.accounts-confirm{border-color:var(--danger);color:var(--danger)}
#app#app .accounts-page.staff-roster select,#app#app .accounts-page.staff-roster input{display:block;width:100%;min-width:0;min-height:44px;margin:0;padding:10px 12px;border:1px solid var(--strong);border-radius:7px;background:var(--bg);color:var(--fg);font:400 13px/1.5 var(--font);letter-spacing:0}

/* Counts and the add form */
#app#app .accounts-page.staff-roster .accounts-add{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin:0}
#app#app .accounts-page.staff-roster .accounts-add label{display:grid;gap:6px;margin:0;font-size:11px;letter-spacing:.02em;color:var(--muted)}
#app#app .accounts-page.staff-roster .accounts-add label:first-child{width:260px}
#app#app .accounts-page.staff-roster .accounts-add label:nth-child(2){width:150px}

/* A setup link or a passkey reset that just went out */
#app#app .accounts-page.staff-roster .accounts-code{display:grid;justify-items:start;gap:6px;margin:0 0 20px;padding:18px 22px;border:1px solid var(--strong);border-radius:7px;background:var(--surface);font-size:13px;line-height:1.6}
#app#app .accounts-page.staff-roster .accounts-code strong{font-size:14px;font-weight:600}
#app#app .accounts-page.staff-roster .accounts-code span[role=alert]{color:var(--warn)}
#app#app .accounts-page.staff-roster .accounts-code .muted{font-size:12px;color:var(--muted)}
#app#app .accounts-page.staff-roster .accounts-code .btn{margin-top:8px}
#app#app .accounts-page.staff-roster .accounts-error{margin:0 0 14px;color:var(--danger)}

/* The roster */
#app#app .accounts-page.staff-roster :is(.ro-head,.ro-row){grid-template-columns:minmax(220px,1.3fr) minmax(150px,.75fr) 100px minmax(180px,1.35fr)}
#app#app .accounts-page.staff-roster .ro-person>div{min-width:0}
#app#app .accounts-page.staff-roster .ro-person h3{font-size:13px;overflow-wrap:anywhere}
#app#app .accounts-page.staff-roster .ro-person small{display:block;margin-top:3px;font-size:11px;color:var(--muted)}
#app#app .accounts-page.staff-roster .ro-contact select{max-width:180px}
#app#app .accounts-page.staff-roster .ro-contact .muted{color:var(--muted)}
#app#app .accounts-page.staff-roster .ro-tag{justify-self:start}
#app#app .accounts-page.staff-roster .ro-tag.is-disabled{color:var(--warn)}
#app#app .accounts-page.staff-roster .accounts-disabled .ro-person h3{color:var(--muted)}
#app#app .accounts-page.staff-roster .accounts-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}

@media(max-width:1250px){
#app#app .accounts-page.staff-roster :is(.ro-head,.ro-row){grid-template-columns:minmax(180px,1fr) minmax(140px,.7fr) 96px;gap:12px}
#app#app .accounts-page.staff-roster .ro-head>:last-child{display:none}
#app#app .accounts-page.staff-roster .ro-row>:last-child{grid-column:1/-1}
}
@media(max-width:760px){
#app#app .accounts-page.staff-roster{padding:0 16px 24px}
#app#app .accounts-page.staff-roster .accounts-add{flex:1 1 100%}
#app#app .accounts-page.staff-roster .accounts-add label:first-child{flex:1 1 100%;width:auto}
#app#app .accounts-page.staff-roster .accounts-add label:nth-child(2){flex:1 1 140px;width:auto}
#app#app .accounts-page.staff-roster .ro-row{grid-template-columns:minmax(0,1fr) auto;gap:10px 8px;padding:18px}
#app#app .accounts-page.staff-roster .ro-person,#app#app .accounts-page.staff-roster .ro-contact{grid-column:1}
#app#app .accounts-page.staff-roster .ro-contact{padding-left:51px}
#app#app .accounts-page.staff-roster .ro-row>.ro-tag{grid-column:2;grid-row:1;align-self:start}
#app#app .accounts-page.staff-roster .accounts-actions{justify-content:flex-start;padding-left:51px}
}
@media(max-width:480px){
#app#app .accounts-page.staff-roster .accounts-add .btn{flex:1 1 100%}
#app#app .accounts-page.staff-roster :is(.ro-contact,.accounts-actions){padding-left:0}
#app#app .accounts-page.staff-roster .accounts-actions .btn{flex:1 1 auto}
}

#app#app .conn-page{display:block;max-width:none;margin:0;padding:0 var(--s5) 32px;color:var(--fg)}
#app#app .conn-page :is(p,span,small,strong,dd,li){overflow-wrap:anywhere}
#app#app .conn-page p{margin:0;max-width:75ch;font-size:13px;line-height:1.6}
#app#app .conn-page>p.muted{color:var(--muted)}
#app#app .conn-page :is(button,a,summary,h2[tabindex]):focus-visible{outline:3px solid var(--fg);outline-offset:3px}
#app#app .conn-page .btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;margin:0;padding:8px 13px;border:1px solid var(--strong);border-radius:6px;background:transparent;color:var(--fg);font:550 13px/1.4 var(--font);letter-spacing:.02em;text-decoration:none;box-shadow:none;cursor:pointer}
#app#app .conn-page .btn:hover:not(:disabled){background:var(--bg);border-color:var(--fg);color:var(--fg)}
#app#app .conn-page .btn:disabled{opacity:.5;cursor:not-allowed}
#app#app .conn-page .btn.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}
#app#app .conn-page .btn.btn-primary:hover:not(:disabled){background:oklch(from var(--accent) calc(l + .08) c h);border-color:var(--fg);color:var(--on-accent)}
#app#app .conn-page .conn-error{margin:0 0 14px;color:var(--danger)}
#app#app .conn-page .conn-error .btn{margin-left:10px}

/* Head */
#app#app .conn-page .conn-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:20px 0 24px}
#app#app .conn-page .conn-head h1{margin:0;font:600 32px/1.15 var(--font);letter-spacing:-.02em;color:var(--fg)}
#app#app .conn-page .conn-head p{margin:8px 0 0;font-size:14px;color:var(--muted)}

/* Counts and Check everything */
#app#app .conn-page .conn-top{display:flex;align-items:center;justify-content:space-between;gap:16px 20px;flex-wrap:wrap;margin:0 0 24px;padding:0 0 22px;border-bottom:1px solid var(--border)}
#app#app .conn-page .conn-summary{display:flex;flex-wrap:wrap;gap:16px 32px;margin:0}
#app#app .conn-page .conn-summary div{display:flex;align-items:baseline;gap:9px}
#app#app .conn-page .conn-summary dt{order:1;font-size:12px;color:var(--muted)}
#app#app .conn-page .conn-summary dd{margin:0;font:550 22px/1.3 var(--mono);letter-spacing:-.02em;color:var(--fg)}
#app#app .conn-page .conn-live{margin:0 0 16px;font-size:12px;color:var(--muted)}
#app#app .conn-page .conn-live:empty{display:none}

/* Find a connection, Area, the count */
#app#app .conn-page .conn-toolbar{display:flex;align-items:end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin:22px 0}
#app#app .conn-page .conn-filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap;flex:1}
#app#app .conn-page .conn-filter{display:grid;gap:6px;min-width:150px;margin:0;font:400 11px/1.4 var(--font);letter-spacing:.02em;color:var(--muted)}
#app#app .conn-page .conn-filter-search{flex:1;max-width:350px;min-width:200px;margin-left:auto}
#app#app .conn-page .conn-filter :is(input,select){width:100%;min-width:0;min-height:44px;margin:0;padding:10px 12px;border:1px solid var(--strong);border-radius:7px;background:var(--bg);color:var(--fg);font:400 13px/1.5 var(--font);letter-spacing:0;box-shadow:none}
#app#app .conn-page .conn-filter input::placeholder{color:var(--muted);opacity:1}
#app#app .conn-page .conn-filter :is(input,select):focus-visible{outline:3px solid var(--fg);outline-offset:3px}
#app#app .conn-page .conn-count{padding-bottom:12px;font:12px/1.5 var(--mono);color:var(--muted)}
#app#app .conn-page .conn-empty{display:grid;justify-items:center;gap:10px;padding:48px 24px;border:1px solid var(--border);border-radius:7px;background:var(--surface);text-align:center}
#app#app .conn-page .conn-empty h2{margin:0;font:600 19px/1.3 var(--font);color:var(--fg)}
#app#app .conn-page .conn-empty p{color:var(--muted)}

/* Areas and their connections */
#app#app .conn-page .conn-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}
#app#app .conn-page .conn-list{min-width:0}
#app#app .conn-page .conn-group{margin:0 0 24px}
#app#app .conn-page .conn-group>h2{margin:0 0 4px 2px;font:500 11px/1.4 var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
#app#app .conn-page .conn-row{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:80px;margin:8px 0 0;padding:18px 20px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--fg);font:inherit;text-align:left;box-shadow:none;cursor:pointer}
#app#app .conn-page .conn-row[aria-pressed=true]{border-color:var(--strong);background:var(--raised)}
#app#app .conn-page .conn-row:hover{border-color:var(--fg);color:var(--fg)}
#app#app .conn-page .conn-name{flex:1;min-width:0}
#app#app .conn-page .conn-name strong{display:block;font-size:14px;font-weight:550;line-height:1.4}
#app#app .conn-page .conn-name small{display:block;margin-top:5px;font-size:12px;line-height:1.5;color:var(--muted)}
#app#app .conn-page .conn-row>.conn-icon{flex:none;width:15px;height:15px;color:var(--muted)}
#app#app .conn-page .conn-badge{display:inline-flex;flex:none;align-items:center;gap:7px;margin:0;padding:4px 8px;border:1px solid var(--border);border-radius:4px;background:transparent;font:500 11px/1.4 var(--mono);color:var(--muted);white-space:nowrap}
#app#app .conn-page .conn-badge .conn-icon{width:13px;height:13px;flex:none}
#app#app .conn-page .conn-badge[data-state=CONNECTED]{color:var(--fg)}
#app#app .conn-page .conn-badge[data-state=NEEDS_ATTENTION]{color:var(--danger)}
#app#app .conn-page .conn-badge[data-state=NOT_SET_UP]{color:var(--warn)}

/* The open connection */
#app#app .conn-page .conn-detail{position:sticky;top:16px;max-height:calc(100dvh - 32px);min-width:0;margin-top:22px;padding:24px;border:1px solid var(--border);border-radius:7px;background:var(--surface);overflow:auto}
#app#app .conn-page .conn-detail h2{margin:0;font:600 19px/1.3 var(--font);letter-spacing:-.01em;color:var(--fg)}
#app#app .conn-page .conn-detail>.conn-badge{margin-top:14px}
#app#app .conn-page .conn-detail>p{margin:14px 0 0;line-height:1.7;color:var(--muted)}
#app#app .conn-page .conn-missing code{font:12px/1.5 var(--mono);color:var(--danger)}
#app#app .conn-page .conn-facts{display:grid;gap:12px;margin:22px 0;padding:20px 0;border-block:1px solid var(--border);font-size:12px;line-height:1.7}
#app#app .conn-page .conn-facts div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:16px}
#app#app .conn-page .conn-facts dt{color:var(--muted)}
#app#app .conn-page .conn-facts dd{margin:0;color:var(--fg)}
#app#app .conn-page .conn-detail>p.conn-note{margin:18px 0 0;font-size:12px;color:var(--warn)}
#app#app .conn-page .conn-detail>p.conn-note[role=alert]{color:var(--danger)}
#app#app .conn-page .conn-detail .conn-actions{display:grid;gap:8px}
#app#app .conn-page .conn-detail .conn-actions .btn .conn-icon{width:14px;height:14px}
#app#app .conn-page .conn-keys-group{margin:0 0 24px;padding:0;border:0;background:transparent}
#app#app .conn-page .conn-keys-group h3{margin:0 0 10px;font:600 14px/1.4 var(--font);letter-spacing:0}
#app#app .conn-page .conn-keys-group ul{display:grid;gap:8px;margin:0;padding:0;list-style:none;font-size:12px;line-height:1.5}
#app#app .conn-page .conn-keys-group li{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}
#app#app .conn-page .conn-keys-group code{font:12px/1.5 var(--mono);color:var(--fg)}
#app#app .conn-page .conn-key-state{display:inline-flex;align-items:center;gap:6px;color:var(--muted)}
#app#app .conn-page .conn-key-state .conn-icon{width:13px;height:13px}
#app#app .conn-page .conn-key-state[data-bad="1"]{color:var(--danger)}

/* Setup details */
dialog#conn-setup-dialog{width:min(620px,calc(100% - 32px));max-height:calc(100dvh - 40px);margin:auto;padding:0;border:1px solid var(--strong);border-radius:7px;background:var(--surface);color:var(--fg);font:14px/1.5 var(--font);overflow:auto}
dialog#conn-setup-dialog::backdrop{background:oklch(from var(--bg) calc(l - .08) c h / .8)}
dialog#conn-setup-dialog :where(h2,h3,p,ol,dl){margin:0}
dialog#conn-setup-dialog .conn-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;border-bottom:1px solid var(--border)}
dialog#conn-setup-dialog .conn-dialog-head h2{font:600 19px/1.3 var(--font);letter-spacing:-.01em;overflow-wrap:anywhere}
dialog#conn-setup-dialog .conn-dialog-body{display:grid;gap:20px;padding:24px}
dialog#conn-setup-dialog .conn-facts{display:grid;gap:12px;font-size:13px;line-height:1.7}
dialog#conn-setup-dialog .conn-facts div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:16px}
dialog#conn-setup-dialog .conn-facts dt{color:var(--muted)}
dialog#conn-setup-dialog .conn-facts dd{margin:0;overflow-wrap:anywhere}
dialog#conn-setup-dialog code{font:12px/1.6 var(--mono)}
dialog#conn-setup-dialog h3{font:600 14px/1.4 var(--font)}
dialog#conn-setup-dialog ol{padding-left:18px;font-size:13px;line-height:1.8;color:var(--muted)}
dialog#conn-setup-dialog .btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;margin:0;padding:8px 13px;border:1px solid var(--strong);border-radius:6px;background:transparent;color:var(--fg);font:550 13px/1.4 var(--font);letter-spacing:.02em;box-shadow:none;cursor:pointer}
dialog#conn-setup-dialog .btn:hover{background:var(--bg);border-color:var(--fg);color:var(--fg)}
dialog#conn-setup-dialog .btn.conn-dialog-x{flex:none;min-width:44px;padding:0;border-color:transparent}
dialog#conn-setup-dialog .conn-dialog-x .conn-icon{width:16px;height:16px}
dialog#conn-setup-dialog .btn:focus-visible{outline:3px solid var(--fg);outline-offset:3px}
dialog#conn-setup-dialog .conn-dialog-foot{display:flex;justify-content:flex-end;gap:8px;padding-top:6px}

@media(max-width:1250px){
#app#app .conn-page .conn-layout{grid-template-columns:minmax(0,1fr) 285px;gap:18px}
}
@media(max-width:760px){
#app#app .conn-page{padding:0 16px 24px}
#app#app .conn-page .conn-head{align-items:start}
#app#app .conn-page .conn-head h1{font-size:28px}
#app#app .conn-page .conn-filter-search{max-width:none;margin-left:0}
#app#app .conn-page .conn-summary{gap:12px 22px}
#app#app .conn-page .conn-summary dd{font-size:20px}
#app#app .conn-page .conn-top>.btn{flex:1 1 100%}
#app#app .conn-page .conn-layout{grid-template-columns:minmax(0,1fr)}
#app#app .conn-page .conn-detail{position:static;max-height:none;grid-row:1;margin:0;padding:18px}
#app#app .conn-page .conn-row{gap:12px;padding:16px}
dialog#conn-setup-dialog :is(.conn-dialog-head,.conn-dialog-body){padding:18px}
dialog#conn-setup-dialog .conn-facts div{grid-template-columns:1fr;gap:2px}
dialog#conn-setup-dialog .conn-dialog-foot .btn{flex:1}
}
@media(max-width:480px){
#app#app .conn-page .conn-head h1{font-size:26px}
#app#app .conn-page .conn-head p{font-size:13px}
#app#app .conn-page .conn-filters{width:100%;gap:10px}
#app#app .conn-page .conn-filter{min-width:0;flex:1 1 140px}
}

#app{--channel-wordmark:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJ4AAAAoCAYAAAAPFkMTAAAQDklEQVR42u2cf7BdVXXHP+fc+5KQ5CUEMGAEISIBsUFRW4SMGBSkCNYmVSwJAqkdqNbp2NaqYAvIjCDSascZpD+sZVocBjBAlEIs/mhRSkSLgj9ogUKEhmgCAZIXXt57953VP/Z3N4vdc+4991cYp9kzZ879cfbea6+99vrx3evszMzWAKuBSSAHCmAG8HHgu+63XksOGPB64ApgSr+h3zPgD4H/0OeiQ1sFcCFwMjDh2kpLAYwBm4EfA/foTsmY4vfXAH/uaJwG9gH+AbgWaOi3XkumMe8HfAGYq/Yy3WcB1wBfrtFX/P8d4t+4fitE+0XAfSVjjfV+DzjT1TOgCXwQ+E83bwYsAv5aclGI3rIyCWwFHgHuBTYAO5N+QR0tAd5a0sjnHLPok9mFBnpyxTPnAR91jGvXFsAbgLd0Scc4cBdwJfCtZEJiuwdU0Pi9AfGiAbSAM4AVFc/MBNbWWOyRlsOAk0r+XwC8yQm2JfWWtqnnnzNgtmjutjwE3AhcDfzcC18uKS20ygsxJt4ZgNBNa0J/U+1O6+77Okurv1VzcscTmgvXdtlVSHOdCnxTGrMQI3xpJXRF3kwwmBK1xftK6I+0vhE4VhPeqNHmVEJrbPfXgIvVZlk7E0k9Py9ldD9f8lw7niOl9qfA94F3elpyMSIvubIBMDoOeCWwv2Nm7KOp/w8BTnNmr475rqLZX7jxmWPK5cBvlUzKsHlRAMcAJ6jNEdd+w/HnnC4Xd0pvU2P7GHC8FlKjRr28S56X8dvc57iIXwbcCqyKPM8Zbolq/tw2z0Q/Yo373o8/6a+GE7rMMd+Ay2TWigEJVt3yXicYqdmM8/FuYJ7jXy+WJo73b2UqGcI4sxJ+N50b4xeBAX8nE18MU/AaLqg4Tp9jf7uc+Yor5ySp5qKm1iMR1EngA8BvSMOuAH5fQYX3caLwHQ28NqFrWCW6HHPl0HshmxY/fJCzSEEDNc1t1SKcBl4tDT/dR1tlphfg30TnSrlSZwOfAh5OfOiGC56uBCzfAyv8HNexOYL/3QlOS0Sd3YW5LWPGV4CvArdItX8eeDNwt5t8z7hfGZImqHI5Tpdb4TXZz4D1zhWIFuC8hNZeha8F/IGCptaAhC/O4xPAbeL3OuBL8p9fK03rha+pem8D3pgPeYXvK7ORQhi3AHc4xkY6VikI6NXEzBNjR3SPbd2SMCze5+8h8xrHvcb1XejzvcDfOPMYefFmaauix4Vorr1MMM38PuGgtIwk/I6m9nngfODbTvPiAroz8yGv8HcABzlBaijiipopOtMRcjlc0I71wWx/xYjtoIrnW3tA6OKCOwpYnmj0DPgn4E7hX9EfLTSZZ/ehkTPHx2nglTJzrQFqeCuJZlsuaPxsBQS0LB/yCj83WeGZQMXHgZ8AP3IMMofp9Rpk7EzgkEKCvCaBJ+K4Nw8goKkjeEiIZrrV3wC2Ad8QvesSPgH8NjCnBwvQktbJEh/rAvli5oRjWPOfCUYZc/7+/2KP+RBX+FKZi9Rnu8Ex5yY38XG1nyZQtK6JiYOZAVwH3C6fab38yK8LysmSIGNcZm6YgpdpnPtIiEhMz9ec8F+fROaF+HBqD36vAZ8GdjiTHsd+tejZMUTBi4rkWeDpEphl33zIK7yZrPCdMrFRCG7WxPgIbzbwnh6YnQMnSnBP1XVsiWDF7bBb5dj3uyXYiaZMDvXhbjHFcd3kYIh7CFtNeQLkdmsBpmWm7xKA7KGNGDFfIaFgD8BpZe5MMx8ibPCekqDiTpnZuCJ+6iJOr+HeK+ZN9zDQ9DLni7SkGR8nbNENO5r1Ear3PXPRsN6h/+POGhTOPJ0s/6zbIOMlwF8S9msbDk4xwU4r+4Rr6pR9gNESP3VHPoQVHs3loSXMWk/YID9Q1wIX3XohfbW0V7eMSZF0vzMTI667gVMEBWRD1nYFsFgaL0sW4dfl8y3UtR/wL05AMpeksKoHCzCi++9KqL25GxG2OiwoKWr1QwnbpZa4OVuaXUxiJ0zHfz43CRii8FwGXMoLt1cayTNRWNfI8bYezDzJnuRm+Xs3EjI/ii5NbF1eeB7kbh96tov24jhXaIHmiXbMSnYyVisinUwmsJP2B/iBTO5VjgYbsNClW5QN0brKYYlNx/f7mx02n60LyCEy+giZh6xEEBZ2AcWcIX/kyQ5CEidrEng/8N8a5JQiu18QMiPGSmjtJko0tdmNyzGjDSi+oAueLiFk46xPgpO6mu8zAq+XD3gHgwSTxMFYyzUfXrlEAb2tneAdIEGZ0WagGfBUksu3WibE4zlF4uNUaZPcTdp84F2E9Kw6glIoStzUwdEvejCv88SLmW0WYg485+CDlpj/qsTlsIQf7fZZvQZdI7fEekxLO1/wxtwkwhxEabqg5uWETYOLpOktcWkeB9Y125ira5xAVWmanJDucpfzR1aXrPC8j+22q7tY4aMuMaBITFjRI0PRyj2nzThi0HKpHPq8TUSa1dQ4lliN0wjbbU90yc8YqDysgOqaRCn0g1ycDNzvgpbZslKzSiCUKJiXA882O0xinTLDdfLWJAKLHf9QUMFIiQDkMmFH6zI3kNcR8tPurjlZhYtkBxk0zHLM7BTFRTflYJc8mTvh2yQQvYwXEfc7kJDE6X+bKyzwqh4WcjSvfyWaTu/T5GZuy/GYiv68hYlCt5awPdholmw1URM3shJH91w36ZmDMVYLOmlXTgC+44Q2MuY8CV677bFBgsBVLoF18AE9ZmlyE0bdxvy0nvkEIe29XZkDPCpIxPP5bMI2VCo0VnJVzdf7FXAsSHZJrEe+FBWugs9MyYVZxvS4Ii/xr7I2SYJluW5x9S0G3q66TbfSv094n8JvJKdXU8896BjaVFsr5W9OJ5FTliQk5gw2xyzrgh8pL2Y4M9twPNmubI6Gi3DTa4aA9tuTLa9M2uVNFQ57ntzLrEEuU/2hivnOaoDhab2Ufs+ThkD6D7L7/Q5iWlQEVifk09W9JhJH+yyZo3H9v0v//6NzptulSU8Sto1aro1xQobLysS3aDmaJ2TaphhMdNYrL3za14mElKtI27j+/6oi7IgWVPEjI6QYxXFNKkJvuexkS3YHJpJ5sTYm9zrxunC8blcvzs9UB96MA89IgdygxXes/PQXbFlmZrZQKr2XVKRMEr2TsK84p0QzPeoSHTtlUsxx+7Qe53tOMEl87mCX4uNpfrTH9yMy5xwf1oPZjnT+QlF+ytO4Kb/JbVVZDQf+yBI6pxQoeFhmUdJXQ5pte4k7lDm/9RUl8/WY00zej39FDfloqc+nkoDw/7wxl5kNMzFjb/l/XBolGN8L4IKM/jCdMsS97P9uEfB2bWRt/BgGlOTwYvOCDu8Md8uzurwu+uSLJTsn5Z3v1Xh7y4tR8r0s2FtejNJk+G9X1UkuoOTt9Tq/t+vHatJlPW6IZ10A1d3S1w/v6GFsWXJkxdDN4C+Dqc16ZESjyrHtE9+b7gCYdmttCoZv0YoaZ7B0+u2XRvAyQsp5owQe2V4SsjcEQxiwJdmRWEgAoLeV1Bsh5LL5HZPtHWCVuYRdhR28MGuljvDPI2wLziKkWz3WIeOlIfoyR9+Ug1WqFtb+LpXI826M3Qfh+D72T953mCTAUO36iL/PJWxXFgQMbmcfC75mCGI26CvTfa6ZPWBmz5rZdjPbqc+7zOwCPdPUPdfnG81szMyucO2tMLOnzexBM3uJ2s/MrKH/T1C7z5jZ87oeNrNL9EzmaIp1PmJmO8zs4oSOduNp6vmf2e4yYWZfMbPXuHGQfD7UzJ4UfWOi72kzW2tmi0vqxT6/Y2bP6fK88zTHeq80s616ZszMxvX9BjM7pKKP+P1dZvaYG9N/mdlZFXUGdvlJb3R5dZqoUTN7QoPZYmabzWyTmP6+RBDiAF9vZlNmNmlmS/X/I2rj/KROvJ+o/yfFwEcdEz+TtB8F7BL9f2UHwctUd6aZ3eLavc/M/tXMtun7M2Z2fNJXvB+mMZmE9hE9b2b2kJkdkCyO2O+P9cxTEtzIu4+58cc+jnS0bVQfz+r7j8xsftJHrLfUzFpuTPe5dlYlfK66upWbppnlw9Z4G82sMLOjzWwfCeOomY1UDAAz+7QGfrOZXarPdzkhSJ9fpj42qN2mmZ0iTTFuZi9zdEUB+zPVubyD4MU+LnSCc5L7/6Vmdq3TFPPcBEdaX65FsdXMFqrNRWb2bdX7gKMhc7T+QDQuN7NZanvUzGaUaK0j9OxGM9tPfRxiZveqj3OSccb7h1TvetfvZWZ2j/iaDUvrNQmvIS6t+aKvuTSmO9j97qZ1iADHSnyzqk3sTxGyWVbomgY+0uEl7yzJEL4T2EjYVD+EsFWV1QRQ0yzi2YT3UacJyZTfSt7L/R35R79KOLflusQ38/SNqZ0nCUkAxxPeS6BNguwYYctxV80oeIf6eEJ8eB1hG5CK95AzwnbYUsJ7zhfrqhMZzyTkCc6qefhR3Dp8sEnYyP2jHtzDxZrcTo4rwD/L2W9qsGcogMiSICJXAPFhQnJBTkhc3FDzhMxRMWC56BvXBPQTTS+WcDxGOFvPR8sjEva1hMMi3yDBq4KuDiZsor+UkFTRIKQotROkL2kcUZjfze4TO6v6GGN3JnADeCARoigk64A/Jpyl94AE9WZCCtPTNeZ2nsbeLR78hSbh1Mb7JBiNmjl4O5M3lzrhTUcmhyp2wg+3OzxprOae4DGaEDSxSHtuckKb95gEijuYsChJDhhPnrWSRNcF0igTEthZhFT9W11EXMbLJRX0lB3Os4iQgrZL2mim2r8tibqj4G3RIv0w4bzAU3RdSHg9dUOH1w6mJKz71dR48Zjjnwzbx4sR4ElmdriZHaUIbKSNIz9HTncsu+QEU+Hj+eBiq5zxn5rZR0t8FO/jxeCiKR+qmTwbx7FQUfmYIlTkZzXdOK5Xe39SEnEeJl+zZWZ3yxc0+XiNpC/f9w/13EpFv0eZ2RL5yqmPd6Tan1S7G1X3TudzZh3mbb5843Wqu8GhAkOJaveE4M2pUS9OwkWq8w0zu1qfv9ZG8Jbpme+Jefu2CRZSwbukA02xv5v0/FoJqX/mTC2OSTN7lavng4spRaQNBSTb9P3oNnBKFLzDa9B3hJ59XN8XC4LZovpZyaLKFLjcYWbHuf8OkhD/XPxkGMLX3ANv0kM4p+45l9u1TsFJnqS6LyEcnzopdX+/HPa3ySe6vo2v13J9dELfc3de3QJH1+0lZikjvDG1jJCQ+l35NdsJ74PEExM+LvA1r3jrP572vhn4JOF0+c+6I3irfLwrCMmjESz/pjv6oozfC+SPXklIs79KdGclhzZeAPy6Aou/l193unj3kNyc4RzxMUSNN5oAk758sgRAzp3Juta1d75C/kfMbEEJgLzMmYZOZiX294kKuv6iBF6JmuI4AdNpmXCwTF6ClUWNt9XRP9vhdCucBvdwyv0VNH6xxJwf4TC8UdWf7zDQU0tw08zMDpSlSMs2uTBDA5H/B8m4UrCG8hJpAAAAAElFTkSuQmCC)}
#app .channel-with-mark,#app :is(.channel-chip,.booking-feed-source,.mt-channel-tag,.mg-channel-chip,.bi-source):has(>.channel-mark){display:inline-flex;align-items:center;min-width:0;vertical-align:middle}
#app .channel-mark{display:inline-block;flex:none;width:1.3em;height:1.3em;margin:0 .4em 0 0;border-radius:.25em;object-fit:contain;vertical-align:middle}
#app .channel-mark-direct{border-radius:0;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#app .channel-mark-wordmark{width:3.95em;height:1em;border-radius:0;background:currentColor;-webkit-mask-image:var(--channel-wordmark);mask-image:var(--channel-wordmark);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}
@media (forced-colors:active){#app .channel-mark-wordmark{background:CanvasText}}

/* ─── The four groups, one colour each ─── */
body[data-concept=ledger]{--grp-daily:var(--ns-accent);--grp-guests:var(--ns-blue);--grp-results:var(--ns-gold);--grp-settings:var(--full)}
[data-tone=daily]{--grp:var(--ns-accent);--grp-bg:color-mix(in oklch,var(--grp) 15%,var(--ns-surface));--grp-line:color-mix(in oklch,var(--grp) 45%,var(--ns-border))}
[data-tone=guests]{--grp:var(--ns-blue);--grp-bg:color-mix(in oklch,var(--grp) 15%,var(--ns-surface));--grp-line:color-mix(in oklch,var(--grp) 45%,var(--ns-border))}
[data-tone=results]{--grp:var(--ns-gold);--grp-bg:color-mix(in oklch,var(--grp) 15%,var(--ns-surface));--grp-line:color-mix(in oklch,var(--grp) 45%,var(--ns-border))}
[data-tone=settings]{--grp:var(--full);--grp-bg:color-mix(in oklch,var(--grp) 15%,var(--ns-surface));--grp-line:color-mix(in oklch,var(--grp) 45%,var(--ns-border))}
body[data-concept=ledger]:has(#app-nav .ns-nav-item[aria-current=page][data-tone=daily]) #app{--grp:var(--ns-accent);--grp-bg:color-mix(in oklch,var(--grp) 15%,var(--ns-surface));--grp-line:color-mix(in oklch,var(--grp) 45%,var(--ns-border))}
body[data-concept=ledger]:has(#app-nav .ns-nav-item[aria-current=page][data-tone=guests]) #app{--grp:var(--ns-blue);--grp-bg:color-mix(in oklch,var(--grp) 15%,var(--ns-surface));--grp-line:color-mix(in oklch,var(--grp) 45%,var(--ns-border))}
body[data-concept=ledger]:has(#app-nav .ns-nav-item[aria-current=page][data-tone=results]) #app{--grp:var(--ns-gold);--grp-bg:color-mix(in oklch,var(--grp) 15%,var(--ns-surface));--grp-line:color-mix(in oklch,var(--grp) 45%,var(--ns-border))}
body[data-concept=ledger]:has(#app-nav .ns-nav-item[aria-current=page][data-tone=settings]) #app{--grp:var(--full);--grp-bg:color-mix(in oklch,var(--grp) 15%,var(--ns-surface));--grp-line:color-mix(in oklch,var(--grp) 45%,var(--ns-border))}

/* ─── Menu: heading, icons and the chosen item in the group's colour ─── */
body[data-concept=ledger] #app-nav :is(.ns-group-title,.ns-settings>summary){display:flex;align-items:center;gap:8px;color:var(--grp);font-weight:700}
body[data-concept=ledger] #app-nav .ns-group-ico{display:inline-grid;place-items:center;flex:none;width:22px;height:22px;border-radius:6px;background:var(--grp-bg)}
body[data-concept=ledger] #app-nav .ns-group-ico .icon{width:14px;height:14px;margin:0;transform:none}
body[data-concept=ledger] #app-nav .ns-group-title{margin-left:6px}
body[data-concept=ledger] #app-nav .ns-settings>summary{padding-left:6px}
body[data-concept=ledger] #app-nav .ns-settings>summary:hover{color:var(--grp)}
body[data-concept=ledger] #app-nav .ns-group{padding-left:0}
body[data-concept=ledger] #app-nav .ns-nav-item .icon{color:var(--grp)}
body[data-concept=ledger] #app-nav .nav-button.ns-nav-item:hover{border-color:var(--grp-line);background:var(--grp-bg)}
body[data-concept=ledger] #app-nav .nav-button.ns-nav-item[aria-current=page]{color:var(--fg);background:var(--grp-bg);border-color:var(--grp-line);box-shadow:inset 3px 0 var(--grp)}
body[data-concept=ledger] #app-nav .nav-button.ns-nav-item[aria-current=page]:hover{border-color:var(--grp)}
body[data-concept=ledger] #app-nav .ns-nav-item[aria-current=page] .ns-current-mark{background:var(--grp)}
body[data-concept=ledger] #app-nav .ns-nav-item[aria-current=page] .icon{stroke-width:2}
.topbar .breadcrumb .icon{color:var(--grp,currentColor)}

/* ─── Page title tile, in the colour of its group ─── */
body[data-concept=ledger] #app>.page-head .nav-tile{background:var(--grp-bg);color:var(--grp);border:1px solid var(--grp-line)}
body[data-concept=ledger] #app>.page-head .nav-tile .icon{display:block;width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

body[data-concept=ledger] #app#app>.page-head:has(>.nav-tile){justify-content:flex-start}
body[data-concept=ledger] #app>.page-head .cal-timezone{margin-left:auto}

/* ─── A picture before section titles ─── */
body[data-concept=ledger] #app .overview-page .panel-head h2::before,body[data-concept=ledger] #app .overview-page .comparison h2::before,body[data-concept=ledger] #app .overview-page .review-leaderboard h2::before,body[data-concept=ledger] #app .overview-page [data-panel=bookings] h2::before,body[data-concept=ledger] #app .overview-page [data-panel=sources] h2::before,body[data-concept=ledger] #app .overview-page [data-panel=tours] h2::before,body[data-concept=ledger] #app .overview-page [data-panel=profit] h2::before,body[data-concept=ledger] #app .overview-page [data-panel=guests] h2::before,body[data-concept=ledger] #app .overview-page [data-panel=reviews] h2::before,body[data-concept=ledger] #app .overview-page .today header h2::before,body[data-concept=ledger] #app .pax-summary-heading h2::before,body[data-concept=ledger] #app .manifest-title h2::before,body[data-concept=ledger] #app .cv-sec-title::before,body[data-concept=ledger] #app .cr-list h2::before,body[data-concept=ledger] #app .rv-panel-head h2::before,body[data-concept=ledger] #app .rv-list-head h2::before,body[data-concept=ledger] #app .rv-small-title::before,body[data-concept=ledger] #app .bi-report-heading h3::before,body[data-concept=ledger] #app .bi-panel > h3::before,body[data-concept=ledger] #app .bi-trend-head h3::before,body[data-concept=ledger] #app .mx-source-panel h3::before,body[data-concept=ledger] #app .mx-section-title::before,body[data-concept=ledger] #app .tp-detail-title::before,body[data-concept=ledger] #app .am-title::before,body[data-concept=ledger] #app .auto-slot h3::before,body[data-concept=ledger] #app .am-sending h3::before,body[data-concept=ledger] #app .conn-group h2::before,body[data-concept=ledger] #app .conn-detail h2::before,body[data-concept=ledger] #app .conn-keys-group h3::before,body[data-concept=ledger] #app .act-page-head + * h2::before,body[data-concept=ledger] #app .overview-page .page-header h1::before,body[data-concept=ledger] #app .tp-title::before,body[data-concept=ledger] #app .messaging-center-page h1::before,body[data-concept=ledger] #app .mc-page-head h1::before,body[data-concept=ledger] #app .conn-page h1::before,body[data-concept=ledger] #app .conn-head h1::before,body[data-concept=ledger] #app .act-page-head h1::before{content:"";display:inline-block;flex:none;width:1.05em;height:1.05em;margin-right:.45em;vertical-align:-.14em;background:var(--grp,currentColor);-webkit-mask:var(--gi) center/contain no-repeat;mask:var(--gi) center/contain no-repeat}
body[data-concept=ledger] #app .overview-page .panel-head h2::before{--gi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 21V11h4v10 M10 21V6h4v15 M16 21V3h4v18'/%3E%3C/svg%3E")}
body[data-concept=ledger] #app .overview-page .comparison h2::before{--gi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3a9 9 0 1 0 0 18 9 9 0 0 0 0-18 M12 7.5V12l3 2'/%3E%3C/svg%3E")}
body[data-concept=ledger] #app .overview-page .review-leaderboard h2::before{--gi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3 2.8 5.8 6.4.9-4.6 4.5 1.1 6.4-5.7-3-5.7 3 1.1-6.4L2.8 9.7l6.4-.9z'/%3E%3C/svg%3E")}
body[data-concept=ledger] #app .overview-page [data-panel=bookings] h2::before{--gi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h14a2 2 0 0 1 2 2v14H3V6a2 2 0 0 1 2-2z M8 2v4 M16 2v4 M3 10h18'/%3E%3C/svg%3E")}
body[data-concept=ledger] #app .overview-page [data-panel=sources] h2::before{--gi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11a7 7 0 0 1 14 0c0 4.8-7 11-7 11z M12 7a3 3 0 1 0 0 6 3 3 0 0 0 0-6'/%3E%3C/svg%3E")}
body[data-concept=ledger] #app .overview-page [data-panel=tours] h2::before{--gi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12V3h9l9 9-9 9z M7.5 7.5h.01'/%3E%3C/svg%3E")}
body[data-concept=ledger] #app .overview-page [data-panel=profit] h2::before{--gi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2v20 M17 6H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6'/%3E%3C/svg%3E")}
body[data-concept=ledger] #app .overview-page [data-panel=guests] h2::before{--gi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2 M16 3a4 4 0 0 1 0 8 M22 21v-2a4 4 0 0 0-3-3.87 M13 7a4 4 0 1 1-8 0 4 4 0 0 1 8 0'/%3E%3C/svg%3E")}
body[data-concept=ledger] #app .overview-page [data-panel=reviews] h2::before{--gi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3 2.8 5.8 6.4.9-4.6 4.5 1.1 6.4-5.7-3-5.7 3 1.1-6.4L2.8 9.7l6.4-.9z'/%3E%3C/svg%3E")}
body[data-concept=ledger] #app .overview-page .today header h2::before{--gi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 8a4 4 0 1 0 0 8 4 4 0 0 0 0-8 M12 2v2 M12 20v2 M4.9 4.9l1.4 1.4 M17.7 17.7l1.4 1.4 M2 12h2 M20 12h2 M4.9 19.1l1.4-1.4 M17.7 6.3l1.4-1.4'/%3E%3C/svg%3E")}
body[data-concept=ledger] #app .pax-summary-heading h2::before{--gi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h14a2 2 0 0 1 2 2v14H3V6a2 2 0 0 1 2-2z M8 2v4 M16 2v4 M3 10h18'/%3E%3C/svg%3E")}
body[data-concept=ledger] #app .manifest-title h2::before{--gi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2 M16 3a4 4 0 0 1 0 8 M22 21v-2a4 4 0 0 0-3-3.87 M13 7a4 4 0 1 1-8 0 4 4 0 0 1 8 0'/%3E%3C/svg%3E")}
body[data-concept=ledger] #app .cv-sec-title::before{--gi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2 M16 3a4 4 0 0 1 0 8 M22 21v-2a4 4 0 0 0-3-3.87 M13 7a4 4 0 1 1-8 0 4 4 0 0 1 8 0'/%3E%3C/svg%3E")}
body[data-concept=ledger] #app .cr-list h2::before{--gi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 13l3-8h12l3 8v6H3z M3 13h5l1 3h6l1-3h5'/%3E%3C/svg%3E")}
body[data-concept=ledger] #app .rv-panel-head h2::before{--gi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3 2.8 5.8 6.4.9-4.6 4.5 1.1 6.4-5.7-3-5.7 3 1.1-6.4L2.8 9.7l6.4-.9z'/%3E%3C/svg%3E")}
body[data-concept=ledger] #app .rv-list-head h2::before{--gi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h18v13H8l-5 4z M7 8h10 M7 12h6'/%3E%3C/svg%3E")}
body[data-concept=ledger] #app .rv-small-title::before{--gi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3a9 9 0 1 0 0 18 9 9 0 0 0 0-18 M12 11v5 M12 8h.01'/%3E%3C/svg%3E")}
body[data-concept=ledger] #app .bi-report-heading h3::before{--gi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 3v18h18 M8 15l4-5 4 3 5-8'/%3E%3C/svg%3E")}
body[data-concept=ledger] #app .bi-panel > h3::before{--gi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 3v18h18 M8 15l4-5 4 3 5-8'/%3E%3C/svg%3E")}
body[data-concept=ledger] #app .bi-trend-head h3::before{--gi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 3v18h18 M8 15l4-5 4 3 5-8'/%3E%3C/svg%3E")}
body[data-concept=ledger] #app .mx-source-panel h3::before{--gi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12V3h9l9 9-9 9z M7.5 7.5h.01'/%3E%3C/svg%3E")}
body[data-concept=ledger] #app .mx-section-title::before{--gi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 3v18h18 M8 15l4-5 4 3 5-8'/%3E%3C/svg%3E")}
body[data-concept=ledger] #app .tp-detail-title::before{--gi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h14a2 2 0 0 1 2 2v14H3V6a2 2 0 0 1 2-2z M8 2v4 M16 2v4 M3 10h18'/%3E%3C/svg%3E")}
body[data-concept=ledger] #app .am-title::before{--gi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h18v13H8l-5 4z M7 8h10 M7 12h6'/%3E%3C/svg%3E")}
body[data-concept=ledger] #app .auto-slot h3::before{--gi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3a9 9 0 1 0 0 18 9 9 0 0 0 0-18 M12 7.5V12l3 2'/%3E%3C/svg%3E")}
body[data-concept=ledger] #app .am-sending h3::before{--gi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12h4l3-8 4 16 3-8h4'/%3E%3C/svg%3E")}
body[data-concept=ledger] #app .conn-group h2::before{--gi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 15 6-6 M8 17l-1 1a4 4 0 0 1-6-6l4-4a4 4 0 0 1 6 0 M16 7l1-1a4 4 0 0 1 6 6l-4 4a4 4 0 0 1-6 0'/%3E%3C/svg%3E")}
body[data-concept=ledger] #app .conn-detail h2::before{--gi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3a9 9 0 1 0 0 18 9 9 0 0 0 0-18 M12 11v5 M12 8h.01'/%3E%3C/svg%3E")}
body[data-concept=ledger] #app .conn-keys-group h3::before{--gi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 8a5 5 0 1 1-10 0 5 5 0 0 1 10 0 M12 12l9 9 M17 17l3-3 M19 19l3-3'/%3E%3C/svg%3E")}
body[data-concept=ledger] #app .act-page-head + * h2::before{--gi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12h4l3-8 4 16 3-8h4'/%3E%3C/svg%3E")}
body[data-concept=ledger] #app .overview-page .page-header h1::before{--gi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3h7v7H3z M14 3h7v7h-7z M3 14h7v7H3z M14 14h7v7h-7z'/%3E%3C/svg%3E");width:1.15em;height:1.15em;margin-right:.4em}
body[data-concept=ledger] #app .tp-title::before{--gi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 21V11h4v10 M10 21V6h4v15 M16 21V3h4v18'/%3E%3C/svg%3E");width:1.15em;height:1.15em;margin-right:.4em}
body[data-concept=ledger] #app .messaging-center-page h1::before,body[data-concept=ledger] #app .mc-page-head h1::before{--gi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h18v13H8l-5 4z M7 8h10 M7 12h6'/%3E%3C/svg%3E");width:1.15em;height:1.15em;margin-right:.4em}
body[data-concept=ledger] #app .conn-page h1::before,body[data-concept=ledger] #app .conn-head h1::before{--gi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 15 6-6 M8 17l-1 1a4 4 0 0 1-6-6l4-4a4 4 0 0 1 6 0 M16 7l1-1a4 4 0 0 1 6 6l-4 4a4 4 0 0 1-6 0'/%3E%3C/svg%3E");width:1.15em;height:1.15em;margin-right:.4em}
body[data-concept=ledger] #app .act-page-head h1::before{--gi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12h4l3-8 4 16 3-8h4'/%3E%3C/svg%3E");width:1.15em;height:1.15em;margin-right:.4em}
body[data-concept=ledger] #app :is(.overview-page .review-leaderboard h2,.overview-page .panel-head h2,.rv-panel-head h2,.cr-list h2,.conn-group h2,.conn-detail h2){display:flex;align-items:center}

/* ─── Small figures: their picture sits on a tinted chip ─── */
#app#app :is(.overview-page .metric-label,.overview-page .today .metric-label) .icon{box-sizing:content-box;padding:4px;border-radius:7px;background:var(--grp-bg);color:var(--grp);stroke-width:1.8}
#app#app :is(.bi-stat-lbl,.tp-card-lbl,.mkt-ov-card-lbl) .icon{color:var(--grp)}

/* ─── Colour on the cards of a page: a top edge in the group's colour ─── */
body[data-concept=ledger] #app :is(.overview-page .panel,.overview-page .review-leaderboard,.overview-page .summary,.bi-panel,.mx-source-panel,.rv-panel,.cv-sec,.tp-card,.conn-detail,.am-panel){border-top:2px solid var(--grp)}

/* ─── Loose captions go into the card style, with a picture ─── */
body[data-concept=ledger] #app :is(.bi-comparison,.bi-color-guide,.bi-note,.week-caption,.customer-requests-page > p,.customer-requests-page > .muted,.overview-page .refresh > span,.am-messages > p[role=status],.message-center > p.error){display:flex;align-items:center;flex-wrap:wrap;gap:6px 18px;margin:0 0 14px;padding:10px 14px;border:1px solid var(--grp-line,var(--border));border-left:3px solid var(--grp,var(--strong));border-radius:8px;background:var(--surface);color:var(--muted);font-size:13px;line-height:1.5}
body[data-concept=ledger] #app :is(.bi-comparison,.bi-note,.am-messages > p[role=status],.customer-requests-page > p,.customer-requests-page > .muted)::before{content:"";flex:none;width:16px;height:16px;background:var(--grp,currentColor);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3a9 9 0 1 0 0 18 9 9 0 0 0 0-18 M12 11v5 M12 8h.01'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3a9 9 0 1 0 0 18 9 9 0 0 0 0-18 M12 11v5 M12 8h.01'/%3E%3C/svg%3E") center/contain no-repeat}
body[data-concept=ledger] #app#app :is(.bi-note,.bi-comparison,.bi-color-guide){padding:10px 14px}
body[data-concept=ledger] #app .week-caption{justify-content:space-between;margin:10px 0 0}
body[data-concept=ledger] #app .week-caption .icon{color:var(--grp)}
body[data-concept=ledger] #app .overview-page .refresh > span{padding:6px 12px;margin:0}
body[data-concept=ledger] #app .bi-color-guide b{font-weight:700}

body[data-concept=ledger] #app :is(.am-messages > p[role=status],.message-center > p.error){flex-wrap:nowrap;align-self:stretch;width:auto;max-width:none}
body[data-concept=ledger] #app .message-center > p.error{color:var(--danger);border-left-color:var(--danger)}
body[data-concept=ledger] #app .message-center > p.error::before{background:var(--danger);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.5L2.5 20.5h19L12 3.5z M12 10v4.5 M12 17.6h.01'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.5L2.5 20.5h19L12 3.5z M12 10v4.5 M12 17.6h.01'/%3E%3C/svg%3E")}
body[data-concept=ledger] #app .rv-statusbar{padding:10px 14px;margin-bottom:14px;border:1px solid var(--grp-line);border-left:3px solid var(--grp);border-radius:8px;background:var(--surface)}

/* ─── Empty states: a picture and a card ─── */
body[data-concept=ledger] #app :is(.mc-empty,.leaderboard-empty,.ov-empty,.empty-state){border:1px dashed var(--grp-line,var(--border));border-radius:10px;background:var(--surface)}
