:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#263052;background:#f5f6fa;font-size:15px}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}[hidden]{display:none!important}.eyebrow{color:#6d79a3;font-size:11px;font-weight:800;letter-spacing:.15em}.login-view{min-height:100dvh;display:grid;grid-template-columns:minmax(440px,48%) 1fr;background:#fff}.login-card{width:min(420px,calc(100% - 56px));margin:auto;padding:42px 0}.login-brand,.side-brand{display:flex;align-items:center;gap:12px;color:#3f4b7d;font-size:22px;font-weight:800;letter-spacing:-.045em}.login-brand{margin-bottom:92px}.login-brand img{width:54px;height:54px;object-fit:contain;border-radius:9px}.login-brand div{display:grid;gap:2px}.login-brand small{font-size:11px;font-weight:600;letter-spacing:0;color:#99a0af}.login-card h1{font-size:37px;letter-spacing:-.055em;margin:12px 0}.login-card>p{color:#8a91a5;line-height:1.6;font-size:14px;margin-bottom:33px}.login-card form{display:grid}.login-card label{font-size:13px;font-weight:700;margin-bottom:9px}.login-card input{height:48px;border:1px solid #dfe2eb;border-radius:6px;outline:none;padding:0 14px;margin-bottom:21px;background:#fafbfc}.login-card input:focus,.search-field input:focus,.date-filter input:focus{border-color:#4d5b91;box-shadow:0 0 0 3px #4d5b9119}.form-error{color:#aa2d3a;background:#fff0f1;border-radius:5px;padding:9px 11px;font-size:12px;margin:0 0 14px}.primary-button{height:48px;border:0;border-radius:6px;background:#3f4b7d;color:white;font-weight:800;display:flex;justify-content:space-between;align-items:center;padding:0 18px}.primary-button:hover,.filter-button:hover{background:#303b6a}.back-link{display:inline-block;margin-top:26px;color:#677394;font-size:12px;font-weight:700}.login-art{background:#404b7d;padding:27px;display:flex;align-items:stretch}.art-frame{position:relative;border-radius:7px;overflow:hidden;flex:1}.art-frame img{width:100%;height:100%;object-fit:cover}.art-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#28325abc,transparent 60%)}.art-frame>div{position:absolute;bottom:46px;left:45px;z-index:1;color:white;display:grid;gap:8px}.art-frame span{font-size:12px;letter-spacing:.15em;font-weight:800}.art-frame strong{font-size:37px;letter-spacing:-.05em;max-width:330px;line-height:1.1}
.admin-layout{min-height:100dvh;display:grid;grid-template-columns:240px minmax(0,1fr)}.sidebar{background:#3c4779;color:#fff;padding:25px 15px;display:flex;flex-direction:column;min-height:100dvh;position:sticky;top:0;height:100dvh}.side-brand{color:white;font-size:20px;padding:0 10px 28px;border-bottom:1px solid #ffffff2e}.side-brand img{width:38px;height:38px;object-fit:contain;border-radius:5px}.side-label{font-size:10px;color:#aab4d8;letter-spacing:.15em;font-weight:800;margin:30px 13px 14px}.side-nav{display:grid;gap:5px}.nav-button,.store-link,.logout-button{width:100%;display:flex;align-items:center;gap:11px;text-align:left;border:0;background:none;color:#cbd2ec;padding:12px 14px;border-radius:6px;font-size:13px;font-weight:700}.nav-button span{font-size:19px;font-weight:400;width:22px;text-align:center}.nav-button:hover,.nav-button.active,.store-link:hover,.logout-button:hover{background:#ffffff1d;color:white}.nav-button.active{box-shadow:inset 3px 0 #f0ec23}.side-bottom{margin-top:auto;border-top:1px solid #ffffff2e;padding-top:17px}.workspace{min-width:0}.top-header{height:103px;background:white;border-bottom:1px solid #e9ebf1;padding:22px 40px;display:flex;justify-content:space-between;align-items:center}.top-kicker{font-size:10px;letter-spacing:.15em;font-weight:800;color:#8a93ac}.top-header h1{font-size:25px;letter-spacing:-.04em;margin:4px 0 0}.user-chip{display:flex;align-items:center;gap:10px}.user-avatar{height:36px;width:36px;background:#f0ed20;color:#34406d;display:grid;place-items:center;border-radius:50%;font-weight:800}.user-chip>span:last-child{display:grid;gap:2px}.user-chip strong{font-size:12px}.user-chip small{font-size:11px;color:#9199ac}.content{padding:34px 40px 70px;max-width:1600px;margin:auto}.welcome{position:relative;background:#e9eaff;border-radius:8px;min-height:170px;display:flex;justify-content:space-between;align-items:center;overflow:hidden;padding:31px 38px;margin-bottom:22px}.welcome h2{font-size:26px;margin:9px 0 5px;letter-spacing:-.04em}.welcome p{font-size:13px;color:#7f89a8;margin:0}.welcome-symbol{font-size:140px;color:#3f4b7d;line-height:1;transform:rotate(-20deg);margin-right:32px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:23px}.stat-card{background:#fff;border:1px solid #eaebf0;border-radius:8px;padding:23px 21px;min-height:138px;display:grid;align-content:start;gap:8px}.stat-card>span{font-size:12px;font-weight:700;color:#7e879e}.stat-card strong{font-size:25px;letter-spacing:-.04em;color:#303c69}.stat-card small{font-size:11px;color:#9aa1af}.section-card{background:#fff;border:1px solid #e9ebf1;border-radius:8px;padding:24px}.card-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:19px}.card-heading h3{font-size:18px;margin:7px 0 0;letter-spacing:-.025em}.text-button{background:none;border:0;color:#3f4b7d;font-size:12px;font-weight:800}.section-intro{display:flex;align-items:end;justify-content:space-between;margin-bottom:22px}.section-intro h2{font-size:27px;letter-spacing:-.04em;margin:6px 0}.section-intro p{color:#8a91a4;font-size:13px;margin:0}.count-pill{border:1px solid #dfe2eb;background:#fff;padding:8px 12px;border-radius:30px;color:#4c5680;font-size:12px;font-weight:800}.toolbar{margin-bottom:20px}.search-field{display:flex;align-items:center;gap:8px;width:min(360px,100%);border:1px solid #dfe2eb;border-radius:5px;padding:0 12px;background:#fff}.search-field span{font-size:25px;color:#9198aa}.search-field input{height:40px;border:0;outline:none;width:100%;font-size:12px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:640px}th{text-align:left;color:#8e96aa;background:#f8f9fb;font-size:11px;letter-spacing:.07em;text-transform:uppercase;padding:13px 14px;font-weight:800;white-space:nowrap}td{padding:15px 14px;border-bottom:1px solid #eef0f4;color:#4b5574;font-size:12px;vertical-align:middle}tbody tr:last-child td{border-bottom:0}td strong{font-size:12px;color:#2e385f}.status{display:inline-block;border-radius:20px;padding:5px 9px;font-size:11px;font-weight:800}.status.yes{background:#e8f6ed;color:#247944}.status.no{background:#f0f1f4;color:#8990a0}.empty-row{text-align:center;color:#8c94a8;padding:34px}.table-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:17px;border-top:1px solid #eef0f4;color:#8b92a4;font-size:12px}.page-buttons{display:flex;gap:5px}.page-buttons button{height:30px;min-width:30px;border:1px solid #dfe2eb;border-radius:4px;background:white;color:#46517c;font-weight:700;font-size:12px}.page-buttons button.active{background:#3f4b7d;color:white}.page-buttons button:disabled{opacity:.4;cursor:not-allowed}.date-filter{display:flex;gap:11px;align-items:end;flex-wrap:wrap;margin-bottom:24px}.date-filter label{display:grid;gap:6px;color:#6f7891;font-size:11px;font-weight:700}.date-filter input{height:37px;border:1px solid #dfe2eb;border-radius:4px;padding:0 9px;color:#3d486e;background:#fff}.filter-button,.reset-button{height:37px;padding:0 15px;border-radius:4px;font-size:12px;font-weight:800}.filter-button{border:0;background:#3f4b7d;color:#fff}.reset-button{border:1px solid #dfe2eb;background:white;color:#596482}.report-summary{display:flex;gap:20px;padding:20px 0;border-top:1px solid #eff0f3;border-bottom:1px solid #eff0f3;margin-bottom:22px}.report-summary>div{min-width:200px;display:grid;gap:7px}.report-summary span{font-size:12px;color:#8b93a8}.report-summary strong{font-size:22px;color:#364273}.invoice-button{border:0;background:none;padding:0;color:#3e4b7c;font-weight:800;text-decoration:underline;text-underline-offset:3px}.detail-dialog{width:min(610px,calc(100% - 30px));border:0;border-radius:8px;padding:27px;box-shadow:0 20px 80px #1520444d}.detail-dialog::backdrop{background:#17203f9c}.dialog-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:20px}.dialog-head h2{font-size:20px;margin:6px 0}.dialog-head button{border:0;background:none;font-size:28px;color:#6b7490}.dialog-item{display:flex;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid #eceef3;font-size:12px}.dialog-item strong{display:block;color:#303b66;margin-bottom:4px}.dialog-item span{color:#8a92a7}.dialog-item b{white-space:nowrap;color:#3f4b7d}.notice{color:#8a92a7;font-size:13px;padding:18px 0}
@media(max-width:1080px){.stats-grid{grid-template-columns:repeat(2,1fr)}.content{padding:28px}.top-header{padding:20px 28px}}@media(max-width:740px){.login-view{grid-template-columns:1fr}.login-art{display:none}.login-brand{margin-bottom:55px}.admin-layout{display:block}.sidebar{height:auto;min-height:0;position:static;padding:12px 15px}.side-brand{padding-bottom:10px}.side-label,.side-bottom{display:none}.side-nav{display:flex;overflow:auto;padding-top:10px}.nav-button{white-space:nowrap;padding:10px}.nav-button span{display:none}.top-header{height:82px;padding:15px 18px}.top-header h1{font-size:21px}.content{padding:19px 16px 50px}.welcome{min-height:140px;padding:22px}.welcome h2{font-size:21px}.welcome-symbol{font-size:100px;margin-right:0;opacity:.3}.stats-grid{gap:10px}.stat-card{min-height:116px;padding:16px}.stat-card strong{font-size:21px}.section-card{padding:15px}.section-intro h2{font-size:23px}.date-filter{align-items:stretch}.report-summary>div{min-width:0;flex:1}.table-pagination{flex-wrap:wrap}.user-chip small{display:none}}@media(max-width:380px){.stats-grid{grid-template-columns:1fr 1fr}.stat-card strong{font-size:18px}.user-chip strong{max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
@media(max-width:740px){.side-bottom{display:flex;margin-top:4px;border:0;padding:0}.side-bottom>*{width:auto;padding:6px 10px}.side-bottom span{display:inline}}

.product-thumb{display:block;width:58px;height:58px;border-radius:6px;object-fit:cover;background:#f1f3f8;border:1px solid #e6e9f0}.product-thumb-empty{display:grid;place-items:center;color:#a7aec0;font-size:19px;font-weight:700}#productsPanel td:first-child{width:86px;padding-top:8px;padding-bottom:8px}
.product-thumb-button{display:block;width:58px;height:58px;padding:0;border:0;border-radius:7px;background:transparent;cursor:pointer;transition:transform .18s,box-shadow .18s}.product-thumb-button:hover{transform:translateY(-2px);box-shadow:0 7px 17px #26345924}.product-thumb-button:focus-visible{outline:3px solid color-mix(in srgb,var(--theme-primary,#3f4b7d) 25%,transparent);outline-offset:3px}.product-thumb-button .product-thumb{pointer-events:none}

.chart-card{margin-bottom:22px}.sales-chart{min-height:260px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;align-items:end;color:#7c849b;font-size:12px}.chart-column{min-width:0;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px}.chart-value{font-size:11px;color:#435080;font-weight:800;white-space:nowrap}.chart-track{height:180px;width:min(80px,100%);display:flex;align-items:flex-end;background:linear-gradient(to top,#eef0f6 1px,transparent 1px) 0 0/100% 25%;border-bottom:1px solid #d7dce8}.chart-bar{width:100%;min-height:0;background:linear-gradient(180deg,#f0eb21,#c8c41c);border-radius:5px 5px 0 0}.chart-column strong{font-size:12px;color:#303b68}.chart-column small{font-size:10px;color:#9ca3b3}.intro-actions{display:flex;align-items:center;gap:12px}.row-actions{display:flex;gap:6px}.row-actions button{border:1px solid #dfe2eb;background:#fff;color:#405080;border-radius:4px;padding:6px 9px;font-size:11px;font-weight:800}.row-actions button:hover{background:#eef1fa}.row-actions .delete-action{color:#b13b44;border-color:#f0d9dc}.row-actions .delete-action:hover{background:#fff1f2}.product-form{max-width:950px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 24px}.form-grid label{display:grid;gap:7px;color:#4b5574;font-size:12px;font-weight:800}.form-grid input,.form-grid textarea{width:100%;border:1px solid #dfe2eb;border-radius:5px;background:#fff;color:#273255;padding:10px 12px;outline:none;font-size:13px}.form-grid input:focus,.form-grid textarea:focus{border-color:#4d5b91;box-shadow:0 0 0 3px #4d5b9119}.form-grid input[readonly]{background:#f1f2f6;color:#81899d}.form-grid small{font-weight:400;color:#929aab}.wide-field{grid-column:1/-1}.form-grid .check-field{display:flex;align-items:center;gap:9px}.check-field input{width:17px;height:17px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:26px}.form-actions button{min-height:38px}.danger-button{border:0;background:#bd3d48;color:#fff;padding:0 16px;border-radius:4px;font-size:12px;font-weight:800}.danger-button:hover{background:#a52e38}.delete-dialog p{font-size:13px;color:#4e5876}.delete-dialog .delete-warning{color:#a36d50}.admin-toast{position:fixed;bottom:22px;right:22px;background:#334071;color:#fff;border-radius:6px;padding:12px 17px;box-shadow:0 10px 30px #1822443a;font-size:12px;z-index:30}@media(max-width:740px){.section-intro{align-items:flex-start;gap:12px;flex-wrap:wrap}.sales-chart{gap:6px}.chart-track{height:130px}.chart-value{font-size:9px;white-space:normal}.chart-column strong{font-size:10px}.chart-column small{font-size:9px}.form-grid{grid-template-columns:1fr}.wide-field{grid-column:auto}.intro-actions{width:100%;justify-content:space-between}}

.form-group-title{padding-top:12px;border-top:1px solid #e7e9f0;color:#34416f;font-weight:800;font-size:14px}.row-actions a{border:1px solid #dfe2eb;background:#fff;color:#405080;border-radius:4px;padding:6px 9px;font-size:11px;font-weight:800;text-decoration:none;white-space:nowrap}.row-actions a:hover{background:#eef1fa}.app-id-card{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:22px}.app-id-card h3{margin:7px 0;font-size:18px}.app-id-card p{font-size:12px;color:#7d869e;line-height:1.5;margin:0 0 14px}.app-id-card img{width:140px;height:140px;object-fit:contain;background:#fff;border:1px solid #e7e9f0;padding:8px;border-radius:5px}.app-id-line{display:flex;align-items:center;gap:12px}.app-id-line code{font-size:15px;font-weight:800;letter-spacing:.04em;color:#34416f}.app-id-line button{white-space:nowrap}@media(max-width:740px){.app-id-card{align-items:flex-start}.app-id-card img{width:110px;height:110px}.app-id-line{flex-wrap:wrap}}

.sales-chart{display:block;min-height:0;overflow-x:auto}.chart-legend{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin:0 0 8px;color:#68728e;font-size:11px;font-weight:700}.chart-legend span{display:inline-flex;align-items:center;gap:7px}.chart-legend i{display:inline-block;width:13px;height:13px;border-radius:3px}.legend-revenue{background:#addbf0}.legend-transactions{background:#45b64d}.legend-units{background:#ff9342}.combo-chart{display:block;width:100%;min-width:640px;height:auto}.chart-grid line{stroke:#dfe3ea;stroke-width:1}.chart-months text{font-size:12px;fill:#778198;font-weight:700}.chart-note{margin:2px 0 0;color:#9aa2b1;font-size:11px}@media(max-width:740px){.chart-legend{gap:9px;font-size:10px}.chart-note{line-height:1.5}}

.chart-card{background:#1d416d;border-color:#1d416d}.chart-card h3{color:#fff}.chart-card .eyebrow{color:#9bbde8}.chart-card .chart-legend{color:#c8d6ea}.chart-card .chart-note{color:#a8bdd8}.chart-card .chart-grid line{stroke:#ffffff32}.chart-card .chart-months text{fill:#b8cbe4}.chart-card .legend-revenue{background:#a7ccef;opacity:.45}.chart-card .legend-transactions{background:#4d9eff}.chart-card .legend-units{background:#ff935c}

.product-image-preview{height:180px;border:1px dashed #cfd5e2;border-radius:7px;background:#f7f8fb;display:grid;place-items:center;overflow:hidden;color:#9aa3b5;font-size:12px}.product-image-preview img{width:100%;height:100%;object-fit:contain}.product-image-preview span{padding:20px;text-align:center}.form-grid input[type=file]{height:auto;min-height:39px;padding:7px;background:#fff}
.product-gallery-field{display:grid;gap:12px}.product-gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:15px}.product-gallery-heading>div{display:grid;gap:5px}.product-gallery-heading strong{color:#3c4668;font-size:13px}.product-gallery-heading small{color:#8a92a6;font-weight:500}.product-image-slots{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.product-image-slot{position:relative;display:grid!important;gap:7px!important;min-width:0;padding:9px;border:1px solid #e0e4ed;border-radius:9px;background:#fbfcfe;cursor:pointer;transition:border-color .18s,box-shadow .18s,transform .18s}.product-image-slot:hover,.product-image-slot:focus-within{border-color:var(--theme-primary);box-shadow:0 5px 16px #26345912;transform:translateY(-1px)}.product-image-slot input{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;opacity:0;pointer-events:none}.product-image-canvas{position:relative;display:grid;place-items:center;align-content:center;gap:5px;aspect-ratio:1/1;border:1px dashed #cbd2e1;border-radius:7px;background:#f3f5f9;overflow:hidden;color:#7f89a3;text-align:center}.product-image-canvas img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#fff}.product-image-canvas b{font-size:25px;line-height:1}.product-image-canvas em{padding:0 7px;font-size:10px;font-style:normal;font-weight:700}.product-image-slot>small{min-width:0;overflow:hidden;color:#737d96;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.remove-product-image{position:absolute;top:15px;right:15px;z-index:2;width:27px;height:27px;padding:0;border:0;border-radius:50%;background:#fff;color:#c64955;box-shadow:0 2px 9px #17203f33;font-size:0;cursor:pointer}.remove-product-image:after{content:'×';font-size:19px;line-height:25px}.product-image-slot.has-image{border-color:#bfc7da;background:#fff}@media(max-width:900px){.product-image-slots{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:560px){.product-gallery-heading{align-items:start;flex-direction:column}.product-image-slots{grid-template-columns:repeat(2,minmax(0,1fr))}.product-image-slot:first-child{grid-column:1/-1}.product-image-slot:first-child .product-image-canvas{aspect-ratio:16/9}}
.product-gallery-tools{display:flex!important;grid-auto-flow:column;align-items:center;justify-content:end;gap:9px!important}.product-gallery-tools .reset-button{white-space:nowrap}.product-gallery-tools input[hidden]{display:none!important}@media(max-width:650px){.product-gallery-tools{display:grid!important;grid-auto-flow:row;width:100%;justify-content:stretch}.product-gallery-tools .reset-button{width:100%;height:43px}.product-gallery-tools .upload-limit{width:100%;justify-content:center}}
.product-photo-dialog{width:min(720px,calc(100% - 24px))}.product-photo-preview{overflow:hidden;aspect-ratio:4/3;border-radius:11px;background:#111827}.product-photo-preview video{display:block;width:100%;height:100%;object-fit:cover}.product-photo-actions{display:grid;grid-template-columns:auto auto minmax(150px,1fr);gap:10px}.product-photo-actions button{height:43px}.product-photo-dialog .notice{min-height:42px;padding:12px 0;margin:0}@media(max-width:600px){.product-photo-dialog{padding:18px}.product-photo-preview{aspect-ratio:3/4}.product-photo-actions{grid-template-columns:1fr 1fr}.product-photo-actions #captureProductPhoto{grid-column:1/-1}}
.sales-recap-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:20px}.sales-recap-card{margin-top:20px}.sales-recap-grid .sales-recap-card{min-width:0;margin-top:0}.sales-recap-card table{min-width:680px}.sales-recap-card .card-heading{margin-bottom:15px}@media(max-width:1050px){.sales-recap-grid{grid-template-columns:1fr}}@media(max-width:700px){.sales-recap-grid{gap:13px;margin-top:14px}.sales-recap-card{margin-top:14px;padding:14px}.sales-recap-card .card-heading h3{font-size:16px}}
:root{--theme-primary:#434e81;--theme-primary-text:#fff;--theme-accent:#f2ed1d;--theme-accent-text:#1f2945;--theme-background:#fff}.sidebar,.login-art,.primary-button,.filter-button,.page-buttons button.active{background:var(--theme-primary);color:var(--theme-primary-text)}.login-brand,.welcome-symbol,.stat-card strong,.text-button,.invoice-button{color:var(--theme-primary)}.user-avatar{background:var(--theme-accent);color:var(--theme-accent-text)}.nav-button.active{box-shadow:inset 3px 0 var(--theme-accent)}.workspace{background:color-mix(in srgb,var(--theme-background) 96%,#c9d2e9)}
.style-form{max-width:850px}.style-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.style-fields label{display:grid;gap:10px;color:#303a5b;font-size:13px;font-weight:800}.style-fields input[type=color]{width:100%;height:52px;padding:4px;border:1px solid #dfe2eb;border-radius:6px;background:#fff;cursor:pointer}.style-fields small{color:#8a91a4;font-size:11px;font-weight:500;line-height:1.5}.style-preview{margin:28px 0 22px;padding:28px;border:1px solid #e2e4ec;border-radius:8px;background:var(--theme-background)}.style-preview>span:first-child{color:var(--theme-primary);font-size:10px;font-weight:800;letter-spacing:.14em}.style-preview strong{display:block;margin:10px 0;color:var(--theme-primary);font-size:25px}.style-preview p{color:#616b81;font-size:13px}.style-preview-button{display:inline-block;margin-top:9px;padding:11px 16px;border-radius:5px;background:var(--theme-accent);color:var(--theme-accent-text);font-size:12px;font-weight:800}.style-status{margin:0 0 15px;color:var(--theme-primary);font-size:13px;font-weight:700}@media(max-width:700px){.style-fields{grid-template-columns:1fr}.style-preview{padding:20px}}

:root{--theme-font:#263052;color:var(--theme-font)}.top-header h1,.section-intro h2,.card-heading h3,.welcome h2,.login-card h1,.style-fields label,.style-preview p{color:var(--theme-font)}
.style-preview-footer{display:block;margin-top:22px;padding:15px;border-radius:5px;background:var(--theme-footer,#333d6b);color:var(--theme-footer-text,#fff);font-size:12px;font-weight:700}
.style-preview-hero{margin:14px 0 16px;padding:22px;border-radius:10px;background:linear-gradient(145deg,var(--theme-hero-background,#3f3a2e),color-mix(in srgb,var(--theme-hero-background,#3f3a2e) 82%,#fff));color:#fff}.style-preview-hero strong{margin:0 0 7px;color:#fff;font-size:21px}.style-preview-hero p{margin:0 0 14px;color:#ffffffd9}.style-preview-tagline{display:inline-block;padding:8px 11px;border:1px solid #ffffff45;border-radius:8px;background:color-mix(in srgb,var(--theme-tagline-background,#2d2210) 82%,transparent);color:var(--theme-tagline-background-text,#fff);font-size:11px;font-weight:800}
.page-buttons{align-items:center;flex-wrap:wrap}.page-ellipsis{min-width:22px;text-align:center;color:#9299aa;font-weight:700}
.period-presets{display:flex;gap:6px;align-items:center}.period-presets button{height:37px;padding:0 11px;border:1px solid #dfe2eb;border-radius:4px;background:#f8f9fc;color:#526083;font-size:11px;font-weight:800}.period-presets button:hover{border-color:var(--theme-primary);color:var(--theme-primary)}.filter-status{flex-basis:100%;margin:2px 0 0;color:#7b8499;font-size:11px}.filter-status.error{color:#aa2d3a;font-weight:700}@media(max-width:740px){.period-presets{width:100%;overflow:auto}.period-presets button{white-space:nowrap}}
.profile-logo-preview{display:flex;align-items:center;justify-content:center;min-height:160px;padding:18px;border:1px dashed #cfd5e2;border-radius:7px;background:#f7f8fb}.profile-logo-preview img{display:block;max-width:100%;max-height:150px;object-fit:contain}.product-form input[readonly]{background:#f0f2f7;color:#7c859a}.profile-logo-preview+.form-error{margin-top:16px}
.form-grid select{width:100%;border:1px solid #dfe2eb;border-radius:5px;background:#fff;color:#273255;padding:10px 12px;outline:none;font-size:13px}.form-grid select:focus{border-color:#4d5b91;box-shadow:0 0 0 3px #4d5b9119}
#masterFields input[name="name"],#masterFields select[name="sex"]{display:block;width:100%;min-width:0;height:58px;box-sizing:border-box;padding-inline:18px;border-radius:8px;font-size:16px}#masterFields label:has(input[name="name"]),#masterFields label:has(select[name="sex"]){width:100%;min-width:0}#masterFields label:has(select[name="sex"]){grid-column:1/-1}
@media(max-width:740px){#masterFields input[name="name"],#masterFields select[name="sex"]{height:50px;padding-inline:14px;font-size:14px}}
.user-list-card{padding:0;overflow:hidden}.user-list-card table{min-width:980px}.user-form-dialog{width:min(1040px,calc(100vw - 28px));max-width:none;max-height:calc(100dvh - 30px);padding:24px;overflow:auto}.user-permission-fieldset{margin:22px 0 0;padding:18px;border:1px solid #e2e5ec;border-radius:10px}.user-permission-fieldset legend{padding:0 8px;color:#34406d;font-size:13px;font-weight:900}.permission-actions{display:flex;justify-content:flex-end;gap:8px;margin-bottom:13px}.user-permission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.user-permission-grid label{display:flex;align-items:center;gap:9px;min-width:0;padding:10px 11px;border:1px solid #e5e7ec;border-radius:8px;background:#fafbfc;color:#4d5875;font-size:11px;font-weight:800}.user-permission-grid input{width:17px;height:17px;flex:none;accent-color:var(--theme-button,#c88700)}.user-permission-grid input:disabled+span{opacity:.7}.user-permission-fieldset>small{display:block;margin-top:12px;color:#8a93a6}.permission-count{display:inline-flex;align-items:center;justify-content:center;width:92px;height:32px;padding:0 10px;box-sizing:border-box;border-radius:20px;background:#fff3d8;color:#8b5d14;font-size:10px;font-weight:900;white-space:nowrap}
.product-list-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:15px;border-top:1px solid #eef0f4}.product-list-footer .table-pagination{flex:1;padding-top:0;border-top:0}.product-list-footer .count-pill{flex:none}@media(max-width:700px){.product-list-footer{align-items:stretch;flex-direction:column}.product-list-footer .count-pill{align-self:flex-start}.product-list-footer .table-pagination{width:100%}}
@media(max-width:760px){#usersPanel .section-intro{align-items:stretch}#addUserButton{width:100%;min-height:44px}.user-form-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:17px 14px}.user-permission-grid{grid-template-columns:1fr 1fr}.permission-actions{display:grid;grid-template-columns:1fr 1fr}.user-form-dialog .form-actions{position:sticky;bottom:-17px;margin-inline:-14px;margin-bottom:-17px;padding:12px 14px;background:#fff;border-top:1px solid #ece7e2}}
@media(max-width:430px){.user-permission-grid{grid-template-columns:1fr}}
.journal-form{margin-bottom:22px}.journal-form .negative-balance{color:#b13b44;background:#fff1f2}.toolbar>label{display:flex;align-items:center;gap:10px;color:#4b5574;font-size:12px;font-weight:800}.toolbar>label input{border:1px solid #dfe2eb;border-radius:5px;padding:9px 11px;color:#273255}
#profileStatus.success{color:#287b45}

/* Login: ruang lebih tenang, kartu ringan, dan gerak masuk yang lembut. */
.login-view{grid-template-columns:minmax(390px,42%) minmax(0,1fr);gap:24px;padding:24px;background:linear-gradient(135deg,color-mix(in srgb,var(--theme-primary) 7%,#fff),#fff 48%,color-mix(in srgb,var(--theme-accent) 9%,#fff));overflow:hidden}.login-card{position:relative;width:min(460px,100%);padding:48px 44px;margin:auto;background:#ffffffeb;border:1px solid #ffffff;border-radius:24px;box-shadow:0 24px 70px #27345b1a;backdrop-filter:blur(14px);animation:login-card-in .55s cubic-bezier(.22,1,.36,1) both}.login-brand{margin-bottom:58px}.login-brand img{width:50px;height:50px;border-radius:14px;background:#fff;box-shadow:0 8px 24px #27345b14}.login-card h1{font-size:38px;line-height:1.08;margin:11px 0 10px}.login-card>p{margin:0 0 30px}.login-card input{height:52px;border-radius:12px;background:#fff;border-color:#e1e5ef;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.login-card input:hover{border-color:#cbd2e2}.login-card input:focus{transform:translateY(-1px)}.primary-button{height:52px;border-radius:12px;box-shadow:0 12px 28px color-mix(in srgb,var(--theme-primary) 25%,transparent);transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}.primary-button:hover{transform:translateY(-2px);filter:brightness(.94);box-shadow:0 16px 32px color-mix(in srgb,var(--theme-primary) 32%,transparent)}.primary-button:active{transform:translateY(0)}.back-link{transition:color .2s ease,transform .2s ease}.back-link:hover{color:var(--theme-primary);transform:translateX(-2px)}.login-art{min-width:0;padding:0;border-radius:24px;background:color-mix(in srgb,var(--theme-primary) 92%,#fff);box-shadow:0 24px 70px #27345b20;animation:login-art-in .7s .08s cubic-bezier(.22,1,.36,1) both}.art-frame{border-radius:24px;min-height:calc(100dvh - 48px);background:#eef1fa}.art-frame img{transform:scale(1.015);transition:transform 8s ease}.login-art:hover .art-frame img{transform:scale(1.045)}.art-frame:after{background:linear-gradient(0deg,color-mix(in srgb,var(--theme-primary) 78%,transparent) 0%,color-mix(in srgb,var(--theme-primary) 18%,transparent) 42%,transparent 72%)}.art-frame>div{bottom:48px;left:48px;right:42px;gap:10px}.art-frame strong{font-size:clamp(30px,3vw,46px);max-width:520px;text-wrap:balance}.art-frame span{font-size:11px}.form-error{border:1px solid #f7dadd;border-radius:10px}.login-card form .form-error{margin-top:-8px}.login-card button:disabled{opacity:.68;cursor:wait;transform:none}
@keyframes login-card-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes login-art-in{from{opacity:0;transform:translateX(22px) scale(.985)}to{opacity:1;transform:translateX(0) scale(1)}}
@media(max-width:900px){.login-view{grid-template-columns:minmax(350px,46%) minmax(0,1fr);gap:16px;padding:16px}.login-card{padding:38px 30px;border-radius:20px}.login-brand{margin-bottom:42px}.login-art,.art-frame{border-radius:20px}.art-frame{min-height:calc(100dvh - 32px)}.art-frame>div{left:30px;bottom:34px}}
@media(max-width:740px){.login-view{display:grid;padding:16px;background:linear-gradient(160deg,color-mix(in srgb,var(--theme-primary) 9%,#fff),#fff 55%,color-mix(in srgb,var(--theme-accent) 10%,#fff))}.login-card{width:min(470px,100%);padding:34px 25px;margin:auto;border-radius:20px}.login-brand{margin-bottom:44px}.login-card h1{font-size:32px}}
@media(max-width:740px){body{min-width:0}.login-view{display:block;width:100%;height:auto;min-height:100svh;padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom));background:linear-gradient(165deg,color-mix(in srgb,var(--theme-primary) 8%,#fff),#fff 62%,color-mix(in srgb,var(--theme-accent) 8%,#fff));overflow-x:hidden}.login-card{width:100%;max-width:none;max-height:none;margin:0;padding:26px 22px 24px;border-radius:18px;box-shadow:0 12px 34px #27345b17}.login-brand{gap:11px;margin-bottom:27px}.login-brand img{width:44px;height:44px;border-radius:12px}.login-brand{font-size:20px}.login-brand small{font-size:10px}.login-card h1{font-size:clamp(27px,8vw,33px);margin:8px 0 9px;line-height:1.12}.login-card>p{margin-bottom:21px;line-height:1.45;font-size:13px}.login-card form{width:100%}.login-card label{margin-bottom:7px}.login-card input{width:100%;height:48px;margin-bottom:15px;padding-inline:13px;font-size:16px;border-radius:10px}.login-card .primary-button{width:100%;height:49px;border-radius:10px}.back-link{margin-top:19px}.login-art{display:none}}
@media(max-width:380px),(max-height:620px) and (max-width:740px){.login-view{padding:8px}.login-card{padding:20px 17px;border-radius:15px}.login-brand{margin-bottom:20px}.login-card h1{font-size:26px}.login-card>p{margin-bottom:16px}.login-card input{height:44px;margin-bottom:12px}.login-card .primary-button{height:46px}.back-link{margin-top:14px}}
@media(prefers-reduced-motion:reduce){.login-card,.login-art{animation:none}.art-frame img,.primary-button,.login-card input,.back-link{transition:none}}

/* Kunci login ke tinggi viewport agar gambar tidak membuat scrollbar. */
.login-view{height:100dvh;min-height:0}.login-card{max-height:calc(100dvh - 48px);padding-block:clamp(30px,5vh,48px)}.art-frame{height:calc(100dvh - 48px);min-height:0}
@media(max-width:900px){.login-card{max-height:calc(100dvh - 32px)}.art-frame{height:calc(100dvh - 32px);min-height:0}}
@media(max-height:760px) and (min-width:741px){.login-view{padding:14px;gap:14px}.login-card{max-height:calc(100dvh - 28px);padding:24px 34px}.login-brand{margin-bottom:24px}.login-brand img{width:42px;height:42px}.login-card h1{font-size:31px}.login-card>p{margin-bottom:19px;line-height:1.45}.login-card input{height:44px;margin-bottom:14px}.primary-button{height:45px}.back-link{margin-top:17px}.art-frame{height:calc(100dvh - 28px)}.art-frame>div{bottom:28px;left:32px}.art-frame strong{font-size:30px}}

/* Grafik dashboard lembut dengan dua kurva dan area transparan. */
.chart-card{background:#fff;border-color:#e9ebf1}.chart-card h3{color:var(--theme-font)}.chart-card .eyebrow{color:#6d79a3}.chart-card .chart-legend{color:#68728e}.chart-card .chart-note{color:#9aa2b1}.chart-card .chart-grid line{stroke:#71809626;stroke-width:1}.chart-card .chart-months text{fill:#7b8499}.chart-card .legend-transactions{background:#28b768}.chart-card .legend-units{background:#f97316}.chart-legend i{border-radius:50%}
.chart-card .legend-grand-total{background:#5066d8}.chart-point-values .revenue-value{fill:#5066d8;font-size:10px;font-weight:800;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}

.chart-heading{gap:18px;align-items:flex-start}.chart-heading small{display:block;margin-top:5px;color:#8992a6;font-size:11px;font-weight:600}.chart-period-controls{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.chart-period-controls button,.chart-period-controls input{height:36px;border:1px solid #dfe3eb;border-radius:7px;background:#fff;color:#4d5878;font-size:11px;font-weight:700;padding:0 10px}.chart-period-controls button:hover,.chart-period-controls button:focus-visible,.chart-period-controls input:focus{border-color:var(--theme-primary);color:var(--theme-primary);outline:none}@media(max-width:740px){.chart-heading{align-items:flex-start;flex-direction:column}.chart-period-controls{justify-content:flex-start;width:100%}}
.style-preview strong{color:var(--theme-tagline,var(--theme-accent))}.style-preview:after{content:"Yang kamu cari, ada di sini.";display:block;margin-top:22px;padding:18px;border-radius:5px;background:var(--theme-closing,#f0ed1b);color:var(--theme-closing-text,#303a68);font-size:18px;font-weight:800}

.finance-filter-card{margin-bottom:18px}.finance-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:18px}.finance-summary .stat-card{min-height:110px}.finance-report-block{margin-bottom:18px}.profit-loss-report{max-width:720px;display:grid}.profit-loss-report>div{display:flex;justify-content:space-between;gap:25px;padding:12px 4px;border-bottom:1px solid #eceef3;color:#59637b;font-size:13px}.profit-loss-report strong{color:#303a69}.profit-loss-report .report-subtotal{border-top:2px solid #dfe2eb;font-weight:800}.profit-loss-report .report-total{margin-top:4px;padding:16px 12px;border:0;border-radius:6px;background:#f1f3f8;font-size:15px;font-weight:800}.profit-loss-report .report-note{border:0;color:#8a91a4;font-size:11px}.negative-value{color:#c43e4d!important}@media(max-width:900px){.finance-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.finance-summary{grid-template-columns:1fr}}
@media print{.sidebar,.top-header,.section-intro button,.finance-filter-card,.admin-toast{display:none!important}.admin-layout{display:block}.content{padding:0;max-width:none}.panel{display:none!important}#financeReportsPanel{display:block!important}.section-card{break-inside:avoid;border-color:#bbb}.finance-report-block{break-inside:auto}body{background:#fff}}

.elegant-confirm{width:min(480px,calc(100% - 30px));padding:30px}.elegant-confirm .confirm-icon{width:52px;height:52px;margin-bottom:18px;display:grid;place-items:center;border-radius:50%;background:#fff0f1;color:#b93844;font-size:24px;font-weight:900;box-shadow:0 0 0 8px #fff7f8}.elegant-confirm .dialog-head{margin-bottom:8px}.elegant-confirm .dialog-head h2{font-size:23px}.elegant-confirm>p{line-height:1.65}.elegant-confirm .form-actions{padding-top:8px;border-top:1px solid #eef0f4}.elegant-confirm .danger-button{min-width:130px;border-radius:6px}.elegant-confirm[open]{animation:confirm-in .18s ease-out}@keyframes confirm-in{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
.login-card .remember-login{display:flex;align-items:flex-start;gap:10px;margin:-2px 0 19px;color:#55617f;font-size:12px;cursor:pointer}.login-card .remember-login input{flex:0 0 auto;width:18px;height:18px;margin:1px 0 0;padding:0;border-radius:5px;accent-color:var(--theme-primary);transform:none}.login-card .remember-login span{display:grid;gap:3px}.login-card .remember-login strong{color:#35416d;font-size:12px}.login-card .remember-login small{color:#9199ac;font-size:10px;font-weight:500;line-height:1.35}
@media(max-width:740px){.login-view{height:auto;min-height:100svh}.login-card{max-height:none;padding-block:26px}.login-card .remember-login{margin-bottom:17px}}

/* Laporan produksi dan distribusi */
#inventoryReportsPanel{min-width:0}.inventory-report-filter{padding-bottom:18px}.inventory-report-filter .date-filter{margin-bottom:0}.inventory-report-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.inventory-report-block{padding:0;overflow:hidden}.inventory-report-block .card-heading{margin:0;padding:22px 24px 18px;border-bottom:1px solid #e9edf4}.inventory-report-block .card-heading small{display:block;margin-top:6px;color:#8b94a8;font-size:11px;font-weight:500}.inventory-report-table{width:100%;overflow:auto}.inventory-report-table table{min-width:1120px;table-layout:auto}.inventory-report-table th{padding:14px 12px;background:#f5f7fb}.inventory-report-table td{padding:14px 12px;line-height:1.45}.inventory-report-table th:nth-last-child(-n+5),.inventory-report-table td:nth-last-child(-n+5){text-align:right}.inventory-report-table th:last-child,.inventory-report-table td:last-child{text-align:center}.inventory-report-table tbody tr:hover{background:#fafbfe}.inventory-report-table .document-button{min-width:92px}
@media(max-width:1000px){.inventory-report-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){#inventoryReportsPanel .section-intro{gap:14px}#inventoryReportsPanel .section-intro>button{width:100%}.inventory-report-filter{padding:14px}.inventory-report-filter .date-filter{display:grid;grid-template-columns:1fr 1fr;gap:12px}.inventory-report-filter .date-filter>label{min-width:0}.inventory-report-filter .date-filter input{width:100%;height:44px}.inventory-report-filter .filter-button{grid-column:1/-1;height:44px}.inventory-report-filter .period-presets{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr)}.inventory-report-filter .period-presets button{width:100%;height:40px}.inventory-report-filter .filter-status{grid-column:1/-1}.inventory-report-summary{grid-template-columns:1fr 1fr;gap:10px}.inventory-report-summary .stat-card{min-height:105px}.inventory-report-block{padding:14px;background:#f5f7fb}.inventory-report-block .card-heading{margin:-14px -14px 12px;padding:17px 15px;background:#fff}.inventory-report-block .card-heading h3{font-size:17px;line-height:1.3}.inventory-report-table{overflow:visible}.inventory-report-table table,.inventory-report-table tbody,.inventory-report-table tr,.inventory-report-table td{display:block;width:100%;min-width:0}.inventory-report-table thead{display:none}.inventory-report-table tbody{display:grid;gap:12px}.inventory-report-table tr{padding:8px 13px;border:1px solid #e0e5ef;border-radius:11px;background:#fff;box-shadow:0 4px 16px #2634590a}.inventory-report-table td{display:grid;grid-template-columns:minmax(105px,38%) minmax(0,1fr);gap:12px;align-items:start;padding:9px 0;border-bottom:1px dashed #e5e9f0;text-align:right!important;overflow-wrap:anywhere}.inventory-report-table td:last-child{border-bottom:0}.inventory-report-table td:before{content:attr(data-label);color:#8a93a8;font-size:10px;font-weight:800;letter-spacing:.04em;text-align:left;text-transform:uppercase}.inventory-report-table .cell-note{margin-top:2px}.inventory-report-table .document-button{justify-self:end;min-height:38px}.inventory-report-table .empty-row{display:block;padding:28px 12px;text-align:center!important}.inventory-report-table .empty-row:before{display:none}}
@media(max-width:390px){.inventory-report-filter .date-filter{grid-template-columns:1fr}.inventory-report-filter .date-filter>*{grid-column:1!important}.inventory-report-summary{grid-template-columns:1fr}.inventory-report-table td{grid-template-columns:95px minmax(0,1fr)}}

/* Menu samping tetap lengkap pada layar pendek. */
.sidebar{overflow:hidden}.side-label{flex:none}.side-nav{flex:1;min-height:0;align-content:start;overflow-y:auto;overscroll-behavior:contain;padding-right:4px;scrollbar-width:thin;scrollbar-color:#ffffff40 transparent}.side-nav::-webkit-scrollbar{width:5px}.side-nav::-webkit-scrollbar-thumb{background:#ffffff40;border-radius:8px}.side-bottom{flex:none;margin-top:12px}
.nav-group{display:grid;gap:3px;margin-bottom:16px}.nav-group-label{padding:0 14px 6px;color:color-mix(in srgb,var(--theme-primary-text) 55%,transparent);font-size:9px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.nav-button{position:relative;transition:background .18s ease,color .18s ease,transform .18s ease}.nav-button:hover{transform:translateX(2px)}.nav-button span{display:grid;place-items:center}.nav-button span svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;opacity:.82}.nav-button.active span svg{opacity:1}.nav-button.active{background:color-mix(in srgb,var(--theme-primary-text) 13%,transparent)}
@media(max-width:740px){.side-nav{gap:14px}.nav-group{display:flex;gap:4px;margin:0}.nav-group-label{display:none}.nav-button:hover{transform:none}.nav-button span{display:grid}.nav-button span svg{width:17px;height:17px}}

/* Transaksi penjualan dan saldo kasir. */
.checkout-change{color:var(--theme-primary);font-size:18px}.checkout-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}.checkout-main{display:grid;gap:18px}.checkout-customer{display:grid;grid-template-columns:180px minmax(240px,1fr);gap:18px}.checkout-customer label,.product-picker label,.checkout-payment>label,.cashier-session-card label{display:grid;gap:7px;color:#4b5574;font-size:12px;font-weight:800}.checkout-customer input,.checkout-customer select,.product-picker input,.checkout-payment input,.checkout-payment select,.checkout-payment textarea,.cashier-session-card input,.cashier-session-card select{width:100%;min-height:40px;border:1px solid #dfe2eb;border-radius:6px;background:#fff;color:#273255;padding:9px 11px}.customer-info{grid-column:1/-1;padding:10px 12px;border-radius:6px;background:#f5f6fa;color:#737c94;font-size:12px}.product-picker-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;max-height:290px;overflow:auto}.product-picker-results button{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:11px;border:1px solid #e3e6ee;border-radius:7px;background:#fff;padding:8px;text-align:left;color:#303a64}.product-picker-results button:hover{border-color:var(--theme-primary);background:#f7f8fc}.product-picker-results img,.picker-image-empty{width:48px;height:48px;border-radius:6px;object-fit:cover;background:#f0f2f6}.picker-image-empty{display:grid;place-items:center;color:#8790a5;font-size:20px}.product-picker-results span:not(.picker-image-empty){display:grid;gap:4px}.product-picker-results small{color:#8a92a6}.product-picker-results b{white-space:nowrap}.checkout-product-cell{display:flex;align-items:center;gap:10px;min-width:220px}.checkout-product-cell img,.checkout-product-cell>.picker-image-empty{width:44px;height:44px;flex:none;border-radius:5px;object-fit:cover}.checkout-product-cell>span:last-child{display:grid;gap:4px}.checkout-table input{width:100px;height:34px;border:1px solid #dfe2eb;border-radius:5px;padding:6px 8px}.checkout-payment{position:sticky;top:18px;display:grid;gap:14px}.checkout-payment small{color:#9199aa;font-size:10px;font-weight:500}.checkout-totals{display:grid;gap:12px;padding:16px 0;border-block:1px solid #eceef3}.checkout-totals>div{display:flex;justify-content:space-between}.checkout-totals label{display:grid;grid-template-columns:1fr 90px;align-items:center;color:#626c85;font-size:12px}.checkout-totals .grand-total{padding-top:12px;border-top:1px solid #e1e4ec}.grand-total strong{font-size:20px;color:var(--theme-primary)}.checkout-change-box{display:flex;justify-content:space-between;padding:14px;border-radius:6px;background:#f1f3f9;color:#34406e}.cashier-session-card{margin-bottom:18px}.cashier-session-open,.cashier-session-closed{display:grid;gap:6px;padding:16px;margin-bottom:16px;border-radius:7px;background:#eff7f2;color:#35734d}.cashier-session-open strong{font-size:26px}.cashier-session-open small,.cashier-session-closed small{opacity:.75}.cashier-session-closed{background:#f5f6fa;color:#68728c}.cashier-history-title{margin:28px 0 14px;color:#34406d;font-size:16px}@media(max-width:1050px){.checkout-layout{grid-template-columns:1fr}.checkout-payment{position:static}}@media(max-width:650px){.checkout-customer,.product-picker-results{grid-template-columns:1fr}.customer-info{grid-column:auto}}

@media(max-width:650px){#checkoutPanel .section-intro{margin-bottom:14px}#checkoutPanel .section-intro>div{min-width:0}#checkoutPanel .section-intro p{line-height:1.5}.checkout-change{width:100%;padding:11px 13px;border-radius:7px;background:#eef1f8;font-size:15px}.checkout-layout,.checkout-main{gap:12px}.checkout-customer{gap:13px}.product-picker-results{max-height:340px}.product-picker-results button{grid-template-columns:54px minmax(0,1fr);padding:9px}.product-picker-results img,.product-picker-results .picker-image-empty{width:54px;height:54px}.product-picker-results b{grid-column:2;text-align:left;font-size:12px}.checkout-cart{padding:0;border:0;background:transparent}.checkout-cart .table-wrap{overflow:visible}.checkout-table{display:block;min-width:0}.checkout-table thead{display:none}.checkout-table tbody{display:grid;gap:10px}.checkout-table tr{display:grid;padding:14px;border:1px solid #e4e7ef;border-radius:9px;background:#fff;box-shadow:0 5px 16px #2634590a}.checkout-table td{display:grid;grid-template-columns:108px minmax(0,1fr);align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #eef0f4;text-align:right}.checkout-table td:before{color:#8a92a6;font-size:10px;font-weight:800;text-align:left;text-transform:uppercase}.checkout-table td:nth-child(1){display:block;padding-top:0;text-align:left}.checkout-table td:nth-child(1):before{display:none}.checkout-table td:nth-child(2):before{content:'Harga'}.checkout-table td:nth-child(3):before{content:'Potongan/item'}.checkout-table td:nth-child(4):before{content:'Jumlah'}.checkout-table td:nth-child(5):before{content:'Pajak/item'}.checkout-table td:nth-child(6):before{content:'Subtotal'}.checkout-table td:nth-child(7){display:block;padding:10px 0 0;border:0}.checkout-table td:nth-child(7):before{display:none}.checkout-table td:nth-child(7) button{width:100%;padding:9px}.checkout-table input{width:100%;text-align:right}.checkout-table .empty-row{display:block!important;padding:25px!important;text-align:center}.checkout-product-cell{min-width:0}.checkout-product-cell img,.checkout-product-cell>.picker-image-empty{width:52px;height:52px}.checkout-payment{padding:18px}.checkout-payment .form-actions{display:grid;grid-template-columns:1fr;margin-top:8px}.checkout-payment .form-actions button{width:100%;height:44px}.checkout-totals label{grid-template-columns:minmax(0,1fr) 105px}.grand-total strong{font-size:19px}}
/* Produksi dan distribusi */
.flow-form{display:grid;gap:22px;margin-bottom:22px}
.flow-picker{display:grid;grid-template-columns:minmax(240px,1fr) minmax(150px,220px) auto;gap:14px;align-items:end;padding:18px;border:1px solid #e3e6ee;border-radius:10px;background:#f8f9fc}
.flow-picker label{display:grid;gap:8px;font-weight:700;color:#4b5574;font-size:12px}.flow-picker select,.flow-picker input,.flow-qty{min-height:46px;border:1px solid #dfe2eb;border-radius:7px;padding:0 13px;background:#fff;color:var(--theme-font,#263052)}
.flow-qty{width:115px;min-height:38px}.cell-note{display:block;margin-top:4px;color:#929aab;font-size:.78rem;font-weight:500}
@media(max-width:700px){.flow-picker{grid-template-columns:1fr}.flow-picker .reset-button{width:100%}.flow-form .table-wrap{margin-inline:-8px}.flow-qty{width:90px}}
.inventory-report-filter,.inventory-report-block{margin-bottom:18px}
@media print{body.print-inventory #financeReportsPanel{display:none!important}body.print-inventory #inventoryReportsPanel{display:block!important}body.print-inventory .inventory-report-filter{display:none!important}}
.document-button{white-space:nowrap;border:1px solid #d9deea;border-radius:6px;background:#fff;color:var(--theme-primary,#3f4b7d);padding:7px 10px;font-size:11px;font-weight:800}.document-button:hover{border-color:var(--theme-primary,#3f4b7d);background:#f4f6fb}
@media(max-width:740px){
  #productionPanel .section-card,#distributionPanel .section-card{padding:14px}
  #productionPanel,#distributionPanel{width:100%;min-width:0;overflow:hidden}
  #productionPanel .section-intro,#distributionPanel .section-intro{display:block}
  #productionPanel .form-grid,#distributionPanel .form-grid{gap:14px}
  #productionPanel .form-grid label,#distributionPanel .form-grid label,#productionPanel .flow-picker label,#distributionPanel .flow-picker label{min-width:0;width:100%}
  #productionPanel input,#productionPanel select,#productionPanel textarea,#distributionPanel input,#distributionPanel select,#distributionPanel textarea{display:block;width:100%;max-width:100%;min-width:0}
  #productionPanel .form-actions,#distributionPanel .form-actions{display:grid;grid-template-columns:1fr 1fr;margin-top:8px}
  #productionPanel .form-actions button,#distributionPanel .form-actions button{width:100%;min-height:44px}
  #productionPanel .date-filter,#distributionPanel .date-filter{display:grid;grid-template-columns:1fr 1fr}
  #productionPanel .date-filter button,#distributionPanel .date-filter button{grid-column:1/-1;min-height:42px}
  #productionPanel .table-wrap,#distributionPanel .table-wrap{overflow:visible}
  #productionPanel table,#distributionPanel table{display:block;min-width:0}
  #productionPanel thead,#distributionPanel thead{display:none}
  #productionPanel tbody,#distributionPanel tbody{display:grid;gap:10px}
  #productionPanel tbody tr,#distributionPanel tbody tr{display:grid;padding:13px;border:1px solid #e3e6ee;border-radius:9px;background:#fff;box-shadow:0 4px 14px #25345a0a}
  #productionPanel tbody td,#distributionPanel tbody td{display:flex;align-items:center;justify-content:space-between;gap:15px;min-width:0;padding:8px 0;border-bottom:1px solid #eef0f4;text-align:right;overflow-wrap:anywhere}
  #productionPanel tbody td>*,#distributionPanel tbody td>*{max-width:65%;min-width:0}
  #productionPanel tbody td:before,#distributionPanel tbody td:before{color:#8992a7;font-size:10px;font-weight:800;text-align:left;text-transform:uppercase}
  #productionPanel tbody td:last-child,#distributionPanel tbody td:last-child{border-bottom:0}
  #materialRows td:nth-child(1):before{content:'Bahan baku'}#materialRows td:nth-child(2):before{content:'Stok'}#materialRows td:nth-child(3):before{content:'HPP'}#materialRows td:nth-child(4):before{content:'Jumlah dipakai'}#materialRows td:nth-child(5):before{content:'Aksi'}
  #productionHistory td:nth-child(1):before{content:'No. produksi'}#productionHistory td:nth-child(2):before{content:'Tanggal'}#productionHistory td:nth-child(3):before{content:'Barang jadi'}#productionHistory td:nth-child(4):before{content:'Qty'}#productionHistory td:nth-child(5):before{content:'Bahan'}#productionHistory td:nth-child(6):before{content:'Total HPP'}#productionHistory td:nth-child(7):before{content:'Pengguna'}#productionHistory td:nth-child(8):before{content:'Catatan'}#productionHistory td:nth-child(9):before{content:'Dokumen'}
  #distributionRows td:nth-child(1):before{content:'Produk'}#distributionRows td:nth-child(2):before{content:'Stok pusat'}#distributionRows td:nth-child(3):before{content:'Harga'}#distributionRows td:nth-child(4):before{content:'Jumlah kirim'}#distributionRows td:nth-child(5):before{content:'Aksi'}
  #distributionHistory td:nth-child(1):before{content:'No. distribusi'}#distributionHistory td:nth-child(2):before{content:'Tanggal'}#distributionHistory td:nth-child(3):before{content:'Consignee'}#distributionHistory td:nth-child(4):before{content:'Jenis produk'}#distributionHistory td:nth-child(5):before{content:'Total qty'}#distributionHistory td:nth-child(6):before{content:'Pengguna'}#distributionHistory td:nth-child(7):before{content:'Catatan'}#distributionHistory td:nth-child(8):before{content:'Dokumen'}
  #consigneeStockRows td:nth-child(1):before{content:'Consignee'}#consigneeStockRows td:nth-child(2):before{content:'Kode'}#consigneeStockRows td:nth-child(3):before{content:'Produk'}#consigneeStockRows td:nth-child(4):before{content:'Stok'}
  #consigneeSaleHistory td:nth-child(1):before{content:'No. penjualan'}#consigneeSaleHistory td:nth-child(2):before{content:'Tanggal'}#consigneeSaleHistory td:nth-child(3):before{content:'Consignee'}#consigneeSaleHistory td:nth-child(4):before{content:'Qty'}#consigneeSaleHistory td:nth-child(5):before{content:'Total'}#consigneeSaleHistory td:nth-child(6):before{content:'Sudah disetor'}#consigneeSaleHistory td:nth-child(7):before{content:'Belum disetor'}#consigneeSaleHistory td:nth-child(8):before{content:'Pengguna'}#consigneeSaleHistory td:nth-child(9):before{content:'Catatan'}
  #consigneeSettlementRows td:nth-child(1):before{content:'No. setoran'}#consigneeSettlementRows td:nth-child(2):before{content:'Tanggal'}#consigneeSettlementRows td:nth-child(3):before{content:'Penjualan'}#consigneeSettlementRows td:nth-child(4):before{content:'Consignee'}#consigneeSettlementRows td:nth-child(5):before{content:'Kas'}#consigneeSettlementRows td:nth-child(6):before{content:'Jumlah'}#consigneeSettlementRows td:nth-child(7):before{content:'Sisa'}#consigneeSettlementRows td:nth-child(8):before{content:'Petugas'}#consigneeSettlementRows td:nth-child(9):before{content:'Catatan'}
  #productionPanel .empty-row,#distributionPanel .empty-row{display:block!important;text-align:center!important;padding:24px!important}
  #productionPanel .empty-row:before,#distributionPanel .empty-row:before{display:none}
  #productionHistory .row-actions,#distributionHistory .row-actions{justify-content:flex-end;flex-wrap:wrap;max-width:70%}
}

.chart-card{min-width:0;overflow:hidden}.sales-chart{width:100%;max-width:100%;padding-bottom:3px;overflow:hidden}.sales-chart .combo-chart{width:100%;max-width:100%;min-width:0}.chart-revenue-summary{display:grid;width:100%;max-width:100%;min-width:0;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin-top:10px}.chart-revenue-summary>div{min-width:0;display:grid;gap:3px;padding:9px 10px;border:1px solid color-mix(in srgb,var(--theme-primary) 12%,#e5e8ef);border-radius:7px;background:color-mix(in srgb,var(--theme-primary) 3%,#fff)}.chart-revenue-summary span{min-width:0;overflow:hidden;text-overflow:ellipsis;color:#7b8499;font-size:9px;font-weight:700;white-space:nowrap}.chart-revenue-summary strong{min-width:0;overflow:hidden;text-overflow:ellipsis;color:#5066d8;font-size:11px;white-space:nowrap}.chart-revenue-summary .chart-revenue-title{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:color-mix(in srgb,#5066d8 7%,#fff)}.chart-revenue-summary .chart-revenue-title span{font-size:11px;text-transform:uppercase;letter-spacing:.06em}.chart-revenue-summary .chart-revenue-title strong{flex:none;font-size:14px}
@media(max-width:900px){.chart-revenue-summary{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:520px){.chart-revenue-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.chart-revenue-summary .chart-revenue-title{align-items:flex-start;flex-direction:column}.chart-revenue-summary>div{padding:8px}.chart-revenue-summary span{white-space:normal}.chart-revenue-summary strong{font-size:10px}}
.scan-toolbar,.scan-inline{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.scan-inline{margin:0 0 14px}.scanner-field{display:grid;gap:6px;min-width:220px;color:#4b5574;font-size:11px;font-weight:800}.scanner-field input{height:40px;border:1px solid #dfe2eb;border-radius:6px;background:#fff;color:#273255;padding:0 11px;outline:none}.scanner-field input:focus{border-color:var(--theme-primary,#3f4b7d);box-shadow:0 0 0 3px #4d5b9119}.camera-scan-button{height:40px;border:0;border-radius:6px;background:var(--theme-primary,#3f4b7d);color:#fff;padding:0 14px;font-size:11px;font-weight:800}.scanner-dialog{width:min(620px,calc(100% - 24px))}.scanner-video-wrap{position:relative;overflow:hidden;aspect-ratio:4/3;border-radius:10px;background:#151a29}.scanner-video-wrap video{display:block;width:100%;height:100%;object-fit:cover}.scanner-guide{position:absolute;inset:24%;border:2px solid var(--theme-accent,#f0ed20);border-radius:10px;box-shadow:0 0 0 999px #10182b70}.scanner-dialog .notice{padding:12px 0 4px}.scanner-dialog>#switchCamera{width:100%}
@media(max-width:740px){.scan-toolbar,.scan-inline{display:grid;grid-template-columns:minmax(0,1fr);width:100%}.scan-toolbar .search-field,.scanner-field{width:100%;min-width:0}.camera-scan-button{width:100%;height:44px}.scanner-video-wrap{aspect-ratio:3/4}.scanner-guide{inset:32% 10%}}
@media(max-width:430px){#productionPanel .date-filter,#distributionPanel .date-filter{grid-template-columns:1fr}#productionPanel .date-filter button,#distributionPanel .date-filter button{grid-column:auto}#productionPanel .form-actions,#distributionPanel .form-actions{grid-template-columns:1fr}}
.consignee-operation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0}.consignee-operation-grid>.section-card{margin:0;min-width:0}.production-cost-summary{display:grid;grid-template-columns:1fr auto;gap:4px 18px;align-items:center;margin:14px 0;padding:14px 16px;border:1px solid #e2e7f0;border-radius:10px;background:#f7f8fc}.production-cost-summary strong{color:var(--primary);font-size:18px}.production-cost-summary small{grid-column:1/-1;color:#7b849b}.status-badge.danger{background:#ffe7e7;color:#a22}.status-badge.neutral{background:#eef1f6;color:#59637b}
.inventory-detail-dialog{width:min(920px,calc(100% - 30px))}.inventory-detail-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px}.inventory-detail-summary>div{display:grid;gap:4px;padding:13px;border:1px solid #e5e8f0;border-radius:7px;background:#f8f9fc}.inventory-detail-summary span{color:#8891a7;font-size:10px;font-weight:800;text-transform:uppercase}.inventory-detail-summary strong{color:#303b66;font-size:13px}.inventory-detail-summary small{color:#8a92a7}.inventory-detail-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin:0 0 14px;color:#788198;font-size:12px}.inventory-detail-meta strong{color:#3b466e}.inventory-detail-dialog table{min-width:680px}
.payroll-total{display:grid;grid-template-columns:1fr auto;gap:5px 20px;align-items:center;margin:18px 0;padding:17px 19px;border:1px solid #dfe4f0;border-radius:9px;background:linear-gradient(135deg,#f8f9fd,#f0f2fa)}.payroll-total span{color:#727d98;font-size:12px;font-weight:800;text-transform:uppercase}.payroll-total strong{color:#334378;font-size:24px}.payroll-total small{grid-column:1/-1;color:#929aab}
.payroll-work-summary{display:grid;grid-template-columns:1fr auto;gap:5px 20px;align-items:center;margin:18px 0 0;padding:17px 19px;border:1px solid #cfe8dc;border-radius:9px;background:linear-gradient(135deg,#f4fbf7,#eaf7f0)}.payroll-work-summary span{color:#557a68;font-size:12px;font-weight:800;text-transform:uppercase}.payroll-work-summary strong{color:#23784f;font-size:24px}.payroll-work-summary small{grid-column:1/-1;color:#6f877a}
.packaging-cost-summary{display:grid;grid-template-columns:1fr auto;gap:5px 20px;align-items:center;margin:16px 0;padding:15px 18px;border:1px solid #e1e6ef;border-radius:9px;background:#f7f9fc}.packaging-cost-summary span{font-size:11px;font-weight:800;color:#77819a;text-transform:uppercase}.packaging-cost-summary strong{font-size:20px;color:#354476}.packaging-cost-summary small{grid-column:1/-1;color:#929aac}#packagingWorkers{min-height:125px;padding:8px}
@media(max-width:1000px){.consignee-operation-grid{grid-template-columns:1fr}}
@media(max-width:700px){.inventory-detail-summary{grid-template-columns:1fr 1fr}.inventory-detail-dialog{padding:20px}}
@media(max-width:460px){.inventory-detail-summary{grid-template-columns:1fr}}
@media print{body.print-inventory [data-inventory-detail]{display:none!important}}
.checkout-print-settings{display:grid;gap:10px;padding:14px;border:1px solid #e1e5ee;border-radius:8px;background:#f8f9fc}.checkout-print-settings label{display:grid;gap:6px;color:#4b5574;font-size:11px;font-weight:800}.checkout-print-settings select{width:100%;height:39px;border:1px solid #dfe2eb;border-radius:6px;background:#fff;color:#273255;padding:0 9px}.checkout-print-settings .check-field{display:flex;align-items:center;gap:8px}.checkout-print-settings .check-field input{width:17px;height:17px;min-height:0}.checkout-print-settings>small{color:#7f889e;font-size:10px}.checkout-print-settings .reset-button{width:100%}
.dashboard-finance-stats{margin-top:-8px}.dashboard-data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:22px}.dashboard-data-grid .section-card{min-width:0}.rank-badge{display:inline-grid;place-items:center;width:22px;height:22px;margin-right:8px;border-radius:50%;background:var(--theme-accent,#f0ed20);color:#303a68;font-size:10px;font-weight:900}@media(max-width:900px){.dashboard-data-grid{grid-template-columns:1fr}}@media(max-width:740px){.dashboard-finance-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-data-grid table{min-width:520px}}@media(max-width:430px){.dashboard-finance-stats{grid-template-columns:1fr 1fr}.dashboard-finance-stats .stat-card{padding:14px}.dashboard-finance-stats .stat-card strong{font-size:17px}}
.dashboard-finance-stats .stat-card{position:relative;overflow:hidden;border-top:3px solid color-mix(in srgb,var(--theme-primary) 28%,#dfe4ef);box-shadow:0 8px 22px #26345908}.dashboard-finance-stats .stat-card:after{content:'';position:absolute;right:-20px;bottom:-28px;width:82px;height:82px;border-radius:50%;background:color-mix(in srgb,var(--theme-primary) 5%,transparent)}.stat-card-button{appearance:none;width:100%;font:inherit;text-align:left;cursor:pointer;transition:transform .18s,border-color .18s,box-shadow .18s}.stat-card-button:hover,.stat-card-button:focus-visible{transform:translateY(-2px);border-color:color-mix(in srgb,var(--theme-primary) 35%,#dfe4ef);box-shadow:0 13px 28px #26345916;outline:none}.stat-card-button small{color:var(--theme-primary);font-weight:700}.consignee-settlement-section{margin:18px 0;scroll-margin-top:22px;border-top:4px solid #42a878}.consignee-settlement-section .card-heading small{display:block;margin-top:6px;color:#7d879c;font-size:11px;font-weight:500}.settlement-inline-form{display:grid;grid-template-columns:150px minmax(240px,1.6fr) minmax(190px,1fr) minmax(150px,.7fr);gap:13px;align-items:end;padding:18px;border:1px solid #e2e7ef;border-radius:9px;background:#f8fafc}.settlement-inline-form label{display:grid;gap:7px;min-width:0;color:#596482;font-size:11px;font-weight:800}.settlement-inline-form input,.settlement-inline-form select{width:100%;min-width:0;height:42px;border:1px solid #dfe3eb;border-radius:6px;background:#fff;color:#303a60;padding:0 11px}.settlement-inline-form .settlement-sale-field{grid-column:span 2}.settlement-inline-form .settlement-note-field{grid-column:span 2}.settlement-inline-form .settlement-info{min-height:42px;margin:0;padding:10px 12px}.settlement-inline-form .settlement-info span{display:block;margin-top:3px;color:#7d879a;font-size:11px}.settlement-inline-form .filter-button{height:42px}.consignee-settlement-history{margin-top:20px}.consignee-settlement-history table{min-width:1050px}@media(max-width:1050px){.settlement-inline-form{grid-template-columns:repeat(2,minmax(0,1fr))}.settlement-inline-form .settlement-sale-field,.settlement-inline-form .settlement-note-field{grid-column:span 2}}@media(max-width:620px){.consignee-settlement-section .card-heading{align-items:flex-start;gap:12px;flex-direction:column}.settlement-inline-form{grid-template-columns:1fr;padding:14px}.settlement-inline-form .settlement-sale-field,.settlement-inline-form .settlement-note-field{grid-column:auto}.settlement-inline-form .filter-button{width:100%}}
.chart-point-values text{font-size:10px;font-weight:900;paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round}.chart-point-values .transaction-value{fill:#169653}.chart-point-values .units-value{fill:#d95f0b}@media(max-width:740px){.chart-point-values text{font-size:11px;stroke-width:5px}}
.expiry-card{border-top:4px solid transparent}.expired-card{border-top-color:#d94a58}.expiring-card{border-top-color:#e8a317}.danger-count{border-color:#f1c9ce;background:#fff4f5;color:#b63340}.warning-count{border-color:#f0d9a7;background:#fff9ec;color:#996913}.expiry-list{display:grid}.expiry-item{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 2px;border-bottom:1px solid #edf0f4}.expiry-item:last-child{border-bottom:0}.expiry-item>div,.expiry-item>span{display:grid;gap:4px}.expiry-item>span{text-align:right;flex:none}.expiry-item strong,.expiry-item b{color:#303b68;font-size:12px}.expiry-item small{color:#8c94a8;font-size:10px}.expired-card .expiry-item>span small{color:#c23e4b}.expiring-card .expiry-item>span small{color:#ad7512}.success-notice{color:#347851;background:#f0f8f3;border-radius:7px;padding:15px}@media(max-width:520px){.expiry-item{align-items:flex-start}.expiry-item>span{max-width:42%}}
.period-form{margin-bottom:18px;max-width:850px}.ledger-account-filter{display:grid;gap:5px;color:#68728d;font-size:11px;font-weight:800}.ledger-account-filter select{height:36px;min-width:210px;border:1px solid #dfe2eb;border-radius:6px;background:#fff;color:#303a64;padding:0 9px}.financial-chart{min-height:280px}.financial-chart-scroll{overflow-x:auto}.financial-chart svg{display:block;width:100%;height:280px}.financial-chart .chart-grid line{stroke:#71809626}.financial-chart .chart-months text{fill:#7b8499;font-size:10px}.financial-chart .chart-legend{margin-bottom:8px}@media(max-width:740px){.period-form .form-grid{grid-template-columns:1fr}.period-form .form-grid>span{display:none}.ledger-account-filter{width:100%}.ledger-account-filter select{width:100%;min-width:0}.finance-report-block .card-heading{align-items:flex-start;gap:12px;flex-wrap:wrap}}
.accounting-reminder{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:22px;border-left:5px solid #e7c72f;background:linear-gradient(135deg,#fffdf1,#fff)}
.accounting-reminder>div{display:flex;flex-direction:column;gap:6px}.accounting-reminder>div+div{border-left:1px solid #e5e7eb;padding-left:20px}.accounting-reminder span,.accounting-reminder small{color:#6b7280}.accounting-reminder .text-button{align-self:flex-start}
.zakat-assets{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px}.zakat-assets article{padding:14px;border:1px solid #e5e7eb;border-radius:12px;background:#f8fafc;display:flex;flex-direction:column;gap:5px}.zakat-assets article span{font-size:.8rem;color:#6b7280}.zakat-assets article strong{font-size:.95rem;color:var(--text)}
@media(max-width:700px){.accounting-reminder{grid-template-columns:1fr;margin-bottom:16px}.accounting-reminder>div+div{border-left:0;border-top:1px solid #e5e7eb;padding:14px 0 0}.zakat-assets{grid-template-columns:1fr 1fr}}
.period-account-summary{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:10px;margin-top:8px}.period-account-summary article{border:1px solid #e2e8f0;background:#f8fafc;border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:5px}.period-account-summary article span{font-size:.78rem;color:#64748b}.period-account-summary article strong{font-size:1rem;color:var(--text)}.period-table-wrap table{min-width:2100px}.period-table-wrap th,.period-table-wrap td{white-space:nowrap}.period-table-wrap .row-actions{min-width:220px}
@media(max-width:900px){.period-account-summary{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.period-account-summary{grid-template-columns:1fr}}
.balance-sheet-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.balance-list{margin:0}.balance-list div{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid #e5e7eb}.balance-list dt{color:#64748b}.balance-list dd{margin:0;font-weight:700;color:var(--text)}.balance-list .balance-total{border-top:2px solid var(--primary);border-bottom:0;margin-top:10px;font-size:1.05rem}.cell-note{display:block;color:#64748b;margin-top:4px}
@media(max-width:800px){.balance-sheet-grid{grid-template-columns:1fr}}
@media print{#balanceSheetPanel[hidden]{display:none!important}body:has(#balanceSheetPanel:not([hidden])) .sidebar,body:has(#balanceSheetPanel:not([hidden])) .top-header,body:has(#balanceSheetPanel:not([hidden])) #balanceSheetFilter{display:none!important}body:has(#balanceSheetPanel:not([hidden])) .workspace{margin:0}.balance-sheet-grid{grid-template-columns:1fr 1fr}}
.profile-user-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.7fr);gap:20px}.one-column{grid-template-columns:1fr!important}
@media(max-width:900px){.profile-user-grid{grid-template-columns:1fr}}

/* Kartu stok */
#stockCardPanel .report-filter{display:grid;grid-template-columns:180px 180px minmax(260px,1fr) auto;gap:12px;align-items:end}
#stockCardPanel .report-filter label{display:grid;gap:7px;min-width:0;color:#59637d;font-size:11px;font-weight:800}
#stockCardPanel .report-filter input,#stockCardPanel .report-filter select{width:100%;height:40px;min-width:0;border:1px solid #dfe2eb;border-radius:6px;background:#fff;color:#273255;padding:0 10px}
#stockCardPanel .report-filter .filter-button{height:40px}
#stockCardPanel .filter-status{margin:0 0 16px;padding:10px 12px;border-radius:6px;background:#f5f7fb}
#stockCardPanel table{min-width:920px}
.stock-in{color:#16834a}.stock-out{color:#bd3846}
@media(max-width:760px){
  #stockCardPanel{min-width:0;overflow:hidden}
  #stockCardPanel .section-card{padding:14px}
  #stockCardPanel .report-filter{grid-template-columns:1fr 1fr;gap:11px}
  #stockCardPanel .report-filter label:nth-child(3),#stockCardPanel .report-filter .filter-button{grid-column:1/-1}
  #stockCardPanel .report-filter .filter-button{width:100%;height:44px}
  #stockCardPanel .table-wrap{overflow:visible}
  #stockCardPanel table{display:block;min-width:0}
  #stockCardPanel thead{display:none}
  #stockCardPanel tbody{display:grid;gap:11px}
  #stockCardPanel tbody tr{display:grid;padding:13px 14px;border:1px solid #e2e6ef;border-radius:10px;background:#fff;box-shadow:0 5px 16px #27345a0a}
  #stockCardPanel tbody td{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:8px 0;border-bottom:1px solid #edf0f4;text-align:right;overflow-wrap:anywhere}
  #stockCardPanel tbody td:before{flex:none;color:#8992a7;font-size:10px;font-weight:800;text-align:left;text-transform:uppercase}
  #stockCardPanel tbody td:nth-child(1):before{content:'Tanggal'}#stockCardPanel tbody td:nth-child(2):before{content:'Produk'}#stockCardPanel tbody td:nth-child(3):before{content:'Status'}#stockCardPanel tbody td:nth-child(4):before{content:'Referensi'}#stockCardPanel tbody td:nth-child(5):before{content:'Stok awal'}#stockCardPanel tbody td:nth-child(6):before{content:'Masuk'}#stockCardPanel tbody td:nth-child(7):before{content:'Keluar'}#stockCardPanel tbody td:nth-child(8):before{content:'Stok akhir'}
  #stockCardPanel tbody td:last-child{border-bottom:0}
  #stockCardPanel tbody .empty-row{display:block!important;padding:25px!important;text-align:center!important}
  #stockCardPanel tbody .empty-row:before{display:none}
}
@media(max-width:430px){#stockCardPanel .report-filter{grid-template-columns:1fr}#stockCardPanel .report-filter label:nth-child(3),#stockCardPanel .report-filter .filter-button{grid-column:auto}}
.select-search{background:#fbfcfe!important;border-color:#d8ddea!important}.select-search:focus{background:#fff!important}.select-search+select{margin-top:2px}
.upload-limit{display:inline-flex;width:max-content;padding:5px 9px;border-radius:20px;background:#fff4dc;color:#8a6112;font-size:10px;font-weight:900;letter-spacing:.02em}

/* Tampilan pencarian konsisten di seluruh panel. */
.toolbar>.search-field,.search-field{position:relative;display:flex;align-items:center;gap:10px;width:min(430px,100%);min-height:44px;padding:0 13px;border:1px solid #dce1eb;border-radius:9px;background:#fbfcfe;transition:border-color .18s,box-shadow .18s,background .18s}
.toolbar>.search-field:focus-within,.search-field:focus-within{border-color:var(--theme-primary,#3f4b7d);background:#fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--theme-primary,#3f4b7d) 12%,transparent)}
.toolbar>.search-field>span,.search-field>span{flex:none;width:24px;color:#7e88a2;font-size:24px;line-height:1;text-align:center}
.toolbar>.search-field>input,.search-field>input{display:block;width:100%;height:42px;min-width:0;padding:0;border:0!important;border-radius:0;background:transparent!important;box-shadow:none!important;outline:0;color:#273255;font-size:13px;font-weight:600}
.search-field input::placeholder,.select-search::placeholder,.product-picker input[type=search]::placeholder{color:#9098aa;font-weight:500;opacity:1}
.select-search,.product-picker input[type=search]{min-height:42px;padding:0 13px!important;border:1px solid #dce1eb!important;border-radius:8px!important;background:#fbfcfe!important;outline:0;transition:border-color .18s,box-shadow .18s,background .18s}
.select-search:focus,.product-picker input[type=search]:focus{border-color:var(--theme-primary,#3f4b7d)!important;background:#fff!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--theme-primary,#3f4b7d) 12%,transparent)!important}
input[type=search]::-webkit-search-cancel-button{cursor:pointer;opacity:.55}
@media(max-width:740px){.toolbar>.search-field,.search-field{width:100%;max-width:none;min-height:46px}.toolbar>.search-field>input,.search-field>input{height:44px}.select-search,.product-picker input[type=search]{min-height:46px}}
@media(max-width:650px){.purchase-table td:nth-child(2):before{content:'Harga beli'}.purchase-table td:nth-child(3):before{content:'HPP'}.purchase-table td:nth-child(4):before{content:'Harga jual'}.purchase-table td:nth-child(5):before{content:'Potongan/item'}.purchase-table td:nth-child(6):before{content:'Pajak/item'}.purchase-table td:nth-child(7):before{content:'Jumlah'}.purchase-table td:nth-child(8):before{content:'Subtotal'}}
.settlement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}.settlement-form{display:grid;gap:14px}.settlement-form label{display:grid;gap:7px;color:#4b5574;font-size:12px;font-weight:800}.settlement-form input,.settlement-form select,.settlement-form textarea{width:100%;min-height:42px;border:1px solid #dfe2eb;border-radius:6px;background:#fff;color:#273255;padding:9px 11px}.settlement-info{padding:13px;border-radius:7px;background:#f3f5fa;color:#626d89;font-size:12px;line-height:1.65}.settlement-info strong{color:#303b69}.settlement-history{margin-bottom:18px}.report-print-controls{display:flex;align-items:end;justify-content:flex-end;gap:8px;flex-wrap:wrap}.report-print-controls label{display:grid;gap:4px;color:#727b93;font-size:10px;font-weight:800}.report-print-controls select{min-width:145px;height:38px;border:1px solid #dfe2eb;border-radius:6px;background:#fff;color:#303a64;padding:0 9px}.report-print-controls button{height:38px}.report-print-controls small{flex-basis:100%;text-align:right;color:#818aa0}@media(max-width:900px){.settlement-grid{grid-template-columns:1fr}.report-print-controls{justify-content:flex-start;width:100%}.report-print-controls small{text-align:left}}@media(max-width:520px){.report-print-controls label,.report-print-controls select,.report-print-controls button{width:100%}}

/* Sidebar berkelompok: lebar, proporsional, dan warna lembut. */
@media(min-width:741px){
  .admin-layout{grid-template-columns:278px minmax(0,1fr)}
  .sidebar{width:278px;padding-inline:16px}
  .side-brand{min-width:0;padding:0 10px 20px}
  .side-brand img{width:44px;height:44px;flex:0 0 44px;object-fit:contain}
  .side-brand .store-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .nav-group{display:grid;gap:3px;margin-bottom:13px;padding:10px 8px;border:1px solid #ffffff12;border-radius:11px}
  .nav-group:nth-child(1){background:#7aa7ff14}
  .nav-group:nth-child(2){background:#5fd5b514}
  .nav-group:nth-child(3){background:#f3b66716}
  .nav-group:nth-child(4){background:#ba91f516}
  .nav-group:nth-child(5){background:#69c6dd14}
  .nav-group:nth-child(6){background:#ef91bd14}
  .nav-group-label{padding:0 8px 6px;color:color-mix(in srgb,var(--theme-primary-text) 72%,transparent);font-size:9px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
  .nav-button{color:color-mix(in srgb,var(--theme-primary-text) 78%,transparent);background:transparent;justify-content:flex-start;text-align:left}
  .nav-button:hover,.nav-button.active{color:var(--theme-primary-text);background:color-mix(in srgb,var(--theme-primary-text) 13%,transparent)}
}
@media(max-width:740px){
  .admin-layout{display:block}
  .sidebar{width:100%;height:auto;min-height:0}
  .side-brand img{width:38px;height:38px}
  .nav-group{display:flex;gap:4px;margin:0;padding:4px;background:transparent!important;border:0}
  .nav-group-label{display:none}
  .nav-button{width:auto;flex:0 0 auto;background:transparent;color:var(--theme-primary-text)}
}

/* Navigasi adaptif untuk tablet dan mobile */
.header-title{display:flex;align-items:center;gap:14px;min-width:0}.sidebar-toggle{display:none;width:42px;height:42px;flex:none;border:1px solid #dfe3ec;border-radius:10px;background:#fff;place-items:center;align-content:center;gap:5px;padding:9px;cursor:pointer}.sidebar-toggle span{display:block;width:21px;height:2px;border-radius:5px;background:var(--theme-primary);transition:transform .2s,opacity .2s}.sidebar-backdrop,.mobile-bottom-nav{display:none}
@media(max-width:1200px){
  body.sidebar-lock{overflow:hidden}
  .admin-layout{display:block;min-height:100dvh}
  .sidebar{position:fixed!important;z-index:90;left:0;top:0;width:min(310px,86vw)!important;height:100dvh!important;min-height:100dvh!important;padding:22px 16px!important;transform:translateX(-105%);transition:transform .24s ease;box-shadow:18px 0 50px #17203f3b;overflow:hidden}
  .admin-layout.sidebar-open .sidebar{transform:translateX(0)}
  .sidebar-toggle{display:grid}
  .admin-layout.sidebar-open .sidebar-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .admin-layout.sidebar-open .sidebar-toggle span:nth-child(2){opacity:0}
  .admin-layout.sidebar-open .sidebar-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .sidebar-backdrop{position:fixed;z-index:80;inset:0;border:0;background:#151d3c8a;backdrop-filter:blur(2px);cursor:pointer}
  .admin-layout.sidebar-open>.sidebar-backdrop{display:block}
  .side-brand{padding:0 8px 18px!important}.side-label{display:none!important}
  .side-nav{display:grid!important;gap:4px!important;overflow-y:auto!important;padding:10px 3px 16px!important}
  .nav-group{display:grid!important;gap:3px!important;margin:0 0 11px!important;padding:9px 7px!important;border:1px solid #ffffff14!important;border-radius:11px!important}
  .nav-group-label{display:block!important;padding:0 8px 6px;color:color-mix(in srgb,var(--theme-primary-text) 70%,transparent);font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
  .nav-button{width:100%!important;justify-content:flex-start!important;white-space:normal!important;padding:11px 12px!important}
  .nav-button span{display:grid!important}
  .side-bottom{display:grid!important;margin-top:8px!important;border-top:1px solid #ffffff2e!important;padding-top:10px!important}.side-bottom>*{width:100%!important;padding:9px 12px!important}
  .workspace{width:100%;min-height:100dvh}.top-header{position:sticky;z-index:30;top:0}
}
@media(max-width:700px){
  .top-header{height:72px;padding:11px 14px}.top-header h1{font-size:19px}.top-kicker{font-size:8px}.sidebar-toggle{width:40px;height:40px}
  .user-chip>span:last-child{display:none}.user-avatar{width:34px;height:34px}
  .content{padding:17px 13px 92px}
  .mobile-bottom-nav{position:fixed;z-index:60;left:10px;right:10px;bottom:max(9px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(5,minmax(0,1fr));min-height:64px;padding:6px;border:1px solid #dfe3ec;border-radius:18px;background:#fffffff2;box-shadow:0 12px 35px #17203f2e;backdrop-filter:blur(14px)}
  .mobile-bottom-nav button{min-width:0;border:0;border-radius:12px;background:transparent;color:#7a849b;display:grid;place-items:center;align-content:center;gap:3px;padding:4px 2px;font-size:9px;font-weight:800;cursor:pointer}.mobile-bottom-nav button span{font-size:18px;line-height:1}.mobile-bottom-nav button.active{background:color-mix(in srgb,var(--theme-primary) 11%,#fff);color:var(--theme-primary)}
  .admin-toast{bottom:86px;left:13px;right:13px;text-align:center}
}
@media(prefers-reduced-motion:reduce){.sidebar{transition:none!important}}
.code-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.code-input-row .reset-button{height:auto;min-height:39px;white-space:nowrap}@media(max-width:740px){.code-input-row{grid-template-columns:1fr}.code-input-row .reset-button{height:39px}}
.product-code-scanner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.product-code-scanner input{font-weight:400}.product-code-scanner .camera-scan-button{height:auto;min-height:39px;white-space:nowrap}@media(max-width:740px){.product-code-scanner{grid-template-columns:1fr}.product-code-scanner .camera-scan-button{height:42px}}

/* Susunan filter laporan penjualan. */
#salesFilter{display:grid;grid-template-columns:repeat(5,minmax(145px,1fr));gap:14px 12px;align-items:end;padding-bottom:2px}
#salesFilter label{min-width:0}#salesFilter input{width:100%;min-width:0;height:42px;padding-inline:12px}
#salesFilter>.filter-button,#salesFilter>.reset-button{width:100%;height:42px}
#salesFilter .period-presets{grid-column:3/6;justify-content:flex-end;min-width:0}
#salesFilter .period-presets button{height:42px;min-width:84px}
#salesFilter .filter-status{grid-column:1/-1;min-height:18px;margin:0;padding-top:2px}
@media(max-width:900px){
  #salesFilter{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 14px}
  #salesFilter label:nth-of-type(5){grid-column:1/-1}
  #salesFilter .period-presets{grid-column:1/-1;justify-content:flex-start;overflow:visible}
  #salesFilter .period-presets button{flex:1;min-width:0}
}
@media(max-width:520px){
  #salesFilter{grid-template-columns:1fr}
  #salesFilter label:nth-of-type(5),#salesFilter .period-presets,#salesFilter .filter-status{grid-column:auto}
  #salesFilter .period-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;width:100%}
  #salesFilter .period-presets button{width:100%;padding-inline:6px}
}

/* Susunan filter laporan pembelian. */
#purchaseReportFilter{display:grid;grid-template-columns:repeat(5,minmax(145px,1fr));gap:14px 12px;align-items:end;padding-bottom:2px}
#purchaseReportFilter label{min-width:0}#purchaseReportFilter input{width:100%;min-width:0;height:42px;padding-inline:12px}
#purchaseReportFilter>.filter-button{width:100%;height:42px}
#purchaseReportFilter .period-presets{grid-column:2/6;justify-content:flex-end;min-width:0}
#purchaseReportFilter .period-presets button{height:42px;min-width:84px}
#purchaseReportFilter .filter-status{grid-column:1/-1;min-height:18px;margin:0;padding-top:2px}
@media(max-width:900px){
  #purchaseReportFilter{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 14px}
  #purchaseReportFilter label:nth-of-type(5){grid-column:1/-1}
  #purchaseReportFilter .period-presets{grid-column:1/-1;justify-content:flex-start;overflow:visible}
  #purchaseReportFilter .period-presets button{flex:1;min-width:0}
}
@media(max-width:520px){
  #purchaseReportFilter{grid-template-columns:1fr}
  #purchaseReportFilter label:nth-of-type(5),#purchaseReportFilter .period-presets,#purchaseReportFilter .filter-status{grid-column:auto}
  #purchaseReportFilter .period-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;width:100%}
  #purchaseReportFilter .period-presets button{width:100%;padding-inline:6px}
}

/* Susunan filter laporan keuangan. */
#financeReportFilter{display:grid;grid-template-columns:repeat(5,minmax(145px,1fr));gap:14px 12px;align-items:end;margin-bottom:0;padding-bottom:2px}
#financeReportFilter label{min-width:0}#financeReportFilter input{width:100%;min-width:0;height:42px;padding-inline:12px}
#financeReportFilter>.filter-button{width:100%;height:42px}
#financeReportFilter .period-presets{grid-column:4/6;justify-content:flex-end;min-width:0}
#financeReportFilter .period-presets button{height:42px;min-width:84px;flex:1}
#financeReportFilter .filter-status{grid-column:1/-1;min-height:18px;margin:0;padding-top:2px}
@media(max-width:900px){
  #financeReportFilter{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 14px}
  #financeReportFilter>.filter-button{grid-column:1/-1}
  #financeReportFilter .period-presets{grid-column:1/-1;justify-content:flex-start;overflow:visible}
  #financeReportFilter .period-presets button{min-width:0}
}
@media(max-width:520px){
  #financeReportFilter{grid-template-columns:1fr}
  #financeReportFilter>.filter-button,#financeReportFilter .period-presets,#financeReportFilter .filter-status{grid-column:auto}
  #financeReportFilter .period-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;width:100%}
  #financeReportFilter .period-presets button{width:100%;padding-inline:6px}
}

/* Toolbar data produk: pencarian dan pemindai tetap rapi di setiap lebar layar. */
#productsPanel .section-intro{align-items:center}
#productsPanel .intro-actions{flex:none}
#productsPanel .scan-toolbar{display:grid;grid-template-columns:minmax(280px,1fr) minmax(250px,360px) auto;align-items:end;gap:14px;margin-bottom:22px}
#productsPanel .scan-toolbar>.search-field{width:100%;min-width:0}
#productsPanel .scan-toolbar>.scanner-field{display:grid;grid-template-columns:1fr;align-items:stretch;gap:7px;min-width:0}
#productsPanel .scan-toolbar>.scanner-field input{width:100%;min-width:0}
#productsPanel .scan-toolbar>.camera-scan-button{min-width:132px;white-space:nowrap}
.promo-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}.compact-form{display:grid;gap:14px}.compact-form h3{margin:0}.form-grid.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cell-note{display:block;margin-top:4px;color:#7b849b}
@media(max-width:900px){.promo-admin-grid{grid-template-columns:1fr}}
@media(max-width:560px){.form-grid.two{grid-template-columns:1fr}}
@media(max-width:900px){
  #productsPanel .scan-toolbar{grid-template-columns:minmax(0,1fr) minmax(230px,.75fr)}
  #productsPanel .scan-toolbar>.search-field{grid-column:1/-1}
  #productsPanel .scan-toolbar>.camera-scan-button{width:100%}
}
@media(max-width:600px){
  #productsPanel .section-intro{align-items:flex-start}
  #productsPanel .intro-actions{display:grid;grid-template-columns:auto minmax(0,1fr);width:100%;gap:10px}
  #productsPanel .intro-actions .count-pill{display:flex;align-items:center;justify-content:center;white-space:nowrap}
  #productsPanel .intro-actions .filter-button{width:100%;height:43px}
  #productsPanel>.section-card{padding:14px}
  #productsPanel .scan-toolbar{grid-template-columns:1fr;gap:13px}
  #productsPanel .scan-toolbar>.search-field{grid-column:auto}
  #productsPanel .scan-toolbar>.camera-scan-button{height:44px}
}

/* Kas kasir */
.cashier-control-head{display:grid;grid-template-columns:minmax(220px,320px) minmax(0,1fr);gap:18px;align-items:end}.cashier-control-head>#cashierSessionStatus:only-child{grid-column:1/-1}.cashier-open-form{display:grid;grid-template-columns:minmax(240px,1.4fr) minmax(190px,.8fr) auto;gap:14px;align-items:end}.cashier-open-form .filter-button{height:42px;white-space:nowrap}.cashier-close-actions{display:flex;justify-content:flex-end;margin-top:14px}.cashier-close-actions .danger-button{min-height:42px;padding-inline:20px}.cashier-session-card label small{min-height:15px;color:#7e879e;font-weight:500}.cashier-session-open,.cashier-session-closed{margin-bottom:0}
@media(max-width:850px){.cashier-control-head,.cashier-open-form{grid-template-columns:1fr 1fr}.cashier-open-form .filter-button{grid-column:1/-1;width:100%}}
@media(max-width:560px){.cashier-control-head,.cashier-open-form{grid-template-columns:1fr}.cashier-open-form .filter-button{grid-column:auto}.cashier-close-actions .danger-button{width:100%}}

/* Normalisasi tema dan tata letak seluruh panel admin. */
html,body{width:100%;max-width:100%;overflow-x:hidden}body{background:#f5f6fa;color:var(--theme-font,#263052)}img,svg,video,canvas{max-width:100%}
.admin-layout,.workspace,.content,.content>section,.section-card,.chart-card,.table-wrap,.form-grid>*,.date-filter>*,.toolbar>*{min-width:0}.content{width:100%;max-width:1640px}.section-card{box-shadow:0 8px 26px #27345a08}.section-intro,.card-heading{gap:16px}.section-intro>div,.card-heading>div{min-width:0}.section-intro h2,.card-heading h3,.section-intro p{overflow-wrap:anywhere}.toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.table-wrap,.financial-chart-scroll{width:100%;max-width:100%;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin}table{max-width:100%}th,td{overflow-wrap:anywhere}
.form-grid select,.form-grid input,.form-grid textarea,.date-filter input,.date-filter select,.report-filter input,.report-filter select{max-width:100%;min-width:0;outline:0}.form-grid select{width:100%;min-height:42px;border:1px solid #dfe2eb;border-radius:6px;background:#fff;color:#273255;padding:9px 11px;font-size:13px}.form-grid select:focus,.form-grid input:focus,.form-grid textarea:focus,.date-filter input:focus,.date-filter select:focus,.report-filter input:focus,.report-filter select:focus{border-color:var(--theme-primary,#3f4b7d);box-shadow:0 0 0 3px color-mix(in srgb,var(--theme-primary,#3f4b7d) 12%,transparent)}
.primary-button,.filter-button,.reset-button,.danger-button,.document-button,.row-actions button,.row-actions a{display:inline-flex;align-items:center;justify-content:center;line-height:1.2}.row-actions{align-items:center;flex-wrap:wrap}.notice,.filter-status,.settlement-info{overflow-wrap:anywhere}dialog{max-width:calc(100vw - 28px);max-height:calc(100dvh - 28px);overscroll-behavior:contain}.detail-dialog{overflow:auto}
@media(max-width:1200px){.content{max-width:none;padding:28px 26px 64px}.top-header{padding-inline:26px}.dashboard-grid,.profile-user-grid{grid-template-columns:1fr}.finance-summary,.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.content{padding:24px 20px 58px}.section-intro{align-items:flex-start;flex-wrap:wrap}.intro-actions{width:100%;flex-wrap:wrap;justify-content:flex-start}.report-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.report-summary>div{min-width:0}.style-fields,.zakat-assets,.period-account-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.top-header{height:auto;min-height:76px;padding:13px 15px;gap:12px}.header-title{gap:10px}.sidebar-toggle{width:40px;height:40px}.top-header h1{font-size:20px;line-height:1.18}.top-kicker{font-size:9px}.user-chip{gap:7px}.user-avatar{width:34px;height:34px}.user-chip>span:last-child{display:none}.content{padding:16px 12px calc(88px + env(safe-area-inset-bottom))}.welcome{min-height:0;padding:21px 18px}.welcome-symbol{position:absolute;right:10px;opacity:.12}.section-card{padding:15px;border-radius:10px}.section-intro{margin-bottom:16px}.section-intro h2{font-size:22px;line-height:1.2}.section-intro p{line-height:1.55}.card-heading{align-items:flex-start;flex-wrap:wrap;margin-bottom:15px}.card-heading h3{font-size:17px}.form-grid,.form-grid.two,.checkout-customer,.flow-picker,.settlement-inline-form{grid-template-columns:1fr}.wide-field,.settlement-inline-form .settlement-sale-field,.settlement-inline-form .settlement-note-field{grid-column:auto}.form-grid{gap:14px}.form-grid input,.form-grid select,.form-grid textarea{min-height:44px}.form-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:20px}.form-actions button,.form-actions a{width:100%;min-height:44px}.date-filter{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;width:100%}.date-filter label{min-width:0}.date-filter input,.date-filter select{width:100%;height:44px}.date-filter .filter-button,.date-filter .reset-button,.date-filter .period-presets,.date-filter .filter-status{grid-column:1/-1}.date-filter .filter-button,.date-filter .reset-button{height:44px}.period-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.period-presets button{width:100%;min-width:0}.toolbar{display:grid;grid-template-columns:1fr;width:100%}.toolbar>*{width:100%;max-width:none}.toolbar button,.toolbar a{min-height:44px}.report-summary{grid-template-columns:1fr 1fr;padding:15px 0}.report-summary strong{font-size:18px}.table-pagination{align-items:flex-start;flex-direction:column}.page-buttons{max-width:100%;flex-wrap:wrap}.stats-grid,.dashboard-finance-stats,.finance-summary,.inventory-report-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat-card{min-height:108px;padding:15px}.stat-card strong{font-size:20px}.style-fields,.zakat-assets,.period-account-summary{grid-template-columns:1fr}.detail-dialog{width:calc(100% - 18px);padding:19px 16px;border-radius:12px}.dialog-head{gap:12px}.dialog-item{align-items:flex-start}.dialog-item b{white-space:normal;text-align:right}.app-id-card{flex-direction:column}.app-id-card img{width:100%;height:auto;max-height:220px}.chart-card{padding:14px}.chart-legend{gap:9px}.financial-chart{min-height:235px}.financial-chart svg{height:235px}}
@media(max-width:430px){.login-card{width:calc(100% - 28px)}.stats-grid,.dashboard-finance-stats,.finance-summary,.inventory-report-summary{grid-template-columns:1fr 1fr}.stat-card{min-height:101px;padding:13px}.stat-card strong{font-size:17px;line-height:1.25}.date-filter,.report-summary{grid-template-columns:1fr}.date-filter>*{grid-column:1!important}.period-presets{grid-template-columns:1fr 1fr 1fr}.form-actions{grid-template-columns:1fr}.intro-actions{display:grid;grid-template-columns:1fr}.intro-actions>*{width:100%}.product-image-slots{gap:8px}}

/* Promo, kupon, dan data kas. */
.promotion-panel,.finance-master-panel{--panel-accent:var(--theme-primary,#3f4b7d)}
.promotion-panel>.section-intro,.finance-master-panel>.section-intro{padding:4px 2px 2px}
.promotion-panel .promo-admin-grid,.finance-master-panel .promo-admin-grid{gap:20px;margin-bottom:20px}
.promotion-panel .compact-form,.finance-master-panel .compact-form{position:relative;align-content:start;overflow:hidden;padding:24px;border-top:4px solid var(--panel-accent);box-shadow:0 12px 32px #27345a0a}
.promotion-panel .compact-form:before,.finance-master-panel .compact-form:before{content:'';position:absolute;right:-35px;top:-42px;width:115px;height:115px;border-radius:50%;background:color-mix(in srgb,var(--panel-accent) 7%,transparent);pointer-events:none}
.promotion-panel .compact-form:nth-child(2),.finance-master-panel .compact-form:nth-child(2){--panel-accent:#b58424}
.promotion-panel .compact-form h3,.finance-master-panel .compact-form h3{position:relative;margin:0 0 4px;padding-bottom:14px;border-bottom:1px solid #eceff4;color:#303b68;font-size:18px}
.promotion-panel .compact-form>label,.promotion-panel .compact-form .form-grid label,.finance-master-panel .compact-form>label{display:grid;gap:7px;min-width:0;color:#596482;font-size:11px;font-weight:800}
.promotion-panel .compact-form input,.promotion-panel .compact-form select,.finance-master-panel .compact-form input,.finance-master-panel .compact-form select{width:100%;min-width:0;min-height:43px;border:1px solid #dce1eb;border-radius:7px;background:#fbfcfe;color:#293455;padding:9px 11px;outline:0}
.promotion-panel .compact-form input:focus,.promotion-panel .compact-form select:focus,.finance-master-panel .compact-form input:focus,.finance-master-panel .compact-form select:focus{border-color:var(--panel-accent);background:#fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--panel-accent) 12%,transparent)}
.promotion-panel .compact-form .check-field{align-self:end;display:flex;align-items:center;min-height:43px;padding:10px 12px;border:1px solid #e4e7ef;border-radius:7px;background:#f8f9fc}.promotion-panel .compact-form .check-field input{width:18px;min-height:18px;height:18px;accent-color:var(--theme-primary)}
.promotion-panel .compact-form>.filter-button,.finance-master-panel .compact-form>.filter-button{width:100%;height:44px;margin-top:2px;border-radius:7px}
.promotion-product-search{display:flex;align-items:center;gap:10px;min-height:43px;padding:0 11px;border:1px solid #dce1eb;border-radius:7px;background:#fbfcfe;color:#7d879c}.promotion-product-search:focus-within{border-color:var(--panel-accent);background:#fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--panel-accent) 12%,transparent)}.promotion-product-search>span{flex:none;font-size:21px;line-height:1}.promotion-panel .compact-form .promotion-product-search input{min-height:41px;padding:0;border:0;background:transparent;box-shadow:none}.promotion-panel .compact-form .promotion-product-search input:focus{border:0;box-shadow:none}.promotion-product-result{min-height:15px;color:#8992a7;font-size:10px;font-weight:600}
.promotion-list-card,.coupon-list-card,.cash-list-card,.cash-history-card{overflow:hidden;margin-bottom:20px;padding:0}.promotion-list-card .card-heading,.coupon-list-card .card-heading,.cash-list-card .card-heading,.cash-history-card .card-heading{margin:0;padding:20px 22px 16px;border-bottom:1px solid #e9edf3;background:linear-gradient(135deg,#fff,#f8f9fc)}
.promotion-tabs{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:10px;width:min(620px,100%);margin-bottom:20px;padding:7px;border:1px solid #eadfce;border-radius:16px;background:linear-gradient(135deg,#fffaf1,#fff);box-shadow:0 8px 26px #6e4b1910}.promotion-tabs button{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;min-width:0;min-height:64px;padding:9px 13px;border:1px solid transparent;border-radius:11px;background:transparent;color:#75624e;text-align:left;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}.promotion-tabs button:hover{border-color:#ecd7b4;background:#fff5df;transform:translateY(-1px)}.promotion-tabs button>span:nth-child(2){display:grid;gap:3px}.promotion-tabs button strong{font-size:13px}.promotion-tabs button small{color:#9a8977;font-size:10px;font-weight:600}.promotion-tabs button>b{display:grid;min-width:29px;height:25px;padding:0 7px;place-items:center;border-radius:20px;background:#fff0d0;color:#8b5c16;font-size:10px}.promotion-tab-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:10px;background:#fff0d0;color:#9b6817;font-size:18px;font-weight:900}.promotion-tabs button.active{border-color:var(--theme-button,#d28b00);background:linear-gradient(135deg,var(--theme-button,#d28b00),color-mix(in srgb,var(--theme-button,#d28b00) 82%,#6f4700));color:var(--theme-button-text,#fff);box-shadow:0 9px 22px color-mix(in srgb,var(--theme-button,#d28b00) 28%,transparent);transform:none}.promotion-tabs button.active small{color:color-mix(in srgb,var(--theme-button-text,#fff) 75%,transparent)}.promotion-tabs button.active .promotion-tab-icon,.promotion-tabs button.active>b{background:#ffffff2b;color:inherit}.promotion-tab-panel{min-width:0;animation:promotion-panel-in .2s ease-out}.promotion-tab-panel[hidden]{display:none!important}@keyframes promotion-panel-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.promotion-form-dialog{width:min(760px,calc(100% - 30px));max-height:calc(100dvh - 30px);overflow:auto}.promotion-form-dialog .compact-form{display:grid;gap:15px}.promotion-form-dialog .form-actions{position:sticky;bottom:-27px;margin:10px -27px -27px;padding:14px 27px;background:#fffffff2;border-top:1px solid #ece7df;backdrop-filter:blur(12px)}.promotion-list-card .card-heading,.coupon-list-card .card-heading{gap:16px}.promotion-list-card .card-heading>.filter-button,.coupon-list-card .card-heading>.filter-button{flex:none;min-height:40px}
.promotion-list-card .toolbar,.cash-list-card .toolbar{margin:0;padding:16px 22px;border-bottom:1px solid #eef0f4}.promotion-list-card .table-wrap,.coupon-list-card .table-wrap,.cash-list-card .table-wrap,.cash-history-card .table-wrap{padding:0 8px 8px}.cash-list-card .table-pagination{margin:0 20px 18px}.promotion-table,.coupon-table{min-width:780px}.cash-master-table{min-width:900px}.cash-operation-table{min-width:980px}
.promotion-table th:nth-child(3),.promotion-table td:nth-child(3),.coupon-table th:nth-child(3),.coupon-table td:nth-child(3),.cash-master-table th:nth-child(5),.cash-master-table td:nth-child(5),.cash-operation-table th:nth-child(6),.cash-operation-table td:nth-child(6){text-align:right}.promotion-table th:last-child,.promotion-table td:last-child,.coupon-table th:last-child,.coupon-table td:last-child,.cash-master-table th:last-child,.cash-master-table td:last-child{text-align:center}.promotion-table tbody tr:hover,.coupon-table tbody tr:hover,.cash-master-table tbody tr:hover,.cash-operation-table tbody tr:hover{background:#fafbfe}
.promotion-panel .delete-action{min-width:70px;border:1px solid #efd8dc;border-radius:6px;background:#fff7f8;color:#b33c48;padding:7px 10px;font-size:11px;font-weight:800}.promotion-panel .delete-action:hover{border-color:#d96570;background:#fff0f2}
.cash-operation-area{scroll-margin-top:18px}.finance-master-panel .cash-operation-area+.cash-operation-area{margin-top:0}
@media(max-width:900px){.promotion-panel .promo-admin-grid,.finance-master-panel .promo-admin-grid{grid-template-columns:1fr}.promotion-panel .compact-form,.finance-master-panel .compact-form{padding:21px}}
@media(max-width:650px){
  .promotion-panel>.section-intro,.finance-master-panel>.section-intro{padding-inline:2px}.promotion-panel .intro-actions,.finance-master-panel .intro-actions{grid-template-columns:auto minmax(0,1fr)}
  .promotion-panel .compact-form,.finance-master-panel .compact-form{padding:17px 15px}.promotion-panel .compact-form h3,.finance-master-panel .compact-form h3{font-size:17px}.promotion-panel .form-grid.two{grid-template-columns:1fr 1fr;gap:11px}
  .promotion-list-card,.coupon-list-card,.cash-list-card,.cash-history-card{margin-bottom:14px}.promotion-list-card .card-heading,.coupon-list-card .card-heading,.cash-list-card .card-heading,.cash-history-card .card-heading{padding:17px 15px 14px}.cash-list-card .toolbar{padding:13px 14px}
  .promotion-list-card .table-wrap,.coupon-list-card .table-wrap,.cash-list-card .table-wrap,.cash-history-card .table-wrap{overflow:visible;padding:10px;background:#f6f8fb}
  .promotion-table,.coupon-table,.cash-master-table,.cash-operation-table,.promotion-table tbody,.coupon-table tbody,.cash-master-table tbody,.cash-operation-table tbody,.promotion-table tr,.coupon-table tr,.cash-master-table tr,.cash-operation-table tr,.promotion-table td,.coupon-table td,.cash-master-table td,.cash-operation-table td{display:block;width:100%;min-width:0}.promotion-table thead,.coupon-table thead,.cash-master-table thead,.cash-operation-table thead{display:none}.promotion-table tbody,.coupon-table tbody,.cash-master-table tbody,.cash-operation-table tbody{display:grid;gap:10px}.promotion-table tr,.coupon-table tr,.cash-master-table tr,.cash-operation-table tr{padding:8px 13px;border:1px solid #e1e5ee;border-radius:10px;background:#fff;box-shadow:0 4px 14px #27345a0a}
  .promotion-table td,.coupon-table td,.cash-master-table td,.cash-operation-table td{display:grid;grid-template-columns:minmax(96px,35%) minmax(0,1fr);gap:12px;padding:8px 0;border-bottom:1px dashed #e7eaf0;text-align:right!important}.promotion-table td:last-child,.coupon-table td:last-child,.cash-master-table td:last-child,.cash-operation-table td:last-child{border-bottom:0}.promotion-table td:before,.coupon-table td:before,.cash-master-table td:before,.cash-operation-table td:before{color:#8992a7;font-size:9px;font-weight:900;letter-spacing:.05em;text-align:left;text-transform:uppercase}.promotion-table td:nth-child(1):before{content:'Produk'}.promotion-table td:nth-child(2):before{content:'Promo'}.promotion-table td:nth-child(3):before{content:'Diskon'}.promotion-table td:nth-child(4):before{content:'Periode'}.promotion-table td:nth-child(5):before{content:'Status'}.promotion-table td:nth-child(6):before{content:'Aksi'}.coupon-table td:nth-child(1):before{content:'Kode'}.coupon-table td:nth-child(2):before{content:'Kupon'}.coupon-table td:nth-child(3):before{content:'Diskon'}.coupon-table td:nth-child(4):before{content:'Syarat'}.coupon-table td:nth-child(5):before{content:'Pemakaian'}.coupon-table td:nth-child(6):before{content:'Aksi'}.cash-master-table td:nth-child(1):before{content:'Kode'}.cash-master-table td:nth-child(2):before{content:'Nama kas'}.cash-master-table td:nth-child(3):before{content:'No. rekening'}.cash-master-table td:nth-child(4):before{content:'Nama rekening'}.cash-master-table td:nth-child(5):before{content:'Saldo'}.cash-master-table td:nth-child(6):before{content:'Pengguna'}.cash-master-table td:nth-child(7):before{content:'Aksi'}.cash-operation-table td:nth-child(1):before{content:'Tanggal'}.cash-operation-table td:nth-child(2):before{content:'Nomor'}.cash-operation-table td:nth-child(3):before{content:'Jenis'}.cash-operation-table td:nth-child(4):before{content:'Kas'}.cash-operation-table td:nth-child(5):before{content:'Penerima'}.cash-operation-table td:nth-child(6):before{content:'Jumlah'}.cash-operation-table td:nth-child(7):before{content:'Keterangan'}
  .promotion-table .empty-row,.coupon-table .empty-row,.cash-master-table .empty-row,.cash-operation-table .empty-row{display:block!important;padding:25px 10px!important;text-align:center!important}.promotion-table .empty-row:before,.coupon-table .empty-row:before,.cash-master-table .empty-row:before,.cash-operation-table .empty-row:before{display:none}.promotion-panel .delete-action{width:100%;min-height:38px}.cash-list-card .table-pagination{margin:0;padding:14px;background:#fff}
}
@media(max-width:430px){.promotion-panel .form-grid.two{grid-template-columns:1fr}.promotion-panel .intro-actions,.finance-master-panel .intro-actions{grid-template-columns:1fr}.promotion-table td,.coupon-table td,.cash-master-table td,.cash-operation-table td{grid-template-columns:88px minmax(0,1fr)}}
@media(max-width:600px){.promotion-tabs{grid-template-columns:1fr;width:100%;gap:7px;padding:6px}.promotion-tabs button{min-height:58px}.promotion-list-card .card-heading,.coupon-list-card .card-heading{align-items:stretch;flex-direction:column}.promotion-list-card .card-heading>.filter-button,.coupon-list-card .card-heading>.filter-button{width:100%}.promotion-form-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:18px 14px}.promotion-form-dialog .form-grid.two{grid-template-columns:1fr}.promotion-form-dialog .form-actions{bottom:-18px;margin:8px -14px -18px;padding:12px 14px}.promotion-form-dialog .form-actions button{flex:1}}

/* Tata letak Kas Kasir. */
#cashierBalancePanel{--cashier-accent:#3f4b7d}
.cashier-session-layout{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.35fr);gap:18px;margin-bottom:18px}.cashier-user-card,.cashier-session-card,.cashier-report-card{min-width:0}.cashier-user-card,.cashier-session-card{padding:22px;border-top:4px solid var(--cashier-accent)}.cashier-user-card{display:grid;align-content:start;gap:15px}.cashier-user-card .card-heading,.cashier-session-card .card-heading,.cashier-report-card>.card-heading{margin-bottom:2px}.cashier-user-card>label{display:grid;gap:7px;color:#596482;font-size:11px;font-weight:800}.cashier-user-card select,.cashier-session-card select,.cashier-session-card input{width:100%;min-width:0;min-height:43px;border:1px solid #dce1eb;border-radius:7px;background:#fbfcfe;color:#293455;padding:9px 11px;outline:0}.cashier-user-card select:focus,.cashier-session-card select:focus,.cashier-session-card input:focus{border-color:var(--cashier-accent);background:#fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--cashier-accent) 12%,transparent)}.cashier-user-card label small{color:#8a93a7;font-size:10px;font-weight:500;line-height:1.45}.cashier-user-card #cashierSessionStatus{min-width:0}.cashier-user-card .cashier-session-open,.cashier-user-card .cashier-session-closed{min-height:112px;padding:17px;margin:0;border:1px solid #dceae1;border-radius:9px}.cashier-user-card .cashier-session-closed{border-color:#e3e6ed}.cashier-user-card .cashier-session-open strong{font-size:24px;overflow-wrap:anywhere}.cashier-user-card .cashier-session-open small,.cashier-user-card .cashier-session-closed small{line-height:1.5}.cashier-open-form{grid-template-columns:minmax(210px,1.3fr) minmax(175px,.75fr) auto;margin-top:14px}.cashier-open-form .filter-button{height:43px;padding-inline:20px;border-radius:7px}.cashier-close-actions{margin-top:15px}.cashier-report-card{padding:0;overflow:hidden}.cashier-report-card>.card-heading{padding:20px 22px 16px;border-bottom:1px solid #e9edf3;background:linear-gradient(135deg,#fff,#f8f9fc)}.cashier-report-card>.date-filter{margin:0;padding:16px 22px;border-bottom:1px solid #edf0f4}.cashier-report-card>.finance-summary{margin:0;padding:18px 22px}.cashier-table-section{padding:0 22px 20px}.cashier-table-section+.cashier-table-section{padding-top:19px;border-top:1px solid #e9edf3}.cashier-table-section>h3{margin:0 0 13px;color:#34406d;font-size:15px}.cashier-history-title{margin:0 0 13px}.cashier-source-table{min-width:620px}.cashier-history-table{min-width:880px}.cashier-source-table th:last-child,.cashier-source-table td:last-child,.cashier-history-table th:nth-child(2),.cashier-history-table td:nth-child(2),.cashier-history-table th:nth-child(3),.cashier-history-table td:nth-child(3){text-align:right}
@media(max-width:1000px){.cashier-session-layout{grid-template-columns:1fr}.cashier-user-card .cashier-session-open,.cashier-user-card .cashier-session-closed{min-height:0}.cashier-open-form{grid-template-columns:1fr 1fr}.cashier-open-form .filter-button{grid-column:1/-1;width:100%}}
@media(max-width:650px){.cashier-session-layout{gap:12px;margin-bottom:12px}.cashier-user-card,.cashier-session-card{padding:16px}.cashier-open-form{grid-template-columns:1fr;gap:12px;margin-top:10px}.cashier-open-form .filter-button{grid-column:auto;min-height:44px}.cashier-close-actions .danger-button{width:100%;min-height:44px}.cashier-report-card>.card-heading{padding:17px 15px 14px}.cashier-report-card>.date-filter{padding:14px}.cashier-report-card>.finance-summary{padding:14px}.cashier-table-section{padding:0 10px 14px;background:#f6f8fb}.cashier-table-section+.cashier-table-section{padding-top:15px}.cashier-table-section>h3{padding:0 4px}.cashier-table-section .table-wrap{overflow:visible}.cashier-source-table,.cashier-history-table,.cashier-source-table tbody,.cashier-history-table tbody,.cashier-source-table tr,.cashier-history-table tr,.cashier-source-table td,.cashier-history-table td{display:block;width:100%;min-width:0}.cashier-source-table thead,.cashier-history-table thead{display:none}.cashier-source-table tbody,.cashier-history-table tbody{display:grid;gap:10px}.cashier-source-table tr,.cashier-history-table tr{padding:8px 13px;border:1px solid #e1e5ee;border-radius:10px;background:#fff;box-shadow:0 4px 14px #27345a0a}.cashier-source-table td,.cashier-history-table td{display:grid;grid-template-columns:minmax(105px,36%) minmax(0,1fr);gap:12px;padding:8px 0;border-bottom:1px dashed #e7eaf0;text-align:right!important}.cashier-source-table td:last-child,.cashier-history-table td:last-child{border-bottom:0}.cashier-source-table td:before,.cashier-history-table td:before{color:#8992a7;font-size:9px;font-weight:900;letter-spacing:.05em;text-align:left;text-transform:uppercase}.cashier-source-table td:nth-child(1):before{content:'Kode kas'}.cashier-source-table td:nth-child(2):before{content:'Kas sumber'}.cashier-source-table td:nth-child(3):before{content:'Saldo tersedia'}.cashier-history-table td:nth-child(1):before{content:'Tanggal buka'}.cashier-history-table td:nth-child(2):before{content:'Saldo awal'}.cashier-history-table td:nth-child(3):before{content:'Sisa saldo'}.cashier-history-table td:nth-child(4):before{content:'Status'}.cashier-history-table td:nth-child(5):before{content:'Kas asal'}.cashier-history-table td:nth-child(6):before{content:'Waktu tutup'}.cashier-source-table .empty-row,.cashier-history-table .empty-row{display:block!important;padding:24px 10px!important;text-align:center!important}.cashier-source-table .empty-row:before,.cashier-history-table .empty-row:before{display:none}}

/* Penyempurnaan proporsi kontrol Kas Kasir. */
@media(min-width:1001px){.cashier-session-layout{grid-template-columns:minmax(330px,.9fr) minmax(520px,1.25fr);align-items:start}.cashier-open-form{grid-template-columns:minmax(180px,1fr) auto}.cashier-open-form>label:first-child{grid-column:1/-1}.cashier-open-form .filter-button{min-width:140px}}

/* Bagi hasil consignee. */
.consignee-profit-section{margin:18px 0;border-top:4px solid #b88b2c;scroll-margin-top:20px}.consignee-profit-section .card-heading small{display:block;margin-top:6px;color:#7d879c;font-size:11px;font-weight:500}.consignee-profit-form{display:grid;grid-template-columns:155px minmax(270px,1.5fr) minmax(150px,.65fr) minmax(210px,1fr);gap:13px;align-items:end;padding:18px;border:1px solid #e5e1d5;border-radius:9px;background:linear-gradient(135deg,#fffcf4,#fff)}.consignee-profit-form label{display:grid;gap:7px;min-width:0;color:#596482;font-size:11px;font-weight:800}.consignee-profit-form input,.consignee-profit-form select{width:100%;min-width:0;height:42px;border:1px solid #dfe3eb;border-radius:6px;background:#fff;color:#303a60;padding:0 11px}.consignee-profit-form .profit-note-field{grid-column:span 2}.consignee-profit-form .profit-sale-field{grid-column:span 2}.consignee-profit-form .filter-button{height:42px}.profit-calculation{min-height:42px;padding:11px 13px;border-radius:7px;background:#f7f2e5;color:#74633a;font-size:12px}.profit-calculation strong,.profit-calculation span{display:block}.profit-calculation span{margin-top:4px}.consignee-profit-history{margin-top:20px}.consignee-profit-history table{min-width:1280px}
@media(max-width:1050px){.consignee-profit-form{grid-template-columns:repeat(2,minmax(0,1fr))}.consignee-profit-form .profit-note-field,.consignee-profit-form .profit-sale-field{grid-column:span 2}}
@media(max-width:620px){.consignee-profit-section .card-heading{align-items:flex-start;flex-direction:column}.consignee-profit-form{grid-template-columns:1fr;padding:14px}.consignee-profit-form .profit-note-field,.consignee-profit-form .profit-sale-field{grid-column:auto}.consignee-profit-form .filter-button{width:100%}}


/* Navbar dan sidebar tetap, serta transaksi penjualan untuk tablet 10 inci. */
@media(min-width:1201px){
  .sidebar{position:fixed;z-index:50;left:0;top:0;width:278px;height:100dvh}
  .workspace{grid-column:2;padding-top:103px}
  .top-header{position:fixed;z-index:40;left:278px;right:0;top:0;height:103px}
}
@media(max-width:1200px){
  .workspace{padding-top:103px}
  .top-header{position:fixed!important;z-index:40;left:0;right:0;top:0;width:100%;height:103px;background:#fffffff2;box-shadow:0 5px 22px #27345a0d;backdrop-filter:blur(14px)}
}
@media(min-width:760px) and (max-width:1200px){
  #checkoutPanel .section-intro{align-items:center;padding:2px 2px 4px}
  #checkoutPanel .checkout-change{padding:10px 14px;border-radius:10px;background:color-mix(in srgb,var(--theme-primary) 9%,#fff);font-size:16px}
  #checkoutPanel .checkout-layout{grid-template-columns:minmax(0,1.45fr) minmax(310px,.82fr);gap:16px}
  #checkoutPanel .checkout-main{gap:14px}
  #checkoutPanel .section-card{border-radius:13px;box-shadow:0 9px 28px #2634590b}
  #checkoutPanel .checkout-customer{grid-template-columns:150px minmax(0,1fr);gap:13px;padding:18px}
  #checkoutPanel .product-picker{padding:18px}
  #checkoutPanel .product-picker-results{grid-template-columns:1fr;max-height:245px}
  #checkoutPanel .product-picker-results button{min-height:66px;border-radius:10px;padding:9px}
  #checkoutPanel .checkout-payment{position:sticky;top:119px;gap:12px;padding:19px;max-height:calc(100dvh - 135px);overflow:auto;border-top:4px solid var(--theme-primary)}
  #checkoutPanel .checkout-payment input,#checkoutPanel .checkout-payment select,#checkoutPanel .checkout-payment textarea,#checkoutPanel .checkout-customer input,#checkoutPanel .checkout-customer select,#checkoutPanel .product-picker input{min-height:44px;border-radius:8px}
  #checkoutPanel .checkout-totals{gap:10px;padding:13px 0}
  #checkoutPanel .checkout-totals label{grid-template-columns:minmax(0,1fr) 100px}
  #checkoutPanel .grand-total{margin-top:3px;padding:13px 12px!important;border:0!important;border-radius:9px;background:color-mix(in srgb,var(--theme-accent) 20%,#fff)}
  #checkoutPanel .grand-total strong{font-size:21px}
  #checkoutPanel .checkout-change-box{border-radius:9px}
  #checkoutPanel .form-actions{position:sticky;bottom:-19px;margin:7px -19px -19px;padding:13px 19px;background:#fffffff2;backdrop-filter:blur(12px)}
  #checkoutPanel .form-actions button{min-height:46px;border-radius:8px}
  #checkoutPanel .checkout-cart{padding:13px}
  #checkoutPanel .checkout-table{min-width:720px}
  #checkoutPanel .checkout-table th,#checkoutPanel .checkout-table td{padding:10px 9px}
  #checkoutPanel .checkout-table input{width:82px;min-height:38px}
}
@media(max-width:700px){.workspace{padding-top:76px}.top-header{height:76px}}
@media print{.workspace{padding-top:0!important}.top-header,.sidebar{position:static!important}}


/* Pemeriksaan kupon sebelum transaksi disimpan. */
.checkout-coupon-field{grid-template-columns:1fr!important;gap:7px!important}.checkout-coupon-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.checkout-coupon-control input{min-width:0}.checkout-coupon-control button{min-height:40px;padding:0 13px;border:0;border-radius:7px;background:var(--theme-primary);color:var(--theme-primary-text);font-size:11px;font-weight:800;white-space:nowrap}.checkout-coupon-control button:disabled{cursor:wait;opacity:.65}#checkoutCouponStatus{min-height:15px;line-height:1.4}.coupon-valid{color:#25804a!important}.coupon-invalid{color:#b23b48!important}
@media(max-width:430px){.checkout-coupon-control{grid-template-columns:1fr}.checkout-coupon-control button{min-height:44px}}

/* Master pemegang saham, indikator proses global, dan penyelarasan visual panel. */
.global-loading{position:fixed;z-index:9999;left:50%;top:12px;display:flex;align-items:center;gap:10px;width:min(330px,calc(100% - 28px));padding:9px 12px;border:1px solid #e7dccd;border-radius:12px;background:#fffffff2;color:#704117;box-shadow:0 12px 35px #55341224;opacity:0;transform:translate(-50%,-12px);transition:.18s;backdrop-filter:blur(12px)}.global-loading.active{opacity:1;transform:translate(-50%,0)}.global-loading strong{flex:none;font-size:11px}.global-loading-track{height:5px;flex:1;overflow:hidden;border-radius:10px;background:#f2e7d9}.global-loading-track i{display:block;width:38%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ba6d2e,#efb25f);animation:global-loading-slide 1s ease-in-out infinite}@keyframes global-loading-slide{from{transform:translateX(-110%)}to{transform:translateX(300%)}}
.shareholder-card{margin-bottom:20px;border-top:4px solid #bf7838}.shareholder-card .card-heading small{display:block;margin-top:6px;color:#8992a6;font-size:11px;font-weight:500}.shareholder-form{display:grid;grid-template-columns:150px minmax(200px,1fr) minmax(160px,.8fr) minmax(190px,.9fr);gap:13px;align-items:end;margin-bottom:20px;padding:17px;border:1px solid #eee4d9;border-radius:10px;background:#fffbf6}.shareholder-form label{display:grid;gap:7px;min-width:0;color:#596482;font-size:11px;font-weight:800}.shareholder-form input{width:100%;min-width:0;height:42px;border:1px solid #e1e4eb;border-radius:8px;background:#fff;padding:0 11px;color:#303a60}.shareholder-form input:focus{outline:0;border-color:#bf7838;box-shadow:0 0 0 3px #bf78381c}.shareholder-form .shareholder-address{grid-column:span 2}.shareholder-form .check-field{display:flex;align-items:center;min-height:42px;padding:0 12px;border:1px solid #e5e7ed;border-radius:8px;background:#fff}.shareholder-form .check-field input{width:17px;height:17px;margin-right:8px;accent-color:#bf7838}.shareholder-form .form-actions{justify-content:flex-end}.shareholder-table{min-width:850px}.shareholder-table th:nth-child(4),.shareholder-table td:nth-child(4),.shareholder-table th:nth-child(5),.shareholder-table td:nth-child(5){text-align:right}.ownership-pill{display:inline-flex;padding:5px 9px;border-radius:20px;background:#fff0dc;color:#9a571f;font-size:11px;font-weight:800}
/* Tampilan hangat dan lembut mengikuti referensi. */
@media(min-width:1201px){.sidebar{background:#fff;color:#252c35;border-right:1px solid #e7e7e7;padding-inline:10px}.side-brand{color:#29334c;border-bottom-color:#ece7df}.side-label{color:#9b724d}.side-nav{grid-auto-rows:max-content;align-content:start;overflow-y:auto!important}.nav-group{min-height:max-content;border-color:#eddcc8!important;background:#fff6e9!important;padding:0 0 8px!important;overflow:visible}.nav-group-label{padding:10px 12px!important;background:#343b3d;color:#fff!important}.nav-button{flex:none;margin-inline:7px;width:calc(100% - 14px);color:#56412f!important;border-radius:7px}.nav-button:hover,.nav-button.active{background:#f9c77f!important;color:#2f251d!important;box-shadow:none}.side-bottom{border-top-color:#ece7df}.store-link,.logout-button{color:#6d5542}.top-header{border-bottom-color:#eceae6;box-shadow:0 3px 16px #3d2d1c0b}}
.workspace{background:#f7f7f6}.section-card,.stat-card{border-color:#e9e8e5;border-radius:12px;box-shadow:0 4px 16px #43311e08}.welcome{background:#fff8ee;border:1px solid #f0e2d1}.eyebrow{color:#a86935}

/* Dashboard welcome artwork */
.welcome-symbol{display:grid;place-items:center;width:132px;height:132px;flex:0 0 132px;margin-right:20px;transform:none;border-radius:38px;background:linear-gradient(145deg,#fff1ca,#f3cc79);color:#936020;box-shadow:inset 0 0 0 1px #ffffff9c,0 14px 32px #9c6c2818}
.welcome-symbol svg{display:block;width:82px;height:82px;stroke:currentColor;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}
.welcome-symbol svg rect{fill:#fffaf0;stroke:#e5b95d;stroke-width:1.5}
@media(max-width:700px){.welcome-symbol{right:14px;width:88px;height:88px;flex-basis:88px;margin:0;border-radius:26px;opacity:.22}.welcome-symbol svg{width:58px;height:58px}}
table th{background:#f7f7f6;color:#687181;padding-block:14px}table td{border-bottom-color:#eeefef;padding-block:16px;color:#566072}tbody tr{transition:background-color .15s}tbody tr:hover{background:#fffaf4}.status.yes{background:#eaf5ef;color:#397356}.status.no{background:#f2f3f4;color:#7e858e}.status.neutral{background:#fff0dc;color:#9a5b25}
.filter-button,.reset-button,.edit-action,.delete-action,.invoice-button,.text-button,.danger-button,.master-add{min-height:38px;border-radius:8px!important;font-size:11px!important;font-weight:800!important;transition:transform .15s,box-shadow .15s,background .15s!important}.filter-button,.master-add{background:#b96d2e!important;color:#fff!important;border:1px solid #b96d2e!important}.filter-button:hover,.master-add:hover{background:#9e5720!important;transform:translateY(-1px);box-shadow:0 6px 15px #9e572025}.reset-button,.edit-action,.invoice-button,.text-button{border:1px solid #e1e4e8!important;background:#fff!important;color:#596578!important;padding:0 13px!important;text-decoration:none}.reset-button:hover,.edit-action:hover,.invoice-button:hover,.text-button:hover{background:#f8f4ef!important;border-color:#d6c4b0!important}.delete-action,.danger-button{border:1px solid #f0d8da!important;background:#fff7f7!important;color:#ad4b55!important;padding:0 13px!important}.table-wrap{border-radius:9px}.toolbar,.date-filter,.report-filter{border-radius:10px}.search-field{border-radius:9px}.count-pill{background:#fff8ef;border-color:#eedcc8;color:#9a5b25}
@media(max-width:900px){.shareholder-form{grid-template-columns:repeat(2,minmax(0,1fr))}.shareholder-form .shareholder-address{grid-column:span 2}}@media(max-width:650px){.shareholder-card{padding:15px}.shareholder-card .card-heading{align-items:flex-start;flex-direction:column;gap:10px}.shareholder-form{grid-template-columns:1fr;padding:14px}.shareholder-form .shareholder-address{grid-column:auto}.shareholder-form .form-actions{display:grid;grid-template-columns:1fr 1fr}.shareholder-table,.shareholder-table tbody,.shareholder-table tr,.shareholder-table td{display:block;width:100%;min-width:0}.shareholder-table thead{display:none}.shareholder-table tbody{display:grid;gap:10px}.shareholder-table tr{padding:8px 13px;border:1px solid #e6e5e2;border-radius:10px;background:#fff}.shareholder-table td{display:grid;grid-template-columns:105px minmax(0,1fr);gap:10px;padding:8px 0;border-bottom:1px dashed #e9e8e5;text-align:right!important}.shareholder-table td:before{color:#8a919c;font-size:9px;font-weight:900;text-align:left;text-transform:uppercase}.shareholder-table td:nth-child(1):before{content:'Kode'}.shareholder-table td:nth-child(2):before{content:'Pemegang saham'}.shareholder-table td:nth-child(3):before{content:'Kontak'}.shareholder-table td:nth-child(4):before{content:'Modal'}.shareholder-table td:nth-child(5):before{content:'Kepemilikan'}.shareholder-table td:nth-child(6):before{content:'Status'}.shareholder-table td:nth-child(7):before{content:'Aksi'}}

/* Palet tombol seragam di seluruh panel admin. */
:root{--button-primary:var(--theme-button,#b96d2e);--button-primary-hover:color-mix(in srgb,var(--theme-button,#b96d2e) 82%,#000);--button-primary-text:var(--theme-button-text,#fff);--button-secondary:#fff;--button-secondary-hover:#fff7ed;--button-secondary-text:#654a35;--button-border:#e2d4c5;--button-danger:#ad4b55;--button-danger-bg:#fff5f6}
.primary-button,.filter-button,.master-add,.camera-scan-button,.document-button,.report-print-controls button,.checkout-coupon-control button,.settlement-inline-form>button,.consignee-profit-form>button,.cashier-open-form>button{background:var(--button-primary)!important;border:1px solid var(--button-primary)!important;color:var(--button-primary-text)!important}
.primary-button:hover,.filter-button:hover,.master-add:hover,.camera-scan-button:hover,.document-button:hover,.report-print-controls button:hover,.checkout-coupon-control button:hover,.settlement-inline-form>button:hover,.consignee-profit-form>button:hover,.cashier-open-form>button:hover{background:var(--button-primary-hover)!important;border-color:var(--button-primary-hover)!important;color:var(--theme-button-hover-text,#fff)!important}
.reset-button,.edit-action,.text-button,.invoice-button,.row-actions button:not(.delete-action),.row-actions a,.period-presets button,.page-buttons button,.chart-period-controls button{background:var(--button-secondary)!important;border:1px solid var(--button-border)!important;color:var(--button-secondary-text)!important}
.reset-button:hover,.edit-action:hover,.text-button:hover,.invoice-button:hover,.row-actions button:not(.delete-action):hover,.row-actions a:hover,.period-presets button:hover,.page-buttons button:hover,.chart-period-controls button:hover{background:var(--button-secondary-hover)!important;border-color:#cfae8b!important;color:#7f461e!important}
.page-buttons button.active,.page-buttons button[aria-current=page],.period-presets button.active,.chart-period-controls button.active{background:var(--button-primary)!important;border-color:var(--button-primary)!important;color:#fff!important}
.delete-action,.danger-button{background:var(--button-danger-bg)!important;border:1px solid #efcfd3!important;color:var(--button-danger)!important}.delete-action:hover,.danger-button:hover{background:#fde9eb!important;border-color:#d998a0!important;color:#8f3540!important}
.primary-button,.filter-button,.master-add,.camera-scan-button,.document-button,.reset-button,.edit-action,.delete-action,.danger-button,.text-button,.invoice-button,.row-actions button,.row-actions a,.period-presets button,.page-buttons button,.chart-period-controls button,.report-print-controls button,.checkout-coupon-control button{border-radius:8px!important;box-shadow:none;transition:background-color .16s,border-color .16s,color .16s,transform .16s,box-shadow .16s!important}
button:focus-visible,a:focus-visible{outline:3px solid color-mix(in srgb,var(--theme-button,#b96d2e) 25%,transparent)!important;outline-offset:2px}.primary-button:disabled,.filter-button:disabled,.master-add:disabled,.camera-scan-button:disabled,.document-button:disabled,.reset-button:disabled,.row-actions button:disabled{cursor:not-allowed!important;opacity:.5!important;transform:none!important;box-shadow:none!important}

.style-preview-button{background:var(--theme-button,#b96d2e)!important;color:var(--theme-button-text,#fff)!important}

/* Halaman khusus pemegang saham dan dividen. */
.dividend-layout{display:grid;grid-template-columns:minmax(320px,620px);margin-bottom:20px}.dividend-layout .compact-form{width:100%}.dividend-history-table{min-width:850px}@media(max-width:700px){.dividend-layout{grid-template-columns:1fr}}

/* Tampilan POS modern untuk transaksi penjualan. */
#checkoutPanel{--pos-green:var(--theme-button,#b96d2e);--pos-surface:#f5f6f7;--pos-border:#e7e9ea}.checkout-category-filters{display:flex;gap:7px;margin:12px 0 14px;padding-bottom:3px;overflow-x:auto;scrollbar-width:thin}.checkout-category-filters button{flex:none;min-height:34px;padding:0 12px;border:1px solid #dfe3e5;border-radius:18px;background:#fff;color:#687079;font-size:10px;font-weight:800}.checkout-category-filters button:hover,.checkout-category-filters button.active{border-color:var(--pos-green);background:color-mix(in srgb,var(--pos-green) 9%,#fff);color:var(--pos-green)}.checkout-category-filters button small{font-size:9px;opacity:.72}.pos-product-search{position:relative}.pos-product-search:before{content:'⌕';position:absolute;z-index:1;left:13px;bottom:8px;color:#8a929a;font-size:23px;font-weight:400}.pos-product-search input{padding-left:42px!important}
@media(min-width:900px){
  #checkoutPanel .section-intro{margin-bottom:14px;padding:0 2px}#checkoutPanel .section-intro h2{margin-block:3px;font-size:24px}#checkoutPanel .section-intro p{font-size:11px}
  #checkoutPanel .checkout-layout{display:grid;grid-template-columns:minmax(390px,.78fr) minmax(520px,1.35fr);grid-template-areas:'customer catalog' 'cart catalog' 'payment catalog';gap:12px 16px;align-items:start}
  #checkoutPanel .checkout-main{display:contents}
  #checkoutPanel .checkout-customer{grid-area:customer;grid-template-columns:145px minmax(0,1fr);gap:10px;padding:16px;border-radius:14px}
  #checkoutPanel .customer-info{padding:9px 11px}
  #checkoutPanel .product-picker{grid-area:catalog;position:sticky;top:118px;max-height:calc(100dvh - 135px);padding:16px;border-radius:14px;background:var(--pos-surface);overflow:auto}
  #checkoutPanel .product-picker>.scan-inline{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin:0 0 12px}
  #checkoutPanel .product-picker>.scan-inline .scanner-field{min-width:0}
  #checkoutPanel .product-picker-results{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-height:none;margin-top:0;overflow:visible}
  #checkoutPanel .product-picker-results>button{display:grid;grid-template-columns:1fr;grid-template-rows:105px auto auto;align-items:start;gap:7px;min-width:0;min-height:190px;padding:10px;border:1px solid #eceeef;border-radius:14px;background:#fff;text-align:center;box-shadow:0 4px 14px #27345a08}
  #checkoutPanel .product-picker-results>button:hover{border-color:color-mix(in srgb,var(--pos-green) 52%,#dfe3e5);background:#fff;transform:translateY(-2px);box-shadow:0 9px 22px #27345a12}
  #checkoutPanel .product-picker-results img,#checkoutPanel .product-picker-results .picker-image-empty{width:100%;height:105px;border-radius:10px;object-fit:contain;background:#fafafa}
  #checkoutPanel .product-picker-results>button>span:not(.picker-image-empty){display:grid;gap:3px;align-self:start;min-width:0;text-align:center}
  #checkoutPanel .product-picker-results>button strong{display:-webkit-box;overflow:hidden;color:#2e343a;font-size:11px;line-height:1.3;-webkit-box-orient:vertical;-webkit-line-clamp:2}
  #checkoutPanel .product-picker-results>button small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}
  #checkoutPanel .product-picker-results>button>b{color:var(--pos-green);font-size:11px;text-align:center;white-space:nowrap}
  #checkoutPanel .checkout-cart{grid-area:cart;padding:0;border-radius:14px;overflow:hidden}
  #checkoutPanel .checkout-cart:before{content:'Keranjang Belanja';display:block;padding:15px 17px;border-bottom:1px solid var(--pos-border);color:#2f353b;font-size:14px;font-weight:900}
  #checkoutPanel .checkout-cart .table-wrap{max-height:360px;overflow:auto}
  #checkoutPanel .checkout-table{min-width:680px}.checkout-table th{padding:10px 8px;font-size:9px}.checkout-table td{padding:9px 8px}.checkout-product-cell{min-width:170px}.checkout-product-cell img,.checkout-product-cell>.picker-image-empty{width:38px;height:38px}
  #checkoutPanel .checkout-payment{grid-area:payment;position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:16px;border-radius:14px;border-top:4px solid var(--pos-green);max-height:none;overflow:visible}
  #checkoutPanel .checkout-payment>.eyebrow,#checkoutPanel .checkout-payment>.checkout-totals,#checkoutPanel .checkout-payment>.checkout-print-settings,#checkoutPanel .checkout-payment>.checkout-change-box,#checkoutPanel .checkout-payment>.form-error,#checkoutPanel .checkout-payment>.form-actions{grid-column:1/-1}
  #checkoutPanel .checkout-payment>.checkout-totals{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;padding:12px 0}
  #checkoutPanel .checkout-totals>div{min-height:31px;align-items:center;padding:5px 0}
  #checkoutPanel .checkout-totals>label{grid-template-columns:minmax(0,1fr) 100px;gap:8px}
  #checkoutPanel .checkout-totals .checkout-coupon-field,#checkoutPanel .checkout-totals .grand-total{grid-column:1/-1}
  #checkoutPanel .checkout-totals .grand-total{padding:12px!important;border:0!important;border-radius:10px;background:color-mix(in srgb,var(--pos-green) 10%,#fff)}
  #checkoutPanel .checkout-payment input,#checkoutPanel .checkout-payment select,#checkoutPanel .checkout-payment textarea,#checkoutPanel .checkout-customer input,#checkoutPanel .checkout-customer select{min-height:40px;border-radius:8px}
  #checkoutPanel .checkout-payment .form-actions{position:static;display:grid;grid-template-columns:.65fr 1.35fr;gap:9px;margin:3px 0 0;padding:0;background:none}
  #checkoutPanel .checkout-payment .form-actions button{min-height:47px;border-radius:24px!important}
}

.profile-hero-preview{display:grid;gap:12px;padding:14px;border:1px solid #e8dfd1;border-radius:12px;background:#fffaf2}.profile-hero-preview>img{display:block;width:100%;max-height:380px;aspect-ratio:16/7;object-fit:cover;border-radius:9px;background:#f5eddf}.profile-hero-preview .check-field{display:flex;align-items:center;gap:9px;color:#665947;font-size:11px;font-weight:800}.profile-hero-preview .check-field input{width:18px;height:18px;min-height:18px;accent-color:var(--theme-button)}

/* Panel sidebar dapat dilipat naik/turun. */
.nav-group-toggle{display:flex!important;align-items:center;justify-content:space-between;width:100%;border:0;font-family:inherit;text-align:left;cursor:pointer}.nav-group-toggle>b{position:relative;display:block;width:25px;height:25px;flex:none;border:1px solid rgba(255,255,255,.16);border-radius:9px;background:rgba(255,255,255,.1);color:inherit;transition:background .18s ease,border-color .18s ease}.nav-group-toggle>b:before,.nav-group-toggle>b:after{content:'';position:absolute;left:7px;right:7px;top:11px;height:1.5px;border-radius:4px;background:currentColor;transition:opacity .18s ease,transform .18s ease}.nav-group-toggle>b:after{transform:rotate(90deg)}.nav-group:not(.collapsed) .nav-group-toggle>b:after{opacity:0;transform:rotate(90deg) scale(.4)}.nav-group-toggle:hover>b{border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.17)}.nav-group.collapsed{padding-bottom:0!important}.nav-group.collapsed>.nav-button{display:none!important}.nav-group.collapsed .nav-group-toggle{border-radius:10px!important}@media(min-width:1201px){.nav-group-toggle>b{border-color:#e5d7c4;background:#fffaf1;color:#86632d}.nav-group-toggle:hover>b{border-color:#d7bd91;background:#fff1cf}}

/* Chevron indicator for expanded and collapsed sidebar groups */
.nav-group-toggle>b:before{content:'';position:absolute;left:8px;top:7px;width:7px;height:7px;border-right:1.8px solid currentColor;border-bottom:1.8px solid currentColor;background:transparent;transform:rotate(45deg);transition:transform .18s ease,top .18s ease}
.nav-group-toggle>b:after{display:none}
.nav-group:not(.collapsed) .nav-group-toggle>b:before{top:10px;transform:rotate(225deg)}

/* Tampilkan/sembunyikan data pelanggan di POS. */
.checkout-customer-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.checkout-customer-toggle span{font-size:16px}.checkout-left-rail.customer-hidden>.checkout-customer{display:none!important}.checkout-left-rail.customer-hidden>.checkout-cart{margin-top:0!important}
@media(max-width:700px){.checkout-customer-toggle{width:100%}.checkout-head-actions{display:grid;grid-template-columns:1fr}.checkout-head-actions .checkout-change{grid-column:1}.pos-printer-menu{width:100%}}

/* Urutan POS tablet dan ponsel: produk, pesanan, pembayaran. */
@media(max-width:1199px){
  #checkoutPanel .checkout-layout{display:flex!important;flex-direction:column;gap:13px}
  #checkoutPanel .checkout-main,#checkoutPanel .checkout-left-rail{display:contents!important}
  #checkoutPanel .product-picker{order:1!important;position:static!important;width:100%;max-height:none!important}
  #checkoutPanel .checkout-cart{order:2!important;width:100%;margin:0!important}
  #checkoutPanel .checkout-payment{order:3!important;position:static!important;width:100%;max-height:none!important;overflow:visible!important}
  #checkoutPanel .checkout-customer{order:4!important;width:100%;margin:0!important}
  #checkoutPanel .checkout-payment .form-actions{position:sticky!important;left:auto!important;right:auto!important;bottom:8px!important;width:100%!important;margin:8px 0 0!important}
}

#checkoutPanel .checkout-payment{border-top:1px solid #e9e2d8!important}

#checkoutPanel .checkout-payment .form-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch!important;gap:10px!important}
#checkoutPanel .checkout-payment .form-actions button{width:100%!important;height:48px!important;margin:0!important}

/* Tombol akhir transaksi mengikuti komponen tombol utama. */
#checkoutPanel .checkout-payment .form-actions button{min-height:46px!important;padding:10px 16px!important;border-radius:12px!important;font-size:12px!important;font-weight:850!important;line-height:1.2!important;box-shadow:none!important}
#checkoutPanel .checkout-payment .form-actions button[type="submit"]{border:1px solid var(--button-primary)!important;background:var(--button-primary)!important;color:var(--button-primary-text)!important}
#checkoutPanel .checkout-payment .form-actions button[type="submit"]:hover{border-color:var(--button-primary-hover)!important;background:var(--button-primary-hover)!important;color:var(--theme-button-hover-text,#fff)!important}

/* Sidebar utility links stay legible on hover */
@media(min-width:1201px){.side-bottom .store-link:hover,.side-bottom .logout-button:hover{background:color-mix(in srgb,var(--theme-button,#c88700) 13%,#fff)!important;color:var(--theme-button,#c88700)!important}}

/* Center the login card on phones while retaining safe scrolling on short screens. */
@media(max-width:740px){
  .login-view{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr)!important;place-items:center;gap:0!important;width:100%;height:100dvh;min-height:100svh;padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom));overflow-x:hidden;overflow-y:auto}
  .login-card{align-self:center;width:min(100%,500px);max-width:500px;max-height:none;margin:auto;padding:26px 22px 24px}
}
@media(max-width:380px),(max-height:620px) and (max-width:740px){
  .login-view{place-items:start center}
  .login-card{align-self:start}
}

/* Compact dashboard welcome illustration. */
.welcome-symbol{width:88px;height:88px;flex-basis:88px;margin-right:12px;border-radius:24px}
.welcome-symbol svg{width:52px;height:52px}
@media(max-width:700px){.welcome-symbol{right:14px;width:58px;height:58px;flex-basis:58px;border-radius:17px;opacity:.16}.welcome-symbol svg{width:34px;height:34px}}

/* Keep the POS search icon in its own space. */
#checkoutPanel .product-picker .pos-product-search:before{left:16px;bottom:10px;z-index:2;width:21px;text-align:center;line-height:24px;pointer-events:none}
#checkoutPanel .product-picker .pos-product-search input[type="search"]{padding:0 14px 0 50px!important}

/* Give the product catalog the largest share of the desktop POS. */
@media(min-width:1200px){
  #checkoutPanel .checkout-layout{grid-template-columns:minmax(255px,.58fr) minmax(560px,1.65fr) minmax(320px,.75fr);gap:12px}
  #checkoutPanel .product-picker{padding:18px}
  #checkoutPanel .product-picker-results{gap:12px}
}
@media(min-width:1600px){
  #checkoutPanel .checkout-layout{grid-template-columns:minmax(280px,.58fr) minmax(680px,1.72fr) minmax(340px,.76fr)}
}
@media(min-width:900px){#checkoutPanel{margin-top:-22px}#checkoutPanel .section-intro{margin-bottom:10px}}

/* Tata letak ringkasan pembayaran yang lebih teratur. */
@media(min-width:900px){
  #checkoutPanel .checkout-payment>.eyebrow{padding-bottom:10px;border-bottom:1px solid #eceef1}
  #checkoutPanel .checkout-payment>.checkout-totals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;padding:8px 0 2px;border:0}
  #checkoutPanel .checkout-totals>div:not(.grand-total){display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;padding:9px 11px;border:1px solid #ece8e3;border-radius:10px;background:#fcfbfa}
  #checkoutPanel .checkout-totals>div:not(.grand-total)>span{min-width:0;color:#5a647c;font-size:11px}
  #checkoutPanel .checkout-totals>div:not(.grand-total)>strong{flex:none;color:var(--theme-primary);font-size:14px}
  #checkoutPanel .checkout-totals>label{display:grid;grid-template-columns:1fr!important;align-content:start;gap:6px!important;min-width:0;padding:0;color:#687188;font-size:10px;font-weight:800}
  #checkoutPanel .checkout-totals>label>input,#checkoutPanel .checkout-totals>label>select{width:100%;min-width:0;min-height:40px}
  #checkoutPanel .checkout-totals>div:nth-child(7){grid-column:1/-1}
  #checkoutPanel .checkout-totals .checkout-coupon-field{grid-column:1/-1!important;padding:11px;border:1px solid #e8e2dc;border-radius:11px;background:#fffaf5}
  #checkoutPanel .checkout-coupon-control{grid-template-columns:minmax(0,1fr) 126px;gap:9px}
  #checkoutPanel .checkout-coupon-control button{width:100%;min-height:42px}
  #checkoutPanel .checkout-totals>div:nth-child(9){grid-column:1}
  #checkoutPanel .checkout-totals>label:nth-child(10){grid-column:2;grid-row:auto}
  #checkoutPanel .checkout-totals>label:nth-child(11){grid-column:1}
  #checkoutPanel .checkout-totals>div:nth-child(12){grid-column:2}
  #checkoutPanel .checkout-totals .grand-total{grid-column:1/-1!important;display:flex;align-items:center;justify-content:space-between;min-height:58px;margin-top:2px;padding:12px 14px!important;border:1px solid #e8e0d9!important;border-radius:12px!important;background:linear-gradient(135deg,#faf7f4,#f1eeeb)!important}
  #checkoutPanel .checkout-totals .grand-total span{font-size:14px;font-weight:850}
  #checkoutPanel .checkout-totals .grand-total strong{font-size:23px}
}
@media(min-width:900px) and (max-width:1250px){#checkoutPanel .checkout-layout{grid-template-columns:minmax(360px,.82fr) minmax(430px,1.18fr)}#checkoutPanel .product-picker-results{grid-template-columns:repeat(3,minmax(0,1fr))}#checkoutPanel .product-picker-results>button{grid-template-rows:90px auto auto;min-height:172px}#checkoutPanel .product-picker-results img,#checkoutPanel .product-picker-results .picker-image-empty{height:90px}}
@media(max-width:899px){#checkoutPanel .checkout-category-filters{margin-bottom:11px}#checkoutPanel .product-picker-results{grid-template-columns:repeat(2,minmax(0,1fr))}#checkoutPanel .product-picker-results button{min-width:0}#checkoutPanel .product-picker-results b{grid-column:auto!important}}
@media(max-width:480px){#checkoutPanel .product-picker-results{grid-template-columns:1fr}.checkout-category-filters button{min-height:38px}}

/* Posisi pembayaran POS di sisi kanan dan menyesuaikan tinggi layar. */
@media(min-width:1200px){
  #checkoutPanel .checkout-layout{grid-template-columns:minmax(320px,.8fr) minmax(440px,1.2fr) minmax(310px,.72fr);grid-template-areas:'customer catalog payment' 'cart catalog payment';gap:14px;align-items:start}
  #checkoutPanel .checkout-payment{grid-area:payment;position:sticky;top:118px;max-height:calc(100dvh - 134px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
  #checkoutPanel .product-picker{grid-area:catalog;position:sticky;top:118px;max-height:calc(100dvh - 134px)}
  #checkoutPanel .product-picker-results{grid-template-columns:repeat(3,minmax(0,1fr))}
  #checkoutPanel .checkout-cart .table-wrap{max-height:calc(100dvh - 390px);min-height:190px}
}
@media(min-width:1500px){#checkoutPanel .product-picker-results{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:900px) and (max-width:1199px){
  #checkoutPanel .checkout-layout{grid-template-columns:minmax(0,1.25fr) minmax(310px,.72fr);grid-template-areas:'catalog payment' 'customer payment' 'cart payment';gap:13px}
  #checkoutPanel .checkout-payment{grid-area:payment;position:sticky;top:118px;max-height:calc(100dvh - 134px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
  #checkoutPanel .product-picker{grid-area:catalog;position:static;max-height:none}
  #checkoutPanel .product-picker-results{grid-template-columns:repeat(3,minmax(0,1fr));max-height:430px;overflow-y:auto}
  #checkoutPanel .checkout-customer{grid-area:customer}
  #checkoutPanel .checkout-cart{grid-area:cart}
}

/* Kolom informasi dan keranjang sejajar tanpa grid implisit. */
@media(min-width:900px){
  #checkoutPanel .checkout-left-rail{display:flex;flex-direction:column;align-items:stretch;gap:14px;width:100%;min-width:0}
  #checkoutPanel .checkout-left-rail>.checkout-customer,#checkoutPanel .checkout-left-rail>.checkout-cart{grid-area:auto!important;grid-column:auto!important;grid-row:auto!important;width:100%;min-width:0;margin:0}
  #checkoutPanel .checkout-left-rail>.checkout-customer{display:grid;grid-template-columns:1fr!important;gap:11px;padding:16px}
  #checkoutPanel .checkout-left-rail>.checkout-customer .customer-info{grid-column:1!important;width:100%}
  #checkoutPanel .checkout-left-rail>.checkout-customer input,#checkoutPanel .checkout-left-rail>.checkout-customer select{width:100%;min-width:0}
  #checkoutPanel .checkout-left-rail>.checkout-cart{align-self:stretch}
}

/* Bentuk tombol seragam: bidang lembut, sudut membulat, dan tinggi konsisten. */
.primary-button,.filter-button,.master-add,.camera-scan-button,.document-button,.reset-button,.edit-action,.delete-action,.danger-button,.text-button,.invoice-button,.row-actions button,.row-actions a,.period-presets button,.page-buttons button,.chart-period-controls button,.report-print-controls button,.checkout-coupon-control button,.pos-printer-menu>summary{min-height:42px;padding:9px 16px!important;border-radius:12px!important;font-weight:850!important;line-height:1.2}
.checkout-coupon-control button{background:var(--button-primary)!important;border-color:var(--button-primary)!important;color:var(--button-primary-text)!important}.checkout-payment .form-actions button{min-height:46px!important;border-radius:12px!important}

/* Pembayaran mengikuti scroll halaman; tombol transaksi tetap mudah dijangkau. */
@media(min-width:900px){
  #checkoutPanel .checkout-payment{max-height:none!important;overflow:visible!important;overscroll-behavior:auto!important;scrollbar-width:auto;align-content:start}
  #checkoutPanel .checkout-payment .form-actions{position:sticky!important;z-index:12;bottom:12px;margin:5px -8px -8px!important;padding:10px 8px 8px!important;border-top:1px solid #ece3da;background:linear-gradient(to bottom,rgba(255,255,255,.93),#fff 28%);box-shadow:0 -8px 18px rgba(55,43,33,.06)}
}
@media(max-height:760px) and (min-width:900px){#checkoutPanel .checkout-payment,#checkoutPanel .product-picker{top:108px;max-height:calc(100dvh - 118px)}#checkoutPanel .checkout-payment{padding:13px;gap:8px}#checkoutPanel .checkout-payment>.checkout-totals{padding:8px 0;gap:5px 11px}}

/* POS cashier-first: keranjang kiri, katalog utama, pembayaran tetap di kanan. */
@media(min-width:1200px){
  #checkoutPanel .checkout-layout{grid-template-columns:minmax(300px,.78fr) minmax(430px,1.28fr) minmax(300px,.76fr);gap:14px}
  #checkoutPanel .checkout-customer{align-content:start;background:#fffaf4;border-color:#efe2d3}
  #checkoutPanel .checkout-cart{background:#fff;box-shadow:0 7px 24px rgba(58,45,33,.06)}
  #checkoutPanel .checkout-cart:before{content:'Pesanan saat ini';background:#fffaf4;color:#5c4431;letter-spacing:.01em}
  #checkoutPanel .checkout-cart .table-wrap{max-height:calc(100dvh - 392px);min-height:210px;padding:0 12px 12px;overflow-y:auto;overflow-x:hidden}
  #checkoutPanel .checkout-table{display:block;min-width:0;width:100%}
  #checkoutPanel .checkout-table thead{display:none}
  #checkoutPanel .checkout-table tbody{display:grid;gap:9px;padding-top:11px}
  #checkoutPanel .checkout-table tr{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:11px;border:1px solid #eee7df;border-radius:11px;background:#fff}
  #checkoutPanel .checkout-table td{display:grid;grid-template-columns:1fr;gap:3px;min-width:0;padding:0;border:0;text-align:left}
  #checkoutPanel .checkout-table td:before{color:#9a8a7c;font-size:8px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
  #checkoutPanel .checkout-table td:nth-child(1){grid-column:1/-1;padding-bottom:8px;border-bottom:1px dashed #e7ddd2}
  #checkoutPanel .checkout-table td:nth-child(2):before{content:'Harga'}
  #checkoutPanel .checkout-table td:nth-child(3):before{content:'Diskon'}
  #checkoutPanel .checkout-table td:nth-child(4):before{content:'Qty'}
  #checkoutPanel .checkout-table td:nth-child(5):before{content:'Pajak'}
  #checkoutPanel .checkout-table td:nth-child(6){grid-column:1/4;align-content:end}
  #checkoutPanel .checkout-table td:nth-child(6):before{content:'Subtotal'}
  #checkoutPanel .checkout-table td:nth-child(7){align-content:end}
  #checkoutPanel .checkout-table td:nth-child(7) button{width:100%;min-height:34px;padding:6px}
  #checkoutPanel .checkout-table input{width:100%;height:35px;padding:6px;text-align:right}
  #checkoutPanel .checkout-table .empty-row{display:block;grid-column:1/-1;padding:34px 10px;text-align:center;color:#92877e}
  #checkoutPanel .checkout-product-cell{min-width:0}.checkout-product-cell img,#checkoutPanel .checkout-product-cell>.picker-image-empty{width:42px;height:42px}
  #checkoutPanel .product-picker{background:#f6f7f7;border-color:#e8e9e8;box-shadow:0 7px 24px rgba(45,54,50,.05)}
  #checkoutPanel .product-picker-results{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
  #checkoutPanel .checkout-payment{background:#fff;border-top-color:var(--pos-green);box-shadow:0 7px 24px rgba(45,54,50,.07)}
  #checkoutPanel .checkout-payment>.eyebrow{font-size:11px;color:var(--pos-green)}
  #checkoutPanel .checkout-totals .grand-total strong{font-size:22px}
}
@media(min-width:1500px){
  #checkoutPanel .checkout-layout{grid-template-columns:minmax(330px,.82fr) minmax(540px,1.42fr) minmax(330px,.78fr)}
  #checkoutPanel .product-picker-results{grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* Menu printer POS di sudut kanan atas. */
.checkout-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.pos-printer-menu{position:relative;z-index:40}.pos-printer-menu>summary{display:flex;align-items:center;gap:7px;min-height:42px;padding:0 14px;border:1px solid var(--button-border);border-radius:9px;background:#fff;color:var(--button-secondary-text);font-size:12px;font-weight:900;cursor:pointer;list-style:none}.pos-printer-menu>summary::-webkit-details-marker{display:none}.pos-printer-menu[open]>summary{border-color:var(--theme-button);background:color-mix(in srgb,var(--theme-button) 8%,#fff);color:var(--theme-button)}.pos-printer-menu>.checkout-print-settings{position:absolute;top:calc(100% + 8px);right:0;width:min(330px,calc(100vw - 30px));padding:17px;border:1px solid #e8ded3;border-radius:12px;background:#fff;box-shadow:0 18px 50px rgba(51,42,34,.18)}.pos-printer-menu>.checkout-print-settings>strong{color:#3d332c;font-size:14px}.pos-printer-menu>.checkout-print-settings label{display:grid;gap:6px;color:#62584f;font-size:11px;font-weight:800}.pos-printer-menu>.checkout-print-settings .check-field{display:flex}.pos-printer-menu>.checkout-print-settings select{min-height:40px;border-radius:8px}
.checkout-date-field{display:grid;grid-template-columns:auto minmax(132px,156px);align-items:center;gap:8px;min-height:42px;padding:5px 7px 5px 11px;border:1px solid var(--button-border);border-radius:9px;background:#fff;color:#756557;font-size:10px;font-weight:900;text-transform:uppercase}.checkout-date-field input{width:100%;min-height:30px;padding:3px 7px;border:0;border-radius:6px;background:#faf7f3;color:#3f342b;font:inherit;font-size:11px}.checkout-payment-balance{display:grid;gap:8px}.checkout-debt-box{display:flex;justify-content:space-between;padding:14px;border:1px solid #efc8c3;border-radius:8px;background:#fff5f3;color:#a3483f}.checkout-debt-box strong{color:#a3483f}.checkout-payment-balance>small{color:#8a796c!important}.checkout-change.has-debt{color:#a3483f}
.settlement-history>.card-heading{margin-bottom:18px}.settlement-history-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:130px;height:40px!important;border-radius:9px!important}.settlement-history-toggle b{display:grid;width:23px;height:23px;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--theme-button,#c88700) 12%,#fff);color:var(--theme-button,#c88700);font-size:15px;line-height:1}.settlement-history-content{overflow:hidden}.settlement-history.is-collapsed{padding-bottom:18px}.settlement-history.is-collapsed>.card-heading{margin-bottom:0}.settlement-history.is-collapsed .settlement-history-toggle{border-color:color-mix(in srgb,var(--theme-button,#c88700) 30%,#ddd);color:var(--theme-button,#c88700)}
@media(max-width:600px){.settlement-history>.card-heading{align-items:center;gap:12px}.settlement-history-toggle{min-width:112px;padding-inline:10px!important}.settlement-history-toggle span{font-size:11px}}
.settlement-form>.filter-button,.settlement-form>.settlement-history-open{width:100%;min-height:44px}.settlement-form>.settlement-history-open{margin-top:-3px;border-color:color-mix(in srgb,var(--theme-button,#c88700) 35%,#ddd);color:var(--theme-button,#c88700);background:color-mix(in srgb,var(--theme-button,#c88700) 6%,#fff)}.settlement-form>.settlement-history-open:hover{background:color-mix(in srgb,var(--theme-button,#c88700) 13%,#fff)}.settlement-history-dialog{width:min(1280px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 40px);padding:0;border:1px solid #e7ddd3;border-radius:17px;background:#fff;box-shadow:0 28px 90px rgba(46,37,29,.28);overflow:hidden}.settlement-history-dialog::backdrop{background:rgba(36,30,24,.48);backdrop-filter:blur(4px)}.settlement-history-dialog-body{max-height:calc(100dvh - 126px);padding:20px;overflow:auto}.settlement-history-dialog .table-wrap{border:1px solid #eee8e2;border-radius:12px}.settlement-history-dialog table{min-width:960px}.settlement-history-dialog th{position:sticky;top:0;z-index:1}.settlement-history-dialog .checkout-dialog-head{position:sticky;top:0}
@media(max-width:700px){.settlement-history-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:13px}.settlement-history-dialog-body{max-height:calc(100dvh - 88px);padding:12px}.settlement-form>.settlement-history-open{margin-top:0}}
@media(max-width:700px){.checkout-head-actions{width:100%;align-items:stretch;flex-direction:column}.checkout-date-field{grid-template-columns:auto 1fr;width:100%;min-height:44px}.pos-printer-menu>summary{justify-content:center}.pos-printer-menu>.checkout-print-settings{position:fixed;z-index:100;top:76px;right:12px;left:12px;width:auto;max-height:calc(100dvh - 100px);overflow:auto}.checkout-head-actions .checkout-change{width:100%}}

/* Menjaga keranjang tepat di bawah informasi pelanggan. */
.checkout-left-rail{display:grid;gap:14px;align-content:start;min-width:0}
@media(min-width:1200px){
  #checkoutPanel .checkout-layout{grid-template-columns:minmax(0,1fr) minmax(300px,.76fr);grid-template-areas:'main payment';align-items:start}
  #checkoutPanel .checkout-main{grid-area:main;display:grid;grid-template-columns:minmax(300px,.78fr) minmax(430px,1.28fr);gap:14px;align-items:start}
  #checkoutPanel .checkout-left-rail{grid-column:1;grid-row:1}
  #checkoutPanel .checkout-customer{grid-area:auto}
  #checkoutPanel .product-picker{grid-area:auto;grid-column:2;grid-row:1;position:sticky;top:118px}
  #checkoutPanel .checkout-cart{padding:0;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 7px 24px rgba(58,45,33,.06)}
  #checkoutPanel .checkout-cart:before{content:'Pesanan saat ini';display:block;padding:15px 17px;border-bottom:1px solid var(--pos-border);background:#fffaf4;color:#5c4431;font-size:14px;font-weight:900;letter-spacing:.01em}
  #checkoutPanel .checkout-cart .table-wrap{max-height:calc(100dvh - 392px);min-height:210px;padding:0 12px 12px;overflow-y:auto;overflow-x:hidden}
}
@media(min-width:900px) and (max-width:1199px){
  #checkoutPanel .checkout-main{display:grid;grid-template-columns:1fr;gap:13px}
  #checkoutPanel .checkout-left-rail{grid-row:2}
  #checkoutPanel .product-picker{grid-row:1}
  #checkoutPanel .checkout-cart:before{content:'Pesanan saat ini';display:block;padding:14px 16px;border-bottom:1px solid var(--pos-border);font-weight:900}
}

/* Proporsi POS dan tombol transaksi yang selalu terlihat. */
@media(min-width:1200px){
  #checkoutPanel{padding-bottom:82px}
  #checkoutPanel .checkout-layout{grid-template-columns:minmax(0,1fr) clamp(430px,30vw,560px);gap:14px}
  #checkoutPanel .checkout-main{grid-template-columns:clamp(330px,23vw,410px) minmax(430px,1fr);gap:14px}
  #checkoutPanel .checkout-customer{grid-template-columns:minmax(150px,.8fr) minmax(175px,1.2fr);padding:14px;gap:9px 12px}
  #checkoutPanel .checkout-cart .table-wrap{min-height:190px}
  #checkoutPanel .checkout-payment{position:sticky;top:104px;padding:14px;gap:8px}
  #checkoutPanel .checkout-payment>.checkout-totals{gap:5px 12px;padding:8px 0}
  #checkoutPanel .checkout-totals>div{min-height:26px;padding:3px 0}
  #checkoutPanel .checkout-totals .grand-total{padding:9px 11px!important}
  #checkoutPanel .checkout-payment>label{gap:5px}
  #checkoutPanel .checkout-payment input,#checkoutPanel .checkout-payment select{min-height:38px}
  #checkoutPanel .checkout-payment textarea{min-height:48px;max-height:58px;resize:vertical}
  #checkoutPanel .checkout-payment .form-actions{position:fixed!important;right:22px;bottom:14px;width:clamp(410px,calc(30vw - 18px),542px);display:grid;grid-template-columns:.72fr 1.28fr;gap:9px;margin:0!important;padding:10px;border:1px solid #e8ded3;border-radius:15px;background:rgba(255,255,255,.96);box-shadow:0 12px 38px rgba(48,39,31,.2);backdrop-filter:blur(10px)}
}
@media(min-width:1500px){
  #checkoutPanel .checkout-main{grid-template-columns:clamp(360px,22vw,430px) minmax(520px,1fr)}
}
@media(min-width:900px) and (max-width:1199px){
  #checkoutPanel{padding-bottom:80px}
  #checkoutPanel .checkout-payment .form-actions{position:fixed!important;right:18px;bottom:12px;width:clamp(300px,38vw,430px);margin:0!important;padding:9px;border:1px solid #e8ded3;border-radius:14px;background:rgba(255,255,255,.96);box-shadow:0 10px 32px rgba(48,39,31,.18);backdrop-filter:blur(10px)}
}

/* Sidebar desktop dapat dilipat agar area kerja dan katalog POS lebih luas. */
@media(min-width:1201px){
  .admin-layout{transition:grid-template-columns .24s ease}
  .sidebar-toggle{display:grid}
  .admin-layout .top-header{left:278px;width:auto;transition:left .24s ease,width .24s ease}
  .admin-layout.sidebar-collapsed .top-header{left:0;width:100%}
  .admin-layout>.sidebar{transition:width .24s ease,padding .24s ease,transform .24s ease,opacity .16s ease}
  .admin-layout.sidebar-collapsed{grid-template-columns:0 minmax(0,1fr)!important}
  .admin-layout.sidebar-collapsed>.sidebar{width:0!important;padding-left:0!important;padding-right:0!important;overflow:hidden;transform:translateX(-100%);opacity:0;pointer-events:none}
  .admin-layout.sidebar-collapsed .content{max-width:1900px}
  .admin-layout.sidebar-collapsed #checkoutPanel .checkout-layout{grid-template-columns:minmax(0,1fr) clamp(410px,27vw,520px)}
  .admin-layout.sidebar-collapsed #checkoutPanel .checkout-main{grid-template-columns:clamp(310px,21vw,390px) minmax(620px,1fr)}
  .admin-layout.sidebar-collapsed #checkoutPanel .product-picker-results{grid-template-columns:repeat(4,minmax(0,1fr))}
  .admin-layout.sidebar-collapsed #checkoutPanel .checkout-payment .form-actions{width:clamp(390px,calc(27vw - 18px),502px)}
}
@media(min-width:1750px){
  .admin-layout.sidebar-collapsed #checkoutPanel .product-picker-results{grid-template-columns:repeat(5,minmax(0,1fr))}
}

/* Atribut hidden harus selalu menang setelah pengguna berhasil masuk. */
#loginView[hidden]{display:none!important}

/* Sidebar tablet dan mobile memakai palet yang sama dengan sidebar desktop. */
@media(max-width:1200px){
  .sidebar{background:#fff;color:#252c35;border-right:1px solid #e7e7e7}
  .side-brand{color:#29334c;border-bottom-color:#ece7df}
  .side-nav{background:#fff}
  .nav-group,.nav-group:nth-child(n){overflow:visible;background:#fff6e9!important;border:1px solid #eddcc8!important;padding:0 0 8px!important}
  .nav-group-label{display:flex!important;align-items:center;justify-content:space-between;padding:10px 12px!important;border-radius:10px 10px 0 0;background:#343b3d!important;color:#fff!important}
  .nav-group.collapsed{padding-bottom:0!important}
  .nav-group.collapsed .nav-group-label{border-radius:10px!important}
  .nav-button{width:calc(100% - 14px)!important;margin-inline:7px;color:#56412f!important;border-radius:8px!important}
  .nav-button:hover,.nav-button.active{background:#f9c77f!important;color:#2f251d!important;box-shadow:none!important}
  .nav-group-toggle>b{border-color:#ffffff45;background:#ffffff17;color:#fff}
  .nav-group-toggle:hover>b{border-color:#ffffff70;background:#ffffff28}
  .side-bottom{border-top-color:#ece7df!important;background:#fff}
  .side-bottom .store-link,.side-bottom .logout-button{color:#6d5542!important;border-radius:8px}
  .side-bottom .store-link:hover,.side-bottom .logout-button:hover{background:color-mix(in srgb,var(--theme-button,#c88700) 13%,#fff)!important;color:var(--theme-button,#c88700)!important}
}

/* Pelanggan dan pesanan dibuka sebagai pop-up agar katalog menjadi area utama. */
.checkout-popup-trigger{display:inline-flex!important;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.checkout-popup-trigger>b{display:grid;min-width:20px;height:20px;padding:0 5px;place-items:center;border-radius:20px;background:var(--theme-button,#c88700);color:var(--theme-button-text,#fff);font-size:9px}.checkout-pos-dialog{width:min(760px,calc(100vw - 28px));max-width:none;max-height:min(82dvh,760px);padding:0;border:1px solid #e8ded3;border-radius:16px;background:#fff;box-shadow:0 24px 80px rgba(48,39,31,.24);overflow:hidden}.checkout-customer-dialog{width:min(620px,calc(100vw - 28px))}.checkout-pos-dialog::backdrop{background:rgba(36,30,24,.42);backdrop-filter:blur(3px)}.checkout-dialog-head{position:sticky;z-index:3;top:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 19px;border-bottom:1px solid #eee5dc;background:#fffaf5}.checkout-dialog-head h3{margin:4px 0 0;color:#3f342b;font-size:19px}.checkout-dialog-close{display:grid;width:38px;height:38px;flex:none;padding:0;place-items:center;border:1px solid #e2d4c5;border-radius:11px;background:#fff;color:#6d5542;font-size:24px;line-height:1}.checkout-pos-dialog>.section-card{margin:0;padding:19px;border:0;border-radius:0;box-shadow:none}.checkout-pos-dialog .checkout-cart:before{display:none!important}.checkout-cart-dialog>.checkout-cart{max-height:calc(82dvh - 78px);overflow:auto}.checkout-cart-dialog .table-wrap{max-height:none!important;min-height:180px;padding:0!important;overflow:auto!important}
@media(min-width:900px){
  #checkoutPanel .checkout-layout{grid-template-columns:minmax(0,1fr) clamp(400px,29vw,530px)!important;grid-template-areas:'main payment'!important;gap:14px!important}
  #checkoutPanel .checkout-main{display:block!important;grid-area:main!important;min-width:0}
  #checkoutPanel .product-picker{position:sticky!important;top:104px!important;width:100%!important;max-height:calc(100dvh - 118px)!important;grid-area:auto!important;grid-column:auto!important;grid-row:auto!important}
  #checkoutPanel .product-picker-results{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))!important;gap:12px!important}
}
@media(min-width:1500px){#checkoutPanel .product-picker-results{grid-template-columns:repeat(auto-fit,minmax(155px,1fr))!important}}
@media(max-width:899px){
  .checkout-head-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:8px}.checkout-head-actions .checkout-change{grid-column:1/-1}.checkout-head-actions .pos-printer-menu{width:100%}.checkout-head-actions .pos-printer-menu>summary{justify-content:center;height:100%}
  #checkoutPanel .checkout-main{display:block!important;width:100%}
  #checkoutPanel .product-picker{width:100%!important}
  .checkout-pos-dialog{max-height:calc(100dvh - 24px)}.checkout-cart-dialog>.checkout-cart{max-height:calc(100dvh - 86px)}
}
@media(max-width:520px){.checkout-head-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.checkout-head-actions .pos-printer-menu{grid-column:1/-1}.checkout-popup-trigger{padding-inline:9px!important}.checkout-pos-dialog{width:calc(100vw - 16px);border-radius:13px}.checkout-dialog-head{padding:14px}.checkout-pos-dialog>.section-card{padding:14px}}
@media(max-width:899px){.checkout-head-actions .checkout-date-field{grid-column:1/-1}}

/* Navigasi mobile penuh, tetap di bawah, dan selaras dengan tema kuning. */
@media(max-width:700px){
  .content{padding-bottom:calc(94px + env(safe-area-inset-bottom))!important}
  .mobile-bottom-nav{left:0!important;right:0!important;bottom:0!important;width:100%!important;min-height:76px;padding:8px 9px calc(8px + env(safe-area-inset-bottom))!important;border:0!important;border-top:1px solid #e8dccd!important;border-radius:18px 18px 0 0!important;background:linear-gradient(180deg,rgba(255,255,255,.97),#fffaf3)!important;box-shadow:0 -10px 34px rgba(65,46,27,.13)!important;backdrop-filter:blur(18px) saturate(1.15);grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:4px}
  .mobile-bottom-nav button{position:relative;min-height:57px;padding:6px 3px 5px!important;border:1px solid transparent!important;border-radius:13px!important;color:#806d5d!important;font-size:9px!important;font-weight:850!important;letter-spacing:.01em;transition:background-color .18s,color .18s,transform .18s,border-color .18s!important}
  .mobile-bottom-nav button span{display:grid;width:28px;height:25px;place-items:center;margin:auto;font-size:18px!important;line-height:1!important;transition:transform .18s}
  .mobile-bottom-nav button:hover{background:#fff4df!important;color:#7a4e20!important}
  .mobile-bottom-nav button.active{border-color:#efd4a5!important;background:linear-gradient(145deg,#ffe2a6,#f7c66f)!important;color:#3f2d1e!important;box-shadow:0 5px 14px rgba(164,104,31,.16)!important}
  .mobile-bottom-nav button.active span{transform:translateY(-1px)}
  .mobile-bottom-nav button.active:after{content:'';position:absolute;left:50%;bottom:4px;width:17px;height:2px;border-radius:4px;background:var(--theme-button,#c88700);transform:translateX(-50%)}
  .admin-toast{bottom:calc(88px + env(safe-area-inset-bottom))!important}
}

/* Isi pop-up pesanan menjadi kartu agar tidak terpotong pada mobile/tablet. */
@media(max-width:899px){
  .checkout-cart-dialog{width:min(560px,calc(100vw - 16px));overflow:hidden}
  .checkout-cart-dialog>.checkout-cart{padding:12px!important;overflow-y:auto!important;overflow-x:hidden!important}
  .checkout-cart-dialog .table-wrap{width:100%;overflow:visible!important}
  .checkout-cart-dialog .checkout-table{display:block!important;width:100%!important;min-width:0!important}
  .checkout-cart-dialog .checkout-table thead{display:none!important}
  .checkout-cart-dialog .checkout-table tbody{display:grid!important;gap:11px!important;width:100%;padding:0!important}
  .checkout-cart-dialog .checkout-table tr{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px 12px!important;width:100%;padding:13px!important;border:1px solid #eadfd4!important;border-radius:12px!important;background:#fff!important;box-shadow:0 5px 16px rgba(61,45,28,.06)!important}
  .checkout-cart-dialog .checkout-table td{display:grid!important;grid-template-columns:1fr!important;align-content:start;gap:4px!important;min-width:0!important;padding:0!important;border:0!important;text-align:left!important}
  .checkout-cart-dialog .checkout-table td:before{display:block;color:#9a8a7c;font-size:8px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
  .checkout-cart-dialog .checkout-table td:nth-child(1){grid-column:1/-1;padding-bottom:10px!important;border-bottom:1px dashed #e7ddd2!important}.checkout-cart-dialog .checkout-table td:nth-child(1):before{display:none}
  .checkout-cart-dialog .checkout-table td:nth-child(2):before{content:'Harga'}.checkout-cart-dialog .checkout-table td:nth-child(3):before{content:'Diskon'}.checkout-cart-dialog .checkout-table td:nth-child(4):before{content:'Jumlah'}.checkout-cart-dialog .checkout-table td:nth-child(5):before{content:'Pajak'}.checkout-cart-dialog .checkout-table td:nth-child(6):before{content:'Subtotal'}
  .checkout-cart-dialog .checkout-table td:nth-child(7){grid-column:1/-1}.checkout-cart-dialog .checkout-table td:nth-child(7):before{display:none}
  .checkout-cart-dialog .checkout-table input{width:100%!important;min-width:0;height:40px!important;text-align:left!important}
  .checkout-cart-dialog .checkout-table .delete-action{width:100%!important;min-height:40px!important;writing-mode:horizontal-tb!important;white-space:nowrap!important}
  .checkout-cart-dialog .checkout-product-cell{width:100%;min-width:0!important}.checkout-cart-dialog .checkout-product-cell>span:last-child{min-width:0}.checkout-cart-dialog .checkout-product-cell strong,.checkout-cart-dialog .checkout-product-cell small{overflow-wrap:anywhere}
  .checkout-cart-dialog .empty-row{display:block!important;grid-column:1/-1!important;padding:30px 14px!important;text-align:center!important}
}
@media(max-width:430px){
  .checkout-cart-dialog .checkout-table tr{grid-template-columns:1fr!important}
  .checkout-cart-dialog .checkout-table td{grid-column:1!important}
  .checkout-cart-dialog .checkout-table td:nth-child(1){grid-column:1!important}
}

/* Jarak kartu pesanan dari frame dialog. */
#checkoutPanel .checkout-cart-dialog>.checkout-cart{padding:18px!important;background:#fffaf5!important}
#checkoutPanel .checkout-cart-dialog .table-wrap{border-radius:12px}
#checkoutPanel .checkout-cart-dialog .checkout-table tbody{padding-bottom:2px!important}
@media(max-width:899px){#checkoutPanel .checkout-cart-dialog>.checkout-cart{padding:16px!important}}
@media(max-width:430px){#checkoutPanel .checkout-cart-dialog>.checkout-cart{padding:12px!important}.checkout-cart-dialog .checkout-table tr{padding:12px!important}}

/* Proporsi kartu pesanan dan jarak antarpanel yang lebih seimbang. */
@media(max-width:1200px){
  #checkoutPanel .checkout-cart-dialog{width:min(820px,calc(100vw - 28px))}
  #checkoutPanel .checkout-cart-dialog>.checkout-cart{padding:20px!important}
  #checkoutPanel .checkout-cart-dialog .checkout-table{display:block!important;width:100%!important;min-width:0!important}
  #checkoutPanel .checkout-cart-dialog .checkout-table thead{display:none!important}
  #checkoutPanel .checkout-cart-dialog .checkout-table tbody{display:grid!important;gap:16px!important;width:100%;padding:0 0 2px!important}
  #checkoutPanel .checkout-cart-dialog .checkout-table tr{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px 16px!important;width:100%;padding:16px!important;border:1px solid #eadfd4!important;border-radius:14px!important;background:#fff!important;box-shadow:0 6px 18px rgba(61,45,28,.06)!important}
  #checkoutPanel .checkout-cart-dialog .checkout-table td{display:grid!important;grid-template-columns:1fr!important;align-content:start;gap:5px!important;min-width:0!important;padding:0!important;border:0!important;text-align:left!important}
  #checkoutPanel .checkout-cart-dialog .checkout-table td:nth-child(1){grid-column:1/-1!important;padding-bottom:12px!important;border-bottom:1px dashed #e7ddd2!important}
  #checkoutPanel .checkout-cart-dialog .checkout-table td:nth-child(6){grid-column:1/3!important;padding:11px 13px!important;border-radius:9px!important;background:#faf6f1!important}
  #checkoutPanel .checkout-cart-dialog .checkout-table td:nth-child(7){grid-column:3/5!important;align-self:stretch}
  #checkoutPanel .checkout-cart-dialog .checkout-table td:nth-child(7) button{height:100%!important;min-height:43px!important}
  #checkoutPanel .checkout-cart-dialog .checkout-table input{width:100%!important;min-width:0!important}
}
@media(max-width:700px){
  #checkoutPanel .checkout-cart-dialog{width:calc(100vw - 16px)}
  #checkoutPanel .checkout-cart-dialog>.checkout-cart{padding:15px!important}
  #checkoutPanel .checkout-cart-dialog .checkout-table tr{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;padding:14px!important}
  #checkoutPanel .checkout-cart-dialog .checkout-table td:nth-child(6){grid-column:1!important}
  #checkoutPanel .checkout-cart-dialog .checkout-table td:nth-child(7){grid-column:2!important}
}
@media(max-width:430px){
  #checkoutPanel .checkout-cart-dialog>.checkout-cart{padding:12px!important}
  #checkoutPanel .checkout-cart-dialog .checkout-table tbody{gap:14px!important}
  #checkoutPanel .checkout-cart-dialog .checkout-table tr{grid-template-columns:1fr!important;padding:13px!important}
  #checkoutPanel .checkout-cart-dialog .checkout-table td,#checkoutPanel .checkout-cart-dialog .checkout-table td:nth-child(1),#checkoutPanel .checkout-cart-dialog .checkout-table td:nth-child(6),#checkoutPanel .checkout-cart-dialog .checkout-table td:nth-child(7){grid-column:1!important}
}

/* Hilangkan seluruh lingkaran dekoratif pada panel; ikon dan avatar fungsional tetap dipertahankan. */
.promotion-panel .compact-form:before,.finance-master-panel .compact-form:before,.dashboard-finance-stats .stat-card:after{display:none!important;content:none!important}

/* Data Kas: daftar utama dan aktivitas transfer dipisahkan dengan tab. */
.cash-page-tabs{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:10px;width:min(620px,100%);margin-bottom:20px;padding:7px;border:1px solid #eadfce;border-radius:16px;background:linear-gradient(135deg,#fffaf1,#fff);box-shadow:0 8px 26px #6e4b1910}.cash-page-tabs button{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;min-width:0;min-height:64px;padding:9px 13px;border:1px solid transparent;border-radius:11px;background:transparent;color:#75624e;text-align:left;transition:background .18s,border-color .18s,box-shadow .18s,transform .18s}.cash-page-tabs button:hover{border-color:#ecd7b4;background:#fff5df;transform:translateY(-1px)}.cash-page-tabs button>span:nth-child(2){display:grid;gap:3px}.cash-page-tabs button strong{font-size:13px}.cash-page-tabs button small{color:#9a8977;font-size:10px;font-weight:600}.cash-page-tabs button>b{display:grid;min-width:34px;height:25px;padding:0 7px;place-items:center;border-radius:20px;background:#fff0d0;color:#8b5c16;font-size:10px}.cash-tab-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:10px;background:#fff0d0;color:#9b6817;font-size:19px;font-weight:900}.cash-page-tabs button.active{border-color:var(--theme-button,#d28b00);background:linear-gradient(135deg,var(--theme-button,#d28b00),color-mix(in srgb,var(--theme-button,#d28b00) 82%,#6f4700));color:var(--theme-button-text,#fff);box-shadow:0 9px 22px color-mix(in srgb,var(--theme-button,#d28b00) 28%,transparent);transform:none}.cash-page-tabs button.active small{color:color-mix(in srgb,var(--theme-button-text,#fff) 75%,transparent)}.cash-page-tabs button.active .cash-tab-icon,.cash-page-tabs button.active>b{background:#ffffff2b;color:inherit}.cash-tab-panel{min-width:0;animation:promotion-panel-in .2s ease-out}.cash-tab-panel[hidden]{display:none!important}.cash-list-card .card-heading>.master-add{flex:none;min-height:40px}@media(max-width:600px){.cash-page-tabs{grid-template-columns:1fr;width:100%;gap:7px;padding:6px}.cash-page-tabs button{min-height:58px}.cash-list-card .card-heading{align-items:stretch;flex-direction:column}.cash-list-card .card-heading>.master-add{width:100%}}

/* Master data: daftar menjadi tampilan utama, form tambah/edit berada di dialog. */
.master-list-card>.card-heading{align-items:center;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid #eee7de}.master-list-card>.card-heading>div{display:grid;align-content:center;gap:5px;min-height:42px}.master-list-card>.card-heading>div h3,.master-list-card>.card-heading>div .eyebrow{margin:0}.master-list-card>.card-heading .count-pill{margin:0}.master-list-card>.card-heading>button{flex:none}.asset-form-dialog{width:min(860px,calc(100vw - 32px))}.asset-form-dialog form{padding:0}.asset-form-dialog .form-grid{margin-top:4px}@media(max-width:650px){.master-list-card>.card-heading{align-items:stretch;flex-direction:column}.master-list-card>.card-heading>button{width:100%}.asset-form-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);margin:auto}.asset-form-dialog .form-grid{grid-template-columns:1fr}.asset-form-dialog .wide-field{grid-column:auto}}
.product-master-dialog{width:min(1180px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:0;overflow:auto}.product-master-dialog>.dialog-head{position:sticky;top:0;z-index:5;margin:0;padding:20px 24px;border-bottom:1px solid #eadfce;background:#fffdf9}.product-master-dialog>.dialog-head p{margin:5px 0 0;color:#8590a5}.product-master-dialog>.product-form{margin:0;border:0;border-radius:0;box-shadow:none}.product-master-dialog::backdrop{background:#25211788;backdrop-filter:blur(3px)}@media(max-width:650px){.product-master-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.product-master-dialog>.dialog-head{padding:16px}.product-master-dialog>.product-form{padding:14px}}
.cash-transfer-dialog{width:min(680px,calc(100vw - 28px))}.cash-transfer-dialog .form-grid{gap:14px}.cash-transfer-dialog .form-actions{margin-top:20px}.cash-history-card>.card-heading>button{flex:none}@media(max-width:600px){.cash-history-card>.card-heading{align-items:stretch;flex-direction:column}.cash-history-card>.card-heading>button{width:100%}.cash-transfer-dialog{width:calc(100vw - 18px);max-height:calc(100dvh - 18px);margin:auto}}

/* Retur: riwayat sebagai tampilan utama dan input transaksi dalam popup. */
.return-history-card{overflow:hidden;padding:0}.return-history-card>.card-heading{align-items:center;margin:0;padding:20px 22px 16px;border-bottom:1px solid #e9edf3;background:linear-gradient(135deg,#fff,#fffaf2)}.return-history-card>.card-heading>div{display:grid;gap:5px}.return-history-card>.card-heading h3,.return-history-card>.card-heading .eyebrow{margin:0}.return-history-card>.card-heading>button{flex:none}.return-history-card>.date-filter{margin:0;padding:16px 22px;border-bottom:1px solid #eef0f4}.return-history-card>.table-wrap{padding:0 8px 8px}.return-dialog{width:min(1120px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:0;overflow:auto}.return-dialog>.dialog-head{position:sticky;top:0;z-index:5;margin:0;padding:20px 24px;border-bottom:1px solid #eadfce;background:#fffdf9}.return-dialog>.product-form{margin:0;padding:22px 24px 24px;border:0;border-radius:0;box-shadow:none}.return-dialog .table-wrap{margin-top:18px}.return-dialog::backdrop{background:#25211788;backdrop-filter:blur(3px)}@media(max-width:700px){.return-history-card>.card-heading{align-items:stretch;flex-direction:column;padding:17px 15px 14px}.return-history-card>.card-heading>button{width:100%}.return-history-card>.date-filter{padding:14px}.return-history-card>.table-wrap{overflow:auto;padding:8px}.return-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.return-dialog>.dialog-head{padding:16px}.return-dialog>.product-form{padding:14px}.return-dialog .form-grid{grid-template-columns:1fr}.return-dialog .wide-field{grid-column:auto}.return-dialog .table-wrap{overflow:auto}}

/* Produksi, packaging, dan consignee: riwayat utama dengan form transaksi dalam popup. */
.operation-history-card{overflow:hidden;padding:0}.operation-history-card>.card-heading{margin:0;padding:20px 22px 16px;border-bottom:1px solid #e9edf3;background:linear-gradient(135deg,#fff,#fffaf2)}.operation-history-card>.date-filter{margin:0;padding:16px 22px;border-bottom:1px solid #eef0f4}.operation-history-card>.table-wrap{padding:0 8px 8px}.operation-open-button{flex:none}.operation-dialog{width:min(1120px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:0;overflow:auto}.operation-dialog>.dialog-head{position:sticky;top:0;z-index:6;margin:0;padding:20px 24px;border-bottom:1px solid #eadfce;background:#fffdf9}.operation-dialog>form{margin:0;padding:22px 24px 24px;border:0;border-radius:0;box-shadow:none}.operation-dialog::backdrop{background:#25211788;backdrop-filter:blur(3px)}.consignee-settlement-section>.card-heading,.consignee-profit-section>.card-heading{flex-wrap:wrap;gap:10px}.consignee-settlement-section>.card-heading>.operation-open-button,.consignee-profit-section>.card-heading>.operation-open-button{margin-left:auto}.operation-dialog .settlement-inline-form,.operation-dialog .consignee-profit-form{border:0;background:transparent}.operation-dialog .table-wrap{overflow:auto}@media(max-width:700px){.operation-history-card>.card-heading,.consignee-settlement-section>.card-heading,.consignee-profit-section>.card-heading{align-items:stretch;flex-direction:column}.operation-history-card>.card-heading,.operation-history-card>.date-filter{padding:14px}.operation-open-button{width:100%;margin-left:0!important}.operation-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.operation-dialog>.dialog-head{padding:16px}.operation-dialog>form{padding:14px}.operation-dialog .form-grid,.operation-dialog .settlement-inline-form,.operation-dialog .consignee-profit-form{grid-template-columns:1fr}.operation-dialog .wide-field,.operation-dialog .settlement-sale-field,.operation-dialog .settlement-note-field,.operation-dialog .profit-sale-field,.operation-dialog .profit-note-field{grid-column:auto}.operation-dialog .flow-picker{grid-template-columns:1fr}}
