/* Atlas P2 — premium mobile/UI finishing layer.
   Scoped to the managed trip and account surfaces only. */
:root{
  --p2-ink:#111c2f;
  --p2-ink-2:#21334d;
  --p2-muted:#697586;
  --p2-line:#e5e8ec;
  --p2-line-strong:#d9dee5;
  --p2-paper:#ffffff;
  --p2-ivory:#fbf9f5;
  --p2-canvas:#f4f6f8;
  --p2-gold:#ad874a;
  --p2-gold-2:#d0ad72;
  --p2-green:#2f7452;
  --p2-blue:#486b96;
  --p2-red:#95453b;
  --p2-shadow:0 24px 70px rgba(17,28,47,.08),0 3px 14px rgba(17,28,47,.035);
  --p2-shadow-soft:0 12px 38px rgba(17,28,47,.055),0 1px 3px rgba(17,28,47,.025);
}

/* ---------- shared premium surface language ---------- */
:is(.prep-page,.atlas-space-page){
  --atlas-font:Manrope,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:
    radial-gradient(1000px 520px at 50% -260px,rgba(173,135,74,.10),transparent 72%),
    linear-gradient(180deg,#fbfcfd 0,#f5f7f9 440px,#f7f8f9 100%);
  color:var(--p2-ink);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
:is(.prep-page,.atlas-space-page) :is(a,button,input,select,summary){
  -webkit-tap-highlight-color:transparent;
}
:is(.prep-page,.atlas-space-page) :is(a,button,input,select):focus-visible{
  outline:3px solid rgba(173,135,74,.58)!important;
  outline-offset:3px;
}

/* ---------- managed trip ---------- */
.prep-page .trip-main{
  width:min(1120px,calc(100% - 48px));
  margin:34px auto 104px;
}
.prep-page .trip-navigation{
  min-height:42px;
  margin-bottom:16px;
  padding:0 2px;
}
.prep-page .trip-back,
.prep-page .trip-space-link{
  min-height:40px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin:0;
  color:#657286;
  font-size:12px;
  font-weight:700;
  letter-spacing:-.01em;
}
.prep-page .trip-space-link{
  padding:0 12px;
  border:1px solid #e2e6eb;
  border-radius:10px;
  background:rgba(255,255,255,.74);
  box-shadow:0 4px 14px rgba(17,28,47,.025);
}
.prep-page .trip-space-link:hover{
  color:var(--p2-ink);
  border-color:#d2d9e1;
  background:#fff;
}

/* hero */
.prep-page .trip-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  align-items:center;
  min-height:224px;
  margin-bottom:20px;
  padding:36px 38px;
  border:1px solid rgba(218,222,228,.95);
  border-radius:28px;
  background:
    radial-gradient(420px 240px at 96% 0,rgba(208,173,114,.17),transparent 72%),
    radial-gradient(360px 220px at 0 100%,rgba(72,107,150,.08),transparent 72%),
    linear-gradient(135deg,#fff 0%,#fdfcf9 58%,#faf7f0 100%);
  box-shadow:var(--p2-shadow);
}
.prep-page .trip-hero::after{
  content:"";
  position:absolute;
  right:-90px;
  bottom:-135px;
  z-index:-1;
  width:330px;
  height:330px;
  border:1px solid rgba(173,135,74,.13);
  border-radius:50%;
  box-shadow:
    0 0 0 34px rgba(173,135,74,.035),
    0 0 0 70px rgba(173,135,74,.022);
}
.prep-page .trip-hero>div{max-width:720px}
.prep-page .trip-eyebrow,
.prep-page .trip-kicker{
  color:#9a7440;
  font-size:9px;
  font-weight:850;
  letter-spacing:.18em;
}
.prep-page .trip-hero h1{
  max-width:690px;
  margin:10px 0 13px;
  color:#101c30;
  font-size:clamp(35px,4.1vw,50px);
  line-height:1.02;
  letter-spacing:-.055em;
}
.prep-page .trip-hero p{
  max-width:610px;
  color:#687587;
  font-size:14px;
  line-height:1.75;
}
.prep-page .trip-free{
  align-self:flex-start;
  margin-top:2px;
  padding:9px 13px;
  border:1px solid #eadfcf;
  border-radius:999px;
  background:rgba(255,252,246,.82);
  color:#7b5d30;
  box-shadow:0 5px 18px rgba(90,67,29,.05);
  backdrop-filter:blur(8px);
}

/* statuses/context */
.prep-page .trip-status{
  margin:0 0 16px;
  padding:14px 16px;
  border:1px solid #e2e6eb;
  border-radius:14px;
  background:rgba(255,255,255,.78);
  color:#58677a;
  box-shadow:0 6px 20px rgba(17,28,47,.025);
}
.prep-page .trip-status[data-tone=error]{
  border-color:#ecd3cf;
  background:#fff5f3;
  color:#873d35;
}
.prep-page .trip-context{
  margin:0 0 16px;
  padding:14px 17px;
  border:1px solid #e4e8ed;
  border-radius:14px;
  background:#fff;
  box-shadow:var(--p2-shadow-soft);
}
.prep-page .trip-context span{
  color:#8993a1;
  font-size:10px;
  font-weight:750;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.prep-page .trip-context strong{
  color:#21334d;
  font-size:14px;
  font-weight:750;
}

/* login gate */
.prep-page .trip-gate{
  position:relative;
  overflow:hidden;
  padding:30px;
  border:1px solid #e2e6eb;
  border-radius:24px;
  background:#fff;
  box-shadow:var(--p2-shadow);
}
.prep-page .trip-gate::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:linear-gradient(180deg,#d0ad72,#9f7940);
}
.prep-page .trip-gate h2{
  margin:6px 0 8px;
  color:#15233a;
  font-size:25px;
  letter-spacing:-.04em;
}
.prep-page .trip-gate p{
  max-width:620px;
  color:#697789;
  font-size:13px;
}
.prep-page .trip-process{margin-top:22px}
.prep-page .trip-process li{
  color:#59697d;
  font-size:12px;
  font-weight:650;
}
.prep-page .trip-process li::before{
  border-color:#e5d7bf;
  background:#fbf7ef;
  color:#8d6a34;
  border-radius:10px;
}
.prep-page .trip-gate>.trip-primary{min-width:226px}

/* cards */
.prep-page .trip-card{
  margin-top:16px;
  padding:28px;
  border:1px solid #e4e7eb;
  border-radius:23px;
  background:rgba(255,255,255,.96);
  box-shadow:var(--p2-shadow-soft);
}
.prep-page .trip-card[class*="trip-card--"]{border-top-width:1px}
.prep-page .trip-section-head{margin-bottom:20px}
.prep-page .trip-section-head h2{
  margin:5px 0 5px;
  color:#16243a;
  font-size:23px;
  letter-spacing:-.04em;
}
.prep-page .trip-section-head p{
  color:#788392;
  font-size:12px;
  line-height:1.6;
}
.prep-page .trip-section-state{
  min-height:29px;
  padding:5px 10px;
  border-color:#ead9bb;
  background:#fff8eb;
  color:#805723;
  box-shadow:0 3px 10px rgba(128,87,35,.035);
}
.prep-page .trip-section-state[data-state=done]{
  border-color:#d4e6db;
  background:#eef8f2;
  color:#2c6b4a;
}

/* setup */
.prep-page .trip-setup-guide{
  margin-bottom:16px;
  padding:20px 22px;
  border:1px solid #e7e2d8;
  border-radius:19px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.98),rgba(251,248,242,.98));
  box-shadow:0 8px 28px rgba(17,28,47,.035);
}
.prep-page .trip-setup-guide strong{
  margin-top:5px;
  color:#1b2a40;
  font-size:18px;
}
.prep-page .trip-setup-guide p{font-size:12px}
.prep-page .trip-requirement{
  min-height:34px;
  padding:7px 10px;
  border-color:#e2e6ea;
  background:#fff;
  font-size:9px;
}
.prep-page .trip-requirement[data-state=done]{
  border-color:#d5e7dc;
  background:#f0f8f3;
}
.prep-page .trip-requirement[data-state=required]{
  border-color:#ead9bc;
  background:#fff8eb;
}
.prep-page .trip-summary-destination{
  margin-bottom:16px;
  padding:17px 18px;
  border:1px solid #e5e8ed;
  border-radius:14px;
  background:linear-gradient(135deg,#f7f9fb,#fff);
}
.prep-page .trip-summary-destination strong{
  color:#20344e;
  font-size:16px;
}
.prep-page .trip-date-grid,
.prep-page .trip-field-grid{gap:15px 16px}
.prep-page .trip-date-grid input,
.prep-page .trip-field-grid input{
  min-height:50px;
  border:1px solid #dce1e7;
  border-radius:13px;
  background:#fbfcfd;
  color:#17243b;
  font-size:14px;
  box-shadow:inset 0 1px 0 rgba(17,28,47,.015);
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
.prep-page .trip-date-grid input:hover,
.prep-page .trip-field-grid input:hover{border-color:#cfd6de}
.prep-page .trip-date-grid input:focus,
.prep-page .trip-field-grid input:focus{
  border-color:#b3915b;
  background:#fff;
  box-shadow:0 0 0 4px rgba(173,135,74,.12);
}
.prep-page .trip-required-badge{
  min-height:21px;
  border-color:#ead9bc;
  background:#fff7e8;
  color:#7c5524;
}

/* traveler choices */
.prep-page .trip-traveler-list{gap:11px}
.prep-page .trip-traveler-choice{
  min-height:72px;
  padding:15px 16px;
  border:1px solid #e4e8ed;
  border-radius:15px;
  background:#fff;
  box-shadow:0 5px 18px rgba(17,28,47,.025);
}
.prep-page .trip-traveler-choice strong{color:#1c2b41;font-size:14px}
.prep-page .trip-traveler-choice small{color:#7a8695;font-size:10px}
.prep-page .trip-mini-button{
  min-height:38px;
  padding:7px 12px;
  border-radius:10px;
  border-color:#d7dde4;
  background:#fff;
  color:#23364f;
}
.prep-page .trip-link-button{
  padding:8px 6px;
  color:#667486;
  font-weight:700;
}

/* buttons */
.prep-page .trip-primary,
.prep-page .trip-secondary{
  min-height:49px;
  padding:10px 18px;
  border-radius:13px;
  font-size:12px;
  font-weight:800;
  letter-spacing:-.005em;
}
.prep-page .trip-primary{
  background:linear-gradient(135deg,#203651,#101f35);
  box-shadow:0 10px 26px rgba(16,31,53,.16);
}
.prep-page .trip-primary:hover:not(:disabled){
  transform:translateY(-1px);
  box-shadow:0 13px 30px rgba(16,31,53,.20);
}
.prep-page .trip-secondary{
  border-color:#d6dde5;
  background:#fff;
  color:#263950;
}
.prep-page .trip-secondary:hover{
  border-color:#bfa676;
  background:#fffdfa;
}

/* dossier overview */
.prep-page .trip-overview{
  gap:10px;
  margin:2px 0 16px;
  padding:4px;
  border:1px solid #e4e8ed;
  border-radius:18px;
  background:#eef1f4;
}
.prep-page .trip-overview>div,
.prep-page .trip-overview>div:nth-child(n){
  position:relative;
  min-height:80px;
  padding:17px 18px;
  border:0;
  border-radius:14px;
  background:#fff;
}
.prep-page .trip-overview>div+div::before{
  content:"";
  position:absolute;
  left:-5px;
  top:18px;
  bottom:18px;
  width:1px;
  background:#e6e9ed;
}
.prep-page .trip-overview span{
  margin-bottom:7px;
  color:#8a94a0;
  font-size:9px;
  letter-spacing:.08em;
}
.prep-page .trip-overview strong{
  color:#1a2a41;
  font-size:14px;
}

/* focal next action */
.prep-page .trip-action-summary{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:26px;
  align-items:center;
  margin:0 0 16px;
  padding:27px 30px;
  border:1px solid rgba(255,255,255,.06);
  border-radius:23px;
  background:
    radial-gradient(320px 180px at 100% 0,rgba(208,173,114,.18),transparent 75%),
    linear-gradient(135deg,#15263e 0%,#0f1c31 100%);
  color:#fff;
  box-shadow:0 26px 56px rgba(15,28,49,.18);
}
.prep-page .trip-action-summary::after{
  content:"";
  position:absolute;
  inset:auto -60px -130px auto;
  z-index:-1;
  width:250px;
  height:250px;
  border:1px solid rgba(209,174,115,.15);
  border-radius:50%;
  box-shadow:0 0 0 30px rgba(209,174,115,.035);
}
.prep-page .trip-action-summary .trip-kicker{color:#d4b57e}
.prep-page .trip-action-summary h2{
  margin:6px 0 7px;
  color:#fff;
  font-size:24px;
  line-height:1.2;
  letter-spacing:-.035em;
}
.prep-page .trip-action-summary p{
  max-width:620px;
  margin:0;
  color:#b9c4d3;
  font-size:12px;
  line-height:1.7;
}
.prep-page .trip-action-meta{
  min-width:190px;
  padding-left:22px;
  border-left:1px solid rgba(255,255,255,.12);
}
.prep-page .trip-action-summary .trip-section-state{
  border-color:rgba(255,255,255,.12);
  background:rgba(255,255,255,.08);
  color:#f0d7a8;
}
.prep-page .trip-action-summary .trip-section-state[data-state=done]{
  border-color:rgba(153,214,178,.16);
  background:rgba(111,184,143,.12);
  color:#aee0c1;
}
.prep-page .trip-required-progress{margin-top:13px}
.prep-page .trip-required-progress>div{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:10px;
  color:#d5dce6;
}
.prep-page .trip-required-progress strong{font-size:16px;color:#fff}
.prep-page .trip-required-progress span{font-size:9px;color:#9eabba}
.prep-page .trip-required-progress progress{
  width:100%;
  height:5px;
  margin-top:8px;
  border:0;
  border-radius:99px;
  overflow:hidden;
  background:#ffffff17;
  appearance:none;
}
.prep-page .trip-required-progress progress::-webkit-progress-bar{background:#ffffff17}
.prep-page .trip-required-progress progress::-webkit-progress-value{background:linear-gradient(90deg,#b68d4f,#e0c58f)}
.prep-page .trip-required-progress progress::-moz-progress-bar{background:#c7a463}

/* documents */
.prep-page .trip-card--priority{
  border-color:#e3e7eb;
  box-shadow:var(--p2-shadow);
}
.prep-page .trip-doc-group{
  border:0;
  border-radius:16px;
  background:transparent;
}
.prep-page .trip-doc-group-head{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
  margin:0 0 12px;
}
.prep-page .trip-doc-group-head h3{
  margin:0 0 4px;
  color:#1c2b42;
  font-size:15px;
}
.prep-page .trip-doc-group-head p{
  margin:0;
  color:#7b8694;
  font-size:11px;
}
.prep-page .trip-count-badge{
  display:grid;
  place-items:center;
  min-width:30px;
  height:30px;
  padding:0 8px;
  border:1px solid #e1e5ea;
  border-radius:999px;
  background:#f7f8fa;
  color:#596779;
  font-size:10px;
  font-weight:850;
}
.prep-page .trip-document-list{gap:13px}
.prep-page .trip-document-card{
  min-height:150px;
  padding:18px 18px 17px 20px;
  border:1px solid #e5e8ec;
  border-radius:17px;
  background:#fff;
  box-shadow:0 7px 20px rgba(17,28,47,.025);
  transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;
}
.prep-page .trip-document-card:hover{
  transform:translateY(-1px);
  border-color:#d9dee5;
  box-shadow:0 12px 28px rgba(17,28,47,.05);
}
.prep-page .trip-document-card::before{
  left:0;
  top:17px;
  bottom:17px;
  width:3px;
  border-radius:0 4px 4px 0;
}
.prep-page .trip-document-card[data-status=required]{
  border-color:#eadfcf;
  background:linear-gradient(135deg,#fffdf9,#fff);
}
.prep-page .trip-document-card[data-status=done]{
  border-color:#d8e7dd;
  background:linear-gradient(135deg,#f8fcf9,#fff);
}
.prep-page .trip-document-card[data-status=optional]{
  border-color:#e1e6eb;
  background:#fbfcfd;
}
.prep-page .trip-doc-head strong{font-size:13px;color:#1c2d45}
.prep-page .trip-doc-head p{color:#778494;font-size:10px}
.prep-page .trip-doc-badge{
  min-height:27px;
  padding:5px 9px;
  border-radius:999px;
  font-size:8px;
}
.prep-page .trip-file-row{
  min-height:38px;
  margin-top:10px;
  padding:8px 10px;
  border-color:#e2e6ea;
  background:#fff;
}
.prep-page .trip-upload{
  min-height:40px;
  margin-top:12px;
  padding:8px 12px;
  border-radius:10px;
  border-color:#d6dde4;
  background:#fff;
  color:#273b55;
}
.prep-page .trip-doc-group--optional{
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid #edf0f3;
}
.prep-page .trip-doc-group--optional>summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:52px;
  padding:12px 13px;
  border:1px solid #e6e9ed;
  border-radius:13px;
  background:#fafbfc;
  cursor:pointer;
  list-style:none;
}
.prep-page .trip-doc-group--optional>summary::-webkit-details-marker{display:none}
.prep-page .trip-doc-group--optional>summary strong{
  color:#25364d;
  font-size:13px;
}
.prep-page .trip-doc-group--optional>summary small{
  display:block;
  margin-top:3px;
  color:#7b8795;
  font-size:10px;
  line-height:1.45;
}
.prep-page .trip-doc-group--optional[open]>summary{margin-bottom:12px}
.prep-page .trip-privacy{
  margin-top:19px;
  padding-top:15px;
  color:#7b8795;
}

/* people/tasks */
.prep-page .trip-person-list,
.prep-page .trip-task-list{gap:12px}
.prep-page .trip-person-card{
  padding:18px;
  border-color:#e5e8ec;
  border-radius:16px;
  background:#fff;
  box-shadow:0 5px 18px rgba(17,28,47,.025);
}
.prep-page .trip-person-card[data-issue=review]{border-color:#eadcc5;background:#fffaf1}
.prep-page .trip-person-card[data-issue=hard]{border-color:#efd5d0;background:#fff7f5}
.prep-page .trip-person-head strong{font-size:14px;color:#1d2d44}
.prep-page .trip-person-badge{padding:6px 9px}
.prep-page .trip-analysis-grid>div{
  padding:11px;
  border-color:#e7eaee;
  background:#fafbfc;
}
.prep-page .trip-task-card{
  min-height:68px;
  padding:14px 15px;
  border-color:#e5e8ec;
  border-radius:15px;
  background:#fff;
}
.prep-page .trip-task-icon{
  width:36px;
  height:36px;
  background:#fbf4e7;
  color:#9b7440;
}
.prep-page .trip-task-card strong{color:#24364e}

/* final actions */
.prep-page .trip-start-footer,
.prep-page .trip-submit{
  margin-top:20px;
  padding:17px 18px;
  border:1px solid #e2e6eb;
  border-radius:16px;
  background:rgba(255,255,255,.92);
  box-shadow:0 12px 34px rgba(17,28,47,.065);
}
.prep-page .trip-start-footer{padding-top:17px}
.prep-page .trip-setup-missing{color:#78582f;font-size:11px}
.prep-page .trip-setup-missing[data-state=ready]{color:#2f7452}
.prep-page .trip-submit strong{color:#1c2b41;font-size:14px}
.prep-page .trip-submit p{color:#7b8796;font-size:10px}
.prep-page .trip-submitted{
  margin-top:18px;
  border-color:#d1e6d9;
  border-radius:18px;
  background:linear-gradient(135deg,#eff9f3,#fbfdfb);
  box-shadow:0 10px 30px rgba(47,116,82,.06);
}

/* ---------- account home ---------- */
.atlas-space-page .space-main{
  width:min(1080px,calc(100% - 48px));
  padding:58px 0 74px;
}
.atlas-space-page .space-heading{
  position:relative;
  margin-bottom:34px;
  padding-left:22px;
}
.atlas-space-page .space-heading::before{
  content:"";
  position:absolute;
  left:0;
  top:7px;
  width:3px;
  height:58px;
  border-radius:3px;
  background:linear-gradient(180deg,#d2b276,#9d763b);
}
.atlas-space-page .space-heading h1{
  margin:0 0 9px;
  color:#101d31;
  font-size:48px;
  line-height:1.05;
  letter-spacing:-.055em;
}
.atlas-space-page .space-heading p{
  color:#74808f;
  font-size:14px;
}
.atlas-space-page .space-status{
  margin-bottom:18px;
  border:1px solid #e3e7eb;
  border-radius:14px;
  background:#fff;
  box-shadow:0 6px 20px rgba(17,28,47,.025);
}
.atlas-space-page .space-welcome{
  border-color:#e2e6eb;
  border-radius:25px;
  background:#fff;
  box-shadow:var(--p2-shadow);
}
.atlas-space-page .space-welcome-copy{padding:44px}
.atlas-space-page .space-welcome h2{
  color:#14233a;
  font-size:35px;
  letter-spacing:-.045em;
}
.atlas-space-page .space-welcome-copy>p{color:#6c7888}
.atlas-space-page .space-welcome>img{filter:saturate(.9) contrast(.98)}
.atlas-space-page .space-primary,
.atlas-space-page .space-secondary{
  min-height:48px;
  border-radius:12px;
  font-size:12px;
  font-weight:800;
}
.atlas-space-page .space-primary{
  background:linear-gradient(135deg,#203651,#101f35);
  box-shadow:0 10px 26px rgba(16,31,53,.15);
}
.atlas-space-page .space-secondary{
  border-color:#d9dfe6;
  box-shadow:0 5px 16px rgba(17,28,47,.025);
}
.atlas-space-page .space-empty{
  padding:38px 40px;
  border-color:#e3e7eb;
  border-radius:23px;
  background:
    radial-gradient(400px 180px at 100% 0,rgba(208,173,114,.10),transparent 80%),
    #fff;
  box-shadow:var(--p2-shadow);
}
.atlas-space-page .space-empty h2{color:#16253b;font-size:27px}
.atlas-space-page .space-arrival{
  margin-top:24px;
  padding:27px 28px;
  border-color:#e4e7eb;
  border-radius:19px;
  background:#fff;
  box-shadow:var(--p2-shadow-soft);
}
.atlas-space-page .space-arrival h2{color:#182941}

/* trips container becomes editorial, cards carry the hierarchy */
.atlas-space-page .space-trips{
  margin:0 0 28px;
  padding:30px;
  border:1px solid #e2e6ea;
  border-radius:25px;
  background:
    radial-gradient(420px 210px at 100% 0,rgba(173,135,74,.08),transparent 78%),
    rgba(255,255,255,.96);
  box-shadow:var(--p2-shadow);
}
.atlas-space-page .space-section-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:22px;
}
.atlas-space-page .space-trips .space-section-heading h2{
  color:#142238;
  font-size:29px;
}
.atlas-space-page .space-new{
  min-height:42px;
  border-radius:11px;
  font-size:11px;
}

.atlas-space-page .space-orders-list{display:grid;gap:12px}
.atlas-space-page .space-trip-card{
  position:relative;
  display:grid;
  grid-template-columns:54px minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
  min-height:92px;
  padding:15px 17px 15px 15px;
  overflow:hidden;
  border:1px solid #e4e8ec;
  border-radius:18px;
  background:#fff;
  box-shadow:0 7px 22px rgba(17,28,47,.03);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.atlas-space-page .space-trip-card::before{content:none}
.atlas-space-page .space-trip-card:hover{
  transform:translateY(-2px);
  border-color:#d7dde4;
  box-shadow:0 16px 34px rgba(17,28,47,.07);
}
.atlas-space-page .space-trip-visual{
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  border:1px solid #eadfcf;
  border-radius:15px;
  background:linear-gradient(145deg,#fffaf1,#f5eee1);
  color:#876433;
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
  box-shadow:inset 0 1px 0 #fff;
}
.atlas-space-page .space-trip-copy{min-width:0;padding:0}
.atlas-space-page .space-trip-card strong{
  display:block;
  overflow:hidden;
  color:#17263d;
  font-size:16px;
  font-weight:780;
  letter-spacing:-.025em;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.atlas-space-page .space-trip-card small{
  display:block;
  margin-top:6px;
  color:#7b8795;
  font-size:11px;
}
.atlas-space-page .space-trip-meta{display:flex;align-items:center;gap:10px}
.atlas-space-page .space-trip-card .space-order-pill{
  min-height:29px;
  padding:6px 10px 6px 22px;
  border:1px solid transparent;
  border-radius:999px;
  box-shadow:none;
}
.atlas-space-page .space-trip-card .space-order-pill[data-status=collecting_info],
.atlas-space-page .space-trip-card .space-order-pill[data-status=collecting_documents],
.atlas-space-page .space-trip-card .space-order-pill[data-status=action_required]{
  border-color:#ecddc3;
  background:#fff8ea;
  color:#845923;
}
.atlas-space-page .space-trip-card .space-order-pill[data-status=ready_for_atlas],
.atlas-space-page .space-trip-card .space-order-pill[data-status=in_review],
.atlas-space-page .space-trip-card .space-order-pill[data-status=processing]{
  border-color:#dce4ef;
  background:#f1f5fa;
  color:#49698f;
}
.atlas-space-page .space-trip-card .space-order-pill[data-status=completed]{
  border-color:#d5e6dc;
  background:#f0f8f3;
  color:#2f6e4e;
}
.atlas-space-page .space-trip-card .space-order-pill[data-status=cancelled]{
  border-color:#e0e4e8;
  background:#f3f5f7;
  color:#687584;
}
.atlas-space-page .space-trip-chevron{
  width:31px;
  height:31px;
  border:1px solid #e4e8ec;
  background:#fafbfc;
  color:#7a8694;
}
.atlas-space-page .space-trip-card:hover .space-trip-chevron{
  background:#17243b;
  border-color:#17243b;
  color:#fff;
}
.atlas-space-page #atlasOrders{
  padding:28px;
  border:1px solid #e3e7eb;
  border-radius:22px;
  background:#fff;
  box-shadow:var(--p2-shadow-soft);
}

/* ---------- mobile: designed, not compressed desktop ---------- */
@media(max-width:760px){
  :is(.prep-page,.atlas-space-page){
    background:
      radial-gradient(520px 250px at 50% -100px,rgba(173,135,74,.10),transparent 72%),
      linear-gradient(180deg,#fafbfc 0,#f4f6f8 100%);
  }

  .prep-page .trip-main{
    width:calc(100% - 24px);
    margin:17px auto 64px;
  }
  .prep-page .trip-navigation{
    min-height:36px;
    margin-bottom:12px;
    padding:0 2px;
  }
  .prep-page .trip-back{
    min-height:36px;
    font-size:10px;
  }
  .prep-page .trip-space-link{
    min-height:34px;
    padding:0 9px;
    border-radius:9px;
    font-size:10px;
  }

  .prep-page .trip-hero{
    min-height:0;
    display:grid;
    gap:16px;
    margin-bottom:14px;
    padding:24px 21px 22px;
    border-radius:22px;
    box-shadow:0 16px 42px rgba(17,28,47,.075);
  }
  .prep-page .trip-hero::after{
    right:-130px;
    bottom:-160px;
    width:300px;
    height:300px;
  }
  .prep-page .trip-hero h1{
    max-width:12ch;
    margin:8px 0 10px;
    font-size:clamp(32px,10vw,40px);
    line-height:1.02;
  }
  .prep-page .trip-hero p{
    font-size:12px;
    line-height:1.68;
  }
  .prep-page .trip-free{
    justify-self:start;
    margin:0;
    padding:8px 10px;
    font-size:9px;
  }

  .prep-page .trip-status,
  .prep-page .trip-context{
    margin-bottom:12px;
    border-radius:12px;
  }
  .prep-page .trip-gate{
    display:grid;
    gap:20px;
    padding:22px 19px;
    border-radius:20px;
  }
  .prep-page .trip-gate h2{font-size:22px}
  .prep-page .trip-gate p{font-size:12px}
  .prep-page .trip-gate>.trip-primary{
    width:100%;
    min-width:0;
  }
  .prep-page .trip-process{
    display:grid;
    gap:9px;
    margin-top:17px;
  }

  .prep-page .trip-setup-guide{
    display:grid;
    gap:14px;
    margin-bottom:12px;
    padding:17px;
    border-radius:17px;
  }
  .prep-page .trip-setup-guide strong{font-size:16px}
  .prep-page .trip-setup-guide p{font-size:11px}
  .prep-page .trip-setup-requirements{
    justify-content:flex-start;
    gap:6px;
  }
  .prep-page .trip-requirement{
    min-height:31px;
    padding:6px 8px;
    font-size:8px;
  }

  .prep-page .trip-card{
    margin-top:12px;
    padding:20px 17px;
    border-radius:20px;
    box-shadow:0 10px 30px rgba(17,28,47,.05);
  }
  .prep-page .trip-section-head,
  .prep-page .trip-section-head--action{
    display:grid;
    gap:12px;
    margin-bottom:16px;
  }
  .prep-page .trip-section-head h2{font-size:21px}
  .prep-page .trip-section-head p{font-size:11px}
  .prep-page .trip-head-actions{
    width:100%;
    justify-content:space-between;
  }
  .prep-page .trip-title-row{justify-content:space-between}

  .prep-page .trip-date-grid,
  .prep-page .trip-field-grid{
    grid-template-columns:1fr;
    gap:13px;
  }
  .prep-page .trip-date-grid input,
  .prep-page .trip-field-grid input{
    min-height:52px;
    font-size:16px; /* prevents iOS zoom */
  }
  .prep-page .trip-field-label{gap:8px}

  .prep-page .trip-traveler-choice{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:12px;
    min-height:0;
    padding:15px;
  }
  .prep-page .trip-traveler-choice-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    width:100%;
  }
  .prep-page .trip-link-button,
  .prep-page .trip-mini-button{min-height:42px}
  .prep-page .trip-form-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
  }

  .prep-page .trip-overview{
    grid-template-columns:1fr;
    gap:1px;
    padding:1px;
    border-radius:17px;
  }
  .prep-page .trip-overview>div,
  .prep-page .trip-overview>div:nth-child(n){
    min-height:68px;
    padding:14px 15px;
    border-radius:15px;
  }
  .prep-page .trip-overview>div+div::before{content:none}

  .prep-page .trip-action-summary{
    grid-template-columns:1fr;
    gap:18px;
    padding:22px 20px;
    border-radius:20px;
  }
  .prep-page .trip-action-summary h2{font-size:22px}
  .prep-page .trip-action-summary p{font-size:11px}
  .prep-page .trip-action-meta{
    min-width:0;
    padding:16px 0 0;
    border-top:1px solid rgba(255,255,255,.12);
    border-left:0;
  }
  .prep-page .trip-required-progress>div{justify-content:flex-start}
  .prep-page .trip-required-progress span{margin-left:8px}

  .prep-page .trip-document-list,
  .prep-page .trip-person-list,
  .prep-page .trip-task-list{
    grid-template-columns:1fr;
  }
  .prep-page .trip-document-card{
    min-height:0;
    padding:17px 16px 16px 18px;
    border-radius:16px;
  }
  .prep-page .trip-document-card:hover{transform:none}
  .prep-page .trip-doc-head{align-items:flex-start}
  .prep-page .trip-doc-badge{
    flex:none;
    max-width:92px;
    white-space:normal;
    text-align:center;
  }
  .prep-page .trip-upload{
    width:100%;
    min-height:46px;
    justify-content:center;
  }
  .prep-page .trip-file-row{min-height:42px}
  .prep-page .trip-file-row button{min-height:34px;padding-inline:6px}
  .prep-page .trip-doc-group--optional>summary{min-height:58px;padding:12px}
  .prep-page .trip-analysis-grid{grid-template-columns:1fr 1fr}
  .prep-page .trip-task-card{min-height:64px}

  /* sticky conversion docks remain inside their sections */
  .prep-page .trip-start-footer,
  .prep-page .trip-submit{
    position:sticky;
    bottom:max(10px,env(safe-area-inset-bottom));
    z-index:20;
    display:grid;
    gap:12px;
    margin:18px -4px 0;
    padding:14px;
    border-radius:17px;
    background:rgba(255,255,255,.92);
    box-shadow:0 18px 46px rgba(17,28,47,.14);
    backdrop-filter:blur(18px) saturate(130%);
  }
  .prep-page .trip-start-footer .trip-start-actions,
  .prep-page .trip-submit>.trip-primary{
    width:100%;
    margin:0;
  }
  .prep-page .trip-start-footer .trip-primary,
  .prep-page .trip-submit>.trip-primary{min-height:52px}
  .prep-page .trip-start-footer .trip-start-actions{display:block}
  .prep-page .trip-submit{align-items:stretch}
  .prep-page .trip-submit p{margin-bottom:0}
  .prep-page .trip-submitted{
    grid-template-columns:auto 1fr;
    padding:18px;
  }
  .prep-page .trip-submitted .trip-secondary{
    grid-column:1/-1;
    width:100%;
  }

  /* account */
  .atlas-space-page .space-main{
    width:calc(100% - 24px);
    padding:34px 0 54px;
  }
  .atlas-space-page .space-heading{
    margin-bottom:25px;
    padding-left:17px;
  }
  .atlas-space-page .space-heading::before{height:48px}
  .atlas-space-page .space-heading h1{
    font-size:38px;
    letter-spacing:-.05em;
  }
  .atlas-space-page .space-heading p{
    max-width:30ch;
    font-size:12px;
    line-height:1.6;
  }

  .atlas-space-page .space-welcome{
    grid-template-columns:1fr;
    border-radius:21px;
  }
  .atlas-space-page .space-welcome>img{
    height:190px;
    min-height:0;
    order:-1;
  }
  .atlas-space-page .space-welcome-copy{padding:24px 20px}
  .atlas-space-page .space-welcome h2{font-size:29px}
  .atlas-space-page .space-welcome-copy>p{font-size:12px}
  .atlas-space-page .space-actions{
    display:grid;
    gap:9px;
    margin:22px 0 16px;
  }
  .atlas-space-page .space-actions a{width:100%}

  .atlas-space-page .space-empty{
    padding:28px 22px;
    border-radius:20px;
  }
  .atlas-space-page .space-empty h2{font-size:23px}
  .atlas-space-page .space-arrival{
    display:grid;
    gap:14px;
    padding:21px 19px;
    border-radius:18px;
  }
  .atlas-space-page .space-arrival .space-secondary{
    width:100%;
    margin:0;
  }

  .atlas-space-page .space-trips{
    padding:20px 14px 15px;
    border-radius:21px;
  }
  .atlas-space-page .space-section-heading{
    display:grid;
    gap:13px;
    margin:0 4px 17px;
  }
  .atlas-space-page .space-trips .space-section-heading h2{font-size:25px}
  .atlas-space-page .space-new{width:100%}

  .atlas-space-page .space-orders-list{gap:10px}
  .atlas-space-page .space-trip-card{
    grid-template-columns:47px minmax(0,1fr) auto;
    gap:12px;
    min-height:84px;
    padding:13px 12px;
    border-radius:16px;
  }
  .atlas-space-page .space-trip-card:hover{transform:none}
  .atlas-space-page .space-trip-visual{
    width:47px;
    height:47px;
    border-radius:13px;
    font-size:9px;
  }
  .atlas-space-page .space-trip-card strong{font-size:14px}
  .atlas-space-page .space-trip-card small{
    margin-top:5px;
    font-size:10px;
    line-height:1.4;
  }
  .atlas-space-page .space-trip-meta{
    display:grid;
    justify-items:end;
    gap:7px;
  }
  .atlas-space-page .space-trip-card .space-order-pill{
    max-width:96px;
    min-height:27px;
    padding:5px 8px 5px 19px;
    font-size:8px;
    text-align:center;
  }
  .atlas-space-page .space-trip-card .space-order-pill::before{left:8px}
  .atlas-space-page .space-trip-chevron{
    width:27px;
    height:27px;
    font-size:20px;
  }
  .atlas-space-page #atlasOrders{
    padding:20px 15px;
    border-radius:20px;
  }
}

@media(max-width:390px){
  .prep-page .trip-main,
  .atlas-space-page .space-main{width:calc(100% - 20px)}
  .prep-page .trip-hero{padding-inline:18px}
  .prep-page .trip-card{padding-inline:15px}
  .prep-page .trip-analysis-grid{grid-template-columns:1fr}
  .atlas-space-page .space-trip-card{
    grid-template-columns:43px minmax(0,1fr) auto;
    gap:9px;
  }
  .atlas-space-page .space-trip-visual{width:43px;height:43px}
  .atlas-space-page .space-trip-card .space-order-pill{max-width:84px}
}

@media(hover:none){
  .prep-page .trip-primary:hover:not(:disabled),
  .prep-page .trip-document-card:hover,
  .atlas-space-page .space-trip-card:hover{transform:none}
}

@media(prefers-reduced-motion:reduce){
  .prep-page :is(.trip-primary,.trip-secondary,.trip-document-card),
  .atlas-space-page :is(.space-trip-card,.space-trip-chevron){
    transition:none!important;
  }
}
