:root{--primary:#0f766e;--primary-dark:#0b5f59;--primary-soft:#dff5f1;--canvas:#e9ecf1;--surface:#fff;--navy:#10264d;--text:#27364f;--muted:#6f7f95;--line:#dbe3ed;--amber:#e79800;--amber-soft:#fff2d5;--success:#168554;--success-soft:#ddf5e7;--danger:#dc263d;--danger-soft:#ffeaed;--shadow:0 12px 30px rgba(28,45,72,.09);--radius:14px}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:"Noto Sans Myanmar","Segoe UI",sans-serif;color:var(--text);background:var(--canvas)}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}a{color:inherit}.muted{color:var(--muted)}.money{font-variant-numeric:tabular-nums;font-weight:750}.danger-text{color:var(--danger)}
.app-shell{min-height:100vh;display:grid;grid-template-columns:230px 1fr;background:radial-gradient(circle at 85% 15%,#f9fbff 0,transparent 34%),var(--canvas)}.sidebar{position:sticky;top:0;height:100vh;padding:18px 14px;background:linear-gradient(180deg,#f8fbfd,#eef3f6);border-right:1px solid #dbe4ec;display:flex;flex-direction:column;z-index:50}.brand{height:66px;display:flex;align-items:center;gap:11px;padding:8px 10px;color:var(--primary)}.brand-leaf{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;color:#fff;background:linear-gradient(145deg,#4caf62,#0f766e);box-shadow:0 5px 14px rgba(15,118,110,.22)}.brand-leaf .app-icon{width:23px;height:23px;stroke-width:1.9}.brand strong{display:block;font-size:1.18rem}.brand small{display:block;color:#49647c}.sidebar nav{display:grid;gap:5px;margin-top:18px}.sidebar nav a{display:flex;align-items:center;gap:12px;padding:12px;border-radius:11px;text-decoration:none;color:#3b526a;font-weight:650}.sidebar nav a span{width:25px;text-align:center}.sidebar nav a.active{color:var(--primary-dark);background:#dcefed;box-shadow:inset 3px 0 var(--primary)}.sidebar-footer{margin-top:auto;padding:14px 10px;color:#476078;font-weight:650}.sidebar-footer small{font-weight:400}.mobile-close,.mobile-menu,.drawer-backdrop{display:none}
.main-area{min-width:0}.topbar{height:70px;padding:0 25px;display:flex;align-items:center;gap:14px;background:rgba(255,255,255,.87);border-bottom:1px solid var(--line);backdrop-filter:blur(14px);position:sticky;top:0;z-index:40}.global-search{width:min(430px,40vw);height:43px;display:flex;align-items:center;gap:8px;padding:0 13px;border:1px solid var(--line);border-radius:10px;background:#f8fafc;color:#8090a4}.global-search input{width:100%;border:0;outline:0;background:transparent}.icon-button{display:inline-grid;place-items:center;min-width:40px;height:40px;border:0;border-radius:10px;background:transparent;color:#31465f;font-size:20px}.icon-button:hover{background:#e9f1f4}.user-chip{display:flex;align-items:center;gap:9px;margin-left:auto}.user-chip>span{display:grid;place-items:center;width:39px;height:39px;border-radius:50%;background:var(--primary);color:#fff;font-weight:750}.user-chip b,.user-chip small{display:block;font-size:.8rem}.user-chip small{color:var(--muted)}.page-content{padding:25px;max-width:1700px;margin:auto}.page-header{display:flex;justify-content:space-between;gap:18px;align-items:center;margin:0 0 20px}.page-header h1{margin:2px 0 4px;color:var(--navy);font-size:1.7rem}.page-header p{margin:0;color:var(--muted)}.eyebrow{font-size:.68rem!important;letter-spacing:.14em;color:var(--primary)!important;font-weight:800}.page-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.btn{min-height:43px;border:1px solid transparent;border-radius:10px;padding:9px 16px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:7px;text-decoration:none}.btn.primary{background:linear-gradient(135deg,#10958a,var(--primary));color:#fff;box-shadow:0 7px 16px rgba(15,118,110,.18)}.btn.primary:hover{background:var(--primary-dark)}.btn.secondary{background:#fff;border-color:#ccd8e4;color:#263d59}.btn.danger{background:var(--danger-soft);border-color:#ffcdd4;color:var(--danger)}.btn.ghost{background:transparent;color:var(--primary)}.btn.full{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed}.icon-action{width:37px;height:37px;border:0;border-radius:9px;background:#e9f3f4;color:#176676}.icon-action.danger{background:var(--danger-soft);color:var(--danger)}
.panel{background:rgba(255,255,255,.94);border:1px solid rgba(214,224,235,.95);border-radius:var(--radius);box-shadow:0 7px 22px rgba(35,56,84,.055)}.panel-body{padding:18px}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px}.panel-title h2,.panel-title h3{margin:0;color:var(--navy)}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.toolbar .search{min-width:230px;flex:1}.input,.select,.textarea{width:100%;min-height:43px;border:1px solid #ccd8e4;border-radius:9px;background:#fff;padding:9px 12px;outline:0;color:var(--text)}.textarea{min-height:78px;resize:vertical}.input:focus,.select:focus,.textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(15,118,110,.1)}label{display:block;margin:12px 0 6px;font-size:.82rem;font-weight:750;color:#243a55}.required:after{content:' *';color:var(--danger)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.form-grid .full{grid-column:1/-1}.field-hint{font-size:.75rem;color:var(--muted);margin:5px 0}.validation-message,.error-message{color:var(--danger);font-size:.82rem}.success-message{padding:10px;border-radius:8px;background:var(--success-soft);color:var(--success)}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}.data-table{width:100%;border-collapse:collapse;min-width:720px}.data-table th{padding:11px 13px;text-align:left;background:#eef3f8;color:#40526a;font-size:.78rem}.data-table td{padding:11px 13px;border-top:1px solid var(--line);font-size:.86rem}.data-table tbody tr:hover{background:#f6fafb}.actions{display:flex;gap:6px}.status{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;font-size:.75rem;font-weight:750}.status.success,.status.paid,.status.settled{background:var(--success-soft);color:var(--success)}.status.warning,.status.unpaid,.status.unsettled,.status.partiallypaid{background:var(--amber-soft);color:#9d6100}.status.inactive{background:#edf0f4;color:#6f7b8d}.pager{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px}.pager button{width:37px;height:37px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--primary);font-size:20px}.pager span{font-weight:700;color:#52647b}.chips{display:flex;gap:7px;overflow:auto}.chip{white-space:nowrap;border:0;border-radius:999px;padding:8px 15px;background:#edf1f5;color:#647286;font-weight:700}.chip.active{background:var(--primary);color:#fff}.empty-state{padding:45px 20px;text-align:center;color:var(--muted)}.empty-state b{display:block;color:var(--navy);font-size:1.05rem;margin-bottom:4px}
.dialog-backdrop{position:fixed;inset:0;z-index:100;background:rgba(19,32,52,.48);display:grid;place-items:center;padding:16px}.app-dialog{width:min(560px,96vw);max-height:94vh;overflow:auto;background:#fff;border-radius:14px;box-shadow:0 22px 65px rgba(12,28,52,.3)}.app-dialog.wide{width:min(960px,96vw)}.app-dialog.full{width:min(1320px,98vw);height:min(900px,96vh);display:flex;flex-direction:column}.app-dialog>header,.app-dialog>footer{padding:15px 19px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);flex:none}.app-dialog>footer{border:0;border-top:1px solid var(--line);justify-content:flex-end;gap:9px}.app-dialog h2{margin:0;color:var(--navy);font-size:1.2rem}.dialog-body{padding:18px;overflow:auto}.app-dialog.full .dialog-body{flex:1}.danger-box{padding:14px;border:1px solid #ffc8d0;border-radius:10px;background:var(--danger-soft);color:#9f1b30}
.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(rgba(242,248,249,.88),rgba(229,237,241,.95)),url('/images/voucher-reference.jpg') center/cover}.auth-card{width:min(430px,100%);padding:30px;background:rgba(255,255,255,.96);border:1px solid #fff;border-radius:18px;box-shadow:0 22px 60px rgba(20,47,65,.17)}.auth-brand{text-align:center;margin-bottom:20px}.auth-brand .brand-leaf{margin:0 auto 10px}.auth-brand h1{margin:0;color:var(--primary);font-size:2rem}.auth-brand p{color:var(--muted)}
.master-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(440px,1fr));gap:18px}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stat-card{padding:16px;border-radius:13px;background:#fff;border:1px solid var(--line)}.stat-card small{color:var(--muted)}.stat-card strong{display:block;margin-top:4px;font-size:1.35rem;color:var(--navy)}
.voucher-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(370px,.85fr);gap:16px}.voucher-meta{display:grid;grid-template-columns:1fr 240px;gap:12px;margin-bottom:16px}.merchant-select-card,.date-card{padding:14px}.item-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.item-card{position:relative;min-width:0;padding:10px;border:1px solid var(--line);border-radius:12px;background:#fff;display:flex;flex-direction:column}.item-card img,.item-placeholder{width:100%;height:105px;object-fit:contain;border-radius:9px;background:#f5f7f8}.item-placeholder{display:grid;place-items:center;color:#84a19d;font-size:31px}.item-card h3{font-size:.86rem;margin:8px 0 2px;color:var(--navy);line-height:1.4}.item-card small{color:var(--muted)}.item-card .money{margin:5px 0 8px;color:var(--primary-dark)}.item-card .btn{min-height:35px;padding:6px;font-size:.77rem;margin-top:auto}.selected-list{display:grid;gap:8px}.selected-row{display:grid;grid-template-columns:minmax(0,1fr) 70px 95px 95px 35px;gap:7px;align-items:center;padding:9px;border-bottom:1px solid var(--line);font-size:.82rem}.selected-row strong,.selected-row small{display:block}.selected-row small{color:var(--muted)}.selected-row .input{min-height:36px;padding:5px 7px}.voucher-total{padding:12px;border-radius:10px;background:linear-gradient(90deg,#e4f6f2,#f0fbf8);display:flex;justify-content:space-between;align-items:center;color:var(--primary-dark);font-size:1.1rem;font-weight:800}
.settlement-board{display:grid;grid-template-columns:1fr 1fr;gap:14px}.settlement-column{padding:13px;border-radius:16px}.settlement-column.pending{background:linear-gradient(#fff7e9,#fffdf8);border:1px solid #f6dfb4}.settlement-column.cleared{background:linear-gradient(#e8f9ef,#fafffc);border:1px solid #caecd8}.settlement-column h2{display:flex;justify-content:space-between;color:var(--navy)}.merchant-card{padding:14px;margin:10px 0;background:#fff;border:1px solid var(--line);border-radius:12px}.merchant-card-top{display:flex;gap:11px;align-items:center}.avatar{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#dcecff;color:#19609b;font-weight:800}.merchant-card h3{margin:0;color:var(--navy)}.merchant-card dl{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:11px 0}.merchant-card dt{color:var(--muted);font-size:.77rem}.merchant-card dd{margin:0;text-align:right;font-weight:750;color:var(--navy)}
.detail-head{display:flex;gap:13px;align-items:center;padding:5px 2px 15px}.detail-head h2{margin:0}.detail-tabs{display:flex;gap:4px;overflow:auto;border-bottom:1px solid var(--line);margin:0 -18px;padding:0 18px}.detail-tabs button{white-space:nowrap;border:0;border-bottom:3px solid transparent;background:transparent;padding:12px 14px;color:#58677c;font-weight:700}.detail-tabs button.active{color:var(--primary);border-bottom-color:var(--primary)}.detail-content{padding-top:16px}.summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px 24px}.summary-row{display:flex;justify-content:space-between;border-bottom:1px dashed var(--line);padding:9px 0}.statement-builder{display:grid;grid-template-columns:1fr 330px;gap:15px}.calculation-card{padding:16px;background:#f7fafb;border-radius:12px}.calc-line{display:flex;justify-content:space-between;padding:8px 0}.calc-line.total{border-top:1px solid var(--line);margin-top:5px;font-size:1.15rem;color:var(--primary);font-weight:800}.receipt-entry{display:grid;grid-template-columns:1fr 1fr;gap:13px}.method-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.method-button{min-height:45px;border:1px solid var(--line);border-radius:9px;background:#fff}.method-button.active{background:var(--primary);color:#fff;border-color:var(--primary)}
.print-shell{min-height:100vh;background:#cfd5dc;padding:22px}.print-actions{width:148mm;margin:0 auto 12px;display:flex;justify-content:flex-end;gap:8px}.a5-paper{width:148mm;min-height:210mm;margin:auto;padding:8mm;background:#fff;box-shadow:0 8px 30px rgba(0,0,0,.2);color:#15233c}.print-photo-header{height:29mm;overflow:hidden;border-radius:3mm;background:#71a752}.print-photo-header img{width:100%;height:100%;object-fit:cover;object-position:center 12%}.print-title{display:flex;justify-content:space-between;align-items:end;padding:4mm 0 2mm;border-bottom:1px solid #cbd2da}.print-title h1{font-size:16pt;margin:0}.print-info{display:grid;grid-template-columns:1fr 1fr;gap:2mm 8mm;padding:4mm 0}.print-table{width:100%;border-collapse:collapse;font-size:8.5pt}.print-table th,.print-table td{border:1px solid #bfc8d2;padding:2mm}.print-totals{width:68mm;margin:4mm 0 0 auto}.print-totals div{display:flex;justify-content:space-between;padding:1.6mm 2mm;border-bottom:1px solid #d7dde5}.print-totals .grand{font-weight:800;background:#e2f4ee}.signatures{display:flex;justify-content:space-between;margin-top:25mm;text-align:center}.signature-line{width:45mm;border-top:1px solid #718094;padding-top:2mm}
.notification-wrap{position:relative}.notification-button b{position:absolute;right:1px;top:0;background:var(--danger);color:#fff;border-radius:999px;padding:1px 5px;font-size:.63rem}.notification-popover{position:absolute;right:0;top:48px;width:min(360px,90vw);padding:12px;background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow)}.notification-popover h3{margin:4px 5px 10px}.notification-item{display:block;width:100%;border:0;border-top:1px solid var(--line);background:#fff;text-align:left;padding:10px}.notification-item.unread{background:#edf8f6}.notification-item strong,.notification-item span,.notification-item small{display:block}.notification-item span,.notification-item small{color:var(--muted);font-size:.75rem}.empty-mini{padding:15px;color:var(--muted)}
@media(max-width:1000px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-330px;width:300px;transition:left .2s;box-shadow:var(--shadow)}.sidebar.open{left:0}.mobile-close{display:block;margin-left:auto;border:0;background:transparent;font-size:25px}.mobile-menu{display:grid}.drawer-backdrop{display:block;position:fixed;inset:0;z-index:45;border:0;background:rgba(22,32,49,.4)}.voucher-layout,.statement-builder{grid-template-columns:1fr}.settlement-board{grid-template-columns:1fr}.page-content{padding:17px}.topbar{padding:0 14px}.global-search{width:auto;flex:1}.voucher-meta{grid-template-columns:1fr 180px}}
@media(max-width:680px){.topbar{height:62px}.global-search{display:none}.user-chip div{display:none}.page-header{align-items:flex-start;flex-direction:column}.page-actions{width:100%}.page-actions .btn{flex:1}.master-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.item-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.item-card{padding:6px}.item-card img,.item-placeholder{height:72px}.item-card h3{font-size:.66rem}.item-card small{font-size:.59rem}.item-card .money{font-size:.68rem}.item-card .btn{font-size:.62rem;min-height:31px;padding:4px 2px}.selected-row{grid-template-columns:minmax(0,1fr) 50px 70px 30px}.selected-row .line-total{display:none}.voucher-meta{grid-template-columns:1fr}.settlement-board{gap:10px}.summary-grid,.receipt-entry{grid-template-columns:1fr}.app-dialog.full{width:100vw;height:100dvh;max-height:none;border-radius:0}.dialog-backdrop{padding:0}.stat-row{grid-template-columns:1fr}.data-table.mobile-cards{min-width:0}.data-table.mobile-cards thead{display:none}.data-table.mobile-cards tbody{display:grid;gap:9px;padding:8px}.data-table.mobile-cards tr{display:grid;padding:10px;border:1px solid var(--line);border-radius:11px}.data-table.mobile-cards td{display:flex;justify-content:space-between;border:0;padding:5px}.print-shell{padding:0}.a5-paper{box-shadow:none}.print-actions{width:100%;padding:8px}}
@media print{.no-print{display:none!important}.print-shell{padding:0;background:#fff}.a5-paper{box-shadow:none;margin:0}@page{size:A5 portrait;margin:0}}

/* Portrait application shell */
.portrait-stage{min-height:100dvh;background:#cfd7df;display:grid;place-items:start center}.portrait-app{width:min(100%,480px);min-height:100dvh;background:var(--canvas);box-shadow:0 0 45px rgba(16,38,77,.16);position:relative}.portrait-header{height:64px;position:sticky;top:0;z-index:60;display:grid;grid-template-columns:90px 1fr 90px;align-items:center;padding:8px 10px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);box-shadow:0 3px 15px rgba(28,45,72,.06);backdrop-filter:blur(16px)}.top-nav-left,.portrait-header-actions{display:flex;align-items:center;gap:5px}.portrait-header-actions{justify-content:flex-end}.top-nav-button{width:40px;height:40px;padding:0;border:1px solid #dce9e7;border-radius:12px;background:linear-gradient(145deg,#f2f8f7,#e8f2f1);color:var(--primary-dark);display:grid;place-items:center;text-decoration:none;box-shadow:0 2px 6px rgba(15,118,110,.06);transition:background .15s,border-color .15s,transform .15s}.top-nav-button:hover{background:var(--primary-soft);border-color:#c8e3df}.top-nav-button:active{transform:scale(.94)}.top-nav-button.logout-button{color:#9a3343;background:linear-gradient(145deg,#fff7f7,#fbedef);border-color:#f3dadd}.app-icon{display:block;width:20px;height:20px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.portrait-brand{display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;color:var(--primary)}.portrait-brand .brand-leaf{width:34px;height:34px}.portrait-brand .brand-leaf .app-icon{width:20px;height:20px}.portrait-brand b,.portrait-brand small{display:block;line-height:1.18}.portrait-brand b{font-size:1.02rem}.portrait-brand small{font-size:.53rem;color:var(--muted);white-space:nowrap}.portrait-content{min-height:calc(100dvh - 64px);padding:14px}.landscape-notice{display:none}
.home-screen{min-height:calc(100dvh - 92px);margin:-14px;border-radius:0;position:relative;overflow:hidden;background:url('/images/home-portrait-background-v3.png') center/cover no-repeat;display:flex;flex-direction:column;padding:24px 14px 15px}.home-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(236,246,248,.34),rgba(241,248,249,.08) 38%,rgba(12,46,48,.18) 68%,rgba(7,39,40,.55))}.home-copy,.home-primary-actions,.home-utility-dock{position:relative;z-index:1}.home-copy{text-align:center;color:var(--navy);text-shadow:0 1px 8px rgba(255,255,255,.9)}.home-copy span{font-size:.64rem;font-weight:900;letter-spacing:.14em;color:var(--primary-dark)}.home-copy h1{font-size:1.55rem;margin:6px 0 2px}.home-copy p{font-size:.8rem;margin:0}.home-primary-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}.home-primary-card{min-height:88px;padding:12px;border:1px solid rgba(255,255,255,.9);border-radius:17px;background:rgba(255,255,255,.87);box-shadow:0 12px 28px rgba(16,38,77,.14);backdrop-filter:blur(12px);display:grid;grid-template-columns:42px 1fr 14px;gap:8px;align-items:center;text-decoration:none}.home-primary-card>span{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:var(--primary);color:#fff;font-size:22px}.home-primary-card b,.home-primary-card small{display:block}.home-primary-card b{font-size:1rem;color:var(--navy)}.home-primary-card small{font-size:.66rem;color:var(--muted);margin-top:3px}.home-primary-card strong{font-size:25px;color:var(--primary)}.home-utility-dock{margin-top:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:9px;border:1px solid rgba(255,255,255,.7);border-radius:20px;background:rgba(255,255,255,.9);box-shadow:0 15px 35px rgba(7,33,43,.23);backdrop-filter:blur(15px)}.home-utility-dock a{min-width:0;text-align:center;text-decoration:none;color:var(--navy);font-weight:800;font-size:.59rem;line-height:1.35}.home-utility-dock img{display:block;width:100%;height:58px;object-fit:contain;margin:auto}.home-utility-dock span{display:block;min-height:31px}
.full-modal-backdrop{position:fixed;inset:0;z-index:120;background:rgba(12,28,40,.5);display:grid;place-items:center}.full-modal{width:min(100%,480px);height:100dvh;background:var(--canvas);display:flex;flex-direction:column;box-shadow:0 0 45px rgba(0,0,0,.22)}.full-modal>header{min-height:64px;padding:8px 11px;display:grid;grid-template-columns:42px 1fr 42px;gap:8px;align-items:center;background:#fff;border-bottom:1px solid var(--line)}.full-modal>header h2{font-size:1.05rem;margin:0;color:var(--navy)}.full-modal>header small{display:block;color:var(--muted);font-size:.66rem}.modal-back{width:40px;height:40px;border:0;border-radius:12px;background:var(--primary-soft);color:var(--primary);font-size:27px}.modal-header-actions{display:flex;justify-content:flex-end}.modal-header-spacer{width:40px}.full-modal-body{flex:1;overflow:auto;padding:14px}.full-modal>footer{padding:10px 14px calc(10px + env(safe-area-inset-bottom));display:flex;justify-content:flex-end;gap:8px;background:#fff;border-top:1px solid var(--line)}.filter-trigger{display:inline-flex;align-items:center;gap:6px}.filter-count{display:grid;place-items:center;min-width:20px;height:20px;border-radius:999px;background:var(--primary);color:#fff;font-size:.68rem}.mobile-list{display:grid;gap:10px}.mobile-record{width:100%;padding:13px;border:1px solid var(--line);border-radius:14px;background:#fff;text-align:left;box-shadow:0 5px 16px rgba(28,45,72,.06)}.mobile-record-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.mobile-record h3{margin:0;color:var(--navy);font-size:.96rem}.mobile-record small{color:var(--muted)}.mobile-record-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:11px}.mobile-record-grid span{font-size:.7rem;color:var(--muted)}.mobile-record-grid b{display:block;color:var(--navy);font-size:.83rem}.merchant-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.merchant-action-grid button,.merchant-action-grid a{min-height:76px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--navy);font-weight:800;text-decoration:none;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px}.merchant-action-grid span{font-size:23px;color:var(--primary)}.month-section{margin-bottom:18px}.month-heading{display:flex;justify-content:space-between;align-items:center;margin:0 0 8px;color:var(--navy)}.month-heading h3{margin:0;font-size:.94rem}.month-heading span{font-size:.72rem;color:var(--muted)}
@media(max-width:520px){.page-header{margin-bottom:12px}.page-header h1{font-size:1.3rem}.page-header p{font-size:.72rem}.portrait-content{padding:12px}.home-screen{margin:-12px;min-height:calc(100dvh - 88px)}}

/* Font Awesome Free solid top navigation icons */
.app-icon{fill:none}.app-icon.fa-solid-icon{width:18px;height:18px;fill:currentColor;stroke:none}
@media(orientation:landscape) and (max-height:600px){.landscape-notice{position:fixed;inset:0;z-index:9999;background:#e9ecf1;display:grid;place-items:center;text-align:center}.landscape-notice div{padding:25px}.landscape-notice b,.landscape-notice span{display:block}.landscape-notice b{color:var(--navy);font-size:1.1rem}.landscape-notice span{color:var(--muted);margin-top:5px}}
.record-main{width:100%;padding:0;border:0;background:transparent;text-align:left}.merchant-info-card{margin-top:12px;padding:12px;background:#fff;border:1px solid var(--line);border-radius:14px}.merchant-summary-stats{grid-template-columns:1fr 1fr;margin-top:8px}.merchant-summary-stats .stat-card{padding:12px}.merchant-summary-stats .stat-card strong{font-size:1rem}.mobile-record>.actions{justify-content:flex-end;margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}
.portrait-app .page-header{align-items:flex-start;flex-direction:column;margin-bottom:13px}.portrait-app .page-actions{width:100%}.portrait-app .page-actions .btn{flex:1}.portrait-app .voucher-layout,.portrait-app .voucher-meta,.portrait-app .statement-builder,.portrait-app .settlement-board{grid-template-columns:1fr}.portrait-app .form-grid{grid-template-columns:1fr}.portrait-app .form-grid .full{grid-column:auto}.portrait-app .item-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.portrait-app .item-card{padding:6px}.portrait-app .item-card img,.portrait-app .item-placeholder{height:72px}.portrait-app .item-card h3{font-size:.66rem}.portrait-app .selected-row{grid-template-columns:minmax(0,1fr) 50px 70px 30px}.portrait-app .selected-row .line-total{display:none}.portrait-app .data-table.mobile-cards{min-width:0}.portrait-app .data-table.mobile-cards thead{display:none}.portrait-app .data-table.mobile-cards tbody{display:grid;gap:9px;padding:8px}.portrait-app .data-table.mobile-cards tr{display:grid;padding:10px;border:1px solid var(--line);border-radius:11px}.portrait-app .data-table.mobile-cards td{display:flex;justify-content:space-between;border:0;padding:5px}.portrait-app .summary-grid,.portrait-app .receipt-entry{grid-template-columns:1fr}.portrait-app .merchant-summary-stats{grid-template-columns:1fr 1fr}.portrait-app .panel-body{padding:13px}

/* Responsive application shell and illustrated home */
.portrait-stage{display:block;background:var(--canvas)}
.portrait-app{width:100%;min-height:100dvh;box-shadow:none}
.portrait-header{padding-inline:clamp(10px,2.5vw,32px)}
.portrait-content{padding:clamp(14px,2vw,26px);max-width:1700px;margin-inline:auto}
.full-modal{width:100vw;max-width:none}

.home-screen{
    min-height:calc(100dvh - 64px);
    margin:clamp(-26px,-2vw,-14px);
    padding:clamp(18px,2.2vw,32px);
    background-image:url('/images/home-wide-buildings-v1.png');
    background-position:center;
    background-size:cover;
    background-repeat:no-repeat;
}
.home-shade{background:linear-gradient(180deg,rgba(235,248,250,.38),rgba(255,255,255,.02) 30%,rgba(4,38,40,.08) 70%,rgba(4,29,34,.45))}
.home-copy,.home-business-links,.home-utility-dock{position:relative;z-index:1}
.home-copy{width:min(520px,88%);margin:0 auto;padding:10px 18px;border-radius:18px;background:rgba(255,255,255,.62);backdrop-filter:blur(7px)}
.home-copy h1{font-size:clamp(1.45rem,2.4vw,2.35rem)}
.home-business-links{position:absolute;inset:0;pointer-events:none}
.home-building-link{position:absolute;top:20%;bottom:22%;width:46%;display:flex;align-items:flex-end;justify-content:center;padding-bottom:7%;text-decoration:none;pointer-events:auto;border-radius:28px;outline-offset:-5px}
.home-building-link.sales{left:1%}
.home-building-link.merchants{right:1%}
.home-building-label{min-width:190px;padding:12px 24px;border:2px solid rgba(255,255,255,.9);border-radius:17px;background:rgba(255,255,255,.9);box-shadow:0 12px 30px rgba(9,42,48,.24);text-align:center;backdrop-filter:blur(10px);transition:transform .18s,box-shadow .18s}
.home-building-link:hover .home-building-label,.home-building-link:focus-visible .home-building-label{transform:translateY(-5px);box-shadow:0 18px 38px rgba(9,42,48,.32)}
.home-building-label b,.home-building-label small{display:block}
.home-building-label b{font-size:clamp(1rem,1.5vw,1.35rem);color:var(--navy)}
.home-building-label small{margin-top:4px;color:var(--primary-dark);font-size:.75rem}
.home-utility-dock{width:min(760px,calc(100% - 32px));margin:0 auto;margin-top:auto;padding:10px 14px;gap:10px}
.home-utility-dock img{height:68px}
.home-utility-dock a{font-size:.72rem}

@media(min-width:681px){
    .portrait-app .page-header{align-items:center;flex-direction:row;margin-bottom:20px}
    .portrait-app .page-actions{width:auto}
    .portrait-app .page-actions .btn{flex:initial}
    .portrait-app .voucher-layout{grid-template-columns:minmax(0,1.15fr) minmax(370px,.85fr)}
    .portrait-app .voucher-meta{grid-template-columns:1fr 240px}
    .portrait-app .statement-builder{grid-template-columns:1fr 330px}
    .portrait-app .settlement-board{grid-template-columns:1fr 1fr}
    .portrait-app .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .portrait-app .form-grid .full{grid-column:1/-1}
    .portrait-app .item-grid{grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:10px}
    .portrait-app .item-card{padding:10px}
    .portrait-app .item-card img,.portrait-app .item-placeholder{height:105px}
    .portrait-app .item-card h3{font-size:.86rem}
    .portrait-app .selected-row{grid-template-columns:minmax(0,1fr) 70px 95px 95px 35px}
    .portrait-app .selected-row .line-total{display:block}
    .portrait-app .data-table.mobile-cards thead{display:table-header-group}
    .portrait-app .data-table.mobile-cards tbody{display:table-row-group;padding:0}
    .portrait-app .data-table.mobile-cards tr{display:table-row;padding:0;border:0;border-radius:0}
    .portrait-app .data-table.mobile-cards td{display:table-cell;border-top:1px solid var(--line);padding:11px 13px}
    .portrait-app .summary-grid,.portrait-app .receipt-entry{grid-template-columns:repeat(2,1fr)}
    .portrait-app .panel-body{padding:18px}
}

@media(max-width:680px){
    .portrait-header{grid-template-columns:86px 1fr 86px}
    .portrait-brand small{display:none}
    .home-screen{
        min-height:calc(100dvh - 64px);
        margin:-12px;
        padding:12px;
        background-image:url('/images/home-mobile-buildings-v1.png');
        background-position:center top;
    }
    .home-copy{width:82%;padding:7px 12px;background:rgba(255,255,255,.56)}
    .home-copy span{font-size:.55rem}
    .home-copy h1{font-size:1.2rem;margin:3px 0 0}
    .home-copy p{display:none}
    .home-building-link{left:5%;right:5%;width:auto;padding-bottom:2%;border-radius:20px}
    .home-building-link.sales{top:14%;bottom:auto;height:37%}
    .home-building-link.merchants{top:50%;bottom:auto;height:34%}
    .home-building-label{min-width:145px;padding:8px 18px;border-radius:13px}
    .home-building-label b{font-size:.92rem}
    .home-building-label small{font-size:.62rem;margin-top:2px}
    .home-utility-dock{width:calc(100% - 12px);padding:7px 6px;gap:4px;border-radius:16px}
    .home-utility-dock img{height:50px}
    .home-utility-dock a{font-size:.55rem}
    .home-utility-dock span{min-height:28px}
}

@media(min-width:681px) and (max-width:1000px){
    .portrait-app .voucher-layout,
    .portrait-app .statement-builder,
    .portrait-app .settlement-board{grid-template-columns:1fr}
    .portrait-app .voucher-meta{grid-template-columns:1fr 180px}
}

.status-radio-group{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.status-radio-option{min-height:54px;margin:0;padding:9px 11px;border:1px solid var(--line);border-radius:11px;background:#fff;display:flex;align-items:center;gap:9px;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}
.status-radio-option input{position:absolute;opacity:0;pointer-events:none}
.status-radio-dot{width:18px;height:18px;flex:none;border:2px solid #a8b5c4;border-radius:50%;display:grid;place-items:center}
.status-radio-dot:after{content:'';width:8px;height:8px;border-radius:50%;background:transparent}
.status-radio-option b,.status-radio-option small{display:block;line-height:1.25}
.status-radio-option b{font-size:.82rem;color:var(--navy)}
.status-radio-option small{margin-top:2px;color:var(--muted);font-size:.62rem}
.status-radio-option.active.selected{border-color:var(--success);background:var(--success-soft);box-shadow:0 0 0 2px rgba(22,133,84,.08)}
.status-radio-option.active.selected .status-radio-dot{border-color:var(--success)}
.status-radio-option.active.selected .status-radio-dot:after{background:var(--success)}
.status-radio-option.inactive.selected{border-color:#7b8798;background:#edf0f4;box-shadow:0 0 0 2px rgba(92,105,123,.07)}
.status-radio-option.inactive.selected .status-radio-dot{border-color:#667487}
.status-radio-option.inactive.selected .status-radio-dot:after{background:#667487}
.status-radio-option:focus-within{outline:3px solid rgba(15,118,110,.16);outline-offset:1px}

/* Compact application density */
.portrait-content{padding:clamp(10px,1.35vw,18px)}
.page-header{gap:10px;margin-bottom:12px}
.page-header h1{margin-bottom:2px}
.page-actions{gap:6px}
.btn{min-height:40px;padding:7px 13px;gap:5px}
.icon-action{width:34px;height:34px}
.panel-body{padding:12px}
.panel-title{gap:8px;margin-bottom:9px}
.toolbar{gap:6px;margin-bottom:10px}
.input,.select,.textarea{min-height:40px;padding:7px 10px}
.textarea{min-height:66px}
label{margin:8px 0 4px}
.form-grid{gap:0 10px}
.field-hint{margin:3px 0}
.data-table th,.data-table td{padding:8px 10px}
.actions{gap:4px}
.status{padding:4px 8px}
.pager{gap:7px;padding:9px}
.chips{gap:5px}
.chip{padding:6px 12px}
.empty-state{padding:28px 14px}
.dialog-backdrop{padding:10px}
.app-dialog>header,.app-dialog>footer{padding:10px 14px}
.app-dialog>footer{gap:6px}
.dialog-body{padding:12px}
.danger-box{padding:10px}
.master-grid{gap:10px}
.stat-row{gap:8px}
.stat-card{padding:11px}
.voucher-layout{gap:10px}
.voucher-meta{gap:8px;margin-bottom:10px}
.merchant-select-card,.date-card{padding:10px}
.item-grid{gap:6px}
.item-card{padding:7px}
.item-card h3{margin-top:5px}
.item-card .money{margin:3px 0 5px}
.selected-list{gap:4px}
.selected-row{gap:5px;padding:6px}
.voucher-total{padding:9px}
.settlement-board{gap:8px}
.settlement-column{padding:9px}
.merchant-card{padding:10px;margin:6px 0}
.merchant-card-top{gap:7px}
.merchant-card dl{gap:3px;margin:7px 0}
.detail-head{gap:8px;padding:3px 2px 9px}
.detail-tabs{gap:2px;margin-inline:-12px;padding-inline:12px}
.detail-tabs button{padding:9px 11px}
.detail-content{padding-top:10px}
.summary-grid{gap:5px 14px}
.summary-row{padding:6px 0}
.statement-builder{gap:9px}
.calculation-card{padding:11px}
.calc-line{padding:5px 0}
.receipt-entry{gap:8px}
.method-grid{gap:5px}
.notification-popover{padding:8px}
.notification-item{padding:7px}
.full-modal>header{min-height:58px;padding:6px 9px;gap:6px}
.full-modal-body{padding:10px}
.full-modal>footer{padding:8px 10px calc(8px + env(safe-area-inset-bottom));gap:6px}
.mobile-list{gap:6px}
.mobile-record{padding:9px}
.mobile-record-head{gap:5px}
.mobile-record-grid{gap:5px;margin-top:7px}
.merchant-action-grid{gap:6px}
.merchant-action-grid button,.merchant-action-grid a{min-height:66px;gap:3px}
.month-section{margin-bottom:12px}
.month-heading{margin-bottom:5px}
.merchant-info-card{margin-top:8px;padding:9px}
.mobile-record>.actions{margin-top:6px;padding-top:6px}
.status-radio-group{gap:6px}
.status-radio-option{min-height:48px;padding:7px 9px;gap:7px}
.merchant-picker-list{display:grid;gap:6px;margin-top:8px}
.merchant-picker-list .merchant-card{margin:0}

@media(min-width:681px){
    .portrait-app .page-header{margin-bottom:12px}
    .portrait-app .item-grid{gap:7px}
    .portrait-app .item-card{padding:8px}
    .portrait-app .data-table.mobile-cards td{padding:8px 10px}
    .portrait-app .panel-body{padding:12px}
}

@media(max-width:680px){
    .portrait-content{padding:8px}
    .page-header{margin-bottom:8px}
    .dialog-backdrop{padding:0}
    .app-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}
    .app-dialog>header,.app-dialog>footer{padding:9px 12px}
    .dialog-body{padding:10px}
    .portrait-app .panel-body{padding:9px}
    .portrait-app .data-table.mobile-cards tbody{gap:6px;padding:5px}
    .portrait-app .data-table.mobile-cards tr{padding:7px}
    .portrait-app .data-table.mobile-cards td{padding:3px}
    .home-screen{margin:-8px}
}

/* Voucher entry: item canvas with fixed voucher detail action */
.voucher-entry-page{padding-bottom:82px}
.voucher-entry-page>.panel{max-width:1500px;margin-inline:auto}
.item-card.selected{border-color:var(--primary);box-shadow:0 0 0 2px rgba(15,118,110,.1)}
.voucher-entry-page .item-card{text-align:left;color:inherit;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}
.voucher-entry-page .item-card:hover,.voucher-entry-page .item-card:focus-visible{border-color:var(--primary);box-shadow:0 6px 16px rgba(15,118,110,.12);transform:translateY(-1px);outline:none}
.voucher-open-fab{position:fixed;right:24px;bottom:24px;z-index:58;min-width:190px;min-height:58px;padding:9px 16px;border:0;border-radius:18px;background:linear-gradient(135deg,#10958a,var(--primary-dark));color:#fff;box-shadow:0 15px 32px rgba(7,61,58,.34);display:flex;align-items:center;gap:10px;text-align:left}
.voucher-open-fab:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(7,61,58,.4)}
.voucher-open-icon{width:38px;height:38px;flex:none;border-radius:12px;background:rgba(255,255,255,.18);display:grid;place-items:center;font-size:20px}
.voucher-open-fab b,.voucher-open-fab small{display:block}
.voucher-open-fab b{font-size:.92rem}
.voucher-open-fab small{margin-top:2px;color:rgba(255,255,255,.82);font-size:.64rem}
.voucher-customer-card,.voucher-selected-card{width:min(1100px,100%);margin-inline:auto}
.voucher-customer-card{padding:12px}
.voucher-customer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.voucher-customer-head h2{margin:2px 0;color:var(--navy);font-size:1.12rem}
.voucher-customer-head span,.voucher-customer-head small{display:block}
.voucher-customer-fields{display:grid;grid-template-columns:220px minmax(0,1fr);gap:10px}
.voucher-customer-fields .full{grid-column:auto}
.voucher-customer-fields .textarea{min-height:40px}
.voucher-selected-card{margin-top:8px}
.voucher-selected-toolbar{display:flex;justify-content:flex-end;margin-bottom:5px}
.clear-selected-button{min-height:36px;padding:6px 10px;border:1px solid #ffcdd4;border-radius:9px;background:var(--danger-soft);color:var(--danger);display:inline-flex;align-items:center;gap:5px;font-weight:750}
.clear-selected-button span{font-size:16px;line-height:1}
.voucher-charge-grid{display:grid;grid-template-columns:minmax(220px,.65fr) minmax(280px,1fr);gap:12px;align-items:end;margin-top:8px}
.voucher-summary-lines{padding:8px 10px;border-radius:10px;background:#edf8f6}
.voucher-summary-lines>div{display:flex;align-items:center;justify-content:space-between;padding:4px 0}
.voucher-summary-lines .grand{margin-top:3px;padding-top:7px;border-top:1px solid #bcded8;color:var(--primary-dark);font-size:1.05rem}
.dialog-backdrop{z-index:150}

@media(max-width:680px){
    .voucher-entry-page{padding-bottom:74px}
    .voucher-open-fab{right:10px;bottom:10px;min-width:174px;min-height:54px;padding:7px 12px;border-radius:16px}
    .voucher-open-icon{width:36px;height:36px}
    .voucher-customer-fields,.voucher-charge-grid{grid-template-columns:1fr;gap:4px}
    .voucher-customer-card{padding:9px}
    .voucher-selected-card{margin-top:6px}
}

/* Compact merchant list */
.merchant-list-actions{display:flex;justify-content:flex-end;gap:6px;margin-bottom:10px}
.merchant-list-card-head{display:flex;align-items:center;gap:10px;width:100%}
.merchant-list-identity{min-width:0;display:flex;align-items:center;gap:8px;text-align:left}
.merchant-list-identity>div{min-width:0}
.merchant-name-line{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.merchant-name-line h3{margin:0}
.commission-inline{padding:3px 7px;border-radius:999px;background:var(--primary-soft);color:var(--primary-dark);font-size:.66rem;font-weight:800;white-space:nowrap}
.merchant-outstanding{margin-left:auto;flex:none;text-align:right}
.merchant-outstanding small,.merchant-outstanding b{display:block}
.merchant-outstanding small{color:var(--muted);font-size:.64rem}
.merchant-outstanding b{margin-top:2px;color:var(--danger);font-size:.9rem;white-space:nowrap}
.merchant-list-record>.actions{justify-content:flex-end}

@media(max-width:680px){
    .merchant-list-actions>*{flex:1}
    .merchant-list-card-head{gap:7px}
    .merchant-list-identity{gap:6px}
    .merchant-list-identity .avatar{width:40px;height:40px}
    .merchant-name-line{gap:5px}
    .merchant-outstanding b{font-size:.8rem}
}

/* Item master horizontal grid cards */
.item-list-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:8px}
.item-list-card{position:relative;min-width:0;padding:9px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 4px 12px rgba(28,45,72,.045)}
.item-list-actions{position:absolute;top:8px;right:8px;z-index:1;display:flex;gap:4px}
.item-list-main{min-width:0;display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:10px;align-items:center}
.item-list-image{width:64px;height:64px;border-radius:10px;background:#f3f6f7;display:grid;place-items:center;overflow:hidden;color:#84a19d;font-size:25px}
.item-list-image img{width:100%;height:100%;object-fit:contain}
.item-list-info{min-width:0}
.item-list-info h3{margin:0 0 3px;color:var(--navy);font-size:.9rem;line-height:1.4;overflow-wrap:anywhere}
.item-list-info small{display:block;color:var(--muted);font-size:.68rem}
.item-list-price{align-self:end;min-width:90px;padding-top:32px;text-align:right}
.item-list-price small,.item-list-price b{display:block}
.item-list-price small{color:var(--muted);font-size:.62rem}
.item-list-price b{margin-top:2px;color:var(--primary-dark);font-size:.88rem;white-space:nowrap}

@media(max-width:680px){
    .item-list-grid{grid-template-columns:1fr;gap:6px}
    .item-list-card{padding:8px}
    .item-list-main{grid-template-columns:56px minmax(0,1fr) auto;gap:8px}
    .item-list-image{width:56px;height:56px}
    .item-list-price{min-width:80px;padding-top:30px}
    .item-list-price b{font-size:.8rem}
}

/* Settlement responsive columns and mobile tabs */
.settlement-toolbar{display:flex;justify-content:flex-end;margin-bottom:8px}
.settlement-mobile-tabs,.settlement-mobile-content{display:none}
.settlement-merchant-card{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}
.settlement-merchant-card:hover,.settlement-merchant-card:focus-visible{border-color:var(--primary);box-shadow:0 7px 18px rgba(15,118,110,.12);transform:translateY(-1px);outline:none}

@media(max-width:680px){
    .settlement-toolbar .btn{min-width:120px}
    .settlement-desktop-board{display:none!important}
    .settlement-mobile-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:7px}
    .settlement-mobile-tabs button{min-height:46px;padding:7px 9px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--muted);display:flex;align-items:center;justify-content:space-between;gap:5px;font-weight:800}
    .settlement-mobile-tabs button b{min-width:23px;height:23px;border-radius:999px;background:#edf1f5;display:grid;place-items:center;font-size:.72rem}
    .settlement-mobile-tabs .pending.active{border-color:#edc976;background:var(--amber-soft);color:#8c5700}
    .settlement-mobile-tabs .pending.active b{background:#f5dca5}
    .settlement-mobile-tabs .cleared.active{border-color:#9ed8b7;background:var(--success-soft);color:var(--success)}
    .settlement-mobile-tabs .cleared.active b{background:#bfe7cf}
    .settlement-mobile-content{display:grid;gap:6px}
    .settlement-mobile-content .merchant-card{margin:0}
}

/* User account grid cards */
.user-list-actions{display:flex;justify-content:flex-end;margin-bottom:8px}
.user-list-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}
.user-list-card{position:relative;min-height:100px;padding:12px 52px 12px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 4px 12px rgba(28,45,72,.045)}
.user-list-card h3{margin:0 0 5px;color:var(--navy);font-size:.95rem}
.user-list-card span,.user-list-card small{display:block}
.user-list-card span{color:var(--text);font-size:.8rem}
.user-list-card small{margin-top:4px;color:var(--muted);font-size:.72rem}
.user-edit-action{position:absolute;top:8px;right:8px}

@media(max-width:680px){
    .user-list-actions .btn{width:100%}
    .user-list-grid{grid-template-columns:1fr;gap:6px}
    .user-list-card{min-height:90px;padding:10px 48px 10px 10px}
}

/* Same-tab A5 document preview */
.document-preview-page{height:100dvh;display:flex;flex-direction:column;background:#dfe6ed;overflow:hidden}
.document-preview-header{min-height:62px;padding:8px clamp(10px,2vw,22px);display:grid;grid-template-columns:110px 1fr 110px;align-items:center;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 3px 12px rgba(18,39,58,.08);z-index:2}
.document-preview-header>div{text-align:center}
.document-preview-header h1{margin:0;color:var(--navy);font-size:1.05rem}
.document-preview-header small{display:block;margin-top:2px;color:var(--muted);font-size:.68rem}
.document-preview-header>.btn{justify-self:end}
.document-preview-canvas{flex:1;min-height:0;overflow:auto;padding:14px;display:block}
.document-preview-canvas .a5-paper{width:min(148mm,100%);margin:0 auto;box-shadow:0 8px 30px rgba(18,39,58,.18)}

@media(max-width:680px){
    .document-preview-header{grid-template-columns:52px 1fr 92px;padding:6px 8px}
    .document-preview-header>.btn{min-height:38px;padding:6px 10px}
    .document-preview-canvas{padding:8px}
    .document-preview-canvas .a5-paper{padding:5mm}
}

@media print{
    html,body{background:#fff!important}
    .document-preview-page{height:auto;display:block;background:#fff;overflow:visible}
    .document-preview-header{display:none!important}
    .document-preview-canvas{display:block;overflow:visible;padding:0;background:#fff}
    .document-preview-canvas .a5-paper{width:148mm;min-height:210mm;margin:0;padding:8mm;box-shadow:none}
}

/* Unified Font Awesome icon sizing */
.btn>.app-icon{width:15px;height:15px;flex:none}
.icon-button .app-icon,.icon-action .app-icon,.modal-back .app-icon,.pager button .app-icon{width:17px;height:17px}
.modal-back{display:grid;place-items:center}
.sidebar nav a span .app-icon{width:18px;height:18px;margin:auto}
.merchant-action-grid span .app-icon{width:22px;height:22px}
.voucher-open-icon .app-icon{width:18px;height:18px}
.item-placeholder .app-icon,.item-list-image .app-icon{width:24px;height:24px}
.settlement-mobile-tabs button>span,.settlement-column h2>span:first-child{display:inline-flex;align-items:center;gap:7px}
.settlement-mobile-tabs .app-icon,.settlement-column h2 .app-icon{width:17px;height:17px}
.home-utility-dock .home-menu-icon{width:48px;height:48px;min-height:48px;margin:2px auto 5px;border-radius:14px;background:linear-gradient(145deg,#e7f5f2,#d7ece8);color:var(--primary);display:grid;place-items:center}
.home-utility-dock .home-menu-icon .app-icon{width:22px;height:22px}
@media(max-width:520px){.home-utility-dock .home-menu-icon{width:42px;height:42px;min-height:42px;border-radius:12px}.home-utility-dock .home-menu-icon .app-icon{width:19px;height:19px}}
