:root{--navy:#093b4e;--navy2:#062b3c;--mint:#42cfba;--sea:#128b8d;--bg:#eff5f5;--white:#fff;--ink:#153240;--sub:#6a808a;--line:#dbe6e8;--orange:#ffedd6;--red:#bb4c40;--shadow:0 6px 30px rgba(9,59,78,.07)}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;font-family:Inter,system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:var(--sea);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,p{margin-top:0}h1{font-size:1.8rem;margin-bottom:5px;letter-spacing:-.05em}h2{font-size:1.13rem;letter-spacing:-.02em;margin-bottom:14px}h3{font-size:1rem}small,.muted{color:var(--sub)}strong{font-weight:750}.loading{padding:30px}
.shell{display:grid;grid-template-columns:247px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:var(--navy2);color:#e6f6f5;padding:23px 14px;display:flex;flex-direction:column;gap:10px;overflow:auto}.brand{display:flex;align-items:center;gap:10px;font-weight:850;font-size:1.24rem;padding:10px 9px 29px}.brand .drop{display:grid;place-items:center;width:37px;height:37px;background:var(--mint);color:var(--navy);border-radius:13px;font-size:26px}.brand small{display:block;font-size:10px;font-weight:500;color:#a0c7cc;letter-spacing:.09em;margin-top:3px}.nav-items{display:grid;gap:4px}.nav-link{display:flex;align-items:center;gap:11px;width:100%;border:0;background:none;text-align:left;color:#b6d2d6;padding:11px 13px;border-radius:11px;font-weight:600}.nav-link:hover,.nav-link.active{background:rgba(255,255,255,.11);color:white}.nav-emoji{font-size:18px;width:23px;text-align:center}.side-bottom{margin-top:auto;padding:14px 10px 5px;border-top:1px solid rgba(255,255,255,.13);font-size:13px}.side-bottom .person{color:white;font-weight:750}.side-bottom button{color:#b9e5e7;border:0;background:none;padding:10px 0}
.main{padding:27px clamp(18px,3.4vw,47px) 40px;max-width:1660px;width:100%;min-width:0}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}.eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:var(--sea);font-weight:800;margin-bottom:8px}.topright{display:flex;gap:9px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.pill{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:white;padding:9px 12px;border-radius:30px;font-size:12px;font-weight:700}.dot{width:7px;height:7px;border-radius:50%;background:#22ad88}.dot.off{background:#cf7e37}.btn{background:var(--navy);color:#fff;border:1px solid var(--navy);border-radius:11px;padding:10px 14px;font-weight:750;white-space:nowrap}.btn:hover{filter:brightness(1.14)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.mint{background:var(--mint);border-color:var(--mint);color:var(--navy2)}.btn.secondary{background:#fff;color:var(--navy);border-color:#cbdcdd}.btn.warn{background:#fff;color:#ba5948;border-color:#edd0c8}.btn.mini{padding:6px 9px;border-radius:8px;font-size:12px}.actions{display:flex;flex-wrap:wrap;gap:8px}.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.card,.metric,.panel{background:var(--white);border:1px solid #e1ebeb;border-radius:18px;box-shadow:var(--shadow)}.card,.panel{padding:20px}.metric{padding:20px;min-width:0}.metric .label{color:var(--sub);font-size:12px;font-weight:700}.metric .value{font-size:clamp(20px,2vw,31px);font-weight:850;letter-spacing:-.04em;margin:10px 0 5px;overflow-wrap:anywhere}.metric .hint{font-size:11px;color:var(--sub)}.metric.accent{background:var(--navy);color:white;border-color:var(--navy)}.metric.accent .label,.metric.accent .hint{color:#a5cad1}.metric.soft{background:#e0f8f2}.section{margin-top:23px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.section-head h2{margin:0}.two{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,1fr);gap:16px}.split{display:grid;grid-template-columns:1fr 1fr;gap:16px}.notice{border-left:4px solid #e8ad58;background:#fff6e7;padding:13px 15px;border-radius:9px;margin:0 0 14px;color:#795229;font-size:13px}.notice.good{border-left-color:#26b88f;background:#e9faf4;color:#176a56}.notice.bad{border-left-color:#d66259;background:#fff1ee;color:#9a3c36}.table-scroll{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table th{text-align:left;font-size:11px;letter-spacing:.03em;text-transform:uppercase;color:var(--sub);font-weight:800;border-bottom:1px solid var(--line);padding:13px 11px;white-space:nowrap}.data-table td{border-bottom:1px solid #edf1f1;padding:13px 11px;vertical-align:middle}.data-table tr:last-child td{border-bottom:0}.data-table td strong{display:block}.data-table td small{display:block;margin-top:3px}.data-table tbody tr:hover{background:#f5faf9}.status{border-radius:20px;font-size:11px;padding:5px 9px;font-weight:800;white-space:nowrap;background:#e4f3f2;color:#317477}.status.pending,.status.needs_review,.status.unsynced{background:#fff1d8;color:#94601f}.status.completed,.status.approved,.status.posted,.status.closed{background:#e1f7eb;color:#287f54}.status.rejected,.status.cancelled,.status.void{background:#fae4e2;color:#a64035}.status.processing,.status.open{background:#dceeff;color:#2a65a1}.linkbtn{padding:4px;background:none;border:0;color:var(--sea);font-weight:800;font-size:12px;cursor:pointer}.linkbtn.danger{color:#b3554c}.filters{display:flex;align-items:flex-end;flex-wrap:wrap;gap:9px;margin-bottom:17px}.field{display:grid;gap:6px}.field label{font-size:11px;font-weight:800;color:var(--sub)}input,select,textarea{background:white;color:var(--ink);border:1px solid #cddddd;border-radius:10px;padding:11px 12px;width:100%;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--sea);box-shadow:0 0 0 3px #d7f5f1}input[type="date"]{min-width:143px}.filters input[type="search"]{width:200px}.filters select{width:auto;min-width:138px}.filters .field{min-width:0}.filters .btn{height:42px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.formgrid .wide{grid-column:1/-1}.formgrid p.wide{margin:0}.empty{text-align:center;padding:36px 12px;color:var(--sub);font-size:14px}.empty .symbol{font-size:30px;display:block;margin-bottom:10px}.customer-list{display:grid;gap:8px}.customer-line{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#f5f9f8;border-radius:12px;padding:12px}.stack{display:grid;gap:10px}.report-bar{display:grid;grid-template-columns:145px 1fr 75px;align-items:center;gap:12px;margin:13px 0;font-size:12px}.report-bar .track{height:11px;border-radius:40px;background:#e4eeee;overflow:hidden}.report-bar .fill{background:var(--sea);height:100%;border-radius:40px}.report-bar .end{text-align:right;font-weight:800}.signin{display:grid;place-items:center;min-height:100vh;padding:20px;background:radial-gradient(circle at 18% 20%,#266e7c 0,transparent 36%),linear-gradient(140deg,#062b3c,#0e5864)}.sign-card{max-width:435px;width:100%;border-radius:24px;background:white;padding:35px;box-shadow:0 30px 90px #001a264a}.sign-card h1{margin-bottom:10px}.sign-card form{display:grid;gap:14px;margin-top:24px}.sign-logo{font-size:48px}.sign-card .btn{padding:14px}.sign-foot{font-size:12px;line-height:1.6;color:var(--sub);margin:20px 0 0}.modal-wrap:not([hidden]){position:fixed;inset:0;z-index:90;display:flex;justify-content:center;align-items:center;background:#06212cb8;padding:12px;overflow-y:auto}.modal-card{width:min(600px,100%);max-height:calc(100vh - 26px);overflow:auto;background:#fff;border-radius:20px;padding:23px;box-shadow:0 30px 90px #001a268a}.modal-card h2{margin:0 0 8px}.modal-body{margin:15px 0 19px}.modal-note{font-size:12px;color:var(--sub);line-height:1.5}.modal-foot{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#0b4150;color:white;box-shadow:0 10px 30px #0003;border-radius:13px;padding:13px 20px;z-index:110;display:none;max-width:90%;font-size:13px}#toast.show{display:block}.subtle{font-size:12px;color:var(--sub);line-height:1.5}.tiny{font-size:11px}.card-title{display:flex;justify-content:space-between;align-items:center;gap:10px}.highlight-num{font-size:28px;font-weight:900;margin:5px 0}.divider{border-top:1px solid var(--line);margin:16px 0}.bottom-nav{display:none}.overdue{color:#b25539;font-weight:750}.route-stops{display:grid;gap:10px;counter-reset:route}.route-stop{display:flex;align-items:center;gap:12px;padding:15px;border-radius:12px;background:#eff8f7}.route-stop:before{counter-increment:route;content:counter(route);display:grid;place-items:center;background:var(--navy);color:white;border-radius:50%;min-width:28px;height:28px;font-size:12px;font-weight:800}
@media(max-width:1150px){.grid4{grid-template-columns:repeat(2,minmax(0,1fr))}.two{grid-template-columns:1fr}.sidebar{width:216px}.shell{grid-template-columns:216px minmax(0,1fr)}}
@media(max-width:740px){.shell{display:block}.sidebar{display:none}.main{padding:21px 14px 100px}.topbar{flex-direction:column;gap:14px}.topright{width:100%;justify-content:flex-start}.grid3{grid-template-columns:1fr 1fr}.split{grid-template-columns:1fr}.bottom-nav{position:fixed;z-index:40;bottom:0;left:0;right:0;padding:8px 5px calc(8px + env(safe-area-inset-bottom));display:flex;justify-content:space-around;background:#073849;border-top:1px solid #386777;box-shadow:0 -10px 20px #0b40401a}.bottom-nav button{border:0;background:none;color:#b4cfd3;display:grid;justify-items:center;gap:2px;padding:6px 7px;font-size:10px;min-width:56px}.bottom-nav button.active{color:#5ce1cb}.bottom-nav span{font-size:19px}.filters .field{flex:1 1 115px}.filters input[type="search"]{width:100%}.filters select{width:100%;min-width:0}.metric{padding:16px}.report-bar{grid-template-columns:92px 1fr 65px;gap:7px}.formgrid{grid-template-columns:1fr}.formgrid .wide{grid-column:auto}.modal-card{padding:18px}}
@media(max-width:395px){.grid4,.grid3{grid-template-columns:1fr 1fr;gap:8px}.metric .value{font-size:19px}.card{padding:15px}.topright .pill{font-size:10px}}
@media print{.sidebar,.bottom-nav,.topright,.filters,.actions,.btn,.linkbtn,.modal-wrap,#toast{display:none!important}body{background:#fff}.shell{display:block}.main{padding:0;max-width:none}.card,.metric,.panel{box-shadow:none;break-inside:avoid}h1{font-size:21px}.grid4{grid-template-columns:repeat(4,1fr)}}

.mobile-pages{display:none}
@media(max-width:740px){.mobile-pages{display:grid;gap:5px;margin-bottom:16px}.mobile-pages label{font-size:12px;color:var(--sub);font-weight:800}.status.needs_confirmation{background:#ffe4dc;color:#933b25}}

/* Mobile hotfix 2.1: filter grid prevents native date inputs overlapping peers. */
.filters{display:grid;grid-template-columns:minmax(145px,180px) minmax(145px,180px) minmax(165px,1fr) minmax(140px,180px);align-items:end;gap:10px;max-width:100%;min-width:0}
.filters .filter-field{min-width:0;width:100%;max-width:100%}
.filters .filter-field input,.filters .filter-field select{min-width:0;width:100%;max-width:100%}
.filters .filter-field input[type="date"]{min-width:0;width:100%;box-sizing:border-box}
.filters .filter-field input[type="search"]{min-width:0;width:100%}
.filters .filter-buttons{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:9px;min-width:0}
.filters .filter-buttons .btn{height:auto;min-height:43px}
.main,.panel,.card,.metric,.modal-card,.field{min-width:0}
@media (max-width:740px){
 .filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px}
 .filters .filter-from{grid-column:1}
 .filters .filter-to{grid-column:2}
 .filters .filter-search{grid-column:1/-1}
 .filters .filter-sort{grid-column:1/-1}
 .filters .filter-field{flex:initial;min-width:0}
 .filters .filter-field input[type="date"]{min-width:0;width:100%;font-size:14px;letter-spacing:-.02em;padding:10px 6px}
 .filters .filter-buttons{display:grid;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .filters .filter-buttons .btn{white-space:normal;min-width:0;width:100%;padding:11px 7px}
 .section-head{flex-wrap:wrap}
 .section-head .actions{width:100%}
 .modal-foot{flex-wrap:wrap}
 .modal-card{max-width:100%;overscroll-behavior:contain}
 .table-scroll{max-width:100%;-webkit-overflow-scrolling:touch}
}
@media(max-width:350px){
 .filters .filter-from,.filters .filter-to{grid-column:1/-1}
 .filters .filter-field input[type="date"]{font-size:16px;padding:11px 12px}
}

/* ================= TRINIFILL PRO V3 =================
   Clean mobile-first transaction screens and a single cash remit focus.
   Overrides are appended to preserve legacy modal/table layouts. */
:root {
 --navy:#082e3e; --navy2:#072531; --mint:#12c9a5; --sea:#007e86;
 --bg:#f4f7fa; --ink:#152e3b; --sub:#617983; --line:#e1e9ed;
 --shadow:0 9px 30px rgba(12,44,59,.055);
}
html {scroll-behavior:smooth}
body {background:var(--bg);-webkit-tap-highlight-color:transparent}
button,select,input,textarea {font-size:16px}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible {outline:3px solid rgba(18,201,165,.4);outline-offset:2px}
h1 {font-size:clamp(1.65rem,3vw,2.35rem);letter-spacing:-.045em;font-weight:850}
h2 {font-weight:800;letter-spacing:-.025em}
.sidebar {background:linear-gradient(180deg,#062b3b,#071d2b);border-right:1px solid rgba(255,255,255,.06)}
.sidebar .brand {letter-spacing:.035em;padding-bottom:26px}
.sidebar .brand .drop {background:#d2fff2;box-shadow:0 7px 20px rgba(0,226,192,.15)}
.nav-link {font-size:13px;transition:background .18s}
.nav-link.active {background:rgba(18,201,165,.16);box-shadow:inset 3px 0 0 var(--mint);color:white}
.main {padding-top:31px;max-width:1560px}
.topbar {margin-bottom:22px}
.topbar h1 {margin-bottom:8px}
.topbar .subtle {font-size:13px}
.topright .btn.mint {box-shadow:0 6px 14px rgba(18,201,165,.16)}
.btn {transition:transform .12s,box-shadow .12s,border-color .12s;background:#07394b;border-color:#07394b;border-radius:12px;min-height:40px}
.btn:active {transform:translateY(1px)}
.btn.mint {background:var(--mint);border-color:var(--mint);color:#053a39}
.btn.secondary {border-color:#d6e4e8;background:#fff}
.card,.panel,.metric {border-radius:22px;border-color:#e2ebef;box-shadow:var(--shadow)}
.card {padding:clamp(15px,2.1vw,24px)}
.metric {padding:20px;border-radius:20px}
.metric .label {font-size:12px;letter-spacing:0}
.metric .value {font-size:clamp(22px,2.6vw,31px);margin:9px 0 4px}
.metric .hint {font-size:12px;line-height:1.45}
.metric.soft {background:#ddf9f0;border-color:#d4f4e9}
.section-head h2 {font-size:1.15rem}
.section-head .subtle {margin:6px 0 0}
.section-head {flex-wrap:wrap}
.filters {background:#fff;border:1px solid #e2ebef;border-radius:20px;padding:14px;box-shadow:var(--shadow)}
.filters .btn {min-height:43px}
.filters input[type="search"] {width:100%}
.filters input[type="date"] {min-width:0}
.field input,.field select,.field textarea {border-radius:11px;min-height:43px;border-color:#cfdee3}
.field label {font-size:12px}
.mobile-pages {margin-bottom:14px}
.data-table {font-size:13px}
.data-table td {padding:15px 11px}
.data-table th {background:#f8fafc;border-top:1px solid #eef3f5}
.data-table tbody tr:hover {background:#f4fbfa}
.table-scroll {border-radius:12px}
.status {font-size:11px;line-height:1.2;padding:5px 10px;display:inline-flex;max-width:100%;white-space:normal}
.status.open {background:#edf7fa;color:#147083}
.linkbtn {font-size:12px}

/* Featured cash remittance rather than nine competing peso cards. */
.overview-hero {background:linear-gradient(118deg,#073748 4%,#07566a 61%,#078d83 120%);color:#fff;border:1px solid rgba(16,179,160,.14);border-radius:27px;padding:clamp(23px,3vw,32px);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(270px,.68fr);gap:34px;box-shadow:0 12px 32px rgba(0,59,73,.16);position:relative;overflow:hidden;margin-bottom:16px}
.overview-hero:after {content:'';position:absolute;width:330px;height:330px;border:1px solid rgba(255,255,255,.09);border-radius:50%;right:-150px;top:-170px;pointer-events:none}
.overview-left,.hero-breakdown {position:relative;z-index:1}
.hero-kicker {font-size:11px;letter-spacing:.15em;text-transform:uppercase;font-weight:800;color:#b4eee7}
.hero-label {font-size:15px;color:#e1f5f3;margin-top:27px;margin-bottom:5px}
.hero-value {font-size:clamp(37px,5vw,62px);font-weight:880;letter-spacing:-.055em;line-height:1.1;overflow-wrap:anywhere}
.hero-caption {font-size:12px;color:#aed9dd;margin-top:12px;line-height:1.5}
.hero-breakdown {align-self:center;background:rgba(2,33,45,.26);border:1px solid rgba(226,255,249,.19);border-radius:17px;padding:12px 17px;backdrop-filter:blur(8px)}
.hero-breakdown>div {display:flex;justify-content:space-between;gap:15px;padding:11px 0;color:#d4ebee;font-size:13px;border-bottom:1px solid rgba(255,255,255,.12)}
.hero-breakdown>div:last-child {border-bottom:0}
.hero-breakdown>div b {color:white;white-space:nowrap;text-align:right;font-weight:790}
.hero-breakdown .hero-total {font-size:14px;color:#fff;font-weight:800}
.hero-total b {font-size:18px}
.kpi-trio {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.kpi-trio .metric {padding:19px}
.quick-actions {display:flex;gap:9px;flex-wrap:wrap;margin:17px 0 22px}
.quick-actions .btn {padding:11px 16px}
.transaction-list {display:grid;gap:2px}
.transaction-row {display:flex;align-items:center;gap:12px;padding:15px 4px;border-bottom:1px solid #edf2f5}
.transaction-row:last-child {border-bottom:0}
.transaction-icon {height:41px;min-width:41px;display:grid;place-items:center;background:#e6f8f4;color:#078577;border-radius:14px;font-size:19px}
.transaction-info {min-width:0;flex:1;display:grid;gap:5px}
.transaction-info strong {font-size:14px;overflow-wrap:anywhere}
.transaction-info small {font-size:12px}
.transaction-info .status {justify-self:start}
.transaction-right {text-align:right;display:grid;gap:5px;justify-items:end}
.transaction-right b {font-size:15px;white-space:nowrap}
.record-search {display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:10px;align-items:end;padding:14px;background:#fff;border-radius:18px;border:1px solid var(--line);margin:12px 0 17px;box-shadow:var(--shadow)}
.record-search .btn {height:45px}
.record-search .field {min-width:0}
.record-stack {display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,360px),1fr));gap:13px}
.sale-card {border:1px solid #e0e9eb;border-radius:19px;background:#fff;box-shadow:var(--shadow);padding:18px;min-width:0;display:flex;flex-direction:column;gap:15px}
.sale-card-top {display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.sale-card h3 {margin:5px 0 5px;font-size:16px;overflow-wrap:anywhere}
.sale-id {color:#66848b;letter-spacing:.035em;text-transform:uppercase;font-size:10px;font-weight:850}
.sale-desc {font-size:12px;color:#617984;line-height:1.5}
.sale-amount {font-size:20px;font-weight:850;color:#063e4b;letter-spacing:-.035em;white-space:nowrap}
.sale-card-body {display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;border-top:1px solid #eff3f5;border-bottom:1px solid #eff3f5;padding:12px 0;color:#627784;font-size:12px}
.sale-card-body strong {color:#103643}
.sale-card-actions {display:flex;gap:7px;flex-wrap:wrap;margin-top:auto}
.sale-card-actions .btn {min-height:35px;padding:7px 11px;font-size:12px}
.sale-card-actions .btn:first-child {background:#eef7f7;border-color:#d5e8e9;color:#145566}
.debt-card {gap:12px}
.tabs {display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:13px 0 17px;background:#e8f0f3;width:max-content;max-width:100%;border-radius:15px;padding:5px}
.tabs .btn {min-height:39px;border:0;border-radius:11px;padding:9px 14px}
.tabs .btn.secondary {background:transparent;color:#4b6772}
.tabs .btn.mint {background:#fff;color:#055a63;box-shadow:0 3px 11px rgba(12,63,82,.08)}
.report-period {margin:0 0 8px}
.small-hero {margin-top:9px}
.details-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0 22px}
.details-grid>div {background:#f2f7f8;border:1px solid #e8eff1;border-radius:12px;padding:13px;display:grid;gap:8px}
.details-grid span:first-child {font-size:11px;color:#6b808c}
.details-grid strong {font-size:15px;overflow-wrap:anywhere}
.sale-detail-head {display:flex;justify-content:space-between;gap:12px;align-items:start}
.sale-detail-head h3 {margin:8px 0 2px}
.footer-note {font-size:12px;margin-top:20px}

@media(max-width:1060px){
 .overview-hero {grid-template-columns:minmax(0,1fr) minmax(260px,.8fr);gap:20px}
 .kpi-trio {gap:10px}
}
@media(max-width:760px){
 .main {padding:15px 14px 110px}
 .topbar {gap:10px;margin-bottom:15px}
 .topbar .eyebrow {letter-spacing:.11em}
 .topbar h1 {font-size:1.75rem}
 .topright {justify-content:flex-start}
 .topright .pill {font-size:11px;padding:7px 9px}
 .overview-hero {grid-template-columns:1fr;padding:22px;gap:18px;border-radius:23px}
 .hero-label {margin-top:14px}
 .hero-value {font-size:clamp(34px,10vw,47px)}
 .hero-breakdown {padding:5px 14px}
 .hero-breakdown>div {padding:10px 0}
 .kpi-trio {grid-template-columns:repeat(2,minmax(0,1fr))}
 .kpi-trio .metric {padding:15px;min-height:120px}
 .kpi-trio .metric:last-child:nth-child(odd) {grid-column:1/-1}
 .kpi-trio .metric .value {font-size:clamp(20px,6vw,26px)}
 .quick-actions {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .quick-actions .btn {white-space:normal}
 .record-search {grid-template-columns:minmax(0,1fr) auto;gap:8px}
 .record-search .field {grid-column:1/-1}
 .record-search .btn {min-width:0}
 .record-stack {grid-template-columns:1fr;gap:10px}
 .sale-card {padding:16px;gap:12px}
 .sale-card-actions .btn {flex-grow:0}
 .sale-amount {font-size:19px}
 .tabs {width:100%;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:thin}
 .tabs .btn {flex:1;white-space:nowrap;font-size:12px}
 .report-tabs .btn {min-width:max-content}
 .details-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
 .topbar .subtle {font-size:12px}
 .mobile-pages select {border-radius:14px}
 .table-scroll {overscroll-behavior-x:contain}
 .footer-note {font-size:11px}
}
@media(max-width:370px){
 .main {padding-left:11px;padding-right:11px}
 .kpi-trio .metric {padding:13px}
 .transaction-row {gap:8px}
 .sale-card-top {flex-wrap:wrap}
 .sale-amount {font-size:18px}
 .details-grid {grid-template-columns:1fr}
}
@media print {
 .sidebar,.bottom-nav,.topright,.filters,.mobile-pages,.quick-actions,.btn,.sale-card-actions,.tabs,.record-search {display:none!important}
 .main {padding:10px!important}
 .overview-hero {background:white!important;color:black!important;border:1px solid #bbb;box-shadow:none!important}
 .overview-hero * {color:black!important}
 .sale-card,.card,.metric {box-shadow:none!important;break-inside:avoid}
}

/* Pro 3.1 — prominent daily dashboard, overdue aging, and grouped reports. */
.followup-toolbar{background:#fff;border:1px solid #dae7e7;border-radius:16px;padding:15px 18px;margin:13px 0;box-shadow:var(--shadow)}
.followup-toolbar label{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:var(--sub);font-weight:750;font-size:13px}
.followup-toolbar select{width:auto;min-width:150px}
.aging-badge{display:inline-flex;align-items:center;border-radius:24px;padding:6px 10px;font-size:12px;font-weight:800;white-space:nowrap}
.aging-old{background:#fff0e8;color:#ac543c}.aging-today{background:#e8f7f3;color:#21785b}.aging-never{background:#edf1f9;color:#4b649a}
.report-range{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;padding:12px;border-radius:16px;background:#fff;border:1px solid var(--line)}
.report-range .btn{min-height:37px}.report-range>span{margin-right:6px}
.report-day{border:1px solid #dce7e9;background:#fff;border-radius:17px;margin-bottom:12px;overflow:hidden;box-shadow:var(--shadow)}
.report-day summary{cursor:pointer;display:flex;justify-content:space-between;gap:16px;align-items:center;list-style:none;padding:18px 19px}
.report-day summary::-webkit-details-marker{display:none}
.report-day summary strong{font-size:15px}.report-day summary small{display:block;font-size:11px;margin-top:5px;color:var(--sub)}
.report-day[open] summary{border-bottom:1px solid #e6eeef;background:#f8fbfb}
.day-totals{display:grid;gap:5px;text-align:right;font-size:12px;color:var(--sub)}.day-totals b{color:#073849;font-size:15px}
.report-day-body{padding:17px 20px 22px}.report-day-body h3{font-size:13px;color:#466b75;margin:18px 0 11px}
.day-remit{background:#e9f8f3;border-radius:13px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px}
.day-remit span{font-size:12px;font-weight:700;color:#3e6664}.day-remit strong{font-size:21px;color:#075b50}.day-remit small{width:100%;font-size:11px;color:#4e7870}
.record-line{display:flex;justify-content:space-between;align-items:start;gap:12px;padding:12px 0;border-bottom:1px solid #edf2f3}
.record-line:last-child{border-bottom:0}.record-line strong{font-size:13px}.record-line small{display:block;color:var(--sub);font-size:11px;line-height:1.55;margin-top:4px}
.line-amount{text-align:right;min-width:max-content}.line-amount b{font-size:14px}.line-amount .linkbtn{display:block;margin-left:auto}
@media(max-width:600px){.report-range{gap:6px}.report-range>span{width:100%}.report-range .btn{flex:1 1 29%;padding:8px 5px;font-size:11px;white-space:normal}.report-day summary{padding:14px 12px;flex-wrap:wrap}.day-totals{text-align:left;display:flex;gap:8px;flex-wrap:wrap}.report-day-body{padding:14px}.record-line{gap:9px}.record-line small{overflow-wrap:anywhere}.line-amount{min-width:85px}}
