.modal-backdrop#productDetailsModal{z-index:20}
.modal-backdrop#paymentModal{z-index:40}
.modal.dragging{cursor:grabbing}
.details-title,.product-document-header,.receipt-brand,.receipt-heading,.receipt-modal>h2,.receipt-modal>p,.data-modal>h2,.data-modal>.section-kicker,.account-modal>h2,.account-modal>.section-kicker,.admin-login-modal>h2,.admin-login-modal>.section-kicker{cursor:move;user-select:none}
.reset-app-button{display:block;width:100%;margin-top:14px;border:1px solid #f1caca;border-radius:8px;background:#fff4f4;color:#b54848;padding:11px 13px;font:inherit;font-size:12px;font-weight:750;cursor:pointer}
.reset-app-button:hover{background:#ffeaea}
.stock-load-modal{width:min(500px,100%)}
.stock-load-form{display:grid;gap:14px}
.stock-load-form label{display:block;color:#5e6c64;font-size:11px;font-weight:750}
.stock-load-form input,.stock-load-form select{display:block;width:100%;height:43px;border:1px solid #dfe5df;border-radius:7px;margin-top:7px;padding:0 11px;background:#fff;color:var(--ink);font:inherit;outline-color:var(--green)}
.stock-load-current{border-radius:8px;background:#f0f7f2;color:var(--green);font-size:11px;font-weight:750;padding:11px 12px}
.product-details-modal,.receipt-modal{max-height:calc(100vh - 40px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#a9c5b5 #f1f5f2}
.modal-backdrop#productModal>.modal{max-height:calc(100vh - 40px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#a9c5b5 #f1f5f2}
.product-details-modal::-webkit-scrollbar,.receipt-modal::-webkit-scrollbar{width:9px}
.product-details-modal::-webkit-scrollbar-track,.receipt-modal::-webkit-scrollbar-track{background:#f1f5f2;border-radius:10px}
.product-details-modal::-webkit-scrollbar-thumb,.receipt-modal::-webkit-scrollbar-thumb{background:#a9c5b5;border-radius:10px;border:2px solid #f1f5f2}
.modal-backdrop#productModal>.modal::-webkit-scrollbar{width:9px}.modal-backdrop#productModal>.modal::-webkit-scrollbar-track{background:#f1f5f2;border-radius:10px}.modal-backdrop#productModal>.modal::-webkit-scrollbar-thumb{background:#a9c5b5;border-radius:10px;border:2px solid #f1f5f2}
.application-locked .app-shell{visibility:hidden;pointer-events:none;user-select:none}
.auth-gate{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#edf5ef 0%,#f8faf7 55%,#eaf1ed 100%)}
.auth-gate.hidden{display:none!important}
.auth-card{width:min(430px,100%);padding:34px;background:#fff;border:1px solid #e0e9e2;border-radius:18px;box-shadow:0 24px 70px rgba(28,55,42,.16)}
.auth-brand{padding:0;margin:0 0 34px;font-size:22px}
.auth-card h2{margin:8px 0 8px;font-size:23px;letter-spacing:-.5px}
.auth-card>p{color:var(--muted);font-size:12px;line-height:1.6;margin:0 0 23px}
.auth-card form{display:grid;gap:14px}
.auth-card label{display:block;color:#5e6c64;font-size:11px;font-weight:750}
.auth-card input{display:block;width:100%;height:44px;border:1px solid #dfe5df;border-radius:7px;margin-top:7px;padding:0 11px;font:inherit;color:var(--ink);outline-color:var(--green)}
.auth-card .login-error{min-height:16px;margin:0;color:#be6868;font-size:10px}
:root{font-family:"Aptos","Segoe UI","Helvetica Neue",Arial,sans-serif}
body,button,input,select,textarea{font-family:inherit}
h1,h2,h3,h4,.brand,.auth-brand{font-family:"Aptos Display","Aptos","Segoe UI","Helvetica Neue",Arial,sans-serif}
:root{--ink:#172a24;--muted:#718179;--line:#dfe9e2;--canvas:#f3f7f4;--paper:#fff;--green:#1f664e;--green-2:#2d8767;--mint:#e1f4e9;--shadow:0 14px 38px rgba(31,74,56,.08)}
body{background:radial-gradient(circle at 90% 0%,#e7f4ec 0,transparent 34%),linear-gradient(135deg,#f8faf8 0%,var(--canvas) 100%);color:var(--ink)}
.app-shell{background:transparent}
.sidebar{background:linear-gradient(180deg,#ffffff 0%,#f6fbf7 100%);border-right-color:#dfeae2;box-shadow:8px 0 28px rgba(32,78,58,.04)}
.brand{color:var(--green);font-size:21px;letter-spacing:-.9px}.brand-mark{background:linear-gradient(135deg,var(--green),var(--green-2));box-shadow:0 5px 12px rgba(31,102,78,.22)}
.workspace-label,.section-kicker,.eyebrow{color:#789187}
.nav-link{transition:background .2s,color .2s,transform .2s}.nav-link:hover{background:#eff8f2;color:var(--green);transform:translateX(2px)}.nav-link.active{background:linear-gradient(90deg,#e4f4ea,#f1f8f3);box-shadow:inset 3px 0 var(--green)}
.main-content{padding-top:27px}.topbar{margin-bottom:37px}.topbar h1{color:#193329;font-size:27px}.top-actions{gap:14px}.profile-button{background:#fff;border:1px solid var(--line);border-radius:24px;padding:5px 11px 5px 5px;box-shadow:0 5px 16px rgba(31,74,56,.06)}
.hero-row h2,.view-heading h2{color:#193329;font-size:24px}.hero-row p,.view-heading p{max-width:650px;line-height:1.6}
.stat-card,.panel{border-color:#e2ebe4;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(31,74,56,.12)}.stat-card>strong{color:#193329}.stat-icon{box-shadow:0 4px 10px rgba(31,74,56,.06)}
.button{border-radius:10px;padding:11px 17px;transition:transform .18s,box-shadow .18s,background .18s}.button.primary{background:linear-gradient(135deg,var(--green),var(--green-2));box-shadow:0 8px 18px rgba(31,102,78,.2)}.button.primary:hover{box-shadow:0 11px 24px rgba(31,102,78,.28)}.button.dark{background:linear-gradient(135deg,#243d33,#315c49)}.button.secondary{border:1px solid #dce8df;background:#f6faf7;color:var(--green)}
.panel-heading{margin-bottom:20px}.panel-heading h3,.receipt-head h3{color:#1b3529;font-size:17px}
.toolbar{padding:5px;background:#eef5ef;border:1px solid #e0ebe3;border-radius:12px}.toolbar .search-box{border:0;box-shadow:0 3px 12px rgba(31,74,56,.06)}.toolbar select{height:38px;border-color:#d7e5da;box-shadow:0 3px 12px rgba(31,74,56,.04)}
.search-box:focus-within,.budget-input:focus-within,.payment-amount-input:focus-within{border-color:#80b39a;box-shadow:0 0 0 4px #e5f4eb}
.table-panel{overflow:hidden}.table-wrap{scrollbar-width:thin;scrollbar-color:#a7c4b2 #f1f6f2}.table-panel table th{background:linear-gradient(180deg,#f7fbf8,#eef6f0);color:#6c8277;padding-top:16px;padding-bottom:16px}.table-panel table td{transition:background .15s}.table-panel tbody tr:not(.category-row):hover td{background:#f5fbf7}.category-row td{background:linear-gradient(90deg,#e6f5eb,#f4faf5);color:var(--green)}
.cash-selection,.receipt-panel{border-color:#dfeae2}.cash-product{transition:background .15s,padding .15s;border-radius:8px;padding-left:7px;padding-right:7px}.cash-product:hover{background:#f3faf5}.receipt-panel{box-shadow:0 16px 40px rgba(31,74,56,.1)}.receipt-totals .remaining{background:linear-gradient(135deg,#e5f5eb,#f2fbf5);border:1px solid #d5eadb}
.modal-backdrop{background:rgba(17,39,29,.48);backdrop-filter:blur(4px)}.modal{border:1px solid #e0eae3;box-shadow:0 28px 75px rgba(17,51,36,.22)}.modal-close{transition:background .15s,color .15s,transform .15s}.modal-close:hover{background:#e8f4ec;color:var(--green);transform:rotate(90deg)}
.form-grid input,.account-form input,.admin-login-modal input,.auth-card input,.stock-load-form input,.stock-load-form select{border-color:#d8e5dc;background:#fbfdfb}.form-grid input:focus,.account-form input:focus,.admin-login-modal input:focus,.auth-card input:focus,.stock-load-form input:focus,.stock-load-form select:focus{border-color:#80b39a;box-shadow:0 0 0 4px #e6f4eb;outline:0}
.toast{background:linear-gradient(135deg,#1d4938,#2f7358);box-shadow:0 12px 30px rgba(21,67,47,.25)}
button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #a7d5b8;outline-offset:2px}
@media(max-width:900px){.main-content{padding-left:24px;padding-right:24px}.dashboard-grid,.cash-layout{grid-template-columns:1fr}.receipt-panel{position:relative;top:auto}.stats-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.app-shell{display:block}.sidebar{width:100%;padding:15px 14px 10px}.brand{padding-bottom:15px}.workspace-label,.sidebar-bottom{display:none}.main-nav{display:flex;overflow-x:auto;padding-bottom:3px}.nav-link{white-space:nowrap;padding:9px 10px}.main-content{padding:22px 14px 40px}.topbar{align-items:center;margin-bottom:28px}.topbar h1{font-size:22px}.icon-button{display:none}.profile-button{font-size:11px}.stats-grid{grid-template-columns:1fr 1fr;gap:9px}.stat-card{padding:14px}.stat-card>strong{font-size:18px}.hero-row,.view-heading{align-items:flex-start;flex-direction:column}.hero-row .button,.view-heading .button{width:100%}.toolbar{display:grid}.toolbar .search-box{width:100%}.data-export-grid{grid-template-columns:1fr}.auth-card{padding:27px 22px}}
.product-photo-editor{grid-column:1/-1;border:1px solid #dce9df;border-radius:12px;background:linear-gradient(135deg,#f5faf6,#edf6f0);padding:13px;display:grid;gap:10px}.product-photo-preview{min-height:150px;border:1px dashed #afcbb8;border-radius:9px;background:#fff;display:grid;place-items:center;overflow:hidden}.product-photo-preview img{width:100%;height:190px;object-fit:cover}.photo-placeholder{display:grid;place-items:center;color:#9db3a5;font-size:28px}.photo-placeholder.large{font-size:32px}.photo-placeholder small{display:block;font:inherit;font-size:10px;margin-top:6px}.product-photo-actions{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.product-photo-actions .button{font-size:10px;padding:8px 10px}.photo-file-button{display:inline-flex;align-items:center}.photo-file-button input{display:none!important}.product-photo-actions .small-action{font-size:10px}.product-photo-editor video{width:100%;max-height:240px;object-fit:cover;border-radius:9px;background:#162b22}.product-detail-photo{width:58px;height:58px;flex:0 0 58px;border-radius:12px;overflow:hidden;background:#e4f3e9;display:grid;place-items:center}.product-detail-photo img{width:100%;height:100%;object-fit:cover}.product-document-header{gap:13px}.product-document-header>div:nth-child(2){flex:1}
.catalogue-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}.catalogue-card{background:#fff;border:1px solid #e0ebe3;border-radius:15px;overflow:hidden;box-shadow:0 10px 28px rgba(31,74,56,.07);transition:transform .2s,box-shadow .2s}.catalogue-card:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(31,74,56,.13)}.catalogue-photo{height:165px;background:linear-gradient(135deg,#e8f5ec,#f5faf6);display:grid;place-items:center;overflow:hidden}.catalogue-photo img{width:100%;height:100%;object-fit:cover}.catalogue-photo .photo-placeholder{font-size:44px}.catalogue-card-body{padding:14px}.catalogue-status{display:inline-block;border-radius:20px;padding:5px 8px;font-size:9px;font-weight:800;letter-spacing:.3px}.catalogue-status.available{background:#e4f4ea;color:#39805e}.catalogue-status.sold{background:#ffebeb;color:#c76060}.catalogue-card h3{font-size:14px;margin:12px 0 4px;color:#1b3529}.catalogue-card p{font-size:10px;color:#8b9b91;margin:0 0 11px}.catalogue-card-body>strong{font-size:15px;color:var(--green)}.catalogue-card-body>.discount-tag{display:block;font-size:9px;margin-top:4px}.catalogue-card-actions{display:flex;gap:6px;margin-top:14px;padding-top:11px;border-top:1px solid #edf2ee}.catalogue-card-actions .small-action{font-size:10px;padding:7px 8px}.user-mode #view-stock .row-actions,.user-mode #view-stock [data-edit-product],.user-mode #view-stock [data-delete-product]{display:none!important}
.catalogue-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) 220px 180px;gap:10px;margin-bottom:18px;padding:5px;background:#eef5ef;border:1px solid #e0ebe3;border-radius:12px}.catalogue-toolbar .search-box{background:#fff}.catalogue-toolbar select{height:38px;border:1px solid #d7e5da;border-radius:8px;padding:0 12px;background:#fff;color:#65766d;font:inherit}.catalogue-toolbar select:focus{border-color:#80b39a;box-shadow:0 0 0 4px #e6f4eb;outline:0}.catalogue-card-hidden{display:none!important}.catalogue-filter-empty{grid-column:1/-1;background:#fff;border:1px dashed #cbdccf;border-radius:12px}
@media(max-width:650px){.product-photo-actions{display:grid;grid-template-columns:1fr 1fr}.product-photo-actions .small-action{grid-column:1/-1}.catalogue-toolbar{grid-template-columns:1fr;margin-bottom:13px}.catalogue-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.catalogue-photo{height:125px}.catalogue-card-body{padding:10px}.catalogue-card h3{font-size:12px}.catalogue-card-body>strong{font-size:12px}.catalogue-card-actions{display:grid}.catalogue-card-actions .small-action{width:100%}}
