:root{font:15px system-ui;color:#19392c;background:#f3f6f2}*{box-sizing:border-box}body{margin:0}header{background:#173c2c;color:white;display:flex;justify-content:space-between;padding:20px 5vw}header a{color:#d4e8d6}main{max-width:1200px;margin:auto;padding:25px 5vw}h1{margin-bottom:4px}h2{font-size:18px;margin:0 0 12px}p{color:#56695d}.layout{display:grid;grid-template-columns:1.25fr 1fr;gap:20px;align-items:start}section{background:white;border:1px solid #dde7dd;border-radius:12px;padding:20px}.history{margin-top:20px}label{display:block;font-weight:650;margin-bottom:8px}.line,.item{display:flex;justify-content:space-between;align-items:center;gap:12px}.item{padding:12px 0;border-bottom:1px solid #e9eee8}small{display:block;color:#56695d;margin-top:4px;overflow-wrap:anywhere}input,button{font:inherit;padding:10px;border-radius:7px}input{border:1px solid #adbfad;min-width:0;flex:1}button{border:0;background:#246a49;color:white;cursor:pointer}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible{outline:3px solid #91b79b;outline-offset:2px}.total{margin:18px 0}.total strong{font-size:22px}#match:not(:empty){padding:12px;background:#edf6ea;border-radius:8px;margin-top:12px}#status{min-height:20px}#count{font-size:12px;color:#627869}#receipt:not(:empty){border-top:1px solid #d9e6d9;margin-top:15px;padding-top:15px}.qty{white-space:nowrap}.qty button{padding:4px 9px}@media(max-width:730px){.layout{grid-template-columns:1fr}section{padding:15px}}
dialog{border:1px solid #dde7dd;border-radius:12px;padding:22px;width:min(610px,95vw);color:#19392c}dialog::backdrop{background:#173c2c66}.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.fields input{width:100%;margin-top:5px}fieldset{border:1px solid #dde7dd;margin-top:12px}.options{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.options button{font-size:12px}
.product-search{width:100%;margin:0 0 10px}
[hidden]{display:none!important}.menu{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.menu button{background:#e1ece0;color:#234832}.menu button[aria-current]{background:#246a49;color:white}main[data-page=master] .layout{grid-template-columns:1fr}main[data-page=master] .options,main[data-page=sales] [data-edit]{display:none}.fields select{display:block;width:100%;padding:10px;margin-top:5px;border:1px solid #adbfad;border-radius:7px}#summary strong{display:block;font-size:21px}
main[data-page=master] #scan{display:none}
.purchase-table{overflow:auto;margin:12px 0}.purchase-table table{width:100%;min-width:640px;border-collapse:collapse}.purchase-table th,.purchase-table td{text-align:left;padding:8px;border-bottom:1px solid #e9eee8}.purchase-table input,.purchase-table select{width:100%;padding:8px}.purchase-table td:nth-child(1){width:42%}.purchase-table .qty-in{max-width:95px}
input[type=number]{appearance:textfield;-moz-appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
:root{color:#193b30;background:#f5f6ef}header{background:#123c2d}header b{font-size:1.12rem;letter-spacing:.01em}.menu{padding:7px;background:#e8efe6;border-radius:14px}.menu button{font-weight:650;border-radius:9px;min-height:44px}section{border-color:#dfe8df;box-shadow:0 4px 14px #193b3009}button{font-weight:650}button:active{filter:brightness(.9)}.total{border-top:1px solid #dde8df;padding-top:14px}.product-search{border:2px solid #a8c9b6;background:#fbfdfb}#checkout{width:100%;min-height:46px}#saleFeedback:empty{display:none}#cartShortcut{display:none}
@media(max-width:730px){main[data-page]{padding-bottom:85px}.menu{position:sticky;top:0;z-index:2;box-shadow:0 3px 9px #173c2c18}.menu button{width:100%;min-height:44px}#cartShortcut{display:block;position:fixed;bottom:14px;right:14px;z-index:4;min-height:44px;box-shadow:0 5px 18px #173c2c45}#salePanel{scroll-margin-top:100px}#goodsPanel>section:first-child{display:flex;flex-direction:column}main[data-page=sales] #findProduct{order:-4}main[data-page=sales] label[for=findProduct]{order:-5}main[data-page=sales] #scan{order:-3;margin-bottom:8px}}
.welcome{background:#123c2d;color:#fff8e9;padding:24px}.welcome h2{font-size:1.45rem;margin:7px 0}.welcome p{color:#e5f1e5;margin:0}.welcome .welcome-kicker{color:#f3c66a;font-size:.72rem;letter-spacing:.13em;font-weight:750}.home-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.home-actions button{text-align:left;background:white;color:#123c2d;border:1px solid #dfe8df;border-radius:14px;padding:15px;min-height:82px}.home-actions button:first-child{background:#246a49;color:#fff}.home-actions b,.home-actions span{display:block}.home-actions span{font-size:.83rem;font-weight:450;margin-top:6px}
@media(max-width:730px){main[data-page]{padding-bottom:100px}main .menu{position:fixed;inset:auto 8px 8px;display:flex;justify-content:space-between;gap:3px;z-index:5;margin:0;padding:5px;border:1px solid #d4e2d4;background:#f1f6ee;border-radius:14px}.menu button{flex:1;width:auto;min-width:0;padding:6px 3px;font-size:.69rem;line-height:1.15;white-space:normal;overflow-wrap:normal}.home-actions{gap:8px}.home-actions button{padding:12px}#cartShortcut{bottom:68px}#salePanel{scroll-margin-top:12px}}
.purchase-items-title{font-size:1rem;margin:22px 0 8px}.add-purchase-line{background:#e6f0e5;color:#123c2d}.save-purchase{min-height:46px}.purchase-search{margin-bottom:6px}.purchase-table td select{margin:0}
@media(max-width:730px){#purchasePanel{padding:16px}#purchasePanel form>.fields{grid-template-columns:minmax(0,1fr);gap:9px}#purchasePanel form>.fields label{margin-bottom:0}#purchasePanel .purchase-table{overflow:visible}#purchasePanel .purchase-table table,#purchasePanel .purchase-table tbody{display:block;min-width:0;width:100%}#purchasePanel .purchase-table thead{display:none}.purchase-table tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px;padding:12px;margin-bottom:10px;background:#f8faf5;border:1px solid #dfe8df;border-radius:12px}.purchase-table td,.purchase-table td:nth-child(1){display:block;border:0;padding:0;width:auto;min-width:0}.purchase-table td:nth-child(1){grid-column:1/-1}.purchase-table td:nth-child(2)::before,.purchase-table td:nth-child(3)::before,.purchase-table td:nth-child(4)::before{display:block;font-size:.75rem;font-weight:650;color:#506356;margin-bottom:3px}.purchase-table td:nth-child(2)::before{content:"Jumlah"}.purchase-table td:nth-child(3)::before{content:"Harga beli / satuan"}.purchase-table td:nth-child(4)::before{content:"Subtotal"}.purchase-table .qty-in{max-width:none}.purchase-table td:nth-child(4){font-weight:700;align-self:center}.purchase-table td:nth-child(5){justify-self:end}.purchase-table .removeLine{background:#f5e9e2;color:#853725}.add-purchase-line,.save-purchase{width:100%}}
#profilePanel textarea{display:block;width:100%;font:inherit;padding:10px;border:1px solid #adbfad;border-radius:7px;margin-top:5px;resize:vertical}#profilePanel hr{border:0;border-top:1px solid #dfe8df;margin:22px 0}
.home-actions button{display:flex;flex-direction:column;align-items:flex-start;gap:11px;min-height:108px;box-shadow:0 4px 12px #173c2c09}.home-actions .home-icon{width:43px;height:43px;display:grid;place-items:center;border-radius:12px;margin:0;background:#e8f2e9;color:#246a49}.home-icon svg{width:24px;height:24px}.home-actions button[data-open-page=sales] .home-icon{background:#ffffff26;color:white}.home-actions button[data-open-page=purchase] .home-icon{background:#f7eedb;color:#7a5019}.home-actions button[data-open-page=reports] .home-icon{background:#e8eef7;color:#345783}.home-actions button[data-open-page=profile] .home-icon{background:#f0eaf7;color:#604b7e}.home-actions button b{font-size:.94rem}
main[data-page=sales] #scan{display:none}
main[data-page=sales] .master-only{display:none}main[data-page=sales] #status:empty{display:none}
.bakul-header{display:flex;justify-content:space-between;align-items:center;gap:14px;background:linear-gradient(110deg,#123c2d,#205a43);color:#fff8e9;border-bottom:3px solid #eac578}.bakul-brand{display:flex;align-items:center;gap:10px;min-width:0}.bakul-brand img{border-radius:12px;border:1px solid #ffffff38;flex:none}.bakul-brand b{display:block}.bakul-brand small{color:#d6e9dc;margin-top:2px}.role-pill{background:#ffffff1a;color:#fff8e9;border:1px solid #ffffff3b;border-radius:999px;padding:6px 11px;font-size:.75rem;flex:none}.daily-card{padding:18px 20px;border-color:#d7e5d9;background:linear-gradient(135deg,#fff,#eef6ea)}.daily-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.daily-top h1{font-size:1.16rem;margin:0}.daily-top span,.daily-values span{font-size:.77rem;color:#526b59}.daily-values{display:flex;gap:22px;flex-wrap:wrap;margin-top:15px}.daily-values div{flex:1;min-width:90px}.daily-values strong{display:block;font-size:clamp(1.25rem,5vw,1.85rem);margin-top:3px}#dailyStatus:empty{display:none}
.receipt-secondary{background:#e6f0e5;color:#123c2d}#lastReceipt{width:100%;margin-top:10px}#receiptText{padding:12px;border-radius:8px;background:#f2f6ef;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}#printOnly{display:none}#printerForm select{display:block;padding:10px;margin-top:5px;font:inherit}#receiptDialog{max-height:85vh;overflow:auto}
@media print{body.printing-receipt>*:not(#printOnly){display:none!important}body.printing-receipt #printOnly{display:block;white-space:pre-wrap;overflow-wrap:anywhere;font:10pt monospace;margin:0;color:#000;background:white}body.printing-receipt{background:white}}
#openSaleHistory{width:100%;margin-top:10px}#saleHistoryDialog{max-height:85vh;overflow:auto}#moreSales{margin-top:12px;width:100%}
.cash-fields{background:#edf5eb;border-radius:10px;padding:12px;margin-top:12px}.cash-fields input{display:block;width:100%;margin-top:4px}.cash-fields .line{margin:10px 0}.cash-fields strong{font-size:1.1rem}
#receiptText{white-space:pre;overflow-x:auto;font-family:ui-monospace,Consolas,monospace}@media print{body.printing-receipt #printOnly{white-space:pre}}
#cameraScan{width:100%;margin-bottom:10px}main[data-page=sales] #cameraScan{order:-3}
.daily-card{position:relative;overflow:hidden;isolation:isolate;min-height:157px;padding:18px 19px;background:radial-gradient(ellipse at 92% 92%,#47876a80 0%,transparent 55%),linear-gradient(120deg,#123c2d 10%,#1f5e45 68%,#287352 100%);border:1px solid #2d7357;color:#fff9e9;box-shadow:0 8px 20px #173c2c20}
.daily-content{position:relative;z-index:1;width:68%}.daily-top{display:block}.daily-top h1{font-size:1.08rem;color:#fff9e9}.daily-top span,.daily-values span{color:#d9eadb}.daily-top span{display:block;margin-top:3px}.daily-values{gap:10px 17px;margin-top:13px}.daily-values div{min-width:68px;flex:0 1 auto}.daily-values strong{color:#fff9e9;font-size:clamp(1.15rem,4.7vw,1.75rem);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.daily-card #dailyStatus{color:#e0efde;margin-bottom:0}
.daily-illustration{position:absolute;inset:0 0 0 auto;width:34%;pointer-events:none;background:url('warung-foto-summary.webp') center right 8px/contain no-repeat;filter:drop-shadow(0 7px 8px #092b2070)}
@media(max-width:370px){.daily-card{padding:15px}.daily-content{width:72%}.daily-illustration{width:30%;background-position:center right 3px}}
.daily-illustration{width:38%}.daily-content{width:62%}@media(max-width:370px){.daily-illustration{width:35%}.daily-content{width:66%}}
.daily-illustration{inset:10px 10px 10px auto;width:calc(38% - 10px);background-position:center;background-size:contain}@media(max-width:370px){.daily-illustration{inset:9px 7px 9px auto;width:calc(35% - 7px);background-position:center}}
.daily-illustration{inset:auto 11px auto auto;top:50%;transform:translateY(-50%);width:calc(38% - 11px);aspect-ratio:4/3;border-radius:12px;background-position:center;background-size:contain;filter:none;box-shadow:0 4px 14px #092b2045}@media(max-width:370px){.daily-illustration{inset:auto 8px auto auto;top:50%;width:calc(35% - 8px);border-radius:9px}}
.daily-illustration{max-height:calc(100% - 20px)}
.daily-card{min-height:184px;background:linear-gradient(110deg,#102f25 0%,#174633 52%,#2c7552 100%)}
.daily-content{width:52%}
.daily-illustration{inset:0 0 0 auto;top:0;transform:none;width:54%;height:auto;max-height:none;aspect-ratio:auto;border-radius:0;box-shadow:none;background-size:contain;background-position:right center;mask-image:linear-gradient(to right,transparent 0%,#000 28%);-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 28%)}
@media(max-width:370px){.daily-card{min-height:164px}.daily-content{width:55%}.daily-illustration{inset:0 0 0 auto;width:50%}}
.daily-illustration{
 -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 28%),linear-gradient(to bottom,transparent 0%,#000 17%,#000 83%,transparent 100%);
 -webkit-mask-composite:source-in;
 mask-image:linear-gradient(to right,transparent 0%,#000 28%),linear-gradient(to bottom,transparent 0%,#000 17%,#000 83%,transparent 100%);
 mask-composite:intersect;
}
.weekly-revenue{margin-top:14px}.weekly-revenue h2{margin:0}.weekly-revenue p{margin:8px 0;font-size:.82rem}.weekly-bars{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.weekly-day{display:flex;flex-direction:column;gap:6px;align-items:center;background:transparent;color:#365445;padding:4px 2px;font-size:.7rem;min-width:0}.weekly-track{height:84px;width:100%;max-width:27px;border-radius:7px;background:#edf3ec;display:flex;align-items:flex-end;overflow:hidden}.weekly-track>span{display:block;width:100%;border-radius:7px;background:#79ad8f}.weekly-day[aria-pressed=true] .weekly-track>span{background:#246a49}.weekly-revenue #weeklyDetail{font-weight:700;color:#173c2c}
