:root{font-family:Inter,system-ui,sans-serif;background:#f5f7f6;color:#17201d}*{box-sizing:border-box}body{margin:0}main{max-width:1200px;margin:auto;padding:24px}button,input,select{font:inherit;min-height:44px;border:1px solid #d5dcda;border-radius:10px;background:#fff;padding:9px 12px}button{cursor:pointer;font-weight:650}.active,.primary{background:#173f35;color:white;border-color:#173f35}.center{min-height:80vh;display:grid;place-items:center}.panel,.stats>div{background:white;border:1px solid #dce3e0;border-radius:14px;padding:16px}.login{width:min(420px,100%);display:grid;grid-gap:14px;gap:14px}.login input,label input,label select{display:block;width:100%;margin-top:5px}.row,header{display:flex;align-items:center;justify-content:space-between;gap:10px}header{margin-bottom:18px}h1,h2,p{margin:4px 0}small{display:block;color:#68736f}.cats,nav{display:flex;gap:7px;flex-wrap:wrap}.notice{background:white;padding:10px;border-radius:10px;margin-bottom:12px}.stats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px;margin-bottom:18px}.stats b{display:block;font-size:1.3rem;margin-top:5px}.layout{display:grid;grid-template-columns:1.4fr .8fr;grid-gap:18px;gap:18px}.cats{margin-bottom:12px}.grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:9px;gap:9px}.item{text-align:left;padding:14px}.item span{display:block;color:#68736f;margin-top:6px}.cart{display:grid;grid-template-columns:1fr 38px 25px 38px 82px;grid-gap:5px;gap:5px;align-items:center;padding:8px 0;border-bottom:1px solid #eee}.total{border-top:1px solid #ddd;margin-top:12px;padding-top:12px}.checkout,.menuForm{display:grid;grid-template-columns:1.4fr 1.2fr 1fr 1fr 1.4fr;grid-gap:10px;gap:10px;align-items:end;margin-top:18px}.menuForm{grid-template-columns:2fr 1fr 1fr 1fr}.tools{display:flex;gap:10px;align-items:end;margin-bottom:10px}.table{overflow:auto;background:white;border:1px solid #ddd;border-radius:14px}table{width:100%;border-collapse:collapse;min-width:750px}td,th{padding:11px;text-align:left;border-bottom:1px solid #eee}td button{margin-right:5px}.menuList{grid-gap:8px;margin-top:12px}.menuList,.menuRow{display:grid;gap:8px}.menuRow{grid-template-columns:1fr 120px 120px 90px 90px;grid-gap:8px;align-items:center;background:white;border:1px solid #ddd;border-radius:12px;padding:10px}.menuRow input[type=checkbox]{display:inline;width:auto;min-height:auto}.modal{position:fixed;inset:0;background:#0008;display:grid;place-items:center;padding:16px}.receipt{width:min(390px,100%);background:white;padding:18px;border-radius:14px}.receipt hr{border:0;border-top:1px dashed #777}.centerText{text-align:center}#print{font-family:ui-monospace,monospace;font-size:13px}.noPrint{margin-top:14px}@media(max-width:800px){main{padding:14px}header{align-items:flex-start;flex-direction:column}.layout{grid-template-columns:1fr}.checkout,.grid,.menuForm,.stats{grid-template-columns:1fr 1fr}.checkout button,.menuForm button{grid-column:1/-1}.menuRow{grid-template-columns:1fr 110px 110px}}@media(max-width:450px){.checkout,.grid,.menuForm,.menuRow,.stats{grid-template-columns:1fr}}@media print{body *{visibility:hidden}#print,#print *{visibility:visible}#print{position:absolute;left:0;top:0;width:80mm;padding:4mm}.noPrint{display:none}}.reportBar{display:flex;justify-content:flex-end;margin-bottom:8px}.reportBar label{min-width:190px}.danger{border-color:#b42318;color:#b42318}.wide{grid-column:span 2}.printButtons{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;margin-top:14px}.docTitle{text-align:center;font-weight:800;margin:8px 0}.hotelName{font-size:16px}.grand{font-size:15px}.thanks{margin-top:12px}.kotTitle{font-size:20px;font-weight:900;margin-top:6px}.kotNo{font-size:16px;font-weight:900;margin-bottom:5px}.kotItem{font-size:18px;padding:8px 0;border-bottom:1px dashed #999}.kotNote{font-size:17px}.hidePrint{display:none}@media(max-width:800px){.wide{grid-column:1/-1}}@media print{.modal{position:static;background:white;padding:0;display:block}.receipt{width:80mm;max-width:none;padding:0;border-radius:0}.hidePrint{display:none!important}#kotPrint:not(.hidePrint),#receiptPrint:not(.hidePrint){visibility:visible!important;display:block}#kotPrint:not(.hidePrint) *,#receiptPrint:not(.hidePrint) *{visibility:visible!important}.printSheet{width:80mm;padding:3mm;font-family:ui-monospace,monospace;font-size:12px}.breakBefore{page-break-before:always}.noPrint{display:none!important}.printSheet{font-family:Arial,Helvetica,sans-serif!important;font-size:15px!important;line-height:1.22!important;font-weight:500!important;letter-spacing:0!important}.printSheet .hotelName{font-size:20px!important;line-height:1.15!important;font-weight:800!important}.printSheet .docTitle{font-size:23px!important;line-height:1.1!important;font-weight:900!important;margin:7px 0!important}.printSheet b,.printSheet strong{font-weight:800!important}.printSheet .grand{font-size:18px!important;font-weight:900!important}.printSheet .thanks{font-size:14px!important;margin-top:10px!important}.printSheet .kotTitle{font-size:25px!important;line-height:1.1!important;font-weight:900!important}.printSheet .kotNo{font-size:19px!important;font-weight:900!important}.printSheet .kotItem{font-size:20px!important;padding:7px 0!important}.printSheet .kotItem,.printSheet .kotNote{line-height:1.2!important;font-weight:700!important}.printSheet .kotNote{font-size:18px!important}body,html{width:80mm!important;min-width:80mm!important;margin:0!important;padding:0!important;background:#fff!important}body *{visibility:hidden!important}.modal{position:absolute!important;left:0!important;top:0!important;background:#fff!important}.modal,.receipt{width:80mm!important;margin:0!important;padding:0!important}.receipt{max-width:80mm!important;border:0!important;border-radius:0!important}#kotPrint.hidePrint,#receiptPrint.hidePrint{display:none!important}#kotPrint:not(.hidePrint),#receiptPrint:not(.hidePrint){display:block!important;position:absolute!important;left:0!important;top:0!important;width:80mm!important;max-width:80mm!important;margin:0!important;padding:0!important;visibility:visible!important;page-break-before:auto!important;break-before:auto!important}#kotPrint:not(.hidePrint) *,#receiptPrint:not(.hidePrint) *{visibility:visible!important}.printSheet{width:74mm!important;max-width:74mm!important;margin:0 auto!important;padding:3mm 2mm 4mm!important;box-sizing:border-box!important;overflow:hidden!important;font-family:Arial,Helvetica,sans-serif!important;font-size:13px!important;line-height:1.22!important;font-weight:500!important;overflow-wrap:anywhere!important}.printSheet .hotelName{font-size:18px!important;line-height:1.12!important;font-weight:800!important}.printSheet .docTitle{font-size:19px!important;line-height:1.1!important;font-weight:900!important;margin:6px 0!important}.printSheet b,.printSheet strong{font-weight:800!important}.printSheet .grand{font-size:16px!important;font-weight:900!important}.printSheet .thanks{font-size:12px!important;margin-top:8px!important}.printSheet .kotTitle{font-size:21px!important;line-height:1.08!important;font-weight:900!important}.printSheet .kotNo{font-size:15px!important;line-height:1.15!important;font-weight:900!important;overflow-wrap:anywhere!important}.printSheet .kotItem{font-size:17px!important;line-height:1.15!important;font-weight:700!important;padding:6px 0!important;break-inside:avoid!important;page-break-inside:avoid!important}.printSheet .kotNote{font-size:15px!important;line-height:1.18!important;font-weight:700!important}.breakBefore{page-break-before:auto!important;break-before:auto!important}.noPrint,.printButtons{display:none!important}}@media print{@page{size:80mm auto;margin:0}}@media screen{.reportBar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:10px;gap:10px;align-items:stretch;margin-bottom:18px}.reportBar>div,.reportBar>label{min-width:0;background:#fff;border:1px solid #dce3e0;border-radius:14px;padding:12px}.reportBar>label{grid-column:span 1}.reportBar>div span{display:block;color:#68736f;font-size:12px}.reportBar>div b{display:block;font-size:1.05rem;margin-top:5px;white-space:nowrap}.table{overflow-x:auto;background:#fff;border:1px solid #ddd;border-radius:14px}.tr{display:grid;grid-template-columns:70px 190px 130px 100px 125px 95px 95px minmax(260px,1fr);grid-gap:10px;gap:10px;align-items:center;min-width:1100px;padding:10px 12px;border-bottom:1px solid #eee}.tr.head{background:#f5f7f6;font-size:13px}.tr:last-child{border-bottom:0}.tr>b,.tr>span{min-width:0}.tr>span:nth-child(2){overflow-wrap:anywhere}.tr button{margin:2px 4px 2px 0;min-height:38px;padding:7px 10px}.modal{position:fixed;inset:0;z-index:1000;background:#0008;display:grid;place-items:center;padding:16px;overflow:auto}.modalbox{width:min(430px,100%)}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.receipt{width:100%;background:#fff;padding:18px;border-radius:14px}.receiptHead{text-align:center}.rline{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:5px 0}.rline span{flex:1 1}.rline b{white-space:nowrap}@media (max-width:900px){.reportBar{grid-template-columns:repeat(2,minmax(0,1fr))}}}@media print{@page{size:80mm auto;margin:0}body,html{width:80mm!important;min-width:80mm!important;margin:0!important;padding:0!important;background:#fff!important}body *{visibility:hidden!important}.modal,.modalbox,.printarea,.printarea *{visibility:visible!important}.modal{position:absolute!important;left:0!important;top:0!important;background:#fff!important;display:block!important}.modal,.modalbox{width:80mm!important;margin:0!important;padding:0!important}.modalbox{max-width:80mm!important}.actions{display:none!important}.printarea{position:absolute!important;left:0!important;top:0!important;width:74mm!important;max-width:74mm!important;margin:0 3mm!important;padding:3mm 2mm 4mm!important;box-sizing:border-box!important;border:0!important;border-radius:0!important;background:#fff!important;color:#000!important;font-family:Arial,Helvetica,sans-serif!important;font-size:13px!important;line-height:1.22!important;overflow:visible!important}.printarea .receiptHead{text-align:center!important}.printarea .rline{display:flex!important;justify-content:space-between!important;gap:8px!important;padding:5px 0!important}.printarea .rline span{flex:1 1!important;overflow-wrap:anywhere!important}.printarea .rline b{white-space:nowrap!important}.printarea .grand{font-size:16px!important;font-weight:900!important}.printarea hr{border:0!important;border-top:1px dashed #777!important}.noPrint,.printButtons{display:none!important}}