:root {
  color-scheme: light;
  --app-bg: #f3f6fb;
  --app-paper: #fffefa;
  --app-white: #fff;
  --app-ink: #192d48;
  --app-muted: #52647c;
  --app-border: #d8e1ee;
  --app-navy: #1e3a5e;
  --app-blue: #23437d;
  --app-night: #142844;
  --app-blue-wash: #eaf1fb;
  --app-orange: #e96a1c;
  --app-gold: #ffc044;
  --app-orange-wash: #fff1db;
  --app-danger: #a23930;
  --app-radius: 16px;
  --app-shadow: 0 3px 12px rgb(30 58 94 / 7%);
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}

*, *::before, *::after { box-sizing: border-box; }

body {
  margin: 0;
  background: var(--app-bg);
  color: var(--app-ink);
  line-height: 1.5;
}

[hidden] { display: none !important; }

button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: .55; }

:where(button, a, input, textarea, select, [tabindex]):focus-visible {
  outline: 2px solid #a84812;
  outline-offset: 3px;
}

.shell {
  display: grid;
  grid-template-columns: 244px minmax(0, 1fr);
  min-height: 100vh;
}

.sidebar {
  position: sticky;
  top: 0;
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100vh;
  padding: 25px 16px 19px;
  overflow: auto;
  background: var(--app-night);
  color: var(--app-white);
}

.brand {
  display: flex;
  align-items: center;
  gap: 11px;
  margin: 0 0 36px;
  padding: 0 5px;
  color: inherit;
  text-decoration: none;
}

.brand-mark {
  display: grid;
  grid-template: minmax(0, 1fr) / minmax(0, 1fr);
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  place-items: center;
  overflow: hidden;
  padding: 5px;
  border-radius: 12px;
  background: var(--app-paper);
  color: var(--app-navy);
  font-size: 16px;
  font-weight: 800;
}

.brand-mark img { display: block; width: 100%; height: 100%; object-fit: contain; }
.brand-initial { line-height: 1; text-box: trim-both cap alphabetic; }
.brand-name { display: block; font-size: 14px; font-weight: 760; letter-spacing: -.012em; }
.brand-caption { display: block; margin-top: 2px; color: #b8c9e3; font-size: 11px; }

.sidebar-nav, .editor-nav { display: grid; align-content: start; gap: 5px; }

.nav-button {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 44px;
  padding: 9px 11px;
  border: 1px solid transparent;
  border-radius: 9px;
  background: transparent;
  color: #d4e0f3;
  font-size: 13px;
  font-weight: 650;
  text-align: start;
  text-decoration: none;
  transition: background-color .15s ease, color .15s ease;
}

.sidebar .nav-button:hover { background: var(--app-navy); color: #fff; }
.sidebar .nav-button[aria-current="page"] {
  border-color: #486594;
  background: var(--app-blue);
  color: #fff4e5;
}

.sidebar .nav-button[aria-current="page"] .icon { color: var(--app-gold); }
.sidebar :focus-visible { outline-color: var(--app-gold); }

.sidebar-foot {
  margin-top: auto;
  padding: 16px 9px 0;
  border-top: 1px solid #385577;
  color: #b8c9e3;
  font-size: 11px;
  line-height: 1.55;
}

.sidebar-foot p { margin: 0; }
.sidebar-foot strong { display: block; margin-bottom: 3px; color: #edf3fc; font-size: 12px; }
.main { min-width: 0; }

.topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 65px;
  padding: 10px clamp(18px, 4vw, 54px);
  border-bottom: 1px solid var(--app-border);
  background: var(--app-paper);
}

.topbar p { margin: 0; }
.topbar .muted { font-size: 12px; }

.eyebrow {
  margin: 0 0 6px;
  color: var(--app-muted);
  font-size: 10.5px;
  font-weight: 790;
  letter-spacing: .12em;
  line-height: 1.45;
  text-transform: uppercase;
}

.workspace {
  width: 100%;
  max-width: 1500px;
  margin-inline: auto;
  padding: 28px clamp(18px, 4vw, 54px) 62px;
}

.hero {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 28px;
  overflow: hidden;
  min-height: 230px;
  margin: 0 0 29px;
  padding: clamp(24px, 4vw, 43px);
  border-radius: 21px;
  background: linear-gradient(115deg, var(--app-night) 12%, var(--app-blue) 100%);
  color: #fffaf0;
  box-shadow: var(--app-shadow);
}

.hero::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  background: repeating-radial-gradient(ellipse 75% 110% at 103% -26%, transparent 0 20px, rgb(255 192 68 / 15%) 21px 22px, transparent 23px 37px);
  mask-image: linear-gradient(to right, transparent 35%, #000 95%);
  content: "";
  pointer-events: none;
}

.hero-copy { max-width: 620px; }
.hero .eyebrow { color: #ffdb8e; }
.hero h1 {
  max-width: 20ch;
  margin: 7px 0 10px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(34px, 4.2vw, 58px);
  font-weight: 500;
  letter-spacing: -.04em;
  line-height: 1.04;
}

.hero p:not(.eyebrow) { max-width: 49ch; margin: 0; color: #e0eafa; font-size: 14px; }
.hero-actions, .actions, .language-switch {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.hero-actions { flex-shrink: 0; }
.hero .btn-primary { border-color: var(--app-gold); background: var(--app-gold); color: var(--app-night); }
.hero .btn-primary:hover { background: #ffcf70; }
.hero .btn-secondary, .hero .btn-quiet { border-color: #809ac0; background: var(--app-navy); color: #fffaf0; }
.hero .btn-secondary:hover, .hero .btn-quiet:hover { background: #31568d; }
.hero :focus-visible { outline-color: var(--app-gold); }

.page-header, .editor-header, .row-head, .card-top {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 14px;
}

.page-header, .editor-header { margin: 0 0 18px; }
.page-header h1, .editor-header h1 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(28px, 3.3vw, 44px);
  font-weight: 500;
  letter-spacing: -.035em;
  line-height: 1.12;
}

.page-header h2, .editor-header h2 { margin: 0; font-size: clamp(20px, 2.2vw, 26px); letter-spacing: -.025em; }
.page-header p:not(.eyebrow), .editor-header p:not(.eyebrow) { margin: 5px 0 0; color: var(--app-muted); font-size: 13px; }

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 41px;
  padding: 8px 13px;
  border: 1px solid transparent;
  border-radius: 9px;
  background: transparent;
  color: var(--app-ink);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}

.btn-primary { border-color: var(--app-blue); background: var(--app-blue); color: #fff; }
.btn-primary:hover { border-color: var(--app-navy); background: var(--app-navy); }
.btn-secondary { border-color: #cbd7e8; background: #fff; color: var(--app-navy); }
.btn-secondary:hover { border-color: #9eafc7; background: var(--app-blue-wash); }
.btn-quiet { color: var(--app-navy); }
.btn-quiet:hover { background: var(--app-blue-wash); }
.btn-danger { border-color: #f0d4cf; background: #fff8f7; color: var(--app-danger); }
.btn-danger:hover { border-color: #d7a49b; background: #fbe8e5; }

.icon {
  display: inline-block;
  flex: 0 0 auto;
  width: 17px;
  height: 17px;
  vertical-align: -.14em;
}

.card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(250px, 100%), 1fr));
  gap: 14px;
}
.contact-toolbar { display: flex; flex-wrap: wrap; align-items: end; gap: 14px 18px; margin-bottom: 24px; padding: 15px; border: 1px solid var(--app-border); border-radius: 10px; background: var(--app-white); }
.contact-toolbar > .field { flex: 1 1 240px; max-width: 440px; }
.order-tabs { margin-bottom: 18px; }
.acc-tabs { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 18px; }
.acc-filters { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; padding: 16px; margin-bottom: 20px; border: 1px solid var(--app-border); border-radius: 12px; background: white; }
.acc-filters .field { flex: 1 1 150px; }
.acc-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 18px 0 24px; }
.acc-booking-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.system-toolbar { display: flex; align-items: center; gap: 12px; }
.system-profile-name { max-width: 160px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.system-count { display: inline-flex; align-items: center; justify-content: center; min-width: 22px; height: 22px; border-radius: 12px; padding: 0 5px; background: var(--app-orange); color: white; margin-left: 4px; font-size: 11px; }
.system-online-note { margin-top: 20px; }
.system-activity { padding: 0; list-style: none; display: grid; gap: 12px; }
.system-activity > li { display: flex; justify-content: space-between; align-items: start; gap: 20px; overflow-wrap: anywhere; }
.system-activity p { margin: 7px 0; }
.system-activity time, .system-activity small { color: var(--app-muted); font-size: 12px; }
.system-activity time { flex-shrink: 0; }
.system-unread { border-left: 4px solid var(--app-orange); }
.trip-payment-panel { margin: 18px 0 24px; }
.text-choices, .text-library-list { display: grid; gap: 8px; }
.extra-service-lookup { position: relative; }
.extra-service-lookup .actions input { flex: 1; width: auto; min-width: 100px; }
.extra-service-results small { display: block; margin-top: 4px; }
.extra-service-error { color: var(--app-danger); margin-top: 6px; font-size: 12px; }
.selection-error { display: block; color: var(--app-danger); margin-top: 6px; font-size: 12px; }
.extra-service-lookup input[aria-invalid="true"] { border-color: var(--app-danger); }
.extra-service-results { position: absolute; z-index: 5; inset: 100% 0 auto; max-height: 220px; overflow: auto; margin-top: 6px; padding: 6px; border: 1px solid var(--app-border); border-radius: 8px; background: white; box-shadow: var(--app-shadow); }
.text-choice, .text-library-row { display: flex; align-items: center; gap: 14px; padding: 13px 15px; border: 1px solid var(--app-border); border-radius: 9px; background: white; }
.text-choice { gap: 9px; padding: 7px 10px; }
.text-choice-label { display: flex; flex: 1; align-items: center; min-width: 0; gap: 10px; cursor: pointer; }
.text-choice.is-selected { border-color: #a8d6b6; background: #f0faf3; }
.text-choice input { accent-color: #137333; width: 20px; height: 20px; flex: 0 0 20px; }
.text-choice-copy { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; flex: 1; min-width: 0; font-size: 14px; overflow-wrap: anywhere; }
.text-choice-copy > span { min-width: 0; }
.text-library-row .actions { flex-shrink: 0; }
@media (max-width: 680px) { .text-choice-copy { gap: 10px; } .text-library-row { flex-wrap: wrap; } }
.trip-payment-panel > .acc-section-head { margin-top: 0; }
.trip-payment-totals { max-width: 560px; display: grid; gap: 12px; margin: 18px 0; }
.trip-payment-totals > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 14px; }
.trip-payment-totals .acc-balance { padding: 12px; border-radius: 8px; }
.trip-payment-actions { display: flex; align-items: end; flex-wrap: wrap; gap: 10px; }
.trip-payment-actions .field { flex: 1 1 160px; max-width: 260px; }
.trip-payment-actions .btn { margin-bottom: 0; }
.trip-payment-panel .acc-history { margin-top: 20px; }
@media (max-width: 680px) { .system-profile-name { display: none; } .system-activity > li { flex-direction: column; gap: 8px; } .system-toolbar .btn { padding: 7px; font-size: 12px; } }
.acc-secondary { margin-top: 16px; }
.acc-secondary > summary { cursor: pointer; font-weight: 600; padding: 4px 0; }
.acc-secondary[open] > summary { margin-bottom: 16px; }
.acc-secondary > .acc-inline-documents { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--app-line, #d8e1ee); }
.acc-metric { display: grid; gap: 8px; align-content: start; padding: 18px; }
.acc-metric > span { color: var(--app-muted); font-size: 12px; font-weight: 650; }
.acc-metric > strong { font-size: clamp(18px, 1.7vw, 25px); line-height: 1.2; letter-spacing: -.025em; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.acc-metric > small { color: var(--app-muted); font-size: 11px; }
.acc-negative { color: var(--app-danger); }
.acc-section-head, .acc-invoice-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px; margin: 22px 0 14px; }
.acc-section-head h2, .acc-invoice-head h2 { margin: 0; font-size: 20px; }
.acc-invoice-head p { margin: 6px 0 0; }
.acc-overview { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; margin-bottom: 24px; }
.acc-flow h3 { margin: 0 0 12px; font-size: 15px; }
.acc-flow > div { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; font-size: 13px; border-bottom: 1px solid var(--app-border); }
.acc-flow strong { white-space: nowrap; font-variant-numeric: tabular-nums; }
.acc-flow .acc-total { margin-top: 9px; border: 0; padding: 10px; border-radius: 7px; background: var(--app-blue-wash); }
.acc-help { margin: 10px 0; font-size: 12px; line-height: 1.65; }
.acc-include-voided { display: flex; align-items: center; gap: 7px; margin: 10px 0; color: var(--app-muted); font-size: 12px; }
.acc-date .date-controls > input[data-acc-date-part] { flex: 0 0 2.5ch; width: 2.5ch; min-height: 39px; padding: 0; border: 0; border-radius: 0; background: transparent; text-align: center; font-variant-numeric: tabular-nums; box-shadow: none; }
.acc-date .date-controls > input[data-acc-date-part="month"] { flex-basis: 2em; width: 2em; }
.acc-date .date-controls > input[data-acc-date-part="year"] { flex-basis: max(4.5ch, 2.65em); width: max(4.5ch, 2.65em); }
.acc-date .date-controls > input:focus { outline: none; }
.acc-capital-metrics { grid-template-columns: repeat(3, minmax(0,1fr)); }
.acc-table { margin-top: 12px; }
.list-table td small { display: block; margin-top: 3px; color: var(--app-muted); font-size: 11px; }
.acc-table td:nth-child(3), .acc-table td:nth-child(4) { white-space: nowrap; }
.acc-alert { border: 1px solid #efca9c; background: #fff5e8; color: #8c4618; padding: 12px 16px; border-radius: 9px; font-size: 13px; }
.acc-preview { height: 100vh; display: flex; flex-direction: column; background: var(--app-bg); }
.acc-preview > .preview-bar { flex: 0 0 auto; }
.acc-preview iframe { width: 100%; flex: 1; border: 0; background: white; }
.acc-company-title, .acc-logo-row { display: flex; align-items: center; gap: 12px; }
.acc-company-title h2 { margin: 0; font-size: 16px; overflow-wrap: anywhere; }
.acc-company-title small { color: var(--app-muted); }
.acc-company-card { margin-top: 16px; }
.acc-company-shortcuts { margin: 18px 0 24px; }
.acc-company-shortcuts h2 { margin: 0 0 10px; font-size: 17px; }
.acc-company-shortcuts > div { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px,100%),1fr)); gap: 12px; }
.acc-company-shortcut { display: flex; align-items: center; gap: 12px; min-width: 0; padding: 13px 15px; border: 1px solid var(--app-border); border-radius: 12px; text-align: left; background: var(--app-white); color: var(--app-ink); box-shadow: var(--app-shadow); }
.acc-company-shortcut:hover { border-color: var(--app-blue); background: var(--app-blue-wash); }
.acc-company-shortcut > span:last-child { min-width: 0; }
.acc-company-shortcut strong { display: block; overflow-wrap: anywhere; font-size: 14px; }
.acc-company-shortcut small { display: block; margin-top: 4px; color: var(--app-blue); font-size: 11px; }
.acc-invoice-companies { display: grid; gap: 10px; }
.acc-order-lookup { position: relative; margin-bottom: 12px; }
.acc-order-results { position: absolute; z-index: 8; top: 100%; left: 0; right: 0; max-height: 280px; overflow: auto; padding: 5px; margin-top: 4px; border: 1px solid var(--app-border); border-radius: 9px; background: white; box-shadow: var(--app-shadow); }
.acc-order-results > button { display: grid; gap: 3px; width: 100%; padding: 10px; text-align: left; border: 0; border-radius: 6px; background: white; color: var(--app-ink); }
.acc-order-results > button:hover, .acc-order-results > button:focus-visible { background: var(--app-blue-wash); }
.acc-order-results span { font-size: 13px; }
.acc-order-results small { color: var(--app-muted); font-size: 11px; }
#acc-order-reference input[readonly], #acc-inv-number input[readonly] { background: #f4f6fa; color: var(--app-muted); }
.acc-account-context { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin: 18px 0; }
.acc-account-context > .field { flex: 0 1 300px; width: 100%; }
.acc-account-context .acc-company-title small { display: block; margin-top: 4px; }
.acc-account-period { margin-bottom: 16px; }
.acc-account-period > summary { cursor: pointer; font-size: 12px; color: var(--app-muted); }
.acc-account-period .acc-filters { margin-top: 12px; }
.acc-account-counts { margin: 12px 0; color: var(--app-muted); font-size: 13px; }
.acc-file-progress { display: block; color: var(--app-muted); font-size: 12px; font-weight: 500; }
.acc-file-list { list-style: none; margin: 0; padding: 0; }
.acc-file-list li { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--app-border); }
.acc-file-list li > div:first-child { flex: 1 1 190px; min-width: 0; }
.acc-file-list strong { display: block; font-size: 13px; overflow-wrap: anywhere; }
.acc-file-list small { display: block; margin-top: 4px; color: var(--app-muted); font-size: 11px; }
dialog:has(.acc-file-list) .row-head h2 { min-width: 0; overflow-wrap: anywhere; }
dialog .acc-file-list .actions { margin: 0; }
.acc-inline-documents { display: flex; align-items: center; flex-wrap: wrap; justify-content: space-between; gap: 12px; margin: 16px 0; }
.acc-inline-documents small { display: block; margin-top: 4px; color: var(--app-muted); font-size: 12px; }
.acc-profile-logo, .acc-profile-placeholder { flex: 0 0 56px; width: 56px; height: 56px; padding: 4px; border: 1px solid var(--app-border); border-radius: 8px; background: white; }
.acc-profile-logo { display: block; object-fit: contain; }
.acc-profile-placeholder { display: grid; place-items: center; background: var(--app-blue-wash); font-size: 22px; color: var(--app-blue); }
.acc-bank-editor { min-width: 0; margin: 8px 0; padding: 14px; border: 1px solid var(--app-border); border-radius: 9px; }
.acc-bank-editor legend { padding: 0 6px; font-weight: 700; font-size: 14px; }
.acc-document-company { margin: 18px 0; }
.acc-company-choice { display: flex; align-items: end; flex-wrap: wrap; gap: 12px; }
.acc-company-choice > .field { flex: 1; min-width: 180px; }
.acc-selected-company { display: flex; gap: 12px; align-items: center; margin-top: 15px; }
.acc-selected-company > div { min-width: 0; }
.acc-selected-company small { display: block; font-size: 12px; margin-top: 4px; overflow-wrap: anywhere; }
.acc-settlement-grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: 16px; align-items: start; }
.acc-settlement .acc-section-head { margin: 0 0 16px; }
.acc-settlement .acc-section-head h2 { font-size: 17px; }
.acc-settlement > div:not(.acc-section-head):not(.actions), .acc-supplier-item > div:not(.acc-supplier-title):not(.actions) { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin: 12px 0; font-size: 13px; }
.acc-settlement strong { font-variant-numeric: tabular-nums; }
.acc-settlement .acc-balance { padding: 11px 12px; border-radius: 8px; }
.acc-balance-due { background: #fff1f0; color: #a23930; }
.acc-balance-paid { background: #effaf3; color: #18733a; }
.acc-paid-label { display: inline-block; padding: 7px 0; color: #18733a; font-size: 13px; font-weight: 700; }
.acc-supplier-title { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.acc-supplier-item + .acc-supplier-item { border-top: 1px solid var(--app-border); margin-top: 20px; padding-top: 18px; }
.acc-profit-strip { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: 15px; margin: 16px 0; background: var(--app-blue-wash); border-radius: 9px; font-size: 13px; }
.acc-history summary, .acc-more summary { cursor: pointer; font-size: 14px; font-weight: 650; }
.acc-history[open] summary, .acc-more[open] summary { margin-bottom: 14px; }
.acc-more { margin-top: 18px; }
.acc-payment-context { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; background: var(--app-blue-wash); padding: 14px; border-radius: 9px; }
@media (max-width: 900px) { .acc-settlement-grid { grid-template-columns: minmax(0,1fr); } }
@media (max-width: 1100px) { .acc-metrics { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 680px) { .acc-overview, .acc-metrics { grid-template-columns: minmax(0,1fr); } .acc-filters .field { flex-basis: 100%; } }
.order-reference { font-variant-numeric: tabular-nums; letter-spacing: .03em; }

.card, .empty, .editor-panel, .row-card {
  min-width: 0;
  padding: 17px;
  border: 1px solid var(--app-border);
  border-radius: var(--app-radius);
  background: var(--app-paper);
  box-shadow: var(--app-shadow);
}

.card h2, .card h3, .card h4, .row-head h3, .row-head h4 { margin: 0; line-height: 1.25; }
.card h2 { font-size: 18px; }
.card p, .row-card p { margin: 6px 0; }
.card > .actions { margin-top: 13px; }
.package-card { position: relative; overflow: hidden; border-top: 3px solid var(--app-orange); }
.package-card .meta { margin-top: 8px; }
.package-card .card-top { align-items: center; flex-wrap: wrap; }

.order-status { display: inline-flex; align-items: center; padding: 4px 9px; border-radius: 7px; font-size: 14px; line-height: 1.4; font-weight: 700; color: var(--app-muted); }
.order-status-confirmed { color: #137333; background: #e8f5ec; font-weight: 800; }
.order-status-draft { color: #111111; background: #f1f3f5; font-weight: 750; }
.order-status-template { color: #b54708; background: #fff1db; font-weight: 750; }
.pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  width: fit-content;
  max-width: 100%;
  padding: 3px 8px;
  border-radius: 999px;
  background: var(--app-blue-wash);
  color: var(--app-navy);
  font-size: 11px;
  font-weight: 750;
  line-height: 1.35;
}

.meta, .muted { color: var(--app-muted); }
.meta { display: flex; flex-wrap: wrap; gap: 5px 12px; font-size: 12px; }

.empty {
  grid-column: 1 / -1;
  padding: 30px 18px;
  border-style: dashed;
  color: var(--app-muted);
  text-align: center;
}

.empty h2, .empty h3 { margin: 0 0 5px; color: var(--app-ink); }
.empty p { margin: 0 0 12px; }
.empty .actions { justify-content: center; }

.editor { min-width: 0; }
.editor-layout { display: grid; grid-template-columns: minmax(150px, 190px) minmax(0, 1fr); gap: 17px; }
.editor-nav { align-self: start; padding: 8px; border: 1px solid var(--app-border); border-radius: 12px; background: #eaf0f8; }
.editor-nav :where(.nav-button, button) {
  justify-content: flex-start;
  min-height: 39px;
  padding: 7px 9px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: #3e5473;
  font-size: 13px;
  font-weight: 670;
  text-align: start;
}

.editor-nav :where(.nav-button, button):hover { background: #dfe9f7; }
.editor-nav :where([aria-current="page"], [aria-selected="true"], .active) {
  border-color: #cbd7e8;
  background: #fff;
  color: var(--app-navy);
  box-shadow: 0 1px 3px rgb(30 58 94 / 7%);
}

.editor-main { min-width: 0; }
.editor-panel { padding: clamp(16px, 2.5vw, 26px); }
.editor-panel h2 { margin: 0 0 6px; font-size: 20px; letter-spacing: -.025em; }
.editor-panel > .muted { margin: 0 0 16px; font-size: 13px; }
.editor-panel > .actions { margin-top: 16px; }

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 13px 14px;
}

.field { display: grid; min-width: 0; gap: 5px; color: #374e6d; font-size: 12px; font-weight: 680; }
.field-wide { grid-column: 1 / -1; }
.activity-edit { padding-top: 21px; }
.flight-program-day .field { display: flex; align-items: center; gap: 7px; white-space: nowrap; }
.flight-program-day .field input { width: 66px; min-height: 33px; padding: 5px 7px; }
.flight-datetime { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 8px; min-width: 0; align-items: end; }
.flight-datetime > .field { min-width: 0; }
.flight-datetime .date-controls, .flight-datetime .time-controls { padding-inline: 6px; }
.flight-datetime .date-controls { padding-right: 35px; }
.flight-datetime .date-controls { font-size: 13px; }
@media (max-width: 1250px) { .flight-datetime { grid-column: 1 / -1; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
@media (max-width: 420px) { .flight-datetime { grid-template-columns: minmax(0, 1fr); } }
.activity-add { position: relative; }
.activity-add > summary { list-style: none; cursor: pointer; }
.activity-add > summary::-webkit-details-marker { display: none; }
.activity-add-options { display: grid; gap: 5px; margin-top: 6px; padding: 6px; border: 1px solid var(--app-border); border-radius: 8px; background: var(--app-white); }
.time-controls, .date-controls { display: flex; align-items: center; min-width: 0; min-height: 41px; padding: 0 10px; border: 1px solid #cbd7e8; border-radius: 8px; background: var(--app-white); color: var(--app-ink); font-size: 14px; font-weight: 460; direction: ltr; }
.time-controls:focus-within, .date-controls:focus-within { border-color: var(--app-blue); }
.date-controls > input[data-date-part] { flex: 0 0 2.5ch; width: 2.5ch; min-height: 39px; padding: 0; border: 0; border-radius: 0; background: transparent; text-align: center; font-variant-numeric: tabular-nums; box-shadow: none; }
.date-controls > input[data-date-part="month"] { flex-basis: 2em; width: 2em; }
.date-controls > input[data-date-part="year"] { flex-basis: max(4.5ch, 2.65em); width: max(4.5ch, 2.65em); }
.date-controls > input[data-date-part]:focus { outline: none; }
.date-controls > input[type="hidden"] { display: none; }
.date-controls:has([aria-invalid="true"]) { border-color: var(--app-danger); }
.time-controls > input[data-clock] { flex: 0 0 2.5ch; width: 2.5ch; min-width: 0; min-height: 39px; padding: 0; border: 0; border-radius: 0; background: transparent; text-align: center; font-variant-numeric: tabular-nums; box-shadow: none; }
.time-controls > input[data-clock]:focus { outline: none; }
.time-controls > input[type="hidden"] { display: none; }
.time-period { position: relative; flex: 0 0 auto; }
.time-period summary { display: flex; align-items: center; gap: 7px; min-height: 39px; padding: 0 7px; border: 0; background: transparent; cursor: pointer; font-size: 14px; }
.time-period summary::after { content: "▾"; font-size: 11px; }
.time-period summary::-webkit-details-marker { display: none; }
.time-period-options { position: absolute; top: 100%; left: 0; right: 0; z-index: 6; display: grid; gap: 2px; padding: 3px; border: 1px solid var(--app-border); border-radius: 0 0 6px 6px; background: var(--app-white); box-shadow: 0 3px 8px rgb(20 40 68 / 12%); }
.time-period-options .btn { min-height: 26px; padding: 3px 7px; font-size: 12px; border-radius: 5px; }
.time-period-options [aria-pressed="true"] { background: var(--app-blue-wash); border-color: var(--app-blue); }
.field small, .field .muted { font-size: 11px; font-weight: 450; }
.field :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea),
#app :where(input[type="search"], input[type="date"], input[type="time"], select) {
  width: 100%;
  min-width: 0;
  min-height: 41px;
  padding: 8px 10px;
  border: 1px solid #cbd7e8;
  border-radius: 8px;
  background: var(--app-white);
  color: var(--app-ink);
  font-size: 14px;
  font-weight: 460;
  text-align: start;
}

.field :where(input, textarea)::placeholder { color: #61738b; opacity: 1; }
.field textarea { min-height: 84px; resize: vertical; }
.field :where(input[readonly], input:disabled, textarea:disabled, select:disabled) { background: #edf2f9; color: var(--app-muted); }
.field :where(input[type="checkbox"], input[type="radio"]) { width: 16px; height: 16px; accent-color: var(--app-blue); }
.field [aria-invalid="true"] { border-color: var(--app-danger); }
.field [lang="ar"] { font-family: "Segoe UI", Tahoma, Arial, sans-serif; }
.stack { display: grid; gap: 12px; }
.row-card { padding: 13px; border-radius: 12px; background: #fcfdff; box-shadow: none; }
.row-head { align-items: center; margin-bottom: 9px; }
.row-head .btn { min-height: 34px; padding: 6px 8px; }
.row-head + .form-grid { margin-top: 9px; }

.table-scroll { max-width: 100%; overflow: auto; border: 1px solid var(--app-border); border-radius: 13px; background: var(--app-paper); }
.list-table { width: 100%; border-collapse: collapse; color: var(--app-ink); font-size: 13px; text-align: start; }
.list-table :where(th, td) { padding: 11px 13px; border-bottom: 1px solid #e3e9f1; text-align: start; vertical-align: middle; }
.list-table thead { background: var(--app-blue-wash); color: var(--app-navy); font-size: 11px; font-weight: 770; }
.list-table tr:last-child td { border-bottom: 0; }
.list-table .actions { flex-wrap: nowrap; }
.list-table .btn { min-height: 34px; white-space: nowrap; }

.callout {
  margin: 12px 0;
  padding: 10px 12px;
  border: 1px solid #ecd5b6;
  border-radius: 9px;
  background: var(--app-orange-wash);
  color: #684a2d;
  font-size: 12.5px;
}

.callout p { margin: 0; }
.duration-warning { margin: 0 0 14px; }
.status-line { min-height: 1.4em; color: var(--app-muted); font-size: 12px; }
.error-text { color: var(--app-danger); font-size: 12px; font-weight: 600; }

.preview-view { min-height: 100vh; background: #e9eff8; }
.preview-bar {
  position: sticky;
  z-index: 2;
  top: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 14px;
  padding: 10px clamp(12px, 4vw, 45px);
  border-bottom: 1px solid var(--app-border);
  background: var(--app-paper);
  box-shadow: 0 2px 8px rgb(30 58 94 / 6%);
}

.preview-paper { max-width: 950px; margin: 23px auto 45px; }
.language-switch { flex-wrap: nowrap; gap: 3px; padding: 3px; border: 1px solid var(--app-border); border-radius: 10px; background: var(--app-blue-wash); }
.language-switch .btn { min-height: 33px; padding: 5px 9px; }
.language-switch :where([aria-pressed="true"], [aria-selected="true"]) { border-color: #cbd7e8; background: #fff; color: var(--app-navy); }

.toast {
  position: fixed;
  z-index: 1000;
  inset: auto;
  inset-inline-end: clamp(12px, 4vw, 30px);
  top: 20px;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  max-width: min(360px, calc(100vw - 24px));
  padding: 11px 15px;
  border: 1px solid #57749e;
  border-radius: 10px;
  background: var(--app-navy);
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  box-shadow: 0 6px 20px rgb(20 40 68 / 19%);
}
.toast[hidden] { display: none; }
.toast-icon { display: grid; place-items: center; flex: 0 0 24px; height: 24px; border: 1px solid currentColor; border-radius: 50%; font-size: 15px; }
.toast[data-kind="success"] { background: #f0fdf4; color: #15803d; border-color: #bbf7d0; }
.toast[data-kind="error"] { background: #fef2f2; color: #b91c1c; border-color: #fecaca; }

dialog {
  width: min(600px, calc(100% - 30px));
  max-height: calc(100% - 30px);
  padding: clamp(17px, 4vw, 27px);
  overflow: auto;
  border: 1px solid var(--app-border);
  border-radius: var(--app-radius);
  background: var(--app-paper);
  color: var(--app-ink);
  box-shadow: 0 18px 60px rgb(20 40 68 / 20%);
}

dialog::backdrop { background: rgb(20 40 68 / 49%); }
dialog h2 { margin: 0 0 12px; font-size: 22px; letter-spacing: -.025em; }
dialog .actions { justify-content: flex-end; margin-top: 17px; }

@media (max-width: 980px) {
  .shell { grid-template-columns: 196px minmax(0, 1fr); }
  .sidebar { padding-inline: 12px; }
  .hero { align-items: start; flex-direction: column; gap: 17px; }
  .editor-layout { grid-template-columns: minmax(132px, 156px) minmax(0, 1fr); gap: 12px; }
  .preview-paper { margin-inline: 12px; }
}

@media (max-width: 730px) {
  .shell { display: block; }
  .sidebar { position: static; height: auto; padding: 12px 12px 8px; }
  .brand { margin: 0 0 9px; }
  .brand-mark { flex-basis: 38px; width: 38px; height: 38px; border-radius: 9px; }
  .editor-nav { display: flex; flex-wrap: wrap; gap: 4px; }
  .topbar { min-height: 50px; padding-inline: 15px; }
  .workspace { padding: 17px 14px 45px; }
  .hero { min-height: 0; margin-bottom: 20px; border-radius: 15px; }
  .editor-layout { grid-template-columns: minmax(0, 1fr); }
  .editor-nav .nav-button { width: auto; }
}

@media (max-width: 475px) {
  .form-grid { grid-template-columns: minmax(0, 1fr); }
  .page-header, .editor-header { flex-direction: column; gap: 10px; }
  .hero { padding: 20px; }
  .hero h1 { font-size: 34px; }
  .preview-bar { position: static; }
}

@media (prefers-reduced-motion: reduce) {
  .btn, .nav-button { transition: none; }
}

@media print {
  .preview-bar { display: none !important; }
  .preview-view { min-height: 0; background: transparent; }
  .preview-paper { max-width: none; margin: 0; }
}

.nav-icon { width: 1.35em; color: var(--app-gold); font-size: 16px; line-height: 1; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 14px; margin: 0 0 12px; }
.section-heading h2 { margin: 2px 0 0; font-size: clamp(19px, 2vw, 25px); }
.section-heading .eyebrow { margin-bottom: 2px; }
.package-summary { gap: 8px 14px; flex-wrap: wrap; margin-top: 18px; }
.library-tabs { margin-bottom: 16px; }

.directory-search, .directory-field { display: grid; min-width: 0; gap: 8px; }
.directory-field > .btn { justify-self: start; min-height: 34px; padding-block: 5px; }

.directory-results {
  display: grid;
  align-content: start;
  gap: 6px;
  max-height: 372px;
  margin: 0;
  padding: 5px;
  overflow: auto;
  list-style: none;
}

.directory-result {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-width: 0;
  min-height: 50px;
  padding: 8px 10px;
  border: 1px solid var(--app-border);
  border-radius: 9px;
  background: var(--app-white);
  color: var(--app-ink);
  text-align: start;
}

.directory-result:where(button, a):hover, .directory-result:focus-within {
  border-color: #9eafc7;
  background: var(--app-blue-wash);
}

.directory-result-copy { display: grid; flex: 1 1 auto; min-width: 0; gap: 2px; overflow-wrap: anywhere; }
.directory-result-photo { flex: 0 0 58px; width: 58px; height: 43px; border-radius: 6px; object-fit: cover; }
.directory-meta, .directory-source { color: var(--app-muted); font-size: 12px; overflow-wrap: anywhere; }
.directory-source { margin: 0; }
.directory-source a { color: var(--app-blue); }

.flight-airport-photo { display: flex; min-width: 0; flex-wrap: wrap; align-items: center; gap: 8px 10px; }
.flight-airport-photo img { width: min(138px, 100%); height: 78px; border-radius: 7px; object-fit: cover; }
.flight-airport-photo .btn { min-height: 34px; padding-block: 5px; }

@media (max-width: 475px) {
  .directory-result { padding-inline: 7px; gap: 7px; }
  .directory-result-photo { flex-basis: 44px; width: 44px; height: 38px; }
}

.price-sections { margin-top: 22px; }
.price-sections > .row-head { margin: 8px 0 0; }
.stay-photo { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; font-size: 13px; color: var(--app-muted); }
.stay-photo img { width: 58px; height: 42px; border-radius: 7px; object-fit: cover; }
.stay-photo .btn { min-height: 33px; padding: 5px 10px; }
.contact-logo { display: block; width: 74px; height: 54px; object-fit: contain; margin-block: 8px; }
.order-heading { margin-block-start: 26px; }
.breakfast-options { display: flex; flex-wrap: wrap; gap: 5px 12px; margin-top: 7px; font-size: 12px; }
.breakfast-options label { display: inline-flex; align-items: center; gap: 4px; }
.breakfast-options input { margin: 0; accent-color: var(--app-blue); }
.pricing-totals { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.extra-bed-panel { width: min(100%, 530px); padding: 8px 10px; border: 1px solid var(--app-border); border-radius: 8px; background: var(--app-blue-wash); }
.extra-bed-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 5px 10px; font-size: 13px; }
.extra-bed-heading p { margin: 2px 0 0; color: var(--app-muted); font-size: 11px; }
.extra-bed-heading .btn { min-height: 32px; padding: 4px 8px; }
.extra-bed-panel > .form-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 122px), 1fr)); gap: 8px; margin-top: 7px; }
.extra-bed-panel .field input { min-height: 34px; padding: 5px 7px; }
.sales-channel { min-width: 0; margin: 0; padding: 0; border: 0; }
.sales-channel legend, .field:has(> select[data-path="status"]) > span { color: var(--app-ink); font-size: 16px; font-weight: 700; }
.sales-channel legend { padding: 0; margin-bottom: 6px; }
.sales-channel-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 175px), 1fr)); align-items: end; gap: 10px; }
.sales-channel-options [data-action="direct-sale"]::before { content: "○"; margin-inline-end: 6px; }
.sales-channel-options [data-action="direct-sale"][aria-pressed="true"]::before { content: "✓"; color: #147a43; font-size: 22px; font-weight: 800; line-height: 1; vertical-align: middle; }
.sales-channel-options [data-action="direct-sale"][aria-pressed="true"] { background: var(--app-blue-wash); border-color: var(--app-border); }
.traveler-counts { min-width: 0; margin: 0; padding: 0; border: 0; }
.traveler-counts legend { margin-bottom: 7px; padding: 0; font-size: 14px; font-weight: 700; }
.traveler-count-inputs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; max-width: 280px; }
.traveler-count-inputs input { width: 100%; min-width: 0; }
.customer-lookup .meta, .hotel-lookup .meta { margin: 6px 0; }
.customer-search-row { position: relative; display: flex; align-items: end; gap: 8px; }
.customer-search-row .field { flex: 1; min-width: 0; }
.customer-search-row [data-action="toggle-customers"] { min-width: 44px; font-size: 17px; }
.customer-search-row > .btn { flex: none; white-space: nowrap; }
.customer-summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 10px 16px; margin: 0; padding: 12px; background: var(--app-paper); border: 1px solid var(--app-border); border-radius: 8px; }
.customer-summary dt { font-size: 12px; color: var(--app-muted); }
.customer-summary dd { margin: 3px 0 0; overflow-wrap: anywhere; }
.customer-empty { padding: 8px 12px; margin: 0; }
.customer-results, .hotel-results, .service-lookup .directory-results { max-height: 220px; margin-top: 6px; }
.directory-results[hidden] { display: none; }
.hotel-search-row { position: relative; }
.hotel-search-row, .room-type-row { display: flex; align-items: end; gap: 8px; }
.hotel-search-row .field, .room-type-row .field { flex: 1; min-width: 0; }
.stay-card .stay-voucher-dates { font-weight: 650; color: var(--app-ink); }
.stay-card > .row-head h3 { min-width: 0; overflow-wrap: anywhere; }
.stay-card > .row-head > .actions { flex: 0 0 auto; gap: 4px; }
.stay-card > .row-head > .actions > .btn { white-space: nowrap; }
.hotel-search-row > .btn, .room-type-row > .btn { white-space: nowrap; }
.hotel-results, .customer-results { position: absolute; z-index: 5; inset: 100% 0 auto; background: var(--app-white); box-shadow: 0 10px 24px rgb(20 40 68 / 15%); }
@media (max-width: 500px) {
  .stay-card > .row-head { gap: 8px; }
  .stay-card > .row-head > .actions > .btn { padding-inline: 5px; font-size: 11px; }
}
.airport-lookup { position: relative; min-width: 0; }
.airport-results { position: absolute; z-index: 5; inset: 100% 0 auto; max-height: 220px; background: var(--app-white); box-shadow: 0 10px 24px rgb(20 40 68 / 15%); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

.hero-art {
  position: relative;
  align-self: stretch;
  flex: 1 1 245px;
  min-width: 205px;
  min-height: 160px;
  display: grid;
  place-items: center;
  isolation: isolate;
  color: var(--app-gold);
}
.hero-orbit {
  position: absolute;
  top: 50%;
  left: 52%;
  width: min(83%, 240px);
  aspect-ratio: 1.75;
  transform: translate(-50%, -50%) rotate(-27deg);
  border: 1px dashed rgb(255 192 68 / 62%);
  border-radius: 50%;
}
.hero-orbit::before, .hero-orbit::after {
  content: "";
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--app-orange);
}
.hero-orbit::before { left: 3%; top: 24%; }
.hero-orbit::after { right: 4%; bottom: 21%; }
.hero-plane { position: absolute; top: 13%; right: 13%; transform: rotate(-18deg); font-size: 35px; }
.hero-stamp { font-size: clamp(18px, 2.6vw, 29px); font-weight: 750; line-height: 1.12; letter-spacing: .08em; text-align: center; }
.hero-stamp span { color: #fff5d9; }
.hero-stamp small { color: #e0eafa; font-size: 9px; letter-spacing: .22em; }

@media (max-width: 980px) {
  .hero-art { display: none; }
}
/* Workspace visual system: screen UI only; document/PDF styles live separately. */
:root {
  --app-bg: #f5f7fa;
  --app-paper: #ffffff;
  --app-ink: #25374e;
  --app-muted: #5d6d80;
  --app-border: #e3e8ef;
  --app-blue: #244875;
  --app-night: #132b49;
  --app-blue-wash: #edf3fa;
  --app-orange-wash: #fff4e9;
  --app-radius: 14px;
  --app-shadow: 0 2px 8px rgb(20 43 73 / 4%);
  --app-success: #167449;
  --app-success-wash: #eaf7ef;
  --app-warning: #99520c;
  --app-warning-wash: #fff4df;
  --app-danger: #b63736;
}
body { font-size: 14px; -webkit-font-smoothing: antialiased; }
.ui-icon { width: 18px; height: 18px; flex: 0 0 18px; vertical-align: middle; }
.shell { grid-template-columns: 228px minmax(0, 1fr); }
.sidebar {
  --sidebar-border: #bad6ef27;
  --sidebar-muted: #abc0d6;
  --sidebar-icon: #abc4df;
  --sidebar-hover: #d4e8fa12;
  --sidebar-selected: #c8e1f321;
  --sidebar-accent: #ffaf6e;
  padding: 24px 14px 16px;
  background: linear-gradient(165deg, #102842, #1b3955 70%, #17334e);
  border-inline-end: 1px solid var(--sidebar-border);
}
.brand { margin-bottom: 24px; gap: 10px; }
.brand-mark { width: 44px; height: 44px; flex-basis: 44px; border-radius: 13px; }
.brand-caption { letter-spacing: .09em; font-size: 9px; }
.sidebar-nav { gap: 3px; padding-bottom: 20px; }
.sidebar-group-label {
  padding: 0 10px;
  margin: 14px 0 3px;
  color: var(--sidebar-muted);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .085em;
  text-transform: uppercase;
}
.sidebar-group-label:first-child { margin-top: 0; }
.sidebar .nav-button { min-height: 42px; border-radius: 10px; font-size: 13px; font-weight: 600; gap: 10px; color: #dce7f3; }
.sidebar .nav-icon { display: grid; place-items: center; flex: 0 0 24px; width: 24px; color: var(--sidebar-icon); }
.sidebar .nav-button:hover { background: var(--sidebar-hover); color: #fff; }
.sidebar .nav-button[aria-current="page"] {
  background: var(--sidebar-selected);
  border-color: var(--sidebar-border);
  box-shadow: inset 3px 0 var(--sidebar-accent);
  color: #fff;
  font-weight: 750;
}
.sidebar .nav-button[aria-current="page"] .nav-icon { color: var(--sidebar-accent); }
.sidebar-foot { padding: 12px 0 0; border-top-color: var(--sidebar-border); }
.sidebar-foot .sidebar-storage { display: flex; align-items: center; gap: 7px; padding: 0 10px; margin: 0 0 9px; color: var(--sidebar-muted); }
.sidebar-storage::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.sidebar-foot > .btn { justify-content: flex-start; width: 100%; color: #e1ebf7; background: transparent; border-color: var(--sidebar-border); }
.sidebar-foot > .btn:hover { background: var(--sidebar-hover); }
.topbar { min-height: 68px; padding-inline: clamp(20px, 3.4vw, 46px); background: #ffffffed; }
.topbar > span { font-size: 10px; font-weight: 650; letter-spacing: .09em; color: var(--app-muted); }
.system-profile-name { font-size: 12px; font-weight: 650; }
.system-profile-name { background: var(--app-blue-wash); padding: 7px 10px; border-radius: 7px; }
.system-toolbar > .btn { font-size: 12px; min-height: 36px; }
.workspace { padding: 30px clamp(20px, 3.4vw, 46px) 48px; }
.page-header, .editor-header { align-items: center; margin-bottom: 26px; gap: 16px; }
.page-header h1, .editor-header h1, .hero h1 { font-family: inherit; font-weight: 740; font-size: clamp(25px, 2.4vw, 34px); line-height: 1.2; letter-spacing: -.035em; }
.eyebrow { color: #9b531b; font-size: 10px; letter-spacing: .12em; font-weight: 700; margin-bottom: 7px; }
.page-header p:not(.eyebrow) { max-width: 65ch; font-size: 13px; line-height: 1.65; }
.btn { min-height: 38px; padding: 9px 13px; border-radius: 9px; font-size: 12px; font-weight: 650; gap: 7px; }
.btn-primary { box-shadow: 0 2px 3px #132b4910; }
.btn-secondary { border-color: #d7e1ec; }
.btn .ui-icon { width: 16px; height: 16px; flex-basis: 16px; }
[data-action="new-trip"], [data-action="save-itinerary"] { background: #bd4b0b; color: white; border-color: #bd4b0b; }
[data-action="new-trip"]:hover, [data-action="save-itinerary"]:hover { background: #a73f06; border-color: #a73f06; }
:where(button, a, input, textarea, select, [tabindex]):focus-visible { outline: 3px solid #4a75a9; outline-offset: 3px; }
.card { background: white; }
.card h2 { font-size: 16px; font-weight: 700; letter-spacing: -.015em; }
.card-grid { gap: 16px; }
.card p { font-size: 13px; }
.card-top { align-items: center; }
.order-card { padding: 20px; }
.order-card h2 { margin-top: 17px; font-size: 18px; }
.order-card > .actions { border-top: 1px solid var(--app-border); padding-top: 15px; margin-top: 17px; }
.order-card > .actions > [data-action="delete-trip"] { margin-left: auto; font-size: 11px; color: var(--app-muted); }
.order-card > .actions > [data-action="delete-trip"]:hover { color: var(--app-danger); background: #fff1ef; }
.order-status { font-size: 11px; padding: 5px 9px; border-radius: 6px; gap: 6px; white-space: nowrap; }
.order-status::before, .acc-status::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: currentColor; flex: 0 0 6px; }
.order-status-confirmed { color: var(--app-success); background: var(--app-success-wash); }
.order-status-draft { color: #202c3c; background: #eef1f5; }
.order-status-template { background: #fff0df; color: #a64a0d; }
.order-status-quoted { background: #edf3fc; color: #2c5a9b; }
.order-status-cancelled { background: #ffefee; color: var(--app-danger); }
.pill { font-size: 10px; padding: 5px 8px; }
.order-reference { letter-spacing: .02em; font-weight: 700; font-size: 11px; }
.order-tabs, .acc-tabs, .library-tabs { gap: 5px; padding: 5px; border: 1px solid var(--app-border); border-radius: 12px; background: #edf1f7; margin-bottom: 22px; }
.order-tabs .btn, .acc-tabs .btn, .library-tabs .btn { border: 1px solid transparent; background: transparent; color: var(--app-muted); box-shadow: none; min-height: 35px; padding: 7px 11px; }
.order-tabs .btn[aria-pressed="true"], .acc-tabs .btn[aria-pressed="true"], .library-tabs .btn[aria-pressed="true"] { background: white; color: var(--app-navy); border-color: #dfe6ef; box-shadow: 0 2px 4px #132b4908; }
.order-tabs .btn:hover, .acc-tabs .btn:hover, .library-tabs .btn:hover { color: var(--app-ink); background: #ffffff90; }
.contact-toolbar, .acc-filters { padding: 16px; box-shadow: none; }
.empty { background: #fff; border: 1px dashed #c9d5e4; border-radius: 14px; font-size: 13px; padding: 38px 20px; }
.dashboard-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.dashboard-metric { display: flex; flex-direction: column; padding: 18px 16px 11px; }
.metric-top { display: flex; justify-content: space-between; align-items: center; gap: 6px; }
.metric-top h2 { font-size: 11px; color: var(--app-muted); font-weight: 650; }
.metric-icon, .recent-order-icon { display: grid; place-items: center; border-radius: 10px; background: var(--app-blue-wash); color: var(--app-blue); width: 32px; height: 32px; flex: 0 0 32px; }
.metric-confirmed .metric-icon { color: var(--app-success); background: var(--app-success-wash); }
.metric-value { font-size: 32px; font-weight: 730; line-height: 1.1; margin: 18px 0 14px; font-variant-numeric: tabular-nums; letter-spacing: -.04em; }
.metric-confirmed .metric-value { color: var(--app-success); }
.dashboard-metric > .btn { justify-content: flex-start; margin-inline: -7px; padding: 9px 7px; font-size: 10px; border-top: 1px solid #e8edf4; border-radius: 0; }
.dashboard-recent { margin-top: 32px; }
.section-heading { align-items: center; margin-bottom: 15px; }
.section-heading h2 { font-size: 18px; font-weight: 700; }
.recent-orders { overflow: hidden; border: 1px solid var(--app-border); border-radius: 14px; background: white; }
.recent-order { display: flex; gap: 16px; align-items: center; padding: 16px 20px; }
.recent-order + .recent-order { border-top: 1px solid var(--app-border); }
.recent-order-details { display: grid; gap: 3px; flex: 1; min-width: 0; overflow-wrap: anywhere; }
.recent-order-details > strong { font-size: 12px; color: var(--app-blue); }
.recent-order-details > span { font-size: 13px; font-weight: 600; }
.recent-order-details > small { font-size: 11px; color: var(--app-muted); }
.dashboard-empty > .ui-icon { width: 32px; height: 32px; margin-bottom: 12px; color: var(--app-blue); }
.editor-layout { grid-template-columns: minmax(150px,180px) minmax(0,1fr); gap: 20px; align-items: start; }
.editor-nav { position: sticky; top: 20px; padding: 7px; background: transparent; border-color: transparent; gap: 5px; }
.editor-nav .btn { min-height: 44px; gap: 10px; padding: 11px 10px; font-size: 12px; font-weight: 550; }
.editor-nav .btn[aria-current="page"] { background: white; color: var(--app-blue); border-color: var(--app-border); box-shadow: var(--app-shadow); font-weight: 700; }
.editor-nav .ui-icon { color: #7c90a8; }
.editor-nav .btn[aria-current="page"] .ui-icon { color: #bd4b0b; }
.editor-panel { padding: 24px; border-radius: 16px; }
.editor-panel h2 { font-size: 17px; line-height: 1.4; margin-bottom: 8px; }
.order-heading { padding-top: 24px; margin-top: 24px; border-top: 1px solid var(--app-border); }
.editor-savebar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; position: sticky; bottom: 14px; z-index: 4; margin-top: 15px; padding: 11px 15px; background: #fffffffa; border: 1px solid var(--app-border); border-radius: 12px; box-shadow: 0 4px 22px #132b4910; }
.status-line { display: inline-flex; align-items: center; gap: 7px; margin: 0; font-size: 11px; font-weight: 650; }
.status-line::before { content: ''; flex: 0 0 7px; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.status-line[data-state="unsaved"] { color: #99520c; background: #fff4df; padding: 7px 10px; border-radius: 6px; }
.status-line[data-state="saved"] { color: var(--app-success); }
.row-card { padding: 18px; border-radius: 12px; background: #fbfcfe; border-color: #dde5ef; box-shadow: none; }
.row-head h3 { font-size: 14px; }
.form-grid { gap: 16px; }
.field { font-size: 12.5px; font-weight: 600; color: #405269; gap: 6px; }
.field :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea), #app :where(input[type="search"], input[type="date"], input[type="time"], select) { border-color: #d5dfeb; border-radius: 8px; background: #fff; }
.field :where(input,textarea)::placeholder { color: #6b7b90; font-size: 12px; }
.time-controls, .date-controls { border-color: #d5dfeb; }
.time-controls:focus-within, .date-controls:focus-within, .field > :where(input,select,textarea):focus { border-color: #416b9d; box-shadow: 0 0 0 3px #24487512; }
.customer-summary { background: #f6f9fd; border-color: #e5ebf3; padding: 14px; }
.customer-summary dd { font-size: 13px; font-weight: 550; }
.pricing-totals { padding: 16px; border-radius: 11px; background: #f0f5fc; border: 1px solid #dde7f4; }
.pricing-totals input[readonly] { background: white; font-size: 19px; font-weight: 750; color: var(--app-navy); font-variant-numeric: tabular-nums; }
.directory-result { padding: 11px; border-color: #e5ebf3; }
.directory-result strong { font-size: 13px; }
.hotel-results, .customer-results, .airport-results, .extra-service-results { border: 1px solid #d7e1ee; border-radius: 11px; padding: 6px; box-shadow: 0 10px 26px #132b4919; }
.list-table { background: white; }
.list-table thead { background: #f6f8fb; color: #54667c; font-size: 11px; letter-spacing: .015em; }
.list-table th { padding-block: 14px; }
.list-table td { padding-block: 14px; }
.list-table tbody tr:hover { background: #f8fafd; }
.list-table td strong { font-size: 13px; font-weight: 650; }
.list-table td:has(.acc-money-in), .list-table td:has(.acc-money-out) { font-variant-numeric: tabular-nums; }
.callout, .acc-alert { border-color: #efd9b6; background: #fff7e9; color: #89530d; font-size: 13px; line-height: 1.65; }
.duration-warning { border-left: 3px solid #d98a22; }
.acc-status { display: inline-flex; align-items: center; gap: 6px; width: fit-content; padding: 4px 8px; border-radius: 6px; font-size: 10px; line-height: 1.5; font-weight: 700; white-space: nowrap; }
.acc-status-paid, .acc-status-capital { color: var(--app-success); background: var(--app-success-wash); }
.acc-status-part-paid { color: #99520c; background: #fff4df; }
.acc-status-unpaid, .acc-status-voided, .acc-status-withdrawal { color: var(--app-danger); background: #fff0ee; }
.acc-status-neutral, .acc-status-expense { color: #445e81; background: var(--app-blue-wash); }
.acc-invoice-status-row { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: -12px 0 22px; color: var(--app-muted); font-size: 11px; }
.acc-metrics { gap: 14px; }
.acc-metric { position: relative; border-top: 3px solid #dbe5f2; padding: 20px 18px; gap: 10px; }
.acc-metric > strong { font-size: clamp(20px,1.8vw,27px); font-weight: 740; }
.acc-metric > small { line-height: 1.55; font-size: 10px; }
.acc-metric-profit, .acc-metric-cash { border-top-color: #76b69a; }
.acc-metric-receivable { border-top-color: #ebad5d; }
.acc-metric-payable, .acc-metric-spending { border-top-color: #d5a1a1; }
.acc-metric-capital { border-top-color: #8aa9cd; }
.acc-money-in { color: var(--app-success); }
.acc-money-out { color: var(--app-danger); }
.acc-metric .acc-negative { color: var(--app-danger); }
.acc-invoice-description { color: var(--app-muted); font-size: 13px; line-height: 1.65; }
.acc-section-head h2 { font-size: 16px; }
.acc-section-head { margin-top: 25px; }
.acc-flow h3 { margin-bottom: 16px; font-size: 14px; }
.acc-flow > .acc-flow-row { border-bottom-color: #eef2f7; padding-block: 9px; }
.acc-settlement > .acc-section-head, .trip-payment-panel > .acc-section-head { margin-top: 0; }
.acc-settlement .acc-balance { margin-block: 13px; padding: 13px; border-radius: 9px; }
.acc-balance-due { background: #fff2ef; color: #aa3a30; }
.acc-balance-paid { background: var(--app-success-wash); color: var(--app-success); }
.acc-secondary > summary, .acc-history > summary, .acc-more > summary { font-size: 13px; color: #435c7c; }
.acc-secondary.card { padding: 16px 19px; box-shadow: none; }
.acc-profile-logo, .acc-profile-placeholder { width: 44px; height: 44px; flex-basis: 44px; border-radius: 10px; }
.acc-company-shortcut { padding: 16px; box-shadow: none; }
.acc-company-shortcut strong { font-size: 13px; }
.acc-help { line-height: 1.7; font-size: 12px; }
.system-activity { gap: 10px; }
.system-activity > .activity-entry { --activity-color: #496889; --activity-wash: #edf3fa; padding: 18px; gap: 14px; box-shadow: none; border-left: 3px solid #d4dfec; }
.system-activity > .activity-tone-success { --activity-color: #167449; --activity-wash: #eaf7ef; }
.system-activity > .activity-tone-warning { --activity-color: #99520c; --activity-wash: #fff4df; }
.system-activity > .activity-tone-danger { --activity-color: #b63736; --activity-wash: #fff0ee; }
.system-activity > .activity-tone-info { --activity-color: #2b6098; --activity-wash: #edf4fd; }
.system-activity > .system-unread { border-left-color: var(--activity-color); background: linear-gradient(100deg,var(--activity-wash),white 65%); }
.activity-symbol { display: grid; place-items: center; flex: 0 0 34px; width: 34px; height: 34px; border-radius: 10px; color: var(--activity-color); background: var(--activity-wash); font-size: 17px; font-weight: 650; }
.activity-body { min-width: 0; flex: 1; }
.activity-heading { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.activity-action { background: var(--activity-wash); color: var(--activity-color); padding: 3px 8px; border-radius: 5px; font-size: 11px; font-weight: 700; }
.activity-kind { color: var(--app-muted); font-size: 11px; }
.system-activity .activity-ref { color: var(--app-ink); font-size: 13px; font-weight: 650; margin: 8px 0 3px; }
.system-activity .system-log-summary { display: block; color: var(--app-muted); font-size: 12px; line-height: 1.6; margin: 5px 0; }
.activity-actor { font-size: 10px; color: var(--app-muted); }
.activity-meta { flex-shrink: 0; display: grid; justify-items: end; gap: 8px; }
.system-activity time { font-size: 10px; }
.activity-unread-label { color: var(--activity-color); background: var(--activity-wash); border-radius: 4px; padding: 3px 7px; font-size: 10px; font-weight: 650; }
dialog { padding: 26px; border-radius: 16px; background: white; box-shadow: 0 24px 80px #132b4933; }
dialog::backdrop { background: #0f233c6b; backdrop-filter: blur(3px); }
dialog h2 { font-size: 20px; font-weight: 730; }
dialog form > header { padding-bottom: 14px; margin-bottom: 20px; border-bottom: 1px solid var(--app-border); }
dialog form > .actions { padding-top: 17px; border-top: 1px solid var(--app-border); margin-top: 22px; }
#unsaved-changes { max-width: 480px; }
#unsaved-changes p { color: var(--app-muted); font-size: 13px; }
@media (max-width: 1150px) {
  .dashboard-metrics { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .shell { grid-template-columns: 200px minmax(0,1fr); }
  .workspace { padding-inline: 24px; }
  .editor-layout { grid-template-columns: 145px minmax(0,1fr); gap: 12px; }
}
@media (max-width: 850px) {
  .page-header { align-items: start; flex-direction: column; }
  .dashboard-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .editor-layout { grid-template-columns: minmax(0,1fr); }
  .editor-nav { position: static; display: flex; flex-wrap: wrap; padding: 5px; background: #edf1f7; }
  .editor-nav .btn { min-height: 36px; padding: 8px 10px; }
}
@media (max-width: 730px) {
  .shell { display: block; }
  .sidebar { padding: 12px 14px 8px; }
  .brand { margin: 0 0 10px; }
  .brand-mark { width: 36px; height: 36px; flex-basis: 36px; }
  .sidebar-foot { margin: 0; border: 0; }
  .sidebar-foot > .btn { width: auto; min-height: 30px; padding: 4px 8px; font-size: 10px; }
  .sidebar-foot > .btn .ui-icon { width: 14px; height: 14px; flex-basis: 14px; }
  .topbar { padding-inline: 16px; gap: 10px; min-height: 52px; }
  .topbar > span { font-size: 10px; letter-spacing: .02em; }
  .workspace { padding: 22px 16px 35px; }
  .page-header { margin-bottom: 21px; }
  .page-header h1 { font-size: 27px; }
  .page-header > .actions { gap: 6px; }
  .btn { font-size: 12px; padding-inline: 11px; }
  .dashboard-metrics { gap: 10px; }
  .dashboard-metric { padding: 14px 12px 9px; }
  .metric-top h2 { font-size: 10px; }
  .metric-icon { width: 26px; height: 26px; flex-basis: 26px; border-radius: 8px; }
  .metric-icon .ui-icon { width: 15px; height: 15px; }
  .metric-value { margin-block: 14px 12px; font-size: 28px; }
  .recent-order { flex-wrap: wrap; padding: 14px; gap: 10px; }
  .recent-order .recent-order-details { flex-basis: calc(100% - 50px); }
  .recent-order > .btn { margin-left: auto; }
  .editor-panel { padding: 17px; }
  .editor-nav .ui-icon { width: 14px; height: 14px; flex-basis: 14px; }
  .editor-nav .btn { font-size: 10px; gap: 5px; }
  .editor-savebar { bottom: 8px; padding: 10px; gap: 8px; }
  .editor-savebar .btn { font-size: 11px; min-height: 34px; }
  .status-line { font-size: 10px; }
  .row-card { padding: 13px; }
  .system-activity > .activity-entry { display: grid; grid-template-columns: 28px minmax(0,1fr); padding: 14px; gap: 10px; }
  .activity-symbol { width: 28px; height: 28px; border-radius: 8px; flex-basis: 28px; font-size: 14px; }
  .activity-meta { grid-column: 2; display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
  .activity-meta time { flex-shrink: 1; }
  .system-activity .activity-ref { font-size: 12px; }
  .system-activity .system-log-summary { font-size: 11px; }
  .acc-metric { padding: 17px; }
  .acc-metric > strong { font-size: 24px; }
  .acc-invoice-status-row { margin-top: -6px; }
  .contact-toolbar, .acc-filters { padding: 13px; }
  .acc-tabs .btn, .library-tabs .btn, .order-tabs .btn { font-size: 12px; padding-inline: 10px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; } }
.contact-card-heading { display: flex; align-items: center; gap: 11px; margin-bottom: 16px; }
.contact-avatar { display: grid; place-items: center; flex: 0 0 38px; width: 38px; height: 38px; border-radius: 11px; background: var(--app-blue-wash); color: var(--app-blue); font-size: 12px; font-weight: 750; }
.contact-details { display: grid; gap: 4px; font-size: 12px; color: var(--app-muted); overflow-wrap: anywhere; }
.contact-details p { margin: 0; font-size: 12px; }
.contact-notes { margin-top: 13px; color: var(--app-muted); font-size: 12px; }
.contact-notes summary { cursor: pointer; font-weight: 600; }
.contact-card > .meta { border-top: 1px solid var(--app-border); padding-top: 13px; margin-top: 16px; }
.field > select[data-order-status] { font-weight: 700; }
.field > select[data-order-status="confirmed"] { color: var(--app-success); background: var(--app-success-wash); border-color: #b7dac6; }
.field > select[data-order-status="quoted"] { color: #2b6098; background: #edf4fd; }
.field > select[data-order-status="cancelled"] { color: var(--app-danger); background: #fff0ee; }
.field > select[data-order-status] option { color: var(--app-ink); background: white; font-weight: 400; }
.dashboard-followup { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:14px; margin-top:24px; }
.dashboard-followup > .card { padding: 13px 14px; }
.dashboard-followup .section-heading { margin-bottom:6px; }
.dashboard-followup .acc-help { margin: 3px 0 8px; }
.dashboard-followup h2 { font-size:15px; }
.dashboard-task { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 0; border-top:1px solid var(--app-border); }
.dashboard-task > div { display:grid; gap:4px; min-width:0; overflow-wrap:anywhere; }
.dashboard-task strong { color:var(--app-blue); font-size:12px; }
.dashboard-task span { font-size:12px; font-weight:600; }
.dashboard-task small { font-size:11px; color:var(--app-muted); }
.dashboard-task .btn { flex-shrink:0; font-size:10px; padding-inline:7px; }
.dashboard-task-empty { color:var(--app-muted); padding:18px 0; font-size:12px; }
@media(max-width:1100px){.dashboard-followup { grid-template-columns:minmax(0,1fr); }}
.dashboard-task .dashboard-due { color:var(--app-danger); font-size:12px; }
/* Comfortable reading and a quieter financial workspace. */
.workspace { line-height: 1.6; }
.page-header h1 { font-size: clamp(26px,2.3vw,32px); font-weight: 720; }
.page-header > .actions { gap: 9px; }
.btn { font-size: 13px; font-weight: 600; min-height: 40px; }
.btn-secondary { background: #fff; border-color: #dce3ec; }
.btn-primary { box-shadow: none; }
.card, .editor-panel { box-shadow: 0 2px 8px rgb(20 43 73 / 3%); }
.field > label, .field > span { line-height: 1.5; }
.list-table { font-size: 13px; line-height: 1.6; }
.list-table th { font-weight: 650; }
.list-table td { padding: 15px 16px; border-bottom-color: #edf0f5; }
.list-table td small { font-size: 12px; line-height: 1.6; }
.list-table td .acc-status { font-size: 11px; }
.list-table tbody tr:hover { background: #f8fafc; }
.workspace[data-page="accounting"] .table-scroll, .workspace[data-page="library"] .table-scroll { max-height: min(68vh,680px); overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #c8d3e0 #f6f8fb; }
.workspace[data-page="accounting"] .list-table th, .workspace[data-page="library"] .list-table th { position: sticky; top: 0; z-index: 1; background: #f6f8fb; box-shadow: 0 1px #e3e8ef; }
.workspace[data-page="accounting"] .page-header { margin-bottom: 24px; }
.acc-tabs[aria-label="Accounting views"], .acc-tabs[aria-label="Company account views"] { padding: 0 0 13px; border: 0; border-bottom: 1px solid var(--app-border); border-radius: 0; background: transparent; gap: 7px; margin-bottom: 24px; }
.acc-tabs[aria-label="Accounting views"] .btn, .acc-tabs[aria-label="Company account views"] .btn { padding: 9px 14px; min-height: 39px; font-size: 13px; font-weight: 600; border-radius: 8px; }
.acc-tabs[aria-label="Accounting views"] .btn[aria-pressed="true"], .acc-tabs[aria-label="Company account views"] .btn[aria-pressed="true"] { background: #e9f0f7; border-color: #d9e4ef; color: #244875; box-shadow: none; }
.acc-tabs[aria-label="Invoice payment status"] { width: fit-content; max-width: 100%; background: #f0f3f7; border: 0; padding: 4px; gap: 3px; }
.acc-tabs[aria-label="Invoice payment status"] .btn { min-height: 33px; font-size: 12px; }
.acc-tabs[aria-label="Invoice payment status"] [data-value="Paid"][aria-pressed="true"] { color: #22674e; background: #eef8f2; border-color: #d2e6da; }
.acc-tabs[aria-label="Invoice payment status"] [data-value="Unpaid"][aria-pressed="true"], .acc-tabs[aria-label="Invoice payment status"] [data-value="Part paid"][aria-pressed="true"] { color: #8b5a20; background: #fff7e9; border-color: #edddbd; }
.acc-company-shortcuts { margin: 12px 0 26px; }
.acc-company-shortcuts h2 { font-size: 14px; font-weight: 650; color: #536780; margin-bottom: 12px; }
.acc-company-shortcut { border-color: #e2e8ef; background: white; padding: 17px 18px; gap: 13px; }
.acc-company-shortcut:hover { background: #f9fbfd; border-color: #bdccde; }
.acc-company-shortcut strong { font-size: 14px; font-weight: 650; }
.acc-company-shortcut small { font-size: 12px; color: #63768d; }
.acc-metrics { margin: 22px 0 27px; gap: 16px; }
.acc-metric { --metric-accent: #6e91b8; --metric-wash: #f4f7fb; border: 1px solid #e0e7ef; border-radius: 13px; padding: 22px 20px; gap: 13px; background: linear-gradient(130deg,var(--metric-wash),#fff 73%); box-shadow: 0 2px 7px #23394e05; }
.acc-metric-cash, .acc-metric-profit { --metric-accent: #6e9e87; --metric-wash: #f2f8f5; }
.acc-metric-receivable { --metric-accent: #b89a65; --metric-wash: #fcf8f0; }
.acc-metric-payable, .acc-metric-spending { --metric-accent: #b89383; --metric-wash: #fcf6f3; }
.acc-metric:has(.acc-negative) { --metric-accent: #b06c65; --metric-wash: #fcf3f1; }
.acc-metric > span { display: flex; align-items: center; gap: 8px; font-size: 12px; color: #53667d; font-weight: 600; }
.acc-metric > span::before { content: ''; width: 7px; height: 7px; flex: 0 0 7px; border-radius: 50%; background: var(--metric-accent); }
.acc-metric > strong { font-size: clamp(22px,1.8vw,28px); font-weight: 720; letter-spacing: -.035em; font-variant-numeric: tabular-nums; color: #233c5a; }
.acc-metric > small { font-size: 11.5px; color: #66768a; line-height: 1.6; }
.acc-breakdown { padding: 0; border: 1px solid #e1e7ef; border-radius: 12px; margin: 20px 0 28px; background: #fff; }
.acc-breakdown > summary { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 6px 18px; cursor: pointer; padding: 16px 19px; color: #344d6b; font-size: 13px; font-weight: 650; list-style: none; }
.acc-breakdown > summary::-webkit-details-marker { display: none; }
.acc-breakdown > summary > span::before { content: '+'; display: inline-block; margin-right: 11px; color: #607a98; font-size: 16px; font-weight: 500; }
.acc-breakdown[open] > summary > span::before { content: '−'; }
.acc-breakdown > summary small { font-size: 11.5px; color: #6b7d91; font-weight: 400; }
.acc-breakdown[open] > summary { border-bottom: 1px solid #e8edf3; background: #fafbfd; border-radius: 12px 12px 0 0; }
.acc-breakdown .acc-overview { margin: 0; gap: 24px; padding: 20px; }
.acc-breakdown .acc-flow { padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.acc-breakdown .acc-flow h3 { font-size: 14px; margin-bottom: 15px; }
.acc-breakdown .acc-flow .acc-total { background: #f1f5f9; padding: 13px; }
.acc-day-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 10px 16px;
  padding: 14px 19px 0;
}
.acc-day-toolbar .actions { margin: 0; gap: 5px; }
.acc-day-toolbar .btn { min-height: 37px; }
.acc-day-toolbar .acc-date { max-width: 220px; }
.acc-day-summary { margin: 12px 19px 0; color: var(--app-muted); font-size: 12px; }
.acc-day-activity { padding: 0 19px 16px; }
.acc-day-activity h3 { margin: 0 0 8px; font-size: 14px; }
.acc-day-activity .list-table { min-width: 520px; }
.acc-day-activity .list-table :is(td, th):nth-last-child(-n + 2) { text-align: right; white-space: nowrap; }
.acc-section-head { margin: 28px 0 15px; }
.acc-section-head h2 { font-size: 17px; font-weight: 650; }
.acc-filters { padding: 17px 19px; gap: 14px; border-color: #e3e9f0; border-radius: 12px; box-shadow: none; }
.acc-filters .field { font-size: 12px; }
.acc-filters + .acc-help { margin-top: -8px; margin-bottom: 24px; }
.acc-report-filters > summary small { margin-inline-start: 8px; font-weight: 500; }
.acc-report-filters .acc-filters {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr));
  align-items: end;
  margin-bottom: 0;
}
.acc-report-filters .acc-help { margin: 0; }
.acc-report-filters .actions { justify-content: flex-start; margin: 0; }
.acc-report-download { border-top: 1px solid var(--app-border); padding-top: 12px; }
.acc-report-presets .btn { min-height: 32px; }
.acc-account-context { padding: 17px 19px; background: #fbfcfe; border-color: #e4eaf2; box-shadow: none; }
.acc-account-period { padding: 0; margin: 0 0 17px; }
.acc-account-period > summary { font-size: 12px; }
.acc-account-counts { font-size: 12px; color: #62748a; padding: 0 1px; }
.acc-settlement-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.acc-settlement { padding: 22px; border-color: #e1e7ee; box-shadow: 0 2px 9px #18334f04; }
.acc-settlement h2 { font-size: 16px; }
.acc-settlement .acc-section-head { padding-bottom: 14px; border-bottom: 1px solid #edf1f6; margin-bottom: 18px; }
.acc-settlement > div, .acc-supplier-item > .acc-flow-row { font-size: 13px; }
.acc-settlement strong { font-variant-numeric: tabular-nums; }
.acc-settlement .acc-balance { padding: 14px; margin: 15px 0; font-size: 13px; border: 1px solid transparent; }
.acc-balance-due { background: #fcf4ef; color: #97523b; border-color: #f1e3d9 !important; }
.acc-balance-paid { background: #eff7f2; color: #2d7152; border-color: #deebe2 !important; }
.acc-status { font-size: 11px; font-weight: 650; padding: 4px 9px; }
.acc-status-paid { background: #edf7f1; color: #2c7352; }
.acc-status-unpaid { background: #fff5e7; color: #925e24; }
.acc-status-part-paid { background: #faf3e7; color: #8d652e; }
.acc-status-voided { background: #fbefed; color: #a75147; }
.acc-invoice-status-row { gap: 12px; margin-bottom: 24px; }
.acc-invoice-description { font-size: 13px; line-height: 1.75; margin-bottom: 18px !important; }
.acc-history > summary, .acc-supplier-item > .acc-secondary > summary { padding: 11px 12px; border: 1px solid #e6ebf2; border-radius: 8px; background: #f8fafc; font-size: 12px; color: #425c79; }
.acc-history[open] > summary, .acc-supplier-item > .acc-secondary[open] > summary { margin-bottom: 14px; }
.acc-secondary.card { padding: 17px 20px; border-color: #e4e9f0; border-radius: 11px; margin-top: 15px; }
.acc-secondary.card > summary { padding: 1px 0; font-weight: 600; font-size: 13px; }
.acc-secondary.card[open] > summary { border-bottom: 1px solid #edf1f6; padding-bottom: 14px; margin-bottom: 17px; }
.acc-supplier-item + .acc-supplier-item { margin-top: 25px; padding-top: 24px; border-top-color: #e7edf4; }
.acc-company-card { margin-top: 0; padding: 21px; }
.acc-company-card .acc-company-title { margin-bottom: 16px; }
.acc-company-card .acc-company-title h2 { font-size: 15px; line-height: 1.4; }
.acc-company-card > p { font-size: 12px; color: #65758a; line-height: 1.75; }
.acc-company-card > .actions { border-top: 1px solid #edf1f6; padding-top: 16px; }
.acc-setup-card { display: flex; align-items: center; gap: 17px; padding: 23px; border: 1px solid #dce7f1; border-radius: 13px; background: #f0f5fa; margin: 20px 0 27px; }
.acc-setup-icon { display: grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px; border-radius: 12px; background: #fff; color: #466b93; border: 1px solid #e0e8f2; }
.acc-setup-card > div { flex: 1; min-width: 0; }
.acc-setup-card h2 { margin: 0; font-size: 17px; font-weight: 650; }
.acc-setup-card p:not(.eyebrow) { margin: 5px 0 0; color: #60738a; font-size: 12px; }
.acc-setup-card .eyebrow { font-size: 9px; color: #617995; }
.acc-setup-card > .btn { flex-shrink: 0; background: #fff; }
dialog { padding: 27px; border-color: #dce5ef; border-radius: 15px; box-shadow: 0 18px 65px #1d34492b; }
dialog::backdrop { background: #12293e5c; backdrop-filter: blur(2px); }
dialog h2 { font-size: 21px; font-weight: 680; }
dialog .field { font-size: 12px; }
dialog form > .actions { position: sticky; bottom: -27px; background: white; padding-bottom: 6px; z-index: 2; }
.toast { font-weight: 550; box-shadow: 0 5px 20px #15334b15; }
@media (max-width: 1000px) { .acc-settlement-grid { grid-template-columns: minmax(0,1fr); } }
@media (max-width: 730px) {
  .btn { font-size: 12px; min-height: 38px; }
  .acc-tabs[aria-label="Accounting views"], .acc-tabs[aria-label="Company account views"] { gap: 5px; padding-bottom: 12px; }
  .acc-tabs[aria-label="Accounting views"] .btn, .acc-tabs[aria-label="Company account views"] .btn { font-size: 12px; min-height: 36px; padding: 8px 11px; }
  .acc-metric { padding: 20px; }
  .acc-metric > span { font-size: 13px; }
  .acc-metric > small { font-size: 12px; }
  .acc-metric > strong { font-size: 27px; }
  .acc-settlement { padding: 18px; }
  .acc-breakdown > summary { padding: 14px; }
  .acc-breakdown .acc-overview { padding: 16px; gap: 23px; }
  .acc-setup-card { flex-wrap: wrap; padding: 18px; gap: 13px; }
  .acc-setup-card > div { flex-basis: calc(100% - 65px); }
  .acc-setup-card > .btn { margin-left: 57px; }
  .acc-filters { padding: 15px; }
  .table-scroll .btn { min-height: 34px; font-size: 12px; }
  .list-table td { padding: 13px; }
  .list-table td small { font-size: 11px; }
  .activity-action { font-size: 12px; }
  .system-activity .activity-ref { font-size: 13px; }
  .system-activity .system-log-summary { font-size: 12px; }
  .activity-actor, .system-activity time { font-size: 11px; }
}
@media (max-width: 680px) {
  .acc-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .acc-metric { padding: 17px 14px; gap: 10px; }
  .acc-metric > span { font-size: 11.5px; gap: 6px; }
  .acc-metric > strong { font-size: 22px; line-height: 1.3; }
  .acc-metric > small { font-size: 11px; }
  .acc-booking-metrics > :first-child { grid-column: 1 / -1; }
  .acc-booking-metrics > :first-child > strong { font-size: 28px; }
  .acc-capital-metrics { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 730px) {
  .workspace .field > input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]), .workspace .field > select, .workspace .field > textarea { font-size: 16px; min-height: 43px; }
  .workspace .time-controls, .workspace .date-controls { font-size: 16px; }
}
/* Keep secondary labels readable on light surfaces. */
.acc-breakdown > summary small { color: #607187; }
.acc-setup-card .eyebrow { color: #536c88; }
.field :where(input,textarea)::placeholder { color: #65758a; }
.editor-savebar .status-line { font-size: 12px; }
@media (max-width: 730px) { .editor-savebar .status-line { font-size: 11.5px; } }
.workspace[data-page="accounting"] .table-scroll, .workspace[data-page="library"] .table-scroll { scroll-padding-top: 50px; }
.theme-toggle { white-space: nowrap; gap: 7px; min-width: 105px; }
.theme-icon { width: 17px; height: 17px; flex: 0 0 17px; }
@media (max-width: 730px) {
  .system-toolbar { gap: 7px; }
  .system-toolbar .theme-toggle { min-width: 36px; width: 36px; padding: 7px; }
  .theme-toggle-label { display: none; }
  .topbar > span { min-width: 0; }
}

/* Company-first finance dashboard; totals remain common at group level. */
.acc-company-shortcuts > .acc-section-head {display:flex;grid-template-columns:none;align-items:center;justify-content:space-between;}
.acc-company-dashboard {display:block;width:100%;padding:20px;cursor:pointer;transition:border-color .15s,box-shadow .15s;}
.acc-company-dashboard:hover {box-shadow:0 5px 18px #1834520c;}
.acc-company-dashboard-head {display:flex;align-items:center;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--app-border);}
.acc-company-stats {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 20px;padding-top:14px;}
.acc-company-stat {min-width:0;}
.acc-company-stat small {font-size:11px;margin:0 0 5px;color:var(--app-muted);}
.acc-company-stat strong {font-size:15px;font-variant-numeric:tabular-nums;}
.acc-positive {color:#17805c;}
.acc-source-label {font-size:12px;line-height:1.6;color:var(--app-muted);margin:8px 0 12px;overflow-wrap:anywhere;}
.acc-common-fund {display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;}
.acc-common-fund strong,.acc-common-fund small {display:block;margin-top:5px;}
.acc-common-fund strong {font-size:23px;font-variant-numeric:tabular-nums;}
.acc-common-fund small {color:var(--app-muted);font-size:12px;}
@media(max-width:520px){.acc-common-fund {align-items:flex-start;flex-direction:column;}.acc-company-dashboard {padding:16px;}.acc-company-stat strong {font-size:14px;}}

.acc-linked-order {display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 18px;font-size:12px;color:var(--app-muted);}

.transfer-route {border:1px solid var(--app-border);border-radius:12px;padding:16px;background:var(--app-white);min-width:0;}
.transfer-route-title {font-size:13px;font-weight:650;margin-bottom:14px;}
.transfer-route-title small {font-size:11px;color:var(--app-muted);font-weight:400;margin-left:8px;}
.transfer-route-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.transfer-point {position:relative;min-width:0;}
.transfer-point-head {display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;}
.transfer-point-head label {font-size:12px;font-weight:650;}
.transfer-point-head select {width:110px;min-height:32px;padding:5px 9px;font-size:12px;}
.transfer-point .field {position:relative;}
.transfer-results {position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:30;max-height:260px;overflow:auto;}
.transfer-clear {font-size:11px;min-height:28px;margin-top:5px;padding:3px 7px;}
.transfer-description {border-top:1px solid var(--app-border);padding-top:12px;margin:14px 0 0;font-size:12px;line-height:1.6;}
.transfer-description span {display:block;color:var(--app-muted);font-size:11px;margin-bottom:3px;}
.transfer-description strong {font-weight:500;overflow-wrap:anywhere;}
@media(max-width:600px){.transfer-route-grid{grid-template-columns:minmax(0,1fr);}.transfer-route-title small{display:block;margin:5px 0 0;}}

.activity-topline {display:flex;align-items:flex-end;justify-content:space-between;gap:18px;}
.activity-topline>.field {width:200px;max-width:65%;}
.activity-program-day {width:95px;margin-left:auto;}
.activity-program-day input {min-height:35px;padding:7px 10px;}
.activity-program-day label {font-size:11px;}
.transfer-route {border:0;padding:0;background:transparent;}

/* Calm, consistent focus and text selection throughout the application. */
:root {--focus-border:#9ca3ab;--focus-ring:#8c949c26;--selection-bg:#e0e3e6;--selection-ink:#202830;--focus-surface:#f0f2f4;}
::selection {background:var(--selection-bg);color:var(--selection-ink);}
:where(button,a,input,textarea,select,[tabindex]):focus-visible {outline:2px solid var(--focus-border);outline-offset:2px;}
.sidebar :focus-visible,.hero :focus-visible {outline-color:var(--focus-border);}
.time-controls:focus-within,.date-controls:focus-within,.field>:where(input,select,textarea):focus,.transfer-point input:focus {border-color:var(--focus-border);box-shadow:0 0 0 3px var(--focus-ring);}
.directory-result:where(button,a):hover,.directory-result:focus-within,.acc-order-results>button:hover,.acc-order-results>button:focus-visible {background:var(--focus-surface);}

/* Neutral dropdown options, including the browser's customizable select picker. */
select {accent-color:var(--focus-border);}
select option {background:var(--app-white);color:var(--app-ink);}
select option:checked,select option:hover,select option:focus {background:var(--selection-bg);color:var(--selection-ink);}
.time-period-options .btn:hover,.time-period-options .btn:focus-visible,.time-period-options [aria-pressed="true"] {background:var(--selection-bg);color:var(--selection-ink);border-color:var(--focus-border);}
@supports (appearance:base-select) {
  select:not([multiple]):not([size]),select:not([multiple]):not([size])::picker(select) {appearance:base-select;}
  select::picker(select) {background:var(--app-white);color:var(--app-ink);border:1px solid var(--app-border);border-radius:9px;padding:5px;box-shadow:0 8px 25px #101b2b20;max-height:280px;overflow:auto;}
  select option {padding:8px 11px;border-radius:5px;min-height:34px;font-size:13px;}
  select option:is(:checked,:hover,:focus) {background:var(--selection-bg);color:var(--selection-ink);outline:none;}
  select::picker-icon {color:var(--app-muted);}
  select option::checkmark {color:var(--selection-ink);}
}

.airline-lookup {position:relative;min-width:0;}
.airline-lookup>label {display:block;font-size:12px;font-weight:600;margin-bottom:8px;color:var(--app-muted);}
.airline-search-row {display:flex;gap:5px;}
.airline-search-row input {min-width:0;flex:1;}
.airline-search-row .btn {padding:6px 11px;}
.airline-results {position:absolute;top:100%;left:0;right:0;z-index:35;max-height:230px;overflow:auto;margin-top:5px;}

.lookup-input-shell {position:relative;display:block;min-width:0;}
.lookup-input-shell input {width:100%;padding-right:42px;}
.lookup-input-shell>.lookup-toggle {position:absolute;right:4px;top:50%;transform:translateY(-50%);border:0;background:transparent;min-height:30px;height:30px;width:32px;padding:0;box-shadow:none;color:var(--app-muted);border-radius:5px;}
.lookup-input-shell>.lookup-toggle:hover {background:var(--focus-surface);color:var(--app-ink);}
.lookup-input-shell input::-webkit-search-cancel-button {display:none;}
.create-order-lookup .directory-results { max-height: 190px; margin: 0; background: var(--app-paper); }
.create-order-lookup .directory-results[popover] {
  position: fixed;
  inset: auto;
  box-sizing: border-box;
  padding: 4px;
  border: 1px solid var(--app-border);
  border-radius: 9px;
  color: var(--app-ink);
  box-shadow: 0 10px 24px rgb(20 40 68 / 16%);
}
@media (prefers-reduced-motion: no-preference) {
  .create-order-lookup .directory-results:popover-open { animation: template-menu-in 120ms ease-out; }
  @keyframes template-menu-in { from { opacity: 0; transform: translateY(-3px); } }
}
.create-order-lookup .directory-result { min-height: 34px; }
.create-order-countries { display: flex; flex-wrap: wrap; gap: 5px; }
.create-order-country-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 26px;
  padding: 2px 8px;
  border: 1px solid var(--app-border);
  border-radius: 999px;
  background: var(--app-blue-wash);
  color: var(--app-ink);
  font: inherit;
  cursor: pointer;
}
.create-order-country-chip:hover { background: var(--app-orange-wash); }
.trip-destination-summary { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin: 0; color: var(--app-muted); }
.trip-destination-summary strong { color: var(--app-ink); }
.trip-destination-summary .btn { min-height: 30px; padding: 4px 8px; }
.airport-lookup {position:relative;}
.airport-lookup>.airport-results {position:absolute;top:100%;left:0;right:0;z-index:35;max-height:250px;overflow:auto;margin-top:5px;}

.date-controls {position:relative;padding-right:38px;}
.calendar-control {position:absolute;right:3px;top:50%;transform:translateY(-50%);display:block;width:30px;height:30px;}
.calendar-toggle.btn {display:grid;place-items:center;width:30px;height:30px;min-height:30px;padding:0;border:0;background:transparent;color:var(--app-muted);box-shadow:none;}
.calendar-toggle.btn:hover {background:var(--focus-surface);color:var(--app-ink);}
.calendar-toggle.btn[aria-expanded="true"] {background:var(--app-orange-wash);color:var(--app-ink);}
.date-calendar {
  position: fixed;
  inset: auto;
  margin: 0;
  width: min(316px, calc(100vw - 16px));
  max-height: calc(100dvh - 16px);
  overflow: auto;
  padding: 13px;
  border: 1px solid var(--app-border);
  border-radius: 16px;
  background: var(--app-paper);
  color: var(--app-ink);
  box-shadow: 0 12px 34px rgb(12 24 40 / 20%);
  font-size: 13px;
}
.date-calendar-toolbar {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) 68px 34px;
  gap: 5px;
  margin-bottom: 10px;
}
.date-calendar :is(button, select, input) { font: inherit; color: inherit; }
.date-calendar-toolbar :is(button, select, input) {
  box-sizing: border-box;
  min-width: 0;
  height: 35px;
  margin: 0;
  border: 1px solid var(--app-border);
  border-radius: 8px;
  background: var(--app-bg);
}
.date-calendar-toolbar :is(select, input) { padding-inline: 5px; }
.date-calendar-toolbar button { font-size: 21px; line-height: 1; cursor: pointer; }
.date-calendar-toolbar button:disabled { opacity: .35; cursor: default; }
.date-calendar-weekdays, .date-calendar-days {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 3px;
  text-align: center;
}
.date-calendar-weekdays { margin-bottom: 4px; color: var(--app-muted); font-size: 11px; font-weight: 650; }
.date-calendar-days button, .date-calendar-footer button {
  min-height: 33px;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  cursor: pointer;
}
.date-calendar :is(button, select, input):focus-visible {
  outline: 2px solid var(--app-blue);
  outline-offset: -2px;
}
.date-calendar button:not(:disabled):hover { background: var(--app-blue-wash); }
.date-calendar-days button[aria-current="date"] { border-color: var(--app-orange); font-weight: 700; }
.date-calendar-days button[aria-pressed="true"], .date-calendar-days button[aria-pressed="true"]:hover {
  border-color: var(--app-orange);
  background: var(--app-orange-wash);
  font-weight: 700;
}
.date-calendar-footer {
  display: flex;
  justify-content: space-between;
  margin-top: 8px;
  padding-top: 6px;
  border-top: 1px solid var(--app-border);
}
.date-calendar-footer button { padding-inline: 9px; font-weight: 650; }

.library-subnav {display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:0 0 20px;padding:7px;background:var(--focus-surface);border:1px solid var(--app-border);border-radius:10px;width:fit-content;}
.library-subnav .btn {min-height:32px;font-size:12px;padding:6px 12px;}
.library-subnav .btn[aria-pressed="true"] {background:var(--app-white);color:var(--app-ink);border-color:var(--app-border);box-shadow:0 1px 3px #101b2b0a;}

.room-results {position:absolute;top:100%;left:0;right:0;z-index:35;max-height:230px;overflow:auto;margin-top:5px;}

.extra-input-shell {flex:1;min-width:130px;}.extra-input-shell input {width:100%!important;}.extra-service-results {max-height:240px;overflow:auto;}

.lookup-input-shell>.lookup-toggle {min-width:32px;}
.agent-results {position:absolute;top:100%;left:0;right:0;z-index:35;max-height:230px;overflow:auto;margin-top:5px;}

.order-statusbar {display:flex;align-items:center;justify-content:flex-end;gap:14px;margin:-4px 0 22px;flex-wrap:wrap;}
.order-statusbar>span {font-size:12px;font-weight:650;color:var(--app-muted);}
.order-status-options {display:flex;gap:4px;padding:5px;background:var(--app-white);border:1px solid var(--app-border);border-radius:11px;flex-wrap:wrap;}
.order-status-options .btn {min-height:32px;padding:6px 14px;font-size:12px;color:var(--app-muted);border:1px solid transparent;box-shadow:none;}
.order-status-options [aria-pressed="true"] {background:var(--selection-bg);color:var(--selection-ink);font-weight:750;}
.order-status-options [data-value="confirmed"][aria-pressed="true"] {background:#e6f5ec;color:#187044;border-color:#cce7d7;}
.order-status-options [data-value="quoted"][aria-pressed="true"] {background:#fff2df;color:#965d16;border-color:#f3dfbf;}
.order-status-options [data-value="cancelled"][aria-pressed="true"] {background:#faeaea;color:#9a3838;border-color:#edcdcd;}
@media(max-width:600px){.order-statusbar {justify-content:flex-start;gap:8px;margin-top:0;}.order-status-options .btn {padding:6px 11px;}}

.order-statusbar {padding:16px 20px;border:1px solid var(--app-border);border-radius:15px;background:var(--app-white);justify-content:space-between;margin:0 0 24px;box-shadow:0 3px 12px #101b2b04;}
.order-statusbar>span {font-size:16px;font-weight:750;color:var(--app-ink);}
.order-status-options {border:0;padding:4px;background:var(--focus-surface);gap:5px;}
.order-status-options .btn {font-size:13px;min-height:39px;padding:8px 18px;border-radius:9px;}
#notification-panel {position:fixed;inset:72px 20px auto auto;margin:0;width:min(470px,calc(100vw - 24px));max-height:min(650px,80vh);padding:16px;border:1px solid var(--app-border);border-radius:15px;background:var(--app-white);color:var(--app-ink);box-shadow:0 14px 55px #101b2b30;overflow:auto;}
.notification-panel-head {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;}
.notification-panel-head h2 {font-size:18px;margin:0;}
#notification-panel .system-activity {margin:0;padding:0;}
#notification-panel .activity-entry {grid-template-columns:30px minmax(0,1fr);padding:13px;margin-bottom:9px;}
#notification-panel .activity-meta {grid-column:2;justify-self:start;}
.activity-entry[role="button"] {cursor:pointer;}
.activity-entry[role="button"]:hover {border-color:var(--focus-border);box-shadow:0 2px 8px #101b2b09;}
@media(max-width:600px){.order-statusbar {padding:13px;gap:10px;}.order-status-options .btn {padding:7px 12px;min-height:36px;}#notification-panel {top:12px;right:12px;}}

.acc-cancellation-note {display:flex;align-items:flex-start;gap:10px;padding:12px 15px;margin:0 0 18px;border:1px solid #eadcc9;border-left:3px solid #b58a4d;border-radius:9px;background:#fcfaf6;color:#67523b;font-size:12px;}
.acc-cancellation-mark {display:grid;place-items:center;flex:0 0 19px;width:19px;height:19px;border:1px solid currentColor;border-radius:50%;font-weight:700;}
.acc-cancellation-note strong {font-size:13px;}
.acc-cancellation-review {margin-left:10px;font-size:11px;color:#88704f;}
.acc-cancellation-note p {margin:4px 0 0;line-height:1.5;}
.acc-cancellation-note details {margin-top:6px;}
.acc-cancellation-note summary {cursor:pointer;font-size:11px;}
.acc-cancellation-note details span {display:block;margin-top:5px;white-space:pre-wrap;overflow-wrap:anywhere;}
.acc-cancelled-list {color:#927044!important;font-size:11px;}

.order-protected-note {font-size:11px;color:var(--app-muted);padding:7px 0;}

.order-statusbar {display:grid;grid-template-columns:minmax(140px,1fr) auto auto;gap:22px;padding:18px 21px;background:linear-gradient(110deg,var(--app-white),var(--focus-surface));}
.order-statusbar>span {font-size:17px;}
.order-statusbar>span small {display:block;font-size:11px;font-weight:400;color:var(--app-muted);margin-top:5px;}
.order-confirm-control {padding-left:22px;border-left:1px solid var(--app-border);}
.order-confirm-control .btn {min-height:41px;padding:9px 22px;border:1px solid #a9ceba;border-radius:10px;background:#f0f8f3;color:#246b48;font-weight:700;}
.order-confirm-control .btn::before {content:'✓';margin-right:7px;font-size:15px;}
.order-confirm-control [aria-pressed="true"] {background:#23734f;color:#fff;border-color:#23734f;box-shadow:0 3px 8px #23734f20;}
.order-confirm-control {display:flex;flex-wrap:wrap;align-items:center;gap:8px;}
.order-confirm-control [data-action="complete-order"]::before {content:none;}
.order-status-completed {color:var(--app-success);background:var(--app-success-wash);font-weight:800;}
.confirmation-prompt strong {font-size:17px;color:var(--app-ink);}
.confirmation-prompt p {font-size:15px;margin:12px 0;}
.confirmation-prompt small {font-size:12px;color:var(--app-muted);line-height:1.6;}
@media(max-width:650px){.order-statusbar {grid-template-columns:1fr auto;gap:12px;padding:15px;}.order-statusbar>span {grid-column:1/-1;}.order-confirm-control {padding-left:12px;}.order-confirm-control .btn {padding:8px 13px;min-height:37px;}.order-status-options .btn {padding:7px 9px;}}

@media(max-width:650px){.order-status-options{grid-column:1/-1;width:fit-content;}.order-confirm-control{grid-column:1/-1;justify-self:end;border-left:0;padding-left:0;padding-top:2px;}.order-status-options .btn{font-size:12px;padding:7px 14px;}}

.stay-cost-summary {border:1px solid var(--app-border);border-radius:10px;background:var(--focus-surface);padding:12px 15px;font-size:12px;font-weight:400;}
.stay-cost-line,.stay-cost-total {display:flex;justify-content:space-between;align-items:baseline;gap:15px;}
.stay-cost-line {padding:4px 0;color:var(--app-muted);}
.stay-cost-line small {display:block;font-size:11px;margin-top:3px;line-height:1.5;}
.stay-cost-line strong {font-size:12px;font-weight:600;white-space:nowrap;}
.stay-cost-total {padding-top:10px;margin-top:8px;border-top:1px solid var(--app-border);color:var(--app-ink);font-weight:650;}
.stay-cost-total strong {font-size:15px;text-align:right;font-variant-numeric:tabular-nums;}

.price-finance-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start;margin-bottom:24px;}
.price-finance-grid>.card {margin:0;min-width:0;padding:20px;}
.price-finance-grid .trip-payment-actions {display:flex;flex-wrap:wrap;gap:8px;align-items:end;}
.price-finance-grid .trip-payment-actions>.field {flex:1 0 100%;}
.price-finance-grid .trip-payment-actions .btn {font-size:11px;min-height:34px;padding:6px 10px;}
.program-price-heading {display:flex;justify-content:space-between;align-items:start;gap:12px;margin-bottom:18px;}
.program-price-heading h3 {margin:0;font-size:16px;}
.program-price-heading p {font-size:11px;color:var(--app-muted);margin:5px 0 0;}
.program-currency {font-size:11px;font-weight:650;border:1px solid var(--app-border);border-radius:6px;padding:4px 8px;color:var(--app-muted);background:var(--focus-surface);}
.program-price-summary dl {margin:0;}
.program-price-row {display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:11px 0;border-bottom:1px solid var(--app-border);font-size:12px;}
.program-price-row dt {color:var(--app-muted);}
.program-price-row dt small {display:block;font-size:10px;margin-top:4px;font-weight:400;}
.program-price-row dd {margin:0;text-align:right;font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap;}
.program-cost-subtotal {padding-top:16px;font-weight:700;}
.program-cost-subtotal dt {color:var(--app-ink);}
.program-price-grand-total {margin-top:12px;border:0;background:var(--focus-surface);border-radius:9px;padding:14px;flex-wrap:wrap;}
.program-price-grand-total dt {font-weight:700;color:var(--app-ink);}
.program-price-grand-total dd {font-size:20px;}
.program-rate-note {font-size:10px;color:var(--app-muted);margin:12px 0 0;text-align:right;}
@media(max-width:1050px){.price-finance-grid {grid-template-columns:minmax(0,1fr);}}

/* Keep the brand readable independently of theme surface variables. */
.sidebar .brand-name {color:#f4f7fc;font-weight:750;letter-spacing:-.015em;line-height:1.35;}
.sidebar .brand-caption {color:#b9c9dd;}
.brand-mark {box-shadow:0 2px 7px #08142312;}

.transfer-template-choice {display:flex;gap:10px;align-items:end;flex-wrap:wrap;}
.transfer-template-choice>.field {flex:1;min-width:180px;}
.transfer-template-choice>.btn {font-size:11px;}
.transfer-leg-stack {display:grid;gap:14px;}
.transfer-leg-card {background:var(--app-white);border:1px solid var(--app-border);border-radius:12px;padding:17px;min-width:0;}
.transfer-leg-heading {display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;}
.transfer-leg-heading h4 {font-size:13px;margin:0;color:var(--app-ink);}
.transfer-leg-heading .btn {font-size:11px;min-height:28px;padding:4px 8px;}
.transfer-leg-fields {margin-top:14px;}
.leg-location {min-width:0;}
.leg-location>label {display:block;font-size:12px;margin-bottom:7px;color:var(--app-muted);}
.leg-location-results {position:absolute;top:100%;left:0;right:0;max-height:245px;overflow:auto;z-index:35;margin-top:5px;}
.leg-location-results small {display:block;color:var(--app-muted);margin-top:4px;font-size:11px;}
.transfer-day-footer {display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;font-size:11px;color:var(--app-muted);}
.transfer-day-footer .btn {font-size:12px;min-height:32px;}
.transfer-day-footer strong {display:block;font-size:15px;color:var(--app-ink);margin-top:4px;}
.transfer-description p {font-size:12px;line-height:1.7;margin:5px 0 0;}
.template-token-row {display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:8px;}
.template-token-row .btn {font-size:11px;min-height:28px;padding:4px 8px;}
.template-token-row>small {width:55px;font-size:11px;color:var(--app-muted);}
.transfer-template-card h3 {font-size:15px;margin:0 0 5px;}
.transfer-template-card>p {font-size:12px;color:var(--app-muted);line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;}
@media(max-width:600px){.transfer-leg-card{padding:13px;}.transfer-template-choice>.field{flex-basis:100%;}.transfer-day-footer>span:last-child{text-align:right;margin-left:auto;}}

.payment-amount-control {display:block;min-width:0;}
.payment-amount-control input {width:100%;}
.payment-amount-control.is-locked {cursor:not-allowed;}
.payment-amount-control.is-locked input {background:#edf0f3;color:#929ba6;border-color:#dce1e7;opacity:1;pointer-events:none;box-shadow:none;}
.payment-lock-note {font-size:11px;color:var(--app-muted);margin:9px 0;}
[data-transfer-manager] .transfer-template-card {padding:16px;}
[data-transfer-manager] .row-head {flex-wrap:wrap;gap:10px;}
[data-transfer-manager] .actions>.btn {font-size:11px;min-height:31px;padding:5px 9px;}

.payment-requirements {font-size:11px;color:var(--app-muted);margin:12px 0;line-height:1.6;}
.payment-requirements summary {cursor:pointer;}
.payment-requirements ul {padding-left:18px;margin:8px 0;}

.leg-source-control {display:flex;align-items:center;gap:8px;margin-top:8px;min-width:0;color:var(--app-muted);}
.leg-source-control>span {font-size:10px;white-space:nowrap;}
.leg-source-control select {flex:1;min-width:0;width:100%;min-height:28px;font-size:10px;padding:4px 7px;border-radius:6px;background:var(--focus-surface);}
.leg-match-warnings {background:#fff8ed;border:1px solid #f0dfc2;border-radius:8px;padding:8px 11px;margin-top:12px;}
.leg-match-warnings p {font-size:11px;line-height:1.6;color:#89602b;margin:3px 0;}
.leg-match-warnings strong {font-weight:700;}
.travel-link-summary {border:1px solid #eadcc4;background:#fcf9f2;border-radius:9px;margin:0 0 18px;padding:10px 13px;color:#80603a;font-size:12px;}
.travel-link-summary summary {cursor:pointer;font-weight:600;}
.travel-link-summary ul {margin:9px 0;padding-left:20px;font-size:11px;line-height:1.7;}
.travel-link-summary .btn {font-size:11px;min-height:28px;padding:4px 9px;}

.leg-location>.leg-source-control {display:grid;gap:4px;}
.leg-source-control select {white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

.duration-warning,.travel-link-summary,.leg-match-warnings {background:#fff2f2;border-color:#efcccc;color:#9c3d45;}
.duration-warning {border-left:3px solid #cc6872;}
.leg-match-warnings p {color:#9c3d45;}
.editor-save-actions {display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;}
#save-warning-indicator:empty {display:none;}
#save-warning-indicator .btn {background:#fff2f2;border:1px solid #efcccc;color:#9c3d45;font-weight:650;border-radius:9px;}
#save-warning-indicator .btn:hover {background:#fce5e7;border-color:#db9ca3;}
.editor-panel {scroll-margin-top:24px;}
@media(max-width:600px){.editor-save-actions{gap:7px;}#save-warning-indicator .btn{font-size:11px;padding:7px 9px;}}

.acc-proof-warning {display:flex;align-items:center;gap:6px;color:#a24b54;font-size:11px;line-height:1.5;margin-top:7px;font-weight:500;}
.acc-proof-warning>span {display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;flex:0 0 15px;border-radius:50%;background:#fbe9eb;color:#a24b54;font-size:10px;font-weight:700;}
.acc-invoice-savebar .status-line {margin:0;}

.acc-invoice-savebar>div {flex:1;min-width:0;}
.acc-invoice-savebar>.btn {flex:0 0 auto;}

.acc-supplier-toggle {display:flex;align-items:center;gap:8px;margin:10px 0 18px;font-size:12px;color:var(--app-muted);}
.acc-supplier-toggle input {width:16px;height:16px;accent-color:#65786d;}
.acc-supplier-account-filter {display:flex;align-items:end;gap:14px;flex-wrap:wrap;margin-bottom:18px;}
.acc-supplier-account-filter .field {flex:1;min-width:180px;max-width:380px;}
.acc-supplier-payment {display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;border-bottom:1px solid var(--app-border);padding:16px 0;}
.acc-supplier-payment small {display:block;margin-top:5px;color:var(--app-muted);font-size:11px;line-height:1.6;}
.acc-supplier-payment>.acc-proof-warning {flex-basis:100%;color:#a24b54;}
[data-supplier-allocation] {width:130px;min-width:90px;}

.acc-duplicate-warning {display:flex;align-items:flex-start;gap:9px;background:#fff2f2;border:1px solid #efcccc;border-radius:9px;padding:12px;color:#9c3d45;font-size:12px;line-height:1.6;}
.acc-duplicate-warning input {width:17px;height:17px;flex:0 0 17px;margin-top:3px;accent-color:#8b6268;}
.acc-customer-totals {margin-top:16px;}
.acc-customer-totals .acc-flow-row {display:flex;justify-content:space-between;}

.acc-customer-totals {margin-bottom:16px;}

#open-files-dock {position:fixed;z-index:8;left:270px;right:22px;bottom:12px;display:flex;align-items:center;gap:14px;padding:10px 13px;border:1px solid var(--app-border);border-radius:14px;background:#fffffff5;box-shadow:0 6px 28px #17253720;backdrop-filter:blur(16px);}
#open-files-dock[hidden]{display:none;}
.open-files-label {flex:0 0 auto;font-size:11px;color:var(--app-muted);display:grid;gap:4px;}
.open-file-list {display:flex;gap:8px;overflow-x:auto;min-width:0;flex:1;padding:2px;}
.open-file-card {display:flex;align-items:center;flex:0 0 210px;border:1px solid var(--app-border);border-radius:10px;background:var(--focus-surface);padding:5px;}
.open-file-card.is-active {border-color:#98afa1;box-shadow:inset 0 2px 0 #789789;}
.open-file-restore {border:0;background:transparent;flex:1;min-width:0;text-align:left;display:grid;gap:3px;padding:4px 6px;color:var(--app-ink);cursor:pointer;}
.open-file-restore strong {font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.open-file-restore small,.open-file-kind {font-size:10px;color:var(--app-muted);}
.open-file-restore .is-unsaved {color:#a37331;}
.open-file-control {background:transparent;border:0;border-radius:6px;color:var(--app-muted);font-size:18px;width:27px;height:30px;cursor:pointer;}
.open-file-control:hover {background:#eadcdd;color:#9c3d45;}
.has-open-files .workspace {padding-bottom:125px;}
.has-open-files .editor-savebar {bottom:118px;}
@media(max-width:1000px){#open-files-dock{left:12px;right:12px;gap:8px;}.open-file-card{flex-basis:190px;}}
@media(max-width:600px){#open-files-dock{bottom:8px;padding:8px;}.open-files-label{font-size:10px;}.open-file-card{flex-basis:175px;}.has-open-files .editor-savebar{bottom:112px;}}

body:has(#app[hidden]) #open-files-dock {display:none;}
@media print {#open-files-dock{display:none!important;}.has-open-files .workspace{padding-bottom:0;}}

/* Compact, content-sized open-file strip. State remains available in tooltips. */
@media screen {
#open-files-dock {left:auto;right:20px;bottom:10px;width:max-content;max-width:calc(100vw - 290px);gap:9px;padding:5px 7px;border-radius:10px;box-shadow:0 3px 15px #17253716;}
.open-files-label {display:flex;gap:5px;font-size:10px;white-space:nowrap;}
.open-files-label strong {font-size:10px;font-weight:600;}
.open-file-list {flex:0 1 auto;gap:5px;padding:1px;scrollbar-width:thin;}
.open-file-card {flex:0 0 auto;max-width:230px;padding:1px 3px;border-radius:7px;}
.open-file-restore {display:flex;align-items:center;gap:6px;padding:5px 4px;min-height:28px;}
.open-file-kind {font-size:9px;white-space:nowrap;}
.open-file-restore strong {font-size:11px;max-width:100px;}
.open-file-restore small {font-size:0;width:6px;height:6px;border-radius:50%;background:#91a69a;flex:0 0 6px;}
.open-file-restore small.is-unsaved {background:#cc984d;}
.open-file-control {font-size:16px;width:23px;height:27px;flex:0 0 23px;}
.has-open-files .workspace {padding-bottom:80px;}
.has-open-files .editor-savebar {bottom:68px;}
@media(max-width:1000px){#open-files-dock{right:12px;max-width:calc(100vw - 24px);}}
@media(max-width:600px){#open-files-dock{right:8px;bottom:8px;max-width:calc(100vw - 16px);gap:6px;padding:4px 6px;}.open-files-label{font-size:9px;}.open-file-kind{font-size:8.5px;}.open-file-control{width:25px;flex-basis:25px;height:29px;}.has-open-files .editor-savebar{bottom:66px;}}
}

/* Keep hotel stay entry compact while retaining existing calculations. */
.stay-card {padding:14px;}
.stay-card>.form-grid {gap:11px 14px;}
.stay-card .hotel-lookup .meta {font-size:10px;margin:4px 0 0;}
.stay-number-row {display:grid;grid-template-columns:minmax(65px,90px) minmax(65px,90px) minmax(140px,240px);align-items:end;gap:10px;width:min(100%,440px);}
.stay-number-row .field input,.stay-confirmation-row .field input {min-height:34px;padding:6px 9px;}
.stay-confirmation-row {display:flex;align-items:end;gap:10px;flex-wrap:wrap;}
.stay-confirmation-row>.field {flex:0 1 230px;width:230px;}
.stay-confirmation-row>.btn {min-height:34px;padding:6px 11px;}
.stay-card .stay-cost-summary {width:min(100%,530px);padding:7px 11px;border-radius:8px;font-size:11px;}
.stay-card .stay-cost-line {padding:2px 0;font-size:11px;}
.stay-card .stay-cost-line small {display:inline;font-size:10px;margin:0 0 0 6px;}
.stay-card .stay-cost-line strong {font-size:11px;}
.stay-card .stay-cost-total {margin-top:4px;padding-top:5px;font-size:12px;}
.stay-card .stay-cost-total strong {font-size:13px;}
@media(max-width:600px){.stay-number-row{grid-template-columns:60px 60px minmax(0,1fr);gap:8px;}.stay-number-row .field{font-size:10px;}.stay-confirmation-row{gap:8px;}.stay-confirmation-row>.field{flex:1 1 130px;width:auto;max-width:200px;}.stay-confirmation-row>.btn{font-size:10px;padding:6px 8px;}.stay-card .stay-cost-line small{display:block;margin:2px 0 0;}}

.order-card-heading-actions {display:flex;align-items:center;gap:8px;}
button[data-action="order-actions"] {font-size:23px;line-height:1;min-width:30px;min-height:32px;padding:3px 8px;border:1px solid transparent;border-radius:8px;color:var(--app-muted);}
button[data-action="order-actions"]:hover,button[data-action="order-actions"][aria-expanded="true"] {background:var(--focus-surface);border-color:var(--app-border);}
#order-actions-menu {position:fixed;inset:auto;margin:0;width:192px;padding:5px;border:1px solid var(--app-border);border-radius:10px;background:#fff;color:var(--app-ink);box-shadow:0 8px 28px #132b4924;}
#order-actions-menu:popover-open {display:grid;gap:2px;}
#order-actions-menu .btn {justify-content:flex-start;text-align:left;width:100%;min-height:34px;padding:7px 11px;border:0;border-radius:6px;}
#order-actions-menu .btn:hover {background:var(--focus-surface);}
#order-actions-menu [data-action="delete-trip"] {color:#a44d57;}
#order-actions-menu .btn:disabled {opacity:.5;cursor:not-allowed;}
.order-menu-divider {height:1px;background:var(--app-border);margin:3px 5px;}
#order-actions-menu small {font-size:10px;line-height:1.5;padding:3px 11px 6px;color:var(--app-muted);}
@media print {#order-actions-menu {display:none!important;}}

.order-list-wrap {overflow-x:auto;border:1px solid var(--app-border);border-radius:12px;background:#fff;}
.order-list {width:100%;border-collapse:collapse;text-align:left;font-size:12px;}
.order-list th {padding:12px 14px;background:var(--focus-surface);color:var(--app-muted);font-size:10px;font-weight:650;white-space:nowrap;}
.order-list td {padding:13px 14px;border-top:1px solid var(--app-border);vertical-align:middle;}
.order-list-row:hover {background:#f8fafc;}
.order-list .order-reference {white-space:nowrap;font-size:12px;}
.order-list-date {white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--app-muted);}
.order-seller {font-size:11px;}.order-seller-type {display:block;color:var(--app-muted);font-size:10px;margin-top:4px;}
.order-balance-alert {display:flex;align-items:center;gap:7px;color:#a34752;font-weight:650;font-size:11px;white-space:nowrap;}
.order-balance-alert>span:first-child {display:inline-flex;align-items:center;justify-content:center;flex:0 0 16px;width:16px;height:16px;border-radius:50%;background:#fbe9eb;font-size:10px;}
.order-balance-alert small {display:block;font-size:9px;font-weight:400;margin-top:4px;}
.order-balance-paid {color:#367453;font-size:11px;font-weight:600;white-space:nowrap;}
.order-balance-neutral {color:var(--app-muted);font-size:11px;white-space:nowrap;}
@media(max-width:900px){.order-list{min-width:850px;}.order-list td,.order-list th{padding:11px 12px;}}
.order-list-wrap {position:relative;min-width:0;max-width:100%;}

/* Airy order rows with clear visual hierarchy. */
.order-list-wrap {border:0;background:transparent;border-radius:0;padding:0 2px;}
.order-list {border-collapse:separate;border-spacing:0 9px;}
.order-list th {background:transparent;padding:3px 15px 2px;font-size:10px;font-weight:600;letter-spacing:.025em;}
.order-list td {background:#fff;border-top:1px solid #e4eaf0;border-bottom:1px solid #e4eaf0;padding:14px 15px;transition:background .15s,border-color .15s;}
.order-list td:first-child {border-left:1px solid #e4eaf0;border-radius:11px 0 0 11px;}
.order-list td:last-child {border-right:1px solid #e4eaf0;border-radius:0 11px 11px 0;}
.order-list-row:hover td {background:#f8fafc;border-color:#ccd7e2;}
.order-list .order-reference {display:inline-block;background:#eef3f7;color:#354d65;border:1px solid #e2e9f0;padding:7px 9px;border-radius:7px;font-size:11px;font-weight:650;letter-spacing:.025em;}
.order-list td:nth-child(2)>strong {font-size:13px;font-weight:650;color:var(--app-ink);}
.order-list-date {font-size:11px;color:#6d7e90;}
.order-list .order-status {font-size:10px;border-radius:20px;padding:6px 10px;white-space:nowrap;}
.order-list .order-seller {font-size:11px;font-weight:500;}
.order-list .order-seller-type {font-size:9px;margin-top:3px;}
.order-list .order-balance-alert {display:inline-flex;padding:7px 9px;background:#fff3f3;border:1px solid #f3dfe2;border-radius:8px;font-size:11px;}
.order-list .order-balance-alert small {font-size:9px;color:#b4777e;}
.order-list .order-balance-paid {display:inline-block;background:#eff7f2;border:1px solid #dfeee4;padding:7px 9px;border-radius:8px;font-size:10px;}
.order-list .order-balance-neutral {font-size:10px;}
.order-list button[data-action="order-actions"] {font-size:22px;color:#80909f;}
@media(max-width:900px){.order-list{min-width:910px;}.order-list td{padding:12px;}.order-list th{padding:3px 12px;}}

.dashboard-recent .section-heading {margin-bottom:12px;}
.dashboard-service-orders {margin-top:14px;padding:14px 16px;}
.dashboard-service-orders .section-heading {flex-wrap:wrap;margin:0;}
.dashboard-service-orders .section-heading p {margin:4px 0 0;}
.dashboard-service-cards {display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,140px),1fr));max-width:470px;gap:8px;margin-top:10px;}
.dashboard-service-card {
  display:grid;gap:3px;min-width:0;padding:8px 11px;text-align:start;
  border:1px solid #ecd0bc;border-radius:9px;background:var(--app-paper);color:var(--app-ink);cursor:pointer;
}
.dashboard-service-card strong {font-size:12px;color:var(--app-orange);}
.dashboard-service-card span {font-size:12px;overflow-wrap:anywhere;}
.dashboard-service-card-meta {display:flex;align-items:center;justify-content:space-between;gap:4px;flex-wrap:wrap;}
.dashboard-service-card .order-status {font-size:10px;padding:2px 6px;white-space:nowrap;}
.dashboard-service-card:has(.order-status-confirmed) {border-color:var(--app-success);}
.dashboard-service-card:hover {background:var(--app-orange-wash);}
[data-theme="dark"] .dashboard-service-card {border-color:#684632;}
[data-theme="dark"] .dashboard-service-card:has(.order-status-confirmed) {border-color:var(--app-success);}
.dashboard-recent .order-list {border-spacing:0 8px;}
.dashboard-recent .order-list td {padding-top:12px;padding-bottom:12px;}
.dashboard-recent .order-list-wrap {margin-top:2px;}

/* Readable shared headers for Orders and dashboard Recent orders. */
.order-list thead th {font-family:inherit;font-size:12px;font-weight:700;letter-spacing:0;line-height:1.45;color:#41566b;background:#eaf0f5;padding:12px 15px;border-top:1px solid #dde6ef;border-bottom:1px solid #dde6ef;}
.order-list thead th:first-child {border-left:1px solid #dde6ef;border-radius:9px 0 0 9px;}
.order-list thead th:last-child {border-right:1px solid #dde6ef;border-radius:0 9px 9px 0;}
.dashboard-recent .order-list thead th {font-size:12px;padding-top:11px;padding-bottom:11px;}
@media(max-width:900px){.order-list thead th{font-size:11.5px;padding:11px 12px;}}

/* Improve the actual row content, not only column headings. */
.order-list tbody td {font-family:inherit;font-size:13px;line-height:1.5;padding-top:16px;padding-bottom:16px;}
.order-list .order-reference {font-size:12px;font-weight:700;padding:8px 10px;letter-spacing:.015em;}
.order-list td:nth-child(2)>strong {display:block;font-size:14px;font-weight:650;line-height:1.5;}
.order-list .order-list-date {font-size:12.5px;font-weight:500;color:#50667b;}
.order-list .order-status {font-size:11.5px;font-weight:700;padding:6px 11px;}
.order-list .order-seller {display:block;font-size:12.5px;font-weight:550;line-height:1.5;color:#41576c;}
.order-list .order-seller-type {font-size:11px;font-weight:400;margin-top:3px;color:#748395;}
.order-list .order-balance-alert {font-size:12.5px;padding:8px 10px;font-weight:700;}
.order-list .order-balance-alert small {font-size:10.5px;line-height:1.4;margin-top:3px;}
.order-list .order-balance-paid {font-size:12px;font-weight:600;padding:8px 10px;}
.order-list .order-balance-neutral {font-size:12px;}
.dashboard-recent .order-list tbody td {padding-top:14px;padding-bottom:14px;}
@media(max-width:1100px){.order-list{min-width:1000px;}}

.dashboard-upcoming-list, .dashboard-balance-list {max-height:276px;overflow-y:auto;scrollbar-width:thin;padding-right:4px;}

.driver-pdf-warning {font-size:11px;line-height:1.6;color:#a24b54;background:#fff2f2;border:1px solid #efcccc;padding:8px 11px;border-radius:8px;}

.country-picker {position:relative;min-width:0;}
.country-picker .country-results {position:absolute;inset:calc(100% + 4px) 0 auto;z-index:12;max-height:210px;overflow-y:auto;margin:0;padding:4px;border-radius:8px;}
.country-results button {display:block;width:100%;text-align:left;padding:8px 10px;border:0;border-radius:5px;background:transparent;color:inherit;font:inherit;font-size:12px;cursor:pointer;}
.country-results button:hover,.country-results button:focus {background:var(--focus-surface);outline:none;}

.contact-name-link {padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:inherit;cursor:pointer;text-align:left;}
.contact-name-link:hover {text-decoration:underline;text-underline-offset:4px;}
.contact-view-details {font-size:12px;color:var(--app-muted);margin-bottom:16px;line-height:1.8;}
.contact-view-summary {display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin-bottom:20px;}
.contact-view-totals>div {display:flex;justify-content:space-between;gap:12px;font-size:12px;margin-top:10px;}
.contact-view-due {color:#b55660;}.contact-view-paid {color:#397453;}
.contact-view-orders {display:grid;gap:9px;margin-bottom:18px;}
.contact-view-order {width:100%;display:grid;grid-template-columns:minmax(160px,1fr) minmax(100px,.6fr) auto 18px;gap:12px;align-items:center;text-align:left;color:var(--app-ink);cursor:pointer;}
.contact-view-order small {display:block;font-size:11px;color:var(--app-muted);margin-top:5px;}
.contact-view-order:hover {border-color:#a4b6c6;}
.contact-view-history {margin-top:16px;}.contact-view-history>summary{cursor:pointer;font-weight:600;font-size:12px;margin-bottom:12px;}
@media(max-width:600px){.contact-view-order {grid-template-columns:1fr auto;gap:9px;font-size:12px;}.contact-view-summary{grid-template-columns:1fr;}}

.contact-view-totals {display:grid;grid-template-columns:48px repeat(3,minmax(0,1fr));align-items:start;gap:16px;}
.contact-view-totals>div {display:grid;gap:7px;margin-top:0;font-size:11px;}
.contact-view-totals>div>strong {font-size:14px;}
@media(max-width:600px){.contact-view-totals{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}.contact-view-totals>strong{grid-column:1/-1;}.contact-view-totals>div>strong{font-size:12px;}}

.order-reference-link {font:inherit;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s;}
.order-list .order-reference-link:hover,.order-reference-link:focus-visible {background:#e2ebf2;border-color:#a7b8c9;outline:2px solid #a7b8c980;outline-offset:2px;}
.order-list-row {cursor:pointer;}
.dashboard-quick-card {
  align-items: flex-start;
  border: 2px solid var(--app-border);
  border-radius: 11px;
  gap: 7px;
  padding: 7px 9px;
  margin: 6px 0;
  background: var(--app-paper);
}
.dashboard-upcoming { border-color: var(--app-success); }
.dashboard-balance { border-color: var(--app-orange); }
.dashboard-quick-card > .dashboard-card-content {
  flex: 1;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 3px 8px;
  line-height: 1.4;
}
.dashboard-quick-card > .btn { min-height: 31px; padding: 3px 8px; }
.dashboard-quick-card .dashboard-card-customer { font-size: 13px; font-weight: 700; }
.dashboard-card-program, .dashboard-trip-details, .dashboard-balance-meta { grid-column: 1 / -1; }
.dashboard-trip-details {
  display: flex;
  flex-wrap: wrap;
  gap: 3px 13px;
  margin: 0;
}
.dashboard-trip-details > div, .dashboard-balance-meta { display: flex; align-items: baseline; flex-wrap: wrap; gap: 2px 6px; }
.dashboard-balance-meta { column-gap: 12px; }
.dashboard-trip-details dt { color: var(--app-muted); font-size: 11px; }
.dashboard-trip-details dd { margin: 0; color: var(--app-ink); font-size: 12px; font-weight: 650; }
.dashboard-quick-card .order-reference-link {justify-self:start;border:1px solid #d9e3ec;border-radius:7px;padding:4px 7px;background:#eef3f7;color:#354d65;font-size:12px;line-height:1.4;}
.dashboard-quick-card .order-reference-link:hover {background:#e2ebf2;border-color:#a7b8c9;}

.order-list-row,.dashboard-quick-card {cursor:default;}

/* Country suggestions must cover the form fields underneath. */
.country-picker:has(.country-results:not([hidden])) {z-index:30;}
.country-picker .country-results {background:#fff;color:#263c52;border:1px solid #d4dfe9;box-shadow:0 8px 24px #142b4926;opacity:1;gap:2px;z-index:31;}
.country-picker .country-results button {min-height:34px;line-height:1.5;}

@media screen {
#open-files-dock {position:relative;inset:auto;z-index:1;width:max-content;max-width:100%;margin:0 0 18px;padding:5px 7px;box-shadow:0 2px 8px #1725370c;}
.has-open-files .workspace {padding-bottom:62px;}
.has-open-files .editor-savebar {bottom:14px;}
@media(max-width:600px){#open-files-dock{inset:auto;max-width:100%;margin-bottom:14px;}.has-open-files .editor-savebar{bottom:8px;}}
}

.leg-flight-synced{padding:9px 11px;border:1px solid var(--app-border);background:var(--focus-surface);border-radius:8px;}
.leg-flight-synced>small{font-size:10px;color:var(--app-muted);}
.leg-flight-synced>div{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:7px;font-size:11px;}.leg-flight-synced strong{margin-left:6px;}

@media screen {#open-files-dock {position:sticky;top:10px;z-index:8;box-shadow:0 3px 15px #17253718;}@media(max-width:600px){#open-files-dock{position:sticky;top:8px;}}}

.acc-entry-list {min-width:1030px;}
.acc-entry-list td>small,.acc-payment-list td small {display:block;font-size:10px;color:var(--app-muted);margin-top:5px;line-height:1.5;}
.acc-entry-list td:nth-child(2)>strong {font-size:13px;max-width:240px;min-width:130px;line-height:1.5;}
.acc-entry-amount {white-space:nowrap;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;}
.acc-entry-list .acc-status {white-space:nowrap;border-radius:20px;font-size:10px;padding:6px 9px;}
.acc-entry-row {cursor:default;}
.acc-payment-list {min-width:900px;}
button[data-action="acc-entry-menu"] {font-size:23px;line-height:1;min-width:30px;min-height:32px;padding:3px 8px;border-radius:8px;color:var(--app-muted);}
button[data-action="acc-entry-menu"]:hover {background:var(--focus-surface);}
#acc-entry-menu {position:fixed;inset:auto;margin:0;width:200px;padding:5px;border:1px solid var(--app-border);border-radius:10px;background:#fff;color:var(--app-ink);box-shadow:0 8px 28px #132b4924;}
#acc-entry-menu:popover-open {display:grid;gap:2px;}
#acc-entry-menu .btn {justify-content:flex-start;width:100%;min-height:34px;padding:7px 11px;border:0;border-radius:6px;text-align:left;}
#acc-entry-menu .btn:hover {background:var(--focus-surface);}
@media print {#acc-entry-menu{display:none!important;}}

.invoice-price-review {display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:12px 14px;margin:14px 0;background:#fff2f2;color:#9c3d45;border:1px solid #efcccc;border-radius:10px;}
.invoice-price-review strong {font-size:12px;}.invoice-price-review p{font-size:12px;margin:5px 0;line-height:1.6;}.invoice-price-review small{font-size:10px;line-height:1.6;}
.price-review-comparison p{display:flex;justify-content:space-between;gap:16px;font-size:13px;}.acc-price-review-flag{color:#a34752!important;font-weight:600;}

.invoice-payer-summary {display:flex;align-items:center;flex-wrap:wrap;gap:14px 30px;padding:11px 14px;margin:12px 0;border:1px solid var(--app-border);border-radius:9px;background:var(--focus-surface);}
.invoice-payer-summary>div{display:grid;gap:4px;}.invoice-payer-summary small,.invoice-payer-summary span{font-size:10px;color:var(--app-muted);}.invoice-payer-summary strong{font-size:12px;}

.orders-controlbar {display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:5px 0 20px;border-bottom:1px solid var(--app-border);padding-bottom:9px;}
.orders-view-tabs {display:flex;align-items:center;gap:4px;min-width:0;}
.orders-view-tabs>button {position:relative;display:inline-flex;align-items:center;gap:7px;white-space:nowrap;padding:11px 12px;border:0;background:transparent;color:#718093;font:inherit;font-size:14px;font-weight:650;cursor:pointer;border-radius:7px;}
.orders-view-tabs>button:hover {background:#eef2f6;color:var(--app-ink);}
.orders-view-tabs>button[aria-pressed="true"] {color:#9c4e21;font-weight:750;}
.orders-view-tabs>button[aria-pressed="true"]::after {content:"";position:absolute;height:3px;bottom:-10px;left:12px;right:12px;background:#c6743d;border-radius:3px;}
.orders-tab-count {font-size:11px;font-weight:600;padding:2px 6px;min-width:20px;line-height:1.5;text-align:center;border-radius:6px;background:#e9eef4;color:#738093;}
.orders-view-tabs>button[aria-pressed="true"] .orders-tab-count {background:#f6e8dc;color:#9c4e21;}
.orders-quick-search {position:relative;display:flex;align-items:center;gap:8px;width:270px;max-width:100%;min-width:0;padding:0 11px;background:#fff;border:1px solid #dce4ed;border-radius:9px;color:#8795a5;}
.orders-quick-search>svg {flex:0 0 17px;}
.orders-quick-search input {min-width:0;width:100%;min-height:38px;padding:8px 0;border:0!important;box-shadow:none!important;background:transparent!important;font-size:12px;outline:none;}
.orders-quick-search:focus-within {border-color:#a7b7c7;box-shadow:0 0 0 3px #a7b7c71a;}
.orders-template-hint {font-size:11px;color:var(--app-muted);margin:-4px 0 16px;}
@media(max-width:1100px){.orders-controlbar{gap:10px;}.orders-view-tabs>button{padding:10px 8px;font-size:13px;}.orders-quick-search{width:240px;}}
@media(max-width:700px){.orders-controlbar{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;padding-bottom:13px;}.orders-view-tabs{overflow-x:auto;scrollbar-width:thin;padding-bottom:4px;}.orders-view-tabs>button[aria-pressed="true"]::after{bottom:0;}.orders-view-tabs>button{padding:10px 8px;gap:5px;}.orders-quick-search{width:100%;}}

/* Consistent, neutral focus feedback for keyboard use. */
:where(button,a,input,select,textarea,summary,[tabindex]):focus-visible {outline:2px solid #93a3b3;outline-offset:3px;}
:where(.directory-results,.extra-service-results,.acc-order-results) button:focus-visible {outline:2px solid #93a3b3;outline-offset:-2px;background:var(--focus-surface);}

/* Standalone service orders share the workspace visual language. */
.so-search{max-width:460px;margin:20px 0}.so-editor{margin-bottom:20px}.so-lookup{position:relative;min-width:0}.so-lookup .directory-results{position:absolute;top:100%;left:0;right:0;z-index:80;max-height:260px;overflow:auto;background:var(--app-paper,#fff);border:1px solid var(--app-border,#dce1e8);border-radius:12px;box-shadow:0 14px 28px #0002}.so-lookup .directory-result{width:100%;text-align:left}.so-summary{display:flex;flex-wrap:wrap;gap:20px;padding:18px 0;margin-bottom:16px;border-bottom:1px solid var(--app-border,#ddd)}.so-summary span{display:grid;gap:6px;color:var(--app-muted,#68778a)}.so-summary strong{font-size:20px;color:var(--app-ink,#223246)}.so-order-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px}.so-order-row>div{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.so-order-row small{color:var(--app-muted,#68778a)}.so-status{border-radius:20px;padding:6px 12px;font-weight:700;text-transform:capitalize;background:#edf0f4;color:#34435b}.so-status-confirmed,.so-status-completed{background:#dff3e8;color:#17613d}.so-status-cancelled{background:#fce7e7;color:#a63239}[data-theme="dark"] .so-lookup .directory-results{background:#1c2735;border-color:#39475a}[data-theme="dark"] .so-summary strong{color:#edf3fa}@media(max-width:760px){.so-order-row{align-items:flex-start;flex-direction:column}.so-summary{gap:16px}}

[data-theme="dark"] .so-editor .btn-quiet,[data-theme="dark"] .so-order-row .btn-quiet,[data-theme="dark"] .so-lookup .lookup-toggle{color:var(--app-ink);background:transparent}[data-theme="dark"] .so-editor .btn-quiet:hover,[data-theme="dark"] .so-lookup .directory-result:hover{background:var(--focus-surface)}.so-lookup .directory-results[hidden]{display:none}.so-editor~details.acc-secondary{margin-top:20px}

/* Shared workspace search, preparation and list controls. */
.topbar{gap:16px}.global-search{position:relative;flex:1;max-width:440px;min-width:180px;margin-left:auto}.global-search-shell{display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid var(--app-border);border-radius:12px;background:var(--app-paper);color:var(--app-muted)}.global-search-shell input{width:100%;min-width:0;border:0;background:transparent;padding:11px 0;box-shadow:none!important;outline:none!important}.global-search-shell:focus-within{border-color:var(--focus-border);box-shadow:0 0 0 3px var(--focus-ring)}.global-search-shell .ui-icon{flex:none;width:17px}.global-search kbd{white-space:nowrap;font:10px inherit;opacity:.65}.global-search-results{position:absolute;top:calc(100% + 8px);right:0;min-width:350px;width:100%;max-height:min(65vh,620px);overflow:auto;z-index:500;background:var(--app-paper);border:1px solid var(--app-border);border-radius:14px;box-shadow:0 15px 45px #0003}.global-search-results[hidden]{display:none}.global-search-results h3{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--app-muted);padding:12px 16px 5px;margin:0}.global-search-results button{display:grid;grid-template-columns:1fr auto;width:100%;padding:12px 16px;text-align:left;border:0;border-bottom:1px solid var(--app-border);background:transparent;color:var(--app-ink);cursor:pointer;gap:4px}.global-search-results button small{grid-column:1;color:var(--app-muted);overflow-wrap:anywhere}.global-search-results button span{grid-column:2;grid-row:1 / 3}.global-search-results button:hover,.global-search-results button:focus-visible{background:var(--focus-surface);outline:2px solid var(--focus-border);outline-offset:-2px}.global-result-count{display:block;padding:10px 16px;font-size:11px;color:var(--app-muted)}
.preparation-panel{margin:18px 0;border:1px solid var(--app-border);border-radius:16px;background:var(--app-paper);overflow:hidden}.preparation-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 20px;cursor:pointer;list-style:none}.prep-heading{display:flex;align-items:center;gap:12px}.prep-heading strong,.prep-heading small{display:block}.prep-heading small{font-size:11px;margin-top:5px;color:var(--app-muted)}.prep-icon{background:var(--app-blue-wash);border-radius:10px;padding:9px;display:flex}.prep-progress{font-size:12px;font-weight:700;background:var(--app-orange-wash);color:var(--app-orange);padding:8px 12px;border-radius:20px}.prep-progress.is-ready{background:var(--app-success-wash);color:var(--app-success)}.prep-content{padding:0 20px 20px;border-top:1px solid var(--app-border)}.prep-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.prep-item{display:flex;align-items:center;gap:10px;border:1px solid var(--app-border);padding:12px;border-radius:12px}.prep-item small{display:block;color:var(--app-muted);font-size:11px;margin-top:4px}.prep-item .btn{margin-left:auto}.prep-check{font-weight:700;color:var(--app-muted)}.is-ready .prep-check{color:var(--app-success)}.prep-vouchers{display:grid;gap:10px;margin:18px 0}.prep-vouchers label,.prep-pdf{display:flex;align-items:center;gap:10px}.prep-vouchers label small{margin-left:auto;color:var(--app-muted);font-size:11px}.prep-pdf{margin:16px 0}.prep-content input[type=checkbox]{width:17px;height:17px;accent-color:#29815c}.hotel-deadline-note{display:grid;gap:6px;border:1px solid var(--app-border);background:var(--app-blue-wash);padding:12px 14px;border-radius:11px;font-size:12px}.hotel-deadline-note span,.hotel-deadline-note small{font-size:11px}.deadline-paid{background:var(--app-success-wash);color:var(--app-success)}.deadline-upcoming,.deadline-week{background:var(--app-orange-wash);color:var(--app-ink)}.deadline-urgent,.deadline-tomorrow,.deadline-today,.deadline-overdue{background:#fcecec;border-color:#e9b9b9;color:#963c40}.deadline-today,.deadline-overdue{border-left:4px solid #c44d53}.prep-deadlines{display:grid;gap:8px;margin-top:16px}.stay-payment-deadline{display:grid;grid-template-columns:minmax(230px,340px) 1fr;gap:12px;align-items:center}.stay-payment-deadline>.muted{font-size:11px}.workspace-list-search{max-width:440px;margin:16px 0}.workspace-list-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin:18px 0}.workspace-list-toolbar>.workspace-list-search{flex:1;min-width:240px;margin:0}.workspace-filters{border:1px solid var(--app-border);border-radius:12px;margin:16px 0;padding:12px 16px;background:var(--app-paper)}.workspace-filters>summary{cursor:pointer;font-weight:600;font-size:12px;color:var(--app-muted)}.workspace-filters .acc-filters{margin-top:14px}.workspace-contact-name{display:flex;align-items:center;gap:9px}.workspace-contact-name .acc-profile-logo,.workspace-contact-name .acc-profile-placeholder{width:30px;height:30px;flex:none}.workspace-contact-name .btn{text-align:left;white-space:normal}.workspace-action-menu{position:fixed;inset:auto;margin:0;padding:7px;min-width:180px;background:var(--app-paper);color:var(--app-ink);border:1px solid var(--app-border);border-radius:12px;box-shadow:0 12px 36px #0003}.workspace-action-menu button{display:block;text-align:left;width:100%}.workspace-action-menu small{display:block;padding:10px;font-size:11px;color:var(--app-muted)}
[data-theme="dark"] .deadline-urgent,[data-theme="dark"] .deadline-tomorrow,[data-theme="dark"] .deadline-today,[data-theme="dark"] .deadline-overdue{background:#3c262b;border-color:#75474d;color:#f0bcc0}[data-theme="dark"] .workspace-contact-name .btn-quiet{color:var(--app-ink)}
@media(max-width:1100px){.topbar>span{display:none}.global-search{margin-left:0;max-width:none}}@media(max-width:700px){.topbar{flex-wrap:wrap}.global-search{flex-basis:100%;order:2}.global-search-results{min-width:0}.global-search kbd{display:none}.prep-grid{grid-template-columns:1fr}.preparation-panel>summary{padding:14px;flex-wrap:wrap}.prep-content{padding:0 14px 14px}.stay-payment-deadline{grid-template-columns:1fr}.prep-vouchers label{flex-wrap:wrap}.prep-vouchers label small{margin-left:27px}.workspace-list-toolbar{display:block}.workspace-list-search{max-width:none}}

.prep-row-status{display:block;font-size:10px;font-weight:600;color:var(--app-muted);margin-top:7px}.prep-row-status.is-ready{color:var(--app-success)}.prep-row-status.is-urgent{color:#ad454b}.preparation-panel:has(.deadline-urgent,.deadline-tomorrow,.deadline-today,.deadline-overdue) .prep-progress{background:#fcecec;color:#963c40}[data-theme="dark"] .prep-row-status.is-urgent{color:#efafb5}[data-theme="dark"] .preparation-panel:has(.deadline-urgent,.deadline-tomorrow,.deadline-today,.deadline-overdue) .prep-progress{background:#3c262b;color:#f0bcc0}

.topbar .global-search input,.topbar .global-search input:focus{border:0!important;background:transparent!important;box-shadow:none!important;border-radius:0;outline:0!important}.workspace-list-toolbar .acc-tabs{margin:0}.workspace-list-toolbar .acc-tabs .btn{white-space:nowrap}
/* Workspace presentation refresh. Keep the printable documents on their own styles. */
@media screen {
  #app {
    font-family: Inter, "Segoe UI Variable Text", system-ui, "Segoe UI", sans-serif;
    --workspace-accent: #a84818;
    --workspace-accent-wash: #fff1e6;
    --workspace-banner: linear-gradient(112deg, #102843, #21486a);
  }

  .workspace .page-header h1,
  .workspace .editor-header h1 {
    font-size: clamp(1.75rem, 2.55vw, 2.35rem);
    font-weight: 740;
  }

  .workspace .page-header p:not(.eyebrow) {
    font-size: .875rem;
  }

  .workspace[data-page="dashboard"] > .page-header {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(20px, 3.2vw, 37px);
    border: 1px solid #ffffff25;
    border-radius: 18px;
    background: var(--workspace-banner);
    color: #f5f9ff;
  }

  .workspace[data-page="dashboard"] > .page-header::after {
    position: absolute;
    z-index: -1;
    inset: 0 0 0 55%;
    background: radial-gradient(circle, #adc4db44 1px, transparent 1.6px) 0 0 / 16px 16px;
    mask-image: linear-gradient(to right, transparent, black);
    content: "";
    pointer-events: none;
  }

  .workspace[data-page="dashboard"] > .page-header h1 { color: #f5f9ff; }
  .workspace[data-page="dashboard"] > .page-header .eyebrow { color: #ffbf90; }
  .workspace[data-page="dashboard"] > .page-header p:not(.eyebrow) { color: #cdddED; }
  .workspace[data-page="dashboard"] > .page-header .btn-secondary {
    background: #f5f9ff12;
    color: #f5f9ff;
    border-color: #c9dcf04d;
  }
  .workspace[data-page="dashboard"] > .page-header .btn-secondary:hover {
    background: #f5f9ff26;
    border-color: #c9dcf08c;
  }

  .dashboard-metric { border-radius: 15px; }
  .metric-top h2 { font-size: .8125rem; }
  .metric-value { font-size: clamp(1.8rem, 2.7vw, 2.4rem); }
  .dashboard-metric > .btn {
    font-size: .75rem;
    border: 0;
    border-radius: 8px;
    background: var(--focus-surface);
    margin: auto 0 0;
    padding-inline: 10px;
    text-align: start;
  }
  .dashboard-metric > .btn:hover { background: var(--app-blue-wash); }
  .dashboard-metric > .btn::after {
    content: "→";
    margin-inline-start: auto;
    font-size: .875rem;
  }

  .workspace .row-head h3,
  .workspace .section-heading h2 { letter-spacing: -.014em; }

  .workspace .field { font-size: .8125rem; }
  .workspace :is(.acc-entry-amount, .order-balance-paid, .order-balance-alert, .so-summary strong, .acc-company-stat strong) {
    font-variant-numeric: tabular-nums;
  }
  .workspace .order-list .order-seller-type,
  .workspace .order-list .order-balance-alert small { color: var(--app-muted); }

  .workspace :is(.order-status, .acc-status, .so-status) { font-weight: 700; }
  .workspace .order-status-completed,
  .workspace .so-status-completed {
    background: var(--app-success-wash);
    color: var(--app-success);
  }
  .workspace .orders-view-tabs > button { color: var(--app-muted); }
  .workspace .orders-view-tabs > button[aria-pressed="true"] { color: var(--workspace-accent); }
  .workspace .orders-tab-count { color: var(--app-muted); }
  .workspace .orders-view-tabs > button[aria-pressed="true"] .orders-tab-count {
    background: var(--workspace-accent-wash);
    color: var(--workspace-accent);
  }

  .global-search-results {
    box-shadow: 0 16px 36px rgb(15 35 55 / 18%);
    overscroll-behavior: contain;
  }

  @media (max-width: 730px) {
    #app .sidebar {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      align-items: center;
      gap: 11px 8px;
      padding: 10px 12px 11px;
      border-inline-end: 0;
    }
    .sidebar .brand { margin: 0; padding: 0; min-width: 0; }
    .sidebar .brand-caption { margin-top: 0; }
    .sidebar .sidebar-nav {
      --sidebar-nav-columns: 4;
      grid-column: 1 / -1;
      display: grid;
      grid-template-columns: repeat(var(--sidebar-nav-columns), minmax(0, 1fr));
      gap: 5px;
      padding: 6px;
      border: 1px solid var(--sidebar-border);
      border-radius: 13px;
      background: #0918273d;
    }
    .sidebar .sidebar-group-label { display: none; }
    .sidebar .nav-button {
      width: 100%;
      min-height: 47px;
      justify-content: center;
      flex-direction: column;
      gap: 4px;
      padding: 4px 2px;
      text-align: center;
      font-size: 11px;
      line-height: 1.25;
      white-space: normal;
    }
    .sidebar .nav-icon { flex: none; height: 17px; }
    .sidebar .nav-icon .ui-icon { width: 17px; height: 17px; }
    .sidebar .nav-button[aria-current="page"] { box-shadow: inset 0 -2px var(--sidebar-accent); }
    .sidebar .sidebar-foot { grid-row: 1; grid-column: 2; padding: 0; }
    .sidebar .sidebar-foot .sidebar-storage { display: none; }
    .sidebar .sidebar-foot > .btn { min-height: 36px; border-radius: 9px; }
    .topbar { padding-block: 7px; gap: 8px; }
    .topbar .system-toolbar { margin-inline-start: auto; }
    .topbar .global-search-shell input { padding-block: 8px; }

    .workspace[data-page="dashboard"] > .page-header { padding: 20px 16px; }
    .workspace[data-page="dashboard"] > .page-header .actions { gap: 7px; }
    .dashboard-metric > .btn { padding: 7px; min-height: 36px; line-height: 1.25; }

    .workspace:is([data-page="dashboard"], [data-page="trips"], [data-page="services"]) .order-list:has(.order-list-row, [data-action="so-open"]) {
      display: block;
      min-width: 0;
    }
    .workspace:is([data-page="dashboard"], [data-page="trips"], [data-page="services"]) .order-list:has(.order-list-row, [data-action="so-open"]) thead {
      position: absolute;
      width: 1px;
      height: 1px;
      overflow: hidden;
      clip-path: inset(50%);
    }
    .workspace:is([data-page="dashboard"], [data-page="trips"], [data-page="services"]) .order-list:has(.order-list-row, [data-action="so-open"]) tbody {
      display: grid;
      gap: 10px;
    }
    .workspace:is([data-page="dashboard"], [data-page="trips"], [data-page="services"]) .order-list :is(.order-list-row, tr:has([data-action="so-open"])) {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.05fr);
      gap: 8px 7px;
      align-items: start;
      padding: 12px;
      border: 1px solid var(--app-border);
      border-radius: 12px;
      background: var(--app-paper);
    }
    .workspace:is([data-page="dashboard"], [data-page="trips"], [data-page="services"]) .order-list :is(.order-list-row, tr:has([data-action="so-open"])) > td {
      min-width: 0;
      padding: 0;
      border: 0;
      border-radius: 0;
      background: transparent;
      overflow-wrap: anywhere;
    }
    .order-list :is(.order-list-row, tr:has([data-action="so-open"])) > td:nth-child(1) { grid-area: 1 / 1 / 2 / 3; }
    .order-list :is(.order-list-row, tr:has([data-action="so-open"])) > td:nth-child(2) { grid-area: 2 / 1 / 3 / -1; }
    .order-list :is(.order-list-row, tr:has([data-action="so-open"])) > td:nth-child(7) { grid-column: 2 / -1; }
    .order-list :is(.order-list-row, tr:has([data-action="so-open"])) > td:last-child {
      grid-area: 1 / 3 / 2 / 4;
      justify-self: end;
    }
    .order-list :is(.order-list-row, tr:has([data-action="so-open"])) > td:last-child > .btn { min-width: 40px; }
    .order-list .order-list-row > td:nth-child(3)::before { content: "Arrival"; }
    .order-list .order-list-row > td:nth-child(4)::before { content: "Departure"; }
    .order-list tr:has([data-action="so-open"]) > td:nth-child(3)::before { content: "Date"; }
    .order-list tr:has([data-action="so-open"]) > td:nth-child(6)::before { content: "Total"; }
    .order-list :is(.order-list-row, tr:has([data-action="so-open"])) > td:nth-child(7)::before { content: "Customer balance"; }
    .order-list :is(.order-list-row, tr:has([data-action="so-open"])) > td::before {
      display: block;
      margin-block-end: 3px;
      color: var(--app-muted);
      font-size: .6875rem;
      font-weight: 600;
    }
    .order-list .order-status,
    .order-list .so-status { padding-inline: 7px; font-size: .6875rem; }
    .order-list .order-list-row .order-seller { font-size: .75rem; }

    .workspace[data-page="services"] .order-list:not(:has([data-action="so-open"])) { min-width: 0; }
    .workspace[data-page="services"] .order-list:not(:has([data-action="so-open"])) thead { display: none; }
  }
}

.service-savebar-copy { flex: 1 1 185px; min-width: 0; }
.service-savebar [data-service-save-warning] { overflow-wrap: anywhere; }
.service-savebar [data-service-save-warning][hidden] { display: none; }
@media screen {
  .editor-confirmed-indicator {
    position: sticky;
    top: 63px;
    z-index: 5;
    width: max-content;
    margin: 0 0 10px auto;
    padding: 8px 13px;
    border: 1px solid var(--app-border);
    border-radius: 9px;
    color: var(--app-success);
    background: var(--app-success-wash);
    box-shadow: 0 2px 8px #132b4910;
    font-size: 14px;
    font-weight: 700;
  }
}
@media print { .editor-confirmed-indicator { display: none; } }

.service-workspace-tabs, .service-view-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  width: min(100%, 27rem);
}
.service-workspace-tabs > button {
  min-height: 49px;
  padding: 9px 10px;
  border: 1px solid var(--app-border);
  border-radius: 11px;
  background: var(--app-paper);
  color: var(--app-muted);
  font: inherit;
  font-size: clamp(14px, 2.5vw, 17px);
  font-weight: 700;
  cursor: pointer;
}
.service-workspace-tabs > button:hover { background: var(--app-blue-wash); color: var(--app-ink); }
.service-workspace-tabs > button[aria-selected="true"] {
  background: var(--app-paper);
  color: var(--app-navy);
  box-shadow: inset 3px 0 var(--app-navy);
}
.service-view-actions { margin: 10px 0 18px; }
[data-service-view="catalog"] .service-view-action { grid-column: 2; }
.service-view-action .btn {
  min-height: 38px;
  max-width: 100%;
  padding: 6px 10px;
  text-align: center;
  font-weight: 700;
}
.btn-service-new {
  border-color: var(--app-orange);
  background: var(--app-orange-wash);
  color: var(--app-ink);
}
.btn-service-add {
  border-color: var(--app-success);
  background: var(--app-success-wash);
  color: var(--app-success);
}
.service-view-action .btn:hover { box-shadow: inset 0 0 0 1px currentColor; }
.workspace-list-toolbar .service-order-filters {
  gap: 5px;
  background: var(--app-blue-wash);
}
.workspace-list-toolbar .service-order-filters .btn {
  min-height: 42px;
  padding: 8px 14px;
  font-size: 14px;
  font-weight: 650;
}
.workspace-list-toolbar .service-order-filters .btn[aria-pressed="true"] {
  border-color: var(--app-border);
  background: var(--app-paper);
  color: var(--app-navy);
  box-shadow: inset 0 -2px var(--app-navy);
}
.workspace-list-toolbar .service-order-filters .btn:not([aria-pressed="true"]):hover {
  background: var(--app-paper);
  color: var(--app-ink);
}
.so-status-bar {
  display: flex; flex-wrap: wrap; align-items: center; gap: 9px 16px;
  margin: 0 0 16px; padding: 9px 12px;
  border: 1px solid var(--app-border); border-radius: 12px; background: var(--app-paper);
}
.so-status-bar small { display: block; margin-top: 2px; color: var(--app-muted); font-size: 11px; }
.so-customer-field { max-width: 31rem; }
.so-booking-channel {
  display: grid; grid-template-columns: minmax(0, 12rem) minmax(0, 18rem);
  align-items: end; gap: 10px 14px; margin-top: 13px;
}
.so-direct-booking {
  display: flex; align-items: center; justify-content: space-between; gap: 8px;
  padding: 8px 11px; border: 1px solid var(--app-border); border-radius: 9px;
  background: var(--app-paper); color: var(--app-ink); text-align: start; cursor: pointer;
}
.so-direct-booking strong { display: block; font-size: 13px; font-weight: 800; }
.so-direct-booking small { display: block; font-size: 11px; color: var(--app-muted); }
.so-direct-booking[aria-pressed="true"] { background: var(--app-success-wash); color: var(--app-success); }
.so-direct-check { font-weight: 800; }
.so-lookup .directory-result.so-direct-result {
  display: flex; align-items: center; justify-content: space-between; gap: 8px;
  background: var(--app-success-wash); color: var(--app-success); border-bottom: 1px solid var(--app-border);
}
.so-direct-tag { font-weight: 750; font-size: 11px; text-align: end; }
.so-result-group {
  margin: 0; padding: 7px 11px 3px; color: var(--app-muted); font-size: 11px; font-weight: 700;
}
.so-lookup-line { display: flex; align-items: center; gap: 8px; min-width: 0; }
.so-lookup-line .lookup-input-shell { flex: 1; min-width: 0; }
.so-lookup-line > .btn { flex: none; white-space: nowrap; padding: 7px 11px; }
@media (max-width: 520px) {
  .customer-search-row, .so-customer-field .so-lookup-line { flex-wrap: wrap; }
  .customer-search-row > .field, .so-customer-field .lookup-input-shell { flex-basis: 100%; }
}
.so-order-settings { display: flex; align-items: end; flex-wrap: wrap; gap: 12px 16px; margin-top: 14px; }
.so-order-settings > .field { width: min(100%, 9rem); }
.so-status-options { width: fit-content; max-width: 100%; flex-wrap: wrap; }
.so-status-options .btn { min-height: 32px; padding: 5px 10px; font-size: 12px; }
.so-status-offer, .so-status-options [data-value="offer"][aria-pressed="true"] {
  color: #965d16; background: #fff2df;
}
[data-theme="dark"] .workspace .so-status-offer,
[data-theme="dark"] .workspace .so-status-options [data-value="offer"][aria-pressed="true"] {
  color: #f0bc8d; background: #392d23;
}
.so-status-options [data-value="completed"][aria-pressed="true"] { color: var(--app-success); background: var(--app-success-wash); }
.so-editor > .muted { margin: 10px 0 0; font-size: 12px; }
.form-grid.so-line-fields { grid-template-columns: repeat(3, minmax(0, 11rem)); align-items: end; }
.so-line-fields > .so-lookup { grid-column: 1 / -1; max-width: 24rem; }
textarea[data-so="notes"] { min-height: 72px; }
.reorder-guide {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 12px;
  margin: 0 0 12px;
  color: var(--app-muted);
  font-size: 12px;
}
.reorder-guide p { margin: 0; }
.reorder-status { color: var(--app-ink); font-weight: 650; }
.reorder-row-title { display: flex; min-width: 0; align-items: center; gap: 9px; }
.reorder-row-title h3 { overflow-wrap: anywhere; }
.reorder-row-title input[type="checkbox"] {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: var(--app-orange);
}
.reorder-grip {
  display: grid;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  place-items: center;
  padding: 0;
  border: 1px solid var(--app-border);
  border-radius: 9px;
  color: var(--app-muted);
  background: var(--app-paper);
  cursor: grab;
  touch-action: none;
}
.reorder-grip:hover, .reorder-grip[aria-pressed="true"] {
  color: var(--app-ink);
  background: var(--app-orange-wash);
  border-color: var(--app-orange);
}
.reorder-grip[aria-pressed="true"] { cursor: grabbing; }
[data-reorder-list], [data-reorder-row] { position: relative; }
[data-reorder-list].reorder-dragging > [data-reorder-row] {
  translate: 0 var(--reorder-shift, 0px);
  transition: translate 150ms ease-out;
}
.reorder-dragging > .reorder-moving { opacity: 0; }
.reorder-dragging > [data-reorder-row]::before,
.reorder-dragging > [data-reorder-row]::after { display: none; }
.workspace.reorder-preview {
  position: fixed;
  z-index: 200;
  top: 0;
  left: 0;
  padding: 0;
  max-height: calc(100dvh - 16px);
  overflow: hidden;
  border: 1px solid var(--app-orange);
  border-radius: 12px;
  box-shadow: 0 14px 32px rgb(12 24 40 / 28%);
  opacity: 0.96;
  pointer-events: none;
}
.reorder-preview-count {
  position: absolute;
  z-index: 1;
  top: 8px;
  right: 8px;
  padding: 3px 9px;
  border: 1px solid var(--app-border);
  border-radius: 999px;
  color: var(--app-ink);
  background: var(--app-paper);
  font-size: 12px;
  font-weight: 700;
}
@media (prefers-reduced-motion: reduce) {
  [data-reorder-list].reorder-dragging > [data-reorder-row] { transition: none; }
}
[data-reorder-row].reorder-moving { outline: 1px dashed var(--app-orange); outline-offset: -2px; }

.acc-list-toolbar > .orders-view-tabs + .orders-quick-search,
[data-service-view="orders"] .orders-controlbar > .orders-quick-search { margin-inline-start: auto; }
.acc-list-toolbar:has(> .acc-supplier-toggle) { justify-content: flex-start; }
.acc-list-toolbar > .acc-supplier-toggle { margin: 0; }
.acc-list-toolbar + .acc-include-voided { width: fit-content; }
.acc-navigation .orders-view-tabs { flex-wrap: wrap; overflow: visible; }
@media (max-width: 1100px) {
  .acc-navigation .orders-view-tabs > button[aria-pressed="true"]::after { bottom: 0; }
}
.acc-contact-list .workspace-contact-list { width: 100%; min-width: 0; table-layout: fixed; }
.workspace-contact-list th:first-child { width: 34%; }
.workspace-contact-list th:nth-child(2) { width: 16%; }
.workspace-contact-list th:nth-child(3) { width: 25%; }
.workspace-contact-list th:last-child { width: 64px; }
.workspace-contact-list td { overflow-wrap: break-word; }
.workspace-contact-list bdi { overflow-wrap: anywhere; }
.workspace-contact-name .acc-profile-placeholder { font-size: 15px; }
.workspace-contact-list .workspace-contact-name .btn {
  display: block;
  min-width: 0;
  padding-inline: 0;
  color: var(--app-ink);
  font-weight: 700;
  overflow-wrap: break-word;
}
.workspace-contact-list td:last-child { text-align: right; }
.workspace-contact-list .btn[data-action="acc-contact-menu"] {
  width: 34px;
  min-height: 34px;
  padding: 0;
  font-size: 22px;
  line-height: 1;
  color: var(--app-muted);
}
.acc-contact-label { display: none; }

@media (max-width: 760px) {
  .acc-contact-list .workspace-contact-list,
  .workspace-contact-list tbody { display: block; }
  .workspace-contact-list thead { position: absolute; width: 1px; height: 1px; clip-path: inset(50%); overflow: hidden; }
  .workspace-contact-list .acc-contact-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
    gap: 9px 14px;
    margin-bottom: 9px;
    padding: 12px 14px;
    border: 1px solid var(--app-border);
    border-radius: 12px;
    background: var(--app-paper);
  }
  .acc-contact-list .workspace-contact-list .acc-contact-row td { min-width: 0; padding: 0; border: 0; background: transparent; }
  .workspace-contact-list .acc-contact-row td:first-child { grid-column: 1 / 3; }
  .workspace-contact-list .acc-contact-row td:nth-child(3) { grid-column: 2 / -1; }
  .workspace-contact-list .acc-contact-row td:nth-child(4) { grid-column: 1 / -1; }
  .workspace-contact-list .acc-contact-row td:last-child { grid-area: 1 / 3; }
  .acc-contact-label { display: block; color: var(--app-muted); font-size: 11px; font-weight: 650; }
}
[data-reorder-row].reorder-before::before, [data-reorder-row].reorder-after::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  height: 3px;
  border-radius: 3px;
  background: var(--app-orange);
  pointer-events: none;
}
[data-reorder-row].reorder-before::before { top: -6px; }
[data-reorder-row].reorder-after::after { bottom: -6px; }
@media (pointer: coarse) {
  .reorder-grip { width: 44px; height: 44px; flex-basis: 44px; }
}
@media (max-width: 650px) {
  .so-booking-channel { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); }
  .form-grid.so-line-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
