/* Operational setup screens: products, recipes, production, outlet and printable delivery note. */
.table-toolbar { flex-wrap: wrap; }.table-toolbar select { min-height: 36px; padding: 7px 9px; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 7px; outline-color: var(--green); font: inherit; font-size: 12px; }.product-category-add { align-self: end; min-height: 38px; }.product-base-unit-label { display: grid; align-content: center; min-height: 38px; padding: 5px 9px; color: #173e5b; background: #eff6fa; border: 1px solid #d4e1e9; border-radius: 8px; font-size: 12px; font-weight: 800; }.product-base-unit-label small { margin-top: 2px; color: #6c8496; font-size: 10px; font-weight: 600; }
.thermal-delivery-note { position: fixed; z-index: 100; inset: 0; padding: 20px; overflow: auto; background: rgba(2, 29, 53, .58); }.thermal-paper { width: 80mm; max-width: 100%; margin: 0 auto; padding: 5mm; color: #111; background: #fff; box-shadow: 0 18px 45px rgba(1, 27, 49, .35); font-family: "Courier New", monospace; font-size: 11px; line-height: 1.35; }.thermal-receipt-head { display: grid; justify-items: center; gap: 3px; text-align: center; }.thermal-receipt-head img { width: 43mm; height: 22mm; object-fit: contain; }.thermal-receipt-head strong { font-size: 14px; letter-spacing: .06em; }.thermal-receipt-head span { font-size: 10px; font-weight: 700; }.thermal-meta { display: grid; gap: 4px; margin-top: 12px; }.thermal-meta div, .thermal-item div { display: flex; justify-content: space-between; gap: 10px; }.thermal-meta span, .thermal-item > span { color: #444; }.thermal-meta b { text-align: right; }.thermal-rule { margin: 10px 0; border-top: 1px dashed #111; }.thermal-item { display: grid; gap: 4px; }.thermal-item > strong { font-size: 12px; }.thermal-item div { margin-top: 5px; padding-top: 5px; border-top: 1px dashed #111; }.thermal-note { margin: 11px 0; padding: 7px 0; border-top: 1px dashed #111; border-bottom: 1px dashed #111; }.thermal-signatures { display: grid; gap: 16px; padding: 7px 0; }.thermal-signatures div { display: grid; justify-items: center; gap: 2px; text-align: center; }.thermal-signatures span { font-size: 10px; font-weight: 700; }.thermal-signatures i { display: block; width: 42mm; height: 27px; border-bottom: 1px solid #111; }.thermal-signatures b { font-size: 10px; }.thermal-footer { margin: 8px 0 0; text-align: center; font-size: 9px; }.thermal-actions { display: flex; gap: 8px; margin-top: 14px; }.thermal-actions button { flex: 1; }.thermal-print-mode .thermal-delivery-note { display: block; position: static; padding: 0; overflow: visible; background: #fff; }.thermal-print-mode .thermal-paper { width: 80mm; max-width: none; margin: 0; padding: 3mm; box-shadow: none; }
.ops-layout { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:18px; max-width:1250px; margin:0 auto 18px; }.ops-form-card { padding:21px; }.ops-form-card .card-heading { margin-bottom:18px; }.ops-summary-card { padding:23px; color:#fff; border-radius:13px; background:linear-gradient(150deg,#073a6a,#06294d); }.ops-summary-card .eyebrow { color:#bddaea; }.ops-summary-card .ops-icon { display:grid; width:43px; height:43px; place-items:center; margin:13px 0; color:#063a6a; border-radius:12px; background:#9bd9f3; font-size:24px; }.ops-summary-card h3 { margin:0 0 5px; font-size:20px; }.ops-summary-card > p:not(.eyebrow) { margin:0 0 16px; color:#c8e1ef; font-size:13px; line-height:1.45; }.ops-summary-card > div { display:flex; justify-content:space-between; gap:12px; padding:10px 0; color:#c9e3f2; border-top:1px solid rgba(255,255,255,.16); font-size:12px; }.ops-summary-card > div strong { color:#fff; text-align:right; }.ops-summary-card .ops-summary-note { margin-top:13px; color:#b9d6e8; font-size:11px; line-height:1.5; }.ops-fieldset { margin:18px 0; padding:14px; border:1px solid var(--line); border-radius:11px; }.ops-fieldset legend { padding:0 7px; color:#294c65; font-size:14px; font-weight:800; }.helper-text.dark { color:#6c8496; }.repeat-head,.repeat-row { display:grid; grid-template-columns:42px minmax(115px,1.2fr) minmax(86px,.8fr) minmax(96px,.9fr); gap:8px; align-items:center; }.repeat-head { padding:8px 0 7px; color:#7890a2; font-size:11px; font-weight:800; }.repeat-row { padding:7px 0; border-top:1px solid #edf2f5; }.repeat-row input,.recipe-builder-row input,.recipe-builder-row select,.summary-input input { width:100%; min-width:0; padding:9px 10px; color:#183d58; border:1px solid #d4e1e9; border-radius:8px; background:#fff; }.repeat-index { display:grid; width:26px; height:26px; place-items:center; color:#fff; border-radius:50%; background:#0c679e; font-size:12px; font-weight:800; }.add-row { margin-top:7px; }.ops-history { max-width:1250px; margin:0 auto; }.recipe-builder-head,.recipe-builder-row { display:grid; grid-template-columns:minmax(145px,1.4fr) 92px 70px 96px 100px; gap:8px; align-items:center; }.recipe-builder-head { padding:8px 0; color:#7890a2; font-size:11px; font-weight:800; }.recipe-builder-row { padding:8px 0; border-top:1px solid #edf2f5; }.recipe-builder-row span { color:#264963; font-size:12px; font-weight:800; text-align:right; }.summary-input { display:block; margin:17px 0 5px; color:#c9e3f2; font-size:12px; }.summary-input input { display:block; margin-top:7px; color:#153b56; }.delivery-note-action { display:flex; align-items:center; justify-content:space-between; gap:16px; max-width:1250px; margin:0 auto 16px; padding:15px 18px; border:1px solid #cfe1ea; border-radius:12px; background:#f1f8fb; }.delivery-note-action .eyebrow,.delivery-note-action strong,.delivery-note-action small { display:block; }.delivery-note-action strong { margin:3px 0; color:#173c57; font-size:14px; }.delivery-note-action small { color:#70899b; font-size:12px; }.delivery-note { position:fixed; z-index:90; inset:0; padding:28px; overflow:auto; background:rgba(2,29,53,.58); }.delivery-paper { width:min(100%,780px); margin:0 auto; padding:32px; color:#18384f; background:#fff; box-shadow:0 20px 55px rgba(1,27,49,.35); }.delivery-paper-head { display:grid; grid-template-columns:160px 1fr auto; gap:18px; align-items:center; padding-bottom:20px; border-bottom:2px solid #113e5d; }.delivery-paper-head img { display:block; width:160px; height:80px; object-fit:cover; object-position:center; border-radius:6px; }.delivery-paper-head p,.delivery-paper-head strong,.delivery-paper-head span { display:block; }.delivery-paper-head p { margin:0 0 5px; color:#52718a; font-size:11px; font-weight:800; letter-spacing:.08em; }.delivery-paper-head strong { color:#06294d; font-size:23px; }.delivery-paper-head span { margin-top:4px; color:#617e91; font-size:13px; }.delivery-route { display:grid; grid-template-columns:1fr 38px 1fr; gap:12px; align-items:center; padding:20px 0; }.delivery-route > div { padding:13px; border-radius:8px; background:#eff6f9; }.delivery-route span,.delivery-route strong { display:block; }.delivery-route span { color:#6d8798; font-size:11px; }.delivery-route strong { margin-top:4px; color:#143d5a; font-size:16px; }.delivery-route > b { color:#0a6299; font-size:25px; text-align:center; }.delivery-paper table { width:100%; border-collapse:collapse; font-size:13px; }.delivery-paper th { padding:10px 8px; color:#527188; border-top:1px solid #cadbe4; border-bottom:1px solid #cadbe4; font-size:11px; text-align:left; }.delivery-paper td { padding:13px 8px; border-bottom:1px solid #dbe6eb; }.delivery-paper .right { text-align:right; }.delivery-note-copy { margin:17px 0; color:#5d768a; font-size:13px; }.signature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:44px; }.signature-grid div { text-align:center; }.signature-grid span,.signature-grid strong,.signature-grid small { display:block; }.signature-grid span { color:#506d83; font-size:13px; font-weight:800; }.signature-grid i { display:block; height:66px; margin:5px 0; border-bottom:1px solid #5e7588; }.signature-grid strong { color:#284b64; font-size:12px; }.signature-grid small { margin-top:4px; color:#72899a; font-size:10px; }.delivery-print-action { display:flex; justify-content:flex-end; gap:10px; margin-top:27px; }.membership-conversion-view .ops-form-card { min-height:360px; }

/* Product unit ladder: every row is measured against Level 1, not its predecessor. */
.ops-fieldset .repeat-head:has(+ #product-unit-rows), .product-unit-row { grid-template-columns:42px minmax(118px,1.25fr) minmax(92px,.85fr) minmax(105px,1fr) minmax(112px,1fr) minmax(96px,.9fr); }.product-unit-row > strong { color:#08705b; font-size:12px; text-align:right; }.product-unit-row input[readonly] { color:#71879a; background:#f1f6f9; cursor:not-allowed; }.unit-price-setting { display:grid; grid-template-columns:minmax(0,1fr) 68px; gap:5px; align-items:center; }.unit-price-setting select { width:100%; min-width:0; min-height:38px; padding:7px 8px; color:#183d58; border:1px solid #d4e1e9; border-radius:8px; background:#fff; font:inherit; font-size:11px; }.unit-price-setting input { min-width:0; }.product-weight-toggle { align-self:end; min-height:38px; margin:0; padding:0 2px; }.product-weight-toggle input { accent-color:var(--green); }.customer-menu-feature { min-width:138px; min-height:33px; padding:5px 7px; color:#173e5b; border:1px solid #cddfe9; border-radius:7px; background:#f8fcfe; font:inherit; font-size:11px; font-weight:700; }
@media (max-width:1120px) { .ops-layout { grid-template-columns:1fr; }.ops-summary-card { min-height:245px; }.delivery-paper { width:min(100%,680px); } }
@media (max-width:620px) { .ops-form-card { padding:16px; }.repeat-head { display:none; }.repeat-row { grid-template-columns:30px 1fr 1fr; }.repeat-row input:last-child { grid-column:2 / -1; }.recipe-builder-head { display:none; }.recipe-builder-row { grid-template-columns:1fr 1fr; }.recipe-builder-row span { text-align:left; }.delivery-note { padding:0; }.delivery-paper { min-height:100vh; padding:20px; }.delivery-paper-head { grid-template-columns:1fr auto; }.delivery-paper-head img { width:140px; height:70px; }.delivery-paper-head > div { grid-column:1 / -1; grid-row:2; }.delivery-route { grid-template-columns:1fr; }.delivery-route > b { transform:rotate(90deg); }.signature-grid { grid-template-columns:1fr; gap:20px; margin-top:28px; }.signature-grid i { height:48px; }.delivery-print-action { flex-direction:column-reverse; }.delivery-print-action button { width:100%; }.delivery-note-action { align-items:flex-start; flex-direction:column; }.delivery-note-action button { width:100%; } }
@media print { body > * { display:none !important; } body > #delivery-note { display:block !important; position:static !important; padding:0 !important; overflow:visible !important; background:#fff !important; } .delivery-paper { width:100% !important; margin:0 !important; padding:12mm !important; box-shadow:none !important; } .delivery-paper .no-print { display:none !important; } }

@media (max-width:620px) { .product-unit-row { grid-template-columns:30px minmax(0,1fr) minmax(0,1fr); }.product-unit-row .product-base-unit-label, .product-unit-row > strong { grid-column:2 / -1; text-align:left; }.product-unit-row .unit-price-setting { grid-column:2 / -1; }.product-weight-toggle { align-self:auto; } }
