:root{font-family:Inter,"Microsoft YaHei",system-ui,sans-serif;color:#202e29;background:#f4f6f5;font-size:14px;--green:#167354;--line:#dce3df;--red:#c63f42}*{box-sizing:border-box;letter-spacing:0}body{margin:0}button,input,select,textarea{font:inherit}button,a.button{cursor:pointer;min-height:38px;border:1px solid var(--line);border-radius:6px;background:#fff;color:#253e32;padding:8px 13px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px}button:hover{background:#eef5f0}button:disabled{opacity:.5;cursor:wait}.primary{background:var(--green)!important;color:white!important;border-color:var(--green)!important}.danger{color:var(--red);border-color:#e7b4b6}.icon{width:36px;min-height:36px;padding:7px;flex-shrink:0}.icon svg,nav svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}input,select,textarea{border:1px solid #cfdad3;background:white;border-radius:5px;padding:9px 10px;max-width:100%;min-width:0;color:#20372c}input:focus,select:focus{outline:2px solid #a2cdb5;outline-offset:1px}label{display:flex;flex-direction:column;gap:7px;margin-bottom:15px}label.check{flex-direction:row;align-items:center}label.check input{width:17px;height:17px}h1,h2,h3,p{margin-top:0}h1{font-size:23px;font-weight:650;margin-bottom:0}h2{font-size:18px;margin-bottom:16px}h3{font-size:16px}a{color:var(--green)}[hidden]{display:none!important}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:80px;padding:30px}.login-art{width:240px}.login-art img{width:85px;height:85px;margin-bottom:20px}.login-art h1{font-size:32px;margin-bottom:12px}.login-art p{color:#6c7d73}.login-screen form{width:340px;padding:30px;background:white;border:1px solid var(--line);border-radius:8px}.login-screen form .primary{width:100%;margin-bottom:20px}.login-screen form a{font-size:13px}.error{color:var(--red);margin:12px 0 0}header{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:white;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;font-size:19px}.brand img{width:35px;height:35px}.header-right{display:flex;align-items:center;gap:18px;font-size:12px;color:#64766b}nav{display:flex;gap:5px;background:white;border-bottom:1px solid var(--line);padding:8px 28px}nav button{border-color:transparent;background:transparent;white-space:nowrap}nav button.active{background:#e7f2eb;color:var(--green);font-weight:600}main{max-width:1480px;padding:25px 28px;margin:auto;min-height:calc(100vh - 160px)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px}.section-heading input{max-width:260px}.pos-layout{display:grid;grid-template-columns:minmax(0,1fr) 335px;gap:28px}.categories,.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.categories button,.tabs button{font-size:13px;border-color:transparent;background:transparent;min-height:32px;padding:6px 12px}.categories .active,.tabs .active{background:#e2eee7;border-color:#c5d9cc;color:var(--green)}.products{display:grid;grid-template-columns:repeat(auto-fill,minmax(166px,1fr));gap:12px}.product{display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;text-align:left;padding:17px 15px;min-height:119px;border-radius:6px;border-color:#dbe4de}.product:hover{border-color:#76ad8d}.product-name{font-weight:600;line-height:1.5;overflow-wrap:anywhere}.product-bottom{display:flex;align-items:end;justify-content:space-between;gap:5px;margin-top:16px}.product-price{font-size:18px;color:var(--green);white-space:nowrap}.product-unit{font-size:11px;color:#7b897f}.original{text-decoration:line-through;font-size:11px;color:#8c928e;margin-right:5px}.cart-panel{background:#fff;border-left:1px solid var(--line);padding:18px;position:sticky;top:20px;align-self:start;max-height:calc(100vh - 35px);overflow:auto}.cart-panel .section-heading{margin-bottom:16px}.cart-panel h2{margin:0}.cart-items{min-height:150px;margin-bottom:18px}.empty{color:#829086;text-align:center;padding:45px 15px}.cart-line{border-bottom:1px solid #edf0ed;padding:13px 0;display:grid;grid-template-columns:1fr auto;gap:9px}.cart-line-name{font-size:13px;font-weight:600}.cart-line small{color:#829086;font-weight:400}.quantity{display:flex;align-items:center;gap:8px}.quantity .icon{width:28px;min-height:28px;padding:5px}.quantity span{min-width:20px;text-align:center}.cart-total{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.cart-total strong{font-size:24px}.cart-panel>.primary{width:100%;margin-top:15px}.muted{color:#738379;font-size:13px;line-height:1.7}.room-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.room{background:white;border:1px solid var(--line);border-top:3px solid var(--green);border-radius:6px;padding:22px}.room.busy{border-top-color:#dca525}.room.overdue{border-top-color:#d75648}.room-heading{display:flex;justify-content:space-between;gap:10px;margin-bottom:22px}.room-heading h2{margin:0}.timer{font-size:30px;font-variant-numeric:tabular-nums;margin-bottom:12px}.room dl{display:grid;grid-template-columns:auto 1fr;gap:10px;font-size:13px;margin:20px 0}.room dd{margin:0;text-align:right}.room dt{color:#75857b}.room button{width:100%;margin-top:10px}.room .room-amount{font-size:25px;font-weight:650;margin:20px 0 12px}.rule-strip{padding:20px 0;border-top:1px solid var(--line);margin-top:28px;color:#75857b;line-height:1.9}.dot{width:9px;height:9px;border-radius:50%;display:inline-block;margin-right:6px}.green{background:#298953}.yellow{background:#ddb223}.red{background:#d44c4d}.status{white-space:nowrap;font-size:12px}.filters{display:flex;gap:10px;align-items:center;margin-bottom:20px;flex-wrap:wrap}.table-wrap{overflow:auto;border-top:1px solid var(--line)}table{width:100%;border-collapse:collapse;background:white;font-size:13px}th{text-align:left;background:#eef2ef;color:#68796c;font-weight:500}td,th{padding:14px 13px;border-bottom:1px solid var(--line);vertical-align:middle;white-space:nowrap}td.wrap{white-space:normal;min-width:140px;max-width:300px;overflow-wrap:anywhere}td button{font-size:12px;min-height:30px;padding:5px 10px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;border-block:1px solid var(--line);margin-bottom:25px;padding:22px 0}.stat p{color:#728275;margin-bottom:12px}.stat strong{font-size:27px}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.report-grid h2{margin-top:10px}.manage-bar{display:flex;justify-content:space-between;gap:15px;margin:20px 0}.settings-form{max-width:720px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.settings-form h2{margin-top:25px}.archive-help{border-top:1px solid var(--line);margin-top:30px;padding-top:25px;color:#66796c}.archive-help p{line-height:1.7}footer{display:flex;justify-content:space-between;padding:16px 28px;color:#87928b;font-size:12px;border-top:1px solid var(--line)}dialog{border:1px solid var(--line);border-radius:8px;padding:24px;max-width:min(680px,calc(100vw - 24px));width:600px;max-height:90vh;overflow:auto;box-shadow:0 16px 70px #152e2933}dialog::backdrop{background:#142c2755}.modal-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-heading h2{margin:0}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;flex-wrap:wrap}.detail-items{margin:15px 0;max-height:280px;overflow:auto}.detail-summary{display:flex;justify-content:space-between;padding:8px 0}.detail-total{font-size:22px;border-top:1px solid var(--line);margin-top:12px;padding-top:15px}.pin-input{font-size:34px;text-align:center;max-width:170px;align-self:center;font-variant-numeric:tabular-nums}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:13px 20px;background:#203c2e;color:white;border-radius:6px;z-index:100;max-width:90vw}#connection.offline{color:var(--red)}.badge{display:inline-block;padding:2px 6px;font-size:11px;background:#e7f2eb;color:#267247;border-radius:3px;margin-left:6px}.subtext{font-size:11px;color:#849086;display:block;margin-top:5px}.room-empty{height:160px;display:flex;align-items:center;justify-content:center;color:#95a398}.print-only{display:none}@media(max-width:1100px){.room-grid{grid-template-columns:repeat(2,1fr)}.pos-layout{grid-template-columns:minmax(0,1fr) 300px}.products{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}@media(max-width:700px){header{padding:0 14px;height:57px}.brand{font-size:16px}.header-right{gap:8px}#role-label{display:none}nav{padding:8px 10px;overflow-x:auto;gap:0}nav button{padding:8px 10px;font-size:12px}nav svg{width:15px;height:15px}main{padding:18px 14px}.pos-layout{grid-template-columns:1fr;gap:20px}.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.product{min-height:112px;padding:13px}.cart-panel{position:static;max-height:none;border-left:0;border-top:1px solid var(--line);padding:18px 0;background:transparent}.cart-items{min-height:60px}.section-heading{gap:8px}h1{font-size:21px}.section-heading input{width:160px}.room-grid{gap:10px}.room{padding:15px}.room-heading{flex-wrap:wrap;margin-bottom:15px}.timer{font-size:24px}.room dd{overflow-wrap:anywhere}.stats{grid-template-columns:repeat(2,1fr);gap:20px}.stat strong{font-size:23px}.report-grid{grid-template-columns:1fr}.filters input[type=date]{width:135px}.form-grid{grid-template-columns:1fr}.login-screen{flex-direction:column;gap:20px;padding:25px}.login-art{width:100%;text-align:center}.login-art img{width:55px;height:55px;margin-bottom:8px}.login-art h1{font-size:25px}.login-art p{margin-bottom:0}.login-screen form{width:min(340px,100%);padding:22px}dialog{padding:18px}.detail-items td{padding:10px 7px}.detail-items td.wrap{min-width:90px}.detail-items button{font-size:11px}footer{padding:14px}.rule-strip{font-size:12px}.manage-bar{flex-wrap:wrap}}
.report-expense-heading{margin-top:25px}.product-bottom>svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}.login-art p{margin-top:10px}.download-page{max-width:740px;padding-top:35px}.download-description{margin-top:12px}.download-steps{padding-left:22px;line-height:2.2;margin-bottom:30px}.download-page p{line-height:1.8}.download-page h2{margin-top:30px}.file-hash{overflow-wrap:anywhere;font:12px monospace}.mobile-cart-bar,.mobile-cart-close,.cart-backdrop{display:none}
.schedule-table{max-width:100%;overflow:auto}.schedule-table th:first-child{position:sticky;left:0;z-index:1;background:#eef2ef;min-width:90px}.schedule-table select{width:110px;min-width:110px;font-size:13px}.schedule-table td{padding:8px}.schedule-table small{white-space:nowrap}.filters input[type=month]{max-width:180px}
nav{max-width:100%;overflow-x:auto}nav button{flex-shrink:0}main,.view{min-width:0}.stats strong{overflow-wrap:anywhere}.schedule-table table{width:max-content;min-width:100%}
@media(max-width:700px){#app{padding-bottom:70px}.mobile-cart-bar{display:block;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);padding:10px 14px;z-index:20}.mobile-cart-bar button{width:100%;justify-content:flex-start;min-height:42px}.mobile-cart-bar svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}.mobile-cart-bar strong{margin-left:auto}.cart-panel{display:none}.cart-open .cart-panel{display:block;position:fixed;bottom:0;left:0;right:0;max-height:85vh;overflow:auto;z-index:22;background:#fff;padding:20px;border-top:1px solid var(--line)}.cart-open{overflow:hidden}.cart-open .cart-backdrop{display:block;position:fixed;inset:0;background:#162d2755;z-index:21}.cart-open .mobile-cart-bar{display:none}.mobile-cart-close{display:inline-flex}.cart-panel .section-heading h2{margin-right:auto}.cart-open .cart-panel>.primary{margin-bottom:10px}}
@media print{body{background:white}#app, #login,#toast{display:none!important}dialog[open]{position:static;width:100%;max-width:80mm;max-height:none;border:0;box-shadow:none;padding:5mm;margin:0;display:block}dialog::backdrop{display:none}.modal-actions,.modal-heading .icon,.detail-items button{display:none}.detail-items{max-height:none}.print-only{display:block}.detail-items th,.detail-items td{font-size:10px;padding:6px 2px}.detail-items td.wrap{min-width:0}h2{font-size:16px}.detail-summary{font-size:11px}}
 .attendance-photo { width:100%; max-height:420px; object-fit:contain; }
header{position:sticky;top:0;z-index:30}#nav{position:sticky;top:64px;z-index:29}.cart-panel{top:132px;max-height:calc(100vh - 148px)}dialog{padding-top:0}.modal-heading{position:sticky;top:0;z-index:5;background:white;padding:18px 0;border-bottom:1px solid var(--line)}.cart-panel .section-heading{position:sticky;top:-18px;background:white;z-index:4;padding:12px 0}.cart-checkout{margin-top:8px}.cart-panel>#submit-order{min-height:48px;font-weight:700;font-size:18px}.gift-checkout{display:flex;justify-content:flex-end;gap:24px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}#gift-products{margin-bottom:24px}#gift-cart input{width:80px}.bonus-total{padding:12px 0;border-bottom:1px solid var(--line);margin-bottom:14px}.location-choice-grid{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.location-choice-grid button[aria-pressed=true]{background:#e7f2eb;border-color:var(--green);color:var(--green)}.schedule-vertical{max-height:65vh}.schedule-vertical thead{position:sticky;top:0;z-index:2}.mobile-confirm-total{display:flex;flex-direction:column;gap:3px;margin-left:auto}.mobile-confirm-total small{font-weight:400;font-size:12px}@media(max-width:700px){#nav{top:57px}.cart-open .cart-panel .section-heading{top:-20px}.cart-panel{max-height:none}.mobile-cart-bar{z-index:31}}@media print{.modal-heading{position:static}header,#nav{position:static}}
 .attendance-photo.preview { max-height:260px; }
 .schedule-weekdays { display:flex; flex-wrap:wrap; gap:8px 16px; }
 .attendance-map-wrap { margin:12px 0 16px; }
 .attendance-map-wrap p { margin-bottom:8px; }
 .attendance-map { height:240px; width:100%; margin:10px 0; background:#e7ece9; border:1px solid var(--line); border-radius:4px; }
 .attendance-map .leaflet-control-zoom a { padding:0; min-height:0; }
 .attendance-current-address, .leaflet-popup-content { overflow-wrap:anywhere; }
 .duty-banner { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px 16px; padding:12px 0; margin-bottom:16px; border-bottom:1px solid var(--line); }
 .duty-banner span { flex:1 1 240px; overflow-wrap:anywhere; }
 #duty-content h2 { margin-top:24px; }
.room.reserved-room{background:#fff3bd;border-color:#d9b74c}.room-reservation{color:#71571c;font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.performance-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
.product-options{display:flex;flex-wrap:wrap;gap:12px 20px;border:1px solid var(--line);padding:12px;margin:0 0 16px;border-radius:4px}.product-options legend{padding:0 4px}.product-options .check{margin:0}.split-payment-row{display:grid;grid-template-columns:minmax(100px,1fr) minmax(0,160px);align-items:center;gap:12px;margin-bottom:10px}.split-payment-row label{margin:0}.split-payment-row input[type=number]{min-width:0;width:100%}.payment-breakdown{border-top:1px solid var(--line);padding-top:12px;margin-top:12px}.payment-breakdown h3{font-size:16px;margin:0 0 8px}#transfer-warnings{white-space:pre-line;overflow-wrap:anywhere}@media(max-width:500px){.split-payment-row{grid-template-columns:minmax(90px,1fr) minmax(0,130px)}}
#reservation-warning,#reservation-pos-notice,#reservation-room-notice{white-space:pre-line;overflow-wrap:anywhere}
.location-filters{display:grid;grid-template-columns:repeat(3,minmax(0,220px));gap:14px;padding-bottom:16px;margin-bottom:20px;border-bottom:1px solid var(--line)}.location-filters label{min-width:0;margin:0}.location-filters select{width:100%}.member-receipt{border-top:1px solid var(--line);padding-top:12px;margin-top:14px}.member-receipt p{margin-bottom:8px}.member-receipt strong{font-size:18px}@media(max-width:700px){.location-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.location-filters label:last-child{grid-column:1/-1}}
.member-create-button{position:relative;min-width:120px;padding:8px 34px;justify-content:center;text-align:center;margin-bottom:16px}.member-create-button>svg{position:absolute;left:12px;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}.order-location-summary{width:100%;margin-bottom:15px;text-align:center}#order-location-form select{width:100%}

.room-pricing{display:block;margin:10px 0;color:var(--muted,#64756c);text-align:left;line-height:1.55}.room-pricing .subtext{white-space:normal}.location-choice-grid:has([data-location-kind="room"]){grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.location-choice-grid [data-location-kind="room"]{align-self:stretch;text-align:left;padding:12px}

.duty-banner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start}.duty-summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 16px;min-width:0}.duty-summary span{flex:1 1 240px;overflow-wrap:anywhere}.duty-summary small{display:block}#staff-punch{white-space:nowrap;align-self:start}.punch-kind-choices{display:flex;gap:12px;margin-bottom:16px}.punch-kind-choices button{flex:1}@media(max-width:700px){#view-pos .menu-panel .section-heading{flex-wrap:wrap}#view-pos .menu-panel .section-heading h1{order:0}#menu-search{order:2;width:100%}}

@media print{.employee-performance{display:none!important}dialog[open]{width:72mm;max-width:100%;margin:0 auto!important;box-sizing:border-box}}

/* Fixed order actions with independently scrolling contents. */
.cart-panel{display:flex;flex-direction:column;height:calc(100vh - 220px);height:calc(100dvh - 220px);overflow:hidden;padding:0}
.cart-panel>.section-heading{position:static;flex:none;margin:0;padding:16px 18px;border-bottom:1px solid var(--line)}
.cart-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:16px 18px}
.cart-footer{flex:none;background:white;border-top:1px solid var(--line);padding:12px 18px;display:flex;flex-direction:column;gap:10px}
.cart-footer .order-location-summary,.cart-footer .cart-total{margin:0}
.cart-footer .cart-checkout{padding:0;border:0}
.cart-footer #room-base-note:empty{display:none}
.cart-footer #submit-order{width:100%;min-height:48px;font-size:18px;font-weight:700;margin:0}
#order-location-form{display:flex;flex-direction:column;max-height:calc(90vh - 110px);max-height:calc(90dvh - 110px)}
#location-buttons{overflow-y:auto;min-height:0;overscroll-behavior:contain}
#order-location-form>button[type=submit]{flex:none;margin-top:12px;min-height:44px}
@media(max-width:700px){.cart-panel{display:none}.cart-open .cart-panel{display:flex;top:auto;bottom:0;height:85vh;height:85dvh;max-height:85vh;max-height:85dvh;overflow:hidden;padding:0}.cart-open .cart-panel>.section-heading{position:static;padding:16px 20px}.cart-footer{padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}}

.cart-preview{position:fixed;z-index:32;display:flex;flex-direction:column;background:white;border:1px solid var(--line);border-radius:10px;box-shadow:0 4px 18px #152e2924;overflow:hidden;animation:cart-preview-up .18s ease-out}
.cart-preview-heading{display:flex;align-items:center;justify-content:space-between;gap:6px;flex:none;padding:2px 10px;border-bottom:1px solid var(--line)}
.cart-preview-heading{font-size:12px}.cart-preview-heading button{min-height:44px;padding:6px 8px;font-size:12px}.cart-preview-toggle{position:fixed;left:12px;z-index:32;min-height:44px;max-width:calc(100vw - 24px);border-color:#c5d9cc;background:#e7f2eb;color:var(--green);box-shadow:0 3px 12px #152e2924;font-size:12px}
.cart-preview-items{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 10px}
.cart-preview-line{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:6px;padding:8px 0;border-bottom:1px solid var(--line);font-size:12px}
.cart-preview-line>div strong{display:block;overflow-wrap:anywhere}.cart-preview-line small{display:block;margin-top:4px;color:#738379}.cart-preview-line>span,.cart-preview-line>strong{white-space:nowrap}
@keyframes cart-preview-up{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.cart-preview{animation:none}}
@media print{.cart-preview,.cart-preview-toggle{display:none!important}}

@media print{.settlement-history{display:none!important}}

.section-submenu{padding:0 0 12px;border-bottom:1px solid var(--line);margin-bottom:20px}.section-submenu svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}@media print{.section-submenu{display:none!important}}

.financial-stats{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:700px){.financial-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}

.inventory-shortage,.inventory-shortage strong,.inventory-shortage small{color:#b52f2f!important}.recipe-editor{margin:18px 0;padding:14px;border:1px solid var(--line);border-radius:10px}.recipe-line{display:grid;grid-template-columns:minmax(160px,2fr) minmax(70px,1fr) minmax(90px,1fr) minmax(100px,1fr) auto;gap:10px;padding:14px 0;border-bottom:1px solid var(--line)}.recipe-line input{width:100%;min-width:0}.recipe-line button{align-self:center}.recipe-line small{grid-column:1/-1}.recipe-line label{min-width:0}.recipe-line input[readonly]{background:#f1f5f3}#view-inventory .stats{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:18px}#view-inventory .actions{flex-wrap:wrap}#view-inventory h2{margin-top:24px}@media(max-width:700px){.recipe-line{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-line label:first-child{grid-column:1/-1}.recipe-line button{justify-self:start}#view-inventory .stats .stat{padding:12px;font-size:12px}}

.salary-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.salary-details{display:grid;grid-template-columns:1fr 1fr;gap:24px}.salary-current-tier{background:#e7f2eb;color:var(--green)}.salary-formula{padding:16px;background:#e7f2eb;border-radius:10px}#view-salary h2{margin-top:24px}.financial-stats .stat{position:relative;padding-right:104px}.stat-detail-button{position:absolute;right:12px;top:50%;transform:translateY(-50%);padding:8px;min-height:40px;font-size:12px}@media(max-width:700px){.salary-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.salary-details{grid-template-columns:1fr}.financial-stats .stat{padding-right:16px}.financial-stats .stat:nth-child(3){padding-bottom:50px}.stat-detail-button{top:auto;bottom:8px;transform:none}}

.product-bonus-editor{margin:16px 0;padding:14px;border:1px solid var(--line);border-radius:12px}.product-bonus-tier{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end;margin:10px 0}.product-bonus-tier label{min-width:0}.product-bonus-tier input{width:100%;min-width:0}@media(max-width:600px){.product-bonus-tier{grid-template-columns:1fr 1fr}.product-bonus-tier button{grid-column:1/-1;justify-self:end}}

.salary-stats small{display:block;margin-top:6px}

.product-stock-shortage{border-color:#b52f2f!important}.product-stock-note{display:block;color:#b52f2f;font-size:12px;line-height:1.4}

.customer-code-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:18px}.customer-code-card{padding:18px;text-align:center;background:white;border:1px solid var(--line);border-radius:10px}.customer-code-card h2{margin:8px 0}.customer-code-card img{display:block;width:180px;height:180px;margin:0 auto}.customer-code-card p{margin:0 0 12px}.customer-code-card small{color:#738379}

/* Keep finance grid tracks within the viewport; wide tables scroll locally. */
#view-report .report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
#view-report .report-grid>div,#report-content,#report-content .table-wrap{min-width:0;max-width:100%}
.signature-details{width:100%;min-width:0;max-width:100%}
@media(max-width:700px){
 #view-report .report-grid{grid-template-columns:minmax(0,1fr)}
 .signature-details{border-top:0;overflow:visible}
 .signature-details table,.signature-details tbody{display:block;width:100%;min-width:0}
 .signature-details thead{display:none}
 .signature-details tbody tr{display:block;min-width:0;margin:12px 0;padding:10px 12px;border:1px solid var(--line);border-radius:8px}
 .signature-details tbody td{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;padding:6px 0;border:0;white-space:normal;overflow-wrap:anywhere;text-align:right}
 .signature-details tbody td[data-label]::before{content:attr(data-label);color:#64766b;text-align:left}
 .signature-details tbody td[colspan]{display:block;text-align:center}
}

.checkout-note{white-space:pre-wrap;overflow-wrap:anywhere}#pay-form textarea[name=checkout_note]{width:100%;min-height:80px}@media(max-width:700px){#pay-form textarea[name=checkout_note]{font-size:16px}}

.reservation-submenus{flex-wrap:wrap;margin-bottom:20px}.reservation-seat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;margin-bottom:22px}.reservation-seat-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;text-align:left;min-height:110px;padding:16px}.reservation-seat-card strong{font-size:18px}.reservation-seat-card small,.reservation-seat-card span{overflow-wrap:anywhere;max-width:100%}.reserved-location{background:#fff3bd!important;border-color:#d9b74c!important}.reserved-location[aria-pressed=true]{outline:2px solid var(--green)}.seat-reservation-mark{display:block;font-size:12px;color:#71571c}.reservation-day-detail{margin:12px 0;padding:12px;border:1px solid var(--line);border-radius:8px;overflow-wrap:anywhere}.reservation-day-detail .actions{flex-wrap:wrap}#reservation-create-panel{max-width:680px}#reservation-create-panel form{padding:18px;background:white;border:1px solid var(--line);border-radius:8px}#location-buttons [data-location-kind]{flex-wrap:wrap}#location-buttons .seat-reservation-mark{flex-basis:100%}@media(max-width:700px){.reservation-seat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.reservation-seat-card{padding:12px}.reservation-submenus button{flex:1;padding:8px}.reservation-seat-card strong{font-size:16px}}

.signature-details .signature-bill-action{text-align:right}.signature-bill-action button{white-space:nowrap}

#paid-note-form textarea{width:100%;min-height:90px}@media(max-width:700px){#paid-note-form textarea{font-size:16px}}
