/* Shared sizing prevents native date inputs and long content growing grid tracks. */
.form-input,.form-group,.filter-field,.sheet-body{min-width:0;max-width:100%}
.mobile-camera,.mobile-review-switch{display:none}
.mobile-disclosure{margin-bottom:12px}
.mobile-disclosure>summary{display:flex;align-items:center;gap:8px;min-height:48px;cursor:pointer;font-weight:700;font-size:.9rem;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.mobile-disclosure>summary::before{content:'+';font-size:1.2rem;width:16px}
.mobile-disclosure[open]>summary::before{content:'−'}
.mobile-disclosure[open]>summary{margin-bottom:10px}
.filter-field .form-label{margin-bottom:6px}
.sheet-header>div,.sheet-header h2{min-width:0;overflow-wrap:anywhere}
.sheet-body{min-height:0}
.mobile-sheet-footer .login-error:empty{display:none}

@media(max-width:760px){
  body{font-size:16px}
  .view{animation:none}
  #main{width:100%;padding:16px 14px calc(96px + env(safe-area-inset-bottom,0px))}
  .top-bar{padding:calc(10px + env(safe-area-inset-top,0px)) 16px 10px;gap:10px}
  .top-bar h1{font-size:1.4rem}.top-bar .eyebrow{font-size:.65rem}
  .tab-bar{left:0;right:0;bottom:0;transform:none;width:100%;border-radius:0;padding:6px max(4px,env(safe-area-inset-left,0px)) calc(6px + env(safe-area-inset-bottom,0px));gap:2px}
  .tab{min-height:56px;font-size:.7rem}
  .btn,.btn-sm,.trip-chip{min-height:48px;font-size:.875rem}
  .form-input,.filter-card .form-input{min-height:48px;font-size:16px;width:100%}
  .form-grid{grid-template-columns:minmax(0,1fr);gap:0}.form-span-2{grid-column:auto}
  .form-label{font-size:.875rem}.form-group{margin-bottom:16px}
  .section-heading{flex-wrap:wrap;gap:10px;margin-bottom:14px}
  .section-heading>div{min-width:0;flex:1}.section-heading h2{font-size:1.2rem}
  .card,.trip-card,.invoice-row,.receipt-group{min-width:0}
  h2,h3,.trip-card strong,.report-total strong{overflow-wrap:anywhere}

  /* Get to the camera immediately; optional filing and totals follow it. */
  #view-capture.active{display:flex;flex-direction:column}
  #view-capture>.hero-card{display:none}
  #capture-drop-target{order:-2;padding:22px 16px;margin-bottom:20px;gap:10px}
  #capture-progress,#capture-done{order:-1}
  .mobile-camera{display:inline-flex;width:100%}
  #capture-btn{width:100%;background:white;color:var(--primary);border-color:var(--line-strong);box-shadow:none}
  #capture-trip-chips{flex-wrap:nowrap;overflow:auto;padding-bottom:8px;max-width:100%;margin-bottom:18px}
  .trip-chip{flex:0 0 auto;max-width:85%;white-space:normal;text-align:left}
  #workspace-stats{order:2;grid-template-columns:repeat(2,minmax(0,1fr));margin:6px 0 0}
  .metric-card{padding:16px}.metric-card>span:last-child{font-size:.8rem}.metric-index{display:none}
  .analytics-panel{order:3;margin-top:24px}.insight-card{padding:18px}
  .vendor-stat,.insight-net{font-size:.85rem}.insight-net{flex-wrap:wrap}

  .filter-card{grid-template-columns:minmax(0,1fr);padding:12px}.filter-card .btn{grid-column:auto}
  .receipt-search{display:block;margin:12px 0}
  .receipt-bulk-toolbar{margin:0;gap:8px}.receipt-bulk-toolbar .btn{flex:1 1 45%}
  .receipt-group-head{flex-wrap:wrap;padding:12px;font-size:.85rem}.receipt-group-head strong{overflow-wrap:anywhere}
  .selectable-receipt{position:relative}.receipt-select-target{width:40px;flex-basis:40px}
  .selectable-receipt .receipt-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:14px 12px 14px 2px}
  .receipt-thumb{display:none}
  .receipt-row-main{grid-column:1/-1;grid-row:1}
  .receipt-row-main strong{font-size:.95rem;white-space:normal;overflow-wrap:anywhere;line-height:1.45}
  .receipt-row small{font-size:.8rem}.receipt-row-amount{grid-column:1;grid-row:2;text-align:left}
  .receipt-row-amount strong{font-size:1rem}.receipt-row-amount small{display:block}
  .receipt-row .status-chip{display:inline-flex;grid-column:2;grid-row:2;justify-self:end;min-width:0;font-size:.73rem;padding:7px 9px}

  .add-trip-form,.invoice-form,.report-builder{padding:16px}
  .trip-card>div{flex-wrap:wrap;gap:8px}.trip-card .eyebrow{line-height:1.6}
  #add-trip-btn{width:100%}
  #add-trip-form,#invoice-create-form{scroll-margin-top:90px}
  .invoice-row{grid-template-columns:minmax(0,1fr) auto;padding:16px;gap:10px}
  .invoice-row>.status-chip{grid-column:1;grid-row:1}.invoice-row>strong{grid-column:2;grid-row:1;font-size:1rem;overflow-wrap:anywhere}
  .invoice-row>div{grid-column:1/-1;grid-row:2;min-width:0}
  .invoice-row p{white-space:normal;max-width:none;overflow-wrap:anywhere;font-size:.85rem}
  .report-actions{display:grid;grid-template-columns:1fr;width:100%}
  .report-total-grid{grid-template-columns:minmax(0,1fr)}
  #report-summary .table-wrap{background:transparent;border:0;box-shadow:none;overflow:visible}
  #report-summary .summary-table{display:block;min-width:0;font-size:.9rem}
  #report-summary .summary-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  #report-summary .summary-table tbody{display:grid;gap:12px}
  #report-summary .summary-table tr{display:block;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:8px 14px}
  #report-summary .summary-table td{display:flex;justify-content:space-between;gap:12px;padding:10px 0;text-align:right;overflow-wrap:anywhere}
  #report-summary .summary-table td::before{content:attr(data-label);color:var(--muted);text-align:left}
  #report-summary .summary-table td:last-child{border:0}

  /* Full-height phone sheets, with one scrolling form and reachable actions. */
  .sheet-overlay{padding:0;top:var(--visible-top,0px);bottom:auto;height:min(var(--visible-height,100dvh),100dvh);align-items:flex-end}
  .sheet{max-height:100%;width:100%;padding:16px;border-radius:18px 18px 0 0;overscroll-behavior:contain}
  .receipt-review-sheet,.form-review-sheet{height:100%;max-height:100%;display:flex;flex-direction:column;overflow:hidden;border-radius:0;padding:12px 14px 0}
  .sheet-header{flex-shrink:0;margin-bottom:12px;align-items:center}.sheet-header h2{font-size:1.1rem;max-height:3.1em;overflow:auto;line-height:1.45}
  .sheet-header .eyebrow{margin-bottom:3px}.sheet-close{width:48px;height:48px}
  .sheet-body{flex:1;overflow:auto;overscroll-behavior:contain;padding:4px 2px 16px;scroll-padding:12px}
  .mobile-sheet-footer,.receipt-review-footer{flex-shrink:0;background:var(--surface);border-top:1px solid var(--line);padding:10px 0 calc(10px + env(safe-area-inset-bottom,0px))}
  .mobile-sheet-footer .sheet-actions,.receipt-review-footer .sheet-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;gap:8px}
  .mobile-sheet-footer .btn,.receipt-review-footer .btn{min-width:0;min-height:48px;padding:10px 6px;font-size:.8rem;white-space:normal;overflow-wrap:anywhere}
  #invoice-save-btn{grid-column:1;grid-row:1}#invoice-delete-btn{grid-column:2;grid-row:2}
  .invoice-review-summary{flex-direction:column;gap:8px;margin-bottom:16px}.invoice-review-summary>strong{align-self:flex-start}
  .mobile-review-switch{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:var(--surface-2);border-radius:12px;margin-bottom:10px;flex-shrink:0}
  .mobile-review-switch button{border:0;background:transparent;color:var(--muted);border-radius:8px;min-height:44px;font-weight:700}
  .mobile-review-switch button[aria-pressed=true]{background:white;color:var(--primary);box-shadow:0 1px 4px #20342f12}
  .receipt-review-layout{display:block;overflow:auto;padding:2px 2px 14px}
  .edit-receipt-form{scroll-margin-top:12px}
  [data-mobile-view=details] .receipt-preview,[data-mobile-view=document] .receipt-data{display:none}
  .receipt-preview{padding:10px}.receipt-preview .sheet-image{max-height:none;height:auto;object-fit:contain}
  .document-scroll{max-height:none;overflow:auto}.document-toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
  .document-toolbar .btn{font-size:.78rem;padding:8px 4px}.page-picker,.zoom-label{margin:0;min-width:0;font-size:.78rem;justify-content:space-between}
  .page-picker select,.zoom-label select{min-width:0;max-width:75%;font-size:16px}
  .receipt-readonly{grid-template-columns:repeat(2,minmax(0,1fr))}.receipt-readonly dt{font-size:.75rem}.receipt-readonly dd{font-size:.9rem}
  .amount-grid>div{grid-template-columns:minmax(0,1fr) auto}.amount-grid span,.receipt-notes p{font-size:.85rem}
  .confidence-card{grid-template-columns:minmax(0,1fr) 72px}.confidence-card .muted{font-size:.75rem}
  .detail-grid{grid-template-columns:minmax(0,1fr)}.detail-section summary{min-height:48px;display:flex;align-items:center;font-size:.9rem}
  .evidence-field>span{font-size:.8rem}.evidence-field strong{font-size:.9rem}.evidence-field small{font-size:.75rem}
  .capture-source-options{display:grid;gap:10px}.compact-sheet .sheet-actions{display:grid;grid-template-columns:1fr 1fr}
  #login-screen{overflow:auto;padding:16px}.login-box{padding:24px;max-height:100%;overflow:auto}
}
/* Trips own receipts and claims; creation is an explicit dialog action. */
.workflow-actions { display:flex; flex-wrap:wrap; gap:10px; margin:16px 0; }
.assignment-banner { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px; background:#fff4de; border:1px solid #c18a32; border-radius:16px; }
.assignment-banner p { margin:4px 0 0; font-size:14px; }
.assignment-banner.all-assigned { background:#edf5ed; border-color:#bfcebf; }
.trip-warning { display:block; width:fit-content; padding:3px 7px; margin:5px 0; border-radius:6px; color:#734306; background:#fff0cc; font-size:12px; font-weight:700; }
#receipt-assignment { padding:14px; margin:12px 0; border:1px solid #d6e0d8; border-radius:12px; }
#receipt-assignment.needs-trip { border-color:#b87920; background:#fff5df; }
#receipt-assign-btn { margin-top:8px; }
#assignment-status:empty { display:none; }
.workflow-sheet { display:flex; flex-direction:column; width:min(760px,100%); max-height:calc(min(var(--visible-height,100dvh),100dvh) - 24px); overflow:hidden; }
.workflow-sheet > .sheet-header, .workflow-sheet > footer { flex-shrink:0; }
.workflow-sheet > .sheet-body { min-height:0; overflow:auto; padding:16px; }
.workflow-sheet form { margin:0; padding:0; border:0; box-shadow:none; }
.workflow-sheet .mobile-sheet-footer .btn { width:100%; }
#view-capture .hero-card, #view-capture #workspace-stats, #view-capture .analytics-panel, #view-capture .section-heading { display:none; }
#view-capture .trip-chips { display:block; }
#view-capture .capture-area { margin-top:16px; padding:24px 12px; }
#view-report > .section-heading { display:none; }
#receipt-context-title { overflow-wrap:anywhere; }
.invoice-row p { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
@media(max-width:760px) {
  .tab-bar { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .assignment-banner { align-items:stretch; flex-direction:column; }
  .workflow-sheet { height:auto; max-height:calc(min(var(--visible-height,100dvh),100dvh) - 8px); border-radius:18px 18px 0 0; }
  .workflow-actions > .btn { flex:1; }
}
