:root{--bg:#f6f7f3;--ink:#233b32;--muted:#748078;--green:#14634c;--line:#e4e8e1;--soft:#edf3eb}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:15px;line-height:1.5}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.65;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #b1bb62;outline-offset:4px}h1,h2,h3,p{margin:0}h1{font-size:34px;letter-spacing:-1.2px;line-height:1.25;margin:7px 0 8px}h2{font-size:17px;font-weight:650}h3{font-size:18px}input,textarea{display:block;width:100%;border:1px solid #dbe1d8;background:#fff;border-radius:10px;padding:12px 14px;color:var(--ink);min-height:48px;outline:none}input:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #14634c13}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#929b95}label{display:block;font-weight:500}label>input,label>textarea{margin-top:7px}fieldset{padding:0;border:0;margin:0}legend{padding:0;margin-bottom:12px;font-weight:600}[hidden]{display:none!important}
.header{max-width:1080px;margin:auto;padding:27px 30px;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:flex;align-items:center;gap:12px;font-size:22px;font-weight:700;letter-spacing:-.5px}.brand-icon{background:var(--green);border-radius:12px;width:43px;height:43px;color:#fff;font-family:Georgia,serif;text-align:center;font-size:36px;line-height:1.1}.brand-sub{display:block;font-size:8px;letter-spacing:2px;font-weight:600;color:var(--muted)}.account{display:flex;gap:20px;align-items:center;font-size:13px}.text-button{background:none;border:0;color:var(--green);font-weight:600;padding:12px 4px;min-height:44px}.navigation{display:flex;gap:10px;border-bottom:1px solid var(--line);padding:0 max(30px,calc((100vw - 1020px)/2));white-space:nowrap}.navigation a{padding:15px 23px;color:var(--muted);font-weight:600;border-bottom:3px solid transparent}.navigation a.active{color:var(--green);border-color:var(--green)}
.container{max-width:1080px;margin:0 auto;padding:38px 30px 20px;min-height:70vh}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:26px}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;color:var(--muted)}.muted{color:var(--muted)}.small{font-size:12px;font-weight:400}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 21px;border:1px solid transparent;border-radius:10px;font-weight:600;line-height:1.5;white-space:nowrap}.primary{background:var(--green);color:#fff;box-shadow:0 3px 5px #143d3110}.primary:hover{background:#0d503c}.secondary{background:var(--soft);color:var(--green);border-color:#dfe7db}.wide{width:100%}.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:25px}.summary{display:grid;grid-template-columns:1.05fr 1fr;gap:20px;margin-bottom:28px}.sales-total{background:var(--green);border-radius:16px;padding:27px 30px;color:#fff;display:flex;flex-direction:column;justify-content:space-between;min-height:218px;background-image:radial-gradient(ellipse at 110% 0%,#7e966d33,transparent 60%)}.sales-total .eyebrow{color:#c6d7c9}.total-figure{font-size:48px;font-weight:650;letter-spacing:-1.5px;margin:9px 0 23px;overflow-wrap:anywhere}.summary-bottom{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#ceded6;gap:10px}.bill-count{background:#ffffff14;border:1px solid #ffffff21;border-radius:7px;padding:5px 10px;white-space:nowrap}.bill-count strong{color:#fff;font-size:15px}.breakdown h2{margin-bottom:24px}.breakdown-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 20px}.payment-total>span{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted)}.payment-total strong{font-size:20px;display:block;margin-top:5px;letter-spacing:-.4px}.payment-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#2c8165}.payment-dot.easypaisa{background:#7c9b46}.payment-dot.jazzcash{background:#c5a453}.payment-dot.credit{background:#8594b2}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.count{display:inline-block;font-size:11px;background:#eff2ec;color:var(--muted);border-radius:6px;padding:2px 7px;vertical-align:middle;margin-left:5px}.invoice-row{display:flex;align-items:center;gap:15px;padding:18px 0;border-top:1px solid #edf0e9}.invoice-row:hover{background:#fafbf8}.invoice-icon{width:38px;height:42px;border:1px solid #e3e9df;border-radius:9px;background:#f7f9f3;color:#799071;text-align:center;font-size:29px;line-height:1.3}.invoice-main{flex:1;min-width:0}.invoice-main strong{font-size:14px}.invoice-main>span{display:block;margin-top:4px;overflow-wrap:anywhere}.invoice-value{text-align:right}.invoice-value>strong{display:block;font-size:16px;margin-bottom:4px}.badge{display:inline-block;font-size:10px;border-radius:5px;padding:3px 8px;color:#467560;background:#eef5eb}.badge.easypaisa{color:#667937;background:#f1f5e8}.badge.jazzcash{color:#926f30;background:#faf4e5}.badge.credit{color:#647898;background:#eef1f8}.row-arrow{color:#9ba699;font-size:22px;margin-left:8px}.empty-state{text-align:center;padding:34px 16px 22px}.empty-state p{color:var(--muted);margin:7px 0 20px;font-size:13px}.empty-symbol{display:inline-flex;width:46px;height:46px;border-radius:13px;align-items:center;justify-content:center;background:#f0f4e9;color:#869d71;font-size:28px;margin-bottom:14px}.empty-state.compact{padding:24px 10px}.date-filter{display:flex;align-items:center;gap:12px;margin-bottom:24px}.date-filter input{width:auto}.date-filter label{font-size:13px}.pagination{display:flex;align-items:center;justify-content:center;gap:14px;padding-top:20px;font-size:13px}
.sale-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:22px;align-items:start}.entry-card>label{font-weight:600}.entry-card>label .small{float:right}.amount-entry{display:flex;align-items:center;gap:12px;border:1px solid #bbcabc;border-radius:12px;padding:10px 10px 10px 16px;margin-top:12px;background:#fbfcf9}.amount-entry:focus-within{border-color:var(--green);box-shadow:0 0 0 3px #14634c13}.amount-entry>span{color:var(--muted);font-size:23px}.amount-entry input{font-size:34px;font-weight:600;border:0;background:transparent;min-width:0;padding:0;box-shadow:none;height:48px;flex:1}.amount-entry .button{padding:12px 20px}.entry-card #entry-hint{margin:10px 0 30px}.item-row{display:flex;align-items:center;gap:12px;padding:9px 0;border-top:1px solid var(--line)}.item-number{background:#f1f4ec;min-width:27px;height:27px;text-align:center;border-radius:6px;font-size:12px;line-height:27px}.item-row input{flex:1;min-width:0;text-align:right;font-size:18px;border-color:transparent;background:#fafbf8}.item-row input:focus{border-color:var(--green)}.remove-item{background:none;border:0;color:#9b6d65;font-size:25px;min-width:44px;height:44px;border-radius:8px}.remove-item:hover{background:#fff1ed}.bill-total{padding-bottom:22px;border-bottom:1px solid var(--line);margin-bottom:23px}.bill-total output{display:block;font-size:38px;letter-spacing:-1px;color:var(--green);font-weight:700;margin:3px 0 5px;overflow-wrap:anywhere}.payment-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}.payment-options label{position:relative}.payment-options input{position:absolute;width:1px;height:1px;min-height:0;opacity:0;margin:0}.payment-options span{display:block;text-align:center;border:1px solid var(--line);border-radius:8px;padding:12px 5px;font-size:13px;cursor:pointer}.payment-options input:checked+span{border-color:var(--green);background:#eef5ed;color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}.payment-options input:focus-visible+span{outline:3px solid #b1bb62;outline-offset:2px}.stack{display:flex;flex-direction:column;gap:18px}.optional-fields{margin-top:25px}.optional-fields label{font-size:13px}.optional-fields .small{float:right}.save-button{margin-top:24px;min-height:54px}.centered{text-align:center;margin-top:10px}.error-text{color:#a6372b;font-size:13px;margin-bottom:16px}.notice{padding:15px 19px;border-radius:10px;margin-bottom:22px;font-size:14px}.success{background:#e8f3e4;color:#2d652a;border:1px solid #d0e5c9}.error{background:#fff0ec;color:#993c2f;border:1px solid #f2d7cc}.notice ul{margin:7px 0 0;padding-left:20px}
.receipt{max-width:650px;margin:auto}.receipt-top{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-bottom:25px;border-bottom:1px solid var(--line);margin-bottom:22px}.receipt-top h2{margin-top:5px;overflow-wrap:anywhere}.receipt-row{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid #edf0e9}.receipt-total{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:23px 0;color:var(--green)}.receipt-total strong{font-size:30px;letter-spacing:-1px}.notes{border-top:1px dashed var(--line);padding:18px 0}.notes p{margin-top:6px;white-space:pre-wrap;overflow-wrap:anywhere}.receipt-actions{display:flex;justify-content:space-between;gap:12px;padding-top:18px;border-top:1px solid var(--line)}.danger{color:#a54d3a}.destructive{background:#a53d2b;color:#fff}.readonly-note{padding:15px;background:#f3f5ef;border-radius:8px;color:var(--muted);font-size:13px;text-align:center}.back-link{display:block;text-align:center;color:var(--green);margin-top:20px;padding:10px}dialog{max-width:450px;width:calc(100% - 32px);padding:27px;border:1px solid var(--line);border-radius:16px;color:var(--ink)}dialog::backdrop{background:#15372966}dialog p{margin-top:12px}.dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:25px}.login-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding:50px 30px}.login-intro h1{font-size:45px;margin:16px 0 20px;letter-spacing:-1.8px}.login-intro p{color:var(--muted);line-height:1.8}.login-mark{font-size:29px;font-weight:600;color:var(--green);margin-top:48px}.login-mark span{display:block;font-size:12px;font-weight:400;color:var(--muted);margin-top:8px}.login-card{padding:32px}.login-card>p{margin:8px 0 26px}.login-card>.small{margin:23px 0 0}.footer{text-align:center;color:#8c978b;font-size:11px;padding:30px 16px;letter-spacing:.4px}
@media(max-width:700px){.header{padding:20px}.brand{font-size:20px}.account>span{display:none}.navigation{padding:0 12px;justify-content:space-around;gap:0}.navigation a{padding:14px 12px;font-size:13px}.container{padding:27px 18px 15px}h1{font-size:28px}.page-heading{align-items:flex-start;margin-bottom:21px}.page-heading .button{padding:11px 15px;font-size:13px;margin-top:15px}.page-heading p{font-size:12px}.eyebrow{font-size:9px;letter-spacing:1.3px}.summary{grid-template-columns:1fr;gap:14px;margin-bottom:23px}.sales-total{min-height:195px;padding:24px}.total-figure{font-size:42px}.card{padding:21px;border-radius:13px}.breakdown h2{margin-bottom:17px}.breakdown-grid{gap:19px}.payment-total strong{font-size:19px}.invoice-row{gap:10px}.invoice-icon{display:none}.invoice-main strong{font-size:13px}.invoice-value>strong{font-size:15px}.row-arrow{margin-left:0}.invoice-main .small{font-size:10px}.sale-layout{grid-template-columns:1fr;gap:16px}.amount-entry{gap:8px}.amount-entry input{font-size:32px}.checkout{margin-bottom:12px}.payment-options{grid-template-columns:repeat(4,1fr);gap:6px}.payment-options span{font-size:11px;padding:14px 3px}.date-filter{flex-wrap:wrap;gap:8px}.date-filter label{width:100%}.date-filter input{flex:1;min-width:0}.date-filter button{font-size:13px}.receipt-top{align-items:flex-start}.receipt-total strong{font-size:27px}.login-layout{grid-template-columns:1fr;padding:12px 0;gap:28px}.login-intro h1{font-size:36px}.login-intro p{font-size:13px}.login-mark{display:none}.login-card{padding:25px}.footer{padding:25px 16px}.dialog-actions{flex-wrap:wrap}.section-heading>.small{font-size:10px}}

.optional-details{margin-top:20px;border-top:1px solid var(--line);padding-top:9px}.optional-details summary{cursor:pointer;font-size:13px;min-height:44px;padding:12px 0}.optional-details summary .small{float:right}.optional-details .optional-fields{margin-top:8px}
select{display:block;width:100%;border:1px solid #dbe1d8;background:#fff;border-radius:10px;padding:12px 14px;color:var(--ink);min-height:48px}
.table-wrap{overflow-x:auto;margin-top:22px}table{width:100%;border-collapse:collapse;min-width:680px}th,td{text-align:left;padding:14px 12px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:11px;letter-spacing:.6px;color:var(--muted);text-transform:uppercase}td a{color:var(--green);font-weight:650}
.form-card{max-width:650px}.filter-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;align-items:end;margin-bottom:22px}.compact-summary{margin-top:22px}.compact-summary .sales-total{min-height:170px}.user-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:15px}.user-totals>div{background:var(--soft);padding:14px;border-radius:10px}.user-totals span{display:block;color:var(--muted);font-size:12px;margin-top:4px}.badge.completed{background:#e7f4eb;color:#26704d}.badge.voided{background:#f9e8e5;color:#9a4336}.voided-row{opacity:.68;text-decoration:line-through}.voided-receipt{border-color:#d9aaa1}.danger-zone{margin-top:24px;border-top:1px solid #e7cbc5;padding-top:12px}.danger-zone summary{color:#9a4336;cursor:pointer;font-weight:650;padding:10px 0}.danger-zone form{display:flex;gap:12px;align-items:end;margin-top:10px}.danger-zone form label{flex:1}.correction-reason{display:block;margin-top:20px}.closing-action{display:flex;align-items:center;justify-content:space-between;gap:20px}.history-list{margin-top:20px}.history-list p{padding:12px 0;border-top:1px solid var(--line)}.navigation{overflow-x:auto;scrollbar-width:thin}
@media(max-width:700px){.filter-grid{grid-template-columns:1fr 1fr}.user-totals{grid-template-columns:1fr}.danger-zone form,.closing-action{align-items:stretch;flex-direction:column}.table-wrap{margin-left:-8px;margin-right:-8px}.navigation{justify-content:flex-start}.navigation a{flex:0 0 auto}}

/* Mobile application layout */
html,body{max-width:100%;overflow-x:hidden}
img,svg{max-width:100%;height:auto}
table td{overflow-wrap:anywhere;word-break:break-word}
@media(max-width:700px){
  .header{padding:14px 16px}
  .brand{min-width:0;font-size:18px}
  .brand-icon{flex:0 0 auto}
  .account{gap:8px}
  .navigation{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:6px 10px;overflow:visible;white-space:normal}
  .navigation a{display:flex;align-items:center;justify-content:center;min-width:0;min-height:44px;padding:8px 4px;border:0;border-radius:8px;text-align:center;font-size:11px;line-height:1.2}
  .navigation a.active{background:var(--soft);border:0}
  .container{width:100%;padding:22px 14px 14px}
  .page-heading{flex-direction:column;align-items:stretch;gap:8px}
  .page-heading .button{width:100%;margin-top:4px}
  .card{min-width:0;padding:18px}
  .summary-bottom,.section-heading{flex-wrap:wrap}
  .payment-options{grid-template-columns:1fr 1fr}
  .amount-entry{padding-left:12px}
  .amount-entry>span{font-size:19px}
  .amount-entry input{font-size:28px}
  .amount-entry .button{padding:11px 13px}
  .receipt-actions{flex-direction:column}
  .receipt-actions form,.receipt-actions .button{width:100%}
  .filter-grid{grid-template-columns:1fr}
  .table-wrap{overflow:visible;margin:18px 0 0;padding:0;border:0;background:transparent}
  .table-wrap table,.table-wrap thead,.table-wrap tbody,.table-wrap tr,.table-wrap th,.table-wrap td{display:block;width:100%;min-width:0}
  .table-wrap thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .table-wrap tbody{display:grid;gap:12px}
  .table-wrap tr{padding:8px 14px;background:#fff;border:1px solid var(--line);border-radius:13px}
  .table-wrap td{display:grid;grid-template-columns:minmax(82px,.7fr) minmax(0,1fr);gap:10px;padding:9px 0;border-bottom:1px solid var(--line);text-align:right}
  .table-wrap td:last-child{border-bottom:0}
  .table-wrap td::before{content:attr(data-label);color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.5px;text-align:left;text-transform:uppercase}
  .table-wrap td[colspan]{display:block;text-align:center}
  .table-wrap td[colspan]::before{display:none}
}
@media(max-width:380px){
  .navigation{grid-template-columns:repeat(3,minmax(0,1fr))}
  .header{padding-inline:12px}
  .container{padding-inline:10px}
  .card{padding:15px}
  .amount-entry .button{font-size:13px}
}

/* Shared listing pagination */
.pagination{flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:4px;padding-block:18px}
.pagination-summary{color:var(--muted);font-size:13px}
.pagination-controls,.pagination-pages{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px}
.page-link{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--green);font-weight:600}
a.page-link:hover{background:var(--soft);border-color:var(--green)}
.page-link.is-current{background:var(--green);border-color:var(--green);color:#fff}
.page-link.is-disabled{color:var(--muted);background:var(--bg)}
.page-gap{padding:0 4px;color:var(--muted)}
.pagination-position{display:none}
@media(max-width:700px){
  .pagination{flex-direction:column;align-items:stretch;text-align:center}
  .pagination-controls{justify-content:space-between;gap:6px}
  .pagination-pages{display:none}
  .pagination-position{display:block;font-size:12px}
  .page-link{padding:9px 10px}
}

/* Store branding follows the saved settings. */
.brand{min-width:0}
.brand-icon{flex:0 0 43px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.brand-logo{display:block;width:280px;max-width:100%;height:auto;object-fit:contain}
.header .brand{flex:0 1 280px}
@media(max-width:700px){.header .brand{flex-basis:210px}.brand-logo{width:210px}}
.brand-name{min-width:0;overflow-wrap:anywhere}
.settings-logo{display:block;max-width:180px;max-height:120px;object-fit:contain}
@media(max-width:700px){.header .account{flex-shrink:0}.brand-sub{letter-spacing:1px}}
