:root{
  --navy:#17384b;
  --navy-2:#244b5e;
  --teal:#2c7775;
  --teal-2:#e7f2f0;
  --teal-3:#d8ece9;
  --ink:#1f2f36;
  --muted:#697980;
  --line:#dce4e6;
  --bg:#f4f6f5;
  --card:#ffffff;
  --warm:#f6f1e9;
  --high:#a24d43;
  --medium:#9a742d;
  --ok:#3f715e;
  --shadow:0 8px 28px rgba(22,54,69,.08);
  --radius:16px;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
button,input,textarea{font:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
.app-shell{min-height:100vh}
.topbar{height:70px;background:var(--navy);color:white;display:flex;align-items:center;padding:0 28px;gap:20px;position:sticky;top:0;z-index:20;box-shadow:0 2px 14px rgba(9,31,43,.16)}
.brand{display:flex;align-items:center;gap:12px;min-width:255px}
.brand-mark{width:34px;height:34px;border-radius:11px;background:linear-gradient(135deg,#5ca9a3,#d2e6df);display:grid;place-items:center;color:var(--navy);font-weight:800;box-shadow:inset 0 0 0 1px rgba(255,255,255,.4)}
.brand-title{font-weight:750;letter-spacing:.1px}.brand-sub{font-size:12px;color:#b9ced7;margin-top:2px}
.topbar-spacer{flex:1}.topbar-pill{border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:7px 11px;font-size:12px;color:#dbe8ed}
.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e6f0ee;color:var(--navy);font-size:12px;font-weight:800}
.layout{display:grid;grid-template-columns:210px minmax(0,1fr);min-height:calc(100vh - 70px)}
.sidebar{padding:24px 18px;border-right:1px solid var(--line);background:#fbfcfb}
.nav-btn{width:100%;padding:11px 12px;border-radius:10px;border:0;background:transparent;color:#4d5f67;text-align:left;display:flex;align-items:center;gap:9px;margin-bottom:6px;font-weight:650;font-size:14px}
.nav-btn.active,.nav-btn:hover{background:#e9f1f0;color:var(--navy)}
.nav-dot{width:7px;height:7px;border-radius:50%;background:#8ca8a9}.nav-btn.active .nav-dot{background:var(--teal)}
.sidebar-note{margin-top:28px;padding:12px;border-radius:12px;background:#f1f4f3;color:#66777c;font-size:12px;line-height:1.45}
.main{padding:34px 42px 70px;max-width:1240px;width:100%;margin:0 auto}
.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:26px}
.eyebrow{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:var(--teal);margin-bottom:7px}
h1{font-size:30px;line-height:1.12;margin:0;color:var(--navy);letter-spacing:-.02em}h2{font-size:20px;color:var(--navy);margin:0 0 14px}h3{font-size:16px;color:var(--navy);margin:0 0 8px}
.subhead{margin-top:8px;color:var(--muted);line-height:1.55;max-width:780px}
.btn{border:0;border-radius:10px;padding:11px 15px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.15s;background:white;color:var(--navy);box-shadow:inset 0 0 0 1px var(--line)}
.btn:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(28,61,75,.10),inset 0 0 0 1px #cbd7d9}.btn.primary{background:var(--teal);color:white;box-shadow:none}.btn.primary:hover{background:#236b69}.btn.dark{background:var(--navy);color:white;box-shadow:none}.btn.small{padding:8px 10px;font-size:12px}.btn.ghost{background:transparent;box-shadow:none;color:#5f747c}.btn.danger-soft{background:#f7ecea;color:#8c4c45;box-shadow:none}
.grid{display:grid;gap:18px}.grid.two{grid-template-columns:1fr 1fr}.grid.three{grid-template-columns:repeat(3,1fr)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card-pad{padding:20px}.card.flat{box-shadow:none}
.demo-band{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(115deg,#e7f2f0,#f7f4ee);border:1px solid #d7e4e1;border-radius:16px;padding:18px 20px;margin-bottom:24px}.demo-actions{display:flex;gap:8px;flex-wrap:wrap}.demo-label{font-weight:800;color:var(--navy)}.demo-copy{font-size:13px;color:#65777e;margin-top:4px}
.check-list{display:grid;gap:12px}.check-row{padding:17px 18px;display:grid;grid-template-columns:minmax(180px,1.3fr) minmax(220px,1.8fr) 120px 135px 90px;align-items:center;gap:16px;background:#fff;border:1px solid var(--line);border-radius:14px}.check-row:hover{border-color:#b9cccf;box-shadow:0 7px 18px rgba(25,57,70,.06)}
.name{font-weight:800;color:var(--navy)}.micro{font-size:12px;color:var(--muted);line-height:1.45}.trip-name{font-weight:700;font-size:14px}.status-chip,.priority-chip,.evidence-chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 9px;font-weight:800;font-size:11px;letter-spacing:.015em;white-space:nowrap}.status-chip.completed{background:#e7f1ed;color:#3d6b5a}.status-chip.review{background:#f5eee1;color:#82662c}.status-chip.waiting{background:#eef1f2;color:#69777c}.priority-chip.high{background:#f5e9e6;color:#8a4a42}.priority-chip.medium-high{background:#f5eee2;color:#806328}.priority-chip.medium{background:#f4f0e5;color:#76652f}.evidence-chip{background:#eef4f3;color:#4a6e6b}
.section{margin-top:26px}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.section-meta{color:var(--muted);font-size:12px}
.kpi-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0 24px}.kpi{background:white;border:1px solid var(--line);border-radius:14px;padding:16px}.kpi-num{font-size:24px;font-weight:850;color:var(--navy);margin-bottom:2px}.kpi-label{font-size:12px;color:var(--muted)}
.upload-zone{border:1.5px dashed #aebfc1;border-radius:16px;background:#fafcfb;padding:28px;text-align:center;transition:.2s}.upload-zone:hover{border-color:var(--teal);background:#f3f8f7}.upload-icon{width:48px;height:48px;border-radius:14px;background:var(--teal-2);color:var(--teal);display:grid;place-items:center;margin:0 auto 12px;font-size:22px}.file-input{display:none}.file-cards{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.file-card{padding:10px 11px;border:1px solid var(--line);border-radius:10px;background:white;min-width:150px;text-align:left}.file-card .file-name{font-size:12px;font-weight:750;color:var(--navy)}
.field{display:grid;gap:7px;margin-bottom:15px}.field label{font-size:12px;font-weight:800;color:#53666d}.input,.textarea{width:100%;border:1px solid #cfdadd;border-radius:10px;padding:11px 12px;background:white;color:var(--ink);outline:none}.input:focus,.textarea:focus{border-color:#75a5a2;box-shadow:0 0 0 3px rgba(44,119,117,.10)}.textarea{min-height:120px;resize:vertical}
.snapshot{background:#f8faf9;border:1px solid var(--line);border-radius:14px;padding:16px}.snapshot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.snapshot-item span{display:block;color:var(--muted);font-size:11px;margin-bottom:4px}.snapshot-item strong{font-size:13px;color:var(--navy)}
.traveler-row{display:grid;grid-template-columns:1fr 1.35fr auto;gap:10px;align-items:end;margin-bottom:10px}
.stepbar{display:flex;gap:6px;align-items:center}.stepbar i{height:4px;border-radius:999px;background:#dfe7e7;flex:1}.stepbar i.done{background:var(--teal)}
.status-board{display:grid;grid-template-columns:1.15fr .85fr;gap:20px}.timeline{display:grid;gap:0}.timeline-item{position:relative;padding:0 0 22px 28px}.timeline-item:before{content:"";position:absolute;left:7px;top:8px;bottom:-4px;width:1px;background:#d6e1e1}.timeline-item:last-child:before{display:none}.timeline-dot{position:absolute;left:0;top:4px;width:15px;height:15px;border-radius:50%;border:3px solid white;background:var(--teal);box-shadow:0 0 0 1px #b8cdcd}.timeline-dot.muted{background:#b7c1c4}
.link-box{display:flex;align-items:center;gap:8px;background:#f5f7f7;border:1px solid var(--line);border-radius:10px;padding:9px 10px;overflow:hidden}.link-box code{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;color:#4f656d}
.relation-card{background:var(--teal-2);border:1px solid #c8dfdc;border-radius:14px;padding:16px}.relation-row{display:grid;grid-template-columns:105px 1fr;gap:10px;padding:8px 0;border-bottom:1px solid rgba(44,119,117,.12)}.relation-row:last-child{border-bottom:0}.relation-row strong{font-size:12px;color:var(--navy)}.relation-row span{font-size:12px;color:#526b70;line-height:1.45}
.switch-row{display:flex;gap:12px;align-items:flex-start;margin-top:14px;padding-top:13px;border-top:1px solid rgba(44,119,117,.17)}.switch{width:42px;height:24px;border:0;border-radius:999px;background:#b8c7c8;position:relative;flex:0 0 auto;margin-top:1px}.switch:after{content:"";position:absolute;width:18px;height:18px;top:3px;left:3px;background:white;border-radius:50%;transition:.18s;box-shadow:0 1px 4px rgba(0,0,0,.18)}.switch.on{background:var(--teal)}.switch.on:after{left:21px}
.results-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:20px}.result-list{display:grid;gap:14px}.result-card{background:white;border:1px solid var(--line);border-radius:15px;overflow:hidden}.result-head{display:flex;gap:14px;align-items:flex-start;padding:16px 17px 13px}.result-index{width:30px;height:30px;border-radius:9px;background:#eef4f3;color:var(--teal);display:grid;place-items:center;font-size:12px;font-weight:850;flex:0 0 auto}.result-main{flex:1}.result-title{font-weight:850;color:var(--navy);font-size:16px}.result-segment{font-size:12px;color:var(--muted);margin-top:3px}.result-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.state-btn{border:1px solid #d5dfe1;background:white;color:#687a80;border-radius:8px;padding:7px 8px;font-size:11px;font-weight:800}.state-btn.active{background:var(--navy);color:white;border-color:var(--navy)}.state-btn.secondary.active{background:#6b7f85;border-color:#6b7f85}.state-btn.handled.active{background:var(--ok);border-color:var(--ok)}
.result-detail{border-top:1px solid #edf1f2;background:#fbfcfc;padding:14px 17px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.detail-block label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.07em;font-weight:850;color:#76888e;margin-bottom:5px}.detail-block p{margin:0;font-size:12px;line-height:1.55;color:#465c64}.detail-wide{grid-column:1/-1}.source-line{margin-top:8px;font-size:11px;color:#718389}
.feedback{display:flex;align-items:center;gap:6px;padding:10px 17px;border-top:1px solid #edf1f2}.feedback span{font-size:11px;color:#7a8b91;margin-right:4px}.feedback button{border:0;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:800;background:#f0f3f3;color:#62767d}.feedback button.active{background:#dceae7;color:#35645b}
.empty-state{padding:30px;border:1px solid var(--line);border-radius:15px;background:white;text-align:center}.empty-icon{width:44px;height:44px;border-radius:50%;background:#e7f1ed;color:#4c7b69;display:grid;place-items:center;margin:0 auto 10px;font-weight:900}
.accounted{display:grid;gap:8px}.accounted-item{display:flex;gap:10px;padding:10px 11px;border-radius:10px;background:#f7faf8;color:#4e6465;font-size:12px;line-height:1.4}.checkmark{color:var(--ok);font-weight:900}
.side-card{background:white;border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:14px}.side-card p{font-size:12px;color:var(--muted);line-height:1.55;margin:6px 0 12px}
.summary-paper{background:#fff;border:1px solid #dce2e2;border-radius:18px;box-shadow:0 18px 40px rgba(18,48,61,.08);overflow:hidden;max-width:870px;margin:auto}.summary-cover{padding:32px 38px 24px;background:linear-gradient(135deg,#17384b,#28576a);color:white}.summary-cover .prepared{font-size:13px;color:#d3e2e7}.summary-cover h1{color:white;margin-top:8px;font-size:28px}.summary-cover .tripline{margin-top:7px;color:#d6e3e6;font-size:13px}.summary-body{padding:30px 38px 38px}.summary-section{padding:0 0 23px;margin-bottom:23px;border-bottom:1px solid #e4e9e9}.summary-section:last-child{border-bottom:0;margin-bottom:0}.summary-section h2{font-size:16px;display:flex;align-items:center;gap:8px}.summary-section p,.summary-section li{font-size:14px;line-height:1.65;color:#465a61}.summary-section ol,.summary-section ul{padding-left:20px;margin:8px 0 0}.summary-callout{border-left:4px solid var(--teal);background:#f0f7f5;padding:13px 15px;border-radius:0 10px 10px 0}.summary-powered{font-size:11px;color:#87959a;margin-top:26px;text-align:right}
.crm-box{background:#142f3e;color:#e7f0f2;border-radius:15px;padding:22px;font:13px/1.7 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap;min-height:260px}.crm-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.traveler-shell{min-height:100vh;background:linear-gradient(#f1f7f6,#f7f6f2);padding:18px}.traveler-top{max-width:650px;margin:0 auto 18px;display:flex;justify-content:space-between;align-items:center}.agency-brand{font-weight:850;color:var(--navy)}.powered{font-size:11px;color:#839296}.form-card{max-width:650px;margin:0 auto;background:white;border:1px solid #dfe6e5;border-radius:20px;box-shadow:0 18px 44px rgba(20,53,65,.09);padding:28px}.form-progress{display:flex;align-items:center;gap:12px;margin-bottom:26px}.form-progress strong{font-size:12px;color:#64777d}.form-progress .line{height:6px;background:#e4eceb;border-radius:999px;flex:1;overflow:hidden}.form-progress .line i{display:block;height:100%;background:var(--teal);border-radius:999px}.question-title{font-size:25px;line-height:1.25;color:var(--navy);font-weight:850;margin:5px 0 10px}.question-help{color:#687a80;font-size:14px;line-height:1.55;margin-bottom:20px}.option-list{display:grid;gap:10px}.option{width:100%;text-align:left;border:1px solid #d7e1e1;background:white;border-radius:13px;padding:15px 16px;font-weight:700;color:#40575f;display:flex;align-items:center;gap:12px;min-height:54px}.option:hover{border-color:#8fb4b1;background:#f8fbfa}.option.selected{border-color:var(--teal);background:#eaf4f2;color:#245c5a}.option-dot{width:18px;height:18px;border-radius:50%;border:2px solid #b7c6c8;flex:0 0 auto}.option.selected .option-dot{border:5px solid var(--teal)}.option.multi .option-dot{border-radius:5px}.option.multi.selected .option-dot{border:0;background:var(--teal);position:relative}.option.multi.selected .option-dot:after{content:"✓";color:white;position:absolute;inset:0;display:grid;place-items:center;font-size:12px}.form-nav{display:flex;justify-content:space-between;gap:10px;margin-top:26px}.form-nav .btn{min-width:110px}.form-note{font-size:11px;color:#849196;line-height:1.5;margin-top:18px}
.submitted-card{text-align:center;padding:40px 32px}.success-mark{width:58px;height:58px;border-radius:50%;background:#dfeee9;color:#3f735f;display:grid;place-items:center;font-size:26px;margin:0 auto 16px}.submitted-card h1{font-size:27px}.submitted-card p{color:#61757d;line-height:1.6;max-width:460px;margin:10px auto 22px}
.notice{padding:12px 14px;border-radius:11px;background:var(--warm);color:#6f623f;font-size:12px;line-height:1.5;border:1px solid #e7dcc7}.toast{position:fixed;right:22px;bottom:22px;background:#17384b;color:white;padding:11px 14px;border-radius:10px;font-size:12px;box-shadow:0 12px 30px rgba(0,0,0,.18);opacity:0;transform:translateY(8px);pointer-events:none;transition:.2s;z-index:100}.toast.show{opacity:1;transform:translateY(0)}
.mobile-only{display:none}
@media(max-width:920px){.layout{grid-template-columns:1fr}.sidebar{display:none}.main{padding:24px 18px 50px}.check-row{grid-template-columns:1fr 1fr 110px}.check-row .hide-md{display:none}.results-layout,.status-board{grid-template-columns:1fr}.snapshot-grid{grid-template-columns:1fr 1fr}.topbar{padding:0 16px}.brand{min-width:0}.brand-sub,.topbar-pill{display:none}.grid.two,.grid.three{grid-template-columns:1fr}.kpi-strip{grid-template-columns:1fr 1fr 1fr}.result-detail{grid-template-columns:1fr}.detail-wide{grid-column:auto}}
@media(max-width:620px){.topbar{height:60px}.layout{min-height:calc(100vh - 60px)}.main{padding:20px 14px 44px}.page-head{display:block}.page-head .btn{margin-top:16px}.demo-band{align-items:flex-start;flex-direction:column}.check-row{grid-template-columns:1fr 96px;padding:14px}.check-row .tripcol{grid-column:1/2}.check-row .hide-sm{display:none}.kpi-strip{grid-template-columns:1fr}.snapshot-grid{grid-template-columns:1fr}.traveler-row{grid-template-columns:1fr}.summary-cover{padding:26px 22px 20px}.summary-body{padding:24px 22px}.form-card{padding:22px 18px;border-radius:16px}.question-title{font-size:22px}.traveler-shell{padding:12px}.form-nav{position:sticky;bottom:0;background:white;padding-top:10px}.mobile-only{display:block}.topbar-spacer+.topbar-pill{display:none}}
