/*
 * Internal feature experience system
 * The public dashboard is intentionally excluded.  All rules below apply only
 * after the user enters a working page.
 */

body:not(.home-screen){
  --feature-ink:#241f20;
  --feature-muted:#70686a;
  --feature-subtle:#968d8f;
  --feature-line:#e8dfe0;
  --feature-line-strong:#dbcfd1;
  --feature-surface:#fff;
  --feature-surface-soft:#faf7f7;
  --feature-brand:#9d222b;
  --feature-brand-dark:#761920;
  --feature-brand-soft:#f9eaeb;
  --feature-warning:#9b641b;
  --feature-warning-soft:#fff7ea;
  --feature-success:#386c5d;
  --feature-success-soft:#edf6f2;
  --feature-radius-card:20px;
  --feature-radius-control:12px;
  --feature-shadow:0 10px 30px rgba(63,33,36,.065);
  color:var(--feature-ink);
  background:#faf8f8;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* Smart-travel text and press-to-talk intake */
body:not(.home-screen) .trip-intake{
  display:grid;
  gap:10px;
  padding:13px;
  border:1px solid var(--feature-line);
  border-radius:16px;
  background:var(--feature-surface-soft);
}

body:not(.home-screen) .trip-intake-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

body:not(.home-screen) .trip-intake-head>div:first-child{
  min-width:0;
  display:grid;
  gap:3px;
}

body:not(.home-screen) .trip-intake-head strong{
  color:var(--feature-ink);
  font-size:14px;
  font-weight:760;
}

body:not(.home-screen) .trip-intake-head small{
  color:var(--feature-muted);
  font-size:11px;
  line-height:1.5;
}

body:not(.home-screen) .trip-intake-mode{
  flex:0 0 auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:3px;
  padding:3px;
  border-radius:10px;
  background:#eee7e8;
}

body:not(.home-screen) .trip-intake-mode button{
  min-width:48px;
  min-height:30px;
  padding:5px 8px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:var(--feature-muted);
  font-size:11px;
  font-weight:760;
}

body:not(.home-screen) .trip-intake-mode button.active{
  background:#fff;
  color:var(--feature-brand);
  box-shadow:0 3px 10px rgba(63,33,36,.08);
}

body:not(.home-screen) .trip-text-input-panel textarea{
  min-height:104px;
  max-height:220px;
  padding:11px 12px;
  border-color:var(--feature-line-strong);
  background:#fff;
  font-size:13px;
  line-height:1.6;
}

body:not(.home-screen) .trip-voice-input-panel{
  display:grid;
  gap:7px;
}

body:not(.home-screen) .trip-voice-hold{
  width:100%;
  min-height:104px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:16px;
  border:1px solid #dfc9cb;
  border-radius:14px;
  background:#fff;
  color:var(--feature-brand);
  box-shadow:0 5px 16px rgba(63,33,36,.045);
  touch-action:none;
  user-select:none;
  -webkit-user-select:none;
  -webkit-touch-callout:none;
}

body:not(.home-screen) .trip-voice-hold>strong{
  font-size:15px;
  font-weight:780;
}

body:not(.home-screen) .trip-voice-hold>small{
  color:var(--feature-muted);
  font-size:11px;
}

body:not(.home-screen) .trip-voice-hold.recording{
  border-color:var(--feature-brand);
  background:var(--feature-brand-soft);
  box-shadow:0 0 0 3px rgba(157,34,43,.1);
}

body:not(.home-screen) .trip-voice-hold.canceling{
  border-color:#c49655;
  background:var(--feature-warning-soft);
  color:var(--feature-warning);
  box-shadow:0 0 0 3px rgba(155,100,27,.1);
}

body:not(.home-screen) .trip-voice-hold:disabled{
  cursor:not-allowed;
  opacity:.62;
}

body:not(.home-screen) :is(.trip-voice-status,.trip-intake-feedback){
  margin:0;
  color:var(--feature-muted);
  font-size:11px;
  line-height:1.5;
}

body:not(.home-screen) :is(.trip-voice-status,.trip-intake-feedback).error{
  color:var(--feature-warning);
}

body:not(.home-screen) .trip-intake-feedback{
  padding:8px 9px;
  border-radius:9px;
  background:var(--feature-success-soft);
  color:var(--feature-success);
}

body:not(.home-screen) .trip-intake-feedback.error{
  background:var(--feature-warning-soft);
}

body:not(.home-screen) .trip-date-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

@media(max-width:620px){
  body:not(.home-screen) .trip-intake{
    padding:10px;
  }

  body:not(.home-screen) .trip-intake-head{
    gap:8px;
  }

  body:not(.home-screen) .trip-intake-head small{
    font-size:11px;
  }

  body:not(.home-screen) .trip-intake-mode button{
    min-width:42px;
    padding-inline:6px;
  }

  body:not(.home-screen) .trip-text-input-panel textarea,
  body:not(.home-screen) .trip-voice-hold{
    min-height:96px;
  }

  body:not(.home-screen) .trip-voice-hold{
    flex-direction:column;
    gap:4px;
  }

  body:not(.home-screen) .trip-voice-hold>small{
    text-align:center;
  }

  body:not(.home-screen) .trip-date-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

body:not(.home-screen) .workspace{
  width:100%!important;
  max-width:100%!important;
  padding:24px clamp(16px,3vw,40px) calc(94px + env(safe-area-inset-bottom))!important;
}

body:not(.home-screen) :is(.admin-feature-view,.documents-view,.claim-flow){
  width:min(1040px,100%);
  margin:0 auto;
}

body:not(.home-screen) .trip-planner-view{
  width:min(1280px,100%);
  margin:0 auto;
}

body:not(.home-screen) :is(.admin-feature-view,.documents-view,.claim-flow,.trip-planner-view){
  padding-top:0;
  padding-bottom:18px;
}

body:not(.home-screen) :is(.admin-feature-view,.documents-view,.claim-flow,.trip-planner-view) :is(h1,h2,h3,p){
  text-wrap:pretty;
}

/* Page identity */
body:not(.home-screen) :is(.documents-head,.claim-flow-head){
  display:flex;
  align-items:center;
  gap:14px;
  min-height:64px;
  margin:0 0 18px;
}

body:not(.home-screen) .documents-head>div,
body:not(.home-screen) .claim-flow-head>div{
  min-width:0;
  display:grid;
  gap:3px;
}

body:not(.home-screen) .documents-head h1{
  margin:0;
  color:var(--feature-ink);
  font-size:28px;
  font-weight:760;
  line-height:1.25;
  letter-spacing:-.025em;
}

body:not(.home-screen) .documents-head p:not(.eyebrow),
body:not(.home-screen) .claim-flow-head small{
  margin:0;
  color:var(--feature-muted);
  font-size:13px;
  line-height:1.5;
}

body:not(.home-screen) .claim-flow-head strong{
  color:var(--feature-ink);
  font-size:22px;
  font-weight:760;
  line-height:1.25;
}

body:not(.home-screen) .eyebrow{
  margin:0 0 3px;
  color:var(--feature-brand);
  font-size:10px;
  font-weight:800;
  line-height:1.2;
  letter-spacing:.12em;
  text-transform:uppercase;
}

body:not(.home-screen) .round-back{
  width:46px;
  height:46px;
  flex:0 0 46px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid var(--feature-line);
  border-radius:14px;
  background:var(--feature-surface);
  color:var(--feature-brand);
  box-shadow:0 5px 18px rgba(63,33,36,.055);
  font-size:22px;
  font-weight:650;
  transition:border-color .16s ease,background .16s ease,transform .16s ease;
}

body:not(.home-screen) .round-back:active{
  transform:scale(.97);
  background:var(--feature-brand-soft);
}

body:not(.home-screen) .page-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin:0 0 18px;
}

body:not(.home-screen) .page-heading h1{
  margin:2px 0 5px;
  color:var(--feature-ink);
  font-size:27px;
  font-weight:760;
  line-height:1.25;
  letter-spacing:-.025em;
}

body:not(.home-screen) .page-heading p:not(.eyebrow){
  margin:0;
  color:var(--feature-muted);
  font-size:13px;
  line-height:1.55;
}

/* Surfaces and sections */
body:not(.home-screen) :is(.card,.feature-card,.document-claim-card,.pending-group-card){
  border:1px solid var(--feature-line);
  border-radius:var(--feature-radius-card);
  background:var(--feature-surface);
  box-shadow:var(--feature-shadow);
}

body:not(.home-screen) .card{
  padding:22px;
}

body:not(.home-screen) .section-title{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin:0 0 16px;
}

body:not(.home-screen) .section-title>div{
  min-width:0;
}

body:not(.home-screen) .section-title h2{
  margin:2px 0 0;
  color:var(--feature-ink);
  font-size:19px;
  font-weight:740;
  line-height:1.35;
}

body:not(.home-screen) .section-title small{
  color:var(--feature-muted);
  font-size:12px;
  line-height:1.5;
}

body:not(.home-screen) :is(.form-card,.feature-admin-card,.trip-planner-form){
  border-color:var(--feature-line);
}

/* Controls */
body:not(.home-screen) :is(.claim-flow,.trip-planner-view,.admin-feature-view,.documents-view,.modal-card) label{
  color:#41393a;
  font-size:13px;
  font-weight:680;
  line-height:1.45;
}

body:not(.home-screen) :is(.claim-flow,.trip-planner-view,.admin-feature-view,.documents-view,.modal-card)
  :is(input:not([type="radio"]):not([type="checkbox"]),select,textarea){
  width:100%;
  min-height:44px;
  padding:10px 12px;
  border:1px solid var(--feature-line-strong);
  border-radius:var(--feature-radius-control);
  outline:0;
  background:#fff;
  color:var(--feature-ink);
  font-size:14px;
  font-weight:500;
  line-height:1.45;
  box-shadow:none;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}

body:not(.home-screen) :is(.claim-flow,.trip-planner-view,.admin-feature-view,.documents-view,.modal-card)
  :is(input:not([type="radio"]):not([type="checkbox"]),select,textarea)::placeholder{
  color:#aaa1a3;
  font-weight:450;
}

body:not(.home-screen) :is(.claim-flow,.trip-planner-view,.admin-feature-view,.documents-view,.modal-card)
  :is(input:not([type="radio"]):not([type="checkbox"]),select,textarea):focus{
  border-color:#ba6269;
  box-shadow:0 0 0 3px rgba(157,34,43,.09);
}

body:not(.home-screen) :is(.claim-flow,.trip-planner-view,.admin-feature-view,.documents-view,.modal-card)
  input[readonly]{
  background:#f6f3f3;
  color:#62595b;
}

body:not(.home-screen) textarea{
  resize:vertical;
}

body:not(.home-screen) .button{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:10px 17px;
  border:1px solid transparent;
  border-radius:12px;
  font-size:13px;
  font-weight:760;
  line-height:1.3;
  box-shadow:none;
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease;
}

body:not(.home-screen) .button.primary{
  border-color:var(--feature-brand);
  background:var(--feature-brand);
  color:#fff;
  box-shadow:0 7px 16px rgba(126,27,34,.14);
}

body:not(.home-screen) .button.ghost{
  border-color:var(--feature-line-strong);
  background:#fff;
  color:var(--feature-brand);
}

body:not(.home-screen) .button.danger{
  border-color:#b82d38;
  background:#b82d38;
  color:#fff;
}

body:not(.home-screen) .button:active{
  transform:translateY(1px);
}

body:not(.home-screen) .button:disabled{
  opacity:.55;
  box-shadow:none;
  cursor:not-allowed;
}

body:not(.home-screen) .form-hint{
  margin:10px 0 0;
  color:var(--feature-muted);
  font-size:12px;
  line-height:1.65;
}

/* Reimbursement progress */
body:not(.home-screen) .claim-flow-head{
  margin-bottom:12px;
}

body:not(.home-screen) .stepper{
  display:grid;
  grid-template-columns:auto 1fr auto 1fr auto 1fr auto 1fr auto;
  align-items:start;
  gap:9px;
  margin:0 0 26px;
  padding:15px 18px;
  border:1px solid var(--feature-line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 7px 24px rgba(63,33,36,.045);
}

body:not(.home-screen) .stepper button{
  min-width:62px;
  display:grid;
  justify-items:center;
  gap:6px;
  padding:0;
  border:0;
  background:transparent;
  color:var(--feature-subtle);
  font-size:11px;
  font-weight:650;
  line-height:1.3;
}

body:not(.home-screen) .stepper button b{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:#f2eeee;
  color:#847a7c;
  font-size:12px;
  font-weight:800;
}

body:not(.home-screen) .stepper button.active{
  color:var(--feature-brand);
  font-weight:760;
}

body:not(.home-screen) .stepper button.active b{
  background:var(--feature-brand);
  color:#fff;
  box-shadow:0 6px 14px rgba(126,27,34,.18);
}

body:not(.home-screen) .stepper button.done b{
  background:#f2dadd;
  color:var(--feature-brand);
}

body:not(.home-screen) .stepper i{
  height:1px;
  margin-top:16px;
  background:var(--feature-line);
}

body:not(.home-screen) .content-grid{
  gap:18px;
}

body:not(.home-screen) .claim-create-grid{
  grid-template-columns:minmax(0,760px)!important;
}

body:not(.home-screen) .compact-claim-form{
  display:grid;
  gap:17px;
}

body:not(.home-screen) :is(.field-group,.compact-claim-form label,.travel-fields label){
  display:grid;
  gap:7px;
}

body:not(.home-screen) .field-label{
  color:#41393a;
  font-size:13px;
  font-weight:680;
}

body:not(.home-screen) .segmented{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  padding:4px;
  border:1px solid var(--feature-line);
  border-radius:14px;
  background:var(--feature-surface-soft);
}

body:not(.home-screen) .segmented label{
  min-width:0;
}

body:not(.home-screen) .segmented label span{
  min-height:42px;
  display:grid;
  place-items:center;
  border:1px solid transparent;
  border-radius:10px;
  color:var(--feature-muted);
  font-size:13px;
  font-weight:720;
}

body:not(.home-screen) .segmented input:checked+span{
  border-color:#e4c8ca;
  background:#fff;
  color:var(--feature-brand);
  box-shadow:0 4px 13px rgba(63,33,36,.055);
}

body:not(.home-screen) .claim-basic-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

body:not(.home-screen) .travel-fields{
  display:grid;
  gap:12px;
  padding:16px;
  border:1px solid var(--feature-line);
  border-radius:16px;
  background:var(--feature-surface-soft);
}

/* Ticket intake */
body:not(.home-screen) .upload-card{
  display:grid;
  gap:16px;
}

body:not(.home-screen) .upload-zone{
  min-height:0;
  display:grid;
  justify-items:center;
  gap:7px;
  padding:22px;
  border:1px solid #e5cdcf;
  border-radius:18px;
  background:#fdf9f9;
}

body:not(.home-screen) .upload-zone>strong{
  color:var(--feature-ink);
  font-size:18px;
  font-weight:740;
}

body:not(.home-screen) .upload-zone>small{
  max-width:680px;
  color:var(--feature-muted);
  font-size:12px;
  line-height:1.65;
}

body:not(.home-screen) .invoice-entry-grid{
  width:100%;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:9px;
}

body:not(.home-screen) .invoice-entry-card{
  min-height:130px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:6px;
  padding:16px 10px;
  border:1px solid var(--feature-line);
  border-radius:16px;
  background:#fff;
  color:var(--feature-ink);
  box-shadow:0 5px 18px rgba(63,33,36,.045);
}

body:not(.home-screen) .invoice-entry-card>span{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:var(--feature-brand-soft);
  color:var(--feature-brand);
  font-size:20px;
  font-weight:800;
}

body:not(.home-screen) .invoice-entry-card strong{
  font-size:14px;
  font-weight:740;
}

body:not(.home-screen) .invoice-entry-card small{
  color:var(--feature-muted);
  font-size:11px;
  font-weight:500;
  line-height:1.5;
}

body:not(.home-screen) .gallery-capability{
  margin-top:3px;
  color:var(--feature-brand)!important;
  font-size:11px!important;
}

body:not(.home-screen) :is(.pending-picker-entry,.existing-document-card){
  border:1px solid var(--feature-line);
  border-radius:16px;
  background:var(--feature-surface-soft);
}

body:not(.home-screen) .pending-picker-entry{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 16px;
}

body:not(.home-screen) .pending-picker-entry>div{
  display:grid;
  gap:3px;
}

body:not(.home-screen) .pending-picker-entry strong{
  font-size:14px;
}

body:not(.home-screen) .pending-picker-entry small{
  color:var(--feature-muted);
  font-size:12px;
  line-height:1.5;
}

body:not(.home-screen) .processing-card{
  margin-top:16px;
  gap:16px;
}

body:not(.home-screen) .processing-card h2{
  margin:0 0 5px;
  font-size:18px;
}

body:not(.home-screen) .processing-card p,
body:not(.home-screen) .progress-copy{
  color:var(--feature-muted);
  font-size:13px;
  line-height:1.6;
}

/* Analysis and decision */
body:not(.home-screen) .result-section{
  margin-bottom:14px;
}

body:not(.home-screen) .summary-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:10px;
}

body:not(.home-screen) .metric-card{
  min-width:0;
  padding:16px;
  border:1px solid var(--feature-line);
  border-radius:14px;
  background:var(--feature-surface-soft);
}

body:not(.home-screen) .metric-card span{
  color:var(--feature-muted);
  font-size:12px;
}

body:not(.home-screen) .metric-card strong{
  margin-top:5px;
  color:var(--feature-brand);
  font-size:21px;
  line-height:1.25;
}

body:not(.home-screen) .risk-list{
  display:grid;
  gap:9px;
}

body:not(.home-screen) .risk-item{
  padding:14px 15px;
  border:1px solid var(--feature-line);
  border-left:3px solid #c69a4c;
  border-radius:13px;
  background:#fffdf8;
}

body:not(.home-screen) .risk-item.low{
  border-left-color:#bf6b72;
  background:#fff9f9;
}

body:not(.home-screen) .risk-item h3{
  margin:0;
  font-size:14px;
  font-weight:740;
  line-height:1.45;
}

body:not(.home-screen) .risk-item p{
  margin:5px 0 0;
  color:var(--feature-muted);
  font-size:12px;
  line-height:1.65;
}

body:not(.home-screen) .amount-comparison{
  margin-bottom:14px;
  font-size:13px;
  line-height:1.65;
}

body:not(.home-screen) .invoice-list{
  display:grid;
  gap:8px;
}

body:not(.home-screen) .invoice-compact-row{
  border:1px solid var(--feature-line);
  border-radius:13px;
  background:#fff;
  overflow:hidden;
}

body:not(.home-screen) .invoice-compact-open{
  min-height:54px;
  padding:11px 13px;
}

body:not(.home-screen) .invoice-compact-open :is(strong,b){
  font-size:13px;
}

body:not(.home-screen) .invoice-compact-open :is(time,span){
  color:var(--feature-muted);
  font-size:11px;
}

body:not(.home-screen) .invoice-compact-delete{
  border-left-color:var(--feature-line);
  font-size:11px;
}

body:not(.home-screen) .action-bar{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:16px;
}

body:not(.home-screen) .decision-card{
  gap:16px;
}

body:not(.home-screen) .decision-option{
  padding:19px;
  border:1px solid var(--feature-line);
  border-radius:16px;
  background:var(--feature-surface-soft);
}

body:not(.home-screen) .decision-option h2{
  margin:0 0 6px;
  font-size:18px;
}

body:not(.home-screen) .decision-option p{
  margin:0 0 13px;
  color:var(--feature-muted);
  font-size:13px;
  line-height:1.6;
}

body:not(.home-screen) .decision-option textarea{
  margin-bottom:12px;
}

/* Workflow */
body:not(.home-screen) .workflow-grid{
  display:grid!important;
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)!important;
  align-items:start;
  gap:18px;
}

body:not(.home-screen) .workflow-summary{
  font-size:13px;
  line-height:1.7;
}

body:not(.home-screen) .workflow-note{
  padding:14px;
  border-radius:13px;
  background:var(--feature-surface-soft);
}

body:not(.home-screen) .workflow-note :is(span,pre){
  font-size:12px;
  line-height:1.7;
}

body:not(.home-screen) .workflow-route-intro{
  margin:-4px 0 14px;
  color:var(--feature-muted);
  font-size:12px;
}

body:not(.home-screen) .workflow-nodes{
  display:grid;
  gap:9px;
}

body:not(.home-screen) .workflow-node{
  gap:10px;
  padding:13px;
  border:1px solid var(--feature-line);
  border-radius:14px;
  background:var(--feature-surface-soft);
}

body:not(.home-screen) .workflow-node .node-index{
  width:34px;
  height:34px;
  border-radius:10px;
  background:var(--feature-brand-soft);
  color:var(--feature-brand);
}

body:not(.home-screen) .workflow-node-title{
  font-size:13px;
  font-weight:740;
}

body:not(.home-screen) :is(.workflow-label-field,.workflow-person-field){
  gap:5px;
  color:var(--feature-muted);
  font-size:11px;
}

body:not(.home-screen) :is(.workflow-label-input,.workflow-person-input){
  min-height:40px!important;
  padding:8px 10px!important;
  font-size:13px!important;
}

/* Document center */
body:not(.home-screen) .document-tabs{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin:0 0 14px;
  padding:4px;
  border:1px solid var(--feature-line);
  border-radius:16px;
  background:#f5f1f1;
}

body:not(.home-screen) .document-tabs button{
  min-width:0;
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:9px 12px;
  border:1px solid transparent;
  border-radius:12px;
  background:transparent;
  color:var(--feature-muted);
  font-size:13px;
  font-weight:720;
  box-shadow:none;
}

body:not(.home-screen) .document-tabs button small{
  min-width:22px;
  height:22px;
  display:grid;
  place-items:center;
  margin:0;
  border-radius:8px;
  background:#ebe5e6;
  color:#6f6567;
  font-size:10px;
}

body:not(.home-screen) .document-tabs button.active{
  border-color:#e5d8d9;
  background:#fff;
  color:var(--feature-brand);
  box-shadow:0 4px 14px rgba(63,33,36,.05);
}

body:not(.home-screen) .document-tabs button.active small{
  background:var(--feature-brand-soft);
  color:var(--feature-brand);
}

body:not(.home-screen) .document-panel{
  min-height:240px;
}

body:not(.home-screen) :is(.document-claim-list,.pending-group-list){
  display:grid;
  gap:9px;
}

body:not(.home-screen) .document-claim-card{
  border-radius:15px;
  box-shadow:0 5px 18px rgba(63,33,36,.045);
}

body:not(.home-screen) .compact-document-row .document-claim-open{
  min-height:68px;
  padding:13px 56px 13px 15px;
  gap:10px;
}

body:not(.home-screen) .compact-document-row :is(time,span){
  color:var(--feature-muted);
  font-size:12px;
}

body:not(.home-screen) .compact-document-row strong,
body:not(.home-screen) .compact-document-row b{
  font-size:13px;
}

body:not(.home-screen) .document-flow-state{
  padding:5px 8px;
  border-radius:8px;
  font-size:10px;
}

body:not(.home-screen) .pending-toolbar{
  margin:0 0 10px;
  padding:14px 16px;
  border:1px solid var(--feature-line);
  border-radius:16px;
  background:#fff;
}

body:not(.home-screen) .pending-toolbar strong{
  font-size:14px;
}

body:not(.home-screen) .pending-toolbar small{
  color:var(--feature-muted);
  font-size:12px;
  line-height:1.5;
}

body:not(.home-screen) .compact-pending-group{
  padding:13px 14px;
  border-radius:15px;
  box-shadow:0 5px 18px rgba(63,33,36,.045);
}

body:not(.home-screen) .compact-pending-group header strong{
  font-size:13px;
}

body:not(.home-screen) .compact-pending-group header :is(small,em){
  font-size:11px;
}

body:not(.home-screen) .compact-pending-group .pending-doc{
  padding:8px 9px;
}

body:not(.home-screen) .compact-pending-group .pending-doc strong{
  font-size:12px;
}

body:not(.home-screen) .compact-pending-group .pending-doc small{
  font-size:10px;
}

body:not(.home-screen) .empty-document{
  min-height:220px;
  border-color:var(--feature-line-strong);
  border-radius:18px;
  background:#fff;
}

body:not(.home-screen) .empty-document strong{
  font-size:16px;
}

body:not(.home-screen) .empty-document p{
  color:var(--feature-muted);
  font-size:12px;
}

/* Management pages */
body:not(.home-screen) .admin-feature-view{
  max-width:980px;
}

body:not(.home-screen) .feature-search-bar{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:9px;
  margin:0 0 14px;
  padding:12px;
  border:1px solid var(--feature-line);
  border-radius:16px;
  background:#fff;
  box-shadow:0 6px 22px rgba(63,33,36,.04);
}

body:not(.home-screen) .feature-search-bar:has(input+input){
  grid-template-columns:minmax(0,1.5fr) minmax(140px,.7fr) auto;
}

body:not(.home-screen) .feature-admin-card{
  margin-bottom:14px;
  padding:20px;
}

body:not(.home-screen) .feature-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

body:not(.home-screen) .feature-form-grid textarea{
  grid-column:1/-1;
}

body:not(.home-screen) .feature-form-grid>.button{
  justify-self:end;
}

body:not(.home-screen) .feature-file-picker{
  min-height:44px;
  display:flex!important;
  align-items:center;
  justify-content:center;
  padding:9px 12px;
  border:1px dashed #cfa8ab;
  border-radius:12px;
  background:#fffafa;
  color:var(--feature-brand)!important;
  font-size:12px!important;
}

body:not(.home-screen) .feature-list{
  display:grid;
  gap:10px;
}

body:not(.home-screen) .feature-card{
  gap:10px;
  padding:17px 18px;
  border-radius:16px;
  box-shadow:0 5px 18px rgba(63,33,36,.045);
}

body:not(.home-screen) .feature-card header strong,
body:not(.home-screen) .feature-card>strong{
  font-size:15px;
  font-weight:740;
}

body:not(.home-screen) .feature-card :is(p,span,small){
  font-size:12px;
  line-height:1.65;
}

body:not(.home-screen) .feature-card-actions button,
body:not(.home-screen) .copy-title{
  min-height:32px;
  padding:6px 10px;
  border-radius:9px;
  font-size:11px;
}

body:not(.home-screen) .invoice-title-card dl{
  gap:7px;
}

body:not(.home-screen) .invoice-title-card dl>div{
  grid-template-columns:88px minmax(0,1fr);
  gap:10px;
}

body:not(.home-screen) .invoice-title-card dt{
  color:var(--feature-muted);
  font-size:11px;
}

body:not(.home-screen) .invoice-title-card dd{
  font-size:13px;
  line-height:1.55;
}

body:not(.home-screen) .backup-card{
  margin-top:14px;
  padding:18px;
}

body:not(.home-screen) .backup-card small{
  font-size:12px;
  line-height:1.5;
}

body:not(.home-screen) .expense-tips-list{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

/* Smart travel */
body:not(.home-screen) .trip-planner-head{
  align-items:center;
  margin-bottom:16px;
}

body:not(.home-screen) .trip-map-status{
  margin-left:auto;
  padding:7px 10px;
  border-radius:9px;
  background:#f1eded;
  color:var(--feature-muted);
  font-size:11px;
  font-weight:720;
}

body:not(.home-screen) .trip-map-status.ready{
  background:var(--feature-success-soft);
  color:var(--feature-success);
}

body:not(.home-screen) .trip-planner-layout{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(330px,.75fr);
  gap:18px;
  align-items:start;
}

body:not(.home-screen) .trip-planner-form{
  display:grid;
  gap:14px;
  padding:20px;
}

body:not(.home-screen) :is(.trip-compact-title,.trip-stop-inline-heading){
  padding-bottom:11px;
  border-bottom:1px solid var(--feature-line);
}

body:not(.home-screen) :is(.trip-compact-title,.trip-stop-inline-heading) strong{
  font-size:17px;
  font-weight:740;
}

body:not(.home-screen) :is(.trip-compact-title,.trip-stop-inline-heading) small{
  color:var(--feature-muted);
  font-size:11px;
}

body:not(.home-screen) :is(.trip-summary-grid,.trip-core-grid,.trip-stop-fields) label{
  gap:6px;
  font-size:12px;
}

body:not(.home-screen) .trip-summary-grid{
  grid-template-columns:minmax(0,1.5fr) 92px minmax(120px,.75fr);
  gap:9px;
}

body:not(.home-screen) .trip-core-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
}

body:not(.home-screen) .trip-stop-list{
  display:grid;
  gap:10px;
}

body:not(.home-screen) .trip-stop-card{
  gap:12px;
  padding:16px;
  border:1px solid var(--feature-line);
  border-radius:16px;
  background:var(--feature-surface-soft);
}

body:not(.home-screen) .trip-stop-card:before{
  width:26px;
  height:26px;
  border-radius:8px;
  background:var(--feature-brand-soft);
  color:var(--feature-brand);
  font-size:10px;
}

body:not(.home-screen) .trip-stop-card-head strong{
  font-size:13px;
}

body:not(.home-screen) .trip-stop-tools button{
  width:32px;
  height:32px;
  border:1px solid var(--feature-line);
  border-radius:9px;
  background:#fff;
  color:var(--feature-brand);
}

body:not(.home-screen) .trip-stop-fields{
  gap:8px;
}

body:not(.home-screen) .location-suggestions{
  border-color:var(--feature-line);
  box-shadow:0 14px 34px rgba(63,33,36,.12);
}

body:not(.home-screen) .location-suggestions strong{
  font-size:13px;
}

body:not(.home-screen) .location-suggestions :is(small,.location-empty){
  font-size:11px;
}

body:not(.home-screen) .trip-map-workbench{
  gap:10px;
  padding:13px;
  border:1px solid var(--feature-line);
  border-radius:16px;
  background:#f8f5f5;
}

body:not(.home-screen) .trip-map-workbench-head strong{
  font-size:14px;
}

body:not(.home-screen) .trip-map-workbench-head small{
  color:var(--feature-muted);
  font-size:11px;
}

body:not(.home-screen) .trip-map-workbench-head>span{
  padding:5px 8px;
  border-radius:8px;
  background:var(--feature-brand-soft);
  color:var(--feature-brand);
  font-size:10px;
}

body:not(.home-screen) .trip-map-canvas{
  height:300px;
  border-color:var(--feature-line);
  background:#f1eeee;
}

body:not(.home-screen) .trip-side-column{
  display:grid;
  gap:14px;
  position:sticky;
  top:90px;
}

body:not(.home-screen) .trip-plan-result{
  display:grid;
  gap:14px;
}

body:not(.home-screen) .trip-result-head h2{
  font-size:21px;
}

body:not(.home-screen) .trip-result-head p{
  font-size:12px;
  line-height:1.55;
}

body:not(.home-screen) .trip-result-section-title strong{
  font-size:14px;
}

body:not(.home-screen) .trip-result-section-title small{
  font-size:10px;
}

body:not(.home-screen) :is(.trip-plan-state,.trip-result-section-title,.trip-execution,.trip-visit-schedule,.trip-leg-advice){
  line-height:1.5;
}

body:not(.home-screen) .trip-plan-state{
  font-size:10px;
}

body:not(.home-screen) .trip-execution-segment>div{
  padding:10px 11px;
  border-color:var(--feature-line);
  background:#fff;
}

body:not(.home-screen) .trip-execution-segment header :is(b,time),
body:not(.home-screen) .trip-execution-segment p>*,
body:not(.home-screen) .trip-execution-segment>div>small{
  font-size:10px;
}

body:not(.home-screen) .trip-execution-segment>div>strong{
  font-size:12px;
}

body:not(.home-screen) .trip-visit-schedule li{
  padding:9px 10px;
}

body:not(.home-screen) .trip-visit-schedule li strong{
  font-size:11px;
}

body:not(.home-screen) .trip-visit-schedule li :is(small,time){
  font-size:10px;
}

body:not(.home-screen) :is(.trip-transport-card,.trip-hotel-section,.trip-unavailable-summary,.trip-plan-adjustment,.trip-realtime-refresh){
  border-radius:14px;
}

body:not(.home-screen) :is(.trip-transport-card,.trip-hotel-section) :is(strong,b){
  font-size:max(11px,1em);
}

body:not(.home-screen) :is(.trip-transport-card,.trip-hotel-section) :is(small,p,span){
  font-size:10px;
  line-height:1.55;
}

body:not(.home-screen) .trip-train-option,
body:not(.home-screen) .trip-flight-option,
body:not(.home-screen) .trip-hotel-option{
  min-height:44px;
}

body:not(.home-screen) .trip-station-log>summary{
  min-height:50px;
}

body:not(.home-screen) .trip-station-log>summary strong{
  font-size:12px;
}

body:not(.home-screen) .trip-station-log>summary small{
  font-size:10px;
}

body:not(.home-screen) .trip-station-log>summary>b{
  font-size:9px;
}

body:not(.home-screen) .trip-station-log-segment>header>strong,
body:not(.home-screen) .trip-station-log-mode>header strong,
body:not(.home-screen) .trip-station-log-candidate strong{
  font-size:10px;
}

body:not(.home-screen) .trip-station-log-mode :is(li>b,p,small),
body:not(.home-screen) .trip-station-log-candidate small{
  font-size:10px;
}

/* Retire legacy 7–9px microcopy from earlier feature iterations. */
body:not(.home-screen) :is(
  .pending-doc em,
  .pending-doc-state,
  .pending-group-summary b,
  .pending-picker-document small,
  .file-line>small,
  .file-state,
  .trip-stop-map-footer>span,
  .trip-stop-map-footer>button,
  .trip-stop-hotels small,
  .trip-stop-hotels b,
  .trip-transport-head>span,
  .trip-transport-head small,
  .trip-transport-window,
  .trip-train-heading small,
  .trip-flight-heading small,
  .trip-flight-option span,
  .trip-flight-option small,
  .trip-flight-option em,
  .trip-flight-option>a,
  .trip-transfer-option small,
  .trip-transfer-option p,
  .trip-transfer-option p em,
  .trip-train-option span,
  .trip-train-option small,
  .trip-train-option>a,
  .trip-transfer-option>a,
  .trip-transport-links a,
  .trip-hotel-more,
  .trip-hotel-section>p,
  .trip-hotel-loading,
  .trip-hotel-section>small,
  .trip-hotel-anchors small,
  .trip-hotel-option-top b,
  .trip-hotel-distances small,
  .trip-hotel-address,
  .trip-hotel-selected small,
  .trip-hotel-selected a,
  .trip-hub-summary small,
  .trip-hotel-price>small,
  .trip-plan-adjustment small,
  .trip-unavailable-summary li small,
  .trip-query-notes p
){
  font-size:10px;
  line-height:1.5;
}

body:not(.home-screen) :is(
  .trip-plan-adjustment button,
  .trip-unavailable-summary li strong,
  .trip-unavailable-summary li span,
  .trip-query-notes summary,
  .trip-transport-alternatives>summary
){
  font-size:11px;
}

/* Dialogs and feedback */
body:not(.home-screen) .modal{
  padding:18px;
  background:rgba(30,24,25,.46);
  backdrop-filter:blur(6px);
}

body:not(.home-screen) .modal-card{
  border:1px solid rgba(255,255,255,.85);
  border-radius:22px;
  background:#fff;
  box-shadow:0 24px 70px rgba(36,22,24,.2);
}

body:not(.home-screen) .modal-card h2{
  color:var(--feature-ink);
  font-size:21px;
  line-height:1.35;
}

body:not(.home-screen) .modal-card>p:not(.eyebrow){
  color:var(--feature-muted);
  font-size:12px;
  line-height:1.6;
}

body:not(.home-screen) .modal-close{
  width:36px;
  height:36px;
  border-radius:11px;
  background:#f4f0f0;
  color:#665b5d;
}

body:not(.home-screen) .toast{
  max-width:min(420px,calc(100vw - 28px));
  padding:12px 16px;
  border-radius:13px;
  font-size:13px;
  line-height:1.5;
  box-shadow:0 12px 34px rgba(46,24,27,.18);
}

/* Persistent navigation remains visually aligned with the dashboard. */
body:not(.home-screen) .portal-bottom-nav button strong{
  font-size:10px;
  font-weight:650;
}

@media(max-width:900px){
  body:not(.home-screen) .trip-planner-layout,
  body:not(.home-screen) .workflow-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }

  body:not(.home-screen) .trip-side-column{
    position:static;
  }
}

@media(max-width:760px){
  body:not(.home-screen) .workspace{
    padding:14px 13px calc(86px + env(safe-area-inset-bottom))!important;
  }

  body:not(.home-screen) :is(.documents-head,.claim-flow-head){
    min-height:52px;
    gap:11px;
    margin-bottom:14px;
  }

  body:not(.home-screen) .round-back{
    width:42px;
    height:42px;
    flex-basis:42px;
    border-radius:13px;
    font-size:20px;
  }

  body:not(.home-screen) .documents-head h1{
    font-size:24px;
  }

  body:not(.home-screen) .documents-head p:not(.eyebrow),
  body:not(.home-screen) .claim-flow-head small{
    font-size:12px;
  }

  body:not(.home-screen) .claim-flow-head strong{
    font-size:20px;
  }

  body:not(.home-screen) .page-heading{
    margin-bottom:14px;
  }

  body:not(.home-screen) .page-heading h1{
    font-size:23px;
  }

  body:not(.home-screen) .page-heading p:not(.eyebrow){
    font-size:12px;
  }

  body:not(.home-screen) #step3 .page-heading h1{
    font-size:23px;
  }

  body:not(.home-screen) #step3 .page-heading p{
    font-size:12px;
    line-height:1.55;
  }

  body:not(.home-screen) #step3 .result-section,
  body:not(.home-screen) #step3 .amount-comparison,
  body:not(.home-screen) #step3>.card{
    padding:17px;
    border-radius:17px;
  }

  body:not(.home-screen) #step3 .section-title .eyebrow{
    font-size:10px;
  }

  body:not(.home-screen) #step3 .metric-card strong{
    font-size:20px;
  }

  body:not(.home-screen) #step3 .metric-card small,
  body:not(.home-screen) #step3 .risk-item p{
    font-size:12px;
  }

  body:not(.home-screen) #step3 .risk-item h3{
    font-size:14px;
  }

  body:not(.home-screen) #step3 .risk-item-head button{
    font-size:10px;
  }

  body:not(.home-screen) #step3 .action-bar{
    bottom:calc(62px + env(safe-area-inset-bottom));
  }

  body:not(.home-screen) .card{
    padding:17px;
    border-radius:17px;
  }

  body:not(.home-screen) .section-title h2{
    font-size:17px;
  }

  body:not(.home-screen) .stepper{
    gap:4px;
    margin-bottom:20px;
    padding:12px 8px;
    border-radius:15px;
  }

  body:not(.home-screen) .stepper button{
    min-width:44px;
    gap:5px;
    font-size:10px;
  }

  body:not(.home-screen) .stepper button b{
    width:29px;
    height:29px;
    border-radius:9px;
    font-size:11px;
  }

  body:not(.home-screen) .stepper i{
    margin-top:14px;
  }

  body:not(.home-screen) .claim-basic-grid{
    grid-template-columns:1fr;
  }

  body:not(.home-screen) .upload-zone{
    padding:17px 13px;
  }

  body:not(.home-screen) .invoice-entry-grid{
    gap:7px;
  }

  body:not(.home-screen) .invoice-entry-card{
    min-height:118px;
    padding:12px 5px;
  }

  body:not(.home-screen) .invoice-entry-card>span{
    width:38px;
    height:38px;
  }

  body:not(.home-screen) .invoice-entry-card strong{
    font-size:13px;
  }

  body:not(.home-screen) .invoice-entry-card small{
    font-size:10px;
  }

  body:not(.home-screen) .pending-picker-entry{
    align-items:stretch;
    display:grid;
  }

  body:not(.home-screen) .pending-picker-entry .button{
    width:100%;
  }

  body:not(.home-screen) .action-bar{
    display:grid;
    grid-template-columns:1fr;
  }

  body:not(.home-screen) .action-bar .button{
    width:100%;
  }

  body:not(.home-screen) .document-tabs{
    gap:4px;
  }

  body:not(.home-screen) .document-tabs button{
    min-height:46px;
    padding:8px 6px;
    font-size:12px;
  }

  body:not(.home-screen) .compact-document-row .document-claim-open{
    min-height:76px;
    padding:12px 45px 11px 11px;
  }

  body:not(.home-screen) .compact-document-row :is(time,span){
    font-size:11px;
  }

  body:not(.home-screen) .compact-document-row :is(strong,b){
    font-size:12px;
  }

  body:not(.home-screen) .pending-toolbar{
    align-items:stretch;
    display:grid;
    padding:13px;
  }

  body:not(.home-screen) .pending-toolbar .button{
    width:100%;
  }

  body:not(.home-screen) .feature-search-bar,
  body:not(.home-screen) .feature-search-bar:has(input+input){
    grid-template-columns:minmax(0,1fr) auto;
  }

  body:not(.home-screen) .feature-search-bar:has(input+input) input:nth-child(2){
    grid-column:1;
  }

  body:not(.home-screen) .feature-form-grid{
    grid-template-columns:1fr;
  }

  body:not(.home-screen) .feature-form-grid textarea{
    grid-column:auto;
  }

  body:not(.home-screen) .feature-form-grid>.button{
    width:100%;
    justify-self:stretch;
  }

  body:not(.home-screen) .expense-tips-list{
    grid-template-columns:1fr;
  }

  body:not(.home-screen) .backup-card{
    align-items:stretch;
    display:grid;
  }

  body:not(.home-screen) .backup-card>div:last-child{
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  body:not(.home-screen) .trip-planner-form{
    gap:12px;
    padding:16px;
  }

  body:not(.home-screen) .trip-summary-grid{
    grid-template-columns:minmax(0,1.45fr) 70px minmax(82px,.8fr);
    gap:6px;
  }

  body:not(.home-screen) .trip-core-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
  }

  body:not(.home-screen) :is(.trip-summary-grid,.trip-core-grid,.trip-stop-fields) label{
    font-size:11px;
  }

  body:not(.home-screen) .trip-summary-grid input,
  body:not(.home-screen) .trip-core-grid input{
    min-height:40px!important;
    padding:8px 7px!important;
    font-size:12px!important;
  }

  body:not(.home-screen) .trip-stop-card{
    padding:14px 11px;
  }

  body:not(.home-screen) .trip-map-canvas{
    height:260px;
  }
}

@media(max-width:420px){
  body:not(.home-screen) .workspace{
    padding-left:11px!important;
    padding-right:11px!important;
  }

  body:not(.home-screen) .stepper button span{
    max-width:48px;
    font-size:10px;
  }

  body:not(.home-screen) .invoice-entry-card small{
    display:none;
  }

  body:not(.home-screen) .invoice-entry-card{
    min-height:96px;
  }

  body:not(.home-screen) .trip-summary-grid{
    grid-template-columns:minmax(0,1.35fr) 64px minmax(76px,.8fr);
  }
}

/* v50: dense reimbursement forms, stable travel fields and consistent type. */
body:not(.home-screen) .claim-flow .page-heading{
  margin-bottom:11px;
}

body:not(.home-screen) .claim-flow .page-heading>div{
  width:100%;
  min-width:0;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:baseline;
  gap:3px 10px;
}

body:not(.home-screen) .claim-flow .page-heading .eyebrow{
  grid-column:1;
  margin:0;
}

body:not(.home-screen) .claim-flow .page-heading h1{
  grid-column:2;
  margin:0;
  font-size:22px;
}

body:not(.home-screen) .claim-flow .page-heading p:not(.eyebrow){
  grid-column:1/-1;
  font-size:12px;
  line-height:1.45;
}

body:not(.home-screen) .claim-create-grid{
  grid-template-columns:minmax(0,920px)!important;
}

body:not(.home-screen) .compact-claim-form{
  gap:10px;
  padding:15px 17px;
}

body:not(.home-screen) .compact-claim-form>.field-group{
  grid-template-columns:82px minmax(0,1fr);
  align-items:center;
  gap:10px;
}

body:not(.home-screen) .compact-claim-form .field-label{
  font-size:12px;
  white-space:nowrap;
}

body:not(.home-screen) .compact-claim-form .segmented{
  padding:3px;
  border-radius:12px;
}

body:not(.home-screen) .compact-claim-form .segmented label{
  gap:0;
}

body:not(.home-screen) .compact-claim-form .segmented label span{
  min-height:36px;
  border-radius:9px;
  font-size:12px;
}

body:not(.home-screen) .compact-claim-form .claim-basic-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}

body:not(.home-screen) .compact-claim-form :is(.claim-basic-grid,.travel-fields) label{
  min-width:0;
  gap:4px;
  font-size:11px;
}

body:not(.home-screen) .compact-claim-form :is(input,textarea){
  min-width:0;
  min-height:39px;
  padding:8px 10px;
  border-radius:10px;
  font-size:13px;
}

body:not(.home-screen) .compact-claim-form>.claim-purpose-field{
  display:grid;
  grid-template-columns:82px minmax(0,1fr);
  align-items:center;
  gap:10px;
  font-size:12px;
}

body:not(.home-screen) .compact-claim-form>.claim-purpose-field textarea{
  min-height:58px;
  max-height:92px;
  line-height:1.45;
}

body:not(.home-screen) .compact-claim-form .travel-fields{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  padding:11px;
  border-radius:13px;
}

body:not(.home-screen) .compact-claim-form .travel-fields>.two-cols{
  grid-column:1/-1;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}

body:not(.home-screen) .compact-claim-form>.button.wide{
  min-height:42px;
  padding:10px 14px;
}

body:not(.home-screen) .trip-compact-title,
body:not(.home-screen) .trip-stop-inline-heading{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:0 0 9px;
  border-bottom:1px solid var(--feature-line);
}

body:not(.home-screen) .trip-stop-inline-heading>div:first-child{
  min-width:0;
  display:flex;
  align-items:baseline;
  gap:8px;
}

body:not(.home-screen) :is(.trip-compact-title,.trip-stop-inline-heading) strong{
  font-size:16px;
  line-height:1.3;
}

body:not(.home-screen) :is(.trip-compact-title,.trip-stop-inline-heading) small{
  font-size:10px;
  line-height:1.3;
}

body:not(.home-screen) .trip-stop-inline-actions{
  flex:0 0 auto;
  display:flex;
  gap:5px;
}

body:not(.home-screen) .trip-stop-inline-actions button{
  min-height:31px;
  padding:5px 8px;
  border-radius:9px;
  font-size:10px;
  white-space:nowrap;
}

body:not(.home-screen) .trip-stop-card{
  overflow:visible;
}

body:not(.home-screen) .trip-stop-fields{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,.75fr) minmax(0,.75fr)!important;
  gap:7px!important;
}

body:not(.home-screen) .trip-stop-fields>*{
  min-width:0;
}

body:not(.home-screen) .trip-stop-fields label{
  min-width:0;
  gap:4px;
  font-size:11px;
  line-height:1.35;
}

body:not(.home-screen) .trip-stop-fields :is(input,textarea){
  width:100%;
  min-width:0;
  min-height:38px;
  padding:7px 8px;
  border-radius:9px;
  font-size:11px;
}

body:not(.home-screen) .trip-stop-fields .trip-stop-location{
  grid-column:1/3!important;
}

body:not(.home-screen) .trip-stop-fields .trip-stop-purpose{
  grid-column:3/4!important;
}

body:not(.home-screen) .trip-stop-fields .location-picker,
body:not(.home-screen) .trip-stop-fields .location-input-row{
  min-width:0;
}

body:not(.home-screen) .trip-stop-fields .location-input-row{
  grid-template-columns:minmax(0,1fr) 44px;
  gap:5px;
}

body:not(.home-screen) .trip-stop-fields .trip-map-open{
  width:44px;
  min-width:44px;
  min-height:38px;
  padding:4px;
  font-size:10px;
}

@media(max-width:760px){
  body:not(.home-screen) .stepper{
    margin-bottom:13px;
    padding:9px 7px;
  }

  body:not(.home-screen) .claim-flow .page-heading h1{
    font-size:20px;
  }

  body:not(.home-screen) .compact-claim-form{
    gap:8px;
    padding:12px;
  }

  body:not(.home-screen) .compact-claim-form .claim-basic-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  body:not(.home-screen) .compact-claim-form .travel-fields{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  body:not(.home-screen) .trip-planner-form{
    gap:10px;
    padding:13px;
  }

  body:not(.home-screen) .trip-stop-card{
    gap:8px;
    padding:11px 9px;
  }

  body:not(.home-screen) .trip-stop-fields{
    grid-template-columns:minmax(0,1.1fr) minmax(0,.75fr) minmax(0,.75fr)!important;
    gap:5px!important;
  }

  body:not(.home-screen) .trip-stop-fields label{
    font-size:10px;
  }

  body:not(.home-screen) .trip-stop-fields :is(input,textarea){
    min-height:36px;
    padding:6px;
    font-size:10px;
  }

  body:not(.home-screen) .trip-stop-fields .location-input-row{
    grid-template-columns:minmax(0,1fr) 39px;
    gap:4px;
  }

  body:not(.home-screen) .trip-stop-fields .trip-map-open{
    width:39px;
    min-width:39px;
    min-height:36px;
    font-size:9px;
  }
}

@media(max-width:380px){
  body:not(.home-screen) .compact-claim-form>.field-group,
  body:not(.home-screen) .compact-claim-form>.claim-purpose-field{
    grid-template-columns:72px minmax(0,1fr);
    gap:7px;
  }

  body:not(.home-screen) .trip-stop-inline-heading{
    align-items:flex-start;
  }

  body:not(.home-screen) .trip-stop-inline-actions button{
    padding:5px 6px;
    font-size:9px;
  }
}

/* v52: the stepper is the claim page title; approval nodes form a snake flow. */
body:not(.home-screen) .claim-flow .step-panel>.page-heading{
  display:none!important;
}

body:not(.home-screen) .claim-payee-picker{
  height:44px;
}

body:not(.home-screen) .claim-payee-picker>.person-suggestions{
  top:calc(100% + 5px);
}

body:not(.home-screen) .workflow-nodes{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-auto-flow:row;
  gap:28px 24px;
  margin:4px 0 18px;
  overflow:visible;
}

body:not(.home-screen) .workflow-node,
body:not(.home-screen) .workflow-node.locked{
  position:relative;
  grid-column:var(--flow-column)!important;
  grid-row:var(--flow-row)!important;
  min-width:0;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  align-content:start;
  gap:7px!important;
  padding:9px!important;
  overflow:visible;
}

body:not(.home-screen) .workflow-node:after{
  position:absolute;
  z-index:2;
  color:#b64950;
  font-size:20px;
  font-weight:800;
  line-height:1;
  pointer-events:none;
}

body:not(.home-screen) .workflow-node.flow-right:after{
  content:"→";
  top:50%;
  right:-23px;
  transform:translateY(-50%);
}

body:not(.home-screen) .workflow-node.flow-left:after{
  content:"←";
  top:50%;
  left:-23px;
  transform:translateY(-50%);
}

body:not(.home-screen) .workflow-node.flow-down:after{
  content:"↓";
  bottom:-25px;
  left:50%;
  transform:translateX(-50%);
}

body:not(.home-screen) .workflow-node.flow-end:after{
  content:none;
}

body:not(.home-screen) .workflow-node .node-index{
  width:auto;
  height:25px;
  min-width:0;
  justify-self:start;
  display:inline-flex;
  align-items:center;
  gap:3px;
  padding:0 7px;
  border-radius:8px;
  font-size:9px;
  font-weight:720;
}

body:not(.home-screen) .workflow-node .node-index b{
  font-size:12px;
}

body:not(.home-screen) .workflow-node-body{
  min-width:0;
  display:block;
}

body:not(.home-screen) .workflow-person-field{
  min-width:0;
  display:grid;
  gap:4px;
}

body:not(.home-screen) .workflow-person-field>span{
  color:var(--feature-muted);
  font-size:9px;
  line-height:1.2;
}

body:not(.home-screen) .workflow-person-input{
  width:100%;
  min-width:0;
  min-height:35px!important;
  height:35px;
  padding:6px 7px!important;
  border-radius:8px!important;
  font-size:11px!important;
}

body:not(.home-screen) .workflow-node-actions{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:4px;
}

body:not(.home-screen) .workflow-node-actions button,
body:not(.home-screen) .workflow-node-actions .remove{
  grid-column:auto;
  width:100%;
  min-width:0;
  min-height:25px;
  height:25px;
  padding:0;
  border-radius:7px;
  font-size:10px;
}

body:not(.home-screen) .workflow-node .person-suggestions{
  min-width:190px;
  z-index:45;
}

@media(max-width:520px){
  body:not(.home-screen) .workflow-nodes{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:25px 16px;
  }

  body:not(.home-screen) .workflow-node,
  body:not(.home-screen) .workflow-node.locked{
    grid-column:var(--flow-column)!important;
    grid-row:var(--flow-row)!important;
    padding:7px!important;
  }

  body:not(.home-screen) .workflow-node.flow-right:after{
    right:-16px;
  }

  body:not(.home-screen) .workflow-node.flow-left:after{
    left:-16px;
  }

  body:not(.home-screen) .workflow-person-input{
    padding:5px!important;
    font-size:10px!important;
  }
}

/* v51: one visual rhythm for every field in reimbursement step one. */
body:not(.home-screen) .compact-claim-form>.field-group,
body:not(.home-screen) .compact-claim-form>.claim-purpose-field{
  grid-template-columns:minmax(0,1fr);
  align-items:stretch;
  gap:5px;
}

body:not(.home-screen) .compact-claim-form .field-label,
body:not(.home-screen) .compact-claim-form>.claim-purpose-field>span,
body:not(.home-screen) .compact-claim-form :is(.claim-basic-grid,.travel-fields) label{
  color:#41393a;
  font-size:12px;
  font-weight:680;
  line-height:18px;
}

body:not(.home-screen) .compact-claim-form .segmented{
  height:44px;
  min-height:44px;
  padding:3px;
}

body:not(.home-screen) .compact-claim-form .segmented label span{
  height:36px;
  min-height:36px;
}

body:not(.home-screen) .compact-claim-form :is(input:not([type="radio"]),select,textarea){
  height:44px;
  min-height:44px;
  max-height:44px;
  padding:9px 11px;
  line-height:24px;
}

body:not(.home-screen) .compact-claim-form :is(.claim-basic-grid,.travel-fields) label{
  grid-template-rows:18px 44px;
  gap:5px;
}

body:not(.home-screen) .compact-claim-form .travel-fields>.two-cols{
  align-items:start;
}

@media(max-width:380px){
  body:not(.home-screen) .compact-claim-form>.field-group,
  body:not(.home-screen) .compact-claim-form>.claim-purpose-field{
    grid-template-columns:minmax(0,1fr);
    gap:5px;
  }
}

/* v53: compact snake-flow nodes instead of stacked form cards. */
body:not(.home-screen) .workflow-nodes{
  gap:32px 28px;
  margin:8px 0 16px;
}

body:not(.home-screen) .workflow-node,
body:not(.home-screen) .workflow-node.locked{
  min-height:32px;
  display:grid!important;
  grid-template-columns:30px minmax(0,1fr)!important;
  grid-template-rows:32px auto;
  align-items:center;
  align-content:start;
  column-gap:6px!important;
  row-gap:4px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

body:not(.home-screen) .workflow-node .node-index{
  width:30px;
  min-width:30px;
  height:30px;
  padding:0;
  border:0;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#fff;
  background:linear-gradient(145deg,#d6333e,#a91924);
  box-shadow:0 5px 12px rgba(169,25,36,.18);
  font-size:12px;
  font-weight:800;
}

body:not(.home-screen) .workflow-node-body{
  grid-column:2;
  grid-row:1;
  min-width:0;
}

body:not(.home-screen) .workflow-person-field{
  display:block;
  min-width:0;
}

body:not(.home-screen) .workflow-person-input{
  width:100%;
  min-width:0;
  height:32px!important;
  min-height:32px!important;
  padding:5px 8px!important;
  border:1px solid rgba(118,91,94,.16)!important;
  border-radius:10px!important;
  background:rgba(255,255,255,.88)!important;
  box-shadow:0 3px 10px rgba(65,30,33,.045)!important;
  color:#30292a!important;
  font-size:11px!important;
  font-weight:680;
  text-align:center;
}

body:not(.home-screen) .workflow-person-input:focus{
  border-color:rgba(179,31,42,.48)!important;
  box-shadow:0 0 0 3px rgba(179,31,42,.08)!important;
}

body:not(.home-screen) .workflow-node.locked .workflow-person-input:disabled{
  opacity:1;
  -webkit-text-fill-color:#30292a;
}

body:not(.home-screen) .workflow-node-actions{
  grid-column:1/-1;
  grid-row:2;
  justify-self:center;
  width:auto;
  display:grid!important;
  grid-template-columns:repeat(3,20px);
  gap:3px;
}

body:not(.home-screen) .workflow-node-actions button,
body:not(.home-screen) .workflow-node-actions .remove{
  width:20px;
  min-width:20px;
  height:20px;
  min-height:20px;
  padding:0;
  border:0;
  border-radius:6px;
  background:rgba(117,93,95,.08);
  color:#776c6d;
  font-size:9px;
  line-height:20px;
}

body:not(.home-screen) .workflow-node-actions .remove{
  color:#b31f2a;
  background:rgba(179,31,42,.08);
}

body:not(.home-screen) .workflow-node:after{
  content:"";
  z-index:0;
  width:18px;
  height:10px;
  background:#c9868b;
  clip-path:polygon(0 43%,76% 43%,76% 12%,100% 50%,76% 88%,76% 57%,0 57%);
}

body:not(.home-screen) .workflow-node.flow-right:after{
  top:11px;
  right:-24px;
  transform:none;
}

body:not(.home-screen) .workflow-node.flow-left:after{
  top:11px;
  left:-24px;
  transform:scaleX(-1);
}

body:not(.home-screen) .workflow-node.flow-down:after{
  bottom:-24px;
  left:50%;
  transform:translateX(-50%) rotate(90deg);
}

body:not(.home-screen) .workflow-node.flow-end:after{
  content:none;
}

body:not(.home-screen) .workflow-node .person-suggestions{
  top:calc(100% + 4px);
  min-width:210px;
}

body:not(.home-screen) .workflow-node-controls{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  margin:3px 0 14px;
}

body:not(.home-screen) .workflow-node-controls .button{
  min-height:39px;
  padding:8px 12px;
  border-color:rgba(179,31,42,.22);
  background:#fffafa;
  color:#a91924;
  font-size:12px;
  box-shadow:none;
}

body:not(.home-screen) .workflow-node-controls .danger-ghost{
  border-color:rgba(112,94,96,.18);
  background:#fff;
  color:#6d6162;
}

@media(max-width:520px){
  body:not(.home-screen) .workflow-nodes{
    gap:28px 24px;
  }

  body:not(.home-screen) .workflow-node,
  body:not(.home-screen) .workflow-node.locked{
    grid-template-columns:27px minmax(0,1fr)!important;
    column-gap:4px!important;
    padding:0!important;
  }

  body:not(.home-screen) .workflow-node .node-index{
    width:27px;
    min-width:27px;
    height:27px;
    font-size:11px;
  }

  body:not(.home-screen) .workflow-person-input{
    height:30px!important;
    min-height:30px!important;
    padding:4px 5px!important;
    font-size:10px!important;
  }

  body:not(.home-screen) .workflow-node.flow-right:after{
    right:-20px;
  }

  body:not(.home-screen) .workflow-node.flow-left:after{
    left:-20px;
  }
}

/* v55: bottom navigation labels never resize between root views. */
.portal-bottom-nav button strong,
body.home-screen .portal-bottom-nav button strong,
body:not(.home-screen) .portal-bottom-nav button strong{
  font-size:10px!important;
  font-weight:650!important;
  line-height:14px!important;
}

.portal-bottom-nav button.active strong{
  font-size:10px!important;
  font-weight:650!important;
}

/* v57: management features open in browse mode; creation lives on a secondary page. */
body:not(.home-screen) .feature-browser-head>div{
  flex:1 1 auto;
}

body:not(.home-screen) .feature-create-button{
  flex:0 0 auto;
  min-width:88px;
  min-height:40px;
  padding:9px 16px;
  border:1px solid rgba(179,31,42,.18);
  border-radius:13px;
  background:linear-gradient(135deg,#b8202c,#941822);
  color:#fff;
  box-shadow:0 9px 22px rgba(153,25,35,.16);
  font-size:13px;
  font-weight:760;
  letter-spacing:.01em;
}

body:not(.home-screen) .feature-create-button:active{
  transform:translateY(1px);
  box-shadow:0 5px 14px rgba(153,25,35,.14);
}

body:not(.home-screen) .feature-editor-page{
  width:min(100%,760px);
  margin:0 auto;
}

body:not(.home-screen) .feature-editor-page .feature-admin-card{
  margin:0;
  padding:20px;
}

body:not(.home-screen) .feature-editor-page .feature-form-grid>.button{
  min-width:132px;
}

@media(max-width:620px){
  body:not(.home-screen) .feature-browser-head{
    gap:9px;
  }

  body:not(.home-screen) .feature-browser-head h1{
    font-size:22px;
  }

  body:not(.home-screen) .feature-browser-head p:not(.eyebrow){
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  body:not(.home-screen) .feature-create-button{
    min-width:72px;
    min-height:38px;
    padding:8px 11px;
    border-radius:12px;
    font-size:12px;
  }

  body:not(.home-screen) .feature-editor-page .feature-admin-card{
    padding:14px;
  }

body:not(.home-screen) .feature-editor-page .feature-form-grid>.button{
    min-width:0;
  }
}

body:not(.home-screen) .trip-core-grid.trip-date-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

@media(max-width:620px){
  body:not(.home-screen) .trip-core-grid.trip-date-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
