/* ============================================================
   INSCAPE DELIVERY — stylesheet (v15.0)
   Pairs with inscape-delivery-v15.html + inscape-delivery-v15.js
   Deploy all three files together.
   ============================================================ */
:root{
  /* v12.1 premium palette — indigo accent, slate neutrals, muted teal success */
  --bg:#f6f7f9;--card:#fff;--border:#e3e7ed;--border2:#c9d1da;
  --text:#0f172a;--muted:#64748b;--accent:#5661c4;--accent-light:#eef0f9;
  /* v12.2: amber/orange retired — pending/neutral states use slate, only
     indigo (accent) + teal (success) + red (destructive) remain */
  --accent2:#0f766e;--warn:#64748b;--warn-light:#f1f5f9;
  --red:#a85060;--red-light:#f8eef1;
  --shadow:0 1px 2px rgba(16,24,40,.06),0 1px 3px rgba(16,24,40,.08);
  --shadow-lg:0 4px 12px rgba(16,24,40,.10),0 12px 32px rgba(16,24,40,.10);
  --ring:0 0 0 3px rgba(86,97,196,.16);
  --radius:12px;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'Inter',sans-serif;background:var(--bg);color:var(--text);min-height:100vh;-webkit-font-smoothing:antialiased;}

/* HEADER */
.header{background:var(--text);color:#fff;padding:0 20px;height:48px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;gap:10px;flex-wrap:nowrap;overflow:hidden;}
.logo{font-size:16px;font-weight:700;letter-spacing:-.3px;white-space:nowrap;}.logo span{color:var(--accent);}
.sync-info{font-size:10px;color:#9aa0a8;white-space:nowrap;display:flex;align-items:center;gap:5px;}
.sync-dot{width:7px;height:7px;border-radius:50%;background:#6fcf97;display:none;flex-shrink:0;}
.sync-dot.on{display:inline-block;}
.header-btns{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end;}
.hbtn{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);color:#fff;padding:7px 14px;border-radius:8px;font-size:12.5px;font-weight:500;cursor:pointer;font-family:inherit;transition:background .15s;white-space:nowrap;}
.hbtn:hover{background:rgba(255,255,255,.18);}.hbtn.active{background:var(--accent);border-color:var(--accent);}

/* TABS — sticky under header so navigation is always reachable */
.tabs{display:flex;border-bottom:1px solid var(--border);background:var(--card);padding:0 16px;overflow-x:auto;position:sticky;top:48px;z-index:99;box-shadow:0 1px 2px rgba(16,24,40,.04);}
.tab{padding:13px 16px;font-size:13.5px;font-weight:500;color:var(--muted);cursor:pointer;border-bottom:2.5px solid transparent;margin-bottom:-1px;transition:all .15s;white-space:nowrap;}
.tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600;}
.tab.tp.active{color:var(--accent);border-bottom-color:var(--accent);} /* v12.2: one active style for all tabs */
.tab:hover:not(.active){color:var(--text);background:#fafafb;}
.bcnt{background:var(--warn);color:#fff;border-radius:10px;font-size:10px;font-weight:700;padding:1px 6px;margin-left:4px;display:none;}
.bcnt.on{display:inline-block;}

/* LAYOUT */
.view{display:none;padding:20px 16px 90px;max-width:760px;margin:0 auto;}.view.active{display:block;}
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin-bottom:14px;box-shadow:var(--shadow);}
.ct{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.9px;color:var(--muted);margin-bottom:14px;display:flex;align-items:center;gap:7px;}
.ct::before{content:'';width:3px;height:12px;background:var(--accent);border-radius:2px;}

/* FORM */
.row{display:flex;gap:12px;margin-bottom:12px;flex-wrap:wrap;}
.f{flex:1;min-width:140px;}.f.full{flex:100%;min-width:100%;}
label{display:block;font-size:12px;font-weight:600;color:#3d434b;margin-bottom:5px;}
input,select,textarea{width:100%;padding:10px 12px;border:1.5px solid var(--border2);border-radius:8px;font-size:14px;font-family:'Inter',sans-serif;background:#fff;color:var(--text);transition:border .15s,box-shadow .15s;outline:none;}
input:hover,select:hover,textarea:hover{border-color:#b6bcc4;}
input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:var(--ring);}
input::placeholder,textarea::placeholder{color:#a8aeb6;}
textarea{resize:vertical;min-height:65px;}select{cursor:pointer;}

/* Required field indicator */
label .req{color:var(--accent);font-size:11px;margin-left:1px;}
input.invalid,select.invalid,textarea.invalid{border-color:#b56575;}
input.invalid:focus,select.invalid:focus{border-color:#b56575;}

/* CHALLAN */
.ch-wrap{display:flex;gap:7px;}
.ch-wrap input{flex:1;}
.ch-btn{background:none;border:1.5px solid var(--border2);border-radius:7px;padding:8px 10px;font-size:13px;cursor:pointer;color:var(--muted);font-family:inherit;white-space:nowrap;transition:all .2s;}
.ch-btn:hover{border-color:var(--accent);color:var(--accent);}

/* AUTOCOMPLETE */
.acw{position:relative;}
.acl{position:absolute;top:100%;left:0;right:0;background:var(--card);border:1.5px solid var(--accent);border-top:none;border-radius:0 0 7px 7px;max-height:190px;overflow-y:auto;z-index:60;display:none;}
.acl.open{display:block;}
.aci{padding:8px 11px;font-size:13px;cursor:pointer;transition:background .12s;}
.aci:hover,.aci.sel{background:var(--accent-light);color:var(--accent);}

/* OTHER/MANUAL INPUT */
.other-inp{display:none;margin-top:6px;}.other-inp.on{display:block;}

/* PORTER FIELDS */
.porter-manual{display:none;margin-top:6px;}.porter-manual.on{display:block;}

/* ITEMS */
.ih{display:grid;grid-template-columns:1fr 72px 90px 28px;gap:7px;font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:5px;padding:0 2px;}
.ir{display:grid;grid-template-columns:1fr 72px 90px 28px;gap:7px;margin-bottom:7px;align-items:start;}
.idwrap{position:relative;}
.idesc{font-size:13.5px;padding:9px 11px;min-height:66px;resize:vertical;border:1.5px solid var(--border2);border-radius:8px;background:#fff;font-family:'DM Sans',sans-serif;line-height:1.5;width:100%;color:var(--text);outline:none;transition:border .15s,box-shadow .15s;}
.idesc:hover{border-color:#b6bcc4;}
.idesc:focus{border-color:var(--accent);box-shadow:var(--ring);}
.iqty{font-size:13px;padding:8px;}
/* unit: combo (select + free text) */
.unit-wrap{display:flex;flex-direction:column;gap:4px;}
.unit-sel{font-size:12px;padding:8px 4px;}
.unit-inp{font-size:12px;padding:6px 8px;display:none;}
.unit-inp.on{display:block;}
.iac{position:absolute;top:100%;left:0;right:0;background:var(--card);border:1.5px solid var(--accent);border-top:none;border-radius:0 0 7px 7px;max-height:150px;overflow-y:auto;z-index:55;display:none;}
.iac.open{display:block;}
.delbtn{width:28px;height:28px;background:none;border:1.5px solid var(--border);border-radius:6px;cursor:pointer;color:var(--muted);font-size:15px;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0;margin-top:2px;}
.delbtn:hover{border-color:#b56575;color:#b56575;background:#f9f1f3;}
.add-item-btn{display:flex;align-items:center;gap:6px;background:none;border:1.5px dashed var(--border2);border-radius:7px;padding:8px 14px;font-size:13px;color:var(--muted);cursor:pointer;font-family:inherit;width:100%;transition:all .2s;margin-top:2px;}
.add-item-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light);}

/* TOGGLE */
.trow{display:flex;align-items:center;gap:10px;margin-bottom:12px;}
.tog{width:38px;height:21px;background:var(--border2);border-radius:11px;position:relative;cursor:pointer;transition:background .2s;flex-shrink:0;}
.tog.on{background:var(--accent2);}
.tog::after{content:'';width:17px;height:17px;background:white;border-radius:50%;position:absolute;top:2px;left:2px;transition:left .2s;}
.tog.on::after{left:19px;}
.tlbl{font-size:13px;font-weight:500;}
.pf{display:none;}.pf.on{display:block;}

/* BUTTONS */
/* v12: .btnrow is a sticky action bar — Save is always reachable on long forms */
.btnrow{display:flex;gap:10px;flex-wrap:wrap;position:sticky;bottom:0;z-index:90;background:rgba(244,245,247,.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:12px 0;margin:4px -2px 0;border-top:1px solid var(--border);}
.btn{padding:11px 22px;border-radius:9px;font-size:14px;font-weight:600;cursor:pointer;font-family:'Inter',sans-serif;border:none;transition:background .15s,transform .1s,box-shadow .15s;display:flex;align-items:center;gap:6px;}
.btn:active{transform:translateY(1px);}
.btn-p{background:var(--accent);color:#fff;box-shadow:0 1px 2px rgba(86,97,196,.30);}.btn-p:hover{background:#4750a8;}
.btn-s{background:var(--accent2);color:#fff;}.btn-s:hover{background:#0c5d52;}
.btn-w{background:var(--warn);color:#fff;}.btn-w:hover{background:#4b5563;}
.btn-r{background:var(--red);color:#fff;}.btn-r:hover{background:#8c4252;}
.btn-g{background:var(--card);border:1.5px solid var(--border2);color:var(--text);}.btn-g:hover{border-color:var(--text);background:#eef1f6;}
.btn-sm{padding:6px 13px;font-size:12px;}

/* COPY BOX */
.cbox{background:#0f172a;color:#e8e4de;border-radius:8px;padding:14px;font-family:'DM Mono',monospace;font-size:13px;line-height:1.7;white-space:pre-wrap;display:none;margin-top:14px;}
.cbox.on{display:block;}
.cbh{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-family:'DM Sans',sans-serif;}
.cbt-lbl{font-size:11px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.8px;}
.copybtn{background:var(--accent);color:#fff;border:none;padding:4px 11px;border-radius:5px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;}
.copybtn.done{background:var(--accent2);}

/* v12.3: neutralize remaining emoji glyphs in empty/loading states */
.empty .ic,.no-pend>div:first-child{filter:grayscale(1);opacity:.5;}

/* TOAST */
.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%) translateY(60px);background:#16181d;color:#fff;padding:12px 20px;border-radius:10px;font-size:13.5px;font-weight:500;z-index:999;transition:transform .3s;pointer-events:none;max-width:90vw;text-align:center;box-shadow:var(--shadow-lg);}
.toast.on{transform:translateX(-50%) translateY(0);}
.toast.ok::before{content:'✓  ';color:#6fcf97;}.toast.err::before{content:'✗  ';color:#ff7676;}

/* RECORDS */
.rfil{display:flex;gap:9px;align-items:flex-end;flex-wrap:wrap;margin-bottom:10px;}
.rfil select,.rfil input{width:auto;min-width:130px;}
.sbtns{display:flex;gap:5px;flex-wrap:wrap;}
.sbtn{padding:5px 11px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;border:1.5px solid var(--border2);background:none;color:var(--muted);transition:all .2s;white-space:nowrap;}
.sbtn.on{background:var(--text);color:#fff;border-color:var(--text);}

/* BULK BAR */
.bulk-bar{background:var(--accent-light);border:1.5px solid var(--accent);border-radius:8px;padding:10px 14px;margin-bottom:10px;display:none;align-items:center;gap:10px;flex-wrap:wrap;}
.bulk-bar.on{display:flex;}
.bulk-info{font-size:13px;font-weight:600;color:var(--accent);}

.rtbl{width:100%;border-collapse:collapse;font-size:13px;}
/* v12: light table header — black header band looked heavy and dated */
.rtbl th{background:#f8f9fb;color:#3d434b;border-bottom:1.5px solid var(--border);padding:10px;text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;user-select:none;}
.rtbl th:hover{background:#eef0f3;}
.rtbl th.chk-th{width:32px;cursor:default;}
.rtbl td{padding:10px;border-bottom:1px solid var(--border);vertical-align:top;}
.rtbl tr:hover td{background:#fafafb;}
.rtbl tr.selected td{background:#f5f6fb;}
.icell{font-size:12px;color:var(--muted);line-height:1.6;}.icell span{display:block;}
.badge{display:inline-block;padding:2px 7px;border-radius:4px;font-size:11px;font-weight:600;}
.bp{background:var(--warn-light);color:var(--warn);}.bn{background:var(--border);color:var(--muted);}
/* ACTION LINKS in table — see COLUMN WIDTHS section below */
.elink,.dlink,.plink{display:inline-flex;align-items:center;gap:3px;padding:4px 8px;border-radius:5px;font-size:12px;font-weight:600;cursor:pointer;min-height:28px;white-space:nowrap;}
.elink{color:var(--accent);background:var(--accent-light);}
.elink:hover{background:#e3e6f5;}
.dlink{color:var(--red);background:var(--red-light);margin-left:0;}
.dlink:hover{background:#f1dee4;}
/* v12.2: secondary row actions are neutral — only Edit (indigo) and Del (red) carry color */
.plink{color:#475569;background:#f1f5f9;margin-left:0;}
.plink:hover{background:#e5eaf0;}
/* BILLING BADGES */
.bs{display:inline-block;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600;margin-top:2px;line-height:1.6;}
/* v12.4 semantic states: TEAL = money received/paid · WINE = payment due */
.bs-inv{background:#f0fdfa;color:#0f766e;}
.bs-cash{background:#f0fdfa;color:#0f766e;}
.bs-cash-pend{background:#f8eef1;color:#a85060;}
.bs-nobill{background:#f1f5f9;color:#64748b;border:1px solid #e3e7ed;}
.bs-none{background:#f1f5f9;color:#bbb;border:1px dashed #ccc;cursor:pointer;}
.bs-none:hover{border-color:var(--accent);color:var(--accent);}
/* Billing month badge */
.bm-badge{display:block;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:500;background:#eef0f9;color:#4750a8;border:1px solid #d9ddf5;margin-top:3px;white-space:nowrap;}
/* No Dispatch badge — neutral grey, for service-type deliveries (design, layout, artwork) */
.nd-badge{display:inline-block;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:600;background:#eef0f2;color:#555;border:1px solid #d5d9de;margin-top:3px;letter-spacing:.3px;}
/* unpaid invoice badge - distinct color */
.bs-inv-pending{background:#f8eef1;color:#a85060;border:1px solid #e9d2d8;}

.empty{text-align:center;padding:40px 20px;color:var(--muted);}
.empty .ic{font-size:32px;margin-bottom:8px;}

/* SUMMARY — v12: stat cards with left accent, label-on-top hierarchy */
.sumrow{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap;}
.sumbox{flex:1;min-width:110px;background:var(--card);border:1px solid var(--border);border-left:3px solid var(--border2);border-radius:10px;padding:12px 14px;text-align:left;box-shadow:var(--shadow);}
.sumbox:first-child{border-left-color:var(--accent);}
.sumbox-warn{background:#fff;border-color:var(--border);border-left-color:var(--warn);}
.sumbox-porter{background:#fff;border-color:var(--border);}
.sumbox-click{cursor:pointer;transition:box-shadow .15s,transform .1s;}
.sumbox-click:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px);}
.sv{font-size:22px;font-weight:700;color:var(--text);font-family:'DM Mono',monospace;line-height:1.2;}
.sl{font-size:11px;color:var(--muted);margin-top:3px;font-weight:600;letter-spacing:.2px;}

/* PENDING */
.add-pend-btn{display:flex;align-items:center;justify-content:center;gap:7px;background:none;border:2px dashed var(--border2);border-radius:var(--radius);padding:12px;font-size:14px;font-weight:500;color:var(--muted);cursor:pointer;width:100%;font-family:inherit;transition:all .2s;margin-bottom:14px;}
.add-pend-btn:hover{border-color:var(--warn);color:var(--warn);background:var(--warn-light);}
.pcard{background:var(--card);border:1px solid var(--border);border-left:3px solid var(--warn);border-radius:var(--radius);padding:16px;margin-bottom:12px;box-shadow:var(--shadow);transition:box-shadow .15s;}
.pcard:hover{box-shadow:var(--shadow-lg);}
.ph{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:7px;}
.pc{font-size:15px;font-weight:600;}.ploc{font-size:12px;color:var(--muted);margin-top:1px;}
.pctct{font-size:12px;color:var(--accent2);margin-top:1px;font-weight:500;}
.pdate{font-size:11px;color:var(--muted);background:var(--bg);border:1px solid var(--border);padding:2px 7px;border-radius:5px;white-space:nowrap;}
.pitems{font-size:13px;margin-bottom:7px;line-height:1.7;}.pitems span{display:block;padding-left:3px;}
.pnotes{font-size:12px;color:var(--muted);background:var(--bg);border-radius:6px;padding:7px 10px;margin-bottom:8px;font-style:italic;}
.pacts{display:flex;gap:7px;flex-wrap:wrap;align-items:center;}
.delbtn2{background:var(--accent2);color:#fff;border:none;padding:7px 14px;border-radius:7px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .2s;}
.delbtn2:hover{background:#0c5d52;}
.ebtn2{background:none;border:1.5px solid var(--border2);color:var(--text);padding:6px 11px;border-radius:7px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .2s;}
.ebtn2:hover{border-color:var(--accent);color:var(--accent);}
.xbtn{background:none;border:1.5px solid var(--border);color:var(--muted);padding:6px 9px;border-radius:7px;font-size:12px;cursor:pointer;font-family:inherit;transition:all .2s;}
.xbtn:hover{border-color:#b56575;color:#b56575;background:#f9f1f3;}
.no-pend{text-align:center;padding:36px 20px;color:var(--muted);}

/* SETTINGS */
.cli-list{margin-top:7px;max-height:220px;overflow-y:auto;}
.cli-item{display:flex;align-items:center;justify-content:space-between;padding:8px 11px;border:1px solid var(--border);border-radius:7px;margin-bottom:5px;background:var(--bg);font-size:13px;}
.cli-item .rem{color:#b56575;font-size:12px;cursor:pointer;font-weight:500;}.cli-item .rem:hover{text-decoration:underline;}
.add-cli{display:flex;gap:7px;margin-top:7px;}.add-cli input{flex:1;}
.add-cli-btn{background:var(--accent);color:#fff;border:none;padding:8px 14px;border-radius:7px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;white-space:nowrap;}

/* MODALS */
.mov{position:fixed;inset:0;background:rgba(13,17,23,.5);backdrop-filter:blur(2px);z-index:500;display:none;align-items:flex-start;justify-content:center;padding:14px;overflow-y:auto;}
.mov.open{display:flex;}
.mod{background:var(--card);border-radius:14px;padding:22px;width:100%;max-width:600px;border:1px solid var(--border);margin:auto;box-shadow:var(--shadow-lg);}
.mh{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;}
.mh h2{font-size:16px;}
.mclose{width:28px;height:28px;background:var(--bg);border:1.5px solid var(--border);border-radius:6px;cursor:pointer;font-size:15px;display:flex;align-items:center;justify-content:center;color:var(--muted);}
.mclose:hover{background:#f9f1f3;color:#b56575;border-color:#b56575;}
.ms{margin-bottom:14px;}
.mbtns{display:flex;gap:7px;margin-top:14px;flex-wrap:wrap;}

/* CONFIRM MODAL */
.cov{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:600;display:none;align-items:center;justify-content:center;padding:14px;}
.cov.open{display:flex;}
.cob{background:var(--card);border-radius:12px;padding:22px;width:100%;max-width:440px;border:1px solid var(--border);}
.cob h3{font-size:16px;margin-bottom:6px;}.cob p{font-size:13px;color:var(--muted);margin-bottom:12px;line-height:1.6;}

/* URL WARN */
.uwarn{background:var(--accent-light);border:1.5px solid var(--accent);border-radius:8px;padding:11px 14px;font-size:13px;color:var(--accent);margin-bottom:14px;display:none;}
.uwarn.on{display:block;}

/* COLUMN WIDTHS & SPACING */
.rtbl{table-layout:fixed;width:100%;}
.rtbl th:nth-child(1),.rtbl td:nth-child(1){width:32px;}
.rtbl th:nth-child(2),.rtbl td:nth-child(2){width:26%;padding-right:6px;}
.rtbl th:nth-child(3),.rtbl td:nth-child(3){width:13%;padding-left:16px;white-space:normal;}
.rtbl th:nth-child(4),.rtbl td:nth-child(4){width:33%;}
.rtbl th:nth-child(5),.rtbl td:nth-child(5){width:10%;}
.rtbl th:nth-child(6),.rtbl td:nth-child(6){display:none;}
.rtbl th:nth-child(7),.rtbl td:nth-child(7){width:12%;}

/* HIDE COPY BUTTON */
.act-links span[onclick*="duplicateRecord"]{display:none !important;}

/* ACT-LINKS: 2 buttons per row grid */
.act-links{display:grid !important;grid-template-columns:1fr 1fr;gap:4px;max-width:160px;margin-top:5px;}
.elink,.dlink,.plink{justify-content:center;}

/* BILLING MONTH BADGE — stays below date, no overflow */
.rtbl td:nth-child(3) .bm-badge{display:block;margin-top:3px;white-space:nowrap;}

/* UNPAID ROW HIGHLIGHT */
/* v12.4: unpaid row = payment due → wine wash matches pending badges */
.rtbl tr.unpaid td{background:#f9f2f4;}
.rtbl tr.unpaid td:first-child{border-left:3px solid #d49aa6;}
.rtbl tr.unpaid:hover td{background:#f3e8eb;}
.rtbl tr.unpaid.selected td{background:#f3e8eb;}
/* v12.4: date column same size as items column */
.rtbl td:nth-child(3){font-size:12px;color:var(--muted);}

/* PRINT */
@media print{
  body *{visibility:hidden;}
  #printArea,#printArea *{visibility:visible;}
  #printArea{position:absolute;top:0;left:0;width:100%;height:auto;}
  thead{display:table-header-group;}
  tr{page-break-inside:avoid;}
  @page{margin:1cm;}
}

@media(max-width:500px){
  .ih,.ir{grid-template-columns:1fr 62px 80px 28px;}
  .header-btns .hbtn{padding:5px 7px;font-size:11px;}
}

/* ============================================================
   MOBILE RECORDS — card layout instead of table
   ============================================================ */
@media(max-width:640px){
  /* Modal full screen on mobile — override flex layout */
  .mov.open{
    display:block;
    padding:0;
    overflow-y:auto;
  }
  .mod{
    border-radius:0;
    min-height:100vh;
    width:100%;
    max-width:100%;
    margin:0;
    padding:16px;
    box-shadow:none;
  }
  .cov{ padding:8px; }
  .cob{ width:100%; }

  /* Reset fixed table layout on mobile */
  .rtbl{ table-layout:auto; }
  .rtbl th:nth-child(2),.rtbl td:nth-child(2){ width:auto; min-width:unset; padding-right:4px; }
  .rtbl th:nth-child(3),.rtbl td:nth-child(3){ width:auto; white-space:nowrap; }
  .rtbl th:nth-child(5),.rtbl td:nth-child(5){ width:auto; }
  .rtbl th:nth-child(7),.rtbl td:nth-child(7){ width:auto; }

  /* Hide heavy table columns on mobile */
  .rtbl th:nth-child(4),  /* Items header */
  .rtbl td:nth-child(4),  /* Items col */
  .rtbl th:nth-child(5),  /* Porter header */
  .rtbl th:nth-child(6),  /* By header */
  .rtbl td:nth-child(6)   /* By col */
  { display:none; }

  /* Make porter badge smaller */
  .rtbl td:nth-child(5){ padding:6px 6px; }
  .badge{ font-size:10px; padding:2px 5px; }

  /* Action buttons — wrap cleanly in a row */
  .act-links{ display:flex; flex-wrap:wrap; gap:5px; margin-top:6px; }
  .elink,.dlink,.plink{
    padding:6px 8px;
    font-size:12px;
    min-height:34px;
    border-radius:6px;
  }
  /* Show only icon emoji, hide text on mobile */
  .elink .btn-txt,.dlink .btn-txt,.plink .btn-txt{ display:none; }

  /* Tighter table cells — prevent mid-token breaks */
  .rtbl td{ padding:8px 6px; font-size:13px; word-break:keep-all; }
  .rtbl th{ padding:6px 6px; font-size:10px; }

  /* Client column — only break on spaces, not inside tokens like CH/26-27/016 */
  .rtbl td:nth-child(2){ max-width:150px; word-break:keep-all; overflow-wrap:anywhere; }

  /* Billing badge — keep readable, no wrap */
  .bs{ font-size:12px; white-space:nowrap; }

  /* Summary boxes — 2 per row */
  .sumbox{ min-width:calc(50% - 8px); }
  .sv{ font-size:18px; }

  /* Filter bar — stack vertically */
  .rfil{ flex-direction:column; align-items:stretch; }
  .rfil select,.rfil input{ width:100%; min-width:unset; }
  .rfil .btn{ margin-top:4px !important; }
}
