/* My Cockpit is a working surface. Everything is scoped to this route so the
   approved site-wide visual system remains unchanged. */
.cockpit-page{background:var(--cream)}

.cockpit-command{
  padding-block:52px 60px;
  border-bottom:1px solid rgba(207,176,109,.4);
}

.cockpit-mast{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:42px;
  align-items:end;
  margin-bottom:36px;
}

.cockpit-mast h1{
  max-width:850px;
  margin:0;
  color:#fff;
  font:400 clamp(40px,4.6vw,64px)/.98 Georgia,"Times New Roman",serif;
  letter-spacing:-.045em;
}

.cockpit-mast-deck{
  margin:13px 0 0;
  color:#bcc7ce;
  font-size:16px;
  line-height:1.5;
}

.cockpit-storage-state{
  min-width:230px;
  padding:14px 16px;
  border:1px solid #344a5b;
  background:#0d2232;
  display:grid;
  grid-template-columns:9px 1fr;
  gap:2px 10px;
  align-items:center;
}

.cockpit-storage-state i,
.cockpit-private-state>i{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#6f987d;
  box-shadow:0 0 0 3px rgba(111,152,125,.13);
}

.cockpit-storage-state.is-blocked i,
.cockpit-private-state.is-blocked>i{
  background:#d4a15e;
  box-shadow:0 0 0 3px rgba(212,161,94,.13);
}

.cockpit-storage-state[data-sync-state="pending"] i,
.cockpit-storage-state[data-sync-state="choice"] i,
.cockpit-storage-state[data-sync-state="offline"] i{
  background:#d4a15e;
  box-shadow:0 0 0 3px rgba(212,161,94,.13);
}

.cockpit-storage-state[data-sync-state="error"] i{
  background:#9c3f38;
  box-shadow:0 0 0 3px rgba(156,63,56,.13);
}

.cockpit-storage-state span{
  color:#fff;
  font-size:12px;
  font-weight:800;
  letter-spacing:.05em;
}

.cockpit-storage-state small{
  grid-column:2;
  color:#aeb9c1;
  font-size:12px;
  line-height:1.45;
}

.cockpit-command .cockpit-command-grid{grid-template-columns:.68fr 1.32fr}

.cockpit-command .plan-position,
.cockpit-command .plan-next{min-height:320px}

.cockpit-level-name{
  color:var(--gold2);
  font-size:12px;
  letter-spacing:.14em;
}

.cockpit-level-flag{
  margin-top:12px;
  padding:5px 8px;
  border:1px solid #a78e56;
  color:#e7cf98;
  font-size:11px;
  font-weight:850;
  letter-spacing:.1em;
}

.cockpit-constraint{
  width:100%;
  margin-top:24px;
  padding-top:20px;
  border-top:1px solid #344a5b;
}

.cockpit-constraint>span{
  color:var(--gold2);
  font-size:12px;
  font-weight:850;
  letter-spacing:.12em;
}

.cockpit-constraint p{
  margin:8px 0 4px;
  color:#d2dae0;
  font:400 18px/1.45 Georgia,"Times New Roman",serif;
}

.cockpit-constraint small{
  display:block;
  color:#aeb9c1;
  font-size:12px;
  line-height:1.5;
}

.cockpit-command .plan-position>a{color:var(--gold2)}
.cockpit-command .plan-position>a[hidden]{display:none}

.cockpit-body{padding-block:72px 90px}

.cockpit-layout{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);
  gap:48px;
  align-items:start;
}

.cockpit-main,
.cockpit-rail{display:grid;gap:42px}

.cockpit-rail{
  position:sticky;
  top:104px;
  align-content:start;
}

.cockpit-section-head{
  display:flex;
  justify-content:space-between;
  gap:28px;
  align-items:end;
  margin-bottom:24px;
}

.cockpit-section-head h2{
  margin:0 0 10px;
  font:400 clamp(34px,4vw,44px)/1.04 Georgia,"Times New Roman",serif;
}

.cockpit-section-head p:last-child{
  margin:0;
  color:var(--muted);
}

.cockpit-section-head>a,
.cockpit-text-link{
  flex:0 0 auto;
  color:#735f36;
  font-size:12px;
  font-weight:850;
  letter-spacing:.07em;
  text-transform:uppercase;
  transition:color .18s ease,transform .18s ease;
}

.cockpit-section-head>a:focus-visible,
.cockpit-text-link:focus-visible{
  color:var(--navy);
  outline:2px solid var(--gold);
  outline-offset:4px;
}

.cockpit-flight-plan{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border:1px solid var(--line);
  background:#fff;
}

.cockpit-flight-plan[hidden],
.cockpit-flight-plan-empty[hidden]{display:none}

.cockpit-flight-step{
  min-width:0;
  min-height:272px;
  display:flex;
  flex-direction:column;
  padding:28px;
  border-right:1px solid var(--line);
  background:#fff;
  color:var(--navy);
  transition:background .18s ease,color .18s ease,box-shadow .18s ease;
}

.cockpit-flight-step:last-child{border-right:0}

.cockpit-flight-step.is-first{
  background:var(--navy);
  color:#fff;
  box-shadow:inset 0 3px 0 var(--gold);
}

.cockpit-flight-step-top{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:14px;
  margin-bottom:42px;
}

.cockpit-flight-step-top span{
  color:#735f36;
  font:800 13px/1 Arial,sans-serif;
  letter-spacing:.08em;
}

.cockpit-flight-step-top em{
  color:#735f36;
  font:850 10px/1.2 Arial,sans-serif;
  font-style:normal;
  letter-spacing:.11em;
  text-align:right;
}

.cockpit-flight-step.is-first .cockpit-flight-step-top span,
.cockpit-flight-step.is-first .cockpit-flight-step-top em{color:var(--gold2)}

.cockpit-flight-step h3{
  margin:0 0 13px;
  font:400 27px/1.08 Georgia,"Times New Roman",serif;
}

.cockpit-flight-step p{
  margin:0 0 26px;
  color:var(--muted);
  font-size:14px;
  line-height:1.55;
}

.cockpit-flight-step.is-first p{color:#c7d0d6}

.cockpit-flight-step b{
  margin-top:auto;
  color:#735f36;
  font-size:11px;
  font-weight:850;
  letter-spacing:.08em;
}

.cockpit-flight-step.is-first b{color:var(--gold2)}

.cockpit-flight-step:focus-visible{
  position:relative;
  z-index:1;
  outline:3px solid var(--gold);
  outline-offset:-3px;
}

.cockpit-instrument-list,
.cockpit-recent-list{
  border-inline:1px solid var(--line);
  background:#fff;
}

.cockpit-instrument-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}

.cockpit-instrument-title em{
  color:#735f36;
  font-size:11px;
  font-style:normal;
  font-weight:850;
  letter-spacing:.08em;
  white-space:nowrap;
}

.cockpit-empty{
  padding:30px;
  border:1px solid var(--line);
  background:#fff;
}

.cockpit-empty.compact{padding:24px}

.cockpit-empty strong{
  font:400 27px/1.15 Georgia,"Times New Roman",serif;
}

.cockpit-empty p{
  max-width:600px;
  margin:8px 0 20px;
  color:var(--muted);
}

.cockpit-empty.compact p{margin-bottom:0}

.cockpit-progress-head{align-items:center}
.cockpit-progress-head .button{flex:0 0 auto}
.cockpit-progress-head .button[hidden]{display:none}
.cockpit-progress-head .cockpit-checkpoint-gate{
  color:var(--navy);
  font-size:11px;
  transition:filter .18s ease,transform .18s ease;
}

.cockpit-checkpoints{
  display:grid;
  border-top:1px solid var(--line);
}

.cockpit-checkpoint{
  display:grid;
  grid-template-columns:132px minmax(0,1fr) auto;
  gap:20px;
  align-items:center;
  padding:20px 4px;
  border-bottom:1px solid var(--line);
}

.cockpit-checkpoint time{
  color:#735f36;
  font-size:12px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.cockpit-checkpoint strong{
  display:block;
  font:400 21px/1.25 Georgia,"Times New Roman",serif;
}

.cockpit-checkpoint p{
  margin:4px 0 0;
  color:var(--muted);
  font-size:13px;
}

.cockpit-checkpoint>span{
  color:#735f36;
  font-size:11px;
  font-weight:850;
  letter-spacing:.07em;
  text-align:right;
  text-transform:uppercase;
}

.cockpit-panel{
  padding:28px;
  border:1px solid var(--line);
  background:#fff;
}

.cockpit-panel h2{
  margin:0 0 10px;
  font:400 30px/1.08 Georgia,"Times New Roman",serif;
}

.cockpit-panel-lead{
  margin:0;
  color:var(--muted);
}

.cockpit-updated{
  min-height:18px;
  margin:8px 0 0;
  color:#735f36;
  font-size:11px;
  font-weight:750;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.cockpit-assumption-list{margin:24px 0 0}

.cockpit-assumption-list>div{
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:13px 0;
  border-top:1px solid var(--line);
}

.cockpit-assumption-list dt{
  color:var(--muted);
  font-size:12px;
}

.cockpit-assumption-list dd{
  margin:0;
  color:var(--ink);
  font:400 17px Georgia,"Times New Roman",serif;
  text-align:right;
}

.cockpit-editor{
  margin-top:19px;
  border-top:1px solid var(--line);
}

.cockpit-editor summary{
  display:flex;
  justify-content:space-between;
  gap:18px;
  min-height:48px;
  padding:16px 0;
  color:#735f36;
  cursor:pointer;
  list-style:none;
  font-size:12px;
  font-weight:850;
  letter-spacing:.07em;
  text-transform:uppercase;
  transition:color .18s ease;
}

.cockpit-editor summary::-webkit-details-marker{display:none}
.cockpit-editor summary span{transition:transform .18s ease}
.cockpit-editor[open] summary span{transform:rotate(45deg)}
.cockpit-editor summary:focus-visible{color:var(--navy);outline:2px solid var(--gold);outline-offset:3px}
.cockpit-editor form{padding-top:8px}
.cockpit-editor .retirement-fields{grid-template-columns:1fr}
.cockpit-editor .actions{margin-top:18px}

.cockpit-editor input[aria-invalid="true"]{
  border-color:#9c3f38;
  box-shadow:0 0 0 3px rgba(156,63,56,.12);
}

.cockpit-account-views{display:block}
.cockpit-account-view[hidden]{display:none}

.cockpit-account-view h3{
  margin:0 0 8px;
  color:var(--ink);
  font:400 22px/1.18 Georgia,"Times New Roman",serif;
}

.cockpit-account-view h3:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:4px;
}

.cockpit-account-view>p{
  margin:0 0 17px;
  color:var(--muted);
  font-size:13px;
  line-height:1.6;
}

.cockpit-account-view>p+p{margin-top:-8px}

.cockpit-account-form{
  display:grid;
  gap:8px;
  margin-top:16px;
}

.cockpit-account-form label>span{
  display:block;
  color:var(--muted);
  font-size:12px;
  font-weight:750;
  letter-spacing:.07em;
  text-transform:uppercase;
}

.cockpit-account-form input{
  width:100%;
  min-height:51px;
  padding:11px 12px;
  border:1px solid var(--line);
  border-radius:0;
  background:#fdfcf9;
  color:var(--ink);
  font:400 17px/1.35 Georgia,"Times New Roman",serif;
  letter-spacing:0;
  outline:none;
  transition:border-color .18s ease,box-shadow .18s ease;
}

.cockpit-account-form input:focus{
  border-color:var(--gold);
  box-shadow:0 0 0 3px rgba(183,152,93,.18);
}

.cockpit-account-form input[aria-invalid="true"]{
  border-color:#9c3f38;
  box-shadow:0 0 0 3px rgba(156,63,56,.12);
}

.cockpit-account-form .button{
  width:100%;
  margin-top:3px;
}

.cockpit-code-input{
  font-variant-numeric:lining-nums tabular-nums;
  letter-spacing:.12em!important;
}

.cockpit-account-help{
  display:block;
  margin-top:2px;
  color:var(--muted);
  font-size:12px;
  line-height:1.55;
}

.cockpit-account-email{
  color:var(--ink);
  overflow-wrap:anywhere;
}

.cockpit-account-detail{margin-bottom:9px!important}

.cockpit-account-updated{
  min-height:17px;
  margin:0 0 13px!important;
  color:#735f36!important;
  font-size:11px!important;
  font-weight:750;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.cockpit-account-actions{
  display:grid;
  gap:8px;
  margin-top:14px;
}

.cockpit-account-actions .button,
.cockpit-choice-exit,
.cockpit-account-unavailable .button{width:100%}

.cockpit-choice-exit{margin-top:8px}

.cockpit-mast .eyebrow.gold{color:#d4b780}
.cockpit-account-shortcut{display:inline-flex;align-items:center;min-height:44px;color:#e6edf2;font-size:13px}
.cockpit-saved-decisions{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.cockpit-saved-decisions .cockpit-flight-step{cursor:default}
.cockpit-saved-value{display:block;font-size:30px;color:var(--navy);overflow-wrap:anywhere;margin-top:16px}
.cockpit-saved-decisions time{display:block;font-size:12px;line-height:1.6;color:var(--muted);margin-top:18px}
.cockpit-saved-decisions a{display:inline-flex;align-items:center;min-height:44px;font-size:13px;margin-top:8px}

.cockpit-sync-choices{
  display:grid;
  gap:8px;
  margin-top:18px;
}

.cockpit-sync-option{
  width:100%;
  min-height:118px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:0;
  background:#f7f4ed;
  color:var(--ink);
  display:grid;
  gap:5px;
  text-align:left;
  cursor:pointer;
  appearance:none;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease;
}

.cockpit-sync-option>span{
  color:#735f36;
  font-size:11px;
  font-weight:850;
  letter-spacing:.11em;
}

.cockpit-sync-option>strong{
  color:var(--ink);
  font:400 20px/1.2 Georgia,"Times New Roman",serif;
}

.cockpit-sync-option>small{
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}

.cockpit-sync-option>em{
  color:#7e302b;
  font-size:11px;
  font-style:normal;
  font-weight:750;
  line-height:1.45;
}

.cockpit-sync-option:focus-visible{
  background:var(--navy);
  border-color:var(--gold);
  color:#fff;
  outline:2px solid var(--gold);
  outline-offset:2px;
  transform:translateY(-2px);
  box-shadow:0 14px 28px rgba(11,27,42,.13);
}

.cockpit-sync-option:focus-visible>span,
.cockpit-sync-option:focus-visible>em{color:var(--gold2)}
.cockpit-sync-option:focus-visible>strong{color:#fff}
.cockpit-sync-option:focus-visible>small{color:#aeb9c1}

.cockpit-account[data-account-state="pending"] .cockpit-private-state,
.cockpit-account[data-account-state="code-entry"] .cockpit-private-state,
.cockpit-account[data-account-state="choice"] .cockpit-private-state,
.cockpit-account[data-account-state="unavailable"] .cockpit-private-state,
.cockpit-account[data-account-state="offline"] .cockpit-private-state{border-left-color:#d4a15e}

.cockpit-account[data-account-state="pending"] .cockpit-private-state>i,
.cockpit-account[data-account-state="code-entry"] .cockpit-private-state>i,
.cockpit-account[data-account-state="choice"] .cockpit-private-state>i,
.cockpit-account[data-account-state="unavailable"] .cockpit-private-state>i,
.cockpit-account[data-account-state="offline"] .cockpit-private-state>i{
  background:#d4a15e;
  box-shadow:0 0 0 3px rgba(212,161,94,.13);
}

.cockpit-account[data-account-state="error"] .cockpit-private-state{border-left-color:#9c3f38}
.cockpit-account[data-account-state="error"] .cockpit-private-state>i{
  background:#9c3f38;
  box-shadow:0 0 0 3px rgba(156,63,56,.13);
}

.cockpit-private-state{
  display:grid;
  grid-template-columns:10px 1fr;
  gap:12px;
  align-items:start;
  margin:23px 0;
  padding:17px;
  background:#f3f0e9;
  border-left:3px solid #6f987d;
}

.cockpit-private-state.is-blocked{border-left-color:#d4a15e}

.cockpit-private-state strong,
.cockpit-private-state span{display:block}

.cockpit-private-state span{
  margin-top:3px;
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}

.cockpit-privacy ul{
  margin:0 0 22px;
  padding-left:18px;
  color:var(--muted);
}

.cockpit-privacy li+li{margin-top:7px}

.cockpit-data-controls{
  margin-top:23px;
  padding-top:20px;
  border-top:1px solid var(--line);
}

.cockpit-data-controls p{margin:0}

.cockpit-data-controls p:last-child{
  margin:5px 0 14px;
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}

.cockpit-control-label{
  color:#735f36;
  font-size:11px;
  font-weight:850;
  letter-spacing:.1em;
}

.cockpit-privacy-actions{display:grid;gap:8px}
.cockpit-privacy-actions .button{width:100%}

:where(#exportCockpit){
  color:#735f36;
  -webkit-text-fill-color:currentColor;
}

.cockpit-danger{
  border-color:#9c3f38;
  color:#7e302b;
}

.cockpit-danger.is-armed{
  background:#7e302b;
  border-color:#7e302b;
  color:#fff;
}

.cockpit-export-note{
  margin:14px 0 0;
  color:var(--muted);
  font-size:12px;
  line-height:1.55;
}

.cockpit-action-status{
  min-height:20px;
  margin:10px 0 0;
  color:#586673;
  font-size:12px;
  line-height:1.5;
}

.cockpit-command .cockpit-action-status{color:#c4cdd3}

.cockpit-text-link{display:inline-block;margin-top:12px}

.cockpit-page button:disabled{
  cursor:not-allowed;
  opacity:.48;
  transform:none!important;
  box-shadow:none!important;
}

.cockpit-progress-head #recordCheckpoint:disabled{
  border-color:var(--gold);
  background:#e8e0cf;
  color:#6f5b34;
  opacity:1;
}

.cockpit-noscript{
  margin-block:30px;
  padding:22px;
  border:1px solid var(--line);
  background:#fff;
}

@media (hover:hover) and (pointer:fine){
  .cockpit-section-head>a:hover,
  .cockpit-text-link:hover{color:var(--navy);transform:translateX(3px)}

  .cockpit-flight-step:hover{
    background:#f7f3ea;
    box-shadow:inset 0 3px 0 var(--gold);
  }

  .cockpit-flight-step.is-first:hover{background:#0a1c2b}

  .cockpit-editor summary:hover{color:var(--navy)}

  .cockpit-sync-option:hover{
    background:var(--navy);
    border-color:var(--gold);
    color:#fff;
    transform:translateY(-2px);
    box-shadow:0 14px 28px rgba(11,27,42,.13);
  }

  .cockpit-sync-option:hover>span,
  .cockpit-sync-option:hover>em{color:var(--gold2)}
  .cockpit-sync-option:hover>strong{color:#fff}
  .cockpit-sync-option:hover>small{color:#aeb9c1}

  .cockpit-danger:hover{
    background:#7e302b!important;
    border-color:#7e302b!important;
    color:#fff!important;
  }
}

@media (hover:none),(pointer:coarse){
  .cockpit-flight-step:is(:active,.twl-press){
    background:#f7f3ea!important;
    box-shadow:inset 0 3px 0 var(--gold)!important;
  }

  .cockpit-flight-step.is-first:is(:active,.twl-press){
    background:#0a1c2b!important;
    color:#fff!important;
  }

  .cockpit-sync-option:is(:active,.twl-press){
    background:var(--navy)!important;
    border-color:var(--gold)!important;
    color:#fff!important;
    box-shadow:inset 0 0 0 1px var(--gold)!important;
    transform:none!important;
  }

  .cockpit-sync-option:is(:active,.twl-press)>span,
  .cockpit-sync-option:is(:active,.twl-press)>em{color:var(--gold2)!important}
  .cockpit-sync-option:is(:active,.twl-press)>strong{color:#fff!important}
  .cockpit-sync-option:is(:active,.twl-press)>small{color:#aeb9c1!important}
}

.cockpit-danger:focus-visible{
  background:#7e302b!important;
  border-color:#7e302b!important;
  color:#fff!important;
}

@media(max-width:920px){
  .cockpit-command .cockpit-command-grid,
  .cockpit-layout{grid-template-columns:1fr}

  .cockpit-command .plan-position,
  .cockpit-command .plan-next{min-height:0}

  .cockpit-rail{
    position:static;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:700px){
  .cockpit-mast{grid-template-columns:1fr;gap:22px}
  .cockpit-storage-state{min-width:0;width:100%}
  .cockpit-rail{grid-template-columns:1fr}
  .cockpit-flight-plan{grid-template-columns:1fr}
  .cockpit-flight-step{
    min-height:0;
    border-right:0;
    border-bottom:1px solid var(--line);
  }
  .cockpit-flight-step:last-child{border-bottom:0}
  .cockpit-flight-step-top{margin-bottom:28px}
  .cockpit-checkpoint{grid-template-columns:1fr;gap:5px}
  .cockpit-checkpoint>span{text-align:left}
}

@media(max-width:580px){
  .cockpit-command{padding-block:38px 42px}
  .cockpit-mast{margin-bottom:24px}
  .cockpit-mast h1{
    max-width:100%;
    font-size:clamp(38px,10.2vw,42px);
    line-height:1.01;
    letter-spacing:-.035em;
  }
  .cockpit-mast-deck{margin-top:10px;font-size:15px}
  .cockpit-body{padding-block:48px 58px}
  .cockpit-layout,
  .cockpit-main,
  .cockpit-rail{gap:30px}
  .cockpit-section-head{display:block}
  .cockpit-section-head>a,
  .cockpit-progress-head .button{display:inline-flex;margin-top:13px;width:100%}
  .cockpit-panel{padding:22px 19px}
  .cockpit-instrument-title{align-items:flex-start;flex-direction:column;gap:3px}
  .cockpit-instrument-title em{white-space:normal}
  .cockpit-empty{padding:22px 19px}
  .cockpit-assumption-list>div{gap:12px}
  .cockpit-assumption-list dt{max-width:58%}
  .cockpit-sync-option{min-height:0;padding:15px}
}

@media(prefers-reduced-motion:reduce){
  .cockpit-section-head>a,
  .cockpit-text-link,
  .cockpit-flight-step,
  .cockpit-editor summary,
  .cockpit-editor summary span,
  .cockpit-account-form input,
  .cockpit-sync-option{transition:none!important}
}

.cockpit-level-reason{color:#d5dde2;font-size:14px;line-height:1.6;max-width:42ch}
.cockpit-level-reason:empty{display:none}
