/* Shared phone ergonomics for the public site, admin and crew portal. */
html{scroll-padding-top:76px}input,select,textarea{max-width:100%}
.fin-more>summary{display:none}
@media(max-width:600px){
  body:has(.drawer.open,.nb-overlay.open,dialog[open]){overflow:hidden}
  .mode-banner.real{display:none}
  .drawer.open{transform:none!important;left:0;right:0;width:100%!important}
  .drawer-body .profit-none{white-space:normal;overflow-wrap:anywhere}
  .fin-more>summary{display:block}
  #drawer>.drawer-actions{flex-shrink:0;position:static;margin:0;padding:10px 18px max(10px,env(safe-area-inset-bottom));background:white;border-top:1px solid #d8e0e6;gap:8px}
  #drawer>.drawer-actions #drawerSaveError:empty{display:none}
  body{min-width:0}
  input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px!important;min-height:44px}
  button,.btn,a.btn{min-height:44px;touch-action:manipulation}
  img,video,canvas{max-width:100%}
  .grid-2,.fin-columns{grid-template-columns:minmax(0,1fr)!important}
  .top-bar,.card-head,.toolbar{flex-wrap:wrap;gap:10px}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}
  .stat{padding:15px!important;min-width:0}.stat .num{font-size:25px!important;overflow-wrap:anywhere}
  .mode-banner{font-size:11px;padding:10px!important;gap:8px}
  .mobile-bar{padding-top:max(10px,env(safe-area-inset-top))!important}
  main.main{padding:14px 12px calc(24px + env(safe-area-inset-bottom))!important;min-width:0}
  .drawer{height:100dvh!important;display:flex;flex-direction:column;overflow:hidden!important}
  .drawer-head{flex-shrink:0;padding:54px 18px 16px!important}
  .drawer-head h3{font-size:23px}.drawer-body{overflow-y:auto;overscroll-behavior:contain;min-height:0;padding:16px 18px calc(20px + env(safe-area-inset-bottom))!important}
  .drawer-actions{position:sticky;bottom:calc(-20px - env(safe-area-inset-bottom));padding:12px 0 calc(12px + env(safe-area-inset-bottom));margin-bottom:-20px;background:white;z-index:3;border-top:1px solid #d8e0e6}
  .drawer-actions button{flex:1 1 auto}
  .nb-overlay,.modal-overlay{padding:8px!important}
  .nb-modal,.modal{max-height:calc(100dvh - 16px)!important;box-shadow:none!important}
  .nb-head,.modal-header{padding:20px 18px!important}
  .nb-head,.modal-close{position:sticky;top:0;z-index:5}
  .nb-body,.modal-body{padding:16px 18px!important}
  .modal-close{float:right;margin:8px 8px -52px 0}
  .nb-row,.field-row{grid-template-columns:1fr!important}
  .split-row{display:flex;flex-wrap:wrap}.split-row>*{min-width:0}.split-row select{flex:1 1 130px}
  .fin-header{padding:8px 0 16px!important}.fin-header h1{font-size:30px!important;margin:8px 0}.fin-header h1 br{display:none}.fin-header h1 em{display:block}.fin-header p{display:none}
  .fin-header>div:last-child{margin-top:14px!important;display:grid!important;grid-template-columns:1fr 1fr;max-width:none!important}.fin-header .fin-primary{grid-column:1/-1}
  .fin-info{margin-bottom:12px}.fin-tabs{margin-bottom:10px!important;scroll-snap-type:x proximity}.fin-tabs button{scroll-snap-align:start}
  .fin-filters{grid-template-columns:1fr 1fr!important}.fin-filters>label:last-of-type{grid-column:1/-1}
  .fin-stats{gap:9px!important}.fin-stat{padding:12px!important}.fin-stat strong{font-size:23px!important}
  .fin-stats.secondary{display:none}.fin-more[open] .fin-stats.secondary{display:grid}.fin-more summary{padding:12px;background:#eef3f6;border-radius:8px;font-weight:700}
  .finance-dialog:has(#finForm){height:calc(100dvh - 16px);max-height:calc(100dvh - 16px)!important;padding:14px!important;overflow:hidden}
  .finance-dialog[open]:has(#finForm){display:flex;flex-direction:column}
  .finance-dialog header{margin-bottom:5px;flex-shrink:0}.finance-dialog h2{margin:6px 0!important}.finance-dialog>p.fin-caption{display:none}
  .finance-dialog #finForm{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:10px 3px 12px;flex:1}
  .finance-dialog .fin-savebar{flex-shrink:0;border-top:1px solid #d8e0e6;padding:10px 0 max(4px,env(safe-area-inset-bottom));background:#fcfdfd}
  .fin-savebar button{width:100%}.fin-savebar p:empty{display:none}
  .fin-details-extra{padding:12px;border:1px solid #d8e0e6;border-radius:8px}.fin-details-extra summary{font-weight:700;cursor:pointer}.fin-details-extra[open]{display:grid;gap:14px}
  .fin-table-wrap,.tbl-scroll{overflow:visible!important;border:none!important;background:transparent!important}
  table.mobile-records,table.mobile-records tbody,table.mobile-records tfoot{display:block;width:100%!important;min-width:0!important}
  table.mobile-records thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  table.mobile-records tr{display:block;margin:10px 0;padding:10px 14px;border:1px solid #dce4e9;border-radius:10px;background:white}
  table.mobile-records td{display:grid;grid-template-columns:minmax(90px,.7fr) minmax(0,1.3fr);gap:4px 12px;width:auto!important;min-width:0!important;max-width:none!important;padding:7px 0!important;border:0!important;white-space:normal!important;overflow-wrap:anywhere;text-align:left!important}
  table.mobile-records td:before{content:attr(data-label);grid-column:1;font-size:11px;color:#607385;align-self:start}
  table.mobile-records td>*{grid-column:2;min-width:0;max-width:100%}
  table.mobile-records td[colspan]{display:block}
  table.mobile-records td[colspan]:before{display:none}
  .shell{padding:16px 12px calc(22px + env(safe-area-inset-bottom))!important}
  .hero{padding-top:35px!important}.hero h1{font-size:clamp(38px,11vw,52px)!important}
}

.split-pay-fields { display:grid;gap:6px;min-width:0; }
.split-pay-fields label { display:grid;font-size:12px;gap:3px; }
.split-pay-fields input { width:100%;min-width:0; }
@media(max-width:600px){.split-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;align-items:start}.split-row select{width:100%;min-width:0}.split-amt{font-weight:700}}
.split-row{grid-template-columns:minmax(90px,1fr) minmax(125px,1.3fr) 66px 30px;align-items:start;padding:10px 0}.split-pay-fields input,.split-row select{border:1px solid #c6d1dc;border-radius:8px;padding:9px;background:#fff;color:#102e49}.split-pay-fields small{font-weight:700;color:#102e49}.split-row input:disabled,.split-row select:disabled{background:#eef2f5;color:#526579;opacity:1}@media(max-width:600px){.split-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}.split-pay-fields{grid-row:span 2}.split-remove{justify-self:start}}
