:root {
  color-scheme: light;
  --ink: #14213d;
  --muted: #67738b;
  --faint: #8f99ab;
  --line: #e2e7ef;
  --canvas: #f3f6fa;
  --panel: #ffffff;
  --nav: #0b1733;
  --nav-soft: #14264a;
  --blue: #1e63d6;
  --blue-soft: #eaf2ff;
  --teal: #067d75;
  --teal-soft: #e5f5f2;
  --amber: #9b5f08;
  --amber-soft: #fff4df;
  --red: #b23a42;
  --red-soft: #fff0f1;
  --shadow: 0 12px 30px rgba(29, 44, 74, .08);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: var(--canvas);
  color: var(--ink);
}

* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; min-height: 100vh; background: var(--canvas); }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid rgba(30,99,214,.25); outline-offset: 2px; }

.app-shell { min-height: 100vh; display: grid; grid-template-columns: 240px minmax(0, 1fr); }
.sidebar { position: sticky; top: 0; height: 100vh; padding: 24px 16px 18px; background: var(--nav); color: #fff; display: flex; flex-direction: column; z-index: 10; }
.brand { display: flex; align-items: center; gap: 11px; padding: 0 8px 26px; }
.brand-mark { width: 36px; height: 36px; border-radius: 11px; display: grid; place-items: center; background: linear-gradient(145deg,#3582ff,#19a4b0); color:#fff; font-size: 1.15rem; font-weight: 800; }
.brand strong, .brand small, .profile strong, .profile small, .system-state strong, .system-state small { display: block; }
.brand strong { font-size: 1.08rem; letter-spacing: -.02em; }
.brand small { margin-top: 2px; color: #98a8c7; font-size: .72rem; }
.nav-list { display: grid; gap: 6px; }
.nav-item { width: 100%; display: grid; grid-template-columns: 22px 1fr auto; align-items: center; gap: 8px; padding: 11px 10px; border: 0; border-radius: 9px; color: #aab8d2; background: transparent; text-align: left; font-size: .88rem; }
.nav-item:hover { color: #fff; background: rgba(255,255,255,.06); }
.nav-item.active { color: #fff; background: var(--nav-soft); box-shadow: inset 3px 0 #51a6ff; }
.nav-item > span { font-size: 1.05rem; text-align: center; }
.nav-item b { min-width: 22px; padding: 2px 6px; border-radius: 10px; background: #21385f; color: #bcd4ff; text-align: center; font-size: .7rem; }
.sidebar-foot { margin-top: auto; }
.system-state { margin: 0 8px 16px; display: flex; align-items: center; gap: 9px; color: #c7d2e8; }
.system-state i { width: 8px; height: 8px; border-radius: 50%; background: #38c995; box-shadow: 0 0 0 4px rgba(56,201,149,.12); }
.system-state strong { font-size: .75rem; font-weight: 650; }
.system-state small { color: #8192b2; font-size: .68rem; margin-top: 2px; }
.profile { width: 100%; display: grid; grid-template-columns: 34px 1fr auto; gap: 9px; align-items: center; padding: 12px 8px 0; border: 0; border-top: 1px solid rgba(255,255,255,.1); background: transparent; color: #fff; text-align: left; }
.profile > span:first-child { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: #244271; font-size: .72rem; font-weight: 700; }
.profile strong { font-size: .75rem; }
.profile small { color: #8292af; font-size: .65rem; margin-top: 2px; }
.profile b { color: #7f90af; letter-spacing: 2px; }

.workspace { min-width: 0; }
.topbar { height: 76px; padding: 0 28px; display: flex; align-items: center; gap: 18px; background: rgba(255,255,255,.92); border-bottom: 1px solid var(--line); backdrop-filter: blur(14px); position: sticky; top: 0; z-index: 8; }
.title-group { min-width: 225px; }
.eyebrow { display: block; color: var(--faint); text-transform: uppercase; letter-spacing: .1em; font-size: .65rem; font-weight: 800; }
h1, h2, h3, p { margin-top: 0; }
h1 { margin: 3px 0 0; font-size: 1.28rem; letter-spacing: -.025em; }
.global-search { margin-left: auto; width: min(410px, 34vw); height: 40px; display: flex; align-items: center; gap: 9px; padding: 0 10px; border: 1px solid var(--line); border-radius: 9px; background: #f8fafc; color: var(--faint); }
.global-search input { min-width: 0; flex: 1; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: .83rem; }
.global-search kbd { padding: 2px 6px; border: 1px solid #d8dee8; border-radius: 5px; background: white; font-size: .65rem; color: var(--faint); }
.icon-button, .mobile-menu { position: relative; width: 38px; height: 38px; border: 1px solid var(--line); border-radius: 9px; background: white; color: var(--ink); }
.mobile-menu { display: none; }
.notification-dot { position: absolute; right: 8px; top: 7px; width: 6px; height: 6px; border-radius: 50%; background: #f05d5e; }
.utc-clock { padding-left: 16px; border-left: 1px solid var(--line); }
.utc-clock span, .utc-clock strong { display: block; }
.utc-clock span { color: var(--faint); font-size: .62rem; letter-spacing: .1em; }
.utc-clock strong { margin-top: 2px; font-size: .78rem; font-variant-numeric: tabular-nums; }

main { padding: 24px 28px 34px; }
.view { display: none; }
.view.active { display: block; }
.network-ribbon { margin-bottom:14px; padding:20px; border-radius:16px; color:#fff; background:radial-gradient(circle at 82% 18%,rgba(38,194,184,.2),transparent 30%),linear-gradient(120deg,#0d1f43,#153c70 62%,#0b5261); box-shadow:0 18px 40px rgba(13,36,73,.18); }
.network-topline { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }.network-copy { max-width:560px; }.network-copy strong,.network-copy small { display:block; }.network-copy strong { margin-top:5px; font-size:1.05rem; letter-spacing:-.015em; }.network-copy small { margin-top:5px; color:#c0d0e5; font-size:.76rem; line-height:1.45; }.network-ribbon .eyebrow { color:#77d9df; }
.network-switch { display:flex; gap:3px; padding:3px; border:1px solid rgba(255,255,255,.14); border-radius:9px; background:rgba(3,18,43,.22); }.network-switch button { padding:7px 10px; border:0; border-radius:6px; color:#afc2db; background:transparent; font-size:.7rem; font-weight:700; }.network-switch button.active { color:#fff; background:rgba(255,255,255,.15); }
.network-panel { margin-top:18px; }.network-panel.active { display:block; }.provider-row { display:grid; grid-template-columns:1fr 1fr; gap:10px; }.provider-row article { padding:10px 12px; display:grid; grid-template-columns:32px 1fr auto; gap:9px; align-items:center; border:1px solid rgba(255,255,255,.18); border-radius:9px; background:rgba(255,255,255,.06); }.provider-icon { width:30px; height:30px; display:grid; place-items:center; border-radius:8px; color:#dceaff; background:rgba(255,255,255,.1); font-size:.68rem; font-weight:800; }.provider-row strong,.provider-row small { display:block; }.provider-row strong { font-size:.76rem; }.provider-row small { margin-top:2px; color:#9fb5d2; font-size:.64rem; }.provider-row article > i { width:7px; height:7px; border-radius:50%; background:#4fd1a5; }
.ai-journey-head { display:flex; justify-content:space-between; gap:18px; align-items:flex-end; margin-bottom:12px; }.ai-journey-head strong,.ai-journey-head small { display:block; }.ai-journey-head > div:first-child > strong { margin-top:7px; font-size:1.05rem; }.ai-journey-head small { margin-top:4px; color:#aebfd6; font-size:.67rem; }.demo-label { display:inline-flex; padding:4px 7px; border:1px solid rgba(125,220,222,.35); border-radius:12px; color:#91e3dc; background:rgba(28,157,151,.12); text-transform:uppercase; letter-spacing:.08em; font-size:.58rem; font-weight:800; }.reduction-summary { display:flex; align-items:center; gap:9px; padding:8px 10px; border:1px solid rgba(120,215,203,.25); border-radius:10px; background:rgba(3,20,43,.28); }.reduction-summary div span,.reduction-summary div strong { display:block; }.reduction-summary div span { color:#9fb5cf; font-size:.57rem; }.reduction-summary div strong { margin-top:2px; font-size:.76rem; }.reduction-summary > i { color:#62b8e9; font-style:normal; }.reduction-summary > b { padding:5px 7px; border-radius:8px; color:#8ce2c5; background:rgba(54,187,148,.15); font-size:.61rem; white-space:nowrap; }
.ai-journey-grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(240px,.72fr); gap:12px; }.cross-airline-route,.ai-decision-card { border:1px solid rgba(255,255,255,.16); border-radius:12px; background:rgba(4,20,48,.28); }.cross-airline-route { padding:13px; }.flight-leg { padding:12px; display:grid; grid-template-columns:40px 1fr auto; gap:11px; align-items:center; border:1px solid rgba(255,255,255,.13); border-radius:10px; background:rgba(255,255,255,.065); }.airline-badge { width:40px; height:40px; display:grid; place-items:center; border-radius:11px; color:#fff; font-size:.72rem; font-weight:850; box-shadow:inset 0 0 0 1px rgba(255,255,255,.16); }.airline-badge.indigo { background:#273678; }.airline-badge.airasia { background:#d52b35; }.flight-leg span,.flight-leg strong,.flight-leg small { display:block; }.flight-leg span { color:#8fa8c8; font-size:.61rem; text-transform:uppercase; letter-spacing:.06em; }.flight-leg strong { margin-top:4px; font-size:.9rem; }.flight-leg strong i { margin:0 7px; color:#64b7ed; font-style:normal; }.flight-leg small { margin-top:3px; color:#b7c6da; font-size:.63rem; }.flight-leg > b { color:#d6e6fc; font-size:.66rem; }
.connection-node { min-height:52px; display:grid; grid-template-columns:18px 1fr auto; gap:8px; align-items:center; margin-left:23px; padding:7px 9px; border-left:1px dashed rgba(116,185,235,.6); }.route-dot { width:9px; height:9px; margin-left:-14px; border:2px solid #66c5ec; border-radius:50%; background:#12345b; box-shadow:0 0 0 4px rgba(57,170,218,.1); }.connection-node strong,.connection-node small { display:block; }.connection-node strong { font-size:.67rem; }.connection-node small { margin-top:3px; color:#9fb2cb; font-size:.6rem; }.connection-node small b { color:#7cddbd; }.protected-pill { padding:4px 7px; border-radius:10px; color:#82e1c0; background:rgba(45,178,139,.15); font-size:.58rem; font-weight:800; }
.ai-decision-card { padding:14px; background:linear-gradient(145deg,rgba(31,109,215,.25),rgba(4,26,59,.32)); }.ai-title { display:flex; gap:9px; align-items:center; padding-bottom:11px; border-bottom:1px solid rgba(255,255,255,.13); }.ai-orb { width:35px; height:35px; display:grid; place-items:center; border-radius:50%; color:#fff; background:linear-gradient(145deg,#2d83eb,#1bb2ad); box-shadow:0 0 0 5px rgba(42,145,213,.1); font-size:.62rem; font-weight:900; }.ai-title strong,.ai-title small { display:block; }.ai-title strong { font-size:.76rem; }.ai-title small { margin-top:2px; color:#a9bdd6; font-size:.6rem; }.decision-score { margin-top:11px; display:grid; grid-template-columns:1fr auto; gap:5px 8px; align-items:center; }.decision-score span { color:#b7c8de; font-size:.62rem; }.decision-score strong { font-size:.64rem; }.decision-score i { grid-column:1/-1; height:4px; border-radius:5px; overflow:hidden; background:rgba(255,255,255,.11); }.decision-score i::after { content:""; display:block; width:var(--score); height:100%; border-radius:inherit; background:linear-gradient(90deg,#55a4ff,#4fd1a5); }.ai-decision-card p { margin:12px 0 0; padding-top:10px; border-top:1px solid rgba(255,255,255,.12); color:#aebfd3; font-size:.61rem; line-height:1.45; }
.decision-boundary { margin-top:12px; padding:10px 12px; display:grid; grid-template-columns:1fr auto 1fr auto 1fr; gap:10px; align-items:center; border:1px solid rgba(255,255,255,.13); border-radius:10px; background:rgba(255,255,255,.05); }.decision-boundary article { display:grid; grid-template-columns:27px 1fr; gap:8px; align-items:center; }.decision-boundary article > span { width:27px; height:27px; display:grid; place-items:center; border-radius:8px; color:#a9d4ff; background:rgba(61,139,224,.18); font-size:.57rem; font-weight:850; }.decision-boundary strong,.decision-boundary small { display:block; }.decision-boundary strong { font-size:.66rem; }.decision-boundary small { margin-top:2px; color:#9fb2ca; font-size:.58rem; line-height:1.35; }.decision-boundary > i { color:#65b4e9; font-style:normal; }
.network-spine { height:18px; display:grid; grid-template-columns:1fr auto 1fr; gap:10px; align-items:center; color:#82b5ee; }.network-spine i { height:1px; background:linear-gradient(90deg,transparent,rgba(126,182,239,.55)); }.network-spine i:last-child { background:linear-gradient(90deg,rgba(126,182,239,.55),transparent); }.network-spine span { font-size:.75rem; }
.agent-hub { padding:11px 13px; display:grid; grid-template-columns:34px 1fr auto; gap:10px; align-items:center; border:1px solid rgba(91,164,255,.62); border-radius:10px; background:linear-gradient(100deg,#1f6dd7,#237eda); box-shadow:0 7px 20px rgba(4,22,52,.2); }.hub-mark { width:32px; height:32px; display:grid; place-items:center; border-radius:9px; background:#fff; color:#1c67c6; font-weight:800; }.agent-hub strong,.agent-hub small { display:block; }.agent-hub strong { font-size:.8rem; }.agent-hub small { margin-top:2px; color:#d3e6ff; font-size:.65rem; }.agent-hub b { padding:4px 8px; border-radius:12px; color:#8ee3ce; background:rgba(6,47,86,.35); font-size:.62rem; white-space:nowrap; }
.booking-flow { min-height:160px; display:grid; grid-template-columns:1fr auto 1fr auto 1fr; align-items:center; gap:12px; }.booking-flow article { min-height:115px; padding:14px; border:1px solid rgba(255,255,255,.16); border-radius:10px; background:rgba(255,255,255,.06); }.booking-flow article > span { width:28px; height:28px; display:grid; place-items:center; border-radius:8px; background:#2379da; font-size:.72rem; font-weight:800; }.booking-flow strong,.booking-flow small { display:block; }.booking-flow strong { margin-top:10px; font-size:.77rem; }.booking-flow small { margin-top:4px; color:#aebfd6; font-size:.65rem; line-height:1.4; }.booking-flow > i { color:#75b5ee; font-style:normal; }
.network-health { margin-top:16px; padding-top:13px; display:flex; flex-wrap:wrap; align-items:center; gap:14px; border-top:1px solid rgba(255,255,255,.16); }.network-health > span { display:flex; align-items:center; gap:7px; }.network-health i { width:7px; height:7px; border-radius:50%; background:#4fd1a5; }.network-health strong { font-size:.72rem; }.network-health small { color:#a9bdd5; font-size:.66rem; }.network-health a { margin-left:auto; color:#9bdde1; font-size:.68rem; font-weight:700; text-decoration:none; }
.metric-strip { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); background: var(--panel); border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--shadow); }
.metric-strip article { padding: 16px 18px; border-right: 1px solid var(--line); }
.metric-strip article:last-child { border-right: 0; }
.metric-strip span, .metric-strip strong, .metric-strip small { display: block; }
.metric-strip span { color: var(--muted); font-size: .75rem; }
.metric-strip strong { margin-top: 7px; font-size: 1.45rem; letter-spacing: -.04em; }
.metric-strip small { margin-top: 3px; color: var(--faint); font-size: .68rem; }
.queue-toolbar { margin: 20px 0 12px; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.toolbar-filters { display:flex; align-items:center; gap:10px; }
.segmented { display: flex; gap: 4px; padding: 4px; border: 1px solid var(--line); border-radius: 9px; background: #e9edf3; overflow-x: auto; }
.segmented button { white-space: nowrap; padding: 7px 10px; border: 0; border-radius: 6px; background: transparent; color: var(--muted); font-size: .75rem; font-weight: 650; }
.segmented button.active { color: var(--ink); background: white; box-shadow: 0 1px 4px rgba(30,42,70,.08); }
.segmented span { color: var(--faint); margin-left: 3px; }
.select-wrap { color: var(--muted); font-size: .72rem; }
.select-wrap select { margin-left: 6px; padding: 7px 28px 7px 9px; border: 1px solid var(--line); border-radius: 8px; color: var(--ink); background: white; font-size: .75rem; }
.work-grid { display: grid; grid-template-columns: minmax(300px,.82fr) minmax(540px,1.55fr); gap: 14px; align-items: start; }
.case-list-panel, .case-detail, .panel { border: 1px solid var(--line); border-radius: 12px; background: var(--panel); box-shadow: var(--shadow); }
.case-list-panel { overflow: hidden; }
.list-head { display: grid; grid-template-columns: 1fr auto; padding: 12px 14px; border-bottom: 1px solid var(--line); background: #f9fafc; color: var(--faint); text-transform: uppercase; letter-spacing: .08em; font-size: .62rem; font-weight: 800; }
.case-row { width: 100%; display: grid; grid-template-columns: 1fr auto; gap: 12px; padding: 15px 14px; border: 0; border-bottom: 1px solid var(--line); border-left: 3px solid transparent; background: white; color: var(--ink); text-align: left; }
.case-row:last-child { border-bottom: 0; }
.case-row:hover { background: #f8faff; }
.case-row.active { border-left-color: var(--blue); background: #f2f7ff; }
.case-row strong, .case-row small { display: block; }
.passenger-line { display: flex; align-items: baseline; gap: 7px; }
.passenger-line strong { font-size: .85rem; }
.passenger-line span { color: var(--faint); font-size: .65rem; }
.route-line { margin-top: 6px; font-size: .78rem; font-weight: 700; }
.route-line span { padding: 0 4px; color: var(--faint); }
.row-meta { margin-top: 5px; color: var(--muted); font-size: .68rem; }
.opportunity { text-align: right; }
.opportunity strong { color: var(--teal); font-size: .84rem; }
.opportunity small { margin-top: 5px; color: var(--faint); font-size: .65rem; }
.empty-state { padding: 56px 20px; text-align: center; color: var(--muted); }
.empty-state > span { display: block; font-size: 2rem; color: #a8b3c5; }
.empty-state strong { display: block; margin-top: 8px; color: var(--ink); }
.empty-state p { margin: 5px 0 0; font-size: .78rem; }

.case-detail { overflow: hidden; }
.detail-top { padding: 18px 20px 16px; display: flex; justify-content: space-between; align-items: flex-start; gap: 14px; border-bottom: 1px solid var(--line); }
.detail-top h2 { margin: 3px 0 4px; font-size: 1.05rem; }
.detail-top p { margin: 0; color: var(--muted); font-size: .72rem; }
.badge { display: inline-flex; align-items: center; width: fit-content; padding: 4px 8px; border-radius: 12px; font-size: .65rem; font-weight: 750; white-space: nowrap; }
.badge.blue { color: #225ab0; background: var(--blue-soft); }
.badge.green { color: var(--teal); background: var(--teal-soft); }
.badge.amber { color: var(--amber); background: var(--amber-soft); }
.badge.red { color: var(--red); background: var(--red-soft); }
.detail-body { padding: 18px 20px 20px; }
.journey-summary { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 14px; }
.airport { display: flex; gap: 10px; align-items: center; }
.airport:last-child { justify-content: flex-end; text-align: right; }
.airport strong { display: block; font-size: 1.35rem; letter-spacing: -.04em; }
.airport small { display: block; margin-top: 2px; color: var(--muted); font-size: .68rem; }
.airport-time { font-size: .82rem; font-weight: 750; }
.journey-line { min-width: 180px; text-align: center; }
.journey-line > span { display: block; color: var(--red); font-size: .7rem; font-weight: 750; }
.journey-line i { display: block; height: 2px; margin: 8px 0 6px; background: #dbe1eb; position: relative; }
.journey-line i::before, .journey-line i::after { content: ""; position: absolute; top: -3px; width: 8px; height: 8px; border-radius: 50%; background: #aeb8c8; }
.journey-line i::before { left: 0; }.journey-line i::after { right: 0; }
.journey-line small { color: var(--faint); font-size: .64rem; }
.section-kicker { margin: 20px 0 9px; display: flex; justify-content: space-between; align-items: center; color: var(--muted); font-size: .7rem; font-weight: 700; }
.section-kicker span:last-child { color: var(--faint); font-weight: 500; }
.alternative-list { display: grid; gap: 8px; }
.alternative { width: 100%; display: grid; grid-template-columns: 20px 1fr auto; align-items: center; gap: 11px; padding: 11px 12px; border: 1px solid var(--line); border-radius: 9px; background: white; color: var(--ink); text-align: left; }
.alternative:hover { border-color: #afc7ec; }
.alternative.active { border-color: var(--blue); box-shadow: 0 0 0 2px rgba(30,99,214,.1); }
.radio { width: 17px; height: 17px; border: 2px solid #bcc6d5; border-radius: 50%; display: grid; place-items: center; }
.alternative.active .radio { border-color: var(--blue); }.alternative.active .radio::after { content:""; width: 7px; height: 7px; border-radius: 50%; background: var(--blue); }
.alt-title { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; font-size: .76rem; font-weight: 750; }
.alt-meta { margin-top: 5px; display: flex; flex-wrap: wrap; gap: 11px; color: var(--muted); font-size: .67rem; }
.alt-saving { text-align: right; }
.alt-saving strong, .alt-saving small { display: block; }
.alt-saving strong { color: var(--teal); font-size: .84rem; }.alt-saving small { color: var(--faint); font-size: .63rem; margin-top: 3px; }
.checks { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
.check { padding: 9px 10px; display: grid; grid-template-columns: 20px 1fr auto; gap: 8px; align-items: start; border-radius: 8px; background: #f7f9fc; }
.check-icon { width: 18px; height: 18px; border-radius: 50%; display: grid; place-items: center; background: var(--teal-soft); color: var(--teal); font-size: .65rem; font-weight: 800; }
.check strong, .check small { display: block; }.check strong { font-size: .69rem; }.check small { margin-top: 2px; color: var(--muted); font-size: .62rem; line-height: 1.35; }.check > b { color: var(--teal); font-size: .63rem; text-transform: uppercase; }
.decision-bar { margin-top: 16px; padding-top: 15px; border-top: 1px solid var(--line); display: flex; align-items: center; gap: 12px; }
.decision-note { margin-right: auto; color: var(--muted); font-size: .66rem; line-height: 1.4; }
.decision-note strong { display: block; color: var(--ink); font-size: .7rem; }
.agent-path { margin-top:16px; padding:12px; display:grid; grid-template-columns:1fr auto 1fr auto 1fr; align-items:center; gap:9px; border:1px solid #dbe5f3; border-radius:9px; background:#f7faff; }.agent-path article { min-width:0; }.agent-path span,.agent-path strong,.agent-path small { display:block; }.agent-path span { color:var(--faint); text-transform:uppercase; letter-spacing:.07em; font-size:.62rem; }.agent-path strong { margin-top:4px; font-size:.72rem; }.agent-path small { margin-top:2px; color:var(--muted); font-size:.63rem; }.agent-path > i { color:var(--blue); font-style:normal; }.agent-path .agent-core { padding:9px; border-radius:8px; color:#fff; background:var(--nav-soft); }.agent-path .agent-core span,.agent-path .agent-core small { color:#b9cce8; }
.primary-button, .secondary-button { min-height: 38px; padding: 0 14px; border-radius: 8px; font-size: .75rem; font-weight: 750; }
.primary-button { border: 1px solid var(--blue); color: white; background: var(--blue); box-shadow: 0 5px 14px rgba(30,99,214,.18); }
.primary-button:hover { background: #1558c2; }
.primary-button:disabled { opacity: .45; cursor: not-allowed; }
.secondary-button { border: 1px solid var(--line); color: var(--ink); background: white; }

.section-heading { margin-bottom: 18px; display: flex; justify-content: space-between; align-items: center; gap: 15px; }
.section-heading h2 { margin: 4px 0 0; font-size: 1.45rem; letter-spacing: -.035em; }.updated { color: var(--faint); font-size: .72rem; }
.table-panel { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; min-width: 680px; }
th, td { padding: 14px 16px; border-bottom: 1px solid var(--line); text-align: left; font-size: .75rem; }
th { background: #f8fafc; color: var(--faint); text-transform: uppercase; letter-spacing: .07em; font-size: .62rem; }
td strong, td small { display:block; } td small { margin-top: 2px; color: var(--faint); font-size: .65rem; }
.analytics-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.big-stat { padding: 20px; }.big-stat span, .big-stat strong, .big-stat small { display:block; }.big-stat span { color:var(--muted); font-size:.76rem; }.big-stat strong { margin-top:12px; font-size:2rem; letter-spacing:-.05em; }.big-stat small { margin-top:5px; color:var(--teal); font-size:.68rem; }
.chart-panel { margin-top:14px; padding:20px; }.chart-title { display:flex; justify-content:space-between; }.chart-title h3 { margin:0 0 4px; font-size:.9rem; }.chart-title span { color:var(--muted); font-size:.7rem; }.chart-title > strong { color:var(--teal); font-size:1rem; }
.bar-chart { height:260px; margin-top:25px; display:grid; grid-template-columns:repeat(4,1fr); gap:28px; align-items:end; border-bottom:1px solid var(--line); }
.bar-chart div { height:100%; display:grid; grid-template-rows:1fr auto; align-items:end; position:relative; text-align:center; }.bar-chart i { height:var(--value); display:block; border-radius:7px 7px 0 0; background:linear-gradient(180deg,#4f8df3,var(--blue)); }.bar-chart span { position:absolute; bottom:calc(var(--value) + 8px); left:0; right:0; font-size:.7rem; font-weight:700; }.bar-chart small { padding:10px 0; color:var(--muted); font-size:.68rem; }
.policy-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }.policy-card { padding:18px; display:grid; grid-template-columns:40px 1fr auto; gap:13px; align-items:start; }.policy-icon { width:38px; height:38px; border-radius:10px; display:grid; place-items:center; color:var(--blue); background:var(--blue-soft); font-size:1.1rem; }.policy-card h3 { margin:1px 0 6px; font-size:.85rem; }.policy-card p { margin:0; color:var(--muted); font-size:.72rem; line-height:1.55; }
.orchestration-map { padding:24px; display:grid; grid-template-columns:1fr 70px 210px 70px 1fr; align-items:center; gap:4px; background:linear-gradient(180deg,#fff,#f7faff); }.map-column { display:grid; gap:8px; }.map-label { margin:0 3px 3px; color:var(--faint); text-transform:uppercase; letter-spacing:.08em; font-size:.66rem; font-weight:800; }.map-column article { padding:11px 12px; border:1px solid var(--line); border-radius:8px; background:#fff; }.map-column b,.map-column small { display:block; }.map-column b { font-size:.76rem; }.map-column small { margin-top:3px; color:var(--muted); font-size:.64rem; }.map-center { padding:20px 12px; border-radius:14px; text-align:center; color:#fff; background:linear-gradient(145deg,#132d5b,#145e78); box-shadow:0 14px 30px rgba(17,48,92,.2); }.map-center > span { width:38px;height:38px;margin:0 auto 10px;border-radius:11px;display:grid;place-items:center;background:#2d7ce3;font-weight:800; }.map-center strong,.map-center small,.map-center b { display:block; }.map-center strong { font-size:.9rem; }.map-center small { margin-top:5px; color:#b7d0e2; font-size:.64rem; }.map-center b { width:fit-content; margin:12px auto 0; padding:4px 7px; border-radius:10px; color:#94d8c4; background:rgba(39,180,139,.12); font-size:.6rem; }.map-lines { height:120px; display:flex; flex-direction:column; justify-content:space-around; }.map-lines i { display:block; height:1px; background:linear-gradient(90deg,#b7c4d7,var(--blue)); position:relative; }.map-lines i::after { content:""; position:absolute; right:0; top:-3px; width:6px; height:6px; border-top:1px solid var(--blue);border-right:1px solid var(--blue);transform:rotate(45deg); }.map-lines.outbound i { background:linear-gradient(90deg,var(--blue),#b7c4d7); }.network-cards { margin-top:14px; display:grid;grid-template-columns:repeat(3,1fr);gap:14px; }.connector-card { padding:16px; }.connector-head { display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center; }.connector-mark { width:36px;height:36px;border-radius:9px;display:grid;place-items:center;color:var(--blue);background:var(--blue-soft);font-weight:800; }.connector-head h3 { margin:0;font-size:.78rem; }.connector-head small { color:var(--muted);font-size:.62rem; }.connector-card dl { margin:14px 0 0;padding-top:12px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);gap:8px; }.connector-card dl div { min-width:0; }.connector-card dt { color:var(--faint);font-size:.6rem; }.connector-card dd { margin:4px 0 0;font-size:.68rem;font-weight:700; }.responsibility-strip { margin-top:14px;padding:17px 20px;display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:16px;align-items:center; }.responsibility-strip article { display:flex;gap:10px;align-items:flex-start; }.responsibility-strip article > span { flex:0 0 26px;width:26px;height:26px;border-radius:8px;display:grid;place-items:center;color:var(--blue);background:var(--blue-soft);font-size:.68rem;font-weight:800; }.responsibility-strip strong,.responsibility-strip small { display:block; }.responsibility-strip strong { font-size:.72rem; }.responsibility-strip small { margin-top:3px;color:var(--muted);font-size:.63rem;line-height:1.4; }.responsibility-strip > i { color:#9ba8bb;font-style:normal; }

dialog { width:min(590px,calc(100% - 28px)); padding:0; border:0; border-radius:14px; box-shadow:0 28px 80px rgba(10,20,42,.28); }
dialog::backdrop { background:rgba(7,15,32,.55); backdrop-filter:blur(3px); }
.dialog-card { padding:20px; }.dialog-head { display:flex; justify-content:space-between; gap:15px; padding-bottom:14px; border-bottom:1px solid var(--line); }.dialog-head h2 { margin:4px 0 0; font-size:1.15rem; }.close-button { width:34px; height:34px; border:1px solid var(--line); border-radius:8px; background:white; color:var(--muted); font-size:1.2rem; }
.offer-comparison { margin:16px 0; display:grid; grid-template-columns:1fr auto 1fr; gap:12px; align-items:center; }.offer-side { padding:13px; border-radius:9px; background:#f6f8fb; }.offer-side.recommended { background:var(--teal-soft); }.offer-side span,.offer-side strong,.offer-side small { display:block; }.offer-side span { color:var(--muted); font-size:.65rem; text-transform:uppercase; letter-spacing:.06em; }.offer-side strong { margin-top:6px; font-size:.83rem; }.offer-side small { margin-top:4px; color:var(--muted); font-size:.66rem; }.offer-arrow { color:var(--blue); font-weight:800; }
.message-preview { padding:13px 14px; border-left:3px solid var(--blue); border-radius:7px; background:var(--blue-soft); color:#25405f; font-size:.76rem; line-height:1.55; }.message-preview label { display:block; margin-bottom:7px; color:#526b8a; text-transform:uppercase; letter-spacing:.06em; font-size:.61rem; font-weight:800; }.message-preview textarea { width:100%; min-height:90px; resize:vertical; border:0; outline:0; color:inherit; background:transparent; line-height:inherit; }
.consent-note { margin:12px 0 0; color:var(--muted); font-size:.66rem; line-height:1.45; }.dialog-actions { padding-top:16px; display:flex; justify-content:flex-end; gap:8px; }
.toast { position:fixed; right:24px; bottom:24px; display:flex; align-items:center; gap:11px; width:min(360px,calc(100% - 32px)); padding:13px 15px; border-radius:10px; background:#0f2744; color:#fff; box-shadow:0 18px 50px rgba(5,17,38,.28); transform:translateY(130%); opacity:0; transition:.25s ease; z-index:30; }.toast.show { transform:translateY(0); opacity:1; }.toast > span { width:28px; height:28px; border-radius:50%; display:grid; place-items:center; background:#1d9b77; font-weight:800; }.toast strong,.toast small { display:block; }.toast strong { font-size:.78rem; }.toast small { margin-top:2px; color:#b6c7da; font-size:.66rem; }

@media (max-width:1080px) {
  .app-shell { grid-template-columns:210px minmax(0,1fr); }
  .metric-strip { grid-template-columns:repeat(2,1fr); }.metric-strip article:nth-child(2){border-right:0}.metric-strip article:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .work-grid { grid-template-columns:330px minmax(480px,1fr); overflow-x:auto; padding-bottom:4px; }
  .checks { grid-template-columns:1fr; }
  .ai-journey-grid { grid-template-columns:1fr; }.ai-decision-card { display:grid; grid-template-columns:1fr 1fr; gap:0 14px; }.ai-title,.ai-decision-card p { grid-column:1/-1; }
  .orchestration-map { grid-template-columns:1fr 50px 190px 50px 1fr; }.network-cards { grid-template-columns:1fr 1fr; }
}
@media (max-width:780px) {
  .app-shell { display:block; }.sidebar { position:fixed; left:-250px; width:240px; transition:left .2s ease; box-shadow:16px 0 50px rgba(0,0,0,.2); }.sidebar.open { left:0; }
  .mobile-menu { display:block; }.topbar { padding:0 16px; }.global-search { width:auto; flex:1; }.global-search kbd,.utc-clock { display:none; }
  main { padding:18px 16px 28px; }.work-grid { display:grid; grid-template-columns:1fr; overflow:visible; }.case-detail { min-width:0; }
  .policy-grid { grid-template-columns:1fr; }
  .orchestration-map { grid-template-columns:1fr; gap:12px; }.map-lines { height:20px; transform:rotate(90deg); }.map-center { max-width:260px; justify-self:center; }.network-cards { grid-template-columns:1fr; }.responsibility-strip { grid-template-columns:1fr; }.responsibility-strip > i { transform:rotate(90deg); justify-self:center; }
}
@media (max-width:560px) {
  .topbar { height:auto; min-height:70px; flex-wrap:wrap; padding:12px 14px; }.title-group { min-width:0; flex:1; }.global-search { order:5; flex-basis:100%; width:100%; }
  .metric-strip { grid-template-columns:1fr 1fr; }.metric-strip article { padding:13px; }.metric-strip strong { font-size:1.2rem; }
  .queue-toolbar { align-items:stretch; flex-direction:column; }.segmented { width:100%; }.select-wrap { align-self:flex-end; }
  .toolbar-filters { align-items:stretch; flex-direction:column; }.select-wrap { display:grid;grid-template-columns:80px 1fr;align-items:center;width:100%; }.select-wrap select { margin-left:0;width:100%; }
  .journey-summary { grid-template-columns:1fr 1fr; }.journey-line { grid-column:1/-1; grid-row:2; min-width:0; }.airport:last-child { justify-content:flex-end; }
  .alternative { grid-template-columns:18px 1fr; }.alt-saving { grid-column:2; text-align:left; display:flex; gap:5px; align-items:baseline; }
  .checks { grid-template-columns:1fr; }.decision-bar { align-items:stretch; flex-direction:column; }.decision-note { margin:0; }.decision-bar button { width:100%; }
  .analytics-grid { grid-template-columns:1fr; }.policy-card { grid-template-columns:36px 1fr; }.policy-card > .badge { grid-column:2; }
  .network-ribbon { padding:18px; border-radius:14px; }.network-topline { flex-direction:column; }.network-switch { width:100%; }.network-switch button { flex:1; min-height:38px; padding:7px 5px; }.network-panel { margin-top:15px; }.provider-row { gap:8px; }.provider-row article { grid-template-columns:30px 1fr; }.provider-row article > i { position:absolute; opacity:0; }.agent-hub { grid-template-columns:32px 1fr; }.agent-hub b { grid-column:2; width:fit-content; }.booking-flow { grid-template-columns:1fr; gap:8px; }.booking-flow article { min-height:0; display:grid; grid-template-columns:28px 1fr; gap:0 10px; }.booking-flow article strong { margin-top:1px; }.booking-flow article small { grid-column:2; }.booking-flow > i { transform:rotate(90deg); justify-self:center; }.network-health a { width:100%; margin-left:0; padding-top:2px; }
  .ai-journey-head { align-items:flex-start; flex-direction:column; }.reduction-summary { width:100%; flex-wrap:wrap; }.reduction-summary > b { margin-left:auto; }.ai-decision-card { display:block; }.flight-leg { grid-template-columns:38px 1fr; }.flight-leg > b { grid-column:2; }.connection-node { grid-template-columns:16px 1fr; }.protected-pill { grid-column:2; width:fit-content; }.decision-boundary { grid-template-columns:1fr; }.decision-boundary > i { transform:rotate(90deg); justify-self:center; }
  .agent-path { grid-template-columns:1fr; }.agent-path > i { transform:rotate(90deg);justify-self:center; }
}
