*{box-sizing:border-box}body{margin:0;font:16px/1.55 system-ui,sans-serif;background:#f5f4ef;color:#111;--role:#c8b899}.role-direction{--role:#008850}.role-production{--role:#087ca7}.role-individual{--role:#ad9568}header{background:#fff;padding:24px 5%;display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:4px solid var(--role);border-bottom:1px solid #d8d7d2}header b{font-size:24px;letter-spacing:-1px}header span{display:block;font-size:11px;letter-spacing:1px;font-weight:600;text-transform:uppercase}header form{display:inline;margin-left:18px}nav{padding:14px 5%;display:flex;gap:26px;background:#fff;border-bottom:1px solid #d8d7d2}nav a{color:#111;text-decoration:none;font-weight:650}nav a:hover{text-decoration:underline;text-decoration-color:#00dc77;text-underline-offset:7px}main{max-width:1180px;margin:40px auto;padding:0 24px;min-height:60vh}h1{font-size:clamp(32px,4vw,48px);line-height:1.08;letter-spacing:-1.8px;margin:10px 0 24px;font-weight:850}h2{font-size:24px;letter-spacing:-.7px}.eyebrow{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;font-weight:750}.button,button{display:inline-block;font:600 13px/1.4 system-ui,sans-serif;border:1px solid #111;background:#111;color:#fff;padding:11px 18px;border-radius:4px;cursor:pointer;text-decoration:none;text-align:center}.secondary{background:#fff;color:#111}.button:hover,button:hover{background:#333;color:#fff}.button:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #111;outline-offset:4px}label{display:block;font-weight:600;font-size:13px;margin-bottom:6px}input,select{font:inherit;padding:11px;width:100%;border:1px solid #aaa9a3;background:#fff;color:#111;border-radius:3px;min-height:44px}.panel,.notice{background:#fff;padding:28px;border:1px solid #d8d7d2;margin:24px 0}.panel{border-top:3px solid #00cf73;scroll-margin-top:20px}.notice{border-left:4px solid #f1d71f}.narrow{max-width:480px;margin:0 auto}.table-wrap{overflow-x:auto;border:1px solid #d8d7d2}table{width:100%;border-collapse:collapse;text-align:left;background:#fff}th,td{padding:17px;border-bottom:1px solid #deddd7;vertical-align:middle}th{font-size:12px;text-transform:uppercase;letter-spacing:.7px;background:#ecebe6}tbody tr:nth-child(even){background:#f3f2ed}tbody tr:last-child td{border-bottom:0}small{display:block;color:#62615a;font-size:12px;margin-top:4px}.filters{display:flex;align-items:end;gap:16px;border-top:3px solid #00c6da;padding:20px 0;margin-top:30px}.filters label{flex:1;margin:0}.filters label:first-child{flex:2}.filters input,.filters select{margin-top:7px}.muted{color:#62615a;font-size:13px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:20px 0}dt{font-size:12px;color:#62615a;font-weight:650;margin-top:18px}dd{margin:4px 0;overflow-wrap:anywhere}.preserve-lines{white-space:pre-wrap}.success{padding:15px 20px;border-left:4px solid #008850;background:#edf8f0}.errorlist{color:#9c2929}footer{padding:32px 5%;font-size:12px;color:#62615a;border-top:1px solid #d8d7d2}a{color:inherit}@media(max-width:640px){header{display:block}header>div{margin-top:16px;font-size:13px}main{padding:0 16px}.filters{display:block}.filters label{margin-bottom:16px}.form-grid{grid-template-columns:1fr}.panel{padding:20px}th,td{padding:12px}.button{white-space:nowrap}}

.sector-tabs{display:flex;gap:24px;border-bottom:1px solid #d8d7d2;margin:30px 0 12px;flex-wrap:wrap}.sector-tabs a{padding:12px 3px;text-decoration:none;font-weight:700}.sector-tabs a[aria-current]{border-bottom:4px solid #111}.sector-flights{border-top:4px solid #00c6da}.sector-lodging{border-top:4px solid #f300a5}.sector-meals{border-top:4px solid #ead500}.check-label{display:flex;align-items:center;gap:8px}.check-label input{width:18px;min-height:18px}.sector-flights table{min-width:1050px}.sector-lodging table,.sector-meals table{min-width:850px}nav{flex-wrap:wrap}

textarea{font:inherit;width:100%;padding:11px;border:1px solid #aaa9a3;border-radius:3px;resize:vertical}input[type=checkbox]{width:18px;min-height:18px}.receipt-sheet{max-width:794px;padding:42px 48px;background:white;border:1px solid #d8d7d2;margin:28px auto}.receipt-block{font:14px/1.5 Arial,sans-serif;margin:8px 0;overflow-wrap:anywhere}.receipt-title{font-size:23px;font-weight:700}.receipt-heading{font-weight:700;margin-top:20px}.receipt-small{font-size:12px;color:#555}.receipt-signature{padding-top:85px}.actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.tracking-actions{display:grid;gap:24px;margin-top:28px}.tracking-actions form{padding-top:24px;border-top:1px solid #deddd7}.tracking-actions button{margin-top:10px}@media(max-width:640px){.receipt-sheet{padding:24px}.receipt-title{font-size:20px}}

/* Phone layout: keep each record together and its field labels visible. */
@media screen and (max-width:640px){
  header{padding:18px 16px}
  header>div{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
  header form{margin:0}
  body>nav{padding:8px 12px;gap:4px 8px}
  body>nav a{display:flex;align-items:center;min-height:44px;padding:8px;font-size:14px}
  main{margin:24px auto;min-width:0}
  h1{font-size:32px;overflow-wrap:anywhere}
  h2{font-size:22px;overflow-wrap:anywhere}
  .panel,.notice{padding:18px;min-width:0}
  .button,button{min-height:44px;max-width:100%;white-space:normal;overflow-wrap:anywhere}
  .actions{align-items:stretch;gap:10px}
  .actions>.button,.actions>button{flex:1 1 140px}
  .filters button{width:100%}
  input,select,textarea{font-size:16px;max-width:100%;min-width:0}
  input[type=file]{font-size:14px}
  input[type=file]::file-selector-button{min-height:40px;margin-right:8px}
  .check-label{min-height:44px}
  fieldset{min-width:0}
  .sector-tabs{gap:8px;margin-top:24px}
  .sector-tabs a{flex:1;text-align:center;font-size:14px;padding:12px 4px}
  .mobile-list{border:0;overflow:visible}
  .mobile-list table{display:block;min-width:0;width:100%;background:transparent}
  .mobile-list thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .mobile-list tbody{display:block}
  .mobile-list tbody tr{display:block;margin-bottom:16px;border:1px solid #d8d7d2;border-top:3px solid #111;background:#fff}
  .mobile-list tbody tr:nth-child(even){background:#f3f2ed}
  .mobile-list td{display:block;padding:12px 16px;border:0;overflow-wrap:anywhere}
  .mobile-list td+td{border-top:1px solid #e8e7e1}
  .mobile-list td[data-label]::before{content:attr(data-label);display:block;color:#62615a;font-size:12px;font-weight:650;margin-bottom:4px}
  .mobile-list td:first-child strong{font-size:18px}
  .mobile-list td a:not(.button){display:inline-block;min-height:44px;padding:10px 0}
  .sector-flights.mobile-list tbody tr{border-top-color:#00c6da}
  .sector-lodging.mobile-list tbody tr{border-top-color:#f300a5}
  .sector-meals.mobile-list tbody tr{border-top-color:#ead500}
  .receipt-sheet{padding:20px;max-width:100%}
  .preserve-lines{overflow-wrap:anywhere}
}
.people-choices{border:1px solid #d8d7d2;min-width:0;padding:16px}.people-choices label{display:flex;align-items:center;gap:10px;min-height:44px}.people-choices input{flex:0 0 18px}.stay-timeline{margin-top:20px}.stay-timeline table{min-width:1600px;table-layout:fixed}.stay-timeline th:first-child{width:250px;position:sticky;left:0;z-index:1;background:#f5f4ef}.stay-timeline td,.stay-timeline th{padding:8px 4px;border-right:1px solid #ddd;font-size:12px}.stay-timeline .occupied{background:#ed83cf;border-block:6px solid white}.movement{padding:16px 0;border-bottom:1px solid #ddd}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}

/* Operational controls and read-only role preview. */
.profile-preview-tools,.profile-preview-banner{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:12px max(20px,4vw);border-bottom:1px solid #ddd}.profile-preview-tools{justify-content:flex-end;background:#fafaf7}.profile-preview-banner{background:#fff9cf;border-top:3px solid #111}.profile-preview-banner span{font-size:12px}.profile-preview-banner form{margin-left:auto}.profile-preview-tools form,.profile-preview-banner form{margin-top:0;margin-bottom:0}.actions [aria-current=page]{background:#111;color:#fff}.logistics-grid{max-height:75vh;border:1px solid #d8d7d2}.logistics-grid table{border-collapse:separate;border-spacing:0}.logistics-grid th,.logistics-grid td{border-right:1px solid #ddd;border-bottom:1px solid #ddd}.logistics-grid thead th{position:sticky;top:0;z-index:2;background:#ecebe6;white-space:nowrap}.logistics-grid tr>th:first-child{position:sticky;left:0;z-index:1;background:#f6f5f1;min-width:180px;max-width:220px;text-transform:none;letter-spacing:0}.logistics-grid thead th:first-child{z-index:3}.logistics-grid th small{display:block;font-weight:400;margin:6px 0;line-height:1.4}.logistics-grid th a{display:inline-block;padding:8px 0;font-size:12px;font-weight:500}.flight-grid td{min-width:210px;max-width:240px;vertical-align:top}.flight-entry{padding:12px;background:#eef8f1;border-left:3px solid #00a768;overflow-wrap:anywhere}.flight-entry+.flight-entry{margin-top:12px}.flight-entry p{margin:8px 0;line-height:1.4}.flight-entry a{display:inline-block;padding:6px 0}.flight-entry small{font-size:11px;color:#555}.flight-grid tbody tr:nth-child(2) .flight-entry{background:#eef9fb;border-color:#00aac6}@media(max-width:640px){.profile-preview-tools{justify-content:flex-start}.profile-preview-banner form{margin-left:0}.profile-preview-tools .button,.profile-preview-tools button{font-size:12px;padding:10px}.logistics-grid tr>th:first-child{min-width:130px;max-width:150px}.logistics-grid{max-height:70vh}}

.flight-grid .flight-entry.flight-from-salvador{background:#fcecf7;border-left-color:#d60095}.flight-origin-label{display:block;font-size:11px;font-weight:700;color:#8b0060;margin-bottom:6px}.flight-color-key{display:flex;flex-wrap:wrap;gap:10px 20px;margin:12px 0 18px;font-size:12px}.flight-color-key span{display:flex;align-items:center;gap:7px}.flight-color-key span:before{content:'';display:block;width:10px;height:10px;border-radius:2px}.flight-color-key .key-salvador:before{background:#d60095}.flight-color-key .key-departure:before{background:#00a768}.flight-color-key .key-arrival:before{background:#00aac6}

/* Shared route semantics in list and grid. */
.sector-flights tr.flight-route-outbound,.flight-grid tbody tr .flight-entry.flight-route-outbound{background:#fcecf7;border-left:3px solid #d60095}.sector-flights tr.flight-route-inbound,.flight-grid tbody tr .flight-entry.flight-route-inbound{background:#eef9fb;border-left:3px solid #00aac6}.sector-flights tr.flight-route-other,.sector-flights tr.flight-route-unknown,.flight-grid tbody tr .flight-entry.flight-route-other,.flight-grid tbody tr .flight-entry.flight-route-unknown{background:#f3f2ed;border-left:3px solid #88877e}.flight-route-inbound .flight-origin-label{color:#00677c}.flight-route-other .flight-origin-label,.flight-route-unknown .flight-origin-label{color:#59584f}.flight-color-key .key-other:before{background:#88877e}.sector-flights tr.flight-route-outbound>td:first-child{border-left:3px solid #d60095}.sector-flights tr.flight-route-inbound>td:first-child{border-left:3px solid #00aac6}

.finance-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:24px 0}.finance-metrics article{background:#fff;border:1px solid #dddcd6;border-top:4px solid #00ce78;padding:20px;display:flex;flex-direction:column;gap:12px}.finance-metrics article:nth-child(2){border-top-color:#e600bc}.finance-metrics article:nth-child(3){border-top-color:#00bed6}.finance-metrics article:nth-child(4){border-top-color:#e7d900}.finance-metrics strong{font-size:clamp(20px,2.3vw,30px);font-variant-numeric:tabular-nums}.finance-metrics small{line-height:1.5;color:#57564e}.finance-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}.finance-bar{display:grid;grid-template-columns:200px 1fr 160px;align-items:center;gap:16px;margin:16px 0}.finance-bar>div{height:12px;background:#efeee9}.finance-bar i{display:block;background:#00a96c;height:100%}.finance-bar b{text-align:right}.finance-table table{min-width:900px}.finance-table td small{max-width:350px}.finance-table td{vertical-align:top}@media(max-width:1000px){.finance-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.finance-metrics{grid-template-columns:1fr}.finance-bar{grid-template-columns:1fr 130px}.finance-bar>span{grid-column:1/-1}}

/* Registry filters wrap without squeezing the classification labels. */
.registry-filters{flex-wrap:wrap}.registry-filters label{flex:1 1 240px;min-width:0}.registry-filters label:first-child{flex:2 1 320px}
