body{font-family:"Noto Sans Thai",Tahoma,system-ui,sans-serif}.boot-loading{text-align:center;padding:60px}.app-brand{display:flex;align-items:center;gap:10px;font:700 18px var(--heading)}.app-top{display:flex;align-items:center;justify-content:space-between;padding:16px 25px;border-bottom:1px solid var(--line);background:#fffdf9;gap:15px}.app-top nav{display:flex;gap:15px;align-items:center;font-size:12px}.app-top nav a{color:var(--muted)}.app-top nav a:hover{color:var(--accent)}.live-space{margin-top:18px}.live-small{font-size:12px}.live-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.live-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0}.live-actions{display:flex;gap:9px;flex-wrap:wrap}.live-image{max-height:300px;display:block;width:100%;object-fit:contain;background:#fff;border-radius:12px}.slip-preview{max-height:420px;max-width:100%;display:block;margin:16px auto}.bill-lines .row{padding:10px 0;border-bottom:1px solid var(--line)}.readonly{color:var(--muted);font-size:12px}.live-messages{padding:14px;border-radius:12px;background:var(--gold-bg);margin-bottom:18px}.live-messages .row{margin:10px 0}.login-screen{margin:35px auto}.login-form .brand{font-size:23px}.menu-layout .food-info{min-height:120px}.food-placeholder{display:grid;place-items:center;height:145px;background:var(--soft);color:var(--accent)}.food-placeholder svg{width:40px;height:40px;stroke-width:1}.product-placeholder{height:130px}.network-banner{background:#fff0dc;color:#805921;padding:10px;text-align:center;font-size:12px}.plan-description{min-height:30px}.usage-card progress{display:block;appearance:none;width:100%;height:7px;margin:15px 0}.usage-card progress::-webkit-progress-bar{background:var(--line);border-radius:8px}.usage-card progress::-webkit-progress-value{background:var(--accent);border-radius:8px}.header-right{display:flex;gap:9px;align-items:center}.modal .form-field{margin-top:13px}.live-content{max-width:1100px;margin:30px auto;padding:0 20px}.hero .hero-copy{max-width:85%}.auth-note{font-size:11px;color:var(--muted);margin-top:17px;line-height:1.8}.quote-amount{font:700 28px var(--heading)}.plan-selected{border-color:var(--accent)}.link-danger{color:var(--red)}.receipt-paper{max-width:720px;margin:0 auto;background:#fff;padding:28px;border-radius:18px}.slip-label{font-size:12px;color:var(--muted);margin-bottom:8px}.theme-muted{background:var(--soft)}.kitchen-tabs{margin-top:18px}.main-column{min-width:0}.image-option{width:48px;height:48px;border-radius:10px;object-fit:cover}.payment-card-head{padding-bottom:15px;border-bottom:1px solid var(--line)}.owner-menu{margin-top:16px}.form-error{background:var(--red-bg);color:var(--red);padding:10px 12px;border-radius:9px;font-size:12px;margin-bottom:14px}.report-totals{display:flex;gap:20px;flex-wrap:wrap;margin:22px 0}.report-totals>div{flex:1;min-width:120px}.report-totals strong{display:block;font:700 28px var(--heading)}.setup-hint{padding:16px;margin:20px 0;background:var(--gold-bg);border-radius:12px;color:var(--gold)}.menu-empty{grid-column:1/-1}.modal-close{top:12px;right:12px}.hidden{display:none!important}.safe-wrap{overflow-wrap:anywhere}
@media(max-width:900px){.sidebar{top:0;height:100vh}.admin-shell{min-height:100vh}.live-grid{grid-template-columns:1fr}.app-top{padding:13px 18px}.app-top nav{gap:10px}.app-brand{font-size:15px}}@media(min-width:901px){.sidebar{top:0;height:100vh}.admin-shell{min-height:100vh}}@media(max-width:600px){.app-top{padding:12px 15px;flex-wrap:wrap}.app-brand{font-size:14px}.app-top .brand-mark{height:29px;width:29px}.app-top nav{font-size:11px;gap:12px}.live-content{margin:23px auto;padding:0 16px}.field-row{grid-template-columns:1fr}.hero-copy{max-width:100%}.modal-content{padding-top:45px}.header-right .caption{display:none}.admin-topbar{height:auto;min-height:65px;flex-wrap:wrap;padding:12px 16px}.pricing-grid{gap:18px}.form-field select,.form-field input,.form-field textarea{font-size:16px}.receipt-paper{padding:18px}.qr-card svg{max-width:170px;width:100%;height:auto}.safe-wrap{font-size:11px}.login-screen{margin:20px 15px}.food-placeholder{height:136px}}
@media print{.app-top,.sidebar,.admin-topbar,.mobile-admin-menu,.no-print,#overlay,#toast{display:none!important}body{background:#fff}.receipt-paper{max-width:78mm;padding:0;border:0}.bill-lines{font-size:12px}.qr-sheet{display:grid;grid-template-columns:repeat(2,1fr)}.qr-card{break-inside:avoid}.receipt-paper .btn{display:none}.admin-main{padding:0}.admin-page-title{display:none}.customer-body{padding:0}}

.customer-nav{overflow-x:auto}.customer-nav button{white-space:nowrap;flex-shrink:0}.customer-receipt{width:100%;box-sizing:border-box}.customer-receipt h1{font-size:clamp(24px,6vw,32px)}.bill-item{padding:8px 0}.bill-item .row{align-items:flex-start;gap:16px}.bill-item .row>span{min-width:0;overflow-wrap:anywhere}.bill-item strong{white-space:nowrap}.customer-receipt .live-row{gap:16px;flex-wrap:wrap}
.customer-nav{overflow-y:hidden}.customer-receipt .bill-item .row{display:flex;justify-content:space-between;width:100%}.customer-receipt .bill-lines{display:block}

.settlement-panel{border-top:1px solid var(--line);padding-top:12px}.payment-entry{border:1px solid var(--line);border-radius:12px;padding:12px;margin:12px 0}.payment-entry.voided{opacity:.65;background:var(--soft)}.paid-label{color:var(--green)}.receipt-paper .live-row>span{min-width:0;overflow-wrap:anywhere}.receipt-paper .live-row strong{white-space:nowrap}@media print{.receipt-paper button,.receipt-paper .no-print{display:none!important}.receipt-paper{padding:0;max-width:78mm}.app-top{display:none!important}}@media(max-width:600px){.receipt-paper{padding:18px}.report-totals>div{min-width:110px}.payment-entry .live-row{flex-wrap:wrap}}

.merchant-payment-qr{display:block;width:min(100%,300px);height:auto;margin:16px auto;background:#fff;object-fit:contain}.merchant-qr-box{text-align:center;padding:16px;margin:12px 0;border:1px solid var(--line,#e5e1da);border-radius:16px;background:#fff}.merchant-qr-box.hidden{display:none}

.fulfillment-item{padding:12px 0;border-bottom:1px solid #eee}.fulfillment-item .live-actions{margin-top:8px;flex-wrap:wrap}.item-progress{display:block;font-size:12px;color:#617368;margin-top:5px}.takeaway-badge{background:#f6e9cd;color:#77551b;padding:6px 12px;border-radius:12px;font-weight:700}.takeaway-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px}.takeaway-cart{position:sticky;top:20px;align-self:start}.pickup-name{font-size:14px;overflow-wrap:anywhere}.takeaway-order-total{font-size:24px;font-weight:700}@media(max-width:850px){.takeaway-layout{grid-template-columns:1fr}.takeaway-cart{position:static}.fulfillment-item .btn{min-height:44px}}

.sound-event-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #eee}.sound-event-row .form-check{margin:0}.sound-state{padding:12px;border-radius:12px;background:#f5f1e9;margin:12px 0}.header-right{flex-wrap:wrap}.sound-event-row .btn{min-height:44px;flex-shrink:0}

.takeaway-qr-sheet{max-width:620px;margin:auto;text-align:center}.takeaway-qr-sheet svg{width:min(100%,320px);height:auto}.takeaway-qr-sheet .inline-link{display:block;overflow-wrap:anywhere;font-size:12px}@media print{.takeaway-qr-sheet{border:0;max-width:100%;margin:0}.takeaway-qr-sheet .inline-link{font-size:10px}.takeaway-qr-sheet .qr-card{border:0}}

.announcement{display:flex;align-items:center;gap:12px;background:#fff3d8;color:#674817;padding:4px 16px;border-block:1px solid #eddfbc;font-size:13px;line-height:1.5;min-width:0}.announcement-label{font-weight:700;flex-shrink:0}.announcement-window{overflow:hidden;flex:1;min-width:0}.announcement-text{display:inline-block;position:relative;white-space:nowrap;animation:announcement-right 40s linear infinite}.announcement-toggle{border:1px solid #c8b17d;background:#fffaf0;color:#674817;border-radius:6px;min-height:28px;width:28px;padding:0;display:grid;place-items:center;flex-shrink:0}.announcement.is-paused .announcement-text{animation:none;left:0;transform:none;white-space:normal;overflow-wrap:anywhere}@keyframes announcement-right{from{left:0;transform:translateX(-100%)}to{left:100%;transform:translateX(0)}}@media(max-width:600px){.announcement{gap:8px;padding:1px 12px;font-size:13px}.announcement-label{font-size:12px}.announcement-toggle{width:44px;min-height:44px}}@media(prefers-reduced-motion:reduce){.announcement-text{animation:none;white-space:normal;overflow-wrap:anywhere}.announcement-toggle{display:none}}

/* Refined announcement strip: same compact sizing, softer restaurant palette. */
.announcement{gap:14px;padding:4px 10px 4px 14px;margin:8px 40px 0;border:1px solid #ece1ce;border-radius:12px;background:linear-gradient(110deg,#fff8eb 0%,#fffdf7 62%,#fcf8f0 100%);color:#5e4931;box-shadow:0 2px 8px #60432205}.announcement-label{display:inline-flex;align-items:center;gap:7px;padding-right:14px;border-right:1px solid #e8dcc6;font-size:11px;letter-spacing:.1px;color:#9a572f;white-space:nowrap}.announcement-megaphone{flex-shrink:0}.announcement-window{mask-image:linear-gradient(to right,transparent,#000 10px,#000 calc(100% - 10px),transparent)}.announcement-toggle{border:1px solid #eadfcd;border-radius:50%;background:#fffdf8;color:#96714b;transition:background .15s,border-color .15s}.announcement-toggle:hover{background:#f4e9d6;border-color:#d9c4a1}.announcement-toggle:focus-visible{outline:2px solid #a86638;outline-offset:2px}.announcement-toggle svg{width:12px;height:12px}.announcement.is-paused .announcement-window{mask-image:none}.panel .announcement{margin:8px 0 0}@media(max-width:600px){.announcement{margin:6px 16px 0;padding:1px 2px 1px 10px;gap:8px;border-radius:12px}.announcement-label{font-size:11px;gap:6px;padding-right:8px}.announcement-label-extra{display:none}.announcement-toggle{border-color:transparent;background:transparent}.announcement-toggle svg{width:14px;height:14px}}@media(prefers-reduced-motion:reduce){.announcement-window{mask-image:none}.announcement-toggle{transition:none}}

.backup-row,.promo-menu-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}.promo-menu-row>label:last-child{font-size:12px;width:100px;flex-shrink:0}.promo-menu-row input[type=number]{width:100%;padding:8px}.audit-details{max-width:440px;overflow-wrap:anywhere;font-size:12px}.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:600px){.backup-row{align-items:start;flex-direction:column}.audit-details{min-width:160px}}

#daily-date{align-items:flex-end}#daily-date .btn{height:46px;margin-bottom:12px}.sidebar-brand .brand-name{font-size:18px;white-space:nowrap}

.order-age{display:block;font-size:11px;color:var(--muted);margin-top:5px;white-space:nowrap}.order-age.late{color:#a43f25;font-weight:700;background:#fff0e8;border-radius:6px;padding:3px 6px}
