:root{
  --green-950:#0b3b29;--green-900:#104d35;--green-800:#17633f;--green-700:#1f7b4b;--green-600:#28965b;--green-100:#dff4e8;--green-50:#f1faf5;
  --orange-900:#a94405;--orange-800:#bd5000;--orange-700:#d96500;--orange-600:#e57a00;--orange-500:#f58b13;--orange-100:#ffebd4;--orange-50:#fff7ee;
  --red:#ef4b57;--blue:#2f6fec;--purple:#8f4ed8;--yellow:#e8a500;--ink:#1b2430;--muted:#718096;--line:#e3e8ee;--page:#f3f6f9;--white:#fff;
  --shadow:0 10px 28px rgba(28,45,62,.08);--shadow-sm:0 3px 12px rgba(28,45,62,.07);--radius:15px;--radius-sm:10px
}
*{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--page)}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.text-muted{color:var(--muted)}.text-green{color:var(--green-700)}.text-orange{color:var(--orange-600)}.text-red{color:var(--red)}

/* LOGIN */
.login-page{overflow:hidden}.login-layout{min-height:100vh;display:grid;grid-template-columns:minmax(430px,.95fr) minmax(520px,1.1fr);background:#fff}.login-left{padding:44px clamp(30px,5vw,80px);display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.login-left:before{content:"";position:absolute;width:290px;height:290px;border-radius:50%;background:var(--green-50);left:-120px;top:-100px}.login-left:after{content:"";position:absolute;width:230px;height:230px;border-radius:50%;background:var(--orange-50);right:-110px;bottom:-90px}.login-brand{display:flex;align-items:center;gap:13px;position:relative;z-index:2}.logo-mark{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,var(--green-600),var(--green-900));color:#fff;font-size:24px;box-shadow:0 10px 25px rgba(31,123,75,.2)}.cashier-selected .logo-mark{background:linear-gradient(145deg,var(--orange-500),var(--orange-800))}.login-brand strong{font-size:23px;letter-spacing:-.5px}.login-brand small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.login-copy{position:relative;z-index:2;margin:55px 0 28px}.login-copy h1{font-size:39px;line-height:1.14;letter-spacing:-1.3px;margin:0 0 14px;max-width:610px}.login-copy p{margin:0;color:var(--muted);line-height:1.7;max-width:580px;font-size:14px}.login-card{position:relative;z-index:2;width:min(510px,100%);padding:26px;background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:23px;box-shadow:var(--shadow)}.role-switch{display:grid;grid-template-columns:1fr 1fr;padding:4px;background:#f2f5f3;border-radius:12px;margin-bottom:18px}.role-button{border:0;background:transparent;padding:11px;border-radius:9px;color:var(--muted);font-weight:750}.role-button.active{background:#fff;color:var(--green-700);box-shadow:var(--shadow-sm)}.cashier-selected .role-button.active{color:var(--orange-600)}.form-field{display:block;margin:13px 0}.form-field span{display:block;font-size:12px;font-weight:750;margin-bottom:7px}.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid var(--line);border-radius:11px;padding:12px 13px;outline:none;background:#fff}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--green-600);box-shadow:0 0 0 3px rgba(40,150,91,.1)}.cashier-selected .form-field input:focus{border-color:var(--orange-600);box-shadow:0 0 0 3px rgba(229,122,0,.1)}.login-submit{width:100%;border:0;color:#fff;background:linear-gradient(135deg,var(--green-700),var(--green-600));border-radius:11px;padding:14px;font-weight:850;margin-top:8px;box-shadow:0 8px 20px rgba(31,123,75,.18)}.cashier-selected .login-submit{background:linear-gradient(135deg,var(--orange-800),var(--orange-500));box-shadow:0 8px 20px rgba(229,122,0,.2)}.demo-box{margin-top:14px;background:#f7f9f7;border-radius:9px;padding:10px 12px;font-size:11px;color:var(--muted);line-height:1.5}.form-alert{padding:11px 12px;border-radius:9px;font-size:12px;margin-bottom:12px}.form-alert.error{background:#fff0f1;color:#b22e3a;border:1px solid #ffd2d6}.login-preview{background:linear-gradient(145deg,#eff8f2,#fff6eb);display:grid;place-items:center;padding:35px;overflow:hidden}.preview-window{width:min(850px,100%);height:min(650px,86vh);background:#fff;border-radius:25px;box-shadow:0 30px 80px rgba(25,70,48,.17);overflow:hidden;transform:rotate(-1deg)}.preview-bar{height:65px;background:var(--green-900);color:#fff;display:flex;align-items:center;gap:7px;padding:0 20px}.cashier-selected .preview-bar{background:var(--orange-700)}.preview-bar i{width:8px;height:8px;background:rgba(255,255,255,.45);border-radius:50%}.preview-bar b{margin-left:10px;font-size:13px}.preview-body{height:calc(100% - 65px);display:grid;grid-template-columns:170px 1fr}.preview-sidebar{background:#f7faf8;border-right:1px solid var(--line);padding:20px 13px}.preview-sidebar span{display:block;height:34px;border-radius:8px;background:#edf1ee;margin-bottom:9px}.preview-sidebar span:first-child{background:var(--green-100)}.preview-main{padding:22px;background:#fbfcfb}.preview-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.preview-kpis i,.preview-chart,.preview-table{display:block;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-sm)}.preview-kpis i{height:78px}.preview-chart{height:210px;margin:14px 0;background:linear-gradient(180deg,#fff,#fbfdfb);position:relative}.preview-chart:after{content:"";position:absolute;left:30px;right:25px;bottom:60px;height:80px;border-top:4px solid var(--green-600);border-radius:50%;transform:skewY(-5deg)}.cashier-selected .preview-chart:after{border-color:var(--orange-600)}.preview-table{height:230px;background:repeating-linear-gradient(#fff 0 30px,#eef2ef 31px,#fff 32px)}

/* SHARED APP */
.app{height:100vh;display:flex;overflow:hidden;background:var(--page)}.sidebar{width:254px;height:100%;display:flex;flex-direction:column;color:#fff;background:linear-gradient(180deg,var(--green-950),var(--green-800));flex:0 0 auto;position:relative;z-index:40}.side-brand{height:76px;display:flex;align-items:center;gap:10px;padding:0 18px;border-bottom:1px solid rgba(255,255,255,.12)}.side-brand .mini-logo{width:39px;height:39px;border-radius:11px;background:rgba(255,255,255,.15);display:grid;place-items:center;font-size:20px}.side-brand strong{display:block;font-size:17px}.side-brand small{font-size:10px;opacity:.7}.side-nav{padding:13px 10px;overflow:auto;flex:1}.nav-title{font-size:9px;text-transform:uppercase;letter-spacing:1.1px;opacity:.52;font-weight:850;padding:14px 11px 6px}.nav-link{width:100%;border:0;background:transparent;color:rgba(255,255,255,.82);display:flex;align-items:center;gap:10px;padding:10px 11px;border-radius:9px;text-align:left;font-size:12px;margin:2px 0}.nav-link:hover,.nav-link.active{background:rgba(255,255,255,.14);color:#fff}.nav-link.active{font-weight:800;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}.nav-icon{width:20px;text-align:center}.nav-count{margin-left:auto;background:#fff;color:var(--red);border-radius:999px;padding:2px 6px;font-size:9px;font-weight:900}.side-user{padding:13px;border-top:1px solid rgba(255,255,255,.12)}.side-user-box{display:flex;align-items:center;gap:10px;padding:10px;background:rgba(255,255,255,.09);border-radius:11px}.avatar{width:35px;height:35px;border-radius:10px;background:#fff;color:var(--green-800);display:grid;place-items:center;font-weight:900}.side-user-box strong{font-size:11px;display:block}.side-user-box small{font-size:9px;opacity:.7}.side-user-box a{margin-left:auto;color:#fff;text-decoration:none;font-size:16px}.main{min-width:0;flex:1;height:100%;display:flex;flex-direction:column}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff;border-bottom:1px solid var(--line);padding:0 22px;flex:0 0 auto}.topbar-left{display:flex;align-items:center;gap:12px}.hamburger{display:none;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:9px;padding:8px 10px}.page-heading h1{font-size:20px;letter-spacing:-.4px;margin:0 0 3px}.page-heading p{font-size:10px;color:var(--muted);margin:0}.topbar-right{display:flex;align-items:center;gap:9px}.top-chip{border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 10px;font-size:10px;color:var(--muted)}.content{flex:1;overflow:auto;padding:21px}.view{display:none}.view.active{display:block;animation:fade .18s ease}@keyframes fade{from{opacity:.3;transform:translateY(3px)}to{opacity:1;transform:none}}
.grid{display:grid;gap:15px}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:15px}.kpi-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:17px;box-shadow:var(--shadow-sm);display:flex;gap:13px;align-items:center}.kpi-icon{width:43px;height:43px;border-radius:12px;display:grid;place-items:center;font-size:19px}.kpi-icon.green{background:var(--green-100);color:var(--green-700)}.kpi-icon.blue{background:#e7efff;color:var(--blue)}.kpi-icon.orange{background:var(--orange-100);color:var(--orange-600)}.kpi-icon.red{background:#ffe8ea;color:var(--red)}.kpi-card small{display:block;font-size:9px;color:var(--muted);margin-bottom:5px}.kpi-card strong{font-size:19px;letter-spacing:-.4px}.kpi-card em{display:block;font-size:9px;color:var(--green-700);font-style:normal;margin-top:4px}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.panel-head{min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 16px;border-bottom:1px solid var(--line)}.panel-head h2,.panel-head h3{font-size:13px;margin:0}.panel-head p{font-size:9px;color:var(--muted);margin:4px 0 0}.panel-body{padding:16px}.dashboard-two{grid-template-columns:minmax(0,1.55fr) minmax(300px,.8fr);margin-bottom:15px}.chart-box{height:280px;position:relative}.chart-bars{height:230px;display:flex;align-items:flex-end;gap:14px;border-bottom:1px solid var(--line);padding:15px 8px 0}.chart-day{flex:1;min-width:0;height:100%;display:flex;align-items:flex-end;justify-content:center;gap:4px;position:relative}.bar{width:28%;min-width:7px;border-radius:5px 5px 0 0;transition:.2s}.bar.sales{background:linear-gradient(180deg,var(--green-600),var(--green-800))}.bar.expense{background:linear-gradient(180deg,var(--orange-500),var(--orange-700))}.chart-labels{display:flex;gap:14px;padding:7px 8px 0}.chart-labels span{flex:1;text-align:center;font-size:8px;color:var(--muted)}.legend{display:flex;gap:12px;font-size:9px;color:var(--muted)}.legend i{display:inline-block;width:8px;height:8px;border-radius:3px;margin-right:4px}.legend .sales{background:var(--green-600)}.legend .expense{background:var(--orange-600)}.list-stack{display:flex;flex-direction:column;gap:9px}.rank-row,.notice-row{display:flex;align-items:center;gap:10px;padding:9px;border:1px solid #edf1f4;border-radius:10px}.rank-no{width:25px;height:25px;border-radius:8px;background:var(--green-100);color:var(--green-800);display:grid;place-items:center;font-size:9px;font-weight:900}.rank-row div{flex:1;min-width:0}.rank-row strong{font-size:10px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rank-row small{font-size:8px;color:var(--muted)}.rank-row b{font-size:10px;color:var(--green-700)}
.btn{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:9px;padding:8px 11px;font-size:10px;font-weight:750;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn:hover{background:#f7f9fa}.btn.primary{border-color:var(--green-700);background:var(--green-700);color:#fff}.btn.orange{border-color:var(--orange-600);background:var(--orange-600);color:#fff}.btn.red{border-color:var(--red);background:var(--red);color:#fff}.btn.ghost-red{border-color:#ffd6da;color:var(--red);background:#fff7f8}.btn.small{padding:6px 8px;font-size:9px}.btn:disabled{opacity:.5;cursor:not-allowed}.toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.search-input,.select-input,.date-input{border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px 10px;font-size:10px;outline:none}.search-input{min-width:220px}.search-input:focus,.select-input:focus,.date-input:focus{border-color:var(--green-600);box-shadow:0 0 0 3px rgba(40,150,91,.08)}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:760px}.data-table th{font-size:9px;text-transform:uppercase;letter-spacing:.3px;color:#667085;background:#f8fafb;text-align:left;padding:11px 12px;border-bottom:1px solid var(--line);white-space:nowrap}.data-table td{font-size:10px;padding:11px 12px;border-bottom:1px solid #eef1f4;vertical-align:middle}.data-table tr:hover td{background:#fbfcfd}.data-table td strong{font-size:10px}.status{display:inline-flex;align-items:center;border-radius:999px;padding:4px 7px;font-size:8px;font-weight:850;white-space:nowrap}.status.green{background:#e5f7ec;color:#167344}.status.orange{background:#fff0dd;color:#b85a00}.status.red{background:#ffe8ea;color:#c73542}.status.blue{background:#e9f0ff;color:#275fce}.status.gray{background:#eef1f4;color:#667085}.product-cell{display:flex;align-items:center;gap:9px}.mini-product{width:37px;height:37px;border-radius:9px;display:grid;place-items:center;color:#fff;font-weight:900;font-size:9px;text-align:center}.section-grid{grid-template-columns:minmax(0,1fr) 340px}.form-card{padding:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:block}.field.full{grid-column:1/-1}.field label{display:block;font-size:9px;font-weight:800;color:#556170;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:9px;padding:9px 10px;font-size:10px;outline:none;background:#fff}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green-600);box-shadow:0 0 0 3px rgba(40,150,91,.08)}.checkline{display:flex;align-items:center;gap:7px;font-size:10px}.form-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:14px}.empty-state{padding:38px;text-align:center;color:var(--muted);font-size:10px}.report-grid{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:15px}.report-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:14px}.report-card small{font-size:8px;color:var(--muted);display:block;margin-bottom:6px}.report-card strong{font-size:16px}.split-panels{grid-template-columns:1fr 1fr}.settings-shell{max-width:900px}.settings-card{padding:18px}.toast{position:fixed;right:22px;bottom:22px;z-index:1000;background:#15251c;color:#fff;border-radius:11px;padding:12px 15px;font-size:10px;box-shadow:0 15px 40px rgba(0,0,0,.22);opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:none}.toast.error{background:#a82c35}.modal-backdrop{position:fixed;inset:0;background:rgba(14,24,34,.5);z-index:200;display:none;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(2px)}.modal-backdrop.open{display:flex}.modal{width:min(620px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:17px;box-shadow:0 30px 80px rgba(0,0,0,.25)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--line)}.modal-head h3{font-size:14px;margin:0}.modal-close{border:0;background:#f0f3f5;border-radius:8px;width:30px;height:30px}.modal-body{padding:18px}

/* CASHIER — matches reference layout */
.cashier-page{overflow:hidden;background:#eef3f8}.cashier-app{height:100vh;display:flex;flex-direction:column;overflow:hidden}.cashier-header{height:59px;background:linear-gradient(90deg,#d96d00,#e98200);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:0 15px;box-shadow:0 2px 8px rgba(110,53,0,.18);z-index:30}.cashier-brand{display:flex;align-items:center;gap:10px}.drawer-trigger{width:28px;height:34px;border:0;border-radius:10px;background:rgba(126,48,0,.42);color:#fff;font-size:17px}.cashier-logo{width:39px;height:39px;border-radius:10px;background:#fff;color:var(--orange-700);display:grid;place-items:center;font-size:20px}.cashier-brand strong{font-size:16px;display:block;line-height:1.1}.cashier-brand small{font-size:9px;display:block;margin-top:3px;color:#fff6e8}.cashier-top-actions{display:flex;gap:7px}.cashier-top-btn{border:0;background:rgba(144,55,0,.45);color:#fff;border-radius:8px;padding:7px 10px;font-size:9px;font-weight:800;display:flex;align-items:center;gap:5px;position:relative}.cashier-top-btn .badge{position:absolute;right:-4px;top:-5px;background:#ef4654;border:2px solid #dd7400;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-size:8px}.cashier-drawer-overlay{position:fixed;inset:0;background:rgba(15,24,33,.5);z-index:70;display:none}.cashier-drawer-overlay.open{display:block}.cashier-drawer{position:fixed;left:0;top:0;bottom:0;width:275px;background:linear-gradient(180deg,var(--orange-800),var(--orange-600));color:#fff;z-index:80;transform:translateX(-102%);transition:.22s;display:flex;flex-direction:column;box-shadow:14px 0 45px rgba(35,20,5,.25)}.cashier-drawer.open{transform:none}.drawer-head{height:64px;padding:0 15px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.15)}.drawer-head strong{font-size:14px}.drawer-close{border:0;background:rgba(255,255,255,.12);color:#fff;width:31px;height:31px;border-radius:9px}.drawer-nav{flex:1;padding:13px 10px;overflow:auto}.drawer-label{font-size:9px;text-transform:uppercase;letter-spacing:1px;opacity:.65;padding:15px 10px 6px;font-weight:850}.drawer-link{width:100%;border:0;background:transparent;color:rgba(255,255,255,.85);border-radius:10px;padding:10px 11px;margin:2px 0;text-align:left;font-size:11px;display:flex;align-items:center;gap:10px}.drawer-link.active,.drawer-link:hover{background:rgba(255,255,255,.16);color:#fff;font-weight:800}.drawer-user{padding:13px;border-top:1px solid rgba(255,255,255,.15)}.drawer-user-box{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.1);border-radius:11px;padding:10px}.drawer-user-box .avatar{color:var(--orange-700)}.drawer-user-box strong{font-size:10px}.drawer-user-box small{font-size:8px;opacity:.75}.drawer-user-box a{margin-left:auto;color:#fff;text-decoration:none}.cashier-main{flex:1;min-height:0;position:relative}.cashier-view{height:100%;display:none}.cashier-view.active{display:block}.pos-layout{height:100%;display:grid;grid-template-columns:minmax(640px,1fr) 348px}.catalog-area{min-width:0;background:#eef3f8;padding:14px;display:flex;flex-direction:column;overflow:hidden}.catalog-tools{flex:0 0 auto}.pos-search{height:38px;background:#fff;border:1px solid #d7dfe8;border-radius:11px;display:flex;align-items:center;gap:9px;padding:0 12px;box-shadow:0 1px 4px rgba(31,47,65,.04)}.pos-search input{width:100%;border:0;outline:0;font-size:10px}.category-tabs{display:flex;gap:7px;overflow:auto;padding:8px 0 10px}.category-tab{border:1px solid #d8e0e8;background:#fff;color:#445267;border-radius:999px;padding:7px 15px;font-size:9px;white-space:nowrap}.category-tab.active{background:var(--orange-600);border-color:var(--orange-600);color:#fff;font-weight:850}.catalog-scroll{flex:1;overflow:auto;padding-right:3px}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding-bottom:12px}.product-card{border:1px solid #dbe3ea;background:#fff;border-radius:12px;padding:8px;box-shadow:0 2px 9px rgba(37,54,72,.06);text-align:left;min-width:0;position:relative}.product-card:hover{border-color:var(--orange-600);box-shadow:0 7px 18px rgba(190,92,0,.12)}.product-image{height:clamp(170px,31vh,320px);border-radius:9px;display:grid;place-items:center;position:relative;overflow:hidden;padding:18px;color:#fff}.product-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(0,0,0,.04))}.product-title-large{font-size:clamp(24px,3vw,48px);font-weight:500;line-height:1.08;letter-spacing:-1px;text-align:center;position:relative;z-index:1}.product-category-badge{position:absolute;right:7px;top:7px;background:rgba(30,25,18,.78);color:#fff;border-radius:999px;padding:3px 8px;font-size:7px;font-weight:850;z-index:2}.product-info{display:grid;grid-template-columns:1fr 27px;align-items:end;gap:7px;padding:8px 1px 1px}.product-info strong{display:block;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:7px}.product-info b{display:block;font-size:9px;color:#e36d00}.product-add{width:25px;height:25px;border-radius:8px;background:#ffefc8;color:#d66a00;display:grid;place-items:center;font-size:17px}.out-stock{position:absolute;inset:8px;background:rgba(255,255,255,.78);z-index:3;border-radius:9px;display:grid;place-items:center;font-size:11px;font-weight:900;color:var(--red);backdrop-filter:blur(1px)}.cart-area{height:100%;display:flex;flex-direction:column;background:#fff;border-left:1px solid #dce3ea;box-shadow:-3px 0 12px rgba(34,52,70,.05)}.cart-header{height:42px;padding:0 12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e5e9ee;flex:0 0 auto}.cart-header h2{font-size:11px;margin:0;display:flex;align-items:center;gap:7px}.cart-header h2:before{content:"▤";font-size:15px;color:var(--orange-600)}.clear-cart{border:0;background:transparent;color:#ff5064;font-size:8px}.cart-items{flex:1;overflow:auto;padding:4px 12px}.cart-empty{padding:60px 20px;text-align:center;color:#8b96a5;font-size:10px;line-height:1.6}.cart-row{padding:14px 0 13px;border-bottom:1px solid #edf0f3}.cart-top{display:grid;grid-template-columns:minmax(0,1fr) auto 17px;align-items:center;gap:7px}.cart-top h4{font-size:9px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cart-line-price{font-size:9px;color:#df6d00;font-weight:850;white-space:nowrap}.cart-remove{border:0;background:transparent;color:#ff6878;padding:0;font-size:12px}.cart-bottom{display:flex;align-items:center;justify-content:space-between;gap:11px;margin-top:10px}.qty-control{display:flex;align-items:center;gap:7px}.qty-control button{width:22px;height:22px;border:0;border-radius:8px;background:#f0f4f8;color:#4f6073}.qty-control span{font-size:9px;min-width:12px;text-align:center}.cart-note{width:min(155px,54%);height:25px;border:1px solid #dfe5ec;border-radius:8px;padding:4px 8px;font-size:8px;outline:none;background:#fbfcfd}.cart-note:focus{border-color:var(--orange-600);box-shadow:0 0 0 2px rgba(229,122,0,.09)}.cart-summary{flex:0 0 auto;background:#f9fafb;border-top:1px solid #dfe5eb;padding:9px 12px}.summary-line{display:flex;justify-content:space-between;font-size:8px;color:#607086;padding:3px 0}.summary-line.total{font-size:10px;color:var(--ink);font-weight:850;border-top:1px solid #e3e7eb;margin-top:3px;padding-top:7px}.summary-line.total b{color:#df6d00}.checkout-button{width:100%;border:0;background:var(--orange-600);color:#fff;border-radius:9px;padding:11px;font-size:9px;font-weight:850;margin-top:8px}.checkout-button:disabled{background:#c9d0d8}.cashier-content-page{height:100%;overflow:auto;padding:17px;background:#eef3f8}.cashier-page-inner{max-width:1120px;margin:0 auto}.page-card-head{display:flex;align-items:center;justify-content:space-between;gap:15px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:14px 16px;margin-bottom:13px;box-shadow:var(--shadow-sm)}.page-card-head h2{font-size:14px;margin:0 0 4px}.page-card-head p{font-size:9px;color:var(--muted);margin:0}.orders-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.order-card{padding:14px}.order-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.order-head h3{font-size:11px;margin:0 0 4px}.order-head p{font-size:8px;color:var(--muted);margin:0}.order-total{font-size:18px;font-weight:900;color:var(--orange-600);margin:14px 0 8px}.order-items{font-size:8px;color:#58677a;line-height:1.7;min-height:48px}.order-actions{display:flex;gap:7px;margin-top:12px}.cash-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:13px}.cash-summary{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px}.cash-summary small{font-size:8px;color:var(--muted)}.cash-summary strong{display:block;font-size:17px;margin-top:5px}.history-list{display:flex;flex-direction:column}.history-row{display:grid;grid-template-columns:150px 1fr 100px 95px 75px;gap:10px;align-items:center;padding:11px 13px;border-bottom:1px solid #edf1f4;font-size:9px}.history-row strong{font-size:9px}.history-row small{display:block;color:var(--muted);margin-top:3px}.account-card{max-width:650px;margin:0 auto;padding:18px}.profile-top{display:flex;align-items:center;gap:13px;padding-bottom:15px;border-bottom:1px solid var(--line);margin-bottom:15px}.profile-top .avatar{width:55px;height:55px;border-radius:15px;background:var(--orange-100);color:var(--orange-700);font-size:20px}.profile-top h3{font-size:15px;margin:0 0 4px}.profile-top p{font-size:9px;color:var(--muted);margin:0}.payment-methods{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:11px 0}.payment-option,.order-type-option{border:1px solid var(--line);background:#fff;border-radius:9px;padding:10px 8px;font-size:9px;font-weight:750}.payment-option.active,.order-type-option.active{border-color:var(--orange-600);background:var(--orange-50);color:var(--orange-700)}.order-types{display:grid;grid-template-columns:1fr 1fr;gap:9px}.payment-total{background:var(--orange-50);border:1px solid var(--orange-100);border-radius:11px;padding:13px;text-align:center;margin-bottom:12px}.payment-total small{font-size:9px;color:#9b5a16}.payment-total strong{display:block;font-size:23px;color:var(--orange-700);margin-top:4px}.receipt{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;max-width:340px;margin:0 auto;color:#111}.receipt h2{text-align:center;font-size:15px;margin:0 0 5px}.receipt .center{text-align:center;line-height:1.5}.receipt hr{border:0;border-top:1px dashed #333;margin:9px 0}.receipt-row{display:flex;justify-content:space-between;gap:12px;margin:5px 0}.receipt-row span:first-child{max-width:70%}.receipt-row.total{font-weight:900;font-size:12px}
@media print{body *{visibility:hidden!important}#receiptPrint,#receiptPrint *{visibility:visible!important}#receiptPrint{position:absolute;left:0;top:0;width:var(--receipt-width,80mm);padding:5mm;background:#fff}.no-print{display:none!important}}

@media(max-width:1150px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.report-grid{grid-template-columns:repeat(3,1fr)}.pos-layout{grid-template-columns:minmax(500px,1fr) 330px}.product-image{height:220px}.product-title-large{font-size:31px}.orders-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.login-layout{grid-template-columns:1fr}.login-preview{display:none}.sidebar{position:fixed;transform:translateX(-102%);transition:.22s}.sidebar.open{transform:none}.hamburger{display:block}.dashboard-two,.section-grid,.split-panels{grid-template-columns:1fr}.pos-layout{grid-template-columns:1fr;height:auto}.cashier-main{overflow:auto}.cashier-view{height:auto;min-height:100%}.catalog-area{height:64vh}.cart-area{height:500px;border:1px solid var(--line);margin:0 10px 12px;border-radius:12px;overflow:hidden}.product-image{height:180px}.orders-grid{grid-template-columns:1fr 1fr}.history-row{grid-template-columns:120px 1fr 90px}.history-row>*:nth-child(4),.history-row>*:nth-child(5){display:none}}
@media(max-width:640px){.login-left{padding:25px 18px}.login-copy{margin:35px 0 22px}.login-copy h1{font-size:31px}.content{padding:12px}.topbar{height:64px;padding:0 12px}.topbar-right .top-chip:first-child{display:none}.kpi-grid,.report-grid,.form-grid,.cash-summary-grid{grid-template-columns:1fr}.dashboard-two{grid-template-columns:1fr}.cashier-header{height:57px;padding:0 9px}.cashier-logo{display:none}.cashier-brand strong{font-size:13px}.cashier-brand small{font-size:8px}.cashier-top-btn{padding:7px}.cashier-top-btn span{display:none}.catalog-area{padding:9px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.product-image{height:150px}.product-title-large{font-size:24px}.cart-area{margin:0 7px 10px}.orders-grid{grid-template-columns:1fr}.page-card-head{align-items:flex-start}.history-row{grid-template-columns:100px 1fr 80px;padding:10px 8px}.toolbar{width:100%}.search-input{min-width:0;width:100%}.modal-backdrop{padding:10px}.payment-methods{grid-template-columns:repeat(2,1fr)}}

/* ===== Kasir UI refinement v3.1 ===== */
.cashier-page{font-family:"Inter",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.ui-icon,.nav-icon{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.cashier-header .ui-icon{width:15px;height:15px}
.drawer-trigger{display:grid;place-items:center}
.drawer-trigger .ui-icon{width:19px;height:19px}
.cashier-logo .ui-icon{width:22px;height:22px;stroke-width:1.8}
.cashier-top-btn{font-size:10px;letter-spacing:-.01em}
.cashier-top-btn .ui-icon{width:14px;height:14px}
.cashier-drawer{width:286px;background:#fff;color:#344054;box-shadow:12px 0 36px rgba(16,24,40,.22)}
.drawer-head{height:62px;padding:0 16px;background:linear-gradient(90deg,#d96d00,#e98200);color:#fff;border-bottom:0;box-shadow:0 2px 8px rgba(93,47,0,.18)}
.drawer-head strong{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:750;letter-spacing:-.02em}
.drawer-head strong .ui-icon{width:20px;height:20px}
.drawer-close{display:grid;place-items:center;background:transparent;border-radius:8px;width:34px;height:34px}
.drawer-close:hover{background:rgba(255,255,255,.14)}
.drawer-close .ui-icon{width:19px;height:19px}
.drawer-nav{padding:14px 0 16px}
.drawer-link{border-radius:0;padding:13px 22px;margin:0;color:#344054;font-size:13px;font-weight:500;gap:16px;line-height:1.35;transition:background .16s,color .16s,box-shadow .16s}
.drawer-link .nav-icon{width:18px;height:18px;color:#dd7300;stroke-width:1.9}
.drawer-link:hover{background:#fff8ef;color:#9f5000;font-weight:600}
.drawer-link.active{background:#fff4e7;color:#9f5000;font-weight:700;box-shadow:inset 3px 0 0 #e47a00}
.drawer-label{font-size:10px;letter-spacing:.06em;color:#98a2b3;opacity:1;padding:20px 15px 9px;font-weight:750}
.drawer-footer{height:53px;border-top:1px solid #e8edf2;color:#98a2b3;font-size:10px;display:flex;align-items:center;justify-content:center;gap:12px;padding:0 16px;background:#fff}
.drawer-footer a{position:absolute;right:15px;color:#98a2b3;display:grid;place-items:center;width:31px;height:31px;border-radius:8px}
.drawer-footer a:hover{background:#fff4e7;color:#d96d00}
.drawer-footer .ui-icon{width:17px;height:17px}
.order-entry-modal{max-width:540px}
.order-entry-modal .modal-head{align-items:flex-start}
.order-entry-modal .modal-head h3{font-size:16px;margin:0 0 5px}
.order-entry-modal .modal-head p{font-size:10px;color:var(--muted);margin:0;line-height:1.5}
.order-types-simple{gap:11px}
.order-types-simple .order-type-option{min-height:92px;padding:14px;text-align:left;display:flex;align-items:center;gap:12px;border-radius:12px}
.order-types-simple .order-type-option>span:last-child{display:block;min-width:0}
.order-types-simple .order-type-option strong{display:block;font-size:12px;margin-bottom:4px}
.order-types-simple .order-type-option small{display:block;font-size:9px;line-height:1.45;color:#7b8796;font-weight:500}
.order-type-icon{width:38px;height:38px;border-radius:11px;background:#f2f4f7;color:#667085;display:grid;place-items:center;flex:0 0 auto}
.order-type-icon .ui-icon{width:20px;height:20px}
.order-type-option.active .order-type-icon{background:#ffe8c8;color:#c96200}
.checkout-customer-fields{margin-top:15px}
.checkout-customer-fields .field>label{font-size:10px;font-weight:700;color:#344054;margin-bottom:7px}
.checkout-customer-fields input,.checkout-customer-fields select{height:43px;font-size:11px;border-radius:10px}
.order-entry-note{display:flex;align-items:flex-start;gap:9px;margin-top:14px;padding:10px 11px;border-radius:10px;background:#fff8ef;color:#7c4a15;font-size:9px;line-height:1.5}
.order-entry-note .ui-icon{width:16px;height:16px;margin-top:1px;color:#d96d00}
.checkout-actions{margin-top:16px}
.checkout-actions .btn{min-width:120px;padding:10px 14px;font-size:10px}

@media(max-width:640px){
  .cashier-drawer{width:min(286px,88vw)}
  .drawer-link{font-size:12px;padding:13px 19px}
  .order-types-simple{grid-template-columns:1fr}
  .order-entry-modal .modal-head p{max-width:260px}
}

/* ===== Visual system v2.1 — mengikuti HTML acuan ===== */
:root{
  --reference-orange:#f97316;
  --reference-orange-dark:#ea580c;
  --reference-amber:#d97706;
  --reference-slate:#f1f5f9;
  --reference-ink:#111827;
  --reference-muted:#64748b;
  --reference-line:#e5e7eb;
  --reference-shadow:0 1px 3px rgba(15,23,42,.06),0 8px 24px rgba(15,23,42,.04)
}
html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{font-family:inherit;color:var(--reference-ink);background:var(--reference-slate)}
*{scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}
*::-webkit-scrollbar{width:7px;height:7px}
*::-webkit-scrollbar-track{background:transparent}
*::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}
*::-webkit-scrollbar-thumb:hover{background:#94a3b8}

/* Login ringkas seperti panel autentikasi pada acuan. */
.login-page{overflow:auto;background:var(--reference-slate)}
.login-layout{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:32px 20px;background:var(--reference-slate)}
.login-left{width:min(440px,100%);min-height:auto;padding:34px;background:#fff;border:1px solid var(--reference-line);border-radius:20px;box-shadow:0 22px 55px rgba(15,23,42,.11);overflow:visible}
.login-left:before,.login-left:after,.login-preview{display:none}
.login-brand{justify-content:center;text-align:left}
.logo-mark{background:var(--reference-orange);border-radius:13px;box-shadow:0 9px 22px rgba(249,115,22,.22)}
.cashier-selected .logo-mark{background:var(--reference-amber)}
.login-copy{text-align:center;margin:28px 0 22px}
.login-copy h1{font-size:28px;line-height:1.25;letter-spacing:-.7px;margin-bottom:8px}
.login-copy p{font-size:13px;line-height:1.6}
.login-card{width:100%;padding:0;border:0;border-radius:0;box-shadow:none;background:#fff}
.role-switch{background:#f1f5f9;border-radius:10px;padding:4px}
.role-button{font-size:12px;border-radius:8px}
.role-button.active{color:var(--reference-orange-dark)}
.form-field span{color:#374151;font-size:12px}
.form-field input,.form-field select,.form-field textarea{min-height:44px;border-color:#d1d5db;border-radius:9px;font-size:13px}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--reference-orange);box-shadow:0 0 0 3px rgba(249,115,22,.12)}
.login-submit{min-height:45px;background:var(--reference-orange);border-radius:9px;box-shadow:none;font-size:12px;letter-spacing:.25px}
.login-submit:hover{background:var(--reference-orange-dark)}
.cashier-selected .login-submit{background:var(--reference-amber);box-shadow:none}
.demo-box{border:1px solid #e2e8f0;background:#f8fafc;border-radius:9px}

/* Admin: sidebar putih, aksen oranye, kanvas abu muda. */
#adminApp{background:var(--reference-slate)}
#adminApp .sidebar{width:260px;color:#334155;background:#fff;border-right:1px solid var(--reference-line);box-shadow:none}
#adminApp .side-brand{height:72px;padding:0 20px;border-bottom:1px solid var(--reference-line)}
#adminApp .side-brand .mini-logo{width:38px;height:38px;border-radius:10px;background:#fff7ed;color:var(--reference-orange);font-size:17px}
#adminApp .side-brand strong{color:#0f172a;font-size:16px;letter-spacing:-.25px}
#adminApp .side-brand small{color:#94a3b8;font-size:10px;opacity:1}
#adminApp .side-nav{padding:14px 12px 20px}
#adminApp .nav-title{padding:11px 10px 7px;color:#94a3b8;font-size:9px;opacity:1}
#adminApp .nav-link{min-height:41px;margin:2px 0;padding:9px 11px;border-radius:9px;color:#64748b;font-size:12px;font-weight:550}
#adminApp .nav-link:hover{background:#f8fafc;color:#0f172a}
#adminApp .nav-link.active{background:#fff7ed;color:var(--reference-orange-dark);font-weight:700;box-shadow:none}
#adminApp .nav-icon{width:19px;color:#94a3b8;font-size:14px}
#adminApp .nav-link.active .nav-icon,#adminApp .nav-link:hover .nav-icon{color:var(--reference-orange)}
#adminApp .nav-caret{color:#94a3b8;font-size:10px}
#adminApp .nav-sub{margin:2px 0 7px 19px;padding-left:11px;border-left:1px solid #e2e8f0}
#adminApp .nav-child{min-height:35px;padding:7px 9px;color:#64748b;font-size:11px}
#adminApp .nav-child:before{background:#cbd5e1}
#adminApp .nav-child.active:before{background:var(--reference-orange);box-shadow:0 0 0 3px #ffedd5}
#adminApp .nav-count{background:#fee2e2;color:#dc2626}
#adminApp .side-user{padding:12px;border-top:1px solid var(--reference-line)}
#adminApp .side-user-box{padding:9px;background:#f8fafc;border:1px solid #eef2f7;border-radius:10px}
#adminApp .side-user-box .avatar{background:#ffedd5;color:var(--reference-orange-dark)}
#adminApp .side-user-box strong{color:#334155}
#adminApp .side-user-box small{color:#94a3b8;opacity:1}
#adminApp .side-user-box a{background:#fff;color:#64748b;border:1px solid #e2e8f0;font-size:10px}
#adminApp .main{background:var(--reference-slate)}
#adminApp .topbar{height:72px;padding:0 24px;background:#fff;border-bottom:1px solid var(--reference-line)}
#adminApp .page-heading h1{color:#0f172a;font-size:20px;font-weight:700}
#adminApp .page-heading p{color:#94a3b8;font-size:10px}
#adminApp .top-chip{border-color:#e2e8f0;border-radius:8px;color:#64748b;background:#fff}
#adminApp .content{padding:22px}
#adminApp .kpi-card,#adminApp .panel,#adminApp .report-card{border-color:var(--reference-line);border-radius:13px;box-shadow:var(--reference-shadow)}
#adminApp .kpi-card{padding:17px}
#adminApp .kpi-icon{border-radius:11px}
#adminApp .kpi-icon.green{background:#dcfce7;color:#16a34a}
#adminApp .kpi-icon.orange{background:#ffedd5;color:var(--reference-orange)}
#adminApp .kpi-icon.blue{background:#dbeafe;color:#2563eb}
#adminApp .kpi-icon.red{background:#fee2e2;color:#dc2626}
#adminApp .panel-head{border-bottom-color:#eef2f7}
#adminApp .data-table th{background:#f8fafc;color:#64748b}
#adminApp .data-table td{border-bottom-color:#f1f5f9}
#adminApp .data-table tr:hover td{background:#fffaf5}
#adminApp .btn.primary,#adminApp .btn.orange{border-color:var(--reference-orange);background:var(--reference-orange);color:#fff}
#adminApp .btn.primary:hover,#adminApp .btn.orange:hover{border-color:var(--reference-orange-dark);background:var(--reference-orange-dark)}
#adminApp .search-input:focus,#adminApp .select-input:focus,#adminApp .date-input:focus,#adminApp .field input:focus,#adminApp .field select:focus,#adminApp .field textarea:focus{border-color:var(--reference-orange);box-shadow:0 0 0 3px rgba(249,115,22,.1)}
#adminApp .bar.sales{background:linear-gradient(180deg,#fb923c,var(--reference-orange-dark))}
#adminApp .bar.expense{background:linear-gradient(180deg,#60a5fa,#2563eb)}
#adminApp .legend .sales{background:var(--reference-orange)}
#adminApp .legend .expense{background:#3b82f6}
#adminApp .rank-no{background:#ffedd5;color:var(--reference-orange-dark)}
#adminApp .rank-row b{color:var(--reference-orange-dark)}
#adminApp .form-section-label{color:var(--reference-orange-dark)}
#adminApp .profit-line.subtotal{background:#fff7ed}
#adminApp .profit-line.total{background:#1e293b}

/* Kasir: header amber, drawer putih, kartu menu dan keranjang seperti acuan. */
.cashier-page{color:var(--reference-ink);background:var(--reference-slate)}
.cashier-page .cashier-header{height:64px;padding:0 20px;background:var(--reference-amber);box-shadow:0 2px 8px rgba(120,53,15,.16)}
.cashier-page .drawer-trigger{width:36px;height:36px;background:rgba(120,53,15,.22);font-size:15px}
.cashier-page .cashier-logo{width:39px;height:39px;color:var(--reference-amber);font-size:17px}
.cashier-page .cashier-brand strong{font-size:15px}
.cashier-page .cashier-top-btn{min-height:36px;padding:8px 11px;background:rgba(120,53,15,.22);font-size:10px}
.cashier-page .cashier-top-btn:hover{background:rgba(120,53,15,.35)}
.cashier-page .cashier-drawer{width:280px;color:#334155;background:#fff;border-right:1px solid var(--reference-line);box-shadow:15px 0 45px rgba(15,23,42,.15)}
.cashier-page .drawer-head{height:64px;border-bottom-color:var(--reference-line)}
.cashier-page .drawer-head strong{display:flex;align-items:center;gap:9px;color:#0f172a}
.cashier-page .drawer-close{background:#f1f5f9;color:#64748b}
.cashier-page .drawer-label{color:#94a3b8;opacity:1}
.cashier-page .drawer-link{min-height:42px;color:#64748b;font-size:12px}
.cashier-page .drawer-link .nav-fa{width:18px;text-align:center;color:#94a3b8}
.cashier-page .drawer-link:hover{background:#f8fafc;color:#0f172a}
.cashier-page .drawer-link.active{background:#fffbeb;color:#b45309;font-weight:700}
.cashier-page .drawer-link.active .nav-fa{color:var(--reference-amber)}
.cashier-page .drawer-footer{color:#94a3b8;border-top-color:var(--reference-line)}
.cashier-page .drawer-footer a{color:#64748b}
.cashier-page .pos-layout{grid-template-columns:minmax(600px,1fr) 384px;background:var(--reference-slate)}
.cashier-page .catalog-area{padding:18px;background:var(--reference-slate)}
.cashier-page .pos-search{height:43px;border-color:#e2e8f0;border-radius:10px;box-shadow:none}
.cashier-page .pos-search:focus-within{border-color:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.1)}
.cashier-page .pos-search input{font-size:12px}
.cashier-page .category-tabs{gap:8px;padding:11px 0 14px}
.cashier-page .category-tab{padding:8px 16px;border-color:#e2e8f0;border-radius:999px;color:#475569;font-size:10px}
.cashier-page .category-tab:hover{border-color:#f59e0b;color:#b45309}
.cashier-page .category-tab.active{border-color:var(--reference-amber);background:var(--reference-amber);color:#fff}
.cashier-page .product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.cashier-page .product-card{padding:0;border-color:#e2e8f0;border-radius:13px;box-shadow:var(--reference-shadow);overflow:hidden}
.cashier-page .product-card:hover{border-color:#f59e0b;box-shadow:0 9px 25px rgba(180,83,9,.12);transform:translateY(-1px)}
.cashier-page .product-image{height:auto;aspect-ratio:4/3;border-radius:0;padding:18px}
.cashier-page .product-info{padding:12px;gap:8px}
.cashier-page .product-info strong{font-size:12px;color:#1e293b}
.cashier-page .product-info b{font-size:12px;color:#b45309}
.cashier-page .product-add{background:var(--reference-amber);border-radius:8px;color:#fff}
.cashier-page .cart-area{width:auto;border-left:1px solid var(--reference-line);background:#fff;box-shadow:-8px 0 25px rgba(15,23,42,.03)}
.cashier-page .cart-header{min-height:62px;border-bottom-color:#eef2f7}
.cashier-page .cart-header h2{font-size:15px}
.cashier-page .clear-cart{color:#ef4444}
.cashier-page .cart-items{background:#fff}
.cashier-page .cart-summary{border-top-color:#e2e8f0;background:#fff}
.cashier-page .summary-line.total{color:#0f172a}
.cashier-page .checkout-button{background:var(--reference-amber);border-radius:10px;box-shadow:none}
.cashier-page .checkout-button:not(:disabled):hover{background:#b45309}
.cashier-page .cashier-content-page{background:var(--reference-slate)}
.cashier-page .cashier-page-inner{max-width:1320px}
.cashier-page .page-card-head,.cashier-page .cash-summary,.cashier-page .report-card,.cashier-page .panel{border-color:var(--reference-line);border-radius:13px;box-shadow:var(--reference-shadow)}
.cashier-page .active-order-tab.active,.cashier-page .order-type-option.active,.cashier-page .payment-option.active{border-color:#f59e0b;background:#fffbeb;color:#92400e}
.cashier-page .btn.orange{border-color:var(--reference-amber);background:var(--reference-amber)}
.cashier-page .field input:focus,.cashier-page .field select:focus,.cashier-page .field textarea:focus{border-color:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.1)}
.cashier-page .active-order-action.print{border-color:#111827;background:#111827;color:#fff}
.cashier-page .active-order-action.print .active-action-icon{background:rgba(255,255,255,.14);color:#fff}
.cashier-page .active-order-action.add{border-color:var(--reference-orange);background:var(--reference-orange);color:#fff}
.cashier-page .active-order-action.add .active-action-icon{background:rgba(255,255,255,.17);color:#fff}
.cashier-page .active-order-action.pay{border-color:#16a34a;background:#16a34a;color:#fff}
.cashier-page .active-order-action.pay .active-action-icon{background:rgba(255,255,255,.17);color:#fff}
.cashier-page .active-order-action.print:hover{border-color:#000;background:#000}
.cashier-page .active-order-action.add:hover{border-color:var(--reference-orange-dark);background:var(--reference-orange-dark)}
.cashier-page .active-order-action.pay:hover{border-color:#15803d;background:#15803d}

@media(max-width:1100px){
  .cashier-page .pos-layout{grid-template-columns:minmax(520px,1fr) 350px}
  .cashier-page .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  #adminApp .sidebar{width:min(290px,88vw)}
  .cashier-page{overflow:auto}
  .cashier-page .cashier-app{height:auto;min-height:100vh;overflow:visible}
  .cashier-page .cashier-main{min-height:calc(100vh - 64px)}
  .cashier-page .cashier-view{height:auto;min-height:calc(100vh - 64px)}
  .cashier-page .pos-layout{height:auto;grid-template-columns:1fr}
  .cashier-page .catalog-area{min-height:620px;overflow:visible}
  .cashier-page .catalog-scroll{overflow:visible}
  .cashier-page .cart-area{height:auto;min-height:480px;border-left:0;border-top:1px solid var(--reference-line)}
}
@media(max-width:640px){
  .login-layout{padding:16px}
  .login-left{padding:25px 20px;border-radius:16px}
  .login-copy h1{font-size:24px}
  #adminApp .topbar{padding:0 14px}
  #adminApp .content{padding:12px}
  .cashier-page .cashier-header{padding:0 11px}
  .cashier-page .cashier-logo{display:none}
  .cashier-page .cashier-brand small{display:none}
  .cashier-page .cashier-top-btn{width:36px;padding:0;justify-content:center}
  .cashier-page .cashier-top-btn span{display:none}
  .cashier-page .catalog-area{padding:12px;min-height:540px}
  .cashier-page .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .cashier-page .product-info{padding:9px}
}


/* ===== Stability and black-screen compatibility fix v3.2 ===== */
.cashier-page .cashier-drawer-overlay,
.cashier-page .modal-backdrop{
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
.cashier-page .cashier-drawer-overlay{background:rgba(16,24,40,.24)!important}
.cashier-page .modal-backdrop{background:rgba(16,24,40,.30)!important}
.cashier-page .modal{background:#fff!important;color:var(--ink)!important;opacity:1!important}
.cashier-page svg.ui-icon,
.cashier-page svg.nav-icon{fill:none!important;stroke:currentColor!important;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}

/* ===== Admin clean orange dashboard v4.0 ===== */
#adminApp{--admin-orange:#f97316;--admin-orange-dark:#ea580c;--admin-canvas:#fffaf6;--admin-line:#ece7e2;background:var(--admin-canvas)}
#adminApp .main,#adminApp .content{background:var(--admin-canvas)}
#adminApp .sidebar,#adminApp .topbar,#adminApp .panel,#adminApp .kpi-card,#adminApp .report-card{background:#fff}
#adminApp .sidebar{border-right-color:#f0e8e1}
#adminApp .topbar{border-bottom-color:#f0e8e1;box-shadow:0 1px 0 rgba(124,45,18,.02)}
#adminApp .panel,#adminApp .kpi-card,#adminApp .report-card{border-color:#eee7e1;box-shadow:0 8px 26px rgba(124,45,18,.045)}
#adminApp .nav-link.active{background:#fff1e8;color:#c2410c;box-shadow:inset 3px 0 0 var(--admin-orange)}
#adminApp .dashboard-filter{margin-bottom:15px;border-color:#fed7bd}
#adminApp .dashboard-filter .panel-head{flex-wrap:wrap}
#adminApp .dashboard-kpis .kpi-card{position:relative;border-width:1px;transition:transform .2s ease,box-shadow .2s ease}
#adminApp .dashboard-kpis .kpi-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(124,45,18,.09)}
#adminApp .kpi-card.outline-orange{border-color:#fb923c}
#adminApp .kpi-card.outline-blue{border-color:#60a5fa}
#adminApp .kpi-card.outline-green{border-color:#4ade80}
#adminApp .kpi-card.outline-red{border-color:#fb7185}
.payment-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:15px}
.payment-summary{position:relative;display:flex;align-items:center;gap:13px;min-height:100px;padding:17px 18px;background:#fff;border:1px solid #eee7e1;border-radius:13px;overflow:hidden;box-shadow:0 8px 26px rgba(124,45,18,.045)}
.payment-summary:after{content:"";position:absolute;inset:auto 0 0;height:3px;background:var(--channel-color)}
.payment-summary>span{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--channel-bg);color:var(--channel-color);font-size:18px}
.payment-summary small,.payment-summary em{display:block;color:#7c6f68;font-size:9px;font-style:normal}
.payment-summary strong{display:block;margin:5px 0 4px;color:#1f1713;font-size:18px}
.payment-summary.cash{--channel-color:#16a34a;--channel-bg:#dcfce7;border-color:#86efac}
.payment-summary.qris{--channel-color:#2563eb;--channel-bg:#dbeafe;border-color:#93c5fd}
.payment-summary.grab{--channel-color:#00b14f;--channel-bg:#dcfce7;border-color:#4ade80}
.line-chart{height:300px;position:relative;overflow:visible}
.line-chart svg{width:100%;height:100%;overflow:visible}
.chart-grid-line{stroke:#ece7e2;stroke-width:1;stroke-dasharray:4 5;vector-effect:non-scaling-stroke}
.chart-y-label,.chart-x-label{fill:#8a7c73;font-size:10px;font-weight:600}
.line-path{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 3px 4px rgba(15,23,42,.08))}
.sales-line{stroke:#f97316}.expense-line{stroke:#3b82f6}.line-area{fill:url(#salesFill)}
.chart-point{stroke:#fff;stroke-width:2;vector-effect:non-scaling-stroke;transition:r .15s ease}.sales-point{fill:#f97316}.expense-point{fill:#3b82f6}
.line-hit>line{stroke:transparent;stroke-width:26;vector-effect:non-scaling-stroke;cursor:crosshair}
.line-hit.active .chart-point{r:6}
.line-chart-tooltip{position:absolute;z-index:4;display:none;min-width:164px;transform:translateX(-50%);padding:10px 11px;background:#231a16;color:#fff;border-radius:10px;box-shadow:0 12px 28px rgba(35,26,22,.22);pointer-events:none;font-size:9px}
.line-chart-tooltip.show{display:flex;flex-direction:column;gap:6px}
.line-chart-tooltip strong{font-size:10px}.line-chart-tooltip span{display:flex;align-items:center;gap:6px;color:#e7dfda}
.line-chart-tooltip i{width:7px;height:7px;border-radius:50%}.sales-dot{background:#fb923c}.expense-dot{background:#60a5fa}
#adminApp .legend .sales{background:#f97316}#adminApp .legend .expense{background:#3b82f6}
.grabfood-settings{display:grid;gap:15px}
.integration-status-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:15px;padding:18px;background:linear-gradient(135deg,#fff 60%,#f0fff6);border:1px solid #86efac;border-radius:14px;box-shadow:0 8px 26px rgba(0,177,79,.07)}
.grabfood-mark{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#00b14f;color:#fff;font-size:20px}
.integration-status-card small{font-size:8px;letter-spacing:1px;color:#00a348;font-weight:850}.integration-status-card h2{font-size:15px;margin:4px 0}.integration-status-card p{font-size:9px;color:#667085;margin:0;line-height:1.5}
.integration-note{display:flex;gap:9px;align-items:flex-start;margin-top:14px;padding:11px 12px;border:1px solid #fed7aa;border-radius:10px;background:#fff7ed;color:#9a4b12;font-size:9px;line-height:1.55}
.endpoint-list{padding:8px 16px}.endpoint-row{display:grid;grid-template-columns:190px minmax(220px,1fr) auto;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid #f1ece8}.endpoint-row:last-child{border-bottom:0}.endpoint-row strong,.endpoint-row small{display:block}.endpoint-row strong{font-size:10px}.endpoint-row small{margin-top:3px;font-size:8px;color:#8a7c73}.endpoint-row code{overflow:auto;padding:8px 9px;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;color:#9a4b12;font-size:9px;white-space:nowrap}
.partner-credential-box{display:grid;grid-template-columns:160px minmax(0,1fr);align-items:center;gap:8px 12px;margin:15px 16px 4px;padding:12px;border:1px solid #dbeafe;border-radius:10px;background:#f8fbff}.partner-credential-box span{font-size:9px;font-weight:800;color:#475569}.partner-credential-box code{padding:7px 8px;border-radius:7px;background:#fff;border:1px solid #dbeafe;color:#1d4ed8;font-size:9px;overflow:auto}.partner-credential-box small{grid-column:1/-1;color:#64748b;font-size:8px}
@media(max-width:900px){.payment-summary-grid{grid-template-columns:1fr}.endpoint-row{grid-template-columns:1fr}.integration-status-card{grid-template-columns:auto 1fr}.integration-status-card>.status{grid-column:1/-1;width:max-content}}
@media(max-width:640px){.line-chart{height:250px}.dashboard-filter .toolbar{display:grid;grid-template-columns:1fr auto 1fr}.dashboard-filter .toolbar .btn{grid-column:1/-1}.chart-y-label,.chart-x-label{font-size:8px}}
.pos-search>.ui-icon{width:17px;height:17px;color:#98a2b3;flex:0 0 auto}
.clear-cart{display:inline-flex;align-items:center;gap:5px}
.clear-cart>.ui-icon{width:14px;height:14px}
.checkout-button{display:flex;align-items:center;justify-content:center;gap:7px}
.checkout-button>.ui-icon{width:15px;height:15px}
.cart-empty{display:flex;min-height:180px;align-items:center;justify-content:center;flex-direction:column;gap:10px}
.cart-empty-icon{width:36px!important;height:36px!important;color:#b0bac6}
.form-actions .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px}
.form-actions .btn>.ui-icon{width:15px;height:15px}
.product-image{background-color:var(--orange-600);isolation:isolate}
.product-image:after{pointer-events:none}
.cashier-page button:focus-visible,.cashier-page input:focus-visible,.cashier-page select:focus-visible,.cashier-page textarea:focus-visible{outline:2px solid rgba(229,122,0,.36);outline-offset:2px}
@media(max-width:640px){
  .cashier-page .modal-backdrop{padding:10px;background:rgba(16,24,40,.24)!important}
  .cashier-page .modal{max-height:94vh}
}


/* ===== Kasir scale & active-order submenu v3.3 ===== */
.cashier-page{font-size:15px}
.cashier-page .cashier-header{height:72px;padding:0 20px;gap:20px}
.cashier-page .cashier-brand{gap:13px}
.cashier-page .drawer-trigger{width:42px;height:42px;border-radius:11px}
.cashier-page .drawer-trigger .ui-icon{width:22px;height:22px}
.cashier-page .cashier-logo{width:46px;height:46px;border-radius:12px}
.cashier-page .cashier-logo .ui-icon{width:25px;height:25px}
.cashier-page .cashier-brand strong{font-size:20px;letter-spacing:-.025em}
.cashier-page .cashier-brand small{font-size:12px;margin-top:4px}
.cashier-page .cashier-top-actions{gap:10px}
.cashier-page .cashier-top-btn{min-height:40px;padding:10px 14px;border-radius:10px;font-size:13px;gap:8px}
.cashier-page .cashier-top-btn .ui-icon{width:17px;height:17px}
.cashier-page .cashier-top-btn .badge{width:21px;height:21px;font-size:10px}
.cashier-page .cashier-drawer{width:320px}
.cashier-page .drawer-head{height:72px;padding:0 20px}
.cashier-page .drawer-head strong{font-size:17px}
.cashier-page .drawer-link{padding:16px 24px;font-size:15px;gap:17px}
.cashier-page .drawer-link .nav-icon{width:21px;height:21px}
.cashier-page .drawer-label{font-size:11px;padding:22px 18px 10px}
.cashier-page .drawer-footer{height:60px;font-size:11px}
.cashier-page .pos-layout{grid-template-columns:minmax(650px,1fr) 410px}
.cashier-page .catalog-area{padding:17px}
.cashier-page .pos-search{height:50px;border-radius:13px;padding:0 15px;gap:11px}
.cashier-page .pos-search>.ui-icon{width:20px;height:20px}
.cashier-page .pos-search input{font-size:14px}
.cashier-page .category-tabs{gap:9px;padding:11px 0 13px}
.cashier-page .category-tab{padding:9px 18px;font-size:12px}
.cashier-page .product-grid{gap:14px}
.cashier-page .product-card{border-radius:14px;padding:10px}
.cashier-page .product-image{height:clamp(190px,30vh,330px);border-radius:11px}
.cashier-page .product-title-large{font-size:clamp(28px,3.2vw,52px)}
.cashier-page .product-category-badge{right:9px;top:9px;padding:4px 9px;font-size:9px}
.cashier-page .product-info{grid-template-columns:1fr 36px;gap:10px;padding:11px 2px 2px}
.cashier-page .product-info strong{font-size:13px;margin-bottom:8px}
.cashier-page .product-info b{font-size:13px}
.cashier-page .product-add{width:34px;height:34px;border-radius:10px;font-size:21px}
.cashier-page .cart-header{height:58px;padding:0 16px}
.cashier-page .cart-header h2{font-size:15px;gap:8px}
.cashier-page .cart-header h2:before{font-size:19px}
.cashier-page .clear-cart{font-size:12px;gap:7px}
.cashier-page .clear-cart>.ui-icon{width:16px;height:16px}
.cashier-page .cart-items{padding:5px 16px}
.cashier-page .cart-empty{font-size:13px}
.cashier-page .cart-row{padding:17px 0 16px}
.cashier-page .cart-top{grid-template-columns:minmax(0,1fr) auto 22px;gap:9px}
.cashier-page .cart-top h4{font-size:13px}
.cashier-page .cart-line-price{font-size:12px}
.cashier-page .cart-remove{font-size:15px}
.cashier-page .cart-bottom{margin-top:12px;gap:12px}
.cashier-page .qty-control{gap:9px}
.cashier-page .qty-control button{width:30px;height:30px;border-radius:9px;font-size:15px}
.cashier-page .qty-control span{font-size:13px;min-width:16px}
.cashier-page .cart-note{width:min(205px,58%);height:34px;border-radius:9px;padding:6px 10px;font-size:11px}
.cashier-page .cart-summary{padding:12px 16px}
.cashier-page .summary-line{font-size:11px;padding:4px 0}
.cashier-page .summary-line.total{font-size:14px;padding-top:9px}
.cashier-page .checkout-button{padding:14px;font-size:13px;border-radius:10px;margin-top:10px}
.cashier-page .checkout-button>.ui-icon{width:17px;height:17px}
.cashier-page .cashier-content-page{padding:24px}
.cashier-page .cashier-page-inner{max-width:1280px}
.cashier-page .page-card-head{padding:19px 21px;border-radius:15px;margin-bottom:16px}
.cashier-page .page-card-head h2{font-size:20px;margin-bottom:6px}
.cashier-page .page-card-head p{font-size:12px;line-height:1.55}
.cashier-page .btn{min-height:40px;padding:10px 15px;font-size:12px;border-radius:9px}
.cashier-page .panel-head h2,.cashier-page .panel-head h3{font-size:16px}
.cashier-page .panel-head p{font-size:11px}
.cashier-page .data-table{font-size:12px}
.cashier-page .data-table th,.cashier-page .data-table td{padding:13px 14px}
.cashier-page .cash-summary small{font-size:11px}
.cashier-page .cash-summary strong{font-size:21px}
.cashier-page .history-row{font-size:12px;padding:14px 16px}
.cashier-page .history-row strong{font-size:12px}
.cashier-page .history-row small{font-size:10px}
.cashier-page .orders-grid{gap:16px}
.cashier-page .order-card{padding:18px}
.cashier-page .order-head h3{font-size:15px;margin-bottom:6px}
.cashier-page .order-head p{font-size:11px}
.cashier-page .order-total{font-size:24px;margin:17px 0 11px}
.cashier-page .order-items{font-size:11px;line-height:1.75;min-height:58px}
.cashier-page .status{font-size:10px;padding:5px 8px}
.cashier-page .modal{font-size:14px}
.cashier-page .modal-head h3{font-size:18px}
.cashier-page .modal-body{padding:20px}
.cashier-page .field>label{font-size:12px}
.cashier-page .field input,.cashier-page .field select,.cashier-page .field textarea{font-size:13px;min-height:43px}
.cashier-page .payment-option,.cashier-page .order-type-option{font-size:12px;padding:12px 10px}
.cashier-page .payment-total small{font-size:11px}
.cashier-page .payment-total strong{font-size:28px}

.active-order-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:16px}
.active-order-tab{border:1px solid #dfe5ec;background:#fff;border-radius:15px;padding:16px 18px;display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:13px;text-align:left;color:#344054;box-shadow:0 2px 8px rgba(31,47,65,.04);transition:.18s}
.active-order-tab:hover{border-color:#f1b36d;box-shadow:0 7px 20px rgba(190,92,0,.09)}
.active-order-tab.active{border-color:#e57a00;background:#fff8ef;box-shadow:0 0 0 2px rgba(229,122,0,.08)}
.active-order-tab-icon{width:46px;height:46px;border-radius:13px;background:#f2f4f7;color:#667085;display:grid;place-items:center}
.active-order-tab-icon .ui-icon{width:23px;height:23px}
.active-order-tab.active .active-order-tab-icon{background:#ffe5c2;color:#c85e00}
.active-order-tab>span:nth-child(2){min-width:0}
.active-order-tab strong{display:block;font-size:15px;margin-bottom:4px}
.active-order-tab small{display:block;font-size:11px;color:#7b8796;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.active-order-tab b{min-width:29px;height:29px;padding:0 8px;border-radius:999px;background:#eef1f5;color:#475467;display:grid;place-items:center;font-size:12px}
.active-order-tab.active b{background:#e57a00;color:#fff}
.active-order-section-head{display:flex;align-items:center;justify-content:space-between;margin:5px 2px 13px}
.active-order-section-head h3{font-size:17px;margin:0 0 4px}
.active-order-section-head p{font-size:11px;color:var(--muted);margin:0}
.active-order-empty{padding:48px 20px;font-size:13px}

@media(max-width:1280px){
  .cashier-page .pos-layout{grid-template-columns:minmax(560px,1fr) 380px}
  .cashier-page .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cashier-page .product-image{height:230px}
  .cashier-page .product-title-large{font-size:38px}
}
@media(max-width:900px){
  .cashier-page .cashier-header{height:66px;padding:0 12px}
  .cashier-page .cashier-top-btn{min-height:38px;padding:9px 11px;font-size:12px}
  .cashier-page .pos-layout{grid-template-columns:1fr}
  .cashier-page .catalog-area{height:68vh}
  .cashier-page .cart-area{height:560px}
  .cashier-page .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cashier-page .orders-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .cashier-page .cashier-header{height:62px;padding:0 9px}
  .cashier-page .drawer-trigger{width:38px;height:38px}
  .cashier-page .cashier-brand{gap:8px}
  .cashier-page .cashier-brand strong{font-size:15px}
  .cashier-page .cashier-brand small{font-size:9px}
  .cashier-page .cashier-top-actions{gap:5px}
  .cashier-page .cashier-top-btn{min-height:36px;padding:8px}
  .cashier-page .cashier-top-btn span{display:none}
  .cashier-page .cashier-drawer{width:min(320px,90vw)}
  .cashier-page .drawer-link{font-size:14px;padding:15px 21px}
  .cashier-page .catalog-area{padding:11px;height:66vh}
  .cashier-page .pos-search{height:45px}
  .cashier-page .category-tab{font-size:11px;padding:8px 14px}
  .cashier-page .product-grid{gap:9px}
  .cashier-page .product-card{padding:7px}
  .cashier-page .product-image{height:155px}
  .cashier-page .product-title-large{font-size:24px}
  .cashier-page .product-info{grid-template-columns:1fr 31px;padding-top:8px}
  .cashier-page .product-info strong,.cashier-page .product-info b{font-size:11px}
  .cashier-page .product-add{width:30px;height:30px}
  .cashier-page .cart-area{height:540px}
  .cashier-page .cashier-content-page{padding:13px}
  .cashier-page .page-card-head{padding:16px;align-items:flex-start;flex-direction:column}
  .cashier-page .page-card-head h2{font-size:18px}
  .cashier-page .page-card-head p{font-size:11px}
  .active-order-tabs{grid-template-columns:1fr;gap:10px}
  .active-order-tab{padding:13px 14px;grid-template-columns:42px minmax(0,1fr) auto}
  .active-order-tab-icon{width:42px;height:42px}
  .active-order-tab strong{font-size:14px}
  .active-order-tab small{font-size:10px}
  .cashier-page .orders-grid{grid-template-columns:1fr}
}


/* ===== Pesanan aktif: cetak, tambah menu, dan bayar v3.4 ===== */
.add-order-banner{position:absolute;left:0;right:410px;top:0;z-index:12;min-height:58px;background:#fff8eb;border-bottom:1px solid #f3c178;box-shadow:0 5px 16px rgba(146,78,0,.09);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 18px;color:#7a3f00}
.add-order-banner.hidden{display:none!important}
.add-order-banner-info{display:flex;align-items:center;gap:11px;min-width:0}
.add-order-banner-icon{width:38px;height:38px;border-radius:11px;background:#e57a00;color:#fff;display:grid;place-items:center;flex:0 0 auto}
.add-order-banner-icon .ui-icon{width:21px;height:21px}
.add-order-banner strong{display:block;font-size:13px;margin-bottom:3px}
.add-order-banner small{display:block;font-size:11px;color:#9a5c16;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.add-order-banner button{border:1px solid #e6a24a;background:#fff;color:#a65300;border-radius:9px;padding:9px 13px;font-size:11px;font-weight:750;flex:0 0 auto}
.add-order-banner:not(.hidden)+.pos-layout .catalog-area,.add-order-banner:not(.hidden)+.pos-layout .cart-area{padding-top:72px}
.active-order-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:17px}
.active-order-action{min-width:0;border:1px solid #e0e6ed;background:#fff;color:#344054;border-radius:11px;padding:9px 7px;display:flex;align-items:center;justify-content:flex-start;gap:8px;text-align:left;font-family:inherit;font-size:11px;font-weight:750;line-height:1.2;transition:.16s}
.active-order-action:hover{border-color:#bbc4cf;box-shadow:0 5px 14px rgba(31,47,65,.08);transform:translateY(-1px)}
.active-action-icon{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;flex:0 0 auto}
.active-action-icon .ui-icon{width:17px;height:17px}
.active-order-action.print .active-action-icon{background:#111827;color:#fff}
.active-order-action.add .active-action-icon{background:#fff0d6;color:#d66a00}
.active-order-action.pay{border-color:#b9dfc9;color:#177240;background:#f7fcf9}
.active-order-action.pay .active-action-icon{background:#20a15b;color:#fff}
.active-order-action.pay:hover{border-color:#20a15b;box-shadow:0 5px 14px rgba(32,161,91,.13)}
.cancel-order-link{display:block;border:0;background:transparent;color:#d14343;font-family:inherit;font-size:10px;margin:11px auto 0;padding:4px 8px;text-decoration:underline;text-underline-offset:3px}
.receipt-logo-black{width:56px;height:56px;margin:0 auto 8px}
.receipt-logo-black svg{display:block;width:100%;height:100%}
.receipt-unpaid{border:2px solid #111;text-align:center;font-weight:900;letter-spacing:1.2px;padding:5px 8px;margin:9px 0;font-size:11px}
@media(max-width:1280px){.add-order-banner{right:380px}.active-order-action{font-size:10px;gap:6px}.active-action-icon{width:30px;height:30px}}
@media(max-width:900px){.add-order-banner{right:0;position:relative}.add-order-banner:not(.hidden)+.pos-layout .catalog-area,.add-order-banner:not(.hidden)+.pos-layout .cart-area{padding-top:17px}.active-order-actions{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:480px){.add-order-banner{align-items:flex-start;padding:10px 12px}.add-order-banner small{white-space:normal}.active-order-actions{grid-template-columns:1fr}.active-order-action{font-size:12px}.active-action-icon{width:36px;height:36px}.cancel-order-link{font-size:11px}}

/* ===== Admin navigation & management modules v2.0 ===== */
#adminApp .sidebar{width:278px}
#adminApp .side-brand{height:78px;padding:0 20px}
#adminApp .side-brand strong{font-size:18px}
#adminApp .side-brand small{font-size:11px}
#adminApp .side-nav{padding:13px 11px 20px}
#adminApp .nav-title{font-size:10px;padding:13px 12px 7px}
#adminApp .nav-link{min-height:42px;padding:10px 12px;font-size:13px;gap:11px}
#adminApp .nav-link>span:nth-child(2){min-width:0;flex:1}
#adminApp .nav-parent{position:relative}
#adminApp .nav-caret{margin-left:auto;flex:0 0 auto!important;font-size:15px;transition:transform .18s}
#adminApp .nav-parent.expanded .nav-caret{transform:rotate(180deg)}
#adminApp .nav-sub{display:none;margin:2px 0 7px 18px;padding-left:11px;border-left:1px solid rgba(255,255,255,.2)}
#adminApp .nav-sub.open{display:block}
#adminApp .nav-child{min-height:36px;padding:8px 10px;font-size:12px;color:rgba(255,255,255,.72)}
#adminApp .nav-child:before{content:"";width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.42);flex:0 0 auto}
#adminApp .nav-child.active:before{background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.12)}
#adminApp .side-user-box a{font-size:11px;font-weight:750;padding:7px 8px;border-radius:7px;background:rgba(255,255,255,.1)}
#adminApp .topbar{height:78px;padding:0 25px}
#adminApp .page-heading h1{font-size:22px}
#adminApp .page-heading p{font-size:11px}
#adminApp .content{padding:24px}
#adminApp .kpi-card small{font-size:10px}
#adminApp .kpi-card strong{font-size:20px}
#adminApp .kpi-card em{font-size:10px}
#adminApp .panel-head{min-height:64px;padding:15px 18px}
#adminApp .panel-head h2,#adminApp .panel-head h3{font-size:15px}
#adminApp .panel-head p{font-size:10px;line-height:1.5}
#adminApp .data-table th{font-size:10px;padding:12px 14px}
#adminApp .data-table td{font-size:11px;padding:13px 14px}
#adminApp .data-table td strong{font-size:11px}
#adminApp .btn{font-size:11px;padding:9px 12px}
#adminApp .btn.small{font-size:10px;padding:7px 9px}
#adminApp .field label{font-size:10px}
#adminApp .field input,#adminApp .field select,#adminApp .field textarea{font-size:11px;min-height:40px}
#adminApp .status{font-size:9px;padding:5px 8px}
#adminApp .compact-kpis{grid-template-columns:repeat(2,minmax(0,260px))}
#adminApp .form-section-label{font-size:10px;text-transform:uppercase;letter-spacing:.7px;color:var(--green-700);font-weight:850;margin:15px 0 10px;padding-top:14px;border-top:1px solid var(--line)}
#adminApp .report-filter{margin-bottom:15px}
#adminApp .report-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
#adminApp .report-card small{font-size:10px}
#adminApp .report-card strong{font-size:18px}
#adminApp .profit-statement{max-width:820px;margin:0 auto;padding:8px 22px}
#adminApp .profit-line{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 4px;border-bottom:1px solid var(--line);font-size:13px}
#adminApp .profit-line strong{font-size:15px}
#adminApp .profit-line.expense strong{color:var(--red)}
#adminApp .profit-line.subtotal{font-weight:800;background:var(--green-50);margin:0 -12px;padding:17px 16px}
#adminApp .profit-line.total{border:0;margin:0 -12px;padding:19px 16px;background:var(--green-800);color:#fff;border-radius:0 0 12px 12px;font-weight:900}
#adminApp .profit-line.total strong{font-size:20px}
#adminApp .report-note{max-width:820px;margin:13px auto 0;padding:12px 14px;background:#fff8ed;border:1px solid #f6d4a8;border-radius:10px;color:#875018;font-size:10px;line-height:1.6}
#adminApp .selection-cell{width:42px;text-align:center;padding-left:10px;padding-right:10px}
#adminApp .selection-cell input{width:17px;height:17px;accent-color:var(--green-700);cursor:pointer}
#adminApp #deleteSelectedProductsBtn span{min-width:20px;height:20px;display:inline-grid;place-items:center;border-radius:999px;background:#ffe1e4;color:#b42331;font-size:9px}
#adminApp .balance-columns{display:grid;grid-template-columns:1fr 1fr;gap:15px;align-items:start}
#adminApp .balance-columns .profit-statement{width:100%;max-width:none;margin:0}
#adminApp .balance-heading{padding:14px 4px 10px;border-bottom:1px solid var(--line)}
#adminApp .balance-heading h3{margin:0 0 4px;font-size:15px;color:var(--green-800)}
#adminApp .balance-heading small{font-size:9px;color:var(--muted)}
#adminApp .report-asof-label{font-size:10px;font-weight:800;color:#667085}
#adminApp .printer-hint{margin-top:16px;padding:13px 14px;border-radius:10px;background:#f4f7fa;color:#5f6e80;font-size:10px;line-height:1.6}

@media(max-width:1150px){
  #adminApp .sidebar{width:260px}
  #adminApp .report-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){
  #adminApp .sidebar{width:min(300px,88vw)}
  #adminApp .content{padding:16px}
  #adminApp .topbar{padding:0 15px}
  #adminApp .compact-kpis{grid-template-columns:repeat(2,1fr)}
  #adminApp .balance-columns{grid-template-columns:1fr}
}
@media(max-width:640px){
  #adminApp .content{padding:12px}
  #adminApp .topbar-right .top-chip:last-child{display:none}
  #adminApp .page-heading h1{font-size:18px}
  #adminApp .page-heading p{font-size:9px}
  #adminApp .panel-head{align-items:flex-start;flex-direction:column}
  #adminApp .panel-head .toolbar{width:100%}
  #adminApp .panel-head .toolbar .btn{flex:1}
  #adminApp .compact-kpis,#adminApp .report-grid{grid-template-columns:1fr}
  #adminApp .profit-statement{padding:6px 15px}
  #adminApp .profit-line{font-size:11px}
  #adminApp .profit-line strong{font-size:12px}
}

/* Final cascade guard: modul v2.0/v3.4 di atas tetap memakai tema acuan v2.1. */
#adminApp .sidebar{width:260px;color:#334155;background:#fff;border-right:1px solid var(--reference-line)}
#adminApp .side-brand{height:72px;padding:0 20px;border-bottom-color:var(--reference-line)}
#adminApp .side-brand strong{font-size:16px;color:#0f172a}
#adminApp .side-brand small{font-size:10px;color:#94a3b8;opacity:1}
#adminApp .side-nav{padding:14px 12px 20px}
#adminApp .nav-title{font-size:9px;color:#94a3b8;opacity:1}
#adminApp .nav-link{min-height:41px;padding:9px 11px;color:#64748b;font-size:12px}
#adminApp .nav-link:hover{background:#f8fafc;color:#0f172a}
#adminApp .nav-link.active{background:#fff7ed;color:var(--reference-orange-dark)}
#adminApp .nav-sub{border-left-color:#e2e8f0}
#adminApp .nav-child{min-height:35px;padding:7px 9px;color:#64748b;font-size:11px}
#adminApp .nav-child:before{background:#cbd5e1}
#adminApp .nav-child.active:before{background:var(--reference-orange);box-shadow:0 0 0 3px #ffedd5}
#adminApp .side-user-box a{background:#fff;color:#64748b;border:1px solid #e2e8f0}
#adminApp .topbar{height:72px;padding:0 24px}
#adminApp .content{padding:22px}
#adminApp .form-section-label{color:var(--reference-orange-dark)}
#adminApp .profit-line.subtotal{background:#fff7ed}
#adminApp .profit-line.total{background:#1e293b}

.cashier-page .active-order-action.print{border-color:#111827;background:#111827;color:#fff}
.cashier-page .active-order-action.print .active-action-icon{background:rgba(255,255,255,.14);color:#fff}
.cashier-page .active-order-action.add{border-color:var(--reference-orange);background:var(--reference-orange);color:#fff}
.cashier-page .active-order-action.add .active-action-icon{background:rgba(255,255,255,.17);color:#fff}
.cashier-page .active-order-action.pay{border-color:#16a34a;background:#16a34a;color:#fff}
.cashier-page .active-order-action.pay .active-action-icon{background:rgba(255,255,255,.17);color:#fff}
.cashier-page .active-order-action.print:hover{border-color:#000;background:#000}
.cashier-page .active-order-action.add:hover{border-color:var(--reference-orange-dark);background:var(--reference-orange-dark)}
.cashier-page .active-order-action.pay:hover{border-color:#15803d;background:#15803d}

@media(max-width:1150px){#adminApp .sidebar{width:260px}}
@media(max-width:900px){
  #adminApp .sidebar{width:min(290px,88vw)}
  #adminApp .content{padding:16px}
  #adminApp .topbar{padding:0 15px}
  .cashier-page{overflow:auto}
  .cashier-page .cashier-app{height:auto;min-height:100vh;overflow:visible}
  .cashier-page .cashier-main{min-height:calc(100vh - 64px)}
  .cashier-page .cashier-view{height:auto;min-height:calc(100vh - 64px)}
  .cashier-page .pos-layout{height:auto;grid-template-columns:1fr}
  .cashier-page .catalog-area{height:auto;min-height:620px;overflow:visible}
  .cashier-page .catalog-scroll{overflow:visible}
  .cashier-page .cart-area{height:auto;min-height:480px;border-left:0;border-top:1px solid var(--reference-line)}
}
@media(max-width:640px){
  #adminApp .content{padding:12px}
  #adminApp .topbar{padding:0 14px}
  .cashier-page .cashier-header{height:64px;padding:0 11px}
  .cashier-page .cashier-logo{display:none}
  .cashier-page .cashier-brand small{display:none}
  .cashier-page .cashier-top-btn{width:36px;min-height:36px;padding:0;justify-content:center}
  .cashier-page .catalog-area{height:auto;min-height:540px;padding:12px}
  .cashier-page .product-card{padding:0}
  .cashier-page .product-image{height:auto;aspect-ratio:4/3}
  .cashier-page .product-info{padding:9px}
  .cashier-page .cart-area{height:auto}
}

/* ===== v3.0 Sage Orange Admin + Kategori & Absensi ===== */
:root{
  --sage-950:#313a30;
  --sage-900:#3f4b3d;
  --sage-800:#52604f;
  --sage-700:#687765;
  --sage-500:#91a08b;
  --sage-300:#c5cec0;
  --sage-200:#dbe1d6;
  --sage-100:#e9ede5;
  --sage-50:#f4f6f1;
  --earth-orange:#d9793f;
  --earth-orange-dark:#bd6230;
  --earth-orange-soft:#f7e8dc;
}

/* Admin bernuansa sage yang hangat dengan aksen oranye tanah. */
#adminApp{background:#f2f4ef;color:#2f382e}
#adminApp .main{background:#f2f4ef}
#adminApp .sidebar{background:#f8f9f6;border-right-color:#dfe4da;box-shadow:8px 0 30px rgba(63,75,61,.04)}
#adminApp .side-brand{background:linear-gradient(135deg,#f8f9f6,#f1f4ed);border-bottom-color:#dfe4da}
#adminApp .side-brand .mini-logo{background:var(--earth-orange-soft);color:var(--earth-orange-dark);box-shadow:inset 0 0 0 1px rgba(189,98,48,.08)}
#adminApp .side-brand strong{color:var(--sage-950)}
#adminApp .side-brand small,#adminApp .nav-title{color:#8a9585}
#adminApp .nav-link{color:#687364}
#adminApp .nav-icon{color:#94a08f}
#adminApp .nav-link:hover{background:#eef1eb;color:var(--sage-900)}
#adminApp .nav-link:hover .nav-icon{color:var(--sage-700)}
#adminApp .nav-link.active{background:linear-gradient(90deg,#f7e8dc,#f2eee6);color:var(--earth-orange-dark);box-shadow:inset 3px 0 0 var(--earth-orange)}
#adminApp .nav-link.active .nav-icon{color:var(--earth-orange)}
#adminApp .nav-sub{border-left-color:#d7ded2}
#adminApp .nav-child.active:before{background:var(--earth-orange);box-shadow:0 0 0 3px var(--earth-orange-soft)}
#adminApp .side-user{border-top-color:#dfe4da;background:#f5f7f2}
#adminApp .side-user-box{background:#fff;border-color:#e2e6de}
#adminApp .side-user-box .avatar{background:var(--sage-100);color:var(--sage-800)}
#adminApp .topbar{background:rgba(255,255,255,.92);border-bottom-color:#e1e5dd;box-shadow:0 3px 18px rgba(63,75,61,.035)}
#adminApp .page-heading h1{color:var(--sage-950)}
#adminApp .page-heading p,#adminApp .top-chip{color:#7f8a7b}
#adminApp .top-chip{border-color:#dfe4da;background:#fafbf9}
#adminApp .panel,#adminApp .kpi-card,#adminApp .report-card{border-color:#dfe4da;box-shadow:0 1px 3px rgba(63,75,61,.045),0 9px 28px rgba(63,75,61,.035)}
#adminApp .panel-head{border-bottom-color:#edf0ea}
#adminApp .panel-head h2,#adminApp .panel-head h3,#adminApp .kpi-card strong,#adminApp .report-card strong{color:var(--sage-950)}
#adminApp .data-table th{background:#f5f7f3;color:#758071;border-bottom-color:#dfe4da}
#adminApp .data-table td{border-bottom-color:#edf0ea}
#adminApp .data-table tr:hover td{background:#f8f9f6}
#adminApp .btn.primary,#adminApp .btn.orange{background:var(--earth-orange);border-color:var(--earth-orange);box-shadow:0 5px 14px rgba(189,98,48,.13)}
#adminApp .btn.primary:hover,#adminApp .btn.orange:hover{background:var(--earth-orange-dark);border-color:var(--earth-orange-dark)}
#adminApp .search-input:focus,#adminApp .select-input:focus,#adminApp .date-input:focus,#adminApp .field input:focus,#adminApp .field select:focus,#adminApp .field textarea:focus{border-color:var(--sage-500);box-shadow:0 0 0 3px rgba(145,160,139,.15)}
#adminApp .kpi-icon.orange{background:var(--earth-orange-soft);color:var(--earth-orange-dark)}
#adminApp .kpi-icon.green{background:var(--sage-100);color:var(--sage-800)}
#adminApp .bar.sales{background:linear-gradient(180deg,#e79a6d,var(--earth-orange-dark))}
#adminApp .bar.expense{background:linear-gradient(180deg,#aab8a4,var(--sage-700))}
#adminApp .legend .sales{background:var(--earth-orange)}
#adminApp .legend .expense{background:var(--sage-700)}
#adminApp .rank-no{background:var(--sage-100);color:var(--sage-800)}
#adminApp .rank-row b{color:var(--earth-orange-dark)}
#adminApp .profit-line.subtotal{background:var(--sage-50)}
#adminApp .profit-line.total{background:var(--sage-900)}

/* Pengaturan kategori menu kasir. */
.category-management-grid{display:grid;grid-template-columns:minmax(330px,.8fr) minmax(560px,1.45fr);gap:16px}
.category-manager-list{padding:8px 14px 15px}
.category-manager-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto auto auto;align-items:center;gap:9px;padding:12px 4px;border-bottom:1px solid #eef2f6}
.category-manager-row:last-child{border-bottom:0}
.category-manager-row.inactive{opacity:.65}
.category-manager-icon{width:38px;height:38px;border-radius:10px;background:#fffbeb;color:#b45309;display:grid;place-items:center}
.category-manager-row strong{display:block;font-size:12px;color:#1e293b}
.category-manager-row small{display:block;font-size:9px;color:#94a3b8;margin-top:3px}
.category-product-table{min-width:650px}
.category-current-badge{display:inline-flex;padding:6px 9px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:9px;font-weight:750}
.category-assign-select{min-width:170px;border:1px solid #dbe3ea;border-radius:8px;background:#fff;padding:8px 10px;font-size:10px;color:#334155;outline:none}
.category-assign-select:focus{border-color:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.1)}
.field-help{display:block;margin-top:6px;color:#94a3b8;font-size:9px}

/* Absensi foto kasir. */
.attendance-clock{display:flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;color:#64748b}
.attendance-clock strong{color:#0f172a;font-size:14px}
.attendance-clock span{font-size:9px;border-left:1px solid #e2e8f0;padding-left:8px}
.attendance-status-card{display:flex;align-items:center;gap:14px;margin-bottom:16px;padding:17px 19px;border:1px solid #e2e8f0;border-radius:13px;background:#fff;box-shadow:var(--reference-shadow)}
.attendance-status-card.checked-in{border-color:#f7d7a3;background:#fffbeb}
.attendance-status-card.complete{border-color:#bbdfc5;background:#f4fbf6}
.attendance-status-icon{width:48px;height:48px;border-radius:13px;background:#f1f5f9;color:#64748b;display:grid;place-items:center;font-size:19px;flex:0 0 auto}
.attendance-status-card.checked-in .attendance-status-icon{background:#fef3c7;color:#b45309}
.attendance-status-card.complete .attendance-status-icon{background:#dcfce7;color:#15803d}
.attendance-status-card small{display:block;color:#94a3b8;font-size:9px;text-transform:uppercase;letter-spacing:.6px;font-weight:800}
.attendance-status-card strong{display:block;margin:4px 0 3px;color:#0f172a;font-size:15px}
.attendance-status-card p{margin:0;color:#64748b;font-size:10px}
.attendance-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.attendance-form{padding:18px;overflow:visible}
.attendance-form-head{display:flex;align-items:center;gap:12px;margin-bottom:15px}
.attendance-form-head h3{margin:0 0 3px;font-size:14px;color:#0f172a}
.attendance-form-head p{margin:0;color:#64748b;font-size:9px}
.attendance-action-icon{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;font-size:16px}
.attendance-action-icon.check-in{background:#dcfce7;color:#15803d}
.attendance-action-icon.check-out{background:#ffedd5;color:#c2410c}
.attendance-camera{height:230px;border:2px dashed #cbd5e1;border-radius:13px;background:#f8fafc;display:grid;place-items:center;overflow:hidden;position:relative;margin-bottom:13px;cursor:pointer}
.attendance-camera:hover{border-color:#f59e0b;background:#fffbeb}
.attendance-camera input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.camera-placeholder{text-align:center;color:#64748b;display:flex;flex-direction:column;align-items:center;gap:6px}
.camera-placeholder i{font-size:27px;color:#d97706;margin-bottom:3px}
.camera-placeholder b{font-size:12px;color:#334155}
.camera-placeholder small{font-size:9px;color:#94a3b8}
.attendance-camera img{display:none;width:100%;height:100%;object-fit:cover}
.attendance-camera img.show{display:block}
.attendance-submit{width:100%;min-height:43px;margin-top:14px;border:0;color:#fff;font-weight:800}
.attendance-submit.check-in{background:#16a34a}
.attendance-submit.check-out{background:#ea580c}
.attendance-submit:disabled{background:#cbd5e1;color:#f8fafc}
.attendance-history-panel{margin-bottom:20px}
.attendance-photo-button{border:1px solid #dbe3ea;border-radius:8px;background:#fff;color:#475569;padding:7px 9px;font:inherit;font-size:9px;font-weight:750;white-space:nowrap}
.attendance-photo-button:hover{border-color:#f59e0b;color:#b45309;background:#fffbeb}

/* Laporan absensi admin. */
#adminApp .attendance-admin-summary{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:15px}
#adminApp .attendance-admin-summary .report-card{display:flex;align-items:center;gap:12px;padding:16px}
.attendance-summary-icon{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;flex:0 0 auto}
.attendance-summary-icon.sage{background:var(--sage-100);color:var(--sage-800)}
.attendance-summary-icon.orange{background:var(--earth-orange-soft);color:var(--earth-orange-dark)}
.attendance-summary-icon.green{background:#dcfce7;color:#15803d}
.attendance-summary-icon.red{background:#fee2e2;color:#dc2626}
#adminApp .attendance-admin-summary small{margin:0 0 4px}
#adminApp .attendance-admin-summary strong{font-size:19px}
.attendance-admin-table{min-width:1120px}

@media(max-width:1100px){
  .category-management-grid{grid-template-columns:1fr}
  #adminApp .attendance-admin-summary{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:720px){
  .history-filter{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .history-filter .search-input{grid-column:1/-1;min-width:0;width:100%}
  .history-filter .btn{grid-column:1/-1}
  .attendance-clock{width:100%;justify-content:center}
  .attendance-action-grid{grid-template-columns:1fr}
  .attendance-camera{height:250px}
  .category-manager-row{grid-template-columns:40px minmax(0,1fr) auto}
  .category-manager-row .btn{grid-column:auto;justify-self:end}
  .category-manager-row .status{display:none}
  #adminApp .attendance-admin-summary{grid-template-columns:1fr}
}

/* ===== Inventory recipes & role layout retained in v8.0.6 ===== */
#adminApp .inventory-master-panel{margin-bottom:18px}
#adminApp .inventory-history-panel{overflow:hidden}
#adminApp .inventory-history-filter .search-input{min-width:250px}
#adminApp .table-pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 16px;border-top:1px solid #e9edf2;background:#fbfcfd;color:#667085;font-size:11px}
#adminApp .table-pagination>div{display:flex;align-items:center;gap:12px}
#adminApp .table-pagination>div>span{min-width:105px;text-align:center;font-weight:800;color:#344054}
.admin-page .product-modal-wide{width:min(860px,100%)}
.admin-page .role-modal-wide{width:min(980px,100%)}
#adminApp .ingredient-trigger{border-color:#bfdbfe;background:#eff6ff}
#adminApp .ingredient-builder{padding:15px;border:1px solid #dbe5f0;border-radius:13px;background:#f8fbff}
#adminApp .ingredient-builder-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:11px}
#adminApp .ingredient-builder-head>div{display:flex;flex-direction:column;gap:3px}
#adminApp .ingredient-builder-head strong{font-size:12px;color:#253247}
#adminApp .ingredient-builder-head small{font-size:10px;color:#7a8595}
#adminApp .ingredient-row{display:grid;grid-template-columns:minmax(220px,1.35fr) minmax(190px,.9fr) 38px;gap:10px;align-items:end;padding:11px 0;border-top:1px solid #e5ebf2}
#adminApp .ingredient-row:first-child{border-top:0}
#adminApp .ingredient-quantity-input{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border:1px solid var(--line);border-radius:9px;background:#fff;overflow:hidden}
#adminApp .ingredient-quantity-input input{border:0!important;box-shadow:none!important;border-radius:0}
#adminApp .ingredient-unit{padding:0 10px;color:#667085;font-size:10px;font-weight:800}
#adminApp .ingredient-remove{width:38px;height:40px;border:1px solid #ffd6da;border-radius:9px;background:#fff7f8;color:#c73542;cursor:pointer}
#adminApp .ingredient-cost-summary{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:9px;padding-top:11px;border-top:1px solid #dfe7f0;color:#667085;font-size:10px}
#adminApp .ingredient-cost-summary strong{color:#167344;font-size:13px}
#adminApp .employee-role-field>small{display:block;margin-top:7px;color:#7a8595;font-size:10px;line-height:1.45}
#adminApp .permission-section{padding:18px}
#adminApp .permission-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:14px}
#adminApp .permission-section-head strong{font-size:13px;color:#182438}
#adminApp .permission-section-head p{margin:4px 0 0;font-size:11px;color:#7a8595}
#adminApp .permission-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
#adminApp .permission-grid label{min-height:66px;align-items:flex-start;padding:12px;gap:10px}
#adminApp .permission-grid label>input{width:17px;height:17px;flex:0 0 auto;margin-top:2px;accent-color:#f06a00}
#adminApp .permission-grid label>span{display:flex;flex-direction:column;gap:3px}
#adminApp .permission-grid label strong{font-size:11px;color:#344054}
#adminApp .permission-grid label small{font-size:9px;line-height:1.35;color:#8a94a3}
#adminApp .permission-grid label:has(input:checked) strong{color:#c2410c}

@media(max-width:850px){
  #adminApp .permission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  #adminApp .ingredient-row{grid-template-columns:1fr 1fr 38px}
}
@media(max-width:640px){
  #adminApp .inventory-history-filter .search-input{min-width:0}
  #adminApp .table-pagination{align-items:stretch;flex-direction:column}
  #adminApp .table-pagination>div{justify-content:space-between}
  #adminApp .permission-section-head{flex-direction:column}
  #adminApp .permission-grid{grid-template-columns:1fr}
  #adminApp .ingredient-row{grid-template-columns:1fr 38px}
  #adminApp .ingredient-row .ingredient-quantity-field{grid-column:1/2}
  #adminApp .ingredient-row .ingredient-remove{grid-column:2;grid-row:1/3;align-self:center}
}

/* ===== Shift kasir, utang & piutang v8 ===== */
#adminApp .shift-summary-grid,#adminApp .credit-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}
#adminApp .shift-daily-table,#adminApp .credit-table{min-width:1260px}
#adminApp .shift-setting-panel{margin-bottom:20px}
#adminApp .setting-switch{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px;border:1px solid #e7e9ee;border-radius:13px;background:#fafbfc;cursor:pointer}
#adminApp .setting-switch span{display:flex;flex-direction:column;gap:4px}
#adminApp .setting-switch strong{color:#253247;font-size:14px}
#adminApp .setting-switch small{color:#7a8595;font-size:12px}
#adminApp .setting-switch input{position:absolute;opacity:0}
#adminApp .setting-switch i{position:relative;width:52px;height:28px;border-radius:999px;background:#cbd2dc;flex:0 0 auto;transition:.2s}
#adminApp .setting-switch i:after{content:"";position:absolute;left:4px;top:4px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(16,24,40,.2);transition:.2s}
#adminApp .setting-switch input:checked+i{background:#f06a00}
#adminApp .setting-switch input:checked+i:after{transform:translateX(24px)}
#adminApp .credit-filter{flex-wrap:wrap}
#adminApp .credit-payment-history{padding:0 24px 24px}
#adminApp .credit-payment-history h4{margin:4px 0 12px;color:#253247}
#adminApp .table-subtext{display:block;margin-top:4px;color:#98a2b3;font-size:10px}
.shift-menu-dot{width:9px;height:9px;margin-left:auto;border-radius:50%;background:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.12)}
.shift-menu-dot.active{background:#22a06b;box-shadow:0 0 0 3px rgba(34,160,107,.13)}
.shift-page{max-width:1180px}
.shift-required-banner{display:flex;align-items:flex-start;gap:14px;margin-bottom:18px;padding:17px 19px;border:1px solid #fdba74;border-radius:14px;background:#fff7ed;color:#9a3412}
.shift-required-banner>i{font-size:22px;margin-top:2px}
.shift-required-banner strong{display:block;font-size:15px}
.shift-required-banner p{margin:4px 0 0;font-size:12px;line-height:1.5}
.shift-cashier-grid{grid-template-columns:minmax(0,1fr);margin-bottom:20px}
.shift-cashier-grid>.panel{max-width:860px;margin:0 auto;width:100%}
.shift-action-panel{overflow:hidden;border:1px solid #e5e9ef!important;box-shadow:0 18px 48px rgba(17,31,55,.09)!important}
.shift-action-panel>.panel-head{padding:24px 28px;background:linear-gradient(135deg,#fff8f1,#fff);border-bottom:1px solid #f4e8dc}
.shift-action-panel>.panel-head h2{font-size:22px!important}
.shift-action-panel>.panel-head p{margin-top:6px!important;font-size:13px!important}
.shift-action-panel .form-card{padding:28px}
.shift-money-field{padding:20px;border:2px solid #fed7aa;border-radius:18px;background:linear-gradient(135deg,#fffaf5,#fff);box-shadow:0 8px 22px rgba(240,106,0,.07)}
.shift-money-field.closing{border-color:#fecaca;background:linear-gradient(135deg,#fff7f7,#fff)}
.shift-money-field>label{display:flex!important;align-items:center;gap:12px;margin-bottom:16px!important}
.shift-money-field>label>span:last-child{display:flex;flex-direction:column;gap:4px;color:#253247;font-size:16px;font-weight:800}
.shift-money-field>label small{color:#7a8595;font-size:11px;font-weight:500;line-height:1.45}
.shift-money-label-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;flex:0 0 auto;background:linear-gradient(145deg,#ff922e,#e95b00);color:#fff;font-size:20px;box-shadow:0 8px 18px rgba(240,106,0,.2)}
.shift-money-field.closing .shift-money-label-icon{background:linear-gradient(145deg,#ef4444,#b91c1c);box-shadow:0 8px 18px rgba(220,38,38,.18)}
.shift-money-input{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;overflow:hidden;border:2px solid #f7ad69;border-radius:15px;background:#fff;transition:.18s}
.shift-money-input:focus-within{border-color:#f06a00;box-shadow:0 0 0 5px rgba(240,106,0,.11)}
.shift-money-field.closing .shift-money-input{border-color:#fca5a5}
.shift-money-field.closing .shift-money-input:focus-within{border-color:#dc2626;box-shadow:0 0 0 5px rgba(220,38,38,.09)}
.shift-money-input>span{align-self:stretch;display:grid;place-items:center;padding:0 22px;background:#fff0e3;color:#d95700;font-size:22px;font-weight:900;border-right:1px solid #fed7aa}
.shift-money-field.closing .shift-money-input>span{background:#feecec;color:#b91c1c;border-color:#fecaca}
.shift-money-input input{width:100%;min-height:76px!important;padding:12px 20px!important;border:0!important;outline:0!important;background:#fff!important;color:#172033!important;font-size:32px!important;font-weight:850!important;letter-spacing:.3px}
.shift-money-input input::-webkit-inner-spin-button,.shift-money-input input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.shift-money-input input[type=number]{-moz-appearance:textfield}
.shift-main-action{min-height:54px!important;font-size:15px!important;border-radius:13px!important}
.shift-live-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:18px}
.shift-live-summary>div{padding:14px;border:1px solid #e7e9ee;border-radius:12px;background:#fafbfc}
.shift-live-summary small{display:block;color:#7a8595;font-size:10px}
.shift-live-summary strong{display:block;margin-top:6px;color:#253247;font-size:17px}
.shift-live-summary .total{grid-column:1/-1;background:#fff4e8;border-color:#fdba74}
.shift-live-summary .total strong{color:#d95700;font-size:22px}
.close-shift-form{border-top:1px solid #edf0f3}
.btn.danger{border-color:#dc2626;background:#dc2626;color:#fff}
.btn.danger:hover{background:#b91c1c}
.shift-history-table{min-width:820px}
@media(max-width:900px){#adminApp .shift-summary-grid,#adminApp .credit-summary-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){#adminApp .shift-summary-grid,#adminApp .credit-summary-grid{grid-template-columns:1fr 1fr}.shift-live-summary{grid-template-columns:1fr 1fr}.shift-page{padding:0}.shift-required-banner{margin:0 0 14px}.credit-filter>*{width:100%}}

/* Popup konfirmasi aplikasi */
.app-confirm-layer{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(15,23,42,.42);opacity:0;visibility:hidden;transition:opacity .18s ease,visibility .18s ease}
.app-confirm-layer.open{opacity:1;visibility:visible}
.app-confirm-card{width:min(460px,100%);display:grid;grid-template-columns:64px minmax(0,1fr);gap:17px;padding:24px;border:1px solid rgba(255,255,255,.8);border-radius:22px;background:#fff;box-shadow:0 28px 80px rgba(15,23,42,.25);transform:translateY(14px) scale(.98);transition:transform .2s ease}
.app-confirm-layer.open .app-confirm-card{transform:translateY(0) scale(1)}
.app-confirm-icon{width:60px;height:60px;border-radius:18px;display:grid;place-items:center;background:#fff0ed;color:#dc2626;font-size:24px}
.app-confirm-icon.primary{background:#fff3e8;color:#e95b00}
.app-confirm-copy h3{margin:2px 0 7px;color:#172033;font-size:20px;line-height:1.3}
.app-confirm-copy p{margin:0;color:#667085;font-size:13px;line-height:1.65}
.app-confirm-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px;margin-top:7px}
.app-confirm-actions .btn{min-width:112px;min-height:44px;border-radius:11px;font-size:13px;font-weight:800}
.app-confirm-ok.danger{border-color:#dc2626!important;background:#dc2626!important;color:#fff!important}
.app-confirm-ok.danger:hover{background:#b91c1c!important}
@media(max-width:640px){.shift-action-panel .form-card{padding:18px}.shift-money-field{padding:15px}.shift-money-input>span{padding:0 15px;font-size:18px}.shift-money-input input{min-height:66px!important;padding:10px 14px!important;font-size:26px!important}.app-confirm-card{grid-template-columns:52px minmax(0,1fr);padding:20px;border-radius:18px}.app-confirm-icon{width:50px;height:50px;font-size:20px}.app-confirm-actions{display:grid;grid-template-columns:1fr 1fr}.app-confirm-actions .btn{min-width:0}}

/* v8.0.10 — pemilihan kasir bertugas bergaya character carousel */
.shift-duty-picker{position:relative;overflow:hidden;margin-bottom:22px;padding:22px 20px 18px;border:1px solid #dfe6ef;border-radius:20px;background:radial-gradient(circle at 50% 28%,rgba(255,184,107,.24),transparent 31%),linear-gradient(145deg,#162237,#253a58 62%,#17243a);box-shadow:inset 0 1px rgba(255,255,255,.11),0 14px 30px rgba(15,31,51,.16);color:#fff}
.shift-duty-picker:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 20%,rgba(255,255,255,.045) 20.5%,transparent 21%,transparent 68%,rgba(255,255,255,.035) 68.5%,transparent 69%);pointer-events:none}
.shift-duty-heading{position:relative;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.shift-duty-heading small{display:block;color:#ffb36b;font-size:9px;font-weight:900;letter-spacing:1.4px}
.shift-duty-heading h3{margin:4px 0 0;color:#fff;font-size:20px}
.shift-duty-heading p{margin:5px 0 0;color:#b9c5d6;font-size:11px}
.shift-duty-ready{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid rgba(134,239,172,.28);border-radius:999px;background:rgba(22,163,74,.17);color:#a7f3d0;font-size:9px;font-weight:850;letter-spacing:.6px}
.shift-staff-stage{position:relative;z-index:2;display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;min-height:330px;margin-top:12px;outline:none;touch-action:pan-y;user-select:none}
.shift-staff-stage:focus-visible{border-radius:16px;box-shadow:0 0 0 3px rgba(255,166,77,.45)}
.shift-staff-viewport{position:relative;overflow:hidden;height:320px;perspective:1000px}
.shift-staff-track{position:relative;width:100%;height:100%}
.shift-staff-card{position:absolute;top:7px;left:50%;width:256px;height:298px;margin-left:-128px;overflow:hidden;padding:0;border:1px solid rgba(255,255,255,.16);border-radius:22px;background:linear-gradient(160deg,#fff 0 58%,#f5f7fa 58%);box-shadow:0 18px 35px rgba(2,8,23,.38);color:#172033;text-align:left;cursor:pointer;transform-style:preserve-3d;transition:transform .42s cubic-bezier(.2,.8,.2,1),opacity .32s ease,filter .32s ease,box-shadow .32s ease;will-change:transform,opacity}
.shift-staff-card.is-active{z-index:4;opacity:1;transform:translateX(0) translateZ(40px) scale(1);box-shadow:0 23px 48px rgba(2,8,23,.52),0 0 0 2px rgba(255,153,56,.8)}
.shift-staff-card.is-previous{z-index:2;opacity:.5;filter:saturate(.62);transform:translateX(-74%) rotateY(24deg) scale(.76)}
.shift-staff-card.is-next{z-index:2;opacity:.5;filter:saturate(.62);transform:translateX(74%) rotateY(-24deg) scale(.76)}
.shift-staff-card.is-far{z-index:1;opacity:0;pointer-events:none;transform:scale(.55)}
.shift-card-glow{position:absolute;inset:0 0 auto;height:174px;background:radial-gradient(circle at 50% 42%,rgba(255,194,132,.78),transparent 43%),linear-gradient(135deg,#ff7a16,#d64b00);pointer-events:none}
.shift-card-level{position:absolute;z-index:2;top:12px;left:13px;padding:5px 8px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:rgba(15,23,42,.32);color:#fff;font-size:8px;font-weight:900;letter-spacing:1px}
.shift-staff-portrait{position:absolute;z-index:1;top:22px;left:50%;width:138px;height:152px;overflow:hidden;margin-left:-69px;border:4px solid rgba(255,255,255,.92);border-radius:50% 50% 43% 43%;background:#fff3e5;box-shadow:0 12px 25px rgba(71,27,0,.28)}
.shift-staff-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}
.shift-staff-initial{display:grid!important;place-items:center;background:linear-gradient(145deg,#ffe0bf,#ffb56e);color:#c65300;font-size:54px;font-weight:900}
.shift-card-content{position:absolute;z-index:2;inset:177px 16px auto;display:flex;flex-direction:column;align-items:center;text-align:center}
.shift-card-content>small{color:#98a2b3;font-size:7px;font-weight:900;letter-spacing:1.3px}
.shift-card-content>strong{display:block;overflow:hidden;width:100%;margin-top:4px;color:#172033;font-size:19px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
.shift-card-content>em{display:block;margin-top:4px;color:#df5b00;font-size:11px;font-style:normal;font-weight:800}
.shift-card-content>span{display:block;margin-top:7px;color:#7b8798;font-size:9px}
.shift-card-selected{position:absolute;z-index:3;right:12px;bottom:11px;display:flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;background:#172033;color:#fff;font-size:7px;font-weight:900;letter-spacing:.7px;opacity:0;transform:translateY(6px);transition:.28s}
.shift-staff-card.is-active .shift-card-selected{opacity:1;transform:translateY(0)}
.shift-staff-arrow{position:relative;z-index:6;width:38px;height:38px;border:1px solid rgba(255,255,255,.22);border-radius:50%;background:rgba(255,255,255,.1);color:#fff;cursor:pointer;transition:.18s}
.shift-staff-arrow:hover:not(:disabled){background:#f06a00;border-color:#ffae67;transform:scale(1.08)}
.shift-staff-arrow:disabled{opacity:.28;cursor:not-allowed}
.shift-staff-dots{position:relative;z-index:2;display:flex;justify-content:center;gap:6px;margin-top:-3px}
.shift-staff-dots button{width:7px;height:7px;padding:0;border:0;border-radius:999px;background:#6f7f94;cursor:pointer;transition:.25s}
.shift-staff-dots button.active{width:24px;background:#ff8a28}
.shift-duty-selection{position:relative;z-index:2;margin:12px 0 0;text-align:center;color:#c8d2df;font-size:10px}
.shift-duty-selection i,.shift-duty-selection strong{color:#ffad63}
.shift-staff-loading,.shift-staff-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#c7d1de;text-align:center}
.shift-staff-empty>i{font-size:28px;color:#ffad63}.shift-staff-empty strong{color:#fff}.shift-staff-empty small{max-width:250px;color:#9eabba;font-size:10px}
.active-duty-card{display:grid;grid-template-columns:74px minmax(0,1fr) auto;align-items:center;gap:15px;margin:18px 18px 0;padding:15px 17px;border:1px solid #fed7aa;border-radius:16px;background:linear-gradient(135deg,#fff7ed,#fff);box-shadow:0 7px 20px rgba(240,106,0,.08)}
.active-duty-avatar{width:70px;height:70px;overflow:hidden;border:3px solid #fff;border-radius:17px;background:#ffe2c4;box-shadow:0 6px 16px rgba(194,74,0,.16)}
.active-duty-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}
.active-duty-card>div:nth-child(2)>small{display:block;color:#b85a00;font-size:8px;font-weight:900;letter-spacing:1px}.active-duty-card>div:nth-child(2)>strong{display:block;margin-top:3px;color:#172033;font-size:18px}.active-duty-card>div:nth-child(2)>span{display:block;margin-top:2px;color:#f06a00;font-size:11px;font-weight:750}.active-duty-card p{margin:7px 0 0;color:#7b8798;font-size:9px}.active-duty-card>b{display:inline-flex;align-items:center;gap:5px;align-self:start;padding:6px 9px;border-radius:999px;background:#e8f7ef;color:#16824d;font-size:8px;letter-spacing:.7px}.active-duty-card>b i{font-size:6px}.shift-history-role{display:block;margin-top:3px;color:#8a94a3;font-size:9px}
@media(max-width:640px){.shift-duty-picker{padding:18px 11px 15px}.shift-duty-heading{padding:0 5px}.shift-duty-heading p{max-width:225px}.shift-duty-ready{display:none}.shift-staff-stage{grid-template-columns:34px minmax(0,1fr) 34px;min-height:305px}.shift-staff-viewport{height:300px}.shift-staff-card{width:218px;height:278px;margin-left:-109px}.shift-staff-card.is-previous{transform:translateX(-69%) rotateY(24deg) scale(.72)}.shift-staff-card.is-next{transform:translateX(69%) rotateY(-24deg) scale(.72)}.shift-card-glow{height:158px}.shift-staff-portrait{top:20px;width:124px;height:138px;margin-left:-62px}.shift-card-content{inset:162px 13px auto}.shift-card-content>strong{font-size:17px}.shift-staff-arrow{width:32px;height:32px}.active-duty-card{grid-template-columns:58px minmax(0,1fr);margin:14px 14px 0;padding:13px}.active-duty-avatar{width:56px;height:56px}.active-duty-card>b{grid-column:1/-1;width:max-content}.active-duty-card>div:nth-child(2)>strong{font-size:16px}}

/* v8.0.11 — identitas Kasir, pembayaran Transfer, editor skala, dan kategori Produk */
.cashier-page .cashier-brand>div:last-child>strong{font-family:Manrope,Inter,sans-serif;font-size:16px;font-weight:500;line-height:1.12;letter-spacing:-.018em}
.cashier-page #headerStoreName{font-family:inherit;font-size:1em;font-weight:500;letter-spacing:-.018em}
.cashier-page .active-payment-modal{width:min(640px,100%)}
.cashier-page .active-payment-modal .modal-head{padding:19px 22px}.cashier-page .active-payment-modal .modal-head h3{font-size:17px}.cashier-page .active-payment-modal .modal-head p{margin:5px 0 0;color:#7b8798;font-size:10px}.cashier-page .active-payment-modal .modal-body{padding:22px}
.cashier-page .active-payment-modal .payment-methods{grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}
.cashier-page .active-payment-modal .payment-option{min-height:52px;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;font-size:11px}.cashier-page .active-payment-modal .payment-option i{font-size:14px}
.cashier-page .transfer-account-payment-field{display:block;margin-top:15px;padding:19px;border:1px solid #dce4ec;border-radius:17px;background:linear-gradient(145deg,#f8fafc,#fff);box-shadow:0 9px 25px rgba(17,35,57,.06)}
.cashier-page .transfer-payment-heading{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:13px;margin-bottom:16px}.cashier-page .transfer-payment-heading>span{width:46px;height:46px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(145deg,#ef7b18,#d95a00);color:#fff;font-size:18px;box-shadow:0 8px 18px rgba(217,90,0,.18)}.cashier-page .transfer-payment-heading small{display:block;color:#d65c00;font-size:8px;font-weight:900;letter-spacing:1px}.cashier-page .transfer-payment-heading strong{display:block;margin-top:3px;color:#172033;font-size:15px}.cashier-page .transfer-payment-heading p{margin:4px 0 0;color:#7b8798;font-size:9px}
.cashier-page .transfer-account-payment-field select{min-height:46px;padding:10px 12px;border:1px solid #cfd9e4;border-radius:11px;background:#fff;color:#26364b;font-size:11px;font-weight:650}
.cashier-page .transfer-destination-card{position:relative;display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:132px;margin-top:13px;padding:18px;border:1px solid #fed7aa;border-radius:16px;background:radial-gradient(circle at 88% 15%,rgba(255,255,255,.8),transparent 25%),linear-gradient(135deg,#fff7ed,#ffedd5);overflow:hidden}
.cashier-page .transfer-bank-mark{width:52px;height:52px;display:grid;place-items:center;border-radius:14px;background:#fff;color:#e56600;font-size:20px;box-shadow:0 7px 18px rgba(198,83,0,.12)}.cashier-page .transfer-bank-detail small{display:block;color:#a85a1e;font-size:7px;font-weight:900;letter-spacing:1.2px}.cashier-page .transfer-bank-detail strong{display:block;margin-top:3px;color:#172033;font-size:14px}.cashier-page .transfer-bank-detail b{display:block;margin-top:8px;color:#c84f00;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:21px;font-weight:850;letter-spacing:.105em;word-spacing:.26em;white-space:nowrap}.cashier-page .transfer-bank-detail span{display:block;margin-top:6px;color:#5d6b7c;font-size:10px;font-weight:650}
.cashier-page .transfer-copy-number{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:48px;height:52px;border:1px solid #fdba74;border-radius:12px;background:#fff;color:#d65a00;font-size:8px;font-weight:800}.cashier-page .transfer-copy-number i{font-size:15px}.cashier-page .transfer-copy-number:hover{background:#fff7ed}.cashier-page .transfer-payment-note{margin:11px 2px 0;color:#667085;font-size:9px;line-height:1.5}.cashier-page .transfer-payment-note:before{content:"\f05a";margin-right:6px;color:#f06a00;font-family:"Font Awesome 6 Free";font-weight:900}.cashier-page .transfer-destination-empty{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:8px;color:#8a94a3;font-size:10px}.cashier-page .payment-form-actions{margin-top:18px}.cashier-page .payment-form-actions .btn{min-height:44px;min-width:210px}
#adminApp .admin-product-category-tabs{display:flex;gap:8px;overflow:auto;padding:14px 16px 12px;border-top:1px solid #edf0f3;border-bottom:1px solid #edf0f3;background:#fbfcfd;scrollbar-width:thin}
#adminApp .admin-category-tab{flex:0 0 auto;display:flex;align-items:center;gap:8px;min-height:35px;padding:7px 12px;border:1px solid #dce3ea;border-radius:999px;background:#fff;color:#475569;font-size:10px;font-weight:750;white-space:nowrap;transition:.18s}
#adminApp .admin-category-tab b{min-width:20px;padding:3px 6px;border-radius:999px;background:#eef2f6;color:#64748b;font-size:8px;text-align:center}
#adminApp .admin-category-tab:hover{border-color:#82b899;color:#167344}#adminApp .admin-category-tab.active{border-color:#23834e;background:#23834e;color:#fff;box-shadow:0 5px 13px rgba(35,131,78,.2)}#adminApp .admin-category-tab.active b{background:rgba(255,255,255,.18);color:#fff}
#adminApp .product-category-group-row td{padding:11px 14px!important;border-top:8px solid #f4f6f8;border-bottom:1px solid #dfe6ec!important;background:linear-gradient(90deg,#eef8f2,#f8fbf9)!important;color:#173d29}
#adminApp .product-category-group-row:hover td{background:linear-gradient(90deg,#eef8f2,#f8fbf9)!important}#adminApp .product-category-group-row strong{font-size:11px}#adminApp .product-category-group-row small{margin-left:8px;color:#718079;font-size:9px}#adminApp .product-category-group-icon{display:inline-grid;place-items:center;width:27px;height:27px;margin-right:8px;border-radius:8px;background:#dcefe4;color:#23834e}
.admin-page .photo-scale-actions{grid-column:1/-1;display:flex;justify-content:flex-end;margin:-5px 0 4px}
.admin-page .modal .form-actions>[data-close]:not(.modal-close){display:none}
.admin-page .photo-scale-trigger{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:5px 9px;border:1px solid #dbe3ea;border-radius:8px;background:#fff;color:#526174;font-size:8px;font-weight:800}.admin-page .photo-scale-trigger:hover{border-color:#f2a35b;background:#fff8f1;color:#d65a00}
.image-scale-layer{position:fixed;inset:0;z-index:480;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(15,23,42,.56);backdrop-filter:blur(2px)}.image-scale-layer.open{display:flex}.image-scale-modal{width:min(900px,100%);max-height:calc(100vh - 36px);overflow:auto}.admin-page .image-scale-layer .image-scale-modal{width:min(900px,100%)}.image-scale-modal .modal-head{position:sticky;top:0;z-index:3;background:#fff}.image-scale-modal .modal-head p{margin:4px 0 0;color:#7b8798;font-size:9px}.image-editor-layout{display:grid;grid-template-columns:minmax(320px,1.18fr) minmax(270px,.82fr);gap:22px;align-items:start}.image-editor-preview-panel{min-width:0}.image-editor-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.image-editor-section-head strong{display:block;color:#27364a;font-size:11px}.image-editor-section-head small{display:block;margin-top:3px;color:#7b8798;font-size:8px}.image-editor-section-head>span{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;background:#edf8f2;color:#278151;font-size:8px;font-weight:800;white-space:nowrap}.image-scale-canvas-shell{--image-editor-ratio:1 / 1;position:relative;width:min(100%,520px);aspect-ratio:var(--image-editor-ratio);margin:0 auto;display:grid;place-items:center;overflow:hidden;border:1px solid #cfd8e3;border-radius:16px;background-color:#f1f4f7;background-image:linear-gradient(45deg,#dce3e9 25%,transparent 25%),linear-gradient(-45deg,#dce3e9 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#dce3e9 75%),linear-gradient(-45deg,transparent 75%,#dce3e9 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0;box-shadow:0 14px 34px rgba(15,23,42,.12)}.image-scale-canvas-shell canvas{display:block;width:100%;height:100%;cursor:grab;touch-action:none;user-select:none}.image-scale-canvas-shell canvas.dragging{cursor:grabbing}.image-drag-hint{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:999px;background:rgba(17,24,39,.82);color:#fff;font-size:9px;font-weight:800;pointer-events:none;box-shadow:0 8px 24px rgba(15,23,42,.2);transition:.18s}.image-drag-hint.hidden{opacity:0;visibility:hidden}.image-editor-controls{padding:16px;border:1px solid #e0e6ed;border-radius:16px;background:#f9fafb}.image-scale-control{display:block;margin:0}.image-scale-control>span,.image-position-controls label>span{display:flex;align-items:center;justify-content:space-between;color:#344054;font-size:10px}.image-scale-control output,.image-position-controls output{min-width:42px;padding:4px 8px;border-radius:999px;background:#fff0e3;color:#d65a00;font-weight:850;text-align:center}.image-scale-control input,.image-position-controls input{width:100%;margin-top:11px;accent-color:#e76b00}.image-position-controls{display:grid;gap:14px;margin-top:18px;padding-top:17px;border-top:1px solid #e3e8ee}.image-position-controls label{display:block}.image-background-controls{margin-top:18px;padding-top:17px;border-top:1px solid #e3e8ee}.image-background-controls>div:first-child strong{display:block;color:#344054;font-size:10px}.image-background-controls>div:first-child small{display:block;margin-top:3px;color:#7b8798;font-size:8px}.image-background-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.image-background-presets button,.image-custom-background{position:relative;min-width:0;display:flex;flex-direction:column;align-items:center;gap:5px;padding:7px 5px;border:1px solid #dce3ea;border-radius:10px;background:#fff;color:#64748b;cursor:pointer}.image-background-presets button:hover,.image-background-presets button.active,.image-custom-background:hover,.image-custom-background.active{border-color:#e87a20;background:#fff8f1;color:#d65a00;box-shadow:0 0 0 2px rgba(232,122,32,.08)}.image-background-presets button>span,.image-custom-background>span{width:28px;height:28px;display:grid;place-items:center;border:1px solid #d8dfe7;border-radius:8px;background:var(--preset);box-shadow:inset 0 0 0 1px rgba(255,255,255,.4)}.image-background-presets button>span.transparent{background-color:#fff;background-image:linear-gradient(45deg,#d6dce3 25%,transparent 25%),linear-gradient(-45deg,#d6dce3 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#d6dce3 75%),linear-gradient(-45deg,transparent 75%,#d6dce3 75%);background-size:10px 10px;background-position:0 0,0 5px,5px -5px,-5px 0}.image-background-presets small,.image-custom-background small{font-size:7px;font-weight:750}.image-custom-background input{position:absolute;width:1px;height:1px;opacity:0}.image-custom-background>span{background:linear-gradient(135deg,#ef4444,#f59e0b,#22c55e,#3b82f6,#a855f7);color:#fff}.image-scale-help{margin:14px 0 0;padding:10px 11px;border-radius:10px;background:#fff;color:#6b7788;font-size:8px;line-height:1.55}.image-editor-actions{margin-top:19px;padding-top:16px;border-top:1px solid #e5e9ef}.image-editor-actions .btn{min-width:130px}
@media(max-width:760px){.image-editor-layout{grid-template-columns:1fr}.image-scale-modal{max-height:calc(100vh - 20px)}.image-scale-layer{padding:10px}.image-editor-controls{padding:14px}.image-background-presets{grid-template-columns:repeat(3,minmax(0,1fr))}.image-scale-canvas-shell{width:min(100%,430px)}}
@media(max-width:640px){.cashier-page .cashier-brand>div:last-child>strong{font-size:13px}.cashier-page .active-payment-modal .modal-body{padding:16px}.cashier-page .active-payment-modal .payment-methods{grid-template-columns:1fr}.cashier-page .transfer-account-payment-field{padding:15px}.cashier-page .transfer-destination-card{grid-template-columns:44px minmax(0,1fr);padding:14px}.cashier-page .transfer-bank-mark{width:42px;height:42px}.cashier-page .transfer-bank-detail b{font-size:16px;letter-spacing:.07em}.cashier-page .transfer-copy-number{grid-column:1/-1;width:100%;height:34px;flex-direction:row}.cashier-page .payment-form-actions .btn{width:100%;min-width:0}#adminApp .product-library-panel>.panel-head{align-items:stretch;flex-direction:column}#adminApp .product-library-panel>.panel-head .toolbar>*{flex:1 1 150px}.image-editor-section-head>span{display:none}.image-editor-actions{display:grid;grid-template-columns:1fr 1fr}.image-editor-actions .btn{min-width:0}}

/* ===== Cashier receipt, merge orders, and store logo v7 ===== */
.cashier-logo{overflow:hidden}.cashier-logo img{width:100%;height:100%;object-fit:cover;display:block}
.merge-orders-btn{border-color:#f0ad62;background:#fff8ef;color:#b45309}.merge-orders-btn:hover{border-color:#e57a00;background:#fff1dd}.merge-orders-btn:disabled{opacity:.45;cursor:not-allowed}
.merge-orders-modal{max-width:620px}.merge-orders-modal .modal-head p{margin:5px 0 0;color:var(--muted);font-size:11px}.merge-order-list{display:grid;gap:9px;max-height:360px;overflow:auto;margin-bottom:17px}.merge-order-option{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 14px;border:1px solid #dfe5ec;border-radius:12px;background:#fff;cursor:pointer}.merge-order-option:has(input:checked){border-color:#e57a00;background:#fff8ef;box-shadow:0 0 0 2px rgba(229,122,0,.07)}.merge-order-option input{width:18px;height:18px;accent-color:#e57a00}.merge-order-option strong{display:block;font-size:13px;color:#253247}.merge-order-option small{display:block;margin-top:4px;font-size:10px;color:#7b8796}.merge-order-option>b{font-size:13px;color:#d66a00}.merge-summary{display:flex;align-items:center;justify-content:space-between;margin-top:15px;padding:13px 14px;border-radius:11px;background:#f8fafc;color:#667085;font-size:12px}.merge-summary strong{color:#d66a00;font-size:17px}
.store-logo-uploader{position:relative;display:grid;grid-template-columns:100px minmax(0,1fr);align-items:center;gap:16px;padding:15px;border:1px dashed #e4a257;border-radius:14px;background:#fffaf3;cursor:pointer}.store-logo-uploader input{position:absolute;opacity:0;pointer-events:none}.store-logo-preview{position:relative;width:100px;height:100px;border-radius:15px;background:#fff0dd;color:#d66a00;display:grid;place-items:center;overflow:hidden;font-size:34px}.store-logo-preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:none;background:#fff}.store-logo-preview img.show{display:block}.store-logo-uploader>span:last-of-type strong{display:block;margin-bottom:6px;font-size:15px;color:#253247}.store-logo-uploader>span:last-of-type small{display:block;max-width:370px;color:#7b8796;font-size:11px;line-height:1.55}.store-logo-uploader>span:last-of-type b{display:inline-flex;align-items:center;gap:7px;margin-top:10px;padding:7px 10px;border-radius:8px;background:#e57a00;color:#fff;font-size:11px}
.receipt{max-width:340px;font-size:11px}.receipt-customer{text-align:center}.receipt-customer>small{display:block;font-size:8px;letter-spacing:1px;color:#555}.receipt-customer h2{margin:3px 0 5px;font-size:21px;line-height:1.2;overflow-wrap:anywhere}.receipt-customer p{margin:0 0 7px;font-size:11px;font-weight:700}.receipt-payment-status{display:inline-block;border:2px solid #111;padding:5px 10px;font-size:11px;letter-spacing:1px}.receipt-payment-status.paid{background:#111;color:#fff}.receipt-order-brand{display:grid;grid-template-columns:minmax(90px,.85fr) minmax(0,1.15fr);align-items:center;gap:10px}.receipt-order-brand>div:first-child small{display:block;font-size:7px;letter-spacing:.7px}.receipt-order-brand>div:first-child strong{display:block;margin-top:3px;font-size:11px;overflow-wrap:anywhere}.receipt-store-mini{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:6px;padding-left:9px;border-left:1px solid #bbb}.receipt-store-logo,.receipt-store-mark{width:30px;height:30px;border-radius:5px;object-fit:contain}.receipt-store-mark{display:grid;place-items:center;background:#111;color:#fff;font-size:12px}.receipt-store-mini b{display:block;font-size:8px;line-height:1.2;overflow-wrap:anywhere}.receipt-store-mini small{display:block;margin-top:2px;font-size:6.5px;line-height:1.35;color:#444;overflow-wrap:anywhere}.receipt-meta{font-size:9px;color:#333}
@media(max-width:640px){.active-order-section-head{align-items:flex-start;gap:10px}.merge-orders-btn{flex:0 0 auto;padding:9px 10px;font-size:11px}.store-logo-uploader{grid-template-columns:82px minmax(0,1fr);gap:12px}.store-logo-preview{width:82px;height:82px}.merge-order-option{grid-template-columns:20px minmax(0,1fr)}.merge-order-option>b{grid-column:2}.merge-orders-modal .modal-body{padding:16px}}
@media print{.receipt-payment-status.paid{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#111!important;color:#fff!important}.receipt-store-mark{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#111!important;color:#fff!important}}

/* ===== Admin clean reference v4.1 ===== */
#adminApp{
  --clean-orange:#f06a00;
  --clean-orange-dark:#dc5a00;
  --clean-ink:#10213b;
  --clean-muted:#667085;
  --clean-line:#e7e9ee;
  --clean-canvas:#f7f8fa;
  font-family:"Nunito Sans",Arial,sans-serif;
  color:var(--clean-ink);
  background:var(--clean-canvas);
}
#adminApp button,#adminApp input,#adminApp select,#adminApp textarea{font-family:inherit}
#adminApp .main,#adminApp .content{background:var(--clean-canvas)}
#adminApp .sidebar{width:250px;background:#fff;border-right:1px solid #e2e5ea;box-shadow:none;color:var(--clean-ink)}
#adminApp .side-brand{height:80px;padding:0 20px;background:#fff;border-bottom:1px solid #eef0f3}
#adminApp .side-brand .mini-logo,#adminApp .side-brand small{display:none}
#adminApp .side-brand strong{color:#e95b00;font-size:24px;font-weight:800;letter-spacing:-.5px}
#adminApp .side-nav{padding:15px 11px 18px}
#adminApp .nav-title{display:none}
#adminApp .nav-link{min-height:48px;margin:4px 0;padding:11px 14px;border-radius:10px;color:#3e4c61;font-size:14px;font-weight:600;line-height:1.35}
#adminApp .nav-link:hover{background:#fafafa;color:#17263c}
#adminApp .nav-link.active{background:#fff4ea;color:#ed5d00;box-shadow:none;font-weight:700}
#adminApp .nav-icon{width:20px;color:#596779;font-size:14px}
#adminApp .nav-link.active .nav-icon,#adminApp .nav-link:hover .nav-icon{color:#ed5d00}
#adminApp .nav-caret{margin-left:auto;color:#455468;font-size:10px}
#adminApp .nav-sub{margin:1px 0 7px 21px;padding-left:10px;border-left:1px solid #edf0f3}
#adminApp .nav-child{min-height:39px;padding:8px 10px;font-size:13px;color:#5d6979}
#adminApp .nav-child.active:before{background:#ed5d00;box-shadow:none}
#adminApp .side-user{padding:12px;border-top:1px solid #eef0f3;background:#fff}
#adminApp .side-user-box{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;padding:0;background:#fff;border:0;border-radius:0}
#adminApp .side-user-box .avatar{grid-column:1;grid-row:2;width:40px;height:40px;border-radius:50%;background:#ffdbb6;color:#df5b00;font-size:14px}
#adminApp .side-user-box>div:nth-child(2){grid-column:2;grid-row:2;align-self:center}
#adminApp .side-user-box strong{color:#13223a;font-size:13px;font-weight:700}
#adminApp .side-user-box small{color:#7b8798;font-size:10px}
#adminApp .side-user-box a{grid-column:1/-1;grid-row:1;width:100%;min-height:32px;margin:0 0 3px;border:0;border-radius:999px;background:#fff0f0;color:#e53935;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}
#adminApp .side-user-box a:before{content:"\f2f5";font-family:"Font Awesome 6 Free";font-weight:900;margin-right:7px}
#adminApp .topbar{height:60px;padding:0 18px 0 32px;background:#fff;border-bottom:1px solid #e7e9ee;box-shadow:0 1px 3px rgba(16,33,59,.03)}
#adminApp .page-heading h1{margin:0;color:#111f35;font-size:20px;font-weight:800;letter-spacing:-.25px}
#adminApp .page-heading p{display:none}
#adminApp .top-chip{padding:0;border:0;background:transparent;color:#667085;font-size:12px}
#adminApp .topbar-right .top-chip:last-child{display:none}
#adminApp .content{padding:32px}
#adminApp .panel,#adminApp .kpi-card,#adminApp .report-card,#adminApp .payment-summary{
  background:#fff;
  border:1px solid var(--clean-line)!important;
  border-radius:16px;
  box-shadow:0 1px 2px rgba(16,33,59,.06),0 4px 14px rgba(16,33,59,.025);
}
#adminApp .kpi-grid{gap:24px;margin-bottom:24px}
#adminApp .dashboard-kpis .kpi-card{min-height:98px;padding:20px;display:block;transform:none}
#adminApp .dashboard-kpis .kpi-card:hover{transform:none;box-shadow:0 1px 2px rgba(16,33,59,.06),0 4px 14px rgba(16,33,59,.025)}
#adminApp .kpi-card small,#adminApp .report-card small{margin-bottom:8px;color:#657185;font-size:12px;font-weight:500;letter-spacing:0;text-transform:none}
#adminApp .kpi-card strong,#adminApp .report-card strong{color:#10213b;font-size:23px;font-weight:800;letter-spacing:-.35px}
#adminApp .kpi-card em{margin-top:6px;color:#7b8798;font-size:10px;font-weight:500}
#adminApp .payment-summary-grid{gap:18px;margin-bottom:24px}
#adminApp .payment-summary{min-height:88px;padding:16px 18px;gap:13px;overflow:visible}
#adminApp .payment-summary:after{display:none}
#adminApp .payment-summary>span{width:40px;height:40px;border-radius:10px;background:#fff3e8;color:#ee6500;font-size:16px}
#adminApp .payment-summary small{font-size:12px;color:#657185;font-weight:600}
#adminApp .payment-summary strong{margin:3px 0 1px;color:#10213b;font-size:18px;font-weight:800}
#adminApp .payment-summary em{font-size:10px;color:#8791a0}
#adminApp .dashboard-chart-panel{margin-bottom:0}
#adminApp .panel-head{min-height:70px;padding:16px 24px;border-bottom:0}
#adminApp .panel-head h2,#adminApp .panel-head h3{color:#14213a;font-size:17px;font-weight:800;letter-spacing:-.15px}
#adminApp .panel-head p{margin-top:5px;color:#7a8595;font-size:11px;line-height:1.5}
#adminApp .dashboard-chart-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;justify-content:flex-end}
#adminApp .dashboard-period{display:flex;align-items:center;gap:8px;color:#8b95a2;font-size:12px}
#adminApp .date-input,#adminApp .search-input,#adminApp .select-input{min-height:38px;padding:8px 11px;border:1px solid #dfe3e8;border-radius:8px;background:#fff;color:#344054;font-size:12px}
#adminApp .btn{min-height:38px;padding:8px 13px;border-color:#dfe3e8;border-radius:8px;font-size:12px;font-weight:700}
#adminApp .btn.primary,#adminApp .btn.orange{border-color:var(--clean-orange);background:var(--clean-orange);box-shadow:none;color:#fff}
#adminApp .btn.primary:hover,#adminApp .btn.orange:hover{border-color:var(--clean-orange-dark);background:var(--clean-orange-dark)}
#adminApp .legend{font-size:11px;color:#6c7582}
#adminApp .legend i{width:22px;height:9px;border:2px solid #f39200;border-radius:0;background:#fff5e6!important;vertical-align:-1px}
#adminApp .panel-body{padding:10px 24px 22px}
#adminApp .line-chart{height:320px}
#adminApp .chart-grid-line{stroke:#e8eaee;stroke-dasharray:none}
#adminApp .chart-y-label,#adminApp .chart-x-label{fill:#68717e;font-family:"Nunito Sans",Arial,sans-serif;font-size:11px;font-weight:500}
#adminApp .line-path{stroke-width:3;filter:none}
#adminApp .sales-line{stroke:#f39200}
#adminApp .line-area{fill:url(#salesFill)}
#adminApp .chart-point{fill:#fff5e7;stroke:#f39200;stroke-width:2}
#adminApp .line-chart-tooltip{min-width:150px;padding:11px 12px;border-radius:9px;background:#172033;font-size:11px}
#adminApp .line-chart-tooltip strong{font-size:12px}
#adminApp .data-table th{padding:13px 14px;background:#f8f9fb;color:#657185;font-size:10px}
#adminApp .data-table td{padding:13px 14px;color:#344054;font-size:12px}
#adminApp .data-table td strong{font-size:12px}
#adminApp .field label{font-size:11px;color:#475467}
#adminApp .field input,#adminApp .field select,#adminApp .field textarea{padding:10px 11px;border-color:#dfe3e8;font-size:12px}
#adminApp .settings-card,#adminApp .form-card{font-size:12px}

@media(max-width:1100px){
  #adminApp .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  #adminApp .dashboard-chart-actions{width:100%;justify-content:space-between}
}
@media(max-width:900px){
  #adminApp .sidebar{width:min(300px,88vw)}
  #adminApp .content{padding:20px}
  #adminApp .topbar{padding:0 16px}
  #adminApp .panel-head{align-items:flex-start;flex-direction:column}
  #adminApp .dashboard-chart-actions{align-items:flex-start;flex-direction:column;gap:12px}
}
@media(max-width:640px){
  #adminApp .content{padding:14px}
  #adminApp .kpi-grid{grid-template-columns:1fr;gap:12px;margin-bottom:12px}
  #adminApp .dashboard-kpis .kpi-card{min-height:88px;padding:17px}
  #adminApp .payment-summary-grid{gap:10px;margin-bottom:12px}
  #adminApp .payment-summary{min-height:78px}
  #adminApp .dashboard-period{display:grid;grid-template-columns:1fr auto 1fr;width:100%}
  #adminApp .dashboard-period .btn{grid-column:1/-1}
  #adminApp .dashboard-period .date-input{min-width:0;width:100%}
  #adminApp .panel-head{padding:17px}
  #adminApp .panel-body{padding:7px 12px 17px}
  #adminApp .line-chart{height:260px}
}

/* ===== Admin management features v5 ===== */
#adminApp .line-chart{overflow-x:auto;overflow-y:hidden}
#adminApp .line-chart svg{display:block;width:100%;min-width:620px;height:100%}
#adminApp .clickable-row{cursor:pointer;transition:background .16s ease}
#adminApp .permission-hidden{display:none!important}
#adminApp .clickable-row:hover{background:#fff8f2}
#adminApp .product-cell{display:flex;align-items:center;gap:10px}
#adminApp .product-photo,#adminApp .employee-avatar-photo{width:42px;height:42px;border-radius:10px;object-fit:cover;border:1px solid #e7e9ee;background:#f8f9fb;flex:0 0 auto}
#adminApp .employee-avatar-fallback{width:42px;height:42px;flex:0 0 auto}
#adminApp .inventory-master-panel{margin-bottom:24px}
#adminApp .cash-filter{align-items:center;flex-wrap:wrap}
#adminApp .cash-filter .search-input{min-width:190px}
#adminApp .image-upload-box{display:grid;grid-template-columns:112px minmax(0,1fr);gap:14px;align-items:stretch;margin-bottom:18px;padding:12px;border:1px dashed #d7dce3;border-radius:12px;background:#fafbfc}
#adminApp .image-upload-box>img{display:none;width:112px;height:96px;object-fit:cover;border-radius:9px;background:#eef1f4}
#adminApp .image-upload-box>img.show{display:block}
#adminApp .image-upload-box>label{min-height:96px;border-radius:9px;color:#667085;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;text-align:center}
#adminApp .image-upload-box>label:hover{background:#fff4ea;color:#dc5a00}
#adminApp .image-upload-box>label i{font-size:20px;color:#f06a00}
#adminApp .image-upload-box>label strong{font-size:12px;color:#344054}
#adminApp .image-upload-box>label small{font-size:10px}
#adminApp .image-upload-box>input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
#adminApp .image-upload-box:not(:has(>img.show))>label{grid-column:1/-1}
#adminApp .cash-photo-preview img{display:none;width:100%;max-height:220px;object-fit:contain;border:1px solid #e7e9ee;border-radius:10px;background:#f8f9fb}
#adminApp .cash-photo-preview img.show{display:block}
#adminApp .inventory-stock-fields{margin-top:2px;padding:13px;border-radius:10px;background:#f8f9fb;border:1px solid #eef0f3}
#adminApp .role-management-grid{grid-template-columns:minmax(0,1fr)}
#adminApp .role-table{min-width:850px}
#adminApp .permission-section{margin-top:18px;padding:16px;border:1px solid #e7e9ee;border-radius:12px;background:#fafbfc}
#adminApp .permission-section>strong{font-size:13px;color:#182438}
#adminApp .permission-section>p{margin:4px 0 13px;font-size:11px;color:#7a8595}
#adminApp .permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
#adminApp .permission-grid label{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid #e7e9ee;border-radius:9px;background:#fff;color:#475467;font-size:11px;cursor:pointer}
#adminApp .permission-grid label:has(input:checked){border-color:#fdba74;background:#fff7ed;color:#c2410c}
#adminApp .permission-tags{display:flex;flex-wrap:wrap;gap:4px;max-width:340px}
#adminApp .permission-tags span{display:inline-flex;padding:4px 7px;border-radius:999px;background:#f2f4f7;color:#667085;font-size:9px;font-weight:700}
.cashier-product-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.product-image:has(.cashier-product-photo):after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(15,23,42,.42));pointer-events:none}
.product-image:has(.cashier-product-photo) .product-category-badge{position:relative;z-index:1}

@media(max-width:720px){
  #adminApp .cash-filter{display:grid;grid-template-columns:1fr 1fr;width:100%}
  #adminApp .cash-filter .search-input,#adminApp .cash-filter .btn{grid-column:1/-1;width:100%}
  #adminApp .cash-filter>span{display:none}
  #adminApp .permission-grid{grid-template-columns:1fr}
  #adminApp .image-upload-box{grid-template-columns:88px minmax(0,1fr)}
  #adminApp .image-upload-box>img{width:88px;height:88px}
  #adminApp .image-upload-box>label{min-height:88px}
}

/* ===== Admin AI & form readability v6 ===== */
.admin-page .modal{width:min(720px,100%);border-radius:20px;font-family:"Nunito Sans",Arial,sans-serif;color:#172033}
.admin-page .modal-head{padding:21px 24px}
.admin-page .modal-head h3{font-size:20px;line-height:1.3;font-weight:800;letter-spacing:-.2px}
.admin-page .modal-close{width:38px;height:38px;border-radius:10px;font-size:22px;color:#475467}
.admin-page .modal-body{padding:24px}
.admin-page .modal-body .form-grid{gap:18px}
.admin-page .modal-body .field>label,.admin-page .modal-body .field>span:first-child{margin-bottom:8px;color:#344054;font-size:14px;font-weight:750;line-height:1.4}
.admin-page .modal-body .field input,.admin-page .modal-body .field select,.admin-page .modal-body .field textarea{min-height:48px;padding:12px 14px;border:1px solid #d9dee6;border-radius:10px;color:#172033;font-size:15px;line-height:1.45;background:#fff}
.admin-page .modal-body .field textarea{min-height:100px;resize:vertical}
.admin-page .modal-body .field input::placeholder,.admin-page .modal-body .field textarea::placeholder{color:#98a2b3}
.admin-page .modal-body .checkline{gap:10px;color:#344054;font-size:14px;line-height:1.45}
.admin-page .modal-body .checkline input{width:18px;height:18px}
.admin-page .modal-body .form-actions{margin-top:24px;gap:11px}
.admin-page .modal-body .form-actions .btn{min-height:44px;padding:10px 18px;font-size:14px}
.admin-page .image-upload-box{position:relative;display:grid;grid-template-columns:148px minmax(0,1fr);gap:18px;align-items:stretch;margin-bottom:22px;padding:15px;border:2px dashed #fdba74;border-radius:16px;background:linear-gradient(135deg,#fffaf5,#fff);overflow:hidden}
.admin-page .image-upload-box>img{display:none;width:148px;height:132px;object-fit:cover;border-radius:13px;border:1px solid #fed7aa;background:#fff}
.admin-page .image-upload-box>img.show{display:block}
.admin-page .image-upload-box>label{min-height:132px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;border-radius:12px;color:#667085;cursor:pointer;text-align:center;transition:.18s}
.admin-page .image-upload-box>label:hover{background:#fff2e5}
.admin-page .image-upload-box:not(:has(>img.show))>label{grid-column:1/-1}
.admin-page .image-upload-box>label>i{width:68px;height:68px;border-radius:20px;background:linear-gradient(145deg,#ff8a32,#e95b00);box-shadow:0 10px 25px rgba(240,106,0,.22);display:grid;place-items:center;color:#fff;font-size:29px;margin-bottom:3px}
.admin-page .image-upload-box>label>strong{color:#26354a;font-size:16px;font-weight:800}
.admin-page .image-upload-box>label>small{color:#7b8798;font-size:12px;line-height:1.45}
.admin-page .image-upload-box>input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.admin-page .cash-file-field{position:relative;padding:17px;border:2px dashed #fdba74;border-radius:14px;background:#fffaf5;text-align:center}
.admin-page .cash-file-field:before{content:"\f030";font-family:"Font Awesome 6 Free";font-weight:900;width:62px;height:62px;margin:0 auto 10px;border-radius:19px;background:linear-gradient(145deg,#ff8a32,#e95b00);box-shadow:0 9px 22px rgba(240,106,0,.2);display:grid;place-items:center;color:#fff;font-size:26px}
.admin-page .cash-file-field>label{font-size:15px!important;font-weight:800!important}
.admin-page .cash-file-field input[type=file]{min-height:46px!important;padding:6px!important;background:#fff!important}
.admin-page .cash-file-field input[type=file]::file-selector-button{height:32px;margin-right:12px;border:0;border-radius:8px;background:#f06a00;color:#fff;padding:0 14px;font-weight:750;cursor:pointer}
.admin-page .cash-photo-preview img{display:none;width:100%;max-height:260px;object-fit:contain;border:1px solid #e7e9ee;border-radius:12px;background:#f8f9fb}
.admin-page .cash-photo-preview.full{grid-column:1/-1}
.admin-page .cash-photo-preview img.show{display:block}
.cash-autocomplete-field{position:relative}
.cash-name-suggestions{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:30;display:none;max-height:310px;overflow:auto;padding:7px;border:1px solid #dfe3e8;border-radius:12px;background:#fff;box-shadow:0 18px 45px rgba(16,33,59,.16)}
.cash-name-suggestions.show{display:block}
.cash-name-suggestions button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:0;border-radius:9px;background:#fff;color:#344054;text-align:left}
.cash-name-suggestions button:hover{background:#fff5eb}

/* Dropdown riwayat yang dapat diketik dan ditambah langsung. */
.smart-select-source{display:none!important}
.smart-history-select{position:relative;width:100%}
.smart-history-input{width:100%;padding-right:43px!important}
.smart-history-chevron{position:absolute;right:5px;top:5px;width:34px;height:calc(100% - 10px);display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:#7b8796;cursor:pointer}
.smart-history-chevron:hover{background:#fff4e8;color:#d95700}
.smart-history-options{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:60;display:none;max-height:310px;overflow:auto;padding:7px;border:1px solid #dfe3e8;border-radius:12px;background:#fff;box-shadow:0 18px 45px rgba(16,33,59,.16)}
.smart-history-options.show{display:block}
.smart-history-options button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:0;border-radius:9px;background:#fff;color:#344054;text-align:left;cursor:pointer}
.smart-history-options button:hover,.smart-history-options button.add-new{background:#fff5eb;color:#b45309}
.smart-history-options button span{min-width:0}
.smart-history-options button strong{display:block;overflow:hidden;text-overflow:ellipsis;font-size:12px}
.smart-history-options button small{display:block;margin-top:3px;color:#98a2b3;font-size:10px;font-weight:500}
.smart-history-options button.add-new strong{color:#d95700}
.smart-text-history-field{position:relative}
.smart-text-history-options{top:calc(100% + 6px)}
.product-inactive-row{background:#fafafa;color:#7a8595}
.product-inactive-row .product-cell img,.product-inactive-row .mini-product{filter:grayscale(.7);opacity:.62}
.product-track-toggle{align-items:flex-start!important;padding:14px 15px;border:1px solid #fed7aa;border-radius:12px;background:#fff8f1}
.product-track-toggle>input{margin-top:3px}
.product-track-toggle>span{display:flex;flex-direction:column;gap:3px}
.product-track-toggle strong{color:#253247;font-size:13px}
.product-track-toggle small{color:#7a8595;font-size:10px;font-weight:500;line-height:1.45}
.cash-name-suggestions button strong{display:block;font-size:14px}
.cash-name-suggestions button small{display:block;margin-top:3px;color:#8b95a2;font-size:11px}
.cash-name-suggestions button i{color:#f06a00}
.cash-name-suggestions .add-new{border-top:1px solid #edf0f3;border-radius:0;color:#d95700}

#adminApp .ai-briefing-reminder{position:relative;display:grid;grid-template-columns:70px minmax(0,1fr);gap:20px;align-items:start;margin-bottom:24px;padding:24px 26px;border:0;border-radius:18px;overflow:hidden;background:linear-gradient(120deg,#172033,#293754);color:#fff;box-shadow:0 12px 30px rgba(23,32,51,.15)}
#adminApp .ai-briefing-reminder:after{content:"";position:absolute;right:-70px;top:-100px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.06)}
#adminApp .ai-reminder-icon{width:64px;height:64px;border-radius:18px;background:linear-gradient(145deg,#ff922e,#ef5f00);display:grid;place-items:center;font-size:25px;box-shadow:0 10px 24px rgba(240,106,0,.3)}
#adminApp .ai-briefing-reminder small{display:block;margin-bottom:7px;color:#ffc48f;font-size:11px;font-weight:850;letter-spacing:1.2px}
#adminApp .ai-briefing-reminder h2{max-width:1100px;margin:0;color:#fff;font-size:25px;line-height:1.25;letter-spacing:-.4px}
#adminApp .ai-briefing-reminder p{max-width:1150px;margin:9px 0 14px;color:#d7deea;font-size:14px;line-height:1.65}
#adminApp .ai-briefing-reminder strong{display:inline-flex;padding:7px 11px;border-radius:8px;background:rgba(255,255,255,.1);font-size:12px;color:#fff}
#adminApp .ai-briefing-reminder.warning{background:linear-gradient(120deg,#7c2d12,#c2410c)}
#adminApp .ai-briefing-reminder.danger{background:linear-gradient(120deg,#7f1d1d,#b91c1c)}
#adminApp .ai-briefing-reminder.info{background:linear-gradient(120deg,#1e3a5f,#295f91)}

#adminApp .ai-page-intro{display:grid;grid-template-columns:68px minmax(0,1fr) auto;gap:18px;align-items:center;margin-bottom:22px;padding:22px 24px;border-radius:17px;background:linear-gradient(120deg,#172033,#33425f);color:#fff;box-shadow:0 10px 26px rgba(23,32,51,.12)}
#adminApp .ai-page-intro>span{width:62px;height:62px;border-radius:18px;background:linear-gradient(145deg,#ff922e,#ef5f00);display:grid;place-items:center;font-size:25px}
#adminApp .ai-page-intro small{color:#ffc48f;font-size:10px;font-weight:850;letter-spacing:1.1px}
#adminApp .ai-page-intro h2{margin:4px 0;color:#fff;font-size:22px}
#adminApp .ai-page-intro p{margin:0;color:#d7deea;font-size:12px;line-height:1.55}
#adminApp .ai-social-layout{grid-template-columns:minmax(330px,.7fr) minmax(520px,1.3fr);gap:20px}
#adminApp .ai-generator-form{display:grid;gap:16px;padding:22px}
#adminApp .ai-generator-form .field>label{font-size:13px}
#adminApp .ai-generator-form .field input,#adminApp .ai-generator-form .field select,#adminApp .ai-generator-form .field textarea{min-height:46px;padding:11px 13px;font-size:14px}
#adminApp .ai-generator-form .ai-generate-btn{min-height:48px;margin-top:3px;font-size:14px}
#adminApp .ai-preview-panel{min-width:0}
#adminApp .ai-social-preview{position:relative;min-height:420px;margin:0 22px 20px;border-radius:14px;background:#f4f6f8;display:grid;place-items:center;overflow:hidden}
#adminApp #aiSocialCanvas{display:none;max-width:100%;max-height:620px;object-fit:contain;box-shadow:0 8px 30px rgba(16,33,59,.13)}
#adminApp #aiSocialCanvas.show{display:block}
#adminApp .ai-canvas-placeholder{display:flex;flex-direction:column;align-items:center;gap:8px;padding:30px;color:#8993a2;text-align:center}
#adminApp .ai-canvas-placeholder i{font-size:50px;color:#f2a66d}
#adminApp .ai-canvas-placeholder strong{font-size:15px;color:#475467}
#adminApp .ai-canvas-placeholder span{font-size:12px}
#adminApp .ai-caption-result{margin:0 22px 22px;padding:18px;border:1px solid #e7e9ee;border-radius:13px;background:#fbfcfd}
#adminApp .ai-caption-result>div{display:flex;align-items:center;justify-content:space-between}
#adminApp .ai-caption-result>div>span{color:#f06a00;font-size:10px;font-weight:900;letter-spacing:1px}
#adminApp .ai-caption-result p{white-space:pre-line;color:#344054;font-size:13px;line-height:1.65}
#adminApp .ai-caption-result>strong{display:block;color:#e95b00;font-size:12px;line-height:1.6}
#adminApp .ai-strategy-filter{display:flex;gap:9px;align-items:center}
#adminApp .ai-strategy-empty{min-height:360px;border:1px dashed #d8dee7;border-radius:17px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#7a8595}
#adminApp .ai-strategy-empty i{font-size:45px;color:#f5a261}
#adminApp .ai-strategy-empty h3{margin:14px 0 5px;color:#344054;font-size:18px}
#adminApp .ai-strategy-empty p{margin:0;font-size:13px}
#adminApp .ai-strategy-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}
#adminApp .ai-strategy-kpis article{padding:18px;border:1px solid #e7e9ee;border-radius:14px;background:#fff;box-shadow:0 2px 8px rgba(16,33,59,.04)}
#adminApp .ai-strategy-kpis small{display:block;color:#7a8595;font-size:11px}
#adminApp .ai-strategy-kpis strong{display:block;margin:7px 0 5px;color:#172033;font-size:19px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#adminApp .ai-strategy-kpis em{color:#7a8595;font-size:10px;font-style:normal}
#adminApp .ai-strategy-kpis em.positive{color:#16834d}#adminApp .ai-strategy-kpis em.negative{color:#d14343}
#adminApp .ai-strategy-main{grid-template-columns:minmax(450px,1.05fr) minmax(440px,.95fr);gap:18px}
#adminApp .ai-strategy-chart{height:320px;padding:14px 18px 20px;overflow-x:auto}
#adminApp .ai-strategy-chart svg{display:block;width:100%;min-width:620px;height:100%}
#adminApp .ai-strategy-chart line{stroke:#e9ecf1}.ai-strategy-chart text{fill:#7a8595;font:11px "Nunito Sans",sans-serif}.ai-strategy-chart .area{fill:url(#aiChartFill)}.ai-strategy-chart .trend{fill:none;stroke:#f06a00;stroke-width:3}.ai-strategy-chart circle{fill:#fff;stroke:#f06a00;stroke-width:2}
#adminApp .ai-recommendation-list{padding:0 18px 18px}
#adminApp .ai-recommendation-list article{display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;padding:15px 0;border-bottom:1px solid #edf0f3}
#adminApp .ai-recommendation-list article>span{width:34px;height:34px;border-radius:10px;background:#fff0e4;color:#e95b00;display:grid;place-items:center;font-size:13px;font-weight:900}
#adminApp .ai-recommendation-list small{color:#f06a00;font-size:9px;font-weight:900;letter-spacing:.7px}
#adminApp .ai-recommendation-list h3{margin:4px 0;color:#26354a;font-size:14px}
#adminApp .ai-recommendation-list p{margin:0 0 7px;color:#7a8595;font-size:11px;line-height:1.5}
#adminApp .ai-recommendation-list strong{display:block;color:#344054;font-size:11px;line-height:1.5}
#adminApp .ai-recommendation-list strong i{color:#f06a00;margin-right:5px}
#adminApp .ai-recommendation-list em{display:inline-flex;margin-top:8px;padding:4px 7px;border-radius:999px;background:#f2f4f7;color:#667085;font-size:9px;font-style:normal}

@media(max-width:1100px){#adminApp .ai-social-layout,#adminApp .ai-strategy-main{grid-template-columns:1fr}#adminApp .ai-strategy-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){
  .admin-page .modal-body{padding:18px}.admin-page .modal-head{padding:18px}.admin-page .modal-head h3{font-size:18px}.admin-page .modal-body .form-grid{grid-template-columns:1fr;gap:14px}.admin-page .modal-body .field.full{grid-column:auto}
  .admin-page .image-upload-box{grid-template-columns:100px minmax(0,1fr);padding:12px}.admin-page .image-upload-box>img{width:100px;height:112px}.admin-page .image-upload-box>label{min-height:112px}.admin-page .image-upload-box>label>i{width:56px;height:56px;font-size:23px}
  #adminApp .ai-briefing-reminder{grid-template-columns:52px minmax(0,1fr);gap:14px;padding:19px}#adminApp .ai-reminder-icon{width:50px;height:50px;font-size:20px}#adminApp .ai-briefing-reminder h2{font-size:20px}#adminApp .ai-briefing-reminder p{font-size:13px}
  #adminApp .ai-page-intro{grid-template-columns:52px minmax(0,1fr);padding:18px}#adminApp .ai-page-intro>span{width:50px;height:50px;font-size:20px}#adminApp .ai-page-intro h2{font-size:18px}#adminApp .ai-page-intro .ai-strategy-filter{grid-column:1/-1;width:100%}#adminApp .ai-page-intro .ai-strategy-filter>*{flex:1}
  #adminApp .ai-strategy-kpis{grid-template-columns:1fr 1fr;gap:10px}#adminApp .ai-social-preview{min-height:300px;margin:0 14px 14px}#adminApp .ai-caption-result{margin:0 14px 14px}
}

/* Final priority for v8.0.6 responsive forms */
.admin-page .modal.product-modal-wide{width:min(860px,100%)}
.admin-page .modal.role-modal-wide{width:min(980px,100%)}
#adminApp .permission-section .permission-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
#adminApp .permission-section .permission-grid label{min-height:66px;align-items:flex-start;padding:12px;gap:10px}
@media(max-width:850px){#adminApp .permission-section .permission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){#adminApp .permission-section .permission-grid{grid-template-columns:1fr}.admin-page .modal.product-modal-wide,.admin-page .modal.role-modal-wide{width:100%}}

/* v8.0.6 — pilihan kategori dan laporan laba rugi terperinci */
.smart-history-input{padding-right:78px!important}
.smart-history-clear{position:absolute;right:42px;top:5px;width:32px;height:calc(100% - 10px);display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:#98a2b3;cursor:pointer}
.smart-history-clear:hover{background:#fff0f0;color:#e53935}
.smart-history-clear.hidden{display:none}
#adminApp .margin-analysis-card{margin-bottom:18px;padding:22px 24px;border:1px solid #dbe3ea;border-radius:17px;background:linear-gradient(135deg,#f8fafc,#fff);box-shadow:0 5px 18px rgba(16,33,59,.06)}
#adminApp .margin-analysis-head{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:start;gap:15px}
#adminApp .margin-analysis-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:14px;background:#e8eef5;color:#64748b;font-size:21px}
#adminApp .margin-analysis-head small{display:block;margin-bottom:4px;color:#64748b;font-size:9px;font-weight:900;letter-spacing:1px}
#adminApp .margin-analysis-head h2{margin:0;color:#172033;font-size:18px}
#adminApp .margin-analysis-head p{margin:6px 0 0;color:#667085;font-size:11px;line-height:1.55}
#adminApp .margin-health-badge{padding:7px 10px;border-radius:999px;background:#eef2f6;color:#64748b;font-size:9px;font-weight:850;white-space:nowrap}
#adminApp .margin-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px}
#adminApp .margin-metric-grid>div{padding:13px 14px;border:1px solid #e6eaf0;border-radius:11px;background:#fff}
#adminApp .margin-metric-grid small{display:block;color:#7b8796;font-size:9px}
#adminApp .margin-metric-grid strong{display:block;margin-top:5px;color:#26354a;font-size:17px}
#adminApp .margin-analysis-card.healthy{border-color:#b7dfc8;background:linear-gradient(135deg,#edf9f2,#fff)}
#adminApp .margin-analysis-card.healthy .margin-analysis-icon,#adminApp .margin-analysis-card.healthy .margin-health-badge{background:#dff4e8;color:#167344}
#adminApp .margin-analysis-card.warning{border-color:#f5d39f;background:linear-gradient(135deg,#fff8eb,#fff)}
#adminApp .margin-analysis-card.warning .margin-analysis-icon,#adminApp .margin-analysis-card.warning .margin-health-badge{background:#ffefd5;color:#b85a00}
#adminApp .margin-analysis-card.danger{border-color:#f3bdc2;background:linear-gradient(135deg,#fff2f3,#fff)}
#adminApp .margin-analysis-card.danger .margin-analysis-icon,#adminApp .margin-analysis-card.danger .margin-health-badge{background:#ffe2e5;color:#c73542}
#adminApp .profit-layout{margin-bottom:18px}
#adminApp .profit-layout .profit-statement{max-width:none}
#adminApp .profit-line.info{background:#f7f9fb;color:#64748b}
#adminApp .profit-line.info small{display:inline;color:#98a2b3;font-size:9px}
#adminApp .profit-detail-panel{margin-top:15px}
@media(max-width:850px){#adminApp .margin-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){#adminApp .margin-analysis-card{padding:17px}#adminApp .margin-analysis-head{grid-template-columns:46px minmax(0,1fr)}#adminApp .margin-analysis-icon{width:44px;height:44px}.margin-health-badge{grid-column:1/-1;width:max-content}#adminApp .margin-metric-grid{grid-template-columns:1fr 1fr}}

/* v8.0.6 — footer akun dan popup kas pada Kasir */
.cashier-page .drawer-footer.cashier-user-footer{position:relative;height:auto;min-height:126px;display:block;padding:13px 14px 10px;background:#fff;border-top:1px solid #e8edf2}
.cashier-page .drawer-user-box{display:grid;grid-template-columns:40px minmax(0,1fr);gap:9px;align-items:center}
.cashier-page .drawer-user-avatar{grid-column:1;grid-row:2;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#ffdbb6;color:#df5b00;font-size:14px;font-weight:850}
.cashier-page .drawer-user-box>div:nth-child(2){grid-column:2;grid-row:2;min-width:0}
.cashier-page .drawer-user-box strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#13223a;font-size:13px}
.cashier-page .drawer-user-box small{display:block;margin-top:2px;color:#7b8798;font-size:10px}
.cashier-page .drawer-user-box>a{position:static;grid-column:1/-1;grid-row:1;width:100%;height:32px;margin:0 0 3px;border:0;border-radius:999px;background:#fff0f0;color:#e53935;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:750;text-decoration:none}
.cashier-page .drawer-user-box>a:before{content:"\f2f5";font-family:"Font Awesome 6 Free";font-weight:900;margin-right:7px}
.cashier-page .drawer-user-box>a:hover{background:#ffe3e3;color:#c62828}
.cashier-page .drawer-version{display:block;margin-top:9px;text-align:center;color:#a1a9b4;font-size:9px}
.cashier-page .modal.cashier-cash-modal{width:min(700px,100%)}
.cashier-page .cashier-cash-modal .modal-head p{margin:4px 0 0;color:#7b8798;font-size:10px}
.cashier-page .cashier-cash-name-field{position:relative}
.cashier-page .cashier-cash-photo-field{padding:15px;border:2px dashed #fdba74;border-radius:13px;background:#fffaf5}
.cashier-page .cashier-cash-photo-field>label{font-size:12px;font-weight:800}
.cashier-page .cashier-cash-photo-field input[type=file]{min-height:44px;padding:5px;background:#fff}
.cashier-page .cashier-cash-photo-field input[type=file]::file-selector-button{height:32px;margin-right:10px;border:0;border-radius:8px;background:#f06a00;color:#fff;padding:0 13px;font-weight:750;cursor:pointer}
.cashier-page .cash-photo-preview.full{grid-column:1/-1}
.cashier-page .cash-photo-preview img{display:none;width:100%;max-height:240px;object-fit:contain;border:1px solid #e7e9ee;border-radius:11px;background:#f8f9fb}
.cashier-page .cash-photo-preview img.show{display:block}

/* v8.0.7 — identitas Kasir, kategori yang dapat dihapus, serta meja & ruangan */
.cashier-page .cashier-brand strong{font-family:"Plus Jakarta Sans","Nunito Sans",sans-serif;font-weight:800;letter-spacing:-.035em}
.cashier-page .product-category-badge{display:none!important}
.smart-option-actions{flex:0 0 auto;display:flex;align-items:center;gap:9px;color:#98a2b3}
.smart-history-remove{width:26px;height:26px;display:grid;place-items:center;border-radius:8px;background:#fff0f0;color:#dc2626;font-size:11px;transition:.15s}
.smart-history-remove:hover{background:#dc2626;color:#fff}
#adminApp .dining-feature-card{display:grid;grid-template-columns:58px minmax(0,1fr) auto auto;align-items:center;gap:17px;margin-bottom:18px;padding:20px 22px;border:1px solid #ffd6ae;border-radius:17px;background:linear-gradient(135deg,#fff8ee,#fff);box-shadow:0 5px 18px rgba(16,33,59,.05)}
#adminApp .dining-feature-card.disabled{border-color:#dfe4ea;background:linear-gradient(135deg,#f4f6f8,#fff)}
#adminApp .dining-feature-icon{width:56px;height:56px;display:grid;place-items:center;border-radius:15px;background:#ffe8cf;color:#e25f00;font-size:21px}
#adminApp .dining-feature-card.disabled .dining-feature-icon{background:#e8edf2;color:#7b8796}
#adminApp .dining-feature-card small{display:block;color:#e25f00;font-size:9px;font-weight:900;letter-spacing:1px}
#adminApp .dining-feature-card h2{margin:3px 0 4px;font-size:18px}
#adminApp .dining-feature-card p{margin:0;color:#667085;font-size:11px}
#adminApp .dining-management-grid{grid-template-columns:1fr 1fr;gap:18px}
#adminApp .dining-switch{display:flex;align-items:center;gap:9px;cursor:pointer;color:#344054;font-size:11px;font-weight:800}
#adminApp .dining-switch input{position:absolute;opacity:0;pointer-events:none}
#adminApp .dining-switch span{position:relative;width:48px;height:27px;border-radius:999px;background:#cbd5e1;box-shadow:inset 0 0 0 1px rgba(15,23,42,.06);transition:.18s}
#adminApp .dining-switch span:after{content:"";position:absolute;left:3px;top:3px;width:21px;height:21px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(15,23,42,.22);transition:.18s}
#adminApp .dining-switch input:checked+span{background:#e66f00}
#adminApp .dining-switch input:checked+span:after{transform:translateX(21px)}
@media(max-width:1050px){#adminApp .dining-feature-card{grid-template-columns:58px minmax(0,1fr) auto}#adminApp .dining-feature-card>.btn{grid-column:2/-1;justify-self:end}#adminApp .dining-management-grid{grid-template-columns:1fr}}
@media(max-width:640px){#adminApp .dining-feature-card{grid-template-columns:48px minmax(0,1fr);padding:17px}#adminApp .dining-feature-icon{width:46px;height:46px}#adminApp .dining-switch{grid-column:1/-1}#adminApp .dining-feature-card>.btn{grid-column:1/-1;width:100%}}

/* v8.0.8 — konfigurasi dan pembayaran QRIS DOKU */
#adminApp .doku-status-card{border-color:#ffd2d0;background:linear-gradient(135deg,#fff5f4,#fff)}
#adminApp .doku-mark{width:58px;height:58px;border-radius:15px;background:#e52521;color:#fff;display:grid;place-items:center;font-size:14px;font-weight:950;letter-spacing:-.6px;box-shadow:0 8px 18px rgba(229,37,33,.2)}
#adminApp .doku-settings{display:grid;gap:18px}
#adminApp .doku-settings .integration-status-card,#adminApp .doku-settings .panel{margin:0}
#adminApp .doku-note{border-color:#ffd1cf;background:#fff8f7;color:#7a2926}
#adminApp .doku-setup-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:17px 20px 20px}
#adminApp .doku-setup-steps span{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:start;gap:9px;padding:13px;border:1px solid #e7e9ee;border-radius:11px;background:#fafbfc;color:#667085;font-size:10px;line-height:1.55}
#adminApp .doku-setup-steps b{width:27px;height:27px;border-radius:8px;background:#e52521;color:#fff;display:grid;place-items:center;font-size:11px}
.cashier-page .doku-payment-modal{width:min(620px,100%)}
.cashier-page .doku-payment-head{display:grid;grid-template-columns:52px minmax(0,1fr);gap:13px;align-items:center;padding:15px;border:1px solid #ffd2d0;border-radius:13px;background:#fff7f6}
.cashier-page .doku-payment-logo{width:50px;height:50px;border-radius:13px;background:#e52521;color:#fff;display:grid;place-items:center;font-size:12px;font-weight:950}
.cashier-page .doku-payment-head small{display:block;color:#e52521;font-size:8px;font-weight:900;letter-spacing:.8px}.cashier-page .doku-payment-head strong{display:block;margin:4px 0;color:#172033;font-size:16px}.cashier-page .doku-payment-head span{color:#667085;font-size:9px}
.cashier-page .doku-payment-status{display:flex;align-items:center;gap:10px;margin:13px 0;padding:12px 14px;border-radius:11px;background:#fff6e8;color:#a45100;font-size:10px;font-weight:800}.cashier-page .doku-payment-status.paid{background:#eaf8f0;color:#167344}.cashier-page .doku-payment-status.failed{background:#fff0f0;color:#c73542}
.cashier-page .doku-payment-status i.fa-spinner{animation:doku-spin .9s linear infinite}@keyframes doku-spin{to{transform:rotate(360deg)}}
.cashier-page .doku-checkout-action{width:100%;min-height:48px;justify-content:center;background:#e52521!important;border-color:#e52521!important;color:#fff!important}
.cashier-page .doku-payment-help{margin:11px 0 0;color:#667085;font-size:9px;line-height:1.55;text-align:center}
@media(max-width:760px){#adminApp .doku-setup-steps{grid-template-columns:1fr}.cashier-page .doku-payment-modal .form-actions{display:grid;grid-template-columns:1fr}.cashier-page .doku-payment-modal .form-actions .btn{width:100%}}

/* v8.0.9 — filter periode, logo transparan, dan rekening transfer */
#adminApp .dashboard-summary-filter{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px;padding:15px 18px;border:1px solid #e4e8ee;border-radius:14px;background:#fff;box-shadow:0 3px 12px rgba(16,33,59,.035)}
#adminApp .dashboard-summary-filter strong{display:block;color:#10213b;font-size:12px}
#adminApp .dashboard-summary-filter>div:first-child span{display:block;margin-top:4px;color:#7b8796;font-size:10px}
#adminApp .quick-periods{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
#adminApp .quick-periods button{border:1px solid #dfe4ea;border-radius:9px;background:#f8fafc;color:#596579;padding:8px 12px;font-size:10px;font-weight:750;cursor:pointer}
#adminApp .quick-periods button:hover,#adminApp .quick-periods button.active{border-color:#ee6500;background:#fff2e8;color:#d95700}
#adminApp .payment-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
#adminApp .payment-summary.transfer{--channel-color:#245b9b;--channel-bg:#e8f1fb;border-color:#b7d0eb}
#adminApp .payment-summary.transfer>span{background:#e8f1fb;color:#245b9b}
.date-range-control{position:relative;flex:0 0 auto}
.date-range-button{min-width:230px;height:38px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:0 12px;border:1px solid #d9e0e8;border-radius:10px;background:#fff;color:#344054;font-size:10px;text-align:left;cursor:pointer;box-shadow:0 1px 3px rgba(16,33,59,.04)}
.date-range-button>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.date-range-button>i:first-child{color:#e76700;font-size:13px}.date-range-button>i:last-child{color:#98a2b3;font-size:8px}.date-range-button:hover,.date-range-button.active{border-color:#ee6500;box-shadow:0 0 0 3px rgba(238,101,0,.08)}
.date-range-popover{position:absolute;right:0;top:calc(100% + 8px);z-index:120;width:310px;padding:14px;border:1px solid #e1e6ec;border-radius:14px;background:#fff;box-shadow:0 18px 48px rgba(16,33,59,.18);display:none}.date-range-popover.open{display:block}
#adminApp .dashboard-chart-panel,#adminApp #view-finance>.panel{overflow:visible}
.range-calendar-head{display:grid;grid-template-columns:34px 1fr 34px;align-items:center;margin-bottom:10px}.range-calendar-head strong{text-align:center;text-transform:capitalize;color:#172033;font-size:13px}.range-calendar-head button,.date-arrow{width:34px;height:34px;border:1px solid #e0e5eb;border-radius:9px;background:#fff;color:#596579;cursor:pointer}.range-calendar-head button:hover,.date-arrow:hover{border-color:#ee6500;background:#fff3e8;color:#e15f00}
.range-weekdays,.range-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.range-weekdays{margin-bottom:5px}.range-weekdays span{text-align:center;color:#98a2b3;font-size:8px;font-weight:800}.range-day{height:34px;border:0;border-radius:9px;background:transparent;color:#344054;font-size:10px;cursor:pointer}.range-day:hover{background:#fff0e3;color:#d95700}.range-day.outside{color:#c3cad4}.range-day.today{box-shadow:inset 0 0 0 1px #f3a45d}.range-day.between{border-radius:4px;background:#fff1e5;color:#c54f00}.range-day.selected{background:#e76700;color:#fff;font-weight:850;box-shadow:none}.range-picker-help{display:block;margin-top:10px;padding-top:9px;border-top:1px solid #edf0f3;color:#7b8796;text-align:center;font-size:9px}
#adminApp .cash-date-navigation{display:flex;align-items:center;gap:6px}.cash-date-navigation .date-range-button{min-width:220px}
#adminApp .logo-scale-field output{float:right;color:#e25f00;font-weight:850}.logo-scale-field input[type="range"]{width:100%;accent-color:#e76700}.logo-scale-field .field-help{display:block;margin-top:5px}
.store-logo-preview{background-color:#f8fafc;background-image:linear-gradient(45deg,#edf1f5 25%,transparent 25%),linear-gradient(-45deg,#edf1f5 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#edf1f5 75%),linear-gradient(-45deg,transparent 75%,#edf1f5 75%);background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0}
.store-logo-preview img{object-fit:contain!important;background:transparent!important;transform:scale(var(--logo-scale,var(--store-logo-scale,1)));transform-origin:center}
.cashier-page .cashier-logo:has(img){background:transparent;box-shadow:none}.cashier-page .cashier-logo img{width:100%;height:100%;object-fit:contain;background:transparent;transform:scale(var(--store-logo-scale,1));transform-origin:center}.cashier-page .cashier-logo img.platform-default-logo,.cashier-page .receipt-store-logo.platform-default-logo{transform:none!important}
.cashier-page .cashier-brand>div:last-child>strong{font-family:Inter,sans-serif;font-weight:400;letter-spacing:.01em}.cashier-page #headerStoreName{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.24em;font-weight:500;letter-spacing:.025em}.cashier-page .cashier-brand>div:last-child>strong{font-size:18px}
.cashier-page .payment-methods{grid-template-columns:repeat(3,1fr)}.cashier-page .transfer-account-payment-field{margin-top:12px}.cashier-page .transfer-account-payment-field select{font-weight:700}.cashier-page .receipt-transfer-account{margin:7px 0;padding:8px;border:1px dashed #777;text-align:center}.cashier-page .receipt-transfer-account small{display:block;font-size:7px;text-transform:uppercase;letter-spacing:.6px}.cashier-page .receipt-transfer-account strong{display:block;margin-top:3px;font-size:8px;line-height:1.35}.cashier-page .receipt-store-logo{object-fit:contain;background:transparent;transform:scale(var(--store-logo-scale,1));transform-origin:center}
#adminApp .transfer-settings{display:grid;gap:18px}#adminApp .transfer-status-card{margin:0;border-color:#cfe0f5;background:linear-gradient(135deg,#f3f8ff,#fff)}#adminApp .transfer-mark{width:58px;height:58px;border-radius:15px;background:#245b9b;color:#fff;display:grid;place-items:center;font-size:21px;box-shadow:0 8px 18px rgba(36,91,155,.18)}#adminApp .transfer-status-card>.btn{justify-self:end}.account-number{display:inline-block;padding:5px 8px;border-radius:7px;background:#f2f5f8;color:#20354f;font-size:11px;letter-spacing:.4px}
@media(max-width:1000px){#adminApp .payment-summary-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){#adminApp .dashboard-summary-filter{align-items:flex-start;flex-direction:column}#adminApp .quick-periods{width:100%}#adminApp .quick-periods button{flex:1 1 calc(50% - 6px)}#adminApp .payment-summary-grid{grid-template-columns:1fr}.date-range-button{min-width:0;width:100%}.date-range-popover{position:fixed;left:12px;right:12px;top:50%;width:auto;transform:translateY(-50%)}#adminApp .cash-filter{align-items:stretch}#adminApp .cash-date-navigation{width:100%}#adminApp .cash-date-navigation .date-range-control{flex:1}#adminApp .transfer-status-card{grid-template-columns:auto 1fr}#adminApp .transfer-status-card>.btn{grid-column:1/-1;width:100%}.cashier-page .cashier-brand>div:last-child>strong{font-size:15px}.cashier-page #headerStoreName{font-size:1.22em}}

/* Final priority v8.0.11 */
.cashier-page .cashier-brand>div:last-child>strong{font-family:Manrope,Inter,sans-serif;font-size:16px;font-weight:500;line-height:1.12;letter-spacing:-.018em}
.cashier-page #headerStoreName{font-family:inherit;font-size:1em;font-weight:500;letter-spacing:-.018em}
@media(max-width:760px){.cashier-page .cashier-brand>div:last-child>strong{font-size:13px}.cashier-page #headerStoreName{font-size:1em}}
.topbar-right a.top-chip{text-decoration:none;color:inherit}.side-nav>a.nav-link{text-decoration:none}

/* Email verification status in Warung Ku v9.0.4 */
.email-verification-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 15px;border:1px solid #fed7aa;border-radius:13px;background:#fffaf3}.email-verification-card.verified{border-color:#a7e3be;background:#f2fff7}.email-verification-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:12px;background:#ffedd5;color:#c45c00;font-size:17px}.email-verification-card.verified .email-verification-icon{background:#dcfce7;color:#16834d}.email-verification-card small,.email-verification-card strong,.email-verification-card p{display:block}.email-verification-card small{color:#a45a19;font-size:8px;font-weight:850;letter-spacing:.9px}.email-verification-card strong{margin:3px 0;color:#273548;font-size:12px}.email-verification-card p{margin:0;color:#6f7c8d;font-size:9px;line-height:1.5}
@media(max-width:640px){.email-verification-card{grid-template-columns:auto minmax(0,1fr)}.email-verification-card .btn{grid-column:1/-1;width:100%}}
.login-warning{display:block;margin-top:4px;color:#bd4d00;font-size:8px;font-weight:750}

/* v9.0.8 — navy header and drawer, matching the landing page */
.cashier-page{--cashier-navy:#0f2942;--cashier-navy-hover:#1c3d53;--cashier-teal:#4ae0d1}
.cashier-page .cashier-header,.cashier-page .drawer-head{background:var(--cashier-navy);color:#fff;box-shadow:0 2px 8px rgba(16,42,62,.16)}
.cashier-page .cashier-brand small{color:#c8d9e5}
.cashier-page .cashier-drawer{background:var(--cashier-navy);color:#e1ecf3;border-right:1px solid #274559}
.cashier-page .drawer-head{border-bottom:1px solid #274559;box-shadow:none}
.cashier-page .drawer-head strong,.cashier-page .drawer-close{color:#fff}
.cashier-page .drawer-label{color:#9bb4c6}
.cashier-page .drawer-link{color:#d9e7ef}
.cashier-page .drawer-link .nav-fa,.cashier-page .drawer-link .nav-icon{color:#9fbbcc}
.cashier-page .drawer-link:hover{background:var(--cashier-navy-hover);color:#fff}
.cashier-page .drawer-link.active{background:#1a4153;color:#fff;box-shadow:inset 3px 0 0 var(--cashier-teal)}
.cashier-page .drawer-link.active .nav-fa,.cashier-page .drawer-link.active .nav-icon{color:var(--cashier-teal)}
.cashier-page .drawer-footer,.cashier-page .drawer-footer.cashier-user-footer{background:var(--cashier-navy);border-top-color:#274559;color:#9bb4c6}
.cashier-page .drawer-user-box{background:rgba(255,255,255,.05)}
.cashier-page .drawer-user-box strong{color:#fff}
.cashier-page .drawer-user-box small{color:#b7cbd8;opacity:1}
.cashier-page .drawer-user-avatar{background:#235063;color:#70e6d8}
.cashier-page .drawer-link:focus-visible,.cashier-page .drawer-close:focus-visible{outline:2px solid var(--cashier-teal);outline-offset:-3px}

/* v9.0.9 — always-visible platform branding */
.cashier-page .cashier-logo{display:grid!important;flex-shrink:0;width:42px;height:42px;border-radius:11px;background:#fff!important;padding:4px}
.cashier-page .cashier-brand>.cashier-brand-copy>strong{font-family:Manrope,Inter,sans-serif;font-size:22px;font-weight:800;letter-spacing:-.04em;color:#fff}
.cashier-brand-copy>strong>span{color:#4ae0d1;margin-left:3px}
.cashier-store-caption{display:block;font-family:Manrope,Inter,sans-serif;font-size:10px;font-weight:500;color:#cfdee8;margin-top:4px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cashier-page .cashier-brand-copy>small{display:none}
.cashier-page .cashier-top-btn{background:#ff7a24;color:#142c40;border:1px solid #ff9552;font-weight:750}
.cashier-page .cashier-top-btn:hover,.cashier-page .cashier-top-btn:focus-visible{background:#ff9a58;color:#102a3e}
.cashier-page .drawer-trigger{background:#24465f}
@media(max-width:640px){.cashier-page .cashier-brand>.cashier-brand-copy>strong{font-size:17px}.cashier-store-caption{max-width:125px;font-size:9px}.cashier-page .cashier-logo{width:34px;height:34px}.cashier-page .cashier-top-actions{gap:5px}}

.shopping-table{min-width:750px}.shopping-table input{width:100%;min-width:70px;border:1px solid #d6e1e8;border-radius:8px;padding:10px;font:inherit}.shopping-table td:first-child{min-width:230px}.shopping-table td:nth-child(2),.shopping-table td:nth-child(3){width:105px}.shopping-estimate{display:block;max-width:300px;margin-top:6px;font-size:10px;line-height:1.5;color:#66798a}.shopping-help{padding:15px;background:#eef7f5;border-radius:10px;font-size:12px;line-height:1.7;color:#315c53}.shopping-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-top:20px}.shopping-predict{margin-top:6px;background:#e9f4f3;color:#136b63;border:0;border-radius:6px;padding:6px;font-size:10px;cursor:pointer}.shopping-remove{border:0;border-radius:6px;background:#ffeded;color:#b22;padding:6px 12px;font-size:20px}.shopping-line-total{white-space:nowrap;font-weight:700}#shoppingHistory button{border:1px solid #dae3e8;border-radius:6px;background:#fff;color:#23475e;padding:7px 10px;cursor:pointer}

/* v9.0.10 — document-style shopping sheet */
#view-shopping-notes .note-workspace{max-width:1080px;margin:0 auto;padding:4px 0 26px}
.note-toolbar,.note-toolbar>div{display:flex;align-items:center;gap:12px}.note-toolbar{justify-content:space-between;margin-bottom:20px}.note-toolbar strong,.note-toolbar small{display:block}.note-toolbar strong{font-size:16px;color:#203549}.note-toolbar small{font-size:11px;color:#7b8b98;margin-top:4px}.note-toolbar-icon{display:grid;place-items:center;width:40px;height:40px;border:1px solid #d8e3e8;border-radius:11px;background:#fff;color:#278376;font-size:18px}
.note-fields{border:0;padding:0;margin:0;min-width:0}.note-paper{background:#fff;border:1px solid #d9e2e8;border-radius:5px;box-shadow:0 5px 24px rgba(22,43,60,.05);overflow:hidden}
.note-paper-header{display:flex;justify-content:space-between;align-items:flex-start;gap:25px;padding:32px 34px 27px}.note-eyebrow{font-size:10px;font-weight:800;letter-spacing:.2em;color:#34877d}.note-paper-header h2{margin:10px 0 7px;font-size:24px;letter-spacing:.015em;color:#163043;font-weight:750}.note-paper-header p{margin:0;font-size:12px;color:#75838e}.note-meta{display:grid;gap:6px;min-width:160px}.note-draft{justify-self:end;border:1px solid #e0e7ec;border-radius:5px;padding:4px 8px;font-size:9px;color:#7b8791;margin-bottom:10px}.note-meta label{font-size:10px;color:#87939c}.note-meta input{font-family:inherit;border:0;border-bottom:1px solid #dbe3e8;border-radius:0;background:#fff;padding:5px 0 7px;font-size:12px;color:#213b4c}
#view-shopping-notes .note-grid{width:100%;min-width:760px;border-collapse:collapse;table-layout:fixed;margin:0}
#view-shopping-notes .note-grid th{background:#f4f7f9;padding:12px 8px;border-top:1px solid #dce5eb;border-bottom:1px solid #dce5eb;color:#657a89;text-align:left;font-size:10px;letter-spacing:.02em;font-weight:650}
#view-shopping-notes .note-grid td{padding:0;vertical-align:top;border-bottom:1px solid #e6edf1;border-right:1px solid #edf1f4;min-width:0}
#view-shopping-notes .note-grid th:first-child,#view-shopping-notes .note-grid td:first-child{width:42px;min-width:0;text-align:center;background:#f9fbfc;color:#99a9b4}
#view-shopping-notes .note-grid td.note-row-number{padding:18px 6px;font-size:11px}
#view-shopping-notes .note-grid th:nth-child(2){width:auto}#view-shopping-notes .note-grid th:nth-child(3),#view-shopping-notes .note-grid th:nth-child(4){width:82px}#view-shopping-notes .note-grid th:nth-child(5){width:163px}#view-shopping-notes .note-grid th:nth-child(6){width:145px;text-align:right}#view-shopping-notes .note-grid th:last-child{width:34px}
#view-shopping-notes .note-grid td:nth-child(2),#view-shopping-notes .note-grid td:nth-child(3){width:auto}
#view-shopping-notes .note-grid input{display:block;min-width:0;width:100%;border:1px solid transparent;border-radius:0;outline:0;background:transparent;padding:17px 11px;font-size:12px;font-family:inherit;color:#254053;transition:background .12s}
#view-shopping-notes .note-grid input:focus{border-color:#399f90;background:#f3fcf9;box-shadow:inset 0 0 0 1px #399f90}
#view-shopping-notes .note-grid input::placeholder{color:#b4bfc7}#view-shopping-notes .note-grid input[type=number]{appearance:textfield;-moz-appearance:textfield}#view-shopping-notes .note-grid input::-webkit-inner-spin-button{appearance:none}
#view-shopping-notes .note-grid input[name=quantity]{text-align:center}#view-shopping-notes .note-grid input[name=price]{text-align:right;padding-right:6px}
.note-price-cell{display:flex;align-items:center}.note-price-cell input{flex:1}.note-price-cell .shopping-predict{flex-shrink:0;margin:0 6px 0 0;padding:5px;background:#eaf6f2;border-radius:5px;color:#438d80;font-size:14px;line-height:1}
#view-shopping-notes .shopping-estimate:empty{display:none}#view-shopping-notes .shopping-estimate{font-size:9px;color:#578b7d;padding:0 10px 8px;margin:0;line-height:1.4}
#view-shopping-notes .note-grid td.shopping-line-total{padding:18px 10px;text-align:right;white-space:nowrap;font-size:12px;font-weight:600;color:#244154;font-variant-numeric:tabular-nums;background:#fcfdfd}
#view-shopping-notes .shopping-remove{margin-top:12px;border:0;border-radius:4px;background:transparent;color:#a3b2bc;padding:3px 7px;font-size:17px;cursor:pointer}#view-shopping-notes .shopping-remove:hover{background:#fff0ee;color:#c65448}
.note-add-row{display:flex;align-items:center;gap:10px;border:0;border-bottom:1px solid #e4ebef;width:100%;padding:14px 24px;background:#fff;color:#258172;font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;text-align:left}.note-add-row span{font-size:20px;line-height:1}.note-add-row:hover{background:#f5faf8}
.note-paper-footer{display:flex;align-items:flex-start;justify-content:space-between;gap:30px;padding:26px 32px 30px;min-height:140px}.note-keyboard-hint{margin:0 0 15px;color:#96a3ae;font-size:10px;line-height:2}.note-keyboard-hint kbd{border:1px solid #dee6eb;border-radius:4px;background:#f9fafb;padding:2px 5px;font-family:inherit;color:#718795}.note-keyboard-hint span{margin:0 7px}
.note-ai-help{max-width:390px;color:#7e919c;font-size:10px}.note-ai-help summary{cursor:pointer;color:#48877c}.note-ai-help p{line-height:1.7;margin-bottom:0}
.note-grand-total{text-align:right;min-width:170px}.note-grand-total small{display:block;font-size:10px;color:#9aa9b3;margin-bottom:13px}.note-grand-total>span{display:block;font-size:11px;color:#7e909b;margin-bottom:7px}.note-grand-total strong{font-size:25px;letter-spacing:-.03em;font-weight:750;color:#193c4e;font-variant-numeric:tabular-nums}
.note-savebar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0}.note-savebar p{color:#91a0ac;font-size:11px;margin:0}.note-savebar p i{margin-right:5px}.note-savebar .btn{padding:12px 23px;border-radius:9px;font-size:12px;background:#217d67;color:#fff}.note-savebar .btn:hover{background:#196650}
.note-history{border-top:1px solid #dbe4e9;margin-top:8px}.note-history>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:20px 0;cursor:pointer;list-style:none;font-size:12px;font-weight:600;color:#647c8b}.note-history>summary::-webkit-details-marker{display:none}.note-history>summary i{margin-right:8px}.note-history>summary>span:last-child{font-size:10px;font-weight:400}.note-history>summary small{font-size:10px;color:#92a2ad;margin-left:5px}.note-history .table-wrap{border:1px solid #dee6eb;border-radius:9px;background:#fff}
.note-preview-dialog{width:min(840px,95vw);max-height:90vh;border:0;border-radius:12px;padding:0;color:#172d3e;box-shadow:0 20px 70px rgba(16,42,62,.2)}.note-preview-dialog::backdrop{background:rgba(15,35,50,.4)}.note-preview-dialog>header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e4eaee}.note-preview-dialog>header h2{font-size:16px;margin:0 0 5px}.note-preview-dialog>header small{font-size:10px;color:#8495a2}.note-preview-dialog>header button{background:#f1f5f7;border:0;border-radius:6px;width:30px;height:30px;font-size:22px;color:#647988;cursor:pointer}.note-preview-dialog>footer{padding:16px 24px;border-top:1px solid #e4eaee;text-align:right}
#shoppingPreviewContent{padding:28px;overflow:auto;font:12px Arial}#shoppingPreviewContent .printed-heading{display:flex;justify-content:space-between;gap:20px;border-bottom:2px solid #172d3e;padding-bottom:18px}#shoppingPreviewContent h1{font-size:20px;letter-spacing:1px}#shoppingPreviewContent table{width:100%;min-width:560px;border-collapse:collapse;margin:25px 0}#shoppingPreviewContent th,#shoppingPreviewContent td{padding:11px 7px;border-bottom:1px solid #dbe2e7;text-align:left}#shoppingPreviewContent th{background:#f5f7f9;font-size:10px}#shoppingPreviewContent td:last-child,#shoppingPreviewContent th:last-child{text-align:right}#shoppingPreviewContent .total{text-align:right;font-size:20px;font-weight:bold}#shoppingPreviewContent .print-footer{display:block;margin-top:25px;color:#8495a2;font-size:10px}
@media(max-width:650px){.note-paper-header{padding:23px 18px;gap:15px}.note-paper-header h2{font-size:18px}.note-meta{min-width:132px}.note-paper-footer{padding:22px 18px;gap:16px;flex-wrap:wrap}.note-grand-total{margin-left:auto}.note-keyboard-hint{display:none}.note-savebar{flex-direction:column;align-items:stretch;gap:12px}.note-savebar p{text-align:center;font-size:10px}.note-toolbar small{font-size:10px}.note-toolbar .btn{font-size:11px;padding:9px 10px}}

/* v9.0.11 — reusable notes and bulk price assistance */
.note-tool-actions{display:flex;flex-wrap:wrap;gap:8px}.note-tool-actions .btn{font-size:11px}.note-preset-panel{margin:0 0 16px;padding:14px 16px;border:1px solid #dce7eb;border-radius:9px;background:#fff}.note-preset-panel>summary{font-size:12px;font-weight:600;color:#528174;cursor:pointer}.note-preset-panel>small{display:block;margin-top:10px;font-size:10px;color:#8c9da8}.note-preset-chip{display:inline-flex;margin:12px 7px 3px 0;border:1px solid #d8e6e2;border-radius:7px;overflow:hidden}.note-preset-chip button{border:0;background:#eef8f4;padding:8px 10px;color:#377b67;font:inherit;font-size:11px;cursor:pointer}.note-preset-chip button+button{border-left:1px solid #d7e7df;color:#af6860}.note-preset-save{display:flex;gap:9px;margin-top:12px}.note-preset-save input{min-width:0;flex:1;border:1px solid #dbe5ea;border-radius:6px;padding:9px;font:inherit;font-size:11px}#shoppingPresets>p{font-size:11px;color:#8b9ba7;margin:15px 0}.note-history td:last-child{white-space:nowrap}
@media(max-width:700px){.note-toolbar{align-items:flex-start;flex-direction:column}.note-tool-actions{width:100%}.note-tool-actions .btn{flex:1;padding:8px 6px;font-size:10px}.note-preset-save{flex-direction:column}}
