:root{--espresso:#3b2218;--gold:#b1842d;--cream:#faf6ef;--muted:#7d746d;--line:#eae3d9;--green:#247346;--orange:#ad6b13}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:#2c231e;font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:16px}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit;text-decoration:none}.sidebar{position:fixed;inset:0 auto 0 0;width:230px;background:#fff;border-right:1px solid var(--line);padding:32px 22px;display:flex;flex-direction:column}.brand{font-size:34px;font-weight:850;letter-spacing:-1.5px}.brand span{color:var(--gold);margin-left:7px}.brand-sub{font-size:12px;letter-spacing:2.3px;color:var(--muted);margin:5px 0 40px}nav{display:grid;gap:9px}nav a{display:flex;gap:13px;align-items:center;padding:15px;border-radius:10px;color:var(--muted);font-size:15px}nav a.active{background:var(--espresso);color:white}nav svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8}.side-bottom{margin-top:auto;border-top:1px solid var(--line);padding-top:20px;display:grid;gap:10px}.side-bottom small{font-size:12px;color:var(--muted)}.workspace{margin-left:230px}.topbar{height:78px;padding:0 40px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:#fff9;font-size:14px;color:var(--muted)}.topbar b{font-weight:500;color:var(--espresso);margin-left:10px}.owner{display:flex;gap:12px;align-items:center}.avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#eee1cd;color:var(--espresso)}.badge{font-size:12px;letter-spacing:1px;background:#f0e4ce;color:#865e1c;padding:5px 8px;border-radius:5px}main{max-width:1580px;margin:auto;padding:34px 40px 20px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:26px}.eyebrow{font-size:12px;letter-spacing:2px;color:var(--gold);font-weight:700}h1{font-size:30px;letter-spacing:-.8px;margin:8px 0}h2{font-size:19px;margin:0 0 18px}h3{font-size:16px;margin:0}p{line-height:1.6}small,.muted{color:var(--muted)}.subtitle{margin:0;color:var(--muted);font-size:14px}.btn{padding:13px 19px;border:1px solid var(--line);border-radius:10px;background:white;color:var(--espresso);font-weight:600;font-size:14px;min-height:44px}.btn.primary{background:var(--gold);border-color:var(--gold);color:#fff}.btn.dark{background:var(--espresso);color:white;border-color:var(--espresso)}.btn.full{width:100%}.text-button{border:0;background:transparent;color:var(--gold);padding:6px 0;text-align:left;font-size:14px}.card{background:white;border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:0 5px 22px #3b221803}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:24px}.stat{min-height:145px}.stat .value{display:block;font-size:29px;letter-spacing:-1px;font-weight:750;margin:16px 0 9px}.stat small{font-size:12px}.stat.featured{background:var(--espresso);color:white;border-color:var(--espresso)}.stat.featured small{color:#dfc9ae}.stat-label{font-size:14px}.green{color:var(--green)}.two-col{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:24px}.stack{display:grid;gap:24px;align-content:start}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.card-head h2{margin:0}.chart{height:210px;display:flex;align-items:end;gap:18px;border-bottom:1px solid var(--line);padding-top:25px;margin:15px 0 38px}.bar-col{flex:1;height:100%;position:relative;display:flex;align-items:end;justify-content:center}.bar{width:70%;max-width:45px;background:#dbbd7d;border-radius:6px 6px 0 0;min-height:2px}.bar-col:last-child .bar{background:var(--espresso)}.bar-col small{position:absolute;top:calc(100% + 12px);font-size:12px}.row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 0;border-bottom:1px solid var(--line)}.row:last-child{border-bottom:0}.row-name{flex:1;min-width:0}.row-name small{display:block;margin-top:6px;font-size:13px}.rank{background:var(--cream);width:30px;height:30px;display:grid;place-items:center;border-radius:50%;color:var(--gold)}.notice{background:#fff3de;border:1px solid #f0dbb4;padding:18px;border-radius:12px;font-size:14px;line-height:1.6}.notice strong{display:block}.pos-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}.toolbar{display:flex;gap:12px;margin-bottom:18px;flex-wrap:wrap}input,select{border:1px solid var(--line);background:white;border-radius:9px;padding:12px;min-width:0;max-width:100%;color:var(--espresso)}.search{width:100%;margin-bottom:18px}.chip{border:1px solid var(--line);background:white;padding:10px 16px;border-radius:30px;font-size:14px}.chip.active{background:var(--espresso);color:white}.products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.product{padding:0;overflow:hidden}.photo{height:142px;background:#efe2d1;display:grid;place-items:center;overflow:hidden}.photo-crop{width:100px;height:85px;background-image:url('assets/mockup.png');background-repeat:no-repeat;background-size:1536px 1024px;border-radius:8px;transform:scale(1.4)}.photo-crop.aren{background-position:-334px -317px}.photo-crop.americano{background-position:-474px -317px}.photo-crop.latte{background-position:-334px -477px}.photo-crop.matcha{background-position:-474px -477px}.product-info{padding:16px}.product-info h3{min-height:38px;font-size:15px}.price-row{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-top:10px;font-size:14px}.add{width:36px;height:36px;border:0;border-radius:9px;background:var(--gold);color:white;font-size:23px}.cart{position:sticky;top:20px}.empty{padding:35px 8px;text-align:center;color:var(--muted);line-height:1.7}.stepper{display:flex;align-items:center;gap:10px}.stepper button{height:32px;width:32px;border:1px solid var(--line);border-radius:7px;background:var(--cream)}.cart .row{flex-wrap:wrap}.cart .stepper{margin-left:auto}.total{font-size:21px;font-weight:700}.payment{display:flex;gap:7px;margin:20px 0}.payment label{font-size:13px;flex:1;border:1px solid var(--line);padding:10px 3px;border-radius:7px;text-align:center;cursor:pointer}.payment input{accent-color:var(--gold);margin-right:3px}.status{border-radius:6px;padding:6px 10px;background:#e7f2e8;color:var(--green);font-size:12px}.status.low{background:#fff1d8;color:var(--orange)}.inventory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:24px}.stock-number{font-size:30px;font-weight:700;margin:22px 0 13px}.stock-number small{font-size:15px;font-weight:400}progress{width:100%;height:8px;appearance:none;border:0;border-radius:8px;overflow:hidden;background:#eee}progress::-webkit-progress-bar{background:#eee}progress::-webkit-progress-value{background:var(--green)}progress::-moz-progress-bar{background:var(--green)}.low-stock progress::-webkit-progress-value{background:var(--gold)}.stock-foot{display:flex;justify-content:space-between;align-items:center;margin-top:15px;font-size:12px;color:var(--muted)}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px;text-align:left}td,th{padding:15px 12px;border-bottom:1px solid var(--line);white-space:nowrap}th{font-weight:500;color:var(--muted)}.cost-hero{height:220px;background:#efe2d1;border-radius:12px;display:grid;place-items:center;overflow:hidden;margin-bottom:24px}.cost-hero .photo-crop{transform:scale(2.5)}.cost-highlight{background:var(--cream);border-radius:10px;padding:18px;margin-top:18px}.margin{font-size:40px;color:var(--green);font-weight:750;margin:12px 0}.summary-note{font-size:13px;color:var(--muted);line-height:1.7}.bep{display:flex;justify-content:space-between;align-items:center;margin:18px 0}.bep strong{font-size:30px}footer{padding:24px 40px;font-size:12px;color:var(--muted)}dialog{border:1px solid var(--line);border-radius:18px;padding:28px;width:min(500px,calc(100% - 32px));max-height:85vh;overflow:auto;color:var(--espresso)}dialog::backdrop{background:#24150f88}dialog label{display:grid;gap:8px;margin:18px 0;font-size:14px}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);max-width:90vw;padding:14px 22px;background:var(--espresso);color:white;border-radius:10px;z-index:10;display:none;font-size:14px}#toast.show{display:block}@media(min-width:1550px){.products{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1200px){.sidebar{width:190px;padding:28px 15px}.workspace{margin-left:190px}main{padding:28px 24px}.topbar{padding:0 24px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.products{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-layout{grid-template-columns:minmax(0,1fr) 300px}.inventory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col{grid-template-columns:minmax(0,1.3fr) minmax(260px,1fr)}}@media(max-width:1000px){.sidebar{width:86px;padding:25px 12px}.brand{font-size:20px}.brand span,.brand-sub,.side-bottom,nav .nav-label{display:none}nav{margin-top:35px}nav a{justify-content:center;padding:17px 8px}.workspace{margin-left:86px}.two-col{grid-template-columns:1fr}.page-head{align-items:flex-start}.page-head h1{font-size:27px}}@media(max-width:700px){.sidebar{inset:auto 0 0;width:100%;height:76px;padding:7px 6px;background:white;border-top:1px solid var(--line);border-right:0;z-index:5}.brand{display:none}nav{display:flex;justify-content:space-around;gap:2px;margin:0}nav a{flex-direction:column;gap:4px;padding:7px 4px;flex:1;font-size:12px}nav a.active{background:var(--cream);color:var(--gold)}nav .nav-label{display:block;font-size:12px}.workspace{margin-left:0;padding-bottom:76px}.topbar{padding:0 18px;height:62px}.topbar>span{font-size:12px}.topbar b{display:none}.owner{gap:8px}main{padding:23px 16px}.page-head{flex-wrap:wrap;margin-bottom:22px}.page-head h1{font-size:26px}.stats{gap:12px}.card{padding:18px}.stat .value{font-size:23px}.stat{min-height:125px}.pos-layout{grid-template-columns:1fr}.cart{position:static}.product{padding:0}.inventory-grid{grid-template-columns:1fr}.two-col{gap:18px}.photo{height:133px}.card-head{flex-wrap:wrap}footer{padding:20px 16px}.products{gap:12px}.product-info{padding:12px}#toast{bottom:90px}.chart{gap:8px}}
/* Login and role-aware workspace */
[hidden]{display:none!important}.logout-button{border:1px solid var(--line);background:white;border-radius:8px;padding:8px 12px;color:var(--espresso);font-size:13px;min-height:38px}.signed-out .sidebar,.signed-out .topbar,.signed-out footer{display:none}.signed-out .workspace{margin:0;padding:0}.signed-out main{padding:0;max-width:none}.login-layout{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-story{background:var(--espresso);color:#fff;padding:65px clamp(35px,7vw,110px);display:flex;flex-direction:column;justify-content:center}.login-story .brand{display:block;color:#fff;font-size:44px;margin-bottom:65px}.login-story .brand span{display:inline;color:#d8b15b}.login-kicker{font-size:12px;letter-spacing:2px;color:#dfc197}.login-story h1{font-size:clamp(35px,4vw,58px);line-height:1.15;letter-spacing:-1.8px;margin:24px 0}.login-story>p{max-width:410px;color:#decfc4;font-size:16px;line-height:1.8}.login-features{display:grid;gap:22px;margin:32px 0 70px;font-size:15px;color:#ead6b5}.login-story>small{color:#c2a991;font-size:13px}.login-panel{width:100%;max-width:540px;align-self:center;justify-self:center;padding:60px 45px}.login-panel h2{font-size:31px;margin:14px 0}.login-panel form{margin-top:30px}.login-panel label{display:grid;gap:9px;margin:20px 0;font-size:14px;font-weight:600}.login-panel input{width:100%;min-height:49px;font-weight:400}.password-field{display:flex;align-items:center;border:1px solid var(--line);border-radius:9px;background:white}.password-field input{border:0;background:transparent}.password-field button{border:0;background:transparent;color:var(--gold);font-size:13px;padding:12px;min-height:44px}.login-panel .btn.full{min-height:49px}.login-error{color:#a12d21;font-size:14px;min-height:20px;margin:10px 0 16px;line-height:1.5}.demo-accounts{margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}.demo-accounts>.card-head{font-size:14px;margin-bottom:12px}.demo-account{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;border:1px solid var(--line);border-radius:10px;background:#fff;padding:14px;margin-top:10px;text-align:left;color:var(--espresso);font-size:14px}.demo-account small{display:block;font-size:12px;line-height:1.5;margin-top:5px}.demo-account>span:last-child{font-size:12px;color:#8b651f;white-space:nowrap}.login-panel .summary-note{font-size:12px}@media(max-width:900px){.login-story{padding:45px 32px}.login-panel{padding:45px 26px}.login-story h1{font-size:37px}}@media(max-width:700px){.login-layout{grid-template-columns:1fr}.login-story{padding:25px 26px}.login-story .brand{font-size:32px;margin:0}.login-story .login-kicker,.login-story h1,.login-story>p,.login-features,.login-story>small{display:none}.login-panel{padding:34px 24px 45px}.owner{font-size:13px}.owner .avatar{display:none}.logout-button{padding:8px}.topbar>span{max-width:85px}.demo-account{flex-wrap:wrap}}
/* Master bahan */
.materials-card .card-head{margin-bottom:22px}.materials-table td{padding-top:22px;padding-bottom:22px}.materials-table td:nth-child(2),.materials-table td:nth-child(3){white-space:normal;min-width:150px;max-width:260px;overflow-wrap:anywhere}.material-index{color:var(--muted);width:50px}.material-note{display:block;font-size:12px;margin-top:6px}.material-help{margin-top:22px;max-width:700px}.material-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.material-fields label{min-width:0}.material-cost{display:block;margin-top:9px;font-size:18px}.row-name strong,.inventory-grid h3{overflow-wrap:anywhere}.materials-table{min-width:740px}@media(max-width:700px){nav a{min-width:46px}.materials-card{padding:18px 12px}.material-fields{gap:12px}}
/* Recipe builder */
.recipe-picker{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:24px}.recipe-picker select{min-width:240px;flex:1;max-width:480px}.recipe-picker label{font-size:14px;font-weight:600}.recipe-publish{margin-top:24px}.recipe-modal{width:min(760px,calc(100% - 32px))}.recipe-line{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) 44px;gap:12px;align-items:center}.recipe-line label{min-width:0}.recipe-line select{width:100%}.remove-recipe-line{padding:9px;margin-top:21px;font-size:21px}.recipe-totals{display:grid;grid-template-columns:1fr 1fr 1fr;gap:15px;padding:20px;background:var(--cream);border-radius:12px}.recipe-totals small{font-size:13px}.recipe-totals strong{display:block;margin-top:10px;font-size:19px}.loss{color:#a12d21!important}.new-menu-photo{display:flex;flex-direction:column;gap:8px;background:#eee2ca;color:var(--espresso);border-radius:12px}.new-menu-photo span{font-size:40px;font-weight:750}.new-menu-photo small{font-size:12px;letter-spacing:2px}@media(max-width:600px){.recipe-line{grid-template-columns:minmax(0,1fr) 90px 38px;gap:7px}.recipe-line label{font-size:12px}.recipe-line input,.recipe-line select{padding:10px 7px}.recipe-totals{grid-template-columns:1fr;padding:16px;gap:12px}.recipe-totals>div{display:flex;align-items:center;justify-content:space-between}.recipe-totals strong{margin:0}.recipe-picker select{min-width:0;width:100%;flex-basis:100%}}
.page-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.pos-tabs{display:flex;gap:8px;margin:0 0 22px;border-bottom:1px solid var(--line)}.pos-tab{border:0;border-bottom:3px solid transparent;background:transparent;padding:12px 18px;color:var(--muted);font-weight:700}.pos-tab.active{color:var(--espresso);border-bottom-color:var(--gold)}.queue-badge{display:inline-grid;place-items:center;min-width:25px;height:25px;margin-left:7px;padding:0 7px;border-radius:20px;background:#eee2ca;color:var(--espresso);font-size:12px}.customer-field{display:grid;gap:8px;margin:18px 0 6px;font-size:14px;font-weight:600}.customer-field input{width:100%}.orders-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.order-card{display:flex;flex-direction:column;min-width:0}.order-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.order-head h2{margin:7px 0 0;overflow-wrap:anywhere}.queue-number{font-size:24px;font-weight:800;color:var(--gold)}.order-meta{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0;color:var(--muted);font-size:12px}.order-meta span{padding:5px 8px;background:var(--cream);border-radius:6px;overflow-wrap:anywhere}.order-lines{flex:1}.order-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.btn.danger{border-color:#c95649;color:#a12d21;background:#fff}.orders-empty{max-width:720px;margin:auto}.order-card .total{margin-top:8px}@media(max-width:1200px){.orders-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.pos-tabs{position:sticky;top:0;background:var(--cream);z-index:3}.pos-tab{flex:1}.orders-grid{grid-template-columns:1fr}.order-actions{grid-template-columns:1fr}.order-actions .btn{width:100%}}
.uploaded-photo img{display:block;width:100%;height:100%;object-fit:cover}.uploaded-photo{display:block}.photo-preview{display:flex;gap:16px;align-items:center;margin-bottom:20px}.photo-preview img{width:150px;height:120px;object-fit:cover;border-radius:12px;border:1px solid var(--line)}input[type=file]{padding:10px;font-size:14px}.materials-table td:last-child .btn{min-width:70px}

/* Warehouse controls wrap on smaller screens. */
.warehouse-actions{display:flex;flex-wrap:wrap;gap:8px;min-width:190px}
.warehouse-actions .btn{font-size:12px;padding:8px 10px}
.warehouse-history{margin-top:24px}

.finance-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.finance-history{margin-top:24px}.finance-history td{vertical-align:top}.stat .value{overflow-wrap:anywhere}

/* Menu availability */
.availability-label{display:inline-block;margin-top:12px;padding:5px 8px;border-radius:6px;background:#e7f2e8;color:#247346;font-size:12px;font-weight:700}
.availability-label.sold-out{background:#fbe8e4;color:#9b3525}
.product-unavailable .photo{filter:grayscale(1);opacity:.65}
.availability-note{font-size:12px;color:#7d746d;margin:7px 0 0;line-height:1.4}
.availability-control{display:block;min-height:44px;margin-top:8px;width:100%}
.product-unavailable .add:disabled{background:#756b63;opacity:.65}

.order-print-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.order-print-actions .btn{flex:1 1 150px;padding:11px 12px}.pos-tabs{flex-wrap:wrap}

/* Multi-branch connectivity status */
.cloud-status{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 24px;background:#fff5d9;border-bottom:1px solid #d8b56c;font-size:14px;position:relative;z-index:2}
.cloud-status[hidden]{display:none}.cloud-status>span{flex:1;min-width:180px}.cloud-status .btn{font-size:14px}.cloud-status .login-error{flex-basis:100%;margin:0}
@media(max-width:600px){.cloud-status{padding:12px}.cloud-status>strong{width:100%}}

.queue-number{overflow-wrap:anywhere}
