:root{color-scheme:dark;--bg:#101b29;--card:#1b2a3a;--muted:#aec0d1;--accent:#ffb86b}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#f4f6fa;font:16px/1.6 system-ui,sans-serif}header,main,footer{max-width:1160px;margin:auto;padding:24px}header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #344357}.brand{font-size:26px;letter-spacing:3px;color:white;text-decoration:none;font-weight:850}.brand span{font-size:12px;display:block;letter-spacing:4px}nav{display:flex;gap:20px;align-items:center;flex-wrap:wrap}nav form{margin-left:auto}a{color:var(--accent);text-underline-offset:4px}h1{font-size:clamp(32px,5vw,58px);line-height:1.12;letter-spacing:-1.5px;margin:16px 0}h2{margin:8px 0;font-size:25px}.hero{padding:36px 0 24px}.eyebrow,small{font-size:11px;letter-spacing:1.5px;color:var(--muted)}.hero p,footer{color:var(--muted)}.card{background:var(--card);border:1px solid #344357;border-radius:16px;padding:24px;margin:20px 0}.card-top,.card-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.badge{border:1px solid #6c6655;border-radius:20px;padding:4px 10px;font-size:10px;letter-spacing:1px;color:var(--accent)}.segment{display:grid;grid-template-columns:1fr 1.3fr 1.3fr;gap:20px;padding:20px 0}.segment p{margin:4px 0}.arrow{color:var(--accent)}.connection{border-block:1px dashed #566477;padding:10px;color:var(--muted)}button{background:var(--accent);color:#17202b;border:0;border-radius:8px;padding:11px 17px;cursor:pointer;font:inherit;font-weight:650}button:hover{background:#ffd09d}input,select{display:block;width:100%;padding:12px;border:1px solid #64748b;border-radius:7px;background:#101b29;color:white;font:inherit}label{display:block;margin:12px 0}form{margin:12px 0}.login{max-width:460px}.filters{display:flex;gap:12px;align-items:end}.filters label{flex:1;margin:0}.correction{display:grid;grid-template-columns:1fr 1fr;gap:12px;border-top:1px solid #64748b;padding:16px 0}.correction p,.correction h3{grid-column:1/-1}summary{cursor:pointer;padding:10px 0}footer{font-size:13px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid white;outline-offset:4px}@media(max-width:700px){header,main,footer{padding:16px}header>.badge{display:none}nav{gap:12px;font-size:14px}nav form{margin-left:0}.segment{grid-template-columns:1fr;gap:8px}.card{padding:18px}.correction{grid-template-columns:1fr}.filters{align-items:stretch;flex-direction:column}}

/* Travel Desk: readable itineraries, review comparisons and quiet history. */
.muted,.itinerary-meta{color:var(--muted)}.desk-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.summary-tile{display:flex;flex-direction:column;text-decoration:none;color:#f4f6fa;background:var(--card);border:1px solid #344357;border-radius:12px;padding:20px}.summary-tile strong{font-size:36px;line-height:1.3;color:var(--accent)}.summary-tile small{letter-spacing:0;margin-top:6px}.desk-section{margin:36px 0;scroll-margin-top:20px}.travelers{font-size:23px;margin:8px 0}.desk-route{font-size:28px;font-weight:750;letter-spacing:1px;margin:8px 0}.itinerary-meta{margin:4px 0 16px}.review-card{border-left:3px solid var(--accent)}.booking-actions{display:flex;gap:20px;align-items:end;flex-wrap:wrap;margin:16px 0}.booking-actions form:first-child{flex:1;min-width:200px}.secondary{background:transparent;border:1px solid #8193a6;color:#f4f6fa}.secondary:hover{background:#304155}.history{border-top:1px solid #455368;margin-top:20px;padding-top:8px}.revision{padding:8px 0}.revision-review{padding:16px 0;border-top:1px solid #455368}.comparison-scroll{overflow-x:auto;border:1px solid #455368;border-radius:10px}.comparison{border-collapse:collapse;width:100%;font-size:14px;table-layout:fixed}.comparison caption{text-align:left;padding:12px;background:#101b29;font-weight:650}.comparison th,.comparison td{padding:12px;text-align:left;vertical-align:top;border-bottom:1px solid #455368;overflow-wrap:anywhere}.comparison thead th{background:#101b29}.comparison th:first-child{width:24%}.comparison .changed{background:#423929}.change-label{display:block;color:var(--accent);font-size:11px;text-transform:uppercase;letter-spacing:1px}.comparison .unchanged{color:var(--muted)}.import-actions{display:flex;align-items:end;gap:16px;flex-wrap:wrap}.import-actions label{flex:1;min-width:180px;margin-bottom:0}.review-error{border-left:3px solid var(--accent);padding-left:12px}.empty-state{padding:24px;border:1px dashed #64748b;border-radius:12px;color:var(--muted)}.audit-history p{overflow-wrap:anywhere}.segment small{letter-spacing:.5px}
@media(max-width:700px){.desk-summary{grid-template-columns:1fr}.summary-tile{padding:16px}.summary-tile strong{font-size:30px}.comparison{min-width:560px}.desk-route{font-size:24px}.booking-actions{display:block}.booking-actions form:first-child{min-width:0}.card-top .eyebrow{max-width:100%}.travelers{overflow-wrap:anywhere}}

.import-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:24px;align-items:start}.pdf-pane{position:sticky;top:12px;min-width:0}.pdf-pane iframe{width:100%;height:70vh;border:1px solid #455368;border-radius:10px;background:#fff}.pdf-pane pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:400px;overflow:auto;font-size:13px}.draft-pane{min-width:0}.import-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.import-fields label{min-width:0}.import-passenger,.import-segment{border:1px solid #526176;border-radius:10px;margin:18px 0;padding:16px;min-width:0}.flight-passengers{border:0;padding:0;margin:16px 0}.check{display:flex;align-items:start;gap:10px;margin:16px 0}.check input{width:20px;min-width:20px;height:20px;margin-top:3px}.notice{background:#34422f;border:1px solid #819e69;border-radius:10px;padding:16px}.validation-errors{border-left:3px solid var(--accent)}.approval-box{border:1px solid var(--accent)}button:disabled{opacity:.45;cursor:not-allowed}.hero h1{overflow-wrap:anywhere}.upload-form{display:flex;align-items:end;gap:16px;flex-wrap:wrap}.upload-form label{flex:1;min-width:200px}.unsaved-message{color:var(--accent)}
@media(max-width:850px){.import-layout{grid-template-columns:1fr}.pdf-pane{position:static}.pdf-pane iframe{height:50vh}.import-fields{grid-template-columns:1fr}.check{font-size:14px}}

.pdf-image{max-height:65vh;overflow:auto;background:#fff;border:1px solid #526176;border-radius:10px}.pdf-image img{display:block;width:100%;height:auto;color:#111}.pdf-pages{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:12px 0;font-size:13px}

.review-toolbar{position:sticky;top:0;z-index:2;background:var(--bg);border-bottom:1px solid #455368;padding:12px 0;display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:20px}#review-warnings{scroll-margin-top:100px}

/* Private parser review: retain the existing dark palette. */
.missing-field { border-color: #e9b96b; box-shadow: inset 3px 0 #e9b96b; }
.reparse-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.reparse-columns pre { white-space: pre-wrap; overflow-wrap: anywhere; }
@media (max-width: 1000px) { .reparse-columns { grid-template-columns: 1fr; } }
.merge-conflict { background: rgba(233,185,107,.10); }
.merge-conflict th { border-left: 3px solid #e9b96b; }
.merge-form td { overflow-wrap: anywhere; }

/* Summary-first confirmation review. Advanced controls stay collapsed. */
.simple-review { align-items: start; }
.itinerary-card, .traveler-card { border: 1px solid var(--border, #304153); border-radius: 14px; padding: 1.15rem; margin: 0 0 1rem; background: #142232; min-width: 0; }
.itinerary-card legend, .traveler-card legend { padding: 0 .4rem; font-weight: 700; }
.itinerary-stops { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.stop-time { font-size: 1.12rem; font-weight: 650; margin: .4rem 0; }
.flight-editor > summary, .traveler-card details > summary { color: #c6d9eb; padding: .7rem 0; cursor: pointer; font-weight: 600; }
.advanced-details { padding: .5rem 0; margin-top: 1rem; }
.inline-issue { color: #f1c581; border-left: 3px solid #e9b96b; padding-left: .7rem; }
.date-decision, .decision-card { border-left: 3px solid #e9b96b; padding-left: .8rem; }
.review-confirmation { font-size: 1.05rem; }
.review-actions { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1rem; }
#publish-button { font-size: 1.08rem; padding: .85rem 1.3rem; }
@media (max-width: 600px) { .itinerary-stops { grid-template-columns: 1fr; gap: .4rem; } .review-actions button { width: 100%; } }
.review-hero { padding: 12px 0 18px; }
.review-hero h1 { font-size: clamp(28px,3vw,38px); letter-spacing: -.5px; margin: 8px 0; }
.review-hero p { margin: 8px 0; }
.simple-review .traveler-card { padding: .6rem 1rem; margin: .7rem 0; }
@media (max-width: 850px) { .simple-review .draft-pane { order: 1; } .simple-review .pdf-pane { order: 2; } }

/* Compact PDF review: keep evidence and approval within reach. */
.simple-review { gap: 18px; }
.simple-review .approval-box { position: sticky; top: 8px; z-index: 3; background: #1b2a3a; padding: 12px 16px; margin: 0 0 12px; box-shadow: 0 4px 16px #0006; }
.simple-review .approval-box p { margin: 6px 0; font-size: .87rem; }
.simple-review .review-confirmation { font-size: .94rem; margin: 8px 0; }
.simple-review .review-actions { margin: 6px 0; }
.simple-review #publish-button { padding: .6rem 1rem; font-size: 1rem; }
.simple-review .itinerary-card { padding: 10px 14px; margin: 0 0 12px; scroll-margin-top: 260px; }
.simple-review .itinerary-card h3 { margin: 4px 0; font-size: 1.25rem; }
.simple-review .itinerary-card p { margin: 5px 0; }
.simple-review .stop-time { font-size: 1rem; }
.simple-review .flight-editor > summary { padding: 5px 0; }
.simple-review .passenger-summary, .simple-review .booking-details { padding: 12px 14px; margin: 10px 0; }
.simple-review .date-decision { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 8px 0; }
.simple-review .date-decision label { flex: 1; min-width: 180px; margin: 0; font-size: .9rem; }
.simple-review .date-decision p { flex-basis: 100%; font-size: .8rem; }
.proposed-value { color: #f1c581; }
.proposed-value small { display: block; font-weight: 400; }
.confirm-value { display: none; }
.review-enhanced .confirm-value { display: inline-block; }
.simple-review .is-confirmed { border-color: #819e69; }
.approval-errors { max-height: 100px; overflow: auto; font-size: .85rem; }
@media (min-width: 740px) and (max-width: 1100px) {
  .simple-review { grid-template-columns: minmax(0, .95fr) minmax(0, 1.15fr); }
  .simple-review .pdf-pane { position: sticky; top: 8px; order: 0; }
  .simple-review .draft-pane { order: 1; }
  .simple-review .itinerary-stops { grid-template-columns: 1fr; gap: 4px; }
  .simple-review .card-top { flex-wrap: wrap; }
  .simple-review .pdf-image { max-height: 72vh; }
}
@media (max-width: 739px) {
  .simple-review { grid-template-columns: 1fr; }
  .simple-review .approval-box { top: 0; }
}
@media (max-height: 600px) { .simple-review .approval-box { position: static; } }
.simple-review .pdf-pane pre.email-source { max-height: 70vh; overflow: auto; padding: 16px; border: 1px solid #526176; border-radius: 10px; background: #142232; font: inherit; font-size: .9rem; line-height: 1.5; }
.audit-entry { white-space: pre-wrap; overflow-wrap: anywhere; }
.source-label { font-size: .85rem; }
.flight-travelers { display: flex; flex-wrap: wrap; gap: 12px 24px; list-style: none; padding: 0; margin-bottom: 0; }
.flight-travelers li { display: flex; flex-direction: column; gap: 4px; }
.flight-travelers a { padding: 6px 0; }
.conflicting-schedule + .conflicting-schedule { border-top: 1px solid #526176; margin-top: 20px; padding-top: 12px; }
