/* Table — calm, light, readable. Navy text and primary, teal accent (from the TABLE logo), strong contrast, big targets. */
:root {
  --ink: #0F2236; --ink2: #3d4f63; --muted: #5f6f80; --line: #d9dee5; --line2: #e9ecf0;
  --bg: #f7f8f9; --panel: #ffffff; --blue: #0F2236; --blue2: #1d4a73; --blue-bg: #eaf0f5;
  --teal: #14B1A0; --green: #0e8f81; --green-bg: #e6f6f4; --amber: #8a5a00; --amber-bg: #fff4dc; --red: #b42318; --red-bg: #fdecea;
  --r: 6px; --side: 64px; --side-open: 210px;
  font-size: 16.5px;
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html, body { margin: 0; background: var(--bg); color: var(--ink); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; line-height: 1.5; }
a { color: var(--blue2); text-decoration: none; } a:hover { text-decoration: underline; }
h1 { font-size: 1.6rem; line-height: 1.25; margin: 0 0 .2rem; font-weight: 650; letter-spacing: -.01em; }
h2 { font-size: 1.15rem; margin: 0 0 .7rem; font-weight: 650; display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
h3 { font-size: 1rem; margin: 1rem 0 .4rem; font-weight: 650; }
p { margin: .4rem 0; }
small { font-size: .85rem; }
.muted { color: var(--muted); } .small { font-size: .88rem; }
.heb { font-family: "Times New Roman", "David", serif; font-size: 1.05em; direction: rtl; unicode-bidi: isolate; }
.loading { padding: 3rem; text-align: center; color: var(--muted); }
:focus-visible { outline: 3px solid #7fb0e0; outline-offset: 2px; }
.ic { width: 22px; height: 22px; flex: none; }
.ic.flip { transform: rotate(180deg); }

/* layout */
.layout { display: flex; min-height: 100vh; }
.side { position: fixed; inset: 0 auto 0 0; width: var(--side); background: #fff; border-right: 1px solid var(--line); display: flex; flex-direction: column; z-index: 30; transition: width .15s; overflow: hidden; }
.side:hover, .nav-open .side { width: var(--side-open); box-shadow: 2px 0 12px rgba(0,0,0,.04); }
.nav-open .side { box-shadow: none; }
.brand { display: flex; align-items: center; gap: .65rem; padding: 14px 14px 12px; height: 62px; border-bottom: 1px solid var(--line2); }
.brand-icon { width: 34px; height: 34px; border-radius: 6px; flex: none; }
.brand-word { font-family: Georgia, "Times New Roman", serif; font-size: 1.35rem; color: var(--ink); white-space: nowrap; }
.side ul { list-style: none; margin: 8px 0; padding: 0 8px; }
.side ul.bottom { margin-top: auto; border-top: 1px solid var(--line2); padding-top: 8px; }
.side a, .side button { display: flex; align-items: center; gap: .85rem; padding: 11px 13px; border-radius: var(--r); color: var(--ink2); font-size: 1rem; white-space: nowrap; width: 100%; background: none; border: 0; cursor: pointer; font: inherit; text-align: left; min-height: 46px; }
.side a:hover, .side button:hover { background: var(--line2); text-decoration: none; color: var(--ink); }
.side a.on { background: var(--blue-bg); color: var(--blue); font-weight: 600; }
.side span { opacity: 0; transition: opacity .1s; }
.side:hover span, .nav-open .side span { opacity: 1; }
.main-col { flex: 1; margin-left: var(--side); min-width: 0; transition: margin .15s; }
.nav-open .main-col { margin-left: var(--side-open); }
.top { position: sticky; top: 0; z-index: 20; background: rgba(255,255,255,.97); border-bottom: 1px solid var(--line); display: flex; align-items: center; gap: .75rem; padding: 10px 24px; min-height: 62px; }
.search { flex: 1; max-width: 560px; display: flex; align-items: center; gap: .5rem; background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: 0 .75rem; }
.search input { border: 0; outline: 0; padding: .65rem 0; font: inherit; width: 100%; background: transparent; }
.search:focus-within { border-color: var(--blue2); box-shadow: 0 0 0 3px #d6e6f5; }
.who { margin-left: auto; display: flex; align-items: center; gap: .4rem; color: var(--ink2); white-space: nowrap; }
.icon-btn { background: none; border: 0; padding: 8px; border-radius: var(--r); cursor: pointer; color: var(--ink2); min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.icon-btn:hover { background: var(--line2); }
.mobile-only { display: none; }
.pad { padding: 22px 28px 90px; max-width: 1320px; }
.page-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; margin-bottom: 1rem; flex-wrap: wrap; }

/* buttons & forms */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: .45rem; min-height: 44px; padding: .5rem 1rem; border-radius: var(--r); border: 1px solid #c4ccd6; background: #fff; color: var(--ink); font: inherit; font-weight: 550; cursor: pointer; white-space: nowrap; text-decoration: none !important; }
.btn:hover { background: #f1f4f7; border-color: #aab4c0; }
.btn.primary { background: var(--blue); border-color: var(--blue); color: #fff; }
.btn.primary:hover { background: #193f63; }
.btn.danger { background: var(--red); border-color: var(--red); color: #fff; }
.btn.quiet { border-color: transparent; background: transparent; color: var(--ink2); }
.btn.quiet:hover { background: var(--line2); }
.btn.big { min-height: 52px; font-size: 1.08rem; padding: .6rem 1.4rem; }
.btn.small { min-height: 36px; padding: .25rem .7rem; font-size: .92rem; }
.btn.link { border: 0; background: none; color: var(--blue2); }
.btn:disabled { opacity: .5; cursor: not-allowed; }
.btn-row { display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; }
.newcall { white-space: nowrap; }
input, select, textarea { font: inherit; color: var(--ink); background: #fff; border: 1px solid #c4ccd6; border-radius: var(--r); padding: .55rem .7rem; min-height: 44px; width: 100%; }
textarea { min-height: 70px; resize: vertical; }
input:focus, select:focus, textarea:focus { outline: none; border-color: var(--blue2); box-shadow: 0 0 0 3px #d6e6f5; }
input:disabled, select:disabled, textarea:disabled { background: #f5f6f8; color: var(--ink2); }
input[type=checkbox], input[type=radio] { width: 20px; height: 20px; min-height: 0; accent-color: var(--blue); margin: 0; flex: none; }
select.need { border-color: var(--amber); background: var(--amber-bg); }
.field { display: flex; flex-direction: column; gap: .25rem; margin-bottom: .75rem; min-width: 0; }
.lbl { font-size: .9rem; font-weight: 600; color: var(--ink2); }
.hint { font-size: .82rem; color: var(--muted); }
.check { display: inline-flex; align-items: center; gap: .5rem; cursor: pointer; margin: .2rem 1rem .2rem 0; }
.check.big { display: flex; padding: .55rem 0; font-size: 1.05rem; border-bottom: 1px solid var(--line2); margin: 0; }
.checks { display: flex; flex-wrap: wrap; gap: .25rem .5rem; padding-top: .3rem; }
.grid2, .grid3, .grid4 { display: grid; gap: 0 .9rem; }
.grid2 { grid-template-columns: 1fr 1fr; } .grid3 { grid-template-columns: repeat(3, 1fr); } .grid4 { grid-template-columns: repeat(4, 1fr); }
.mt { margin-top: .5rem; }
.static { padding-top: .5rem; }
.seg { display: inline-flex; border: 1px solid #c4ccd6; border-radius: var(--r); overflow: hidden; background: #fff; font-size: .95rem; }
.seg > a, .seg > button, .seg > .segr { padding: .45rem .85rem; border: 0; background: none; font: inherit; color: var(--ink2); cursor: pointer; border-right: 1px solid var(--line); display: inline-flex; align-items: center; gap: .35rem; min-height: 40px; text-decoration: none !important; }
.seg > :last-child { border-right: 0; }
.seg > .on { background: var(--blue); color: #fff; }
.seg.big > a, .seg.big > button { padding: .6rem 1.1rem; font-size: 1.02rem; min-height: 46px; }
.seg.wrap { flex-wrap: wrap; margin-bottom: .7rem; }
.filters { display: flex; gap: .6rem; flex-wrap: wrap; align-items: center; margin-bottom: 1rem; }
.filters input[type=search] { max-width: 320px; }

/* blocks, lists */
.block { background: var(--panel); border: 1px solid var(--line); border-radius: 8px; padding: 18px 20px; margin-bottom: 18px; min-width: 0; }
.cols { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; align-items: start; }
.cols > .block { margin-bottom: 0; } .cols { margin-bottom: 18px; }
.count { display: inline-block; min-width: 1.7rem; padding: 0 .45rem; border-radius: 999px; background: var(--line2); color: var(--ink2); font-size: .85rem; text-align: center; font-weight: 600; }
.count.red { background: var(--red-bg); color: var(--red); }
.empty { color: var(--muted); padding: .3rem 0; } .empty.big { font-size: 1.1rem; padding: 1.5rem 0; }
.more { margin: .6rem 0 0; font-size: .95rem; }
.row { display: grid; grid-template-columns: 7.2rem 1fr auto; gap: .9rem; align-items: center; padding: .7rem .4rem; border-top: 1px solid var(--line2); color: var(--ink); text-decoration: none !important; }
.row:hover { background: #f8fafc; }
.row .r-date b, .row .r-main b { display: block; font-weight: 600; }
.row small { color: var(--muted); display: block; }
.row .r-side { display: flex; gap: .45rem; align-items: center; flex-wrap: wrap; justify-content: flex-end; }
.chip { display: inline-block; padding: .12rem .55rem; border-radius: 999px; font-size: .82rem; font-weight: 600; white-space: nowrap; border: 1px solid transparent; }
.st-inq { background: #eef1f5; color: #3d4b5c; } .st-sent { background: var(--amber-bg); color: var(--amber); } .st-conf { background: var(--green-bg); color: var(--green); }
.st-done { background: #e8eaee; color: #475467; } .st-lost { background: #f2f2f2; color: #8a8f98; text-decoration: line-through; }
.q-sent, .q-ready-for-approval { background: var(--amber-bg); color: var(--amber); } .q-accepted, .q-approved-internally { background: var(--green-bg); color: var(--green); } .q-replaced, .q-rejected { background: #f0f1f3; color: #6b7280; } .q-draft { background: #eef1f5; color: #3d4b5c; }
.flag { color: var(--amber); font-weight: 600; font-size: .85rem; } .flag.red { color: var(--red); }
.bal { font-weight: 600; font-size: .92rem; }
.fu { font-size: .85rem; color: var(--muted); } .fu.due { color: var(--amber); font-weight: 600; }
.attn { list-style: none; padding: 0; margin: 0; }
.attn li { border-left: 4px solid var(--amber); background: var(--amber-bg); padding: .5rem .75rem; margin-bottom: .45rem; border-radius: 0 var(--r) var(--r) 0; }
.attn li.red { border-color: var(--red); background: var(--red-bg); }
.attn li a { color: var(--ink); display: block; text-decoration: none; } .attn li a b { margin-right: .3rem; }
.attn li span { display: block; }
.warn { color: var(--red); font-weight: 600; } .ok { color: var(--green); font-weight: 600; }
p.warn { background: var(--red-bg); padding: .5rem .75rem; border-radius: var(--r); font-weight: 500; }
p.ok { background: var(--green-bg); padding: .5rem .75rem; border-radius: var(--r); font-weight: 500; }
.notice { background: var(--blue-bg); border: 1px solid #c9dcee; border-radius: 8px; padding: 12px 16px; margin-bottom: 16px; }
.notice.ok { background: var(--green-bg); border-color: #b5e2dc; color: var(--ink); font-weight: 400; }
.quick-add { display: flex; gap: .5rem; margin-bottom: .6rem; }
.task { display: flex; gap: .7rem; align-items: flex-start; padding: .55rem 0; border-top: 1px solid var(--line2); }
.task .tick { width: 28px; height: 28px; flex: none; border: 2px solid #9aa6b5; border-radius: 6px; background: #fff; cursor: pointer; color: #fff; font-weight: 700; line-height: 1; }
.task.done .tick { background: var(--green); border-color: var(--green); }
.task.done .t-title { text-decoration: line-through; color: var(--muted); }
.t-body small { display: block; color: var(--muted); }
.t-title { color: var(--ink); font-weight: 550; }
details.others summary, details.msg-d summary { cursor: pointer; color: var(--blue2); padding: .3rem 0; }
.today-strip { border-color: #b5e2dc; }

/* new call */
.call-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(300px, 1fr); gap: 22px; align-items: start; }
.call-left { background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 20px; }
.call-right { position: sticky; top: 80px; }
.price-box { background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 18px 20px; }
.call-actions { display: flex; flex-direction: column; gap: .5rem; margin: 14px 0; }
.type-pick { display: flex; flex-wrap: wrap; gap: .4rem; }
.opt { padding: .5rem .85rem; border: 1px solid #c4ccd6; border-radius: var(--r); background: #fff; font: inherit; cursor: pointer; min-height: 44px; }
.opt.on { background: var(--blue); border-color: var(--blue); color: #fff; }
.match { padding: .6rem .8rem; border-radius: var(--r); margin: -.3rem 0 .8rem; }
.match.new { background: var(--line2); color: var(--ink2); }
.match.found { background: var(--green-bg); border: 1px solid #b5e2dc; display: flex; justify-content: space-between; gap: .8rem; align-items: flex-start; }
.match small { display: block; color: var(--ink2); } .match ul { margin: .3rem 0 0; padding-left: 1.1rem; }
.date-info { background: var(--blue-bg); border-radius: var(--r); padding: .6rem .8rem; margin: -.3rem 0 .8rem; }
.date-info p { margin: .4rem 0 0; }
.hi-yt, .hi-rc { color: var(--blue); font-weight: 600; }
.sent-box { background: var(--green-bg); border: 1px solid #b5e2dc; border-radius: 8px; padding: 16px; }
.sent-box h3 { margin-top: 0; }
.order-box { border: 1px dashed #c4ccd6; border-radius: 8px; padding: 14px; margin-bottom: .8rem; }
.isearch { display: flex; flex-direction: column; gap: 2px; margin-top: 4px; }
.isearch button { text-align: left; background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: .45rem .7rem; cursor: pointer; font: inherit; }
.isearch button:hover { background: var(--blue-bg); } .isearch small { display: block; color: var(--muted); }
.order-lines { width: 100%; border-collapse: collapse; margin-top: .5rem; }
.order-lines td { padding: .4rem .3rem; border-top: 1px solid var(--line2); }
.stepper { display: inline-flex; align-items: center; gap: .3rem; white-space: nowrap; }
.stepper button { width: 38px; height: 38px; border: 1px solid #c4ccd6; background: #fff; border-radius: var(--r); font-size: 1.2rem; cursor: pointer; line-height: 1; }
.stepper b { min-width: 2rem; text-align: center; }
.small-link { background: none; border: 0; color: var(--blue2); cursor: pointer; font: inherit; font-size: .85rem; }
.x { background: none; border: 0; font-size: 1.35rem; color: #8a94a3; cursor: pointer; width: 36px; height: 36px; border-radius: var(--r); line-height: 1; }
.x:hover { background: var(--red-bg); color: var(--red); }

/* tables */
table { border-collapse: collapse; width: 100%; }
.table-wrap { overflow-x: auto; }
.lines td, .lines th { padding: .45rem .4rem; border-top: 1px solid var(--line2); vertical-align: top; text-align: left; }
.lines th { font-size: .85rem; color: var(--muted); font-weight: 600; border-top: 0; }
.lines small { display: block; color: var(--muted); }
.lines .num, .rows .num, .quotes .num, .hist .num { text-align: right; white-space: nowrap; }
.lines tr.sub td { border-top: 2px solid var(--line); } .lines tr.tot td { font-weight: 700; font-size: 1.1rem; border-top: 2px solid var(--ink); }
.lines tr.off td { color: #9aa3ae; } .lines tr.ovr td:nth-child(5) b { color: var(--amber); }
.lines tr.grp td, .rows tr.grp td { background: #f3f5f8; font-weight: 600; }
.ovr-note { color: var(--amber) !important; }
.rows td, .rows th, .quotes td, .quotes th, .hist td, .hist th { padding: .45rem .45rem; border-top: 1px solid var(--line2); text-align: left; vertical-align: top; }
.rows th, .quotes th, .hist th { font-size: .85rem; color: var(--muted); font-weight: 600; border-top: 0; }
.rows td small, .quotes td small { display: block; color: var(--muted); }
.rows tr.off td { color: #9aa3ae; } .rows tr.void td { color: #9aa3ae; text-decoration: line-through; } .rows tr.late td { background: var(--red-bg); }
.rows input, .rows select { min-height: 40px; padding: .35rem .5rem; }
.rows .c { text-align: center; }
input.qty { width: 6rem; text-align: right; }
.hist td { font-size: .92rem; } .hist.small td, .hist.small th { font-size: .88rem; }
.times td { padding: .3rem .5rem .3rem 0; border-top: 1px solid var(--line2); } .times td:first-child { white-space: nowrap; font-weight: 600; width: 6rem; }
.times.big td { font-size: 1.1rem; padding: .55rem .5rem .55rem 0; } .times small { display: block; color: var(--muted); }
.q-acts { display: flex; gap: .3rem; flex-wrap: wrap; }
.plain { list-style: none; padding: 0; margin: .3rem 0; } .plain li { padding: .25rem 0; border-top: 1px solid var(--line2); }

/* event page */
.ev-head { display: flex; justify-content: space-between; gap: 1.2rem; flex-wrap: wrap; align-items: flex-start; }
.ev-title p { margin: .25rem 0; }
.ev-money { display: flex; gap: 0; border: 1px solid var(--line); border-radius: 8px; background: #fff; overflow: hidden; }
.ev-money div { padding: .6rem 1.1rem; border-right: 1px solid var(--line2); min-width: 7.5rem; }
.ev-money div:last-child { border-right: 0; } .ev-money small { display: block; color: var(--muted); } .ev-money b { font-size: 1.15rem; }
.ev-money .owe b { color: var(--red); }
.ev-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin: .9rem 0; }
.menu-btn { position: relative; } .menu-btn summary { list-style: none; } .menu-btn summary::-webkit-details-marker { display: none; }
.menu-pop { position: absolute; z-index: 15; top: 48px; left: 0; background: #fff; border: 1px solid var(--line); border-radius: 8px; box-shadow: 0 8px 24px rgba(16,24,40,.12); min-width: 210px; padding: 6px; }
.menu-pop a { display: block; padding: .6rem .8rem; border-radius: var(--r); color: var(--ink); } .menu-pop a:hover { background: var(--blue-bg); text-decoration: none; }
.tabs { display: flex; gap: 2px; border-bottom: 1px solid var(--line); margin-bottom: 18px; overflow-x: auto; scrollbar-width: thin; }
.tabs a { padding: .65rem .95rem; color: var(--ink2); border-bottom: 3px solid transparent; white-space: nowrap; font-weight: 550; text-decoration: none !important; }
.tabs a.on { color: var(--blue); border-color: var(--blue); }
.tabs a:hover { color: var(--ink); }
.dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; vertical-align: middle; } .dot.red { background: var(--red); }
.dirty-bar { position: fixed; left: 50%; transform: translateX(-50%); bottom: 18px; z-index: 40; background: var(--ink); color: #fff; border-radius: 10px; padding: 10px 12px 10px 18px; display: flex; gap: .6rem; align-items: center; box-shadow: 0 10px 30px rgba(0,0,0,.25); }
.dirty-bar .btn:not(.primary) { background: transparent; color: #fff; border-color: #6b7685; }
.heb-line { margin: -.3rem 0 .7rem; color: var(--ink2); }
.layout-thumb { max-width: 100%; max-height: 260px; border: 1px solid var(--line); border-radius: var(--r); }
.sticky-sum { position: sticky; top: 62px; z-index: 10; margin: -6px 0 14px; }
.live-sum { display: flex; flex-wrap: wrap; gap: .4rem 1.4rem; background: var(--blue-bg); border: 1px solid #c9dcee; border-radius: 8px; padding: .6rem 1rem; }
.menu-top { display: flex; gap: 1rem; flex-wrap: wrap; align-items: flex-end; } .menu-top .field { min-width: 240px; }
.meal-hd { display: flex; gap: 1rem; align-items: flex-end; flex-wrap: wrap; justify-content: space-between; }
.meal-hd h2 { margin: 0; flex-basis: 100%; }
.meal-meta { display: flex; gap: .6rem; flex-wrap: wrap; flex: 1; } .meal-meta .field { margin: 0; width: 9.5rem; } .meal-meta .field:first-child { width: 14rem; }
.msec { border-top: 1px solid var(--line); padding-top: .4rem; margin-top: .8rem; }
.msec h3 { margin: .3rem 0 .4rem; display: flex; align-items: center; gap: .5rem; }
.msec.pending h3 { color: var(--amber); }
.tag { font-size: .78rem; font-weight: 600; background: var(--line2); color: var(--ink2); padding: .05rem .45rem; border-radius: 999px; }
.tag.need { background: var(--amber-bg); color: var(--amber); } .tag.add { background: var(--green-bg); color: var(--green); }
.mline { padding: .35rem 0; border-top: 1px dashed var(--line2); }
.ml-main { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; }
.ml-name { flex: 1 1 260px; min-width: 0; }
.ml-ctl { display: flex; gap: .5rem; align-items: center; flex-wrap: wrap; }
.ml-ctl select { width: auto; min-width: 9rem; min-height: 40px; padding: .3rem .5rem; }
.mline.exc .ml-name { color: #8a94a3; } .mline.removed .ml-name { text-decoration: line-through; }
.mline.inc .ml-name { color: var(--ink); }
.pick { width: 30px; height: 30px; border: 2px solid #9aa6b5; border-radius: 50%; background: #fff; cursor: pointer; color: #fff; font-weight: 700; flex: none; }
.pick.on { background: var(--green); border-color: var(--green); }
.ml-price { font-weight: 600; white-space: nowrap; min-width: 5.5rem; text-align: right; } .ml-price.credit { color: var(--green); }
.ml-notes { display: grid; grid-template-columns: 1fr 1fr; gap: .4rem; margin: .35rem 0 .1rem 2.4rem; }
.ml-notes input { min-height: 38px; padding: .3rem .55rem; font-size: .93rem; }
.msec.upg { background: #fbfcfd; }
.add-item { margin: .5rem 0 .2rem; max-width: 520px; } .add-item input { min-height: 40px; }
.changed-box { background: var(--red-bg); border: 2px solid var(--red); border-radius: 8px; padding: 14px 18px; margin-bottom: 18px; }
.changed-box h2 { color: var(--red); } .changed-box ul { margin: .4rem 0; padding-left: 1.2rem; }
.msg-box { border: 1px solid var(--line); border-radius: 8px; margin: .7rem 0; background: #fbfcfd; }
.msg-hd { display: flex; justify-content: space-between; align-items: center; gap: .5rem; padding: .5rem .8rem; border-bottom: 1px solid var(--line2); flex-wrap: wrap; }
.msg-text { white-space: pre-wrap; padding: .6rem .9rem; margin: 0; font-size: .95rem; color: var(--ink2); }
.note { border-left: 4px solid #9aa6b5; padding: .45rem .8rem; margin: .6rem 0; background: #fafbfc; border-radius: 0 var(--r) var(--r) 0; }
.note.n-kitchen { border-color: var(--green); } .note.n-waiter { border-color: var(--blue2); } .note.n-internal { border-color: #9aa6b5; }
.note small { color: var(--muted); } .note p { margin: .2rem 0; white-space: pre-wrap; }
.chat-msgs { height: 360px; overflow-y: auto; border: 1px solid var(--line2); border-radius: var(--r); padding: .6rem; margin: .6rem 0; background: #fafbfc; }
.chat-msg { max-width: 85%; margin-bottom: .6rem; } .chat-msg p { background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: .45rem .75rem; margin: .1rem 0; white-space: pre-wrap; }
.chat-msg.me { margin-left: auto; text-align: right; } .chat-msg.me p { background: var(--blue-bg); border-color: #c9dcee; text-align: left; }
.chat-msg small { color: var(--muted); }
.chat-form { display: flex; gap: .5rem; }
.files { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; margin-top: .8rem; }
.file { display: flex; gap: .7rem; border: 1px solid var(--line); border-radius: 8px; padding: .6rem; align-items: flex-start; }
.file.is-layout { border-color: var(--blue2); }
.file img { width: 84px; height: 84px; object-fit: cover; border-radius: var(--r); } .file small { display: block; color: var(--muted); }
.ficon { display: inline-flex; width: 84px; height: 84px; align-items: center; justify-content: center; background: var(--line2); border-radius: var(--r); font-weight: 700; color: var(--ink2); }
.file-btn { position: relative; }
.kcard .kc-head { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; } .kcard .hc { font-size: 1.15rem; font-weight: 600; }
.kcard { padding: 0; overflow: hidden; }
.kc-sum { display: flex; align-items: center; gap: .8rem; width: 100%; background: #fff; border: 0; cursor: pointer; font: inherit; text-align: left; padding: 14px 20px; min-height: 44px; color: var(--ink); }
.kc-sum:hover { background: var(--line2); }
.kc-sum-main { font-weight: 650; flex: 1 1 auto; min-width: 0; }
.kc-sum-time { white-space: nowrap; }
.kc-sum-fulfil { white-space: nowrap; color: var(--ink2); }
.kc-sum-status { white-space: nowrap; font-weight: 600; }
.kc-sum-status.ok { color: var(--green); } .kc-sum-status.warn { color: var(--amber); }
.kc-chev { color: var(--ink2); font-size: 1.1rem; flex: none; }
.kc-body { padding: 0 20px 18px; border-top: 1px solid var(--line2); }
.kc-collapsed .kc-sum { border-bottom: 0; }
.kcard:not(.kc-collapsed) .kc-body { padding-top: 16px; }
@media (max-width: 560px) { .kc-sum { flex-wrap: wrap; padding: 12px 14px; } .kc-sum-main { flex-basis: 100%; } .kc-body { padding: 0 14px 14px; } }
.allergy { background: var(--red-bg); padding: .5rem .75rem; border-radius: var(--r); }
.prod td { font-size: 1.02rem; }

/* calendar */
.cal-nav { display: flex; gap: .4rem; align-items: center; flex-wrap: wrap; }
.legend { display: flex; gap: .5rem; flex-wrap: wrap; margin: 0 0 .8rem; }
.cal-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); border-left: 1px solid var(--line); border-top: 1px solid var(--line); background: #fff; }
.cal-hd { padding: .45rem .5rem; font-size: .85rem; font-weight: 600; color: var(--muted); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #fafbfc; }
.cal-day { min-height: 118px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: .3rem .35rem; display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.cal-day.other { background: #fafbfc; } .cal-day.other .cal-num b { color: #a3abb6; }
.cal-day.is-today { box-shadow: inset 0 0 0 2px var(--blue2); } .cal-day.is-shabbos { background: #f7f8fb; }
.cal-num { display: flex; justify-content: space-between; color: var(--ink); text-decoration: none !important; }
.cal-num .heb { color: var(--muted); font-size: .92rem; }
.cal-tag { font-size: .74rem; color: var(--ink2); line-height: 1.25; }
.cal-tag.t-yt { color: var(--blue); font-weight: 600; } .cal-tag.t-rc { color: var(--green); font-weight: 600; } .cal-tag.t-parsha { color: #5b4a8a; }
.cal-ev { display: block; font-size: .8rem; padding: 2px 5px; border-radius: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--ink); border-left: 3px solid; text-decoration: none !important; }
.c-inq { background: #eef1f5; border-color: #8d99a8; } .c-tent { background: var(--amber-bg); border-color: #d9a43a; } .c-conf { background: var(--green-bg); border-color: var(--green); } .c-done { background: #eceef1; border-color: #98a2b3; color: #667085; }
.legend .cal-ev { display: inline-block; }
.cal-week { display: grid; gap: 10px; } .wk-day { background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: .6rem .8rem; } .wk-day.is-today { border-color: var(--blue2); }
.wk-hd { display: flex; gap: .6rem; align-items: baseline; flex-wrap: wrap; margin-bottom: .3rem; } .wk-ev small { display: block; color: var(--muted); margin: 0 0 .4rem .5rem; }
.heb.big { font-size: 1.4rem; }

/* settings */
.set-layout { display: grid; grid-template-columns: 220px 1fr; gap: 20px; align-items: start; }
.set-nav { display: flex; flex-direction: column; gap: 2px; position: sticky; top: 80px; }
.set-nav a { padding: .55rem .8rem; border-radius: var(--r); color: var(--ink2); } .set-nav a.on { background: var(--blue-bg); color: var(--blue); font-weight: 600; }
fieldset.pkg { border: 1px solid var(--line); border-radius: 8px; margin: 0 0 1rem; padding: .6rem 1rem 1rem; min-width: 0; min-inline-size: 0; }
.pkg-drop { margin: .2rem 0 .6rem; } fieldset.pkg legend { font-weight: 650; padding: 0 .4rem; }
.perms select { min-width: 6.5rem; }

/* login */
.login { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 24px; }
.login-box { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 32px; width: 100%; max-width: 460px; text-align: center; }
.login-word { height: 56px; margin-bottom: 1.2rem; }
.user-pick { display: flex; flex-direction: column; gap: .6rem; margin-top: 1rem; }
.user-btn { display: flex; justify-content: space-between; align-items: center; padding: 1rem 1.2rem; border: 1px solid #c4ccd6; border-radius: 8px; background: #fff; font: inherit; font-size: 1.1rem; cursor: pointer; min-height: 60px; }
.user-btn:hover { border-color: var(--blue2); background: var(--blue-bg); } .u-role { color: var(--muted); font-size: .95rem; }
.pin-form { text-align: left; } .pin-form h1 { margin-bottom: 1rem; }
.pin-input { font-size: 1.6rem; letter-spacing: .4em; text-align: center; min-height: 58px; }
.pin-form .btn.big { width: 100%; margin: .4rem 0; }

/* modal, toast */
.modal-wrap { position: fixed; inset: 0; background: rgba(16,24,40,.45); z-index: 100; display: flex; align-items: flex-start; justify-content: center; padding: 6vh 16px 16px; overflow-y: auto; }
.modal { background: #fff; border-radius: 12px; width: 100%; max-width: 600px; padding: 22px 24px; box-shadow: 0 20px 50px rgba(0,0,0,.25); }
.modal h2 { margin-bottom: 1rem; } .modal-actions { display: flex; justify-content: flex-end; gap: .5rem; margin-top: 1rem; }
#toasts { position: fixed; top: 74px; right: 18px; z-index: 200; display: flex; flex-direction: column; gap: 8px; }
.toast { background: var(--ink); color: #fff; padding: .7rem 1rem; border-radius: 8px; box-shadow: 0 8px 20px rgba(0,0,0,.2); max-width: 380px; }
.toast.err { background: var(--red); }

/* day mode */
.day-mode .big { font-size: 1.2rem; } .day-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; margin-bottom: 12px; } .day-grid .block { margin: 0; }
.day-mode .mi { border-top: 1px solid var(--line2); padding: .4rem 0; margin: 0; } .day-mode .mi small { display: block; color: var(--muted); }

/* printable documents */
.print-page { background: #e9ecef; min-height: 100vh; padding: 20px; }
.print-bar { display: flex; gap: .5rem; justify-content: center; margin-bottom: 16px; flex-wrap: wrap; }
.doc { background: #fff; max-width: 820px; margin: 0 auto; padding: 36px 44px; color: #000; font-size: 15px; line-height: 1.45; box-shadow: 0 2px 10px rgba(0,0,0,.08); }
.doc h1 { font-size: 22px; } .doc h2 { font-size: 16px; border-bottom: 2px solid #000; padding-bottom: 3px; margin: 18px 0 6px; } .doc h3 { font-size: 14px; margin: 10px 0 2px; text-transform: uppercase; letter-spacing: .03em; color: #333; }
.p-head { display: flex; gap: 18px; align-items: center; border-bottom: 2px solid #000; padding-bottom: 10px; margin-bottom: 10px; }
.p-logo { height: 76px; width: auto; }
.p-facts td { padding: 3px 8px 3px 0; vertical-align: top; } .p-facts td:nth-child(odd) { width: 80px; white-space: nowrap; }
.p-menu td, .p-times td, .p-lines td { padding: 4px 6px 4px 0; border-bottom: 1px solid #ddd; vertical-align: top; }
.p-menu tr.sec td, .p-lines tr.sec td { font-weight: 700; padding-top: 10px; border-bottom: 1px solid #999; }
.p-menu .num, .p-lines .num { text-align: right; white-space: nowrap; }
.p-menu.big td, .p-times.big td { font-size: 17px; padding: 7px 6px 7px 0; }
.p-lines tr.sub td { border-top: 2px solid #000; } .p-lines tr.tot td { font-weight: 700; font-size: 17px; border-top: 2px solid #000; }
.p-lines small, .p-items small { display: block; color: #555; }
.p-items { margin: 0 0 4px; padding-left: 18px; } .p-items li { margin: 2px 0; }
.p-alert { border: 2px solid #000; padding: 6px 10px; font-size: 16px; } .p-box { border: 1px solid #999; padding: 6px 10px; }
.p-terms, .p-pay { font-size: 13px; color: #333; white-space: pre-wrap; } .p-pay { border-top: 1px solid #ccc; padding-top: 8px; margin-top: 14px; }
.p-foot { font-size: 12px; color: #555; margin-top: 18px; } .p-layout { max-width: 100%; max-height: 520px; }

.match.picklist { background: var(--blue-bg); border: 1px solid #c9dcee; display: flex; flex-direction: column; gap: .4rem; }
.match.picklist .pick-row { display: flex; flex-direction: column; align-items: flex-start; width: 100%; text-align: left; background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: .6rem .8rem; min-height: 52px; font: inherit; cursor: pointer; }
.match.picklist .pick-row:hover { border-color: var(--blue2); }
/* ---- Oct 20 (round 2): New Call sections, typed date/time, address suggestions, order lines, payments ---- */
.nc-sec { border-top: 1px solid var(--line2); padding-top: 14px; margin-top: 16px; }
.nc-sec:first-child { border-top: 0; padding-top: 0; margin-top: 0; }
.nc-sec > h2 { font-size: 1.15rem; margin: 0 0 .7rem; }
.kind-pick { margin-bottom: .8rem; }
.kind-pick button { min-width: 8.5rem; }
#call-types { margin-bottom: .8rem; }
.call-left .seg.big { display: inline-flex; }
.tfield { display: flex; align-items: stretch; width: 100%; position: relative; }
.tfield .tf-text { flex: 1; min-width: 0; font-size: 1.08rem; min-height: 50px; border-top-right-radius: 0; border-bottom-right-radius: 0; }
.tfield.bad .tf-text { border-color: var(--red); background: var(--red-bg); }
.tfield .tf-ampm { flex: none; min-width: 58px; border: 1px solid #c4ccd6; border-left: 0; background: var(--blue-bg); color: var(--blue); font: inherit; font-weight: 700; cursor: pointer; }
.tfield .tf-pick { flex: none; position: relative; width: 50px; border: 1px solid #c4ccd6; border-left: 0; border-radius: 0 var(--r) var(--r) 0; background: #fff; color: var(--ink2); display: flex; align-items: center; justify-content: center; overflow: hidden; }
.tfield .tf-pick svg { width: 22px; height: 22px; pointer-events: none; }
.tfield .tf-native { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0; opacity: 0; padding: 0; margin: 0; border: 0; cursor: pointer; font-size: 16px; }
.tfield .tf-native::-webkit-calendar-picker-indicator { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; padding: 0; cursor: pointer; }
.tfield.off .tf-pick, .tfield.off .tf-ampm { background: #f5f6f8; pointer-events: none; }
.addr-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 0 16px; margin-top: .8rem; }
.addr-main { position: relative; }
.addr-cs { grid-template-columns: 1.6fr .6fr 1fr; }
.addr-sugg { position: absolute; left: 0; right: 0; z-index: 40; background: #fff; border: 1px solid var(--line); border-radius: var(--r); box-shadow: 0 6px 18px rgba(0,0,0,.08); margin-top: -10px; max-height: 300px; overflow: auto; }
.field .addr-sugg { top: 100%; }
.addr-sugg button { display: block; width: 100%; text-align: left; padding: .7rem .8rem; border: 0; border-bottom: 1px solid var(--line2); background: #fff; font: inherit; cursor: pointer; min-height: 46px; }
.addr-sugg button:hover, .addr-sugg button:focus { background: var(--blue-bg); }
.addr-sugg p { margin: 0; padding: .6rem .8rem; }
.field { position: relative; }
.add-item { position: relative; }
.item-search { font-size: 1.05rem; min-height: 50px; }
.isearch .ires { display: block; width: 100%; min-height: 48px; padding: .55rem .8rem; }
.isearch .ires b { font-weight: 600; }
.tag.warn { background: var(--amber-bg); color: var(--amber); }
.olines { margin-top: .6rem; }
.oline { display: flex; align-items: center; justify-content: space-between; gap: .6rem; flex-wrap: wrap; padding: .6rem 0; border-top: 1px solid var(--line2); }
.oline.need .ol-name b { color: var(--ink); }
.ol-name { flex: 1 1 200px; min-width: 0; font-size: 1.05rem; }
.ol-ctl { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.ol-size { width: auto; min-width: 11rem; min-height: 46px; }
select.need, .ol-size.need { border-color: var(--amber); background: var(--amber-bg); }
.qty-in { width: 3.6rem; min-height: 40px; text-align: center; padding: .3rem; font-weight: 700; font-size: 1.05rem; }
.price-in { width: 6rem; min-height: 40px; text-align: right; padding: .3rem .5rem; }
.ol-amt { min-width: 5.5rem; text-align: right; font-weight: 600; }
.btn.green { background: var(--green); border-color: var(--green); color: #fff; }
.btn.busy, .btn:disabled { opacity: .6; cursor: progress; }
.segopt { display: inline-flex; align-items: center; cursor: pointer; border-right: 1px solid var(--line); }
.segopt:last-child { border-right: 0; }
.segopt input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.segopt span { padding: .6rem 1rem; min-height: 46px; display: inline-flex; align-items: center; font-size: 1rem; color: var(--ink2); }
.segopt input:checked + span { background: var(--blue); color: #fff; }
.segopt input:focus-visible + span { box-shadow: inset 0 0 0 3px #d6e6f5; }
.pay-owed { font-size: 1.05rem; }
.pay-line { display: block; font-weight: 600; color: var(--green); }
.pay-line.owe { color: var(--amber); }
.lnotes { display: flex; flex-wrap: wrap; gap: .3rem; margin-top: .25rem; }
.lnote { border: 0; background: var(--line2); color: var(--ink2); border-radius: var(--r); padding: .2rem .5rem; font: inherit; font-size: .88rem; cursor: pointer; text-align: left; }
.lnote .nk { font-weight: 700; }
.lnote.add { background: none; color: var(--blue2); padding-left: 0; }
.chg { margin: .3rem 0 .8rem; padding-left: 1.2rem; }
.slip-instr { font-weight: 600; }
.chip.st-lost { background: var(--red-bg); color: var(--red); }
.check.inline { display: inline-flex; gap: .35rem; align-items: center; margin-left: .4rem; }
@media (max-width: 760px) {
  .addr-grid { grid-template-columns: 1fr; }
  .addr-cs { grid-template-columns: 1fr 70px 1fr; }
  .kind-pick { display: flex !important; } .kind-pick button { flex: 1; min-width: 0; }
  .ol-size { min-width: 0; flex: 1 1 150px; }
  .ol-ctl { width: 100%; justify-content: flex-end; }
  .call-actions .btn { width: 100%; }
}


.ev-tabrow { display: flex; align-items: flex-end; gap: .4rem; border-bottom: 1px solid var(--line); margin-bottom: 18px; }
.ev-tabrow .tabs { border-bottom: 0; margin-bottom: 0; flex: 1; min-width: 0; }
.ev-tabrow .menu-btn summary.btn { min-height: 40px; padding: .3rem .8rem; font-size: 1.2rem; margin-bottom: 4px; }
.menu-pop.right { left: auto; right: 0; }
.menu-pop button { display: block; width: 100%; text-align: left; padding: .6rem .8rem; border: 0; background: none; border-radius: var(--r); font: inherit; cursor: pointer; color: var(--ink); }
.menu-pop button:hover { background: var(--blue-bg); }
.menu-pop p { margin: .2rem .8rem .4rem; }
.price-more > summary { cursor: pointer; list-style: none; } .price-more > summary h2 { display: inline; font-size: 1.1rem; } .price-more > summary::-webkit-details-marker { display: none; }
.price-more > summary::before { content: '▸ '; color: var(--muted); } .price-more[open] > summary::before { content: '▾ '; }
.price-more #price-part .block { border: 0; padding: 12px 0 0; margin: 0; }
.et-row { margin-bottom: 1rem; } .et-row .checks { display: flex; flex-wrap: wrap; gap: .3rem 1.1rem; margin: .5rem 0; }
.tabs { -webkit-overflow-scrolling: touch; }
@media (max-width: 760px) { .tabs a { padding: .55rem .6rem; font-size: .95rem; } }

.sub-h { margin: 1.2rem 0 .5rem; font-size: 1.05rem; }
.quick-add select { width: auto; max-width: 11rem; }
.range-chips { margin: -.2rem 0 .6rem; }
.set-nav { overflow-x: auto; max-width: 100%; }
.venue-kind { margin-bottom: .5rem; }
#venue-hall select { margin-bottom: .3rem; }
.vend-group .vg-head { display: flex; align-items: center; justify-content: space-between; gap: .6rem; flex-wrap: wrap; }
.vend-group .vg-head h2 { margin: 0; }
.chip.ok { background: var(--green-bg, #e6f6f4); color: var(--green, #0e8f81); } .chip.warn { background: #fff4e5; color: #9a5b00; }
table.plan td small { display: block; }
table.plan select { max-width: 12rem; }
.big-check { font-weight: 600; margin-top: .6rem; display: inline-flex; gap: .4rem; align-items: center; }
.warn-text { color: #9a5b00; }
.src-chip { appearance: none; -webkit-appearance: none; border: 1px solid var(--line); border-radius: 999px; padding: .2rem .7rem; font-size: .85rem; background: #fff; color: var(--ink2); min-height: 32px; width: auto; max-width: 11rem; cursor: pointer; }
.src-chip.src-vendor { border-color: #b7d3f2; background: var(--blue-bg); color: var(--blue); }
.src-chip.src-stock { border-color: #bfe9e3; background: #e6f6f4; color: #0e8f81; }
.src-chip.changed { font-weight: 600; }
.ml-ctl select.src-chip, select.src-chip { width: auto !important; min-width: 0 !important; flex: 0 0 auto; display: inline-block; padding-right: .7rem; }
select.src-chip { width: 8.5rem !important; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; height: 30px !important; min-height: 30px !important; max-width: 10rem; line-height: 1; font-size: .82rem !important; padding: 0 .7rem !important; margin: 0 0 0 .4rem; vertical-align: middle; }
.ml-name select.src-chip { margin-left: .5rem; }
.mgroup { margin: .7rem 0 .2rem; font-size: .8rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--muted, #667085); }
.fulfil-row { display: flex; gap: 1rem; align-items: flex-end; flex-wrap: wrap; margin-bottom: .6rem; }
.fulfil-row > .field { margin: 0; } #time-slot .field { margin: 0; min-width: 11rem; }
.kb-hint { margin-top: .3rem; } @media (pointer: coarse) { .kb-hint { display: none; } }
@media print {
  .no-print, .top, .side, .dirty-bar, #toasts { display: none !important; }
  .print-page { background: #fff; padding: 0; } .doc { box-shadow: none; padding: 0; max-width: none; }
  body { background: #fff; }
}

/* responsive */
@media (max-width: 1100px) { .cols { grid-template-columns: 1fr; } .call-grid { grid-template-columns: 1fr; } .call-right { position: static; } }
@media (max-width: 860px) {
  .side { transform: translateX(-100%); width: 250px; transition: transform .2s; }
  .side span { opacity: 1; }
  .layout.mnav .side { transform: none; box-shadow: 4px 0 24px rgba(0,0,0,.2); }
  .main-col, .nav-open .main-col { margin-left: 0; }
  .mobile-only { display: inline-flex; }
  .side ul.bottom li:last-child { display: none; }
  .top { padding: 8px 12px; gap: .5rem; }
  .newcall span, .who-name { display: none; }
  .pad { padding: 16px 14px 96px; }
  .grid3, .grid4 { grid-template-columns: 1fr 1fr; }
  .set-layout { grid-template-columns: 1fr; } .set-nav { position: static; flex-direction: row; flex-wrap: wrap; }
  .cal-day { min-height: 76px; } .cal-ev { font-size: .7rem; } .cal-tag { display: none; } .cal-num .heb { font-size: .78rem; }
}
@media (max-width: 560px) {
  :root { font-size: 16px; }
  h1 { font-size: 1.35rem; }
  .grid2, .grid3, .grid4 { grid-template-columns: 1fr; }
  .row { grid-template-columns: 1fr; gap: .2rem; } .row .r-date { display: flex; gap: .5rem; align-items: baseline; } .row .r-side { justify-content: flex-start; }
  .ev-money { width: 100%; } .ev-money div { flex: 1; min-width: 0; padding: .5rem .6rem; }
  .ml-notes { grid-template-columns: 1fr; margin-left: 0; }
  .ml-ctl { width: 100%; }
  .meal-meta .field, .meal-meta .field:first-child { width: calc(50% - .3rem); }
  .doc { padding: 18px; } .p-head { flex-direction: column; align-items: flex-start; }
  .cal-grid { font-size: .8rem; } .cal-hd { font-size: .7rem; padding: .3rem .2rem; } .cal-day { padding: .15rem; min-height: 62px; }
  .cal-ev { padding: 1px 2px; border-left-width: 2px; }
  .dirty-bar { left: 12px; right: 12px; transform: none; justify-content: space-between; }
  .search { max-width: none; }
  .tabs a { padding: .6rem .7rem; }
  .match.found { flex-direction: column; }
  .modal { padding: 18px; }
}

.inv-opts { display: grid; gap: 10px; margin-bottom: 1rem; }
.inv-opt { border: 1px solid var(--line); border-radius: 8px; padding: .7rem .9rem; }
.inv-opt.on { border-color: var(--green); background: #f0faf8; }
.inv-opt small { display: block; color: var(--muted); }
.upload h3 { margin-top: .4rem; }

/* packing slip (Dov's layout) */
.slip { font-family: Arial, Helvetica, sans-serif; }
.slip-top { display: flex; align-items: center; gap: 24px; margin-bottom: 14px; }
.slip-top .p-logo { flex: 0 0 auto; }
.slip-titles { flex: 1; min-width: 0; display: flex; align-items: baseline; justify-content: space-between; gap: 16px; border-bottom: 2px solid #000; padding-bottom: 6px; }
.slip-no { white-space: nowrap; font-size: 15pt; }
.slip-no span { font-weight: 400; }
.slip-no b { font-size: 22pt; }
.slip-head td.slip-time { font-size: 13pt !important; font-weight: 700; color: #000; padding: 8px 10px; white-space: nowrap; }
.slip-top .p-logo { height: 64px; }
.slip-title { font-size: 26pt; font-weight: 700; white-space: nowrap; line-height: 1.1; }
.slip-inv td { border: 1px solid #000; padding: 4px 10px; font-size: 16px; }
.slip-head { margin-bottom: 12px; }
.slip-head th, .slip-head td { border: 1px solid #000; padding: 4px 8px; text-align: left; vertical-align: top; font-size: 14px; }
.slip-head th { background: #eee; font-weight: 700; }
.slip-head .w-ship { width: 42%; }
.slip-list th, .slip-list td { border: 1px solid #000; padding: 4px 8px; font-size: 15px; text-align: left; }
.slip-list th { background: #eee; }
.slip-list .q { width: 90px; text-align: center; }
.slip-note { color: #444; font-size: 13px; }
.slip-rev { font-weight: 700; }
.slip-foot { font-size: 12px; color: #555; margin-top: 12px; }
@media print { .slip-head th, .slip-list th { -webkit-print-color-adjust: exact; print-color-adjust: exact; } }
.login-err { background: var(--red-bg); color: var(--red); border-radius: var(--r); padding: .55rem .8rem; font-weight: 600; margin: .2rem 0 .6rem; }
.basis { display: block; color: var(--muted); font-size: .76rem; font-weight: 400; }
.hist td small { display: block; color: var(--muted); }
.hc-total { font-size: 1.4rem; padding-top: .35rem; }
.slip + .slip { page-break-before: always; break-before: page; margin-top: 40px; border-top: 2px dashed #bbb; padding-top: 24px; }
.slip-meal { font-weight: 400; font-size: 20px; }
@media print { .slip + .slip { border-top: 0; margin-top: 0; padding-top: 0; } }

/* ---------- Printables: US Letter portrait (Dov) ---------- */
@page { size: letter portrait; margin: 0.5in 0.5in 0.65in 0.5in;
  @bottom-right { content: "Page " counter(page) " of " counter(pages); font: 10px Arial, Helvetica, sans-serif; color: #444; } }
.pg-label { display: none; }
@media print {
  html, body { background: #fff !important; }
  .doc { width: auto; max-width: none; margin: 0; }
  thead { display: table-header-group; } tfoot { display: table-footer-group; }
  tr, li, .p-box, .slip-head, .p-facts { break-inside: avoid; page-break-inside: avoid; }
  h1, h2, h3 { break-after: avoid; page-break-after: avoid; }
  body.pg-fallback .doc { position: relative; }
  body.pg-fallback .pg-label { display: block; position: absolute; right: 0; font: 10px Arial, Helvetica, sans-serif; color: #444; }
}
body.print-measure .doc { width: 7.5in; max-width: 7.5in; padding: 0; box-shadow: none; }

/* readable printables (Dov): 12pt body, 14pt item lines with bold qty on kitchen sheet / packing slip, dark text */
@media print {
  .doc { font-size: 12pt; color: #000; line-height: 1.35; }
  .doc small, .doc .muted, .doc .p-foot, .doc .slip-foot { color: #222 !important; font-size: 10.5pt !important; }
  .doc table td, .doc table th { font-size: 12pt; color: #000; }
  .slip-list td { font-size: 14pt !important; padding-top: 3px; padding-bottom: 3px; }
  .slip-list td.q { font-weight: 700; }
  .slip-note { font-size: 11pt !important; color: #000 !important; }
}

/* brand (Dov's TABLE logo: navy letters, teal E) */
.brand-logo { height: 18px; width: auto; display: block; }
.login-word { height: 44px; width: auto; }
.p-table-mark { height: 12px; width: auto; opacity: .9; margin-left: auto; align-self: flex-start; }
.btn.green, .btn.teal { background: var(--teal); border-color: var(--teal); color: #fff; }

.top-mark { display: none; flex: none; width: 30px; height: 30px; } .top-mark img { width: 30px; height: 30px; display: block; }
@media (max-width: 860px) { .top-mark.mobile-only { display: block; } }
@media (max-width: 560px) { .quick-add { flex-wrap: wrap; } .quick-add input[name=title] { flex: 1 1 100%; } .quick-add select { flex: 1 1 auto; max-width: none; } }

/* To be discussed later (TBD) */
.h-tbd { display: flex; align-items: center; justify-content: space-between; gap: .6rem; flex-wrap: wrap; }
.h-tbd h2, .h-tbd h3 { margin-bottom: .4rem; }
.tbd-chip { font: inherit; font-size: .95rem; min-height: 40px; padding: .35rem .85rem; border-radius: 999px; border: 1px dashed #9aa6b5; background: #fff; color: var(--ink2); cursor: pointer; white-space: nowrap; }
.tbd-chip.small { min-height: 32px; font-size: .85rem; padding: .2rem .7rem; vertical-align: middle; }
.tbd-chip.on { border-style: solid; border-color: var(--amber); background: var(--amber-bg); color: var(--amber); font-weight: 600; }
.tbd-chip:disabled { opacity: .6; cursor: default; }
.field .tbd-chip { margin-top: .4rem; }
.tbd-note { background: var(--amber-bg); color: #5c3d00; border-radius: var(--r); padding: .6rem .8rem; margin: .3rem 0 .8rem; }
/* status pill */
.pill { display: inline-block; border-radius: 999px; padding: .15rem .7rem; font-size: .85rem; font-weight: 600; border: 1px solid transparent; white-space: nowrap; }
.pill.big { font-size: 1.05rem; padding: .3rem 1rem; }
.pill.p-est { background: #eef1f5; color: #3d4b5c; border-color: #d3d9e1; }
.pill.p-conf { background: var(--teal); color: #fff; }
.pill.p-done { background: #e6e9ee; color: #475467; }
.pill.p-lost { background: var(--red-bg); color: var(--red); }
.status-row { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; margin: .3rem 0 .4rem; }
.status-row .btn { min-height: 44px; }
.list-sub { margin: .9rem 0 .3rem; font-weight: 600; color: var(--muted); text-transform: uppercase; letter-spacing: .04em; font-size: .85rem; }

/* keyboard highlight in dropdowns */
.kb-on { outline: 2px solid var(--teal) !important; outline-offset: -2px; background: #e6f6f4 !important; }
.ires:hover:not(.kb-on), .pick-row:hover:not(.kb-on), .addr-sugg button:hover:not(.kb-on) { background: inherit; }

/* drag to reorder */
.drag-h { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 32px; min-height: 40px; margin: 0 .3rem 0 -.3rem; padding: 0; border: 0; background: transparent; color: #8a96a6; cursor: grab; touch-action: none; border-radius: 6px; vertical-align: middle; }
.drag-h:hover, .drag-h:focus-visible { color: var(--ink); background: var(--line2); }
.srow.dragging { opacity: .95; background: #e6f6f4 !important; box-shadow: 0 4px 16px rgba(15,34,54,.18); position: relative; z-index: 5; }
body.is-dragging, body.is-dragging * { cursor: grabbing !important; user-select: none; }
.ol-name { display: flex; align-items: center; gap: .2rem; }
.row-more { display: inline-block; }
.row-more > summary { min-width: 36px; min-height: 36px; display: inline-flex; align-items: center; justify-content: center; border-radius: 6px; cursor: pointer; font-size: 1.2rem; color: var(--ink2); }
.row-more .menu-pop button { display: block; width: 100%; text-align: left; }
input.ins-mode { border-color: var(--teal); box-shadow: 0 0 0 2px #b5e2dc; }
.row-more .menu-pop { top: 40px; }

/* View as */
.viewas-sel { width: auto; max-width: 12rem; min-height: 40px; font-size: .95rem; }
.viewas-bar { position: sticky; top: 62px; z-index: 19; display: flex; align-items: center; justify-content: space-between; gap: .8rem; flex-wrap: wrap; background: #fff4dc; border-bottom: 2px solid #d9a43a; color: #5c3d00; padding: 8px 24px; font-size: 1.05rem; }
@media (max-width: 860px) { .viewas-sel { max-width: 7.5rem; } .viewas-bar { padding: 8px 12px; top: 54px; } }

.viewas-side { display: none; padding: 6px 10px; } .viewas-side .viewas-sel { width: 100%; max-width: none; }
@media (max-width: 860px) { .viewas-top { display: none; } .layout.mnav .viewas-side { display: block; } }
.p-order th { text-align: left; } .p-order th.num { text-align: right; } .p-order td:nth-child(2) { white-space: nowrap; }

/* ---------- Every printable is US Letter 8.5×11 (Dov, 2026-10-21). Content is laid out at exactly 7.5in so nothing gets scaled. ---------- */
@page { size: 8.5in 11in; margin: 0.5in; }
@media print {
  html, body, #app, .print-page, .layout, .main-col, main { width: auto !important; min-width: 0 !important; max-width: none !important; margin: 0 !important; padding: 0 !important; background: #fff !important; transform: none !important; zoom: 1 !important; }
  .doc { width: 7.5in !important; max-width: 7.5in !important; min-width: 0 !important; margin: 0 !important; padding: 0 !important; box-sizing: border-box; box-shadow: none !important; }
  .doc table { width: 100% !important; max-width: 100%; }
  .doc img { max-width: 100%; }
  .slip-title { white-space: nowrap; }
  .print-bar { display: none !important; }
}
/* REVISED ORDER box (Dov): yellow, thick dark border, prints in color, reads in black-and-white too */
.revised-box { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; background: #FFE45C; border: 4px solid #1b1b1b; padding: 10px 16px; margin: 10px 0 14px; color: #000; -webkit-print-color-adjust: exact; print-color-adjust: exact; break-inside: avoid; page-break-inside: avoid; }
.revised-box b { font-size: 26px; font-weight: 900; letter-spacing: .06em; }
.revised-box span { font-size: 15px; font-weight: 700; }
@media print { .revised-box b { font-size: 22pt !important; } .revised-box span { font-size: 12pt !important; } }

/* vendors ↔ items */
.vbox-list li.vbox-row { display: flex; align-items: center; justify-content: space-between; gap: .6rem; flex-wrap: wrap; padding: .45rem 0; border-bottom: 1px solid var(--line2); }
.vbox-list li.vbox-row:last-child { border-bottom: 0; } .vbox-row.done .vbox-name { color: var(--ink2); }
.vbox-row .btn-row { display: flex; align-items: center; gap: .4rem; flex-wrap: wrap; }
.bulk-bar { position: sticky; top: 62px; z-index: 6; display: flex; gap: .6rem; align-items: center; flex-wrap: wrap; background: #e6f6f4; border: 1px solid #b5e2dc; border-radius: 8px; padding: .5rem .8rem; margin: .5rem 0; }
.bulk-bar select { width: auto; max-width: 20rem; }
.block-sub { margin: .4rem 0 .8rem; } .block-sub > summary { cursor: pointer; padding: .35rem 0; }
.vi-vendor { border-top: 1px solid var(--line2); padding: .5rem 0; } .vi-vendor > summary { cursor: pointer; padding: .3rem 0; }
.vi-list li { display: flex; justify-content: space-between; align-items: center; gap: .5rem; padding: .2rem 0; border-bottom: 1px dashed var(--line2); }

/* account menu (View as lives here) */
.who.menu-btn { position: relative; margin-left: auto; }
.who-sum { list-style: none; display: inline-flex; align-items: center; gap: .45rem; cursor: pointer; min-height: 44px; padding: 0 .5rem; border-radius: 8px; color: var(--ink2); }
.who-sum::-webkit-details-marker { display: none; } .who-sum:hover { background: var(--line2); }
.who-av { width: 30px; height: 30px; border-radius: 50%; background: #0F2236; color: #fff; display: inline-flex; align-items: center; justify-content: center; font-weight: 700; font-size: .9rem; }
.who .menu-pop { top: 48px; min-width: 220px; }
.mp-h { margin: .3rem .8rem .1rem; font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); }
/* event header (Dov: calm, one primary action) */
.eh2 { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem 2rem; flex-wrap: wrap; margin-bottom: .6rem; }
.eh2 .eh-main { min-width: 0; flex: 1 1 520px; }
.eh-l1 { display: flex; align-items: center; gap: .7rem; flex-wrap: wrap; }
.eh-l1 h1 { margin: 0; font-size: 1.6rem; }
.eh-info { margin: .35rem 0 0; color: var(--ink2); display: flex; flex-wrap: wrap; gap: .1rem .45rem; align-items: baseline; }
.eh-info .sep { color: #b3bcc8; }
.eh-side { display: flex; align-items: center; gap: .8rem; flex-wrap: wrap; justify-content: flex-end; }
.eh-money { margin: 0; display: flex; gap: 1rem; color: var(--ink2); font-size: .95rem; white-space: nowrap; flex-wrap: wrap; }
.eh-money b { color: var(--ink); } .eh-money .owe b { color: #b42318; }
.save-state { font-size: .9rem; color: var(--muted); } .save-state.ok { color: #0f7a6c; } .save-state.err { color: #b42318; font-weight: 600; }
.more-btn .menu-pop { min-width: 240px; } .menu-pop .danger-txt { color: #b42318; }
.add-section { display: flex; gap: .6rem; align-items: center; flex-wrap: wrap; margin: 1rem 0 2rem; }
.add-section .menu-pop { top: auto; bottom: 48px; }
.est-btns { margin: .4rem 0; }
.ok-btn { border-color: #14B1A0 !important; color: #0f7a6c !important; background: #e6f6f4 !important; }
@media (max-width: 860px) { .eh-l1 h1 { font-size: 1.3rem; } .eh-side { justify-content: flex-start; width: 100%; } }

/* Deliveries */
.top-title { font-size: 1.2rem; margin: 0 .5rem; }
.dgroup { margin: 1.2rem 0 .6rem; font-size: 1.15rem; }
.dcard h2 { margin: .2rem 0 .3rem; font-size: 1.25rem; }
.dc-top { display: flex; gap: .6rem; align-items: center; flex-wrap: wrap; }
.dc-time { font-size: 1.3rem; font-weight: 800; color: #0F2236; }
.dc-addr { display: flex; gap: .5rem; align-items: center; flex-wrap: wrap; }
.dc-inst { background: #fff8e1; border-left: 3px solid #d9a43a; padding: .35rem .6rem; }
.dc-items > summary { cursor: pointer; font-weight: 600; padding: .3rem 0; }

.slot-list { max-height: 50vh; overflow: auto; border: 1px solid var(--line); border-radius: 8px; padding: .3rem .6rem; margin: .5rem 0; }
.slot-it { display: flex; padding: .35rem 0; } .slot-f { margin-top: .3rem; }
.need-btn { border-color: #b42318 !important; color: #b42318 !important; background: #fdecea !important; font-weight: 700; }

.addr-list li { display: flex; justify-content: space-between; align-items: flex-start; gap: .6rem; padding: .55rem 0; border-bottom: 1px solid var(--line2); }
.imp-map { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 0 1rem; }
.radio-row { display: flex; gap: 1.2rem; flex-wrap: wrap; }
@media (max-width: 560px) { #cu-t th:nth-child(3), #cu-t td:nth-child(3), #cu-t th:nth-child(4), #cu-t td:nth-child(4) { display: none; } }

/* vendor delivery: direct / → store (Dov) */
.tag.to-direct { background: #eef3f8; color: #0F2236; border: 1px solid #c9d6e3; }
.tag.to-store { background: #e3f6f3; color: #0b6f64; border: 1px solid #14B1A0; font-weight: 700; }
button.to-chip { cursor: pointer; font: inherit; font-size: 13px; padding: 2px 8px; border-radius: 999px; margin-left: 6px; }
button.to-chip:disabled { cursor: default; }
.vbox-row { padding: 12px 0; border-bottom: 1px solid #e3e8ee; }
.vbox-row:last-child { border-bottom: 0; }
.vbox-top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.vbox-items { margin: 8px 0; font-size: 16px; }
.vbox-items li { padding: 3px 0; }
.vbox-bottom { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; }
.seg.small button { font-size: 14px; padding: 6px 10px; min-height: 36px; }
.store-box { margin-top: 12px; padding: 10px 12px; border: 2px solid #14B1A0; border-radius: 8px; background: #f2fbfa; }
.store-box h3 { margin: 0 0 6px; font-size: 17px; color: #0F2236; }
.slip-sub { color: #000 !important; text-transform: none !important; letter-spacing: 0 !important; font-size: 14pt !important; margin: 14px 0 6px; font-family: Arial, Helvetica, sans-serif; }
.slip-store .w-vendor { width: 28%; }

.vbox-notice { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 16px; align-items: center; padding: 10px 12px; margin: 8px 0; border-radius: 8px; border: 2px solid #d9a400; background: #fff8e1; }
.vbox-notice.cancel { border-color: #c62828; background: #fdecea; }
.lock-row { border-bottom: 1px solid #e3e8ee; padding-bottom: 8px; margin-bottom: 8px; }
.lock-row ul { margin: 4px 0 6px 18px; }

/* served to + math (Dov template redesign) */
.ml-math { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; padding: 2px 0 6px 34px; font-size: 14px; }
.served-lab { color: #5b6b7c; font-size: 13px; }
.served-chips { display: inline-flex; gap: 4px; }
button.served, button.gpick { font: inherit; font-size: 13px; padding: 3px 9px; border-radius: 999px; border: 1px solid #c4ccd6; background: #fff; color: #5b6b7c; cursor: pointer; min-height: 30px; }
button.served.on, button.gpick.on { background: #0F2236; border-color: #0F2236; color: #fff; }
button.served:disabled, button.gpick:disabled { cursor: default; }
.ml-math .math { color: #0F2236; font-weight: 600; font-variant-numeric: tabular-nums; }
.grp-picks { display: inline-flex; gap: 4px; margin-right: 6px; }
.ovr-in { width: 64px; text-align: center; }
.ovr-in.set { border-color: #d9a400; background: #fff8e1; font-weight: 700; }
.upg-tick { margin-right: 6px; }
.scope-seg { margin-left: 8px; vertical-align: middle; }

/* settings at phone width: the grid column may not grow past the screen (tables scroll inside .table-wrap) */
.set-layout { grid-template-columns: 220px minmax(0, 1fr); }
.set-body, .set-nav { min-width: 0; }
@media (max-width: 860px) { .set-layout { grid-template-columns: minmax(0, 1fr); } }

/* Orders list (Oct 21) */
.page-orders .orow .r-main b { display: inline; }
.page-orders .o-cust { font-weight: 600; margin-left: .35rem; }
.o-side { flex-direction: column; align-items: flex-end !important; gap: .25rem !important; }
.o-money { display: flex; flex-direction: column; align-items: flex-end; gap: .15rem; }
.o-money b { font-size: 1.05rem; }
.paytag { font-size: .8rem; font-weight: 700; padding: .08rem .5rem; border-radius: 999px; white-space: nowrap; }
.paytag.paid { background: var(--green-bg); color: var(--green); }
.paytag.unpaid { background: var(--red-bg); color: var(--red); }
.paytag.part { background: var(--amber-bg); color: var(--amber); }
.chip.o-st { background: #eef2f6; color: #0F2236; }
.chip.st-sent { background: #0F2236; color: #fff; }
.neworder { background: #fff; border-color: var(--teal); color: #0F2236; }
@media (max-width: 760px) {
  .page-orders .orow { grid-template-columns: 1fr auto; }
  .page-orders .orow .r-date { grid-column: 1 / -1; }
  .page-orders .o-side { grid-row: 2; grid-column: 2; justify-content: flex-start; }
  .page-orders .filters { flex-wrap: wrap; }
}

.changed-box.rev-box { background: #fff4dc; border: 2px solid #e0b000; color: #3d2a00; }
.changed-box.rev-box ul { margin: .4rem 0 .6rem 1.1rem; padding: 0; } .changed-box.rev-box li { margin: .25rem 0; font-size: 1.05rem; }
.chip.st-rev { background: #fff4dc; color: #8a5a00; border-color: #e0b000; }

.page-orders .filters .seg { display: flex; width: 100%; max-width: 520px; }
.page-orders .filters .seg a { flex: 1; text-align: center; padding-left: .35rem; padding-right: .35rem; white-space: nowrap; }



/* One-page order (Oct 21) */
.attn-mini { padding-top: .6rem; padding-bottom: .6rem; } .attn-mini .attn { margin: 0; }
.ord-pay .pay-list li { padding: .25rem 0; border-top: 1px solid var(--line2); display: flex; justify-content: space-between; gap: .5rem; }
.msg-more > summary { cursor: pointer; font-weight: 600; color: #0F2236; padding: .4rem 0; }

/* Customer picker (Oct 21): clean vertical list, full-height sheet on phones */
.modal-hd { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin-bottom: .6rem; } .modal-hd h2 { margin: 0; }
.modal-x { border: 0; background: none; font-size: 1.9rem; line-height: 1; width: 44px; height: 44px; color: #0F2236; cursor: pointer; border-radius: 8px; }
.modal-x:hover { background: #f1f4f7; }
.cpick-q { width: 100%; font-size: 1rem; }
.cpick { margin-top: .6rem; max-height: calc(8 * 60px); overflow-y: auto; border-top: 1px solid var(--line2); }
.cpick-row { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; width: 100%; min-height: 58px; padding: .55rem .4rem; background: #fff; border: 0; border-bottom: 1px solid var(--line2); border-radius: 0; text-align: left; cursor: pointer; color: #0F2236; }
.cpick-row:hover, .cpick-row:focus-visible { background: #f4fbfa; }
.cpick-row b { font-size: 16px; font-weight: 700; } .cpick-row small { font-size: 14px; color: var(--muted); margin-top: .1rem; }
.cpick-new { color: var(--teal); font-weight: 700; font-size: 16px; flex-direction: row; gap: .35rem; align-items: center; justify-content: flex-start; }
.cpick-new span { color: var(--muted); font-weight: 500; }
@media (max-width: 560px) {
  .modal-wrap.sheet { padding: 0; align-items: stretch; }
  .modal-wrap.sheet .modal { max-width: none; min-height: 100%; border-radius: 0; padding: 14px 16px; }
  .modal-wrap.sheet .cpick { max-height: none; }
}
/* the same list style where New Call matches a phone */
.match.picklist .pick-row { border: 0 !important; border-bottom: 1px solid var(--line2) !important; border-radius: 0 !important; min-height: 56px; padding: .5rem .4rem; }
.match.picklist .pick-row b { font-size: 16px; } .match.picklist .pick-row small { font-size: 14px; }

.q-ord { color: #667085; font-weight: 500; white-space: nowrap; }

.tp-fee { background: #eef8f7; border-left: 3px solid var(--teal); padding: .45rem .6rem; color: #0F2236; }
.fee-set { display: flex; align-items: center; gap: .4rem; flex-wrap: wrap; } .fee-set input { width: 6.5rem; }

/* Vendor status (Dov): red = not ordered, green = ordered, amber = update needed. Used only for these states. */
.vs-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 1.2rem; border-radius: 10px; border: 0; font-weight: 700; font-size: 1rem; cursor: pointer; }
.vs-btn.vs-open { background: #D92D20; color: #fff; }
.vs-btn.vs-ok { background: #E7F6EC; color: #067647; border: 1px solid #A6E0BC; font-weight: 600; }
.vs-btn.vs-upd { background: #F79009; color: #1d1300; }
.vs-btn:disabled { opacity: .6; cursor: default; }
.vbox-bottom { display: flex; align-items: center; gap: .8rem; flex-wrap: wrap; margin-top: .5rem; }
.vs-sub { font-size: .9rem; color: #667085; }
.vbox-zero { color: #B42318; font-weight: 600; }
.vs-why { color: #B54708; margin: .3rem 0 0; }
.vs-chip { display: inline-block; padding: .15rem .55rem; border-radius: 999px; font-size: .8rem; font-weight: 600; vertical-align: middle; }
.vs-chip.vs-ok { background: #E7F6EC; color: #067647; } .vs-chip.vs-open { background: #FEE4E2; color: #B42318; } .vs-chip.vs-upd { background: #FEF0C7; color: #93370D; }
.vs-msg pre { white-space: pre-wrap; font: inherit; font-size: .9rem; background: #f6f8fa; border-radius: 8px; padding: .6rem; max-height: 40vh; overflow: auto; }
@media (max-width: 560px) { .vs-btn { width: 100%; } .vbox-bottom { flex-direction: column; align-items: stretch; } .vs-sub { text-align: center; } }

/* toasts: one small pill at the bottom centre, never over the header buttons */
#toasts { top: auto !important; right: auto !important; left: 50% !important; transform: translateX(-50%); bottom: calc(18px + env(safe-area-inset-bottom)); max-width: min(92vw, 420px); pointer-events: none; }
#toasts .toast { font-size: .88rem; padding: .5rem .9rem; border-radius: 999px; box-shadow: 0 2px 10px rgba(15,34,54,.18); }

.tf-ampm.empty { visibility: hidden; }

/* Loading: Dov's three teal lines, drawn in sequence. Only shown after 300 ms. */
.ld { display: inline-flex; color: #14B1A0; vertical-align: middle; }
.ld svg { height: 1em; width: auto; overflow: visible; }
.ld path { stroke-dasharray: 1; stroke-dashoffset: 1; animation: ldraw 2s ease-in-out infinite; }
.ld .l2 { animation-delay: .2s; } .ld .l3 { animation-delay: .4s; }
@keyframes ldraw { 0% { stroke-dashoffset: 1; opacity: 1; } 25% { stroke-dashoffset: 0; } 78% { stroke-dashoffset: 0; opacity: 1; } 92% { stroke-dashoffset: 0; opacity: 0; } 100% { stroke-dashoffset: 1; opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .ld path { animation: none; stroke-dashoffset: 0; } }
.ld-sm svg { height: 14px; } .ld-lg svg { height: 56px; }
.ld-btn { margin-right: .4rem; } .btn.primary .ld-btn, .btn.green .ld-btn { color: #fff; }
.ld-wrap { display: flex; align-items: center; justify-content: center; min-height: 40vh; opacity: 0; animation: ldshow .2s ease-out .3s forwards; }
@keyframes ldshow { to { opacity: 1; } }
#sync-ld { position: fixed; right: 14px; bottom: 14px; z-index: 900; background: #fff; border: 1px solid var(--line2); border-radius: 999px; width: 34px; height: 34px; display: flex; align-items: center; justify-content: center; box-shadow: 0 1px 4px rgba(15,34,54,.12); }
#sync-ld[hidden] { display: none; }
body.has-menu-bar #sync-ld { bottom: 84px; }
.save-state .ld { margin-right: .3rem; }
/* "Update menu" bar (events): full-width sticky bar on phone/tablet; pinned bar at the bottom of the screen on desktop */
.menu-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 800; display: flex; align-items: center; gap: .75rem; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: #0F2236; color: #fff; box-shadow: 0 -2px 10px rgba(15,34,54,.18); }
.menu-bar[hidden] { display: none; }
.menu-bar .mb-count { font-weight: 600; flex: 1; }
.menu-bar .mb-discard { color: #cfe3ef; text-decoration: underline; background: none; border: 0; font-size: .95rem; }
.menu-bar .btn.primary { background: #14B1A0; border-color: #14B1A0; color: #fff; min-height: 46px; padding: 0 1.4rem; font-size: 1.02rem; }
body.has-menu-bar .main { padding-bottom: 90px; }
@media (min-width: 861px) { .menu-bar { left: var(--side); justify-content: flex-end; } .menu-bar .mb-count { flex: 0 1 auto; margin-right: auto; } }

/* autosave forms: no Save button */
form[data-submit="s:biz"] [type=submit],
form[data-submit="r:save"] [type=submit],
form[data-submit="pk:save"] [type=submit],
form[data-submit="et:save"] [type=submit],
form[data-submit="tp:save"] [type=submit],
form[data-submit="ka:save"] [type=submit],
form[data-submit="cal:save"] [type=submit],
form[data-submit="ag:save"] [type=submit],
form[data-submit="m:save"] [type=submit],
form[data-submit="l:save"] [type=submit],
form[data-submit="cust:save"] [type=submit] { display: none !important; }
.save-state.auto { margin-left: .7rem; font-size: .85rem; font-weight: 500; vertical-align: middle; color: #667085; }
.save-state.ok { color: #0d8a7d; } .save-state.err { color: #b42318; }

form[data-submit="em:save"] [type=submit] { display: none !important; }
.em-row { display: grid; grid-template-columns: 1.2fr 1fr 1.4fr auto; gap: .6rem; align-items: end; padding: .5rem 0; border-bottom: 1px solid var(--line2); }
@media (max-width: 560px) { .em-row { grid-template-columns: 1fr auto; } .em-row .field:nth-of-type(2), .em-row .field:nth-of-type(3) { grid-column: 1 / 2; } }
.vbox-bottom .vs-btn { flex: 0 0 auto; } @media (max-width: 560px) { .vbox-bottom .vs-btn { width: 100%; } }

.dirty-bar.menu-bar { left: 0; right: 0; transform: none; bottom: 0; border-radius: 0; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); z-index: 800; }
@media (min-width: 861px) { .dirty-bar.menu-bar { left: var(--side); padding-left: 28px; padding-right: 28px; } }
.dirty-bar.menu-bar[hidden] { display: none; }

/* Desktop: the sidebar is always open and the page starts to its right (it never covers the content) */
@media (min-width: 861px) {
  .side, .side:hover { width: var(--side-open); box-shadow: none; }
  .side span { opacity: 1; }
  .main-col, .nav-open .main-col { margin-left: var(--side-open); }
  .dirty-bar.menu-bar { left: var(--side-open); }
}

.brand-icon.brand-lines { width: 26px; height: 34px; object-fit: contain; border-radius: 0; }

/* Staff box */
.sbox .sb-lab small { display: block; color: #667085; font-size: .82rem; }

/* To-do: one input, one list */
.todo-add { display: flex; gap: .5rem; align-items: center; margin: .3rem 0 .6rem; }
.todo-add input[name=title] { flex: 1; min-height: 46px; font-size: 1rem; }
.todo-for { border: 1px solid var(--line2); background: #f6f8fa; border-radius: 999px; padding: .35rem .7rem; font-size: .88rem; max-width: 40%; color: #0F2236; }
.todo-row { display: flex; align-items: flex-start; gap: .7rem; padding: .6rem 0; border-bottom: 1px solid var(--line2); }
.todo-row .tick { flex: none; width: 26px; height: 26px; border: 2px solid #9aa4b2; border-radius: 6px; background: #fff; color: #14B1A0; font-weight: 700; cursor: pointer; margin-top: 1px; }
.todo-t { flex: 1; color: #0F2236; text-decoration: none; } .todo-t small { display: block; color: #667085; font-size: .84rem; margin-top: .1rem; }
.todo-row.late .todo-t small { color: #B42318; } .todo-row.done .todo-t { color: #98a2b3; text-decoration: line-through; }
.sr-only { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; padding: 0; margin: -1px; }
#toasts .toast.undo { pointer-events: auto; } #toasts .toast.undo button { background: none; border: 0; color: #14B1A0; font-weight: 700; margin-left: .4rem; cursor: pointer; }

.todo-add .todo-for { flex: 0 0 auto; width: auto; max-width: 46%; }

.nav-l { display: inline-flex; flex-direction: column; line-height: 1.15; } .nav-sub { font-size: .72rem; color: #8a94a3; font-weight: 400; }
.h-sub { font-size: .6em; font-weight: 500; color: #667085; }
.job-tag { display: inline-block; font-size: .7rem; font-weight: 700; padding: .05rem .4rem; border-radius: 4px; vertical-align: 1px; letter-spacing: .02em; }
.jt-order { background: #E6F6F4; color: #0d8a7d; } .jt-event { background: #E8EDF3; color: #0F2236; }
h1, h2, section.block { scroll-margin-top: 76px; }

/* ===== Calm event / order page (Oct 21) ===== */
.page-event.calm .block { margin-bottom: 16px; }
.calm-sec, .ch-card, [id^="sec-"] { scroll-margin-top: 84px; }
.ch-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px 24px; flex-wrap: wrap; margin-bottom: 14px; }
.ch-title { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; min-width: 0; flex: 1 1 420px; }
.ch-title h1 { margin: 0; font-size: 1.65rem; line-height: 1.2; }
.ch-type { background: #eef1f5; color: #44546a; font-size: .8rem; }
.ch-side { display: flex; align-items: flex-start; gap: 18px; }
.ch-money { display: flex; gap: 22px; text-align: right; }
.ch-f { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.ch-lbl { font-size: .74rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #6b7a8c; }
.ch-v { font-size: 1.1rem; font-weight: 700; color: #0F2236; overflow-wrap: anywhere; }
.ch-v a { color: #0F2236; text-decoration: none; border-bottom: 1px solid #c9d2dc; }
.ch-sub { font-size: .88rem; color: #6b7a8c; }
.ch-sub.ok { color: var(--green); font-weight: 600; } .ch-sub.warn { color: var(--red); font-weight: 600; }
.ch-money .owe .ch-v, .pay-grid .owe .ch-v { color: #b42318; }
.ch-final { font-size: .72rem; font-weight: 700; color: #fff; background: var(--teal); border-radius: 999px; padding: 1px 7px; vertical-align: middle; }
.ch-card { position: relative; padding: 16px 20px; }
.ch-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px 20px; padding-right: 56px; }
.ch-edit { position: absolute; top: 14px; right: 18px; font-weight: 600; }
.ch-editform { border-top: 1px solid var(--line2); margin-top: 14px; padding-top: 14px; }
.ch-card .notice, .ch-card .warn { margin: 12px 0 0; }
.sub-back { display: flex; gap: 14px; align-items: baseline; margin: 0 0 12px; }
.calm-sec > h2, .sec-hd h2 { margin: 0 0 10px; font-size: 1.25rem; }
.sec-hd { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 8px; }
.sec-hd h2 { margin: 0; }
.sec-act { display: flex; align-items: center; gap: 6px; }
.calm-sec .meal { border: 0; padding: 0; margin: 0 0 6px; box-shadow: none; }
.calm-sec .meal-hd h2 { font-size: 1.05rem; color: #44546a; }
.hc-row { display: flex; align-items: flex-end; gap: 10px 16px; flex-wrap: wrap; }
.hc-cell, .tm-cell { display: flex; flex-direction: column; gap: 3px; font-size: .85rem; color: #6b7a8c; font-weight: 600; }
.hc-cell .hc-in { width: 84px; font-size: 1.15rem; font-weight: 700; text-align: center; padding: 8px 6px; }
.hc-eq { font-size: 1.15rem; padding-bottom: 10px; } .hc-eq b { font-size: 1.35rem; }
.hc-final { padding-bottom: 10px; font-weight: 700; }
.hc-row .small-link { padding-bottom: 12px; }
.hc-more { margin-top: 10px; }
.hc-reason { margin-top: 10px; max-width: 520px; }
.tm-row { display: flex; gap: 10px 16px; flex-wrap: wrap; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--line2); }
.sb-rows { display: flex; flex-direction: column; }
.sb-row { display: flex; align-items: center; gap: 8px 12px; flex-wrap: wrap; padding: 8px 0; border-bottom: 1px solid var(--line2); }
.sb-row:last-child { border-bottom: 0; }
.sb-lab { font-weight: 700; width: 150px; }
.sb-row .sb-qty { width: 70px; text-align: center; font-weight: 700; font-size: 1.05rem; }
.sb-at { color: #6b7a8c; }
.sb-price { font-weight: 700; min-width: 70px; }
.sb-sug { color: #6b7a8c; font-size: .9rem; }
.sb-row.zero .sb-lab { color: #6b7a8c; font-weight: 600; }
.dots summary { list-style: none; cursor: pointer; width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; border-radius: 10px; font-size: 1.4rem; color: #44546a; border: 1px solid var(--line); background: #fff; }
.dots summary::-webkit-details-marker { display: none; }
.vb-list { margin: 0; }
.vb-row { display: grid; grid-template-columns: minmax(150px, 220px) minmax(0, 1fr) 230px 44px; gap: 8px 16px; align-items: start; padding: 12px 0; border-bottom: 1px solid var(--line2); }
.vb-row:last-child { border-bottom: 0; }
.vb-name { display: flex; flex-direction: column; gap: 4px; align-items: flex-start; }
.vb-name b { font-size: 1.05rem; }
.vb-to { font-size: .85rem; padding: 2px 6px; min-height: 30px; width: auto; color: #44546a; border-color: var(--line); }
.vb-items ul { margin: 0; } .vb-items li { padding: 2px 0; }
.vb-items .vbox-zero, .vb-items .vs-why { margin: 4px 0 0; font-size: .9rem; }
.vb-btn .vs-btn { width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pay-grid { display: flex; gap: 28px; flex-wrap: wrap; margin-bottom: 12px; }
.pay-add { margin: 10px 0; } .pay-add > summary { list-style: none; display: inline-flex; } .pay-add > summary::-webkit-details-marker { display: none; }
.pay-add[open] > summary { margin-bottom: 10px; }
.pay-links { gap: 18px; }
.price-more > summary { cursor: pointer; font-weight: 600; color: #44546a; padding: 8px 0; }
.notes-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 20px; align-items: start; }
.note-add { justify-self: start; }
.seg.compact { display: inline-flex !important; width: auto !important; }
.meal.ordm .meal-hd { display: none; }
.meal.ordm .msec > h3 { font-size: 1.2rem; margin-top: 0; }
.addr-links { display: flex; gap: 16px; flex-wrap: wrap; align-items: center; }
@media (max-width: 1100px) { .vb-row { grid-template-columns: minmax(130px, 180px) minmax(0, 1fr) 200px 44px; } }
@media (max-width: 860px) {
  .ch-title h1 { font-size: 1.3rem; }
  .ch-side { width: 100%; justify-content: space-between; }
  .ch-money { text-align: left; gap: 18px; }
  .ch-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); padding-right: 0; }
  .ch-card { padding-top: 40px; }
  .ch-edit { top: 10px; }
  .notes-2 { grid-template-columns: 1fr; }
  .vb-row { grid-template-columns: minmax(0, 1fr) 44px; grid-template-areas: "name more" "items items" "btn btn"; }
  .vb-name { grid-area: name; flex-direction: row; align-items: center; gap: 10px; flex-wrap: wrap; } .vb-more { grid-area: more; } .vb-items { grid-area: items; } .vb-btn { grid-area: btn; }
  .sb-lab { width: 120px; }
}
@media (max-width: 560px) { .ch-v { font-size: 1rem; } .hc-cell .hc-in { width: 66px; } .tm-row { display: grid; grid-template-columns: 1fr 1fr; } }

.calm-sec .mline.exc .lnote.add, .calm-sec .mline.exc .ml-math { display: none; }
.calm-sec .meal.single .meal-hd { display: none; }
.vb-items li { border: 0 !important; }
.sb-row .qty { flex: none; margin: 0; }
@media (max-width: 560px) { .sb-lab { width: 92px; } .sb-at { display: none; } }

/* One-piece time / date control (Dov, Oct 21): the icon sits inside the box's right edge, one border, no gap, ~160px */
.tfield { display: inline-flex; align-items: stretch; width: 160px; max-width: 100%; border: 1px solid #c4ccd6; border-radius: var(--r); background: #fff; overflow: hidden; vertical-align: middle; }
.tfield.tf-date { width: 180px; }
.tfield:focus-within { border-color: var(--teal); box-shadow: 0 0 0 2px #b5e2dc; }
.tfield .tf-text { border: 0 !important; border-radius: 0; box-shadow: none !important; min-height: 46px; padding: 0 2px 0 12px; background: transparent; outline: none; }
.tfield .tf-ampm { border: 0; min-width: 0; padding: 0 6px; background: transparent; color: var(--ink2); font-size: .95rem; }
.tfield .tf-ampm.empty { display: none; }
.tfield .tf-pick { border: 0; width: 38px; background: transparent; border-radius: 0; }
.tfield.bad { border-color: var(--red); background: var(--red-bg); }
.tfield.off { background: #f5f6f8; }
.tfield.off .tf-pick, .tfield.off .tf-ampm { background: transparent; }

/* Check calendar popover */
.cal-link { margin-left: 10px; font-size: .9rem; font-weight: 600; }
.cal-pop { position: fixed; inset: 0; z-index: 90; background: rgba(15,34,54,.35); display: flex; align-items: center; justify-content: center; padding: 16px; }
.cp-box { background: #fff; border-radius: 12px; padding: 14px; width: min(560px, 100%); max-height: 92vh; overflow: auto; box-shadow: 0 10px 40px rgba(15,34,54,.25); }
.cp-hd { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; } .cp-hd b { flex: 1; text-align: center; font-size: 1.15rem; }
.cp-nav, .cp-x { width: 44px; height: 44px; border: 1px solid var(--line); background: #fff; border-radius: 10px; font-size: 1.3rem; cursor: pointer; color: #0F2236; }
.cp-legend { margin: 0 0 8px; font-size: .9rem; color: #44546a; } .cp-dot { display: inline-block; width: 12px; height: 12px; border-radius: 3px; background: #fdecea; border: 1px solid #b42318; vertical-align: middle; }
.cp-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
.cp-w { text-align: center; font-size: .78rem; font-weight: 700; color: #6b7a8c; padding: 4px 0; }
.cp-d { min-height: 64px; border: 1px solid var(--line2); border-radius: 8px; background: #fff; display: flex; flex-direction: column; align-items: flex-start; gap: 2px; padding: 4px 5px; text-align: left; cursor: pointer; font: inherit; overflow: hidden; }
.cp-d b { font-size: .95rem; color: #0F2236; } .cp-d small { font-size: .7rem; color: #44546a; line-height: 1.15; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cp-d.cp-empty { border: 0; background: transparent; cursor: default; }
.cp-d.cp-taken { background: #fdecea; border-color: #b42318; } .cp-d.cp-taken b { color: #b42318; }
.cp-d.cp-sel { outline: 2px solid var(--teal); outline-offset: -2px; } .cp-d.cp-today b { text-decoration: underline; }
@media (max-width: 560px) { .cal-pop { align-items: flex-end; padding: 0; } .cp-box { width: 100%; border-radius: 14px 14px 0 0; } .cp-d { min-height: 54px; padding: 3px; } .cp-d small.cp-h { display: none; } }

/* Tasks board (Trello) */
.kb-page .page-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.kb { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: start; }
.kb-col { background: #f3f5f8; border-radius: 12px; padding: 12px; min-height: 160px; transition: background .15s; }
.kb-col.over { background: #e6f6f4; outline: 2px dashed var(--teal); outline-offset: -4px; }
.kb-col h2 { font-size: 1.05rem; margin: 2px 4px 10px; display: flex; align-items: center; gap: 8px; }
.kb-n { font-size: .8rem; font-weight: 700; color: #44546a; background: #fff; border-radius: 999px; padding: 1px 8px; }
.kb-cards { display: flex; flex-direction: column; gap: 8px; min-height: 40px; }
.kb-card { display: flex; gap: 10px; align-items: flex-start; background: #fff; border: 1px solid #e3e8ee; border-radius: 10px; padding: 10px 12px; box-shadow: 0 1px 2px rgba(15,34,54,.06); cursor: grab; user-select: none; -webkit-user-select: none; -webkit-touch-callout: none; }
.kb-card.dragging { opacity: .4; }
.kb-card.done .kb-t { color: #6b7a8c; text-decoration: line-through; }
.kb-card .tick { flex: none; width: 28px; height: 28px; border-radius: 50%; border: 2px solid #b7c2cf; background: #fff; color: #fff; font-weight: 700; cursor: pointer; margin-top: 1px; }
.kb-card.done .tick { background: var(--teal); border-color: var(--teal); }
.kb-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 6px; cursor: pointer; }
.kb-t { font-weight: 600; color: #0F2236; overflow-wrap: anywhere; }
.kb-meta { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: .85rem; color: #6b7a8c; }
.kb-due.today { color: var(--amber); font-weight: 700; } .kb-due.late { color: var(--red); font-weight: 700; }
.kb-ev { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kb-who { margin-left: auto; width: 26px; height: 26px; border-radius: 50%; background: #0F2236; color: #fff; font-size: .72rem; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; }
.kb-add { margin-top: 8px; } .kb-add input { width: 100%; background: transparent; border: 1px dashed #b7c2cf; }
.kb-add input:focus { background: #fff; border-style: solid; }
.kb-ghost { position: fixed; z-index: 100; pointer-events: none; opacity: .95; box-shadow: 0 8px 24px rgba(15,34,54,.25); transform: rotate(2deg); }
.kb-tabs, .kb-more { display: none; }
.kb-more { flex: none; align-self: flex-start; } .kb-more summary { list-style: none; cursor: pointer; padding: 2px 8px; font-size: 1.2rem; color: #6b7a8c; line-height: 1; }
.kb-more summary::-webkit-details-marker { display: none; }
@media (max-width: 1199px) {
  .kb-tabs { display: flex; width: 100%; margin: 0 0 12px; } .kb-tabs button { flex: 1; }
  .kb { display: block; }
  .kb-col { display: none; background: transparent; padding: 0; min-height: 0; }
  .kb.show-todo .kb-col[data-col=todo], .kb.show-doing .kb-col[data-col=doing], .kb.show-done .kb-col[data-col=done] { display: block; }
  .kb-col h2 { display: none; }
  .kb-more { display: block; }
  .kb-card { cursor: default; }
}

.kb-card .kb-more summary { border: 0; background: transparent; box-shadow: none; width: auto; height: auto; min-width: 0; padding: 0 4px; }

/* Estimate preview overlay */
.pv-ov { position: fixed; inset: 0; z-index: 300; background: #e9edf2; overflow: auto; -webkit-overflow-scrolling: touch; }
.pv-bar { position: sticky; top: 0; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 16px; background: #0F2236; color: #fff; }
.pv-ov .print-page { max-width: 8.5in; margin: 16px auto; background: #fff; padding: 0.5in; box-shadow: 0 2px 12px rgba(15,34,54,.15); }
@media (max-width: 700px) { .pv-ov .print-page { margin: 0; padding: 16px; } }
body.pv-open { overflow: hidden; }
@media print { body.pv-open > *:not(.pv-ov) { display: none !important; } body.pv-open .pv-ov { position: static; overflow: visible; background: #fff; } body.pv-open .pv-ov .print-page { margin: 0; padding: 0; box-shadow: none; max-width: none; } }
.pv-btn svg { margin-right: 2px; }
.pv-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; } .pv-head h2 { margin: 0; }
.cust-card { display: flex; align-items: center; justify-content: space-between; gap: 12px; } .cust-card small { display: block; }
.pick-row.new { color: var(--teal); font-weight: 600; }
.pv-ov .print-page { background: transparent; box-shadow: none; padding: 0; } .pv-bar .btn.primary { background: #14B1A0; border-color: #14B1A0; color: #fff; }
td.nowrap, .nowrap { white-space: nowrap; } #cu-t td.cu-email { overflow-wrap: anywhere; }
.seg.kind-pick { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); flex-wrap: nowrap; }
.seg.kind-pick button { min-width: 0; white-space: nowrap; }
@media (max-width: 560px) { .seg.kind-pick { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.set-nav .set-grp { font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; color: #6b7a8c; margin: 14px 10px 4px; font-weight: 700; } .set-nav .set-grp:first-child { margin-top: 0; }
.inc-row { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1.2fr) 70px minmax(0, 1.2fr) 32px; gap: 8px; align-items: center; margin-bottom: 6px; }
@media (max-width: 700px) { .inc-row { grid-template-columns: 1fr 1fr 60px 32px; } .inc-row > input:first-child { grid-column: 1 / -1; } .inc-row select:nth-of-type(2) { grid-column: 1 / 3; } }
.inc-row .qty { width: 100%; min-width: 0; } .inc-rows + .small-link { align-self: flex-start; text-align: left; }
.tag-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 6px; } .tag-chip { font-size: .78rem; padding: 3px 9px; border: 1px solid #d5dde6; background: #f6f8fa; border-radius: 999px; cursor: pointer; color: #0F2236; } .tag-chip:hover { border-color: #14B1A0; color: #14B1A0; }
textarea.autoh { resize: vertical; overflow: hidden; min-height: 70px; }

/* Menu rows: one fixed grid (Dov, Oct 21) */
.mline .ml-grid { display: grid; grid-template-columns: auto minmax(0, 1fr) 260px 170px 110px 64px; align-items: center; column-gap: 10px; }
.ml-grid .ml-lead { display: flex; align-items: center; gap: 6px; min-width: 0; }
.ml-grid .ml-opt, .ml-grid .ml-qty { display: flex; align-items: center; gap: 6px; min-width: 0; flex-wrap: wrap; }
.ml-grid .ml-opt select, .ml-grid .ml-opt .btn { width: 100%; max-width: 260px; min-width: 0; text-overflow: ellipsis; }
.ml-grid .ml-pricec { text-align: right; white-space: nowrap; }
.ml-grid .ml-acts { display: flex; align-items: center; justify-content: flex-end; gap: 4px; }
.ml-grid .ml-name { min-width: 0; }
.src-txt { display: inline; border: 0; background: none; padding: 0 0 0 8px; font-size: .8rem; color: #6b7a8c; cursor: pointer; }
.src-txt:hover { color: #14B1A0; text-decoration: underline; } .src-txt.changed { color: #b26b00; }
.extra-tag { background: #fff4e0; color: #8a5a00; }
.mline.exc .ml-name { color: #6b7a8c; }
@media (max-width: 1100px) {
  .mline .ml-grid { grid-template-columns: auto minmax(0, 1fr) auto; row-gap: 6px; }
  .ml-grid .ml-opt { grid-column: 2 / 4; } .ml-grid .ml-qty { grid-column: 2 / 3; } .ml-grid .ml-pricec { grid-column: 3; } .ml-grid .ml-acts { grid-column: 3; grid-row: 1; }
  .ml-grid .ml-opt:empty, .ml-grid .ml-qty:empty, .ml-grid .ml-pricec:empty { display: none; }
}
.mline.unch .ml-grid .ml-name { grid-column: 2 / 6; } .mline.unch .ml-opt, .mline.unch .ml-qty, .mline.unch .ml-pricec { display: none; }
.ml-math .math { font-weight: 400; color: #6b7a8c; font-size: .82rem; }
.mline.noopt:not(.unch) .ml-grid .ml-name { grid-column: 2 / 4; } .mline.noopt .ml-grid .ml-opt { display: none; }
.calm-sec .mline.exc.grpch .ml-math { display: flex; } .mline.grpch.unch .ml-math .served:not(.on) { opacity: .8; }
.calm-today .block { max-width: 820px; }
.td-job { display: grid; grid-template-columns: 80px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 12px 4px; border-bottom: 1px solid #eef1f4; text-decoration: none; color: inherit; }
.td-job:last-child { border-bottom: 0; } .td-time { font-weight: 700; color: #0F2236; } .td-main small { display: block; color: #6b7a8c; }
.calm-today .todo-add input { width: 100%; }
.tm-custom { font-size: .68rem; color: #8a5a00; background: #fff4e0; border-radius: 4px; padding: 0 4px; margin-left: 4px; font-weight: 600; }
.sec-h-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.ms-pill { list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; font-size: .8rem; font-weight: 700; padding: 4px 12px; border-radius: 999px; border: 1px solid transparent; }
.ms-pill::-webkit-details-marker { display: none; } summary.ms-pill::after { content: '▾'; font-size: .7rem; opacity: .7; }
.ms-edit { background: #fff4e0; color: #8a5a00; border-color: #f3d9a4; } .ms-need { background: #ffe8d6; color: #a14a00; border-color: #f6c39a; }
.ms-ok { background: #e3f6ef; color: #0d7a4f; border-color: #a9e2cb; } .ms-chg { background: #fde8e8; color: #b42318; border-color: #f5b5b0; }
.ms-dot { display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin-right: 8px; vertical-align: middle; border: 1px solid; }
.ms-wrap .menu-pop button { display: flex; align-items: center; white-space: nowrap; }
.ch-title .btn.primary { background: #14B1A0; border-color: #14B1A0; color: #fff; } .ch-title .btn.primary:hover { background: #10998b; }

/* q2-* estimate/quote/order boxed style, restored 2026-10-22 per Dov — shared by event docs and orders */
.doc .q2-head { display: flex; align-items: center; gap: 18px; padding-bottom: 14px; border-bottom: 2px solid #0F2236; margin-bottom: 16px; }
.doc .q2-head .p-logo { width: 84px; height: auto; } .doc .q2-title h1 { font-size: 22px; margin: 0 0 4px; color: #0F2236; } .doc .q2-title p { margin: 0; font-size: 12.5px; color: #44546a; }
.doc .q2-sum { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border: 1px solid #dfe5ec; border-radius: 10px; overflow: hidden; margin-bottom: 14px; }
.doc .q2-cell { padding: 10px 14px; border-right: 1px solid #dfe5ec; border-bottom: 1px solid #dfe5ec; min-width: 0; }
.doc .q2-cell:nth-child(3n) { border-right: 0; } .doc .q2-cell:nth-last-child(-n+3) { border-bottom: 0; }
.doc .q2-k { display: block; font-size: 10.5px; text-transform: uppercase; letter-spacing: .06em; color: #6b7a8c; margin-bottom: 3px; }
.doc .q2-cell b { display: block; font-size: 14px; color: #0F2236; font-weight: 600; overflow-wrap: anywhere; } .doc .q2-cell small { display: block; font-size: 11.5px; color: #6b7a8c; margin-top: 2px; }
.doc .q2-total { background: #f0faf8; } .doc .q2-total b { font-size: 20px; color: #0b8a7c; font-weight: 700; }
.doc .q2-inc { font-size: 12.5px; color: #44546a; margin: 0 0 12px; }
.doc .q2-h { font-size: 15px; margin: 18px 0 8px; padding-bottom: 4px; border-bottom: 1px solid #0F2236; color: #0F2236; }
.doc .q2-menu { columns: 2; column-gap: 28px; font-size: 12.5px; } .doc .q2-menu h2 { font-size: 13px; column-span: all; margin: 6px 0; } .doc .q2-menu h3 { font-size: 12.5px; margin: 8px 0 2px; break-after: avoid; color: #0F2236; } .doc .q2-menu ul { margin: 0 0 6px; padding-left: 16px; break-inside: avoid; }
.doc .q2-lines td { font-size: 13px; } .doc .q2-lines small { font-size: 11.5px; }
.doc .q2-totals { display: flex; justify-content: flex-end; margin: 10px 0 14px; } .doc .q2-totals table { min-width: 300px; border: 1px solid #dfe5ec; border-radius: 10px; border-collapse: separate; border-spacing: 0; overflow: hidden; }
.doc .q2-totals td { padding: 7px 14px; font-size: 13px; } .doc .q2-totals td.num { text-align: right; } .doc .q2-totals tr.tot td { font-weight: 700; font-size: 15.5px; background: #f0faf8; border-top: 1px solid #dfe5ec; color: #0F2236; }
.doc .q2-totals tr.dep td { font-size: 12.5px; color: #44546a; border-top: 1px dashed #dfe5ec; }
@media (max-width: 640px) { .doc .q2-sum { grid-template-columns: 1fr 1fr; } .doc .q2-cell:nth-child(3n) { border-right: 1px solid #dfe5ec; } .doc .q2-cell:nth-child(2n) { border-right: 0; } .doc .q2-menu { columns: 1; } .doc .q2-totals table { min-width: 0; width: 100%; } }
.doc .q2-menu li small, .doc .q2-menu li i { display: block; font-size: 11px; color: #6b7a8c; font-style: normal; }
.doc .q2-menu li { margin: 1px 0; }
@media print { .doc .q2-menu li small, .doc .q2-menu li i, .doc .q2-cell small { font-size: 9pt !important; color: #444 !important; } .doc .q2-k { font-size: 7.5pt; } .doc .q2-menu { font-size: 10pt; } .doc .q2-menu h3 { font-size: 10.5pt; } .doc .q2-sum, .doc .q2-totals { break-inside: avoid; page-break-inside: avoid; } }
.doc .q2-lines thead th { font-size: 10.5px; text-transform: uppercase; letter-spacing: .05em; color: #6b7a8c; font-weight: 600; border-bottom: 1px solid #0F2236; padding: 0 6px 6px 0; }
.doc .q2-lines.p-order td:first-child { font-weight: 600; }

/* Menu items (Dov, Oct 21) */
.mi-cols { display: grid; grid-template-columns: minmax(0, 280px) minmax(0, 1fr); gap: 22px; align-items: start; }
.mi-list { max-height: 72vh; overflow-y: auto; padding-right: 4px; } .mi-search { width: 100%; margin-bottom: 8px; }
.mi-cat { font-size: .78rem; text-transform: uppercase; letter-spacing: .05em; color: #6b7a8c; margin: 14px 0 4px; }
.mi-row { display: flex; justify-content: space-between; align-items: center; gap: 8px; width: 100%; text-align: left; background: #fff; border: 1px solid transparent; border-radius: 8px; padding: 9px 10px; font: inherit; font-size: 1rem; color: #0F2236; cursor: pointer; min-height: 44px; }
.mi-row:hover { background: #f4f7fa; } .mi-row.on { border-color: #14B1A0; background: #effaf8; } .mi-row small { color: #6b7a8c; white-space: nowrap; }
.mi-detail { min-width: 0; container-type: inline-size; } .mi-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; } .mi-head h2 { margin: 0 0 10px; }
.mi-back { display: none; margin-bottom: 8px; }
.mi-subs { display: flex; flex-direction: column; gap: 8px; margin-bottom: 8px; }
.mi-sub { display: grid; grid-template-columns: minmax(0, 1fr) 70px 160px 90px 36px; gap: 8px; align-items: center; } .mi-sub input, .mi-sub select { min-width: 0; width: 100%; }
.mi-sub.mi-new { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 900px) { .mi-cols { grid-template-columns: minmax(0, 1fr); } .mi-open .mi-list { display: none; } .mi-open .mi-back { display: inline-block; } .mi-list { max-height: none; } }
@container (max-width: 600px) { .mi-sub { grid-template-columns: minmax(0, 1fr) 70px 36px; padding-bottom: 8px; border-bottom: 1px solid #edf1f5; } .mi-sub select { grid-column: 1 / 2; grid-row: 2; } .mi-sub .mi-unit { grid-column: 2 / 4; grid-row: 2; } }
.sub-row td:first-child { padding-left: 1.6rem; color: #44546a; } .sub-row td { font-size: .95em; }

.bread-picks { display: flex; flex-wrap: wrap; gap: 6px; } .bread-g { display: inline-flex; align-items: center; gap: 4px; font-size: .78rem; color: #6b7a8c; } .bread-g select { max-width: 110px; font-size: .85rem; padding: 3px 6px; }
@media (min-width: 1101px) { .mline:has(.bread-picks) .ml-grid { grid-template-columns: auto minmax(0, 1fr) minmax(260px, auto) 170px 110px 64px; } }
@media (max-width: 1100px) { .bread-g select { max-width: none; } }

/* ---------- Tasks v2 (Dov, Oct 21) ---------- */
.kb-card.doing { box-shadow: inset 3px 0 0 #E0A100; }
.kb-who.un { background: #eef1f5; color: #6b7a8c; font-size: .72rem; width: auto; padding: 0 6px; border-radius: 10px; }
.tk-wrap .modal.tk { padding: 0; overflow: hidden; max-width: 560px; }
.tk-bar { display: flex; align-items: center; justify-content: space-between; padding: 10px 14px 10px 18px; font-weight: 700; font-size: 1rem; color: #fff; }
.tk-bar.tk-todo { background: #8a96a6; } .tk-bar.tk-doing { background: #E0A100; } .tk-bar.tk-done { background: #1e9e5a; }
.tk-x { background: none; border: 0; color: #fff; font-size: 1.9rem; line-height: 1; min-width: 44px; min-height: 44px; cursor: pointer; }
.tk-body { padding: 16px 18px 22px; display: flex; flex-direction: column; gap: 12px; }
.tk-title { font-size: 1.3rem; font-weight: 700; color: #0F2236; border: 1px solid transparent; border-radius: 8px; padding: 4px 6px; margin: -4px -6px 0; resize: none; overflow: hidden; width: calc(100% + 12px); font-family: inherit; background: transparent; }
.tk-title:hover, .tk-title:focus { border-color: var(--line); background: #fff; }
.tk-who { margin: 0; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.tk-person { background: #eef7f6; color: #0F2236; border: 1px solid #cfe9e6; border-radius: 20px; padding: 8px 14px; font-weight: 600; font-size: 1rem; cursor: pointer; min-height: 44px; }
.tk-lock { font-size: .8rem; color: #6b7a8c; border: 1px solid var(--line); border-radius: 12px; padding: 2px 8px; }
.tk-go { width: 100%; min-height: 52px; font-size: 1.1rem; }
.tk-go-done { background: #1e9e5a; border-color: #1e9e5a; } .tk-go-todo { background: #fff; color: #0F2236; border-color: var(--line); }
.tk-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.tk-grid input.late { color: #c0392b; }
.tk-sec { border-top: 1px solid var(--line); padding-top: 10px; } .tk-sec h3 { font-size: .95rem; margin: 0 0 6px; }
.tk-check { display: flex; align-items: center; justify-content: space-between; gap: 6px; min-height: 40px; } .tk-check.done label { color: #8a96a6; text-decoration: line-through; }
.tk-del { background: none; border: 0; color: #8a96a6; font-size: 1.3rem; min-width: 40px; min-height: 40px; cursor: pointer; }
.tk-add input { width: 100%; }
.tk-note { background: #f6f8fa; border-radius: 8px; padding: 8px 10px; margin-top: 6px; } .tk-note p { margin: 0; white-space: pre-wrap; } .tk-note small { color: #6b7a8c; }
.tk-hist summary { cursor: pointer; font-weight: 600; font-size: .95rem; } .tk-hist p { margin: 4px 0; font-size: .88rem; } .tk-hist small { color: #8a96a6; }
.jp-btn { width: 100%; text-align: left; background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 10px 12px; font-size: 1rem; min-height: 44px; cursor: pointer; color: #0F2236; }
.jp-q { width: 100%; margin-bottom: 8px; }
.jp-list { display: flex; flex-direction: column; max-height: 60vh; overflow-y: auto; }
.jp-row { text-align: left; background: #fff; border: 0; border-bottom: 1px solid var(--line); padding: 12px 6px; font-size: 1rem; min-height: 48px; cursor: pointer; color: #0F2236; }
.jp-row.on { color: #14B1A0; font-weight: 700; } .jp-row.none { color: #6b7a8c; } .jp-row small { color: #8a96a6; }
@media (max-width: 760px) { .jp-list { max-height: none; } }
.kb-head-r { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; } .kb-lock { font-size: .7rem; color: #6b7a8c; border: 1px solid var(--line); border-radius: 10px; padding: 0 6px; }
.dtask { padding: 0; overflow: hidden; } .dtask .tk-bar { font-size: .95rem; } .dt-who { font-weight: 600; font-size: .9rem; } .dtask h3 { margin: 0; font-size: 1.15rem; }
.tk-title { min-height: 0; height: auto; line-height: 1.3; } .tk-grid { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); } .tk-grid input { width: 100%; min-width: 0; }
.dtask { display: block; } .dtask.dt-doing { box-shadow: inset 3px 0 0 #E0A100; } .btn.tk-go-done { background: #1e9e5a; border-color: #1e9e5a; color: #fff; } .btn.tk-go-todo { background: #fff; color: #0F2236; border-color: var(--line); }

/* PO # (Dov, Oct 21) */
.ch-po { display: inline-flex; align-items: center; gap: 6px; margin-left: 4px; font-size: .9rem; color: #0F2236; }
.ch-po span { font-weight: 600; white-space: nowrap; } .ch-po input { width: 9.5em; min-width: 0; padding: 6px 8px; font-size: .95rem; text-transform: uppercase; }
.ch-po.need input { border-color: #E0A100; background: #fffaf0; } .ch-po.ro { color: #4a5a6c; }
.ch-po.flash input { animation: poflash .9s ease 2; } @keyframes poflash { 50% { box-shadow: 0 0 0 4px rgba(224,161,0,.45); } }
.slip-top { display: flex; align-items: flex-start; } .slip-po { margin-left: auto; text-align: center; padding-left: 12px; } .slip-po svg { display: block; }
.slip-po-t { font: 600 11pt/1.2 ui-monospace, Menlo, Consolas, monospace; letter-spacing: .06em; margin-top: 2px; }
.p-po-top { display: flex; justify-content: flex-end; margin-bottom: -0.2in; } 
.main-col { overflow-x: clip; }

/* Hot / Cold (Dov, Oct 21) */
.ch-temp { margin-left: 4px; } .ch-temp.need { box-shadow: 0 0 0 2px #E0A100; border-radius: 8px; }
.ch-temp.flash, .hc-tog.flash { animation: poflash .9s ease 2; }
.hc-tog { display: inline-flex; margin-left: 8px; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; vertical-align: middle; }
.hc-tog button { border: 0; background: #fff; padding: 3px 10px; font-size: .8rem; min-height: 30px; cursor: pointer; color: #4a5a6c; }
.hc-tog button + button { border-left: 1px solid var(--line); }
.hc-tog button.on[data-v="hot"] { background: #c0392b; color: #fff; } .hc-tog button.on[data-v="cold"] { background: #1f6fb2; color: #fff; }
.hc-tog.need { border-color: #E0A100; box-shadow: 0 0 0 2px rgba(224,161,0,.35); }
.call-kgate { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; width: 100%; }
.slip-grp td { font-weight: 800; font-size: 12pt; letter-spacing: .08em; padding-top: 10px !important; border-bottom: 2px solid #000; }
.mi-row small.hc-hot { color: #c0392b; } .mi-row small.hc-cold { color: #1f6fb2; }

/* Waiter sheet (Dov, Oct 21) */
.ws { font-size: 10.5pt; color: #000; }
.ws-head { display: flex; align-items: center; gap: 14px; border-bottom: 2px solid #0F2236; padding-bottom: 8px; margin-bottom: 10px; }
.ws-head img, .ws-head svg { max-height: 54px; width: auto; } .ws-biz { font-size: 10pt; color: #333; } .ws-head h1 { font-size: 16pt; margin: 2px 0 0; }
.ws-cols { column-count: 2; column-gap: 28px; }
.ws-sec { break-inside: avoid; margin: 0 0 8px; } .ws-sec h3 { font-size: 11pt; margin: 0 0 2px; color: #0F2236; text-transform: none; }
.ws-sec ul { margin: 0; padding-left: 18px; } .ws-sec li { margin: 1px 0; line-height: 1.3; }
.ws-h { font-size: 12.5pt; margin: 8px 0 4px; border-bottom: 1px solid #999; break-after: avoid; } .ws-meal { font-size: 11.5pt; margin: 6px 0 4px; break-after: avoid; }
.ws-notes { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 12px; break-inside: avoid; }
.ws-note { border: 1.5px solid #333; border-radius: 6px; padding: 6px 10px; min-height: 1.4in; } .ws-note ul { margin: 4px 0 0; padding-left: 16px; }
.ws-layout { break-before: page; } .ws-layout img { max-width: 100%; }
@media screen and (max-width: 700px) { .ws-cols { column-count: 1; } .ws-notes { grid-template-columns: 1fr; } }

/* Overtime */
.ot-ask { border-left: 3px solid #E0A100; } .ot-q { margin: 0 0 6px; } .ot-calc { font-weight: 600; color: #0F2236; }

/* Reports / vendor bills (Dov, Oct 21) */
.rep-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin-bottom: 10px; } .rep-head h1 { margin: 0; }
.rep-filters { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; } .rep-filters .field { min-width: 0; flex: 1 1 150px; } .rep-filters select, .rep-filters input { width: 100%; }
.rep-totals { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 12px 0; }
.rep-totals > div { background: #f6f8fa; border-radius: 10px; padding: 10px 12px; } .rep-totals span { display: block; font-size: .8rem; color: #6b7a8c; } .rep-totals b { font-size: 1.15rem; color: #0F2236; }
.rep-totals .due b { color: #c0392b; }
@media (max-width: 560px) { .rep-totals { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.vb-bill { margin: 2px 0; } .vb-exp { width: 7em; } .chip.st-ok { background: #e3f5ea; color: #1e7a45; } .chip.st-warn { background: #fff4dc; color: #8a5a00; } .chip.st-bad { background: #fde8e6; color: #a8322a; }
td.neg { color: #a8322a; font-weight: 600; } td.pos { color: #1e7a45; font-weight: 600; }
.vp-alloc td { vertical-align: middle; } .vp-a { width: 7em; }
@media print { .side, header.top, .no-print, .rep-filters input[type=date]::-webkit-calendar-picker-indicator { display: none !important; } .page-reports .seg { display: none; } }

/* Vendor bills on a job (cards, any width) */
.vbill-list { display: flex; flex-direction: column; gap: 10px; }
.vbill { border: 1px solid var(--line2); border-radius: 12px; padding: 12px 14px; display: flex; flex-direction: column; gap: 8px; }
.vbill-head { display: flex; justify-content: space-between; align-items: baseline; gap: 6px 12px; flex-wrap: wrap; }
 .vbill-head > b { font-size: 1.1rem; color: #0F2236; }
 .vbill-sum { color: #44546a; }
.vbill-exp { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
 .vbill-exp .lbl { color: #6b7a8c; }
.vbill-bill { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 6px 0; border-top: 1px solid var(--line2); }
 .vbill-txt { flex: 1 1 180px; min-width: 0; }
.vbill-add { align-self: flex-start; }
/* report tables stack into label/value cards on phones */
@media (max-width: 700px) {
  table.stack, table.stack tbody { display: block; width: 100%; }
  table.stack tr:first-child { display: none; }
  table.stack tr { display: block; padding: 10px 0; border-bottom: 1px solid var(--line2); }
  table.stack td { display: flex; justify-content: space-between; gap: 12px; padding: 2px 0; border: 0; text-align: right; }
  table.stack td::before { content: attr(data-l); color: #6b7a8c; text-align: left; }
  table.stack td:first-child { font-weight: 600; font-size: 1.05rem; }
  table.stack td:first-child::before { content: none; }
  table.stack td:first-child { justify-content: flex-start; text-align: left; }
}
.rep-totals-8 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 560px) { .rep-totals-8 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.rep-filters select, .rep-filters input { height: 48px; box-sizing: border-box; }
@media (max-width: 700px) { table.stack td.nil { display: none; } }

/* Kitchen orders (Kitchen department) */
.ko-list { display: flex; flex-direction: column; }
.ko-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 4px; border-bottom: 1px solid var(--line2); color: inherit; text-decoration: none; min-height: 56px; }
.ko-row:last-child { border-bottom: 0; }
.ko-row b { font-size: 1.05rem; color: #0F2236; }
.ko-row .muted { font-size: .9rem; }
.ko-row-pick > a { flex: 1 1 auto; min-width: 0; color: inherit; text-decoration: none; }
.ko-pick { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; flex: 0 0 44px; }
.ko-pick input { width: 24px; height: 24px; }

/* Entered row highlight (Dov, Oct 22): rows with quantities turn yellow */
.ko-entered { background-color: #fef7cd !important; }
.ko-table { width: 100%; }
.ko-table td { vertical-align: middle; }
.ko-table td:first-child small { display: block; }
.ko-table .ko-q { width: 6em; font-size: 1.15rem; text-align: center; min-height: 44px; }
.ko-table .ko-n { width: 100%; min-height: 44px; }
.ko-table th:nth-child(2) { width: 7em; }
.ko-table th:nth-child(3) { width: 34%; }
.ko-sec td { background: #f3f6f8; font-weight: 700; color: #0F2236; text-transform: uppercase; font-size: .85rem; letter-spacing: .03em; }
.ko-up { cursor: pointer; }
.kt-item { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 6px 0; border-bottom: 1px solid var(--line2); }
.kt-item > input { flex: 1 1 200px; min-width: 0; }
.kt-item small { flex-basis: 100%; }
.kt-btns { display: flex; gap: 4px; }
.kt-secname { font-weight: 700; width: 100%; }
@media (max-width: 560px) { .ko-table th:nth-child(3), .ko-table td:nth-child(3) { display: none; } .ko-table .ko-q { width: 4.5em; } }
.ko-measure { position: absolute; left: -10000px; top: 0; width: 7.5in; visibility: hidden; }
.ko-print-page .ko-print { background: #fff; max-width: 8.5in; margin: 0 auto 16px; padding: 0.5in; box-shadow: 0 2px 12px rgba(15,34,54,.15); box-sizing: border-box; }
.ko-measure .ko-print { padding: 0; box-shadow: none; max-width: none; }
.ko-ph { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; border-bottom: 2px solid #0F2236; padding-bottom: 8px; margin-bottom: 10px; }
.ko-ph h1 { margin: 0; font-size: 20px; color: #0F2236; }
.ko-ph p { margin: 2px 0 0; font-size: 12px; }
.ko-wk { text-align: right; display: flex; flex-direction: column; }
.ko-wk b { font-size: 18px; color: #0F2236; }
.ko-wk span { font-size: 12px; }
.ko-pg { font-size: 22px; margin-top: 4px; color: #0F2236; }
.ko-pt { width: 100%; border-collapse: collapse; font-size: 12px; border: 1.5px solid #0F2236; }
.ko-pt th, .ko-pt td { border: 1.5px solid #0F2236; }
.ko-pt th { text-align: left; padding: 4px 6px; font-size: 11px; text-transform: uppercase; }
.ko-pt td { padding: 5px 6px; height: 20px; }
.ko-pt .ko-c { width: 0.8in; text-align: center; }
.ko-pt th:last-child { width: 2in; }
.ko-pt small { color: #555; font-size: 10px; }
.ko-pt .ko-info { display: block; }
.ko-pt .ko-sec td { background: #eef2f5; font-size: 11px; padding: 4px 6px; }
@media print {
  .ko-print-page { background: #fff !important; padding: 0 !important; }
  .ko-print-page .ko-print { box-shadow: none; margin: 0; padding: 0; max-width: none; }
  .ko-page { break-after: page; page-break-after: always; }
  .ko-page:last-child { break-after: auto; page-break-after: auto; }
  /* 2-column layout toggle (Dov, Oct 22) */
  .ko-pages-2col .ko-page { column-count: 2; column-gap: 0.3in; }
  .ko-pages-2col .ko-ph { column-span: all; }
  .ko-pages-2col .ko-pt tbody .ko-sec td { break-inside: avoid; page-break-inside: avoid; break-after: avoid; page-break-after: avoid; }
  .ko-pages-2col .ko-pt { break-inside: auto; }
  .ko-pt tr { break-inside: avoid; }
}
@page kosheet { size: letter portrait; margin: 0.5in; @bottom-right { content: none; } }
@media print { .ko-page { page: kosheet; } }
.ko-row .chip { white-space: nowrap; }
@media (max-width: 560px) { .ko-row-pick { flex-wrap: wrap; row-gap: 4px; } .ko-row-pick > a { flex: 1 1 calc(100% - 60px); } .ko-row-pick .chip { margin-left: 56px; } }
.ko-logo { height: 0.7in; width: auto; flex: 0 0 auto; }
.ko-ph { align-items: center; }
.ko-ph-t { flex: 1 1 auto; min-width: 0; }
.ks-h { margin: 14px 0 6px; font-size: 13px; text-transform: uppercase; letter-spacing: .06em; color: #0F2236; }
.ks-form .ks-h:first-child { margin-top: 0; }
.ks-sheets { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 2px 16px; }
.ks-sh { display: flex; align-items: center; gap: 10px; padding: 8px 0; min-height: 44px; cursor: pointer; }
.ks-sh input { width: 20px; height: 20px; flex: 0 0 auto; }
.ks-need-t { color: #B42318; font-weight: 600; }
select.ks-need { border-color: #B42318; color: #B42318; font-weight: 600; }
.ks-pick { max-width: 360px; }
.ko-search { margin: 0 0 12px; }
.ko-search .ko-sq { width: 100%; max-width: 520px; font-size: 16px; padding: 10px 12px; }
.ko-res .ko-list { margin-top: 8px; max-width: 720px; }
tr.ko-hit td, .kt-item.ko-hit { background: #E3F7F4; }
.ko-pt .ko-no { width: 0.35in; text-align: right; color: #333; padding-right: 8px; }
.ko-pt th.ko-no { text-align: right; }
.ko-work td { height: 26px; }
.ko-work .ko-box { width: 1.6in; border: 1.5px solid #0F2236; }
.ko-work th.ko-box-h { width: 1.6in; text-align: center; }
.ko-sup td:last-child { width: 2in; }
.ko-ph .ko-deliv { font-size: 18px; font-weight: 700; color: #0F2236; margin-top: 4px; }
.ko-ph .ko-printed { font-size: 11px; color: #444; }
.ko-wk .ko-ono { font-size: 18px; }
.ko-ono-s { font-size: 15px; font-weight: 600; color: #5b6b7a; margin-left: 6px; white-space: nowrap; }
.ko-seg { margin: 4px 0 12px; display: inline-flex; }
.ko-deliv-f { max-width: 220px; }
.ko-empty { font-size: 14px; padding: 20px 0; }
/* Labels */
.lb-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
@media (min-width: 1000px) { .lb-layout { grid-template-columns: minmax(340px, 440px) minmax(0, 1fr); align-items: start; } .lb-preview-wrap { position: sticky; top: 12px; } }
.lb-sheet-btn { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; width: 100%; text-align: left; height: auto; padding: 10px 12px; }
.lb-opts { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0; }
.lb-checks { display: flex; flex-wrap: wrap; gap: 6px 16px; }
.lb-checks label { display: flex; align-items: center; gap: 8px; min-height: 40px; }
.lb-checks input { width: 20px; height: 20px; }
.lb-printrow { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: flex-end; }
.lb-num { width: 110px; margin: 0; }
.lb-drow { display: flex; align-items: center; gap: 8px; }
.lb-drow > a { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
.lb-drow.on { background: #E3F7F4; }
.lb-preview { width: 100%; max-width: 640px; overflow: hidden; background: #e9edf1; border-radius: 6px; position: relative; margin: 0 auto; }
.lb-scale { transform-origin: 0 0; width: 8.5in; height: 11in; }
.lb-cap { text-align: center; margin-top: 6px; }
.lb-page { width: 8.5in; height: 11in; position: relative; overflow: hidden; background: #fff; box-sizing: border-box; }
.lb { position: absolute; box-sizing: border-box; overflow: hidden; display: flex; align-items: stretch; justify-content: stretch; outline: 1px dashed #b8c2cc; outline-offset: -1px; border-radius: 0.06in; }
.lb-round { border-radius: 50%; }
.lb-off { background: repeating-linear-gradient(45deg, #f4f6f8, #f4f6f8 6px, #fff 6px, #fff 12px); }
.lb-no { margin: auto; color: #8796a5; font: 600 11px/1 system-ui, sans-serif; }
.lb-in { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; justify-content: center; padding: 0.06in 0.08in; box-sizing: border-box; color: #000; line-height: 1.12; overflow: hidden; font-family: Arial, Helvetica, sans-serif; }
.lb-center { align-items: center; text-align: center; }
.lb-left { align-items: flex-start; text-align: left; }
.lb-round-in { padding: 15%; }
.lb-bold .lb-txt { font-weight: 700; }
.lb-txt { max-width: 100%; }
.lb-l { white-space: nowrap; overflow: hidden; }
.lb-l1 { font-size: 1.35em; }
.lb-date { font-size: 0.7em; margin-top: 0.15em; white-space: nowrap; }
.lb-logo { height: 1.6em; width: auto; max-width: 60%; object-fit: contain; margin-bottom: 0.15em; flex: 0 0 auto; }
.lb-test .lb { outline: 1px solid #000; }
.lb-test .lb-no { font-size: 14px; color: #000; }
.lb-ruler { position: absolute; left: 3.25in; top: 5in; width: 1in; height: 1in; border: 1px solid #000; font: 11px Arial, sans-serif; display: flex; align-items: center; justify-content: center; background: rgba(255,255,255,.85); }
.lb-test-t { position: absolute; left: 0; right: 0; top: 6.1in; text-align: center; font: 12px Arial, sans-serif; background: rgba(255,255,255,.85); margin: 0; }
.lb-print-page { background: #e9edf1; padding: 16px; min-height: 100vh; }
.lb-print-page .lb-page { margin: 0 auto 16px; box-shadow: 0 2px 12px rgba(15,34,54,.15); }
.lb-print-page .print-bar { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-bottom: 12px; }
.lb-srow { display: flex; flex-direction: column; align-items: flex-start; width: 100%; text-align: left; background: none; border: 0; border-bottom: 1px solid #e3e8ee; padding: 10px 4px; cursor: pointer; font: inherit; }
.lb-srow.on { background: #E3F7F4; }
.lb-sq { width: 100%; font-size: 16px; padding: 10px 12px; margin-bottom: 8px; box-sizing: border-box; }
@page lbsheet { size: letter portrait; margin: 0; }
@media print {
  .lb-print-page { background: #fff !important; padding: 0 !important; }
  .lb-print-page .lb-page { margin: 0; box-shadow: none; page: lbsheet; break-after: page; page-break-after: always; }
  .lb-print-page .lb-page:last-child { break-after: auto; page-break-after: auto; }
  .lb-print-page .lb-page:not(.lb-test) .lb { outline: none; }
  .lb-print-page .lb-off { background: none; }
  .lb-print-page .lb-off .lb-no { display: none; }
}
.ph-ext { display: flex; gap: 8px; align-items: flex-end; min-width: 0; }
.ph-ext > .field:first-child { flex: 1 1 auto; min-width: 0; }
.ph-ext > .field:last-child { flex: 0 0 76px; }
.ph-ext .ext-in { width: 100%; }
.lb-wrap { flex: 1 1 auto; min-width: 0; display: flex; align-items: center; overflow: hidden; }
.lb-pic-left { flex-direction: row; }
.lb-pic-top { flex-direction: column; }
.lb-pic { object-fit: contain; flex: 0 0 auto; max-width: 100%; max-height: 100%; padding: 0.04in; box-sizing: border-box; }
.lb-pic-left .lb-pic { height: 100%; }
.lb-pic-top .lb-pic { width: 100%; }
.lb-wrap .lb-in { align-self: stretch; }
.lb-pic-fill { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.lb-over { position: relative; z-index: 1; text-shadow: 0 0 3px #fff, 0 0 3px #fff, 0 0 6px #fff; }
.lb-picrow { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin-top: 10px; }
.lb-picrow .lbl { width: 100%; }
.lb-thumb { height: 44px; width: auto; max-width: 80px; object-fit: contain; border: 1px solid #d5dde5; border-radius: 4px; }
.lb-range { display: flex; align-items: center; gap: 6px; font-size: 14px; }
.lb-range input { width: 110px; }
/* Labels upgrade (Oct 21, 18:xx): main-label box, line editor, sheet thumbnails, more look options */
.lb-pv-h { font-weight: 650; margin: 0 0 6px; }
.lb-pv-h .muted { font-weight: 400; }
.lb-mainbox { width: 100%; max-width: 420px; margin: 0 auto 20px; }
.lb-one { position: relative !important; width: 100%; outline: 1px solid var(--line); border-radius: 4px; }
.lb-bordered { box-shadow: inset 0 0 0 1.5pt var(--ink); }
.lb-va-top { justify-content: flex-start !important; }
.lb-va-bottom { justify-content: flex-end !important; }
.lb-f-serif { font-family: Georgia, "Times New Roman", serif; }
.lb-f-mono { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.lb-l.b { font-weight: 700; }
.lb-l.i { font-style: italic; }
.lb-l.sz-xs { font-size: .6em; } .lb-l.sz-s { font-size: .8em; } .lb-l.sz-m { font-size: 1em; } .lb-l.sz-l { font-size: 1.35em; } .lb-l.sz-xl { font-size: 1.8em; }
.lb-thumb-svg { width: 32px; height: 41px; flex: 0 0 auto; display: block; }
.lb-thumb-svg.big { width: 50px; height: 65px; }
.lb-thumb-svg .pg { fill: #fff; stroke: #d9dee5; stroke-width: 1.5; }
.lb-thumb-svg rect:not(.pg) { fill: #E3F7F4; stroke: #0F2236; stroke-width: 1.2; }
.lb-thumb-svg circle { fill: #E3F7F4; stroke: #0F2236; stroke-width: 1.2; }
.lb-sheet-btn { flex-direction: row !important; align-items: center !important; gap: 10px; }
.lb-sheet-tx { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.lb-srow { flex-direction: row !important; align-items: center !important; gap: 10px; }
.lb-srow-tx { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1 1 auto; }
.lb-bordertog { display: flex; align-items: center; gap: 8px; min-height: 40px; margin: 8px 0; }
.lb-bordertog input { width: 20px; height: 20px; }
.btn.on, .seg > .btn.on { background: var(--teal); border-color: var(--teal); color: #fff; }
.lb-lines { display: flex; flex-direction: column; gap: 10px; margin-bottom: 10px; }
.lb-ln { border: 1px solid var(--line); border-radius: var(--r); padding: 8px; }
.lb-ln-top { display: flex; align-items: center; gap: 4px; }
.lb-ln-text { flex: 1 1 auto; min-width: 0; }
.lb-ln-field { flex: 1 1 auto; min-width: 0; min-height: 44px; display: flex; align-items: center; padding: 0 .7rem; background: var(--line2); border-radius: var(--r); color: var(--ink2); font-style: italic; }
.lb-ln-top .icon-btn { min-width: 40px; min-height: 40px; padding: 4px; }
.lb-ln-opts { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 8px; }
.lb-ln-sz, .lb-ln-font { width: auto; min-height: 40px; padding: .3rem .5rem; }
.lb-ln .lb-b, .lb-ln .lb-i { min-width: 40px; padding: .25rem .6rem; }
.lb-ln .lb-i { font-style: italic; }
.lb-lnadd { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.lb-lnadd select.lb-fieldsel { width: auto; min-height: 40px; }
.btn.danger-txt, .icon-btn.danger-txt { color: var(--red); }
@media (max-width: 480px) { .lb-ln-top .lb-ln-text { min-width: 0; } }
/* Free positioning (Oct 21, 23:xx): drag any line/logo/picture anywhere on the label, align it, snap-to-guides. */
.lb-el { cursor: grab; touch-action: none; }
.lb-el:active { cursor: grabbing; }
.lb-sel { outline: 2px solid var(--teal); outline-offset: 2px; }
.lb-pic-free { object-fit: contain; }
.lb-guide { position: absolute; background: var(--teal); z-index: 20; pointer-events: none; }
.lb-guide-v { top: 0; bottom: 0; width: 1px; }
.lb-guide-h { left: 0; right: 0; height: 1px; }
.lb-pos-sel { margin: 0 0 8px; }
.lb-align-grp { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 8px; }
.lb-pos-hint { margin: 2px 0 10px; }

.ko-tight .ko-pt td { padding-top: 2px; padding-bottom: 2px; height: 16px; }
.ko-tight .ko-work td { height: 21px; }
.ko-tight .ko-pt .ko-sec td { padding-top: 2px; padding-bottom: 2px; }
.ko-tight .ko-ph { padding-bottom: 4px; margin-bottom: 6px; }
.ko-deps { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 12px; }
.ko-deps .chip { text-decoration: none; padding: 6px 12px; min-height: 32px; display: inline-flex; align-items: center; border: 1px solid #c9d1d9; background: #fff; color: #0F2236; }
.ko-deps .chip.on { background: #0F2236; color: #fff; border-color: #0F2236; }
.ko-ph .ko-for { font-weight: 600; }
.ko-freqrow { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.ko-freqrow > span:first-child { min-width: 0; }
.dep-list { display: flex; flex-direction: column; gap: 6px; max-width: 360px; }
.dep-row { display: flex; gap: 6px; align-items: center; }
.dep-row input { flex: 1 1 auto; min-width: 0; }

/* Supplier paper v6000 (Dov 15:55): Qty | Item | Item # | Notes; From line; send date */
.ko-sup .ko-c { border-left: 0; border-right: 1px solid #c9d1d9; width: 0.7in; }
.ko-pt .ko-code { width: 1.2in; white-space: nowrap; border-left: 1px solid #c9d1d9; font-size: 11px; }
.ko-ph .ko-from { font-size: 12px; }
.ko-ph .ko-addr { font-size: 11px; color: #444; }
.ko-wk .ko-sent { font-size: 14px; font-weight: 700; color: #0F2236; }
.kt-item > input { flex: 1 1 180px; }
.kt-item > input.kt-code { flex: 0 1 130px; }
.kt-code-t { color: #5b6b7a; font-size: 13px; }
/* Supplier paper = a full grid (Dov 16:05: boxed like the "In stock" cells); worker count sheets unchanged */
.ko-sup { border-collapse: collapse; }
.ko-sup th, .ko-sup td, .ko-sup .ko-c, .ko-sup .ko-code, .ko-sup td:last-child { border: 1.5px solid #0F2236; }
.ko-sup th { border-bottom-width: 1.5px; }
.ko-sup .ko-sec td { background: #dfe6ec; font-weight: 700; }
/* Fit to page levels 2–3 (Dov 15:59): smaller top/bottom margins, then 10pt text — only on a sheet that would otherwise spill */
@page kosheet2 { size: letter portrait; margin: 0.3in 0.5in; @bottom-right { content: none; } }
@media print { .ko-page.ko-fit2 { page: kosheet2; } }
.ko-print-page .ko-print.ko-fit2 { padding-top: 0.3in; padding-bottom: 0.3in; }
@media print { .ko-print-page .ko-print.ko-fit2 { padding: 0; } }
.ko-fit3 .ko-pt { font-size: 13.33px; }
.ko-fit3 .ko-pt th { font-size: 10px; padding-top: 2px; padding-bottom: 2px; }
.ko-fit3 .ko-pt small { font-size: 9px; }
.ko-fit3 .ko-pt td { padding-top: 1px; padding-bottom: 1px; height: 15px; line-height: 1.2; }
.ko-fit3 .ko-work td { height: 18px; }
.ko-fit3 .ko-pt .ko-info { line-height: 1.1; }
.ko-fit3 .ko-pt .ko-sec td { padding-top: 1px; padding-bottom: 1px; font-size: 10px; }
.ko-depchk { display: flex; flex-wrap: wrap; gap: 8px; }
.ko-dc { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 14px; border: 1px solid #c9d1d9; border-radius: 10px; background: #fff; cursor: pointer; }
.ko-dc input { width: 20px; height: 20px; margin: 0; accent-color: #14B1A0; }
.ko-dc:has(input:checked) { border-color: #14B1A0; background: #E3F7F4; }
.ko-sheet .ko-deliv-f { max-width: none; display: flex; flex-wrap: wrap; gap: 8px 24px; align-items: flex-end; }
.ko-deliv-f > .field, .ko-deliv-f .ko-datef .field { margin-bottom: 0; }
.ko-askf .lbl { display: block; white-space: nowrap; margin-bottom: 4px; }
.ko-ask, .ks-ask { display: inline-flex !important; width: auto !important; max-width: none; }
.ko-ask > button, .ks-ask > button { margin: 0 !important; min-width: 64px; min-height: 44px; justify-content: center; font-size: 15px; }
.ko-datef[hidden] { display: none !important; }
.ko-datef input[type=date] { min-height: 44px; }
.ko-sheet .ko-deliv-f { margin-bottom: 12px; }
.ko-askf { align-items: flex-start; } .ko-ask, .ks-ask { align-self: flex-start; justify-self: start; }
.ko-datef { flex: 0 0 auto; }
.ko-datef .tfield { width: 240px !important; max-width: 100% !important; }

/* Department: none ticked = red until one is picked (Dov 17:32) */
.ko-depchk.ko-need .ko-dc { border-color: #C62828 !important; color: #C62828; }
.ko-depchk.ko-need::after { content: 'Pick a department'; color: #C62828; font-weight: 600; align-self: center; }

.ko-bigwarn { display: block; color: #C62828; font-size: 1.5rem; font-weight: 800; line-height: 1.3; margin-bottom: 8px; }


/* ---------- Desktop Compact mode (Dov, Oct 21 18:16): smaller type, controls and spacing on wide screens only.
   A per-device "Compact" switch in Settings; default on. Phone/tablet (<1200px) are never touched by these rules. ---------- */
@media (min-width: 1200px) {
  html.compact { font-size: 14.5px; }
  html.compact .pad { padding: 16px 20px 60px; }
  html.compact .block { padding: 13px 16px; margin-bottom: 14px; }
  html.compact .cols { gap: 14px; margin-bottom: 14px; }
  html.compact .top { min-height: 52px; padding: 7px 18px; }
  html.compact .call-grid { gap: 16px; }
  html.compact .call-left, html.compact .price-box { padding: 15px 16px; }
  html.compact input, html.compact select, html.compact textarea { min-height: 38px; padding: .45rem .6rem; }
  html.compact .btn { min-height: 38px; padding: .42rem .9rem; }
  html.compact .btn.big { min-height: 44px; }
  html.compact .icon-btn { min-width: 38px; min-height: 38px; }
  html.compact .kc-sum { padding: 11px 16px; }
  html.compact .kc-body { padding: 0 16px 14px; }
}


/* ---------- Bookkeeper area: QuickBooks Desktop style & flow (Dov, Oct 21) ---------- */
.bk-home h1 { margin-bottom: 18px; }
.bk-flow { display: flex; flex-wrap: wrap; gap: 36px; align-items: flex-start; }
.bk-flow-col { display: flex; flex-direction: column; align-items: center; gap: 0; min-width: 200px; }
.bk-flow-col h2 { font-size: 1.05rem; color: var(--ink2); margin: 0 0 12px; text-transform: uppercase; letter-spacing: .04em; }
.bk-flow-side { display: flex; flex-direction: column; gap: 14px; margin-top: 36px; }
.bk-box { display: flex; align-items: center; justify-content: center; text-align: center; width: 190px; min-height: 64px; padding: 10px 14px; background: var(--panel); border: 1.5px solid var(--ink); border-radius: 8px; color: var(--ink); font-weight: 600; text-decoration: none !important; box-shadow: 0 1px 2px rgba(15,34,54,.06); }
.bk-box:hover { border-color: var(--teal); color: var(--teal); }
.bk-box-side { border-color: var(--teal); color: var(--teal); background: var(--green-bg); }
.bk-arrow { font-size: 1.4rem; color: var(--ink2); line-height: 1; padding: 2px 0; }
@media (max-width: 760px) { .bk-flow { flex-direction: column; gap: 24px; } .bk-flow-side { flex-direction: row; margin-top: 0; } .bk-box { width: 100%; max-width: 320px; } }

.bk-center { display: flex; gap: 16px; align-items: flex-start; }
.bk-list { flex: 0 0 280px; padding: 10px; max-height: none; }
.bk-search { width: 100%; margin-bottom: 8px; }
.bk-list-rows { display: flex; flex-direction: column; max-height: 70vh; overflow-y: auto; }
.bk-row { display: flex; justify-content: space-between; gap: 8px; padding: 9px 8px; border-radius: 6px; text-decoration: none !important; color: var(--ink); border-bottom: 1px solid var(--line2); }
.bk-row:hover { background: var(--bg); }
.bk-row.on { background: var(--blue-bg); font-weight: 600; }
.bk-row-bal.due { color: var(--red); font-weight: 600; }
.bk-detail { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.bk-cust-facts { display: flex; flex-wrap: wrap; gap: 4px 16px; color: var(--ink2); margin: 4px 0 10px; }
@media (max-width: 860px) { .bk-center { flex-direction: column; } .bk-list { flex: 1 1 auto; width: 100%; } .bk-list-rows { max-height: 240px; } }

.bk-slip table.rows { margin-top: 10px; }
@media print { .bk-slip .btn-row.no-print { display: none !important; } }

.bk-rep-tabs { margin-bottom: 14px; flex-wrap: wrap; }

.rep-filters .check.bkr-cmp { flex: none; white-space: nowrap; height: 48px; margin: 0; }
.rep-filters .check.bkr-cmp input[type=checkbox] { width: 20px; height: 20px; }

/* Oct 22 (Dov): Hebrew date readable; orders = 3 boxes on top, 2 equal boxes below (no empty cell) */
.doc .q2-cell small.heb { display: block; direction: rtl; unicode-bidi: plaintext; text-align: left; font-family: "Times New Roman", "David", serif; font-size: 14px; color: #0F2236; margin-top: 3px; }
.doc .q2-sum.q2-sum5 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.doc .q2-sum5 .q2-cell { grid-column: span 2; border-right: 1px solid #dfe5ec; border-bottom: 1px solid #dfe5ec; }
.doc .q2-sum5 .q2-cell:nth-child(n+4) { grid-column: span 3; border-bottom: 0; }
.doc .q2-sum5 .q2-cell:nth-child(3), .doc .q2-sum5 .q2-cell:nth-child(5) { border-right: 0; }
@media (max-width: 640px) { .doc .q2-sum.q2-sum5 { grid-template-columns: 1fr 1fr; } .doc .q2-sum5 .q2-cell, .doc .q2-sum5 .q2-cell:nth-child(n+4) { grid-column: span 1; border-right: 1px solid #dfe5ec; border-bottom: 1px solid #dfe5ec; } .doc .q2-sum5 .q2-cell:nth-child(2n) { border-right: 0; } .doc .q2-sum5 .q2-total { grid-column: span 2 !important; border-right: 0; border-bottom: 0; } }
@media print { .doc .q2-cell small.heb { font-size: 11pt !important; color: #0F2236 !important; } }


/* Support button (Dov, Oct 22) - fixed bottom-right, available on every screen */
.support-btn-container {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 999;
}
.support-btn {
  box-shadow: 0 2px 8px rgba(0,0,0,0.15);
  border-radius: 4px;
  padding: 8px 16px;
  background: #14B1A0;
  color: white;
  border: none;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
}
.support-btn:hover {
  background: #12a090;
}
.support-screenshot-preview {
  margin-top: 12px;
}
.support-screenshot-preview img {
  max-width: 100%;
  border: 1px solid #ddd;
  border-radius: 4px;
}

/* 2-column on screen too (Dov, Oct 22 1:38 PM) */
.ko-pages-2col .ko-page { column-count: 2; column-gap: 0.3in; }
.ko-pages-2col .ko-ph { column-span: all; }
.ko-pages-2col .ko-pt { font-size: 11px; }
.ko-pages-2col .ko-pt td, .ko-pages-2col .ko-pt th { padding-top: 2px; padding-bottom: 2px; }
.ko-pages-2col .ko-pt th:nth-child(2), .ko-pages-2col .ko-pt td:nth-child(2) { width: 42%; }
.ko-pages-2col .ko-pt th:nth-child(4), .ko-pages-2col .ko-pt td:nth-child(4) { width: 22%; }

tr.ko-entered > td { background-color: #fef7cd !important; }
@media print { tr.ko-entered > td { background-color: transparent !important; } }

/* ---------- Support tickets (Dov, Oct 22): status colours New blue · In progress amber · Waiting purple · Done green · Won't fix grey ---------- */
.sp-chip, .pr-chip { display: inline-block; padding: .14rem .6rem; border-radius: 999px; font-size: .82rem; font-weight: 700; white-space: nowrap; border: 1px solid transparent; }
.sp-chip.big { font-size: 1rem; padding: .28rem .9rem; }
.sp-new { background: #e0edff; color: #1d4ed8; border-color: #b9d3ff; }
.sp-prog { background: #fff1d6; color: #b45309; border-color: #f7cf86; }
.sp-wait { background: #f1e8ff; color: #7c3aed; border-color: #d9c4fb; }
.sp-done { background: #dcf5e6; color: #15803d; border-color: #a8e2bf; }
.sp-wont { background: #eceef1; color: #5b6472; border-color: #d3d7dd; }
.pr-low { background: #f2f4f7; color: #667085; } .pr-normal { background: #eef2f6; color: #0F2236; }
.pr-high { background: #ffedd5; color: #c2410c; border-color: #fdba74; } .pr-urgent { background: #dc2626; color: #fff; }
.sup-hd { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; } .sup-hd h1 { margin-right: auto; }
.sup-counts { display: flex; gap: 8px; flex-wrap: wrap; margin: 6px 0 14px; }
.sup-count { display: flex; flex-direction: column; align-items: flex-start; min-width: 88px; padding: 8px 12px; border-radius: 10px; border: 1px solid #d9dee5; background: #fff; color: #0F2236; cursor: pointer; font: inherit; text-align: left; }
.sup-count b { font-size: 1.35rem; line-height: 1.1; } .sup-count span { font-size: .8rem; font-weight: 600; }
.sup-count.on { outline: 2px solid #0F2236; outline-offset: 0; }
.sup-filters { display: flex; flex-wrap: wrap; gap: 10px 14px; align-items: flex-end; margin-bottom: 14px; }
.sup-filters label { display: flex; flex-direction: column; font-size: .8rem; font-weight: 600; color: #475467; gap: 3px; }
.sup-filters .sup-q { flex: 1 1 220px; min-width: 180px; }
.sup-rows { border: 1px solid #e3e7ec; border-radius: 12px; overflow: hidden; background: #fff; }
.sup-row { display: grid; grid-template-columns: 76px minmax(0, 1fr) 150px 92px 140px 120px; gap: 12px; align-items: center; padding: 10px 14px; border-top: 1px solid #eef0f3; color: #0F2236; text-decoration: none; }
.sup-row:first-child { border-top: 0; } a.sup-row:hover { background: #f4fbfa; }
.sup-head { font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; color: #667085; background: #f8f9fb; padding-top: 8px; padding-bottom: 8px; }
.sup-mine .sup-row { grid-template-columns: 76px minmax(0, 1fr) 120px; }
.sup-thumb { width: 76px; height: 50px; border-radius: 6px; overflow: hidden; background: #f2f4f7; border: 1px solid #e3e7ec; display: flex; align-items: center; justify-content: center; }
.sup-thumb img { width: 100%; height: 100%; object-fit: cover; object-position: top left; display: block; }
.sup-nothumb { font-size: .7rem; color: #98a2b3; font-weight: 600; }
.sup-main { display: flex; flex-direction: column; min-width: 0; } .sup-main b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .sup-main small { color: #667085; }
.sup-empty { padding: 20px 0; }
.sup-thd { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 12px; } .sup-thd h1 { margin: 0; }
.sup-back { margin: 0 0 6px; } .sup-back a { color: #0F2236; font-weight: 600; text-decoration: none; }
.sup-grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 16px; align-items: start; }
.sup-ticket .block { background: #fff; border: 1px solid #e3e7ec; border-radius: 12px; padding: 14px 16px; margin-bottom: 14px; }
.sup-ticket h3 { margin: 4px 0 8px; font-size: 1rem; color: #0F2236; }
.sup-meta dl { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px 16px; margin: 0 0 10px; }
.sup-meta dt { font-size: .75rem; font-weight: 700; color: #667085; text-transform: uppercase; letter-spacing: .03em; } .sup-meta dd { margin: 0; word-break: break-word; }
.sup-text { white-space: pre-wrap; font-size: 1.02rem; line-height: 1.45; margin: 0; }
.sup-shot-btn { display: block; width: 100%; padding: 0; border: 1px solid #d9dee5; border-radius: 8px; background: #f8f9fb; cursor: zoom-in; overflow: hidden; }
.sup-shot-btn img { display: block; width: 100%; height: auto; }
.sup-wf { position: sticky; top: 12px; } .sup-wf .field { display: flex; flex-direction: column; margin-bottom: 10px; } .sup-wf select, .sup-wf input { width: 100%; }
.sup-actions { display: flex; flex-direction: column; gap: 8px; margin-top: 6px; } .sup-actions .btn { width: 100%; justify-content: center; }
.sup-actions .btn.primary { background: #14B1A0; border-color: #14B1A0; color: #fff; }
.sup-tasknote { margin: 0; }
.sup-comments { display: flex; flex-direction: column; gap: 8px; margin-bottom: 12px; }
.sup-comment { background: #f6f8fa; border-radius: 10px; padding: 8px 12px; border-left: 3px solid #14B1A0; }
.sup-c-hd { display: flex; gap: 8px; align-items: baseline; } .sup-c-hd small, .sup-hist small { color: #667085; }
.sup-comment p { margin: 4px 0 0; white-space: pre-wrap; }
.sup-hist { margin: 0; font-size: .85rem; color: #475467; }
.sup-file { display: block; margin-top: 6px; font-size: .9rem; } .sup-file a { color: #0F2236; font-weight: 600; }
.sup-cimg { display: block; max-width: 220px; max-height: 160px; border-radius: 6px; border: 1px solid #d9dee5; margin-bottom: 4px; cursor: zoom-in; }
.sup-cform textarea { width: 100%; box-sizing: border-box; }
.sup-cform-row { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-top: 8px; flex-wrap: wrap; }
.sup-attach { font-size: .85rem; color: #475467; display: flex; flex-direction: column; gap: 3px; }
.sup-dot { display: inline-block; min-width: 18px; height: 18px; line-height: 18px; margin-left: 6px; padding: 0 5px; border-radius: 9px; background: #dc2626; color: #fff; font-size: .72rem; font-weight: 700; text-align: center; }
.sup-viewer { position: fixed; inset: 0; z-index: 9999; background: rgba(9, 18, 30, .94); display: flex; flex-direction: column; }
.sv-bar { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 10px 12px; background: #0F2236; color: #fff; flex-wrap: wrap; }
.sv-bar button, .sv-bar a { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.35); border-radius: 8px; padding: 6px 12px; font: inherit; font-weight: 600; text-decoration: none; cursor: pointer; margin-left: 6px; }
.sv-bar a:first-child { background: #14B1A0; border-color: #14B1A0; }
.sv-zoom { display: flex; align-items: center; } .sv-zoom button { margin-left: 0; margin-right: 6px; min-width: 38px; } .sv-pct { min-width: 52px; text-align: center; margin-right: 6px; }
.sv-stage { flex: 1; overflow: auto; display: flex; align-items: center; justify-content: center; padding: 10px; -webkit-overflow-scrolling: touch; touch-action: pan-x pan-y pinch-zoom; }
.sv-stage img { cursor: zoom-in; user-select: none; background: #fff; }
.sv-stage.zoomed { display: block; } .sv-stage.zoomed img { cursor: grab; }
@media (max-width: 860px) {
  .sup-grid { grid-template-columns: 1fr; } .sup-right { order: -1; } .sup-wf { position: static; }
  .sup-head { display: none; }
  .sup-rows { border: 0; background: transparent; display: flex; flex-direction: column; gap: 10px; }
  .sup-row, .sup-mine .sup-row { grid-template-columns: 64px minmax(0, 1fr) auto; grid-template-areas: "thumb main st" "thumb from pr" "thumb asg asg"; gap: 4px 10px; border: 1px solid #e3e7ec; border-radius: 12px; background: #fff; padding: 10px 12px; }
  .sup-mine .sup-row { grid-template-areas: "thumb main st"; }
  .sup-thumb { grid-area: thumb; width: 64px; height: 64px; align-self: start; } .sup-main { grid-area: main; } .sup-main b { white-space: normal; }
  .sup-st { grid-area: st; justify-self: end; align-self: start; } .sup-pr { grid-area: pr; justify-self: end; } .sup-from { grid-area: from; font-size: .85rem; color: #475467; } .sup-asg { grid-area: asg; font-size: .85rem; color: #475467; }
  .sup-count { min-width: 0; flex: 1 1 28%; padding: 6px 10px; }
  .sup-filters label { flex: 1 1 45%; } .sup-filters select { width: 100%; }
}

.sup-count.sp-new, .sup-count.sp-prog, .sup-count.sp-wait, .sup-count.sp-done, .sup-count.sp-wont { background: #fff; border-top-width: 4px; }
.sup-count.sp-new { border-top-color: #1d4ed8; } .sup-count.sp-new b { color: #1d4ed8; }
.sup-count.sp-prog { border-top-color: #d97706; } .sup-count.sp-prog b { color: #b45309; }
.sup-count.sp-wait { border-top-color: #7c3aed; } .sup-count.sp-wait b { color: #7c3aed; }
.sup-count.sp-done { border-top-color: #16a34a; } .sup-count.sp-done b { color: #15803d; }
.sup-count.sp-wont { border-top-color: #98a2b3; } .sup-count.sp-wont b { color: #5b6472; }
.sup-count.on { background: #f4fbfa; }

/* Supplier orders tabs (Dov, Oct 22 5:34 PM): big, clear menu */
.ko-tabs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 4px 0 16px; }
.ko-tabs a { display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; border: 1.5px solid #d5dbe3; border-radius: 10px; background: #fff; color: #0F2236; text-decoration: none; }
.ko-tabs a b { font-size: 16px; font-weight: 700; }
.ko-tabs a small { font-size: 12px; color: #6b7686; }
.ko-tabs a:hover { border-color: #14B1A0; }
.ko-tabs a.on { background: #0F2236; border-color: #0F2236; color: #fff; }
.ko-tabs a.on small { color: #b9c4d2; }
@media (max-width: 560px) { .ko-tabs a { padding: 10px 8px; } .ko-tabs a b { font-size: 14px; } .ko-tabs a small { display: none; } }
@media print { .ko-tabs { display: none; } }

/* 2-column auto-fit to one sheet (Dov, Oct 22 5:38 PM) */
.ko-pages-2col .ko-page.ko-fit1 .ko-pt td, .ko-pages-2col .ko-page.ko-fit1 .ko-pt th { padding-top: 1px !important; padding-bottom: 1px !important; height: auto !important; line-height: 1.25; }
.ko-pages-2col .ko-page.ko-fit2 .ko-pt td, .ko-pages-2col .ko-page.ko-fit2 .ko-pt th { padding-top: 0 !important; padding-bottom: 0 !important; height: auto !important; line-height: 1.15; font-size: 10px; }
.ko-pages-2col .ko-page.ko-fit3 .ko-pt td, .ko-pages-2col .ko-page.ko-fit3 .ko-pt th { padding-top: 0 !important; padding-bottom: 0 !important; height: auto !important; line-height: 1.05; font-size: 9px; }
.ko-pages-2col .ko-page.ko-fit4 .ko-pt td, .ko-pages-2col .ko-page.ko-fit4 .ko-pt th { padding-top: 0 !important; padding-bottom: 0 !important; height: auto !important; line-height: 1; font-size: 8px; }
.ko-pages-2col .ko-page.ko-fit2 .ko-ph, .ko-pages-2col .ko-page.ko-fit3 .ko-ph, .ko-pages-2col .ko-page.ko-fit4 .ko-ph { margin-bottom: 4px; }

/* Print options (Dov, Oct 22 5:38 PM): 3 columns, worker sheet without the In stock column, supplier full list.
   3 columns = #ko-pages.ko-pages-2col.ko-pages-3col, so every 2-column rule (one sheet, header across, auto-fit ko-fit1..4) applies and these override. */
.ko-pages-3col .ko-page { column-count: 3; column-gap: 0.18in; }
@media print { .ko-pages-3col .ko-page { column-count: 3; column-gap: 0.18in; } }
.ko-pages-3col .ko-pt { font-size: 10.5px; }
.ko-pages-3col .ko-pt th { font-size: 9px; padding: 2px 3px; letter-spacing: 0; }
.ko-pages-3col .ko-pt td { padding-left: 3px; padding-right: 3px; }
.ko-pages-3col .ko-pt small { font-size: 8.5px; }
.ko-pages-3col .ko-pt th:nth-child(2), .ko-pages-3col .ko-pt td:nth-child(2), .ko-pages-3col .ko-pt th:nth-child(4), .ko-pages-3col .ko-pt td:nth-child(4), .ko-pages-3col .ko-pt th:last-child { width: auto; }
.ko-pages-3col .ko-pt .ko-no { width: 0.26in; padding-right: 3px; padding-left: 1px; }
.ko-pages-3col .ko-pt .ko-c { width: 0.42in; }
.ko-pages-3col .ko-pt th.ko-nt { width: 0.6in; }
.ko-pages-3col .ko-work .ko-box, .ko-pages-3col .ko-work th.ko-box-h { width: 0.55in; }
/* Worker sheet with In stock off = a plain to-do list: # | [ ] Item */
.ko-nostock th:nth-child(2), .ko-nostock td:nth-child(2), .ko-nostock th:last-child { width: auto !important; }
.ko-nonotes th:nth-child(2), .ko-nonotes td:nth-child(2), .ko-nonotes th:last-child { width: auto !important; }
.ko-tick { display: inline-block; width: 0.8em; height: 0.8em; border: 1.3px solid #0F2236; border-radius: 2px; margin-right: 6px; vertical-align: -0.1em; box-sizing: border-box; }
.ko-barlbl { align-self: center; font-weight: 600; color: #0F2236; margin-left: 4px; }
/* Select all on the week page (Dov 5:46 PM) */
.ko-selall { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 12px; margin: 0 0 6px; cursor: pointer; font-weight: 600; color: #0F2236; }
.ko-selall input { width: 20px; height: 20px; margin: 0; accent-color: #14B1A0; }
/* Centered headers on every print (Dov 5:48 PM): column headers and section rows; item names stay left */
.ko-pt th, .ko-pt th.ko-no, .ko-pt th.ko-c, .ko-pt th.ko-code, .ko-work th.ko-box-h { text-align: center !important; }
.ko-pt tr.ko-sec td { text-align: center !important; }

/* Worker sheet without item numbers (Dov, Oct 22 5:58 PM) */
.ko-nonum th:first-child, .ko-nonum td:first-child:not([colspan]) { width: auto !important; }
.ko-nonum td:first-child:not([colspan]) { text-align: left; }

/* Worker sheet: Item # column = the item code, empty if none (Dov, Oct 22 6:05 PM) */
.ko-work th.ko-no, .ko-work td.ko-no { width: 64px !important; min-width: 64px; white-space: nowrap; text-align: center; font-size: 0.9em; }
.ko-pages-3col .ko-work th.ko-no, .ko-pages-3col .ko-work td.ko-no { width: 52px !important; min-width: 52px; font-size: 0.8em; }

/* Labels v6314: point sizes, resize-by-hand handles, overflow flag */
.lb-mainbox { position: relative; }
.lb-pt { display: inline-flex; align-items: center; gap: 3px; }
.lb-pt .lb-pt-b { min-width: 36px; padding: .25rem .5rem; font-weight: 700; }
.lb-ln-pt { width: 64px !important; min-height: 40px; text-align: center; padding: .3rem .3rem; }
.lb-pt-u { font-size: .85rem; color: var(--ink2); }
.lb-rsz-row { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 0 0 8px; }
.lb-rsz { position: absolute; z-index: 25; pointer-events: none; outline: 1.5px dashed var(--teal); }
.lb-h { position: absolute; width: 18px; height: 18px; box-sizing: border-box; background: #fff; border: 2px solid var(--teal); border-radius: 4px; pointer-events: auto; touch-action: none; }
.lb-h::before { content: ''; position: absolute; inset: -10px; }
.lb-h-nw { left: -9px; top: -9px; cursor: nwse-resize; } .lb-h-ne { right: -9px; top: -9px; cursor: nesw-resize; }
.lb-h-sw { left: -9px; bottom: -9px; cursor: nesw-resize; } .lb-h-se { right: -9px; bottom: -9px; cursor: nwse-resize; }
.lb-one .lb-toowide { box-shadow: inset 0 0 0 2px #d93025; background: rgba(217, 48, 37, .08); }
.lb-ln.lb-ln-over { border-color: #d93025; box-shadow: 0 0 0 1px #d93025; }
.lb-warn { color: #b3261e; font-size: .9rem; margin: -12px auto 16px; max-width: 420px; text-align: center; }
.lb-colors { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 8px; }
.lb-sw { width: 26px; height: 26px; min-width: 0; padding: 0; border-radius: 50%; border: 1px solid #c3ccd6; cursor: pointer; box-sizing: border-box; }
.lb-sw.on { box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--teal); }
.lb-sw-custom { width: auto; border-radius: 13px; display: inline-flex; align-items: center; gap: 4px; padding: 0 8px 0 3px; font-size: .8rem; background: conic-gradient(from 0deg, #f44, #fd3, #4c4, #3cf, #55f, #e4e, #f44) left 3px center / 18px 18px no-repeat, #fff; position: relative; }
.lb-sw-custom span { padding-left: 20px; }
.lb-sw-custom input { position: absolute; inset: 0; opacity: 0; width: 100%; height: 100%; cursor: pointer; padding: 0; border: 0; }
.lb-l { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.lb-one .lb-el { cursor: move; }
.lb-one .lb-el:not(.lb-sel):hover { outline: 1px dashed var(--teal); outline-offset: 1px; }
.lb-margins { display: flex; flex-wrap: wrap; gap: 8px 12px; margin: 4px 0 8px; }
.lb-margins .lb-num { width: 140px; }
.lb-one.lb-round { border-radius: 50%; }
/* Labels v6315: mixed sheet */
.lb-mix { margin: 10px 0 4px; display: flex; flex-direction: column; gap: 6px; }
.lb-mixrow { display: flex; align-items: center; gap: 8px; }
.lb-mixno { width: 22px; height: 22px; border-radius: 50%; background: var(--line2, #eef2f5); display: inline-flex; align-items: center; justify-content: center; font-size: .8rem; font-weight: 700; flex: 0 0 auto; }
.lb-mixname { flex: 1 1 auto; min-width: 0; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lb-mixsel { flex: 1 1 auto; min-width: 0; width: auto; min-height: 40px; }
.lb-mixqty { width: 72px !important; min-height: 40px; text-align: center; }
.lb-mixfoot { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 8px 12px; }
.lb-mixtot { font-weight: 650; margin: 2px 0 0; }
/* Print box lives in the right column (Dov 18:41 "move print option to right on top"): first on desktop, under the main label on a phone */
.lb-preview-wrap { display: flex; flex-direction: column; min-width: 0; }
.lb-printbox { margin-bottom: 16px; }
@media (min-width: 1000px) { .lb-printbox { order: -1; } .lb-preview-wrap { max-height: calc(100vh - 24px); overflow-y: auto; overscroll-behavior: contain; } }
.lb-preview-wrap > * { flex-shrink: 0; }
/* line cards: collapsed row + expand (Dov 18:43) */
.lb-ln-top { flex-wrap: wrap; row-gap: 6px; }
.lb-ln-top .lb-ln-text, .lb-ln-top .lb-ln-field { flex: 1 1 150px; }
.lb-ln-btns { display: inline-flex; align-items: center; gap: 2px; margin-left: auto; }
.lb-dot { width: 26px; height: 26px; min-width: 26px; padding: 0; border-radius: 50%; border: 2px solid #fff; box-shadow: 0 0 0 1px #b8c2cc; cursor: pointer; flex: 0 0 auto; }
.lb-ln-tog { font-weight: 700; font-size: 1.15rem; }
.lb-ln.open { border-color: var(--teal); }
.lb-ln .lb-pt .lb-pt-b { min-width: 32px; padding: .25rem .4rem; }
.lb-ln .lb-ln-pt { width: 64px !important; padding: .3rem .2rem; }
details.lb-sec > summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; }
details.lb-sec > summary::-webkit-details-marker { display: none; }
details.lb-sec > summary h2 { margin: 0; }
details.lb-sec > summary::after { content: '+'; font-weight: 700; font-size: 1.3rem; color: var(--ink2); padding: 0 4px; }
details.lb-sec[open] > summary::after { content: '−'; }
details.lb-sec[open] > summary { margin-bottom: 10px; }
/* Label library (v6317) */
.lb-curname { margin: 0 0 8px; }
.lib-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.lib-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
@media (min-width: 760px) { .lib-layout { grid-template-columns: 230px minmax(0, 1fr); align-items: start; } .lib-side { position: sticky; top: 12px; } }
.lib-side { display: flex; flex-direction: column; gap: 2px; background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: 8px; }
.lib-nav { display: flex; align-items: center; border-radius: 6px; }
.lib-nav > a { flex: 1 1 auto; min-width: 0; display: flex; justify-content: space-between; gap: 8px; padding: 9px 10px; color: inherit; text-decoration: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lib-nav.on { background: #E3F7F4; font-weight: 650; }
.lib-nav.drop { outline: 2px dashed var(--teal); background: #E3F7F4; }
.lib-fbtns { display: inline-flex; }
.lib-fbtns .icon-btn { min-width: 32px; min-height: 32px; padding: 2px; }
.lib-fh { font-size: .8rem; text-transform: uppercase; letter-spacing: .04em; color: var(--ink2); margin: 10px 10px 4px; }
.lib-newf { margin: 8px 6px 2px; align-self: flex-start; }
@media (max-width: 759px) { .lib-side { flex-direction: row; flex-wrap: wrap; gap: 6px; } .lib-fh { width: 100%; margin: 4px 2px 0; } .lib-nav { border: 1px solid var(--line); } .lib-nav > a { padding: 8px 10px; } }
.lib-q { width: 100%; font-size: 16px; padding: 10px 12px; margin-bottom: 12px; box-sizing: border-box; }
.lib-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 12px; }
.lib-card { background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: 10px; display: flex; flex-direction: column; gap: 8px; }
.lib-card.dragging { opacity: .5; }
.lib-thumbw { display: flex; align-items: center; justify-content: center; height: 122px; background: #eef2f5; border-radius: 6px; overflow: hidden; text-decoration: none; }
.lib-thumb { position: relative; display: block; background: #fff; box-shadow: 0 1px 4px rgba(15,34,54,.18); overflow: hidden; }
.lib-thumb .lb { position: absolute; }
.lib-meta { display: flex; flex-direction: column; min-width: 0; }
.lib-meta b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lib-acts { display: flex; flex-wrap: wrap; gap: 6px; }
.lib-move { width: auto; min-height: 34px; padding: .2rem .4rem; font-size: .85rem; }
/* Print box layout (Dov 18:51 "add print icon and organize better") */
.lb-pr-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.lb-pr-h { display: flex; align-items: center; gap: 8px; margin: 0; color: #0F2236; }
.lb-pr-ic { width: 22px; height: 22px; flex: 0 0 auto; }
.lb-printbtn { display: inline-flex; align-items: center; gap: 8px; font-size: 1.05rem; padding: .6rem 1.2rem; min-height: 46px; }
.lb-printbtn .lb-pr-ic { width: 20px; height: 20px; }
.lb-pr-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; }
.lb-pr-right { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-left: auto; }
.lb-pr-num { display: inline-flex; align-items: center; gap: 6px; font-size: .9rem; color: var(--ink2); }
.lb-pr-num input { width: 64px; min-height: 36px; text-align: center; padding: .2rem; }
.lb-pr-sum { white-space: nowrap; color: #0F2236; }
.lb-pr-foot { margin: 8px 0 0; }
.lb-linkbtn { background: none; border: 0; padding: 4px 0; color: var(--teal); text-decoration: underline; cursor: pointer; font: inherit; font-size: .9rem; }
@media (max-width: 600px) { .lb-pr-head { flex-wrap: wrap; } .lb-printbtn { width: 100%; justify-content: center; order: 3; } .lb-pr-right { margin-left: 0; width: 100%; justify-content: space-between; } }
.lb-pr-row .seg a { white-space: nowrap; }
@media (max-width: 600px) { .lb-pr-row .seg { display: flex; width: 100%; } .lb-pr-row .seg a { flex: 1 1 auto; text-align: center; padding-left: 6px; padding-right: 6px; } }
/* Labels toolbar (Dov 18:55 "make this somewhere more visible or on top") */
.lb-toolbar { position: sticky; top: 62px; z-index: 15; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: 8px 10px; margin: 0 0 14px; box-shadow: 0 2px 8px rgba(15,34,54,.06); }
.lb-tb-name { display: flex; flex-direction: column; min-width: 0; line-height: 1.25; }
.lb-tb-name b { font-size: 1.05rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lb-tb-name .muted { font-size: .82rem; }
.lb-tb-btns { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.lb-tb-lib, .lb-tb-print { display: inline-flex; align-items: center; gap: 6px; }
.lb-tb-lib { border-color: #0F2236; color: #0F2236; font-weight: 650; }
.lb-tb-lib .lb-pr-ic, .lb-tb-print .lb-pr-ic { width: 18px; height: 18px; }
@media (min-width: 1000px) { .lb-preview-wrap { top: 132px !important; max-height: calc(100vh - 144px) !important; } }
@media (max-width: 600px) { .lb-toolbar { padding: 8px; } .lb-tb-btns { width: 100%; } .lb-tb-btns .btn { flex: 1 1 auto; justify-content: center; padding-left: 8px; padding-right: 8px; } }
.lib-acts .btn.small { padding: .2rem .55rem; }
.lib-acts .lib-move { flex: 1 1 100%; }
.lb-fsel { display: flex; flex-direction: column; gap: 6px; }
.lb-fsel-new { margin-top: 2px; }
@media (max-width: 600px) { .lb-toolbar { position: static; } }

/* Dov 7:06 PM: use the full width on wide screens */
.pad.page-labels { max-width: none; }
@media (min-width: 1400px) { .page-labels .lb-preview { max-width: 900px; } .page-labels .lb-mainbox { max-width: 520px; } .page-labels .lb-warn { max-width: 520px; } }

/* Calendar filters (Oct 23) */
.cal-filters{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 8px}
.cf-chip{border:1px solid #cfd8e3;background:#fff;color:#0F2236;border-radius:999px;padding:5px 12px;font-size:13px;cursor:pointer;line-height:1.2}
.cf-chip.on{background:#0F2236;border-color:#0F2236;color:#fff}
.cf-chip:focus-visible{outline:2px solid #14B1A0;outline-offset:2px}
@media print{.cal-filters{display:none}}

/* Send to Tab (Oct 23) */
.tab-badge { display: inline-block; padding: .12rem .55rem; border-radius: 999px; font-size: .78rem; font-weight: 700; white-space: nowrap; border: 1px solid #0F2236; color: #0F2236; background: #fff; margin-left: .4rem; vertical-align: middle; }
.tab-badge.big { font-size: .95rem; padding: .26rem .85rem; }
.tab-badge.tb-sent { background: #0F2236; color: #fff; }
.tab-badge.tb-working { background: #eaf0f5; color: #0F2236; }
.tab-badge.tb-fixed { background: #14B1A0; border-color: #14B1A0; color: #fff; }
.sup-main .tab-badge { margin: .2rem 0 0; }
.sup-actions .btn.tab-send { border-color: #0F2236; color: #0F2236; font-weight: 650; }
.sup-tabrow { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 0; padding: 8px 10px; border: 1px solid var(--line); border-radius: var(--r); }
.sup-tabrow .tab-badge { margin-left: 0; }
.sup-tab h3 { margin-top: 0; } .sup-tab-st { margin: 0 0 .4rem; } .sup-tab-st .tab-badge { margin-left: 0; }
.sup-tab-note { white-space: pre-wrap; margin: 0; padding: 8px 10px; background: #f7f8f9; border-left: 3px solid #14B1A0; border-radius: 4px; }
.sup-main .tab-badge { align-self: flex-start; }

/* Guest counts: small boxes on one line (Dov, Oct 23) */
.heads-row{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:flex-start}
.heads-row .field{flex:0 0 auto;width:auto;margin:0}
.heads-row input{width:78px;max-width:78px;text-align:center}
.heads-row small,.heads-row .hint{display:block;font-size:.72rem;white-space:nowrap}

/* Nav groups (Oct 23) */
.side .nav-grp > ul.nav-kids { display: none; margin: 0; padding: 0 0 0 10px; }
.side .nav-grp.open > ul.nav-kids { display: block; }
.side .nav-gbtn { position: relative; }
.side .nav-grp.has-on:not(.open) > .nav-gbtn { color: var(--blue); font-weight: 600; }
.side .nav-chev { margin-left: auto; font-size: .8rem; color: #8a97a8; transition: transform .15s; }
.side .nav-grp.open .nav-chev { transform: rotate(90deg); }
.side .nav-kid a { min-height: 38px; padding: 7px 13px; font-size: .95rem; }
.side .nav-kid a small.nav-sub { display: none; }

.mg-text[dir=auto]{unicode-bidi:plaintext;text-align:start}

.mg-quote{border-left:3px solid #14B1A0;background:#f3f7f9;padding:4px 8px;margin:2px 0 4px;border-radius:4px;font-size:.85rem;color:#4a5a6c;max-width:520px}
.mg-quote b{display:block;color:#0F2236;font-size:.8rem}
.mg-quote span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Message actions (Dov, Oct 23): a clear bar under the tapped message, big reactions, labeled buttons. */
.msg-item .msg-acts { display: none !important; }
.msg-item.act .msg-acts { display: flex !important; position: static !important; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 8px; padding: 6px; width: auto; max-width: 100%; background: #fff; border: 1px solid #d9e2ea; border-radius: 12px; box-shadow: 0 2px 10px rgba(15,34,54,.08); }
.msg-item.act .msg-acts .r { font-size: 1.35rem; line-height: 1; width: 42px; height: 42px; padding: 0 !important; border-radius: 50%; background: #f3f6f9; display: inline-flex; align-items: center; justify-content: center; }
.msg-item.act .msg-acts .r:hover { background: #e6f6f4; }
.msg-item.act .msg-acts button:not(.r) { font-size: .9rem; font-weight: 600; padding: 9px 14px !important; border: 1px solid #d9e2ea; border-radius: 999px; background: #fff; color: #0F2236; }
.msg-item.act .msg-acts button:not(.r):hover { border-color: #14B1A0; color: #0F2236; background: #f2fbfa; }
.msg-item.act .msg-acts [data-del] { color: #b42318; }
.msg-item.act .msg-acts .r + button:not(.r) { margin-left: 6px; }

/* My settings */
html.text-large { font-size: 112.5%; }
.prefs h3 { font-size: .95rem; margin: 14px 0 6px; color: #0F2236; }
.prefs h3:first-child { margin-top: 0; }
.pref-opt { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border: 1px solid #e3e9ef; border-radius: 10px; margin-bottom: 6px; cursor: pointer; }
.pref-opt:has(input:checked) { border-color: #14B1A0; background: #f2fbfa; }
.pref-opt span { flex: 1; }
.prefs select { width: 100%; padding: 9px; border-radius: 10px; border: 1px solid #d9e2ea; }

body:has(.modal-wrap) .support-btn { display: none !important; }

/* Shared payment picker (Dov, Oct 23 — doc section 2) */
.pp { border: 1px solid var(--line); border-radius: var(--r); padding: .7rem .8rem .4rem; background: #fff; margin: .4rem 0 .8rem; }
.pp-title { margin: 0 0 .4rem; font-size: 1rem; color: #0F2236; }
.pp-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: .5rem .7rem; align-items: end; }
.pp-row .field { margin: 0 0 .45rem; }
.pp-row [hidden] { display: none !important; }
.pp-note { margin: .1rem 0 .45rem; padding: .4rem .6rem; background: #eef8f7; border-left: 3px solid var(--teal); color: #0F2236; font-size: .92rem; }
.pp-note.pp-warn { background: var(--red-bg); border-left-color: var(--red); color: var(--red); }
.pp-bal { margin: .1rem 0 .45rem; color: var(--ink2); font-size: .95rem; }
.pp-bal .pp-owe { color: var(--red); } .pp-bal .pp-zero { color: var(--green); } .pp-bal .pp-over { color: var(--amber); }
.pp-qp .modal-body { text-align: center; }
.pp-qp-acct { font-size: 1.6rem; font-weight: 700; color: #0F2236; margin: .3rem 0; letter-spacing: .02em; }

/* ---- Money home (Worker B, Oct 24 — doc section 13) ---- */
.mh-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 8px 0 20px; }
@media (max-width: 640px) { .mh-grid { grid-template-columns: 1fr; } }
.mh-card { display: block; background: #fff; border: 1px solid #dfe5ec; border-radius: 12px; padding: 14px 16px; color: #0F2236; text-decoration: none !important; }
.mh-card h3 { margin: 0 0 4px; font-size: .9rem; font-weight: 600; color: #5b6b7d; text-transform: none; }
.mh-link:hover { border-color: var(--teal); }
.mh-big { font-size: 1.6rem; font-weight: 700; margin: 0 0 8px; color: #0F2236; }
.mh-age { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.mh-age a { display: block; background: #f6f8fa; border-radius: 8px; padding: 6px 8px; color: #0F2236; text-decoration: none !important; }
.mh-age a span { display: block; font-size: .75rem; color: #6b7a8c; } .mh-age a b { font-size: 1rem; }
.mh-age a.mh-amber b { color: var(--amber); } .mh-age a.mh-red b { color: #c0392b; }
.mh-redtxt { color: #c0392b; }
.mh-list { list-style: none; margin: 0; padding: 0; }
.mh-list li { display: grid; grid-template-columns: 1fr auto auto; grid-template-rows: auto auto; column-gap: 8px; align-items: center; padding: 6px 0; border-top: 1px solid #eef1f4; }
.mh-list li a { font-weight: 600; } .mh-list li small { grid-column: 1; grid-row: 2; color: #6b7a8c; } .mh-list li b { grid-column: 2; grid-row: 1 / span 2; } .mh-list li .btn { grid-column: 3; grid-row: 1 / span 2; }
.mh-sc { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-bottom: 6px; } .mh-sc div { background: #f6f8fa; border-radius: 8px; padding: 6px 8px; } .mh-sc span { display: block; font-size: .75rem; color: #6b7a8c; } .mh-sc b { font-size: 1.1rem; }
.bk-goto { font-size: 1rem; color: #5b6b7d; margin: 4px 0 12px; }
.rep-classic-sub { margin-top: 12px; }

/* New Order page (Dov, Oct 23 — doc section 1) */
.call-lcol { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.nc-card { background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 18px 20px; }
.nc-card[hidden] { display: none !important; }
.nc-card > h2 { font-size: 1.15rem; margin: 0 0 .7rem; }
.call-pay { margin-top: 14px; padding: 14px 16px 6px; } .call-pay .pp { border: 0; padding: 0; margin: 0; }
.when-row { display: flex; flex-wrap: wrap; gap: .4rem 1rem; align-items: flex-end; }
.when-row > .field, .when-row > #time-home { flex: 1 1 9.5rem; min-width: 0; margin-bottom: .6rem; }
.when-row > #time-home .field { margin: 0; }
.when-row > #temp-home { flex: 0 0 auto; margin-bottom: .6rem; }
.when-row > #temp-home[hidden] { display: none; }
#temp-home .lbl { display: block; }
#temp-home .ch-temp { margin-left: 0; }
#call-fulfil .fulfil-row { margin-bottom: .5rem; }
.page-call #nc-cust > h2 { font-size: 1rem; margin-bottom: .45rem; }
.page-call #nc-cust input[name=cq] { max-width: 26rem; padding-top: .45rem; padding-bottom: .45rem; }
.page-call #nc-cust .cust-card { padding: .45rem .7rem; font-size: .95rem; }
.page-call #nc-cust .cust-card small { font-size: .85rem; }
.call-need { margin: 0; display: flex; flex-wrap: wrap; gap: .25rem .4rem; align-items: center; }
.call-need[hidden] { display: none; }
.need-note { background: none; border: 0; padding: 2px 0; color: var(--red); font: inherit; font-size: .92rem; font-weight: 600; text-decoration: underline; cursor: pointer; }
.need-sep { color: var(--red); }
.call-bar { display: grid; grid-template-columns: 1fr 1fr 1.4fr; gap: .5rem; }
.call-bar .btn { width: 100%; padding-left: .5rem; padding-right: .5rem; }
.call-bar .btn.blocked { opacity: .55; }
.ch-po.need input { border-color: var(--red) !important; background: #fff; box-shadow: 0 0 0 1px var(--red); }
.ch-po:not(.need):not(.ro) input { border-color: var(--teal); box-shadow: 0 0 0 1px var(--teal); }

.page-call .kind-pick[hidden] { display: none !important; }
.ch-temp.need { box-shadow: 0 0 0 2px var(--red); }
.when-row > .field:first-child { flex-basis: 12.5rem; }

/* ---- PAID receipt + customer statement (Worker B, Oct 24) ---- */
.bk-doc .rc-top { display: flex; gap: 18px; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.bk-doc .rc-top .p-facts { flex: 1 1 320px; }
.paid-stamp { -webkit-print-color-adjust: exact; print-color-adjust: exact; display: inline-flex; flex-direction: column; align-items: center; border: 6px solid #12a150; color: #12a150; border-radius: 12px; padding: 6px 22px; font-size: 52px; font-weight: 800; letter-spacing: .08em; line-height: 1.05; transform: rotate(-8deg); margin: 10px 18px; }
.paid-stamp.partial { border-color: #c27c0e; color: #c27c0e; font-size: 28px; padding: 8px 16px; white-space: nowrap; }
@media (max-width: 480px) { .paid-stamp { font-size: 40px; } .paid-stamp.partial { font-size: 22px; } }
.paid-stamp small { font-size: 16px; font-weight: 700; letter-spacing: 0; margin-top: 2px; }
.bk-doc table.rows { width: 100%; border-collapse: collapse; margin: 6px 0 10px; }
.bk-doc table.rows th, .bk-doc table.rows td { border-bottom: 1px solid #ccc; padding: 6px 6px; text-align: left; }
.bk-doc table.rows th.num, .bk-doc table.rows td.num { text-align: right; }
.rc-tot { margin: 10px 0 0 auto; border-collapse: collapse; min-width: 280px; }
.rc-tot td { padding: 5px 6px; border-bottom: 1px solid #ddd; } .rc-tot td.num { text-align: right; }
.rc-tot tr.rc-due td { color: #b42318; }
.st-note { margin-top: 18px; white-space: pre-wrap; }
.st-wrap { display: grid; grid-template-columns: minmax(260px, 340px) 1fr; gap: 14px; align-items: start; }
@media (max-width: 860px) { .st-wrap { grid-template-columns: 1fr; } }
.st-opts .check { display: flex; gap: 6px; align-items: center; margin: 6px 0; }
.st-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 0 10px; }
.st-seg { display: flex; gap: 14px; flex-wrap: wrap; margin: 6px 0; }
.st-lbl { margin: 10px 0 0; font-size: .8rem; color: #6b7a8c; }
.st-prev .st-doc { box-shadow: none; padding: 16px; max-width: none; font-size: 13px; }
.st-prev .st-doc .p-logo { height: 54px; }

/* ---- Vendor Center (Worker B, Oct 24) ---- */
.vc .rep-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; }
.vc-search { width: 100%; max-width: 420px; margin-bottom: 8px; }
.vc-table tr.vc-zero td { color: #8592a3; }
.vc-hint { background: #e6f6f4; border-radius: 8px; padding: 8px 12px; }
.vc-prof-hd { display: flex; justify-content: space-between; align-items: center; }
.vc-facts { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 6px 16px; margin: 6px 0; }
.vc-facts dt { font-size: .75rem; color: #6b7a8c; } .vc-facts dd { margin: 0; font-weight: 600; color: #0F2236; }
.vp-alloc td { padding: 4px 6px; }

/* Customers (Dov, Oct 23 — doc section 3) */
.p-allergy, .p-alert.p-allergy { color: #c00000 !important; border-color: #c00000 !important; font-weight: 700; }
.allergy-chip { display: inline-block; background: var(--red-bg); color: var(--red); border: 1px solid var(--red); border-radius: 999px; padding: 2px 10px; font-weight: 700; font-size: .9rem; margin-right: 6px; }
.cu-flags { margin: .2rem 0; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
input.allergy-in { color: var(--red); border-color: var(--red); font-weight: 600; }
.cu-bill { border: 1px solid var(--line2); border-radius: 8px; padding: .6rem .8rem .2rem; margin: .2rem 0 .8rem; }
.cu-disc { display: flex; flex-wrap: wrap; gap: .3rem 1rem; align-items: flex-end; margin-top: .4rem; }
.cu-disc .field { margin-bottom: .4rem; max-width: 10rem; }
.cu-disc-on { display: flex; flex-wrap: wrap; gap: .3rem .9rem; align-items: center; margin-bottom: .6rem; } .cu-disc-on .lbl { width: 100%; }
.hist-row { border-bottom: 1px solid var(--line2); padding-bottom: .35rem; margin-bottom: .35rem; }
.hist-row > .row { border-bottom: 0; }
.hist-sub { display: flex; flex-wrap: wrap; gap: .3rem .8rem; align-items: center; padding: 0 .6rem .2rem; font-size: .9rem; color: var(--ink2); }
.hist-items { flex: 1 1 14rem; } .hist-note { flex: 1 1 100%; color: var(--muted); font-style: italic; }
.hist-sub .btn.small { margin-left: auto; }
input.email-bad { border-color: var(--red) !important; box-shadow: 0 0 0 1px var(--red) !important; }
.email-msg { display: block; color: var(--red); font-size: .85rem; margin-top: 2px; }

/* Per-lb items */
.lb-est { color: var(--muted); font-size: .8rem; white-space: nowrap; }
.wt-red { color: var(--red); }
#sec-weight.wt-need { border-color: var(--red); box-shadow: inset 3px 0 0 var(--red); }
.wt-row { display: flex; flex-wrap: wrap; gap: .3rem 1rem; align-items: flex-end; justify-content: space-between; border-bottom: 1px solid var(--line2); padding: .3rem 0; }
.wt-name { display: flex; flex-direction: column; } .wt-f { margin: 0; max-width: 9rem; }

/* List filter chips */
.fchips { display: flex; flex-wrap: wrap; gap: .4rem; margin: .2rem 0 .7rem; }
.fchip { display: inline-flex; align-items: center; gap: .35rem; padding: .3rem .7rem; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: var(--navy, #0F2236); text-decoration: none; font-size: .88rem; min-height: 34px; }
.fchip .count { color: var(--muted); font-size: .8rem; }
.fchip.on { background: #14B1A0; border-color: #14B1A0; color: #fff; }
.fchip.on .count { color: #fff; }

/* Kitchen CHANGED tag on lists */
.kch-row { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; padding: .25rem .75rem .45rem; margin-top: -2px; border-left: 3px solid var(--red, #c62828); background: #fff5f5; font-size: .88rem; }
.kch-tag { background: var(--red, #c62828); color: #fff; font-weight: 700; font-size: .7rem; letter-spacing: .04em; padding: .1rem .4rem; border-radius: 4px; }
.kch-line { color: var(--red, #c62828); text-decoration: none; flex: 1 1 auto; min-width: 0; }
.kch-ack { border: 1px solid var(--line); background: #fff; border-radius: 6px; padding: .2rem .6rem; font-size: .82rem; min-height: 30px; cursor: pointer; }

/* Daily prep sheet */
.prep-tot td.small { color: #444; font-size: .82rem; }
.prep-tot td.num { white-space: nowrap; }

/* Recurring orders */
.rp-days .lbl { display: block; font-size: .85rem; color: var(--muted); margin-bottom: .25rem; }
.rp-dayrow { display: flex; flex-wrap: wrap; gap: .35rem; margin-bottom: .6rem; }
.rp-day { display: inline-flex; } .rp-day input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.rp-day span { display: inline-block; min-width: 2.9rem; text-align: center; padding: .35rem .5rem; border: 1px solid var(--line); border-radius: 8px; background: #fff; cursor: pointer; }
.rp-day input:checked + span { background: #0F2236; border-color: #0F2236; color: #fff; }
.rp-day input:focus-visible + span { outline: 2px solid #14B1A0; outline-offset: 2px; }
.rp-wrow { display: flex; flex-wrap: wrap; gap: .5rem 1rem; align-items: center; justify-content: space-between; padding: .55rem 0; border-bottom: 1px solid var(--line2, #eee); }
.rp-wmain { display: flex; flex-direction: column; min-width: 0; } .rp-wmain a { color: inherit; text-decoration: none; } .rp-wmain small { color: var(--muted); }
.rp-wform { display: flex; gap: .4rem; } .rp-wform input { width: 8.5rem; }
.rp-head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .6rem; } .rp-head h2 a { color: inherit; text-decoration: none; }
.rp-btns { display: flex; gap: .4rem; flex-wrap: wrap; align-items: flex-start; }
.rp-up { list-style: none; margin: .6rem 0 0; padding: 0; }
.rp-up li { display: flex; flex-wrap: wrap; gap: .3rem .9rem; align-items: center; padding: .4rem 0; border-top: 1px solid var(--line2, #eee); }
.rp-up li.skipped .rp-d, .rp-up li.skipped .rp-s { color: var(--muted); text-decoration: line-through; }
.rp-d { min-width: 7.5rem; } .rp-s { flex: 1 1 auto; } .rp-a { display: flex; gap: .7rem; }
.danger-link { color: var(--red, #c62828); }
.rp-banner { border-left: 3px solid #14B1A0; } .rp-banner.rp-wait-b { border-left-color: #e0a100; background: #fffbea; }
.warn-count { background: #e0a100; color: #fff; border-radius: 999px; padding: 0 .45rem; font-size: .78rem; margin-left: .25rem; }
.needs-now .nn-row { align-items: center; } .nn-tag { font-size: .72rem; font-weight: 600; color: #fff; background: #0F2236; border-radius: 4px; padding: .1rem .4rem; margin-right: .6rem; white-space: nowrap; }

/* Today (doc section 6) */
.calm-today .page-head { align-items: flex-start; }
.calm-today .candle { margin: .2rem 0 0; color: #0F2236; }
.nn-k2, .nn-k4 { background: var(--red, #c62828); } .nn-k3 { background: #e0a100; } .nn-k5 { background: #14B1A0; }
.timeline .tl-row { position: relative; }
.timeline .td-time { display: flex; flex-direction: column; min-width: 4.6rem; } .timeline .td-time small { color: var(--muted); font-size: .75rem; }
.tl-dot { width: 10px; height: 10px; border-radius: 50%; background: #14B1A0; flex: 0 0 auto; margin: 0 .6rem 0 0; align-self: center; }
.tom-line { margin: .7rem 0 0; color: #333; }
/* Hours */
.hours-t { width: 100%; border-collapse: collapse; } .hours-t th { text-align: left; font-weight: 600; padding: .35rem .5rem .35rem 0; width: 7.5rem; } .hours-t td { padding: .35rem 0; }
.hours-t tr { border-bottom: 1px solid var(--line2, #eee); } .hours-t tr.today { background: #eefaf8; } .hours-t tr.today th { color: #14B1A0; }
.hr-f { margin-bottom: .4rem; }

.needs-now .nn-row { display: flex; flex-direction: column; align-items: flex-start; gap: .2rem; }
.needs-now .nn-tag { display: inline-block; width: auto; align-self: flex-start; margin: 0; }
@media (min-width: 700px) { .needs-now .nn-row { flex-direction: row; align-items: center; gap: .7rem; } .needs-now .nn-tag { align-self: center; min-width: 7.5rem; text-align: center; } }

/* Calendar zmanim tags */
.cal-tag.t-candle { background: #fff7e0; color: #7a5a00; }
.cal-tag.t-parsha[lang="he"] { font-family: inherit; }
.fri-warn { margin-top: .4rem; }

@media (max-width: 860px) {
  .cal-day .cal-tag.t-parsha, .cal-day .cal-tag.t-candle { display: block; font-size: .64rem; line-height: 1.15; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .cal-day .cal-tag.t-candle { background: none; padding: 0; }
}

@media (max-width: 860px) {
  .cal-day .cal-tag.t-parsha { white-space: normal; overflow: visible; }
  .cal-day .cal-tag.t-candle .ct-l { display: none; }
  .cal-day .cal-tag.t-candle::before { content: "\2022 "; }
}

/* Side menu & top bar (doc section 8): the teal Table icon is the menu button; the word "Table" next to it. */
.brand-btn { background: none; border: 0; padding: 4px; margin: -4px; border-radius: 8px; cursor: pointer; display: inline-flex; flex: none; }
.brand-btn:hover { background: #eefaf8; } .brand-btn:focus-visible { outline: 2px solid #14B1A0; outline-offset: 2px; }
.brand a.brand-word { text-decoration: none; display: inline-flex; align-items: center; }
.top-mark-btn img { width: 26px; height: 30px; object-fit: contain; display: block; }
.top-word { display: none; flex: none; align-items: center; text-decoration: none; margin-right: .3rem; } .top-word img { height: 22px; width: auto; display: block; }
@media (max-width: 860px) { .top-word.mobile-only { display: inline-flex; } }
.side a.msg-unread svg.ic { fill: #1d6fd8; stroke: #1d6fd8; color: #1d6fd8; }
.brand .brand-word a { display: inline-flex; align-items: center; text-decoration: none; }
.side .brand .brand-btn { width: auto; min-width: 0; height: auto; flex: none; background: none; padding: 4px; margin: -4px; gap: 0; }
.side .brand .brand-btn:hover { background: #eefaf8; }
.sup-mine-row { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; margin: .6rem 0 0; }

/* Proposals form (doc section 12): Location choices equal width, no empty box at the end */
.seg.big.wrap.venue-kind { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; width: 100%; }
.seg.big.wrap.venue-kind > button { width: 100%; min-width: 0; white-space: normal; line-height: 1.15; }

.seg.big.wrap.venue-kind > button { text-align: center; justify-content: center; }
.heads-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); gap: .75rem; }
.heads-row > .field { width: auto; min-width: 0; margin: 0; } .heads-row > .field input { width: 100%; }
.heads-row > .field input, .heads-row > .field input[type="number"] { width: 100% !important; max-width: none !important; box-sizing: border-box; }

/* Messaging Options panel (doc section 9) */
.mo { display: flex; flex-direction: column; gap: .2rem; }
.mo-hd { display: flex; gap: .8rem; align-items: flex-start; padding-bottom: .6rem; border-bottom: 1px solid var(--line2, #eee); }
.mo-hd h3 { margin: 0; color: #0F2236; font-size: 1.15rem; } .mo-hd p { margin: .15rem 0 0; }
.msg-av.big { width: 44px; height: 44px; font-size: 1.1rem; flex: none; }
.mo-link { background: none; border: 0; padding: 0; margin-top: .3rem; color: #14B1A0; font: inherit; font-weight: 600; cursor: pointer; }
.mo-sec { padding: .7rem 0; border-bottom: 1px solid var(--line2, #eee); }
.mo-sec h4 { margin: 0 0 .45rem; font-size: .78rem; letter-spacing: .05em; text-transform: uppercase; color: var(--muted); }
.mo-mem { list-style: none; margin: 0 0 .5rem; padding: 0; max-height: 220px; overflow: auto; }
.mo-mem li { display: flex; align-items: center; gap: .5rem; padding: .25rem 0; } .mo-mem small { margin-left: auto; }
.mo-mem .msg-av { width: 26px; height: 26px; font-size: .75rem; }
.mo-q { width: 100%; }
.mo-imgs { display: grid; grid-template-columns: repeat(auto-fill, minmax(72px, 1fr)); gap: 6px; }
.mo-imgs img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 6px; display: block; }
.mo-files, .mo-pins { list-style: none; margin: .4rem 0 0; padding: 0; } .mo-files li { padding: .2rem 0; }
.mo-jump { display: block; width: 100%; text-align: left; background: none; border: 0; border-radius: 6px; padding: .4rem .3rem; font: inherit; color: #0F2236; cursor: pointer; }
.mo-jump:hover { background: #f3f6f8; }
.mo-set { display: flex; align-items: center; justify-content: space-between; gap: .6rem; flex-wrap: wrap; }
.mo-bottom { display: flex; justify-content: center; gap: 1.2rem; margin: .9rem 0 .3rem; }
.mo-small { background: none; border: 0; font: inherit; font-size: .82rem; color: var(--muted); text-decoration: underline; cursor: pointer; padding: .2rem; }
.mo-small.danger { color: var(--red, #c62828); }
.msg-pinned { color: #14B1A0; font-weight: 600; }

/* Push notifications in My settings */
.push-row { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; margin-bottom: .5rem; }
.push-cats { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: .2rem .8rem; }

/* Gallery (Dov's doc section 11) */
.page-gallery .gal-head { display: flex; align-items: center; justify-content: space-between; gap: .8rem; flex-wrap: wrap; }
.page-gallery .gal-head h1 { margin: 0; }
.gal-up { cursor: pointer; }
.gal-folders { display: flex; gap: 6px; flex-wrap: wrap; margin: .9rem 0 .4rem; }
.gal-folders .cf-chip small { opacity: .7; margin-left: 2px; }
.gal-folders .gal-add { border-style: dashed; color: #14B1A0; border-color: #14B1A0; }
.gal-sub { margin: .3rem 0 .6rem; }
.gal-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px; }
.gal-tile { display: flex; flex-direction: column; gap: 4px; background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 6px; text-align: left; cursor: pointer; font: inherit; color: #0F2236; min-width: 0; position: relative; }
.gal-tile:hover, .gal-tile:focus-visible { border-color: #14B1A0; outline: none; }
.gal-thumb { display: block; aspect-ratio: 1 / 1; border-radius: 6px; overflow: hidden; background: #f1f4f7; }
.gal-thumb img { width: 100%; height: 100%; object-fit: contain; display: block; } /* never crop a picture (Dov, Oct 27 12:07 AM) */
.gal-doc { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; background: #eaf0f5; color: #0F2236; font-size: 1.1rem; letter-spacing: .05em; }
.gal-name { font-size: .8rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gal-tile.gal-gp input { position: absolute; top: 10px; left: 10px; width: 20px; height: 20px; accent-color: #14B1A0; z-index: 1; }
.gal-tile.gal-gp.on { border-color: #14B1A0; box-shadow: 0 0 0 2px #14B1A0 inset; }
.gal-pick { max-height: 60vh; overflow: auto; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); }
.gal-pick-f { margin-top: 0; }
.gal-view img { max-width: 100%; max-height: 65vh; display: block; margin: 0 auto .6rem; border-radius: 6px; }
.gal-view .btn-row { display: flex; gap: 8px; flex-wrap: wrap; }
.gal-att { display: flex; flex-wrap: wrap; gap: 10px; }
.gal-att-i { position: relative; width: 104px; display: flex; flex-direction: column; gap: 3px; }
.gal-att-i a { display: block; width: 104px; height: 104px; border-radius: 6px; overflow: hidden; border: 1px solid var(--line); background: #f1f4f7; }
.gal-att-i img { width: 100%; height: 100%; object-fit: contain; display: block; background: #fff; }
.gal-att-i small { font-size: .75rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gal-x { position: absolute; top: -7px; right: -7px; width: 24px; height: 24px; border-radius: 50%; border: 1px solid var(--line); background: #fff; color: #0F2236; cursor: pointer; line-height: 1; font-size: 16px; padding: 0; }
.p-gal { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: .4rem 0 .8rem; }
.p-gal img { width: 100%; height: auto; object-fit: contain; border-radius: 4px; break-inside: avoid; }
.p-gal-docs { margin: .2rem 0 .8rem; padding-left: 1.2rem; }
@media (max-width: 520px) { .gal-grid { grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)); } .p-gal { grid-template-columns: repeat(2, 1fr); } }

/* Proposal → Estimate → Event (Dov, Oct 25) */
.type-pick.need .opt:not([hidden]) { border-color: var(--red); box-shadow: 0 0 0 1px var(--red); }
.call-bar.prop-bar { grid-template-columns: 1fr 1.25fr 1.25fr; }
.prop-hint { margin: 0; }
.pill.p-esti { background: #e8f7f5; color: #0F2236; border-color: #14B1A0; }
.ch-nb { color: #4a5a6c; font-weight: 500; font-size: .95em; }
.ev-mkest { margin-right: .4rem; }
.est-note { margin: -.2rem 0 .5rem; }
.prop-nomenu p { margin: .3rem 0; }

/* Messaging options: Leave/Delete tucked under a small grey More (Dov, Oct 25) */
.mo-more{margin-top:18px}.mo-more>summary{font-size:12px;color:#8a94a3;cursor:pointer;list-style:none;text-align:center}.mo-more>summary::-webkit-details-marker{display:none}.mo-more .mo-small.danger{color:#8a94a3!important;font-size:12px}

/* Packages & pricing — one tidy card per package, open one at a time (Dov, Oct 25: "much better organized") */
.pk-page { padding-bottom: 8px; }
.pk-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 6px; }
.pk-top h2 { margin-bottom: .1rem; }
.pk-hint { display: block; margin: 0 0 .6rem; font-size: .9rem; }
.pk-grp { margin-top: 14px; }
.pk-grp > h3 { font-size: .95rem; font-weight: 650; color: var(--ink); margin: 0 0 8px; text-transform: none; }
.pk-grp > h3 small { font-weight: 400; font-size: .85rem; margin-left: .35rem; }
.pk-card { border: 1px solid var(--line); border-radius: 8px; background: #fff; margin-bottom: 8px; }
.pk-card.open { border-color: var(--teal); box-shadow: 0 0 0 1px var(--teal) inset; }
.pk-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "top go" "sub go"; gap: 2px 12px; align-items: center; width: 100%; text-align: left; background: none; border: 0; padding: 12px 14px; cursor: pointer; font: inherit; color: var(--ink); min-height: 56px; }
.pk-head:hover { background: #fafbfc; }
.pk-card.open .pk-head { border-bottom: 1px solid var(--line2); border-radius: 8px 8px 0 0; }
.pk-h-top { grid-area: top; display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 14px; min-width: 0; }
.pk-h-name { font-size: 1.05rem; font-weight: 650; }
.pk-h-price { font-weight: 600; color: var(--green); }
.pk-h-sub { grid-area: sub; color: var(--muted); font-size: .85rem; min-width: 0; }
.pk-h-go { grid-area: go; color: var(--blue2); font-size: .9rem; font-weight: 600; border: 1px solid var(--line); border-radius: 6px; padding: .25rem .8rem; background: #fff; }
.pk-card.open .pk-h-go { border-color: var(--teal); color: var(--green); }
.pk-body { padding: 4px 14px 14px; }
.pk-sec { padding: 12px 0 10px; border-top: 1px solid var(--line2); }
.pk-body > .pk-sec:first-child { border-top: 0; }
.pk-sec h4 { margin: 0 0 .5rem; font-size: .8rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--ink2); }
.pk-sec-h { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.pk-sec-h h4 { margin-bottom: .4rem; }
.pk-sec .pk-hint { margin-top: -.3rem; font-size: .85rem; }
.pk-more { display: flex; flex-wrap: wrap; gap: 4px 18px; margin: 0; padding: 4px 0 10px; border-top: 1px solid var(--line2); padding-top: 10px; }
.pk-rules { display: flex; flex-direction: column; gap: 8px; }
.pk-rule { display: grid; grid-template-columns: minmax(0, 2.4fr) minmax(0, 1.7fr) 92px 76px minmax(0, 1.3fr) 128px 32px; gap: 8px; align-items: center; }
.pk-rule .lbl { display: none; }
.pk-rule .pk-f { display: block; margin: 0; min-width: 0; }
.pk-rule .pk-f input, .pk-rule .pk-f select { width: 100%; min-width: 0; }
.pk-rule:not(.has-n) .pk-f-n { visibility: hidden; }
.pk-rule .pk-f-on { margin: 0; font-size: .88rem; white-space: nowrap; }
.pk-rule-h { font-size: .75rem; color: var(--muted); font-weight: 600; text-transform: uppercase; letter-spacing: .03em; margin-bottom: -4px; }
.pk-fo { display: grid; grid-template-columns: minmax(0, 2fr) 140px 140px; gap: 0 12px; align-items: end; margin-top: 12px; padding: 10px 12px 2px; background: #f7f8f9; border-radius: 6px; }
.pk-fo-t { display: flex; flex-direction: column; padding-bottom: 14px; }
.pk-fo-t small { font-size: .82rem; }
.pk-tpls { gap: .3rem 1.2rem; }
.pk-actions { display: flex; align-items: center; justify-content: flex-end; gap: 14px; padding-top: 12px; border-top: 1px solid var(--line2); }
.pk-actions .muted { font-size: .85rem; }
.et-block .et-line { border-top: 1px solid var(--line2); padding: 8px 0; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 90px; gap: 0 10px; align-items: center; }
.et-block .et-main { display: contents; }
.et-block .et-more { grid-column: 3; }
.et-block .et-more[open] { grid-column: 1 / -1; }
.et-block .et-more summary { padding: 0; }
.et-block .et-line:first-child { border-top: 0; }
.et-main { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; align-items: center; }
.et-main .static { font-size: .9rem; }
.et-more summary { cursor: pointer; color: var(--blue2); font-size: .88rem; padding: .3rem 0 0; }
.et-more[open] { background: #f7f8f9; border-radius: 6px; padding: 4px 10px 8px; margin-top: 6px; }
.et-more .checks { display: flex; flex-wrap: wrap; gap: .3rem 1.1rem; margin: .5rem 0; }
@media (max-width: 760px) {
  .pk-rule { grid-template-columns: minmax(0, 1fr) 96px; gap: 6px 8px; padding: 10px; border: 1px solid var(--line2); border-radius: 6px; background: #fbfcfc; }
  .pk-rule-h { display: none; }
  .pk-rule .lbl { display: block; font-size: .75rem; color: var(--muted); margin-bottom: 2px; }
  .pk-rule .pk-f-name { grid-column: 1 / -1; }
  .pk-rule .pk-f-name .lbl, .pk-rule .pk-f-note .lbl { display: none; }
  .pk-rule .pk-f-name input { font-weight: 600; }
  .pk-rule .pk-f-kind { grid-column: 1; }
  .pk-rule .pk-f-amt { grid-column: 2; }
  .pk-rule .pk-f-n { grid-column: 2; }
  .pk-rule:not(.has-n) .pk-f-n { display: none; }
  .pk-rule.has-n .pk-f-n { grid-row: 3; }
  .pk-rule.has-n .pk-f-note { grid-row: 3; grid-column: 1; }
  .pk-rule .pk-f-note { grid-column: 1 / -1; }
  .pk-rule.has-n .pk-f-note { grid-column: 1; }
  .pk-rule .pk-f-on { grid-column: 1; }
  .pk-rule > .x { grid-column: 2; justify-self: end; }
  .pk-fo { grid-template-columns: 1fr 1fr; }
  .pk-fo-t { grid-column: 1 / -1; padding-bottom: 6px; }
  .pk-head { padding: 12px; }
  .pk-body { padding: 2px 12px 12px; }
  .pk-top { flex-direction: column; }
  .pk-top .btn { align-self: stretch; }
  .et-block .et-line { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 6px 8px; }
  .et-block .et-main .static { grid-column: 1 / -1; }
  .et-block .et-more { grid-column: 1 / -1; }
}

/* Deliveries: collapsed cards (Dov, Oct 25) */
.dc-fold>summary{cursor:pointer;list-style:none;display:flex;flex-wrap:wrap;gap:6px;align-items:baseline}.dc-fold>summary::-webkit-details-marker{display:none}.dc-fold>summary .dc-sub{flex-basis:100%}.dc-fold[open]>summary{margin-bottom:8px}

/* ---------- Production screen (Dov, Oct 25): kitchen display on a TV/tablet ---------- */
.prod-full .side { display: none; }
.prod-full .main-col, .prod-full .nav-open .main-col { margin-left: 0; }
.pk-msg { margin-left: auto; }
.page-prod { max-width: none; padding: 16px 20px 28px; }
.pk-head { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 22px; margin-bottom: 14px; }
.pk-title { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; }
.pk-title h1 { font-size: 2rem; margin: 0; color: #0F2236; }
.pk-date { font-size: 1.15rem; color: var(--ink2); }
.pk-date b { color: #0F2236; }
.pk-sum { font-size: 1.15rem; font-weight: 700; color: #0F2236; }
.pk-seg { margin-left: auto; display: inline-flex; border: 2px solid #0F2236; border-radius: 12px; overflow: hidden; }
.pk-seg button { min-height: 52px; padding: 0 20px; border: 0; border-left: 1px solid #0F2236; background: #fff; color: #0F2236; font: inherit; font-size: 1.1rem; font-weight: 600; cursor: pointer; }
.pk-seg button:first-child { border-left: 0; }
.pk-seg button.on { background: #0F2236; color: #fff; }
.pk-hint { color: var(--ink2); font-size: .95rem; margin: 0 0 10px; }
.pk-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)); gap: 16px; align-items: start; }
.pk-t { background: #fff; border: 2px solid #d8dee6; border-radius: 14px; overflow: hidden; display: flex; flex-direction: column; }
.pk-bar { height: 12px; background: #9aa5b1; }
.pk-green .pk-bar { background: #14B1A0; }
.pk-yellow .pk-bar { background: #f2b705; }
.pk-red .pk-bar { background: #d92d20; }
.pk-red { border-color: #f1a39b; }
.pk-late { border: 3px solid #d92d20; background: #fdecea; }
.pk-late .pk-bar { background: #d92d20; }
.pk-tmrw .pk-bar { background: #c3cad3; }
.pk-th { padding: 10px 14px 6px; }
.pk-when { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.pk-time { font-size: 1.7rem; font-weight: 800; color: #0F2236; }
.pk-time small { display: block; font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--ink2); line-height: 1.1; }
.pk-badge { font-size: 1rem; font-weight: 700; padding: 4px 10px; border-radius: 999px; background: #eef1f4; color: #0F2236; white-space: nowrap; }
.pk-yellow .pk-badge { background: #fff4dc; color: #8a5a00; }
.pk-red .pk-badge { background: #fdecea; color: #b42318; }
.pk-badge.late { background: #d92d20; color: #fff; font-size: 1.2rem; padding: 5px 12px; }
.pk-badge.tmrw { background: #0F2236; color: #fff; }
.pk-who { font-size: 1.25rem; margin-top: 4px; color: #0F2236; }
.pk-name { font-weight: 600; }
.pk-kind { display: inline-block; font-size: .8rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; padding: 2px 8px; border-radius: 6px; margin-right: 6px; vertical-align: middle; border: 1.5px solid #0F2236; }
.pk-k-delivery { background: #0F2236; color: #fff; }
.pk-k-pickup { background: #fff; color: #0F2236; }
.pk-k-event { background: #14B1A0; border-color: #14B1A0; color: #fff; }
.pk-sub { font-size: 1rem; color: var(--ink2); margin-top: 2px; }
.pk-rev { background: #fff4dc; color: #8a5a00; font-weight: 700; padding: 1px 6px; border-radius: 4px; font-size: .85rem; }
.pk-allergy { margin: 6px 14px; padding: 8px 10px; background: #d92d20; color: #fff; font-weight: 800; border-radius: 8px; font-size: 1.1rem; }
.pk-note { margin: 4px 14px; color: #b42318; font-weight: 600; font-size: 1.05rem; }
.pk-items { list-style: none; margin: 6px 0 0; padding: 0; }
.pk-meal { padding: 8px 14px 2px; font-weight: 700; color: #0F2236; font-size: .9rem; text-transform: uppercase; letter-spacing: .04em; border-top: 1px solid #e5e9ee; }
.pk-it { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 58px; padding: 8px 14px; background: none; border: 0; border-top: 1px solid #e9edf1; text-align: left; font: inherit; font-size: 1.25rem; color: #0F2236; cursor: pointer; }
.pk-it.sub { padding-left: 32px; font-size: 1.1rem; }
.pk-q { min-width: 2.4em; font-weight: 800; font-size: 1.45rem; text-align: right; }
.pk-n { flex: 1; min-width: 0; }
.pk-n small { color: var(--ink2); font-size: .9rem; }
.pk-ln { display: block; color: #b42318; font-style: normal; font-size: .95rem; font-weight: 600; }
.pk-chk { width: 36px; height: 36px; border: 2px solid #b8c1cc; border-radius: 9px; display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 1.2rem; color: #fff; flex: none; background: #fff; }
.pk-it.done { color: #8a96a3; }
.pk-it.done .pk-n, .pk-it.done .pk-q { text-decoration: line-through; }
.pk-it.done .pk-chk { background: #14B1A0; border-color: #14B1A0; }
.pk-pack { margin: 6px 14px 8px; font-size: 1rem; color: var(--ink2); }
.pk-tf { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 14px; border-top: 1px solid #e5e9ee; margin-top: auto; }
.pk-cnt { font-size: 1.05rem; color: var(--ink2); }
.pk-ready { min-height: 60px; min-width: 150px; font: inherit; font-size: 1.35rem; font-weight: 800; background: #14B1A0; color: #fff; border: 0; border-radius: 12px; cursor: pointer; }
.pk-donebar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 22px; padding-top: 14px; border-top: 2px solid #e5e9ee; }
.pk-dl { font-weight: 700; color: #0F2236; margin-right: 6px; font-size: 1.05rem; }
.pk-dchip { min-height: 46px; padding: 6px 14px; border: 1.5px solid #c9d1da; border-radius: 999px; background: #f6f8fa; color: #5b6775; font: inherit; font-size: 1rem; cursor: pointer; }
.pk-dchip small { margin-left: 8px; }
.pk-empty { font-size: 1.4rem; color: var(--ink2); padding: 48px 0; text-align: center; }
.ksh-tag { display: inline-block; font-size: .72em; font-weight: 700; padding: 1px 6px; border-radius: 5px; border: 1px solid #0F2236; color: #0F2236; background: #fff; vertical-align: middle; white-space: nowrap; line-height: 1.4; }
@media (max-width: 640px) {
  .page-prod { padding: 12px 10px 24px; }
  .pk-title h1 { font-size: 1.6rem; }
  .pk-seg { margin-left: 0; width: 100%; }
  .pk-seg button { flex: 1; padding: 0 4px; font-size: 1rem; }
  .pk-grid { grid-template-columns: 1fr; }
}

/* Production lines: one font size, bullet qty size name (Dov, Oct 25) */
.pk-it .pk-q,.pk-it .pk-n{font-size:1.25rem;line-height:1.35}.pk-it .pk-q{min-width:2.6em;text-align:left;white-space:nowrap}.pk-it .pk-n{font-weight:600}

/* Production: compact tickets, Orders / Events lanes (Dov, Oct 25) */
.pk-split{display:flex;flex-direction:column;gap:14px}
.pk-lh{font-size:1.05rem;margin:0 0 6px;color:#0F2236;text-transform:uppercase;letter-spacing:.05em}.pk-lh small{background:#14B1A0;color:#fff;border-radius:10px;padding:1px 8px;margin-left:6px;font-size:.85rem}
.pk-split .pk-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.pk-split .pk-th{padding:6px 10px 4px}.pk-split .pk-time{font-size:1.3rem}
.pk-split .pk-it{padding-top:6px;padding-bottom:6px}.pk-split .pk-it .pk-q,.pk-split .pk-it .pk-n{font-size:1.1rem}
@media (max-width:700px){.pk-split .pk-grid{grid-template-columns:1fr}}

/* Production: denser lines, everything open (Dov, Oct 25 2:28) */
.pk-split .pk-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}
.pk-split .pk-it{padding-top:2px;padding-bottom:2px;min-height:0}.pk-split .pk-it .pk-q,.pk-split .pk-it .pk-n{font-size:1rem;line-height:1.2}
.pk-split .pk-th{padding:4px 8px 2px}.pk-split .pk-time{font-size:1.15rem}.pk-split .pk-sub{font-size:.8rem}
.pk-split .pk-chk{width:22px;height:22px}

/* Deli today (Dov, Oct 25): big readable rows; green = In today, red struck = Sold out, grey = not out */
.page-deli { max-width: 980px; }
.dl-back { margin: 0 0 .4rem; }
.dl-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: .6rem 1rem; margin-bottom: .8rem; }
.dl-title h1 { margin: 0; } .dl-title .muted { display: block; }
.dl-sum { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.dl-c { display: inline-block; padding: .25rem .65rem; border-radius: 999px; font-weight: 650; font-size: .95rem; }
.dl-cin { background: var(--green-bg); color: var(--green); } .dl-cout { background: var(--red-bg); color: var(--red); }
.dl-upd { font-size: .9rem; }
.dl-bar { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; margin-bottom: 1rem; position: sticky; top: 0; z-index: 5; background: var(--bg); padding: .4rem 0; }
.dl-seg > button small { opacity: .75; }
.dl-q { flex: 1 1 220px; min-width: 180px; max-width: 360px; min-height: 42px; }
.dl-cat { margin-bottom: 1.1rem; }
.dl-cat h2 { font-size: 1rem; text-transform: uppercase; letter-spacing: .04em; color: var(--ink2); margin: 0 0 .4rem; }
.dl-row { display: flex; align-items: center; justify-content: space-between; gap: .8rem; background: #fff; border: 1px solid var(--line); border-left: 6px solid #c4ccd6; border-radius: var(--r); padding: .55rem .8rem; margin-bottom: .4rem; min-height: 56px; }
.dl-row.dl-in { border-left-color: var(--teal); background: var(--green-bg); }
.dl-row.dl-out { border-left-color: var(--red); background: var(--red-bg); }
.dl-row.dl-out .dl-name b { text-decoration: line-through; color: var(--red); }
.dl-row.dl-off { opacity: .55; }
.dl-name { min-width: 0; }
.dl-name b { font-size: 1.15rem; }
.dl-sub { display: block; color: var(--muted); }
.dl-unit, .dl-days { display: inline-block; font-size: .8rem; font-weight: 600; padding: .05rem .45rem; border-radius: 4px; background: var(--blue-bg); color: var(--blue2); vertical-align: middle; }
.dl-days { background: var(--amber-bg); color: var(--amber); }
.dl-btns { display: inline-flex; gap: .4rem; flex: none; }
.dl-b { min-height: 46px; min-width: 104px; padding: .4rem .8rem; border: 1px solid #c4ccd6; border-radius: var(--r); background: #fff; color: var(--ink2); font: inherit; font-weight: 600; cursor: pointer; }
.dl-bin.on { background: var(--green); border-color: var(--green); color: #fff; }
.dl-bout.on { background: var(--red); border-color: var(--red); color: #fff; }
.dl-pill { flex: none; font-weight: 650; font-size: .95rem; padding: .3rem .75rem; border-radius: 999px; }
.dl-pin { background: var(--green); color: #fff; } .dl-pout { background: var(--red); color: #fff; } .dl-pnone { background: var(--line2); color: var(--muted); }
.dl-empty { color: var(--muted); padding: 1.5rem 0; }
.deli-tag { display: inline-block; font-size: .75rem; font-weight: 650; padding: .05rem .4rem; border-radius: 4px; margin-left: .35rem; vertical-align: middle; }
.deli-tag.deli-in { background: var(--green-bg); color: var(--green); } .deli-tag.deli-out { background: var(--red-bg); color: var(--red); }
.deli-cat-tag { display: inline-block; font-size: .75rem; font-weight: 600; padding: .05rem .4rem; border-radius: 4px; background: var(--blue-bg); color: var(--blue2); margin-left: .3rem; }
.deli-box { border: 1px solid var(--line); border-radius: var(--r); padding: .5rem .7rem; margin: .5rem 0; }
.deli-days { display: flex; flex-wrap: wrap; gap: .2rem .8rem; }
.pk-deli { margin-left: auto; font-weight: 600; padding: .3rem .7rem; border: 1px solid #c4ccd6; border-radius: var(--r); background: #fff; }
@media (max-width: 600px) { .dl-row { flex-wrap: wrap; } .dl-btns { width: 100%; } .dl-b { flex: 1; } }

/* Deli history (Oct 25) */
.dh-mode, .dh-range, .dh-filt { margin-bottom: .7rem; }
.dh-nav { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .5rem; margin-bottom: .6rem; }
.dh-nav .btn { min-width: 44px; min-height: 42px; font-size: 1.2rem; }
.dh-date { min-height: 42px; }
.dh-dlong { font-weight: 600; color: var(--ink2); }
.dh-sum { margin-bottom: .7rem; }
.dh-note { margin: -.2rem 0 .6rem; }
.dh-top { background: #fff; border: 1px solid var(--line); border-left: 6px solid var(--red); border-radius: var(--r); padding: .55rem .9rem; margin-bottom: .9rem; }
.dh-top h2 { font-size: 1rem; margin: 0 0 .3rem; color: var(--ink2); }
.dh-top ol { margin: 0; padding-left: 1.3rem; } .dh-top li { margin: .15rem 0; }
.dh-table th { white-space: nowrap; }
.dh-sort { background: none; border: 0; padding: 0; font: inherit; font-weight: 650; color: var(--ink2); cursor: pointer; }
.dh-sort.on { color: var(--teal); }
@media (max-width: 600px) { .dh-table th, .dh-table td { padding: .35rem .3rem; font-size: .88rem; } .dh-table th { white-space: normal; } }
.photo-box { margin: .5rem 0; } .photo-box .lbl { display: block; font-weight: 600; margin-bottom: .25rem; }
.photo-row { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.ip-prev img { width: 72px; height: 72px; object-fit: cover; border-radius: 8px; border: 1px solid var(--line); display: block; }
.dh .dl-row { flex-wrap: nowrap; }
.dh-date { min-width: 175px; }
.dh-sort { white-space: normal; text-align: inherit; line-height: 1.2; }
.dh-table td.num, .dh-table th.num { text-align: right; }
@media (max-width: 600px) { .dh-table th { font-size: .78rem; vertical-align: bottom; } .dh-table td:first-child { min-width: 7.5rem; } }

/* Deli Today lookup + filters (Oct 25, v6403): the secretary finds an item in seconds; marking stays in All deli items */
.dl-tabs { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .8rem; margin-bottom: .5rem; }
.dl-bar { display: block; }
.dl-bar .dl-q { display: block; width: 100%; max-width: 560px; }
.dl-bar .dl-qbig { max-width: 720px; font-size: 1.25rem; min-height: 54px; padding: .5rem .9rem; border: 2px solid var(--teal); border-radius: 8px; }
.dl-chips { display: flex; gap: .4rem; overflow-x: auto; -webkit-overflow-scrolling: touch; padding: .5rem 0 .25rem; scrollbar-width: thin; }
.dl-chip { flex: none; min-height: 40px; padding: .35rem .85rem; border: 1px solid #c4ccd6; border-radius: 999px; background: #fff; color: var(--ink2); font: inherit; font-size: .95rem; font-weight: 600; cursor: pointer; white-space: nowrap; }
.dl-chip small { opacity: .7; font-weight: 500; margin-left: .1rem; }
.dl-chip.on { background: #0F2236; border-color: #0F2236; color: #fff; }
.dl-chip.dl-chin.on { background: var(--green); border-color: var(--green); }
.dl-chip.dl-chout.on { background: var(--red); border-color: var(--red); }
.dl-chsep { flex: none; width: 1px; background: var(--line); margin: .3rem .15rem; }
.dl-clear { flex: none; min-height: 40px; padding: .35rem .5rem; background: none; border: 0; color: var(--teal); font: inherit; font-weight: 650; text-decoration: underline; cursor: pointer; }
@media (min-width: 900px) { .dl-chips { flex-wrap: wrap; overflow: visible; } }
.dl-lsec h2 { font-size: 1rem; text-transform: uppercase; letter-spacing: .04em; color: var(--ink2); margin: .8rem 0 .15rem; }
.dl-lsec-out h2 { color: var(--red); } .dl-lsec-in h2 { color: var(--green); }
.dl-lh { font-size: .76rem; font-weight: 650; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); margin: .45rem 0 .15rem; }
.dl-lrow { display: flex; align-items: center; justify-content: space-between; gap: .6rem; background: #fff; border: 1px solid var(--line); border-left: 5px solid #c4ccd6; border-radius: var(--r); padding: .3rem .55rem; margin-bottom: .25rem; min-height: 44px; }
.dl-lrow.dl-lin { border-left-color: var(--green); }
.dl-lrow.dl-lout { border-left-color: var(--red); background: #f6f7f9; } .dl-lrow.dl-lout .dl-ln { opacity: .6; }
.dl-lrow.dl-lnone .dl-ln b { color: var(--ink2); font-weight: 600; }
.dl-ln { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dl-ln b { font-size: 1.08rem; color: var(--ink); }
.dl-lbl { display: inline-block; font-size: .74rem; font-weight: 600; padding: .05rem .4rem; border-radius: 4px; background: var(--line2); color: var(--ink2); vertical-align: middle; }
.dl-lp { font-size: .92rem; font-weight: 600; color: var(--ink2); } .dl-lc { color: var(--muted); }
.dl-st { flex: none; min-width: 8rem; text-align: center; font-weight: 800; letter-spacing: .03em; font-size: .95rem; padding: .35rem .8rem; border-radius: 999px; }
.dl-stin { background: var(--green); color: #fff; }
.dl-stout { background: var(--red); color: #fff; } .dl-stout small { font-weight: 600; font-size: .8rem; opacity: .9; letter-spacing: 0; }
.dl-stnone { background: var(--line2); color: var(--muted); font-weight: 650; letter-spacing: 0; }
.dl-nomatch b { color: var(--ink); }
@media (max-width: 600px) { .dl-ln { white-space: normal; } .dl-st { min-width: 0; font-size: .85rem; padding: .3rem .6rem; } }

/* Dense label grid (Dov 3:16 AM "fit more in one screen", v6404) */
.dl-gsec { margin-bottom: .55rem; }
.dl-gh { display: flex; align-items: baseline; justify-content: space-between; gap: .5rem; background: #0F2236; color: #fff; font-size: .78rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: .2rem .55rem; border-radius: 4px; margin: .45rem 0 .2rem; }
.dl-gh small { font-weight: 500; letter-spacing: 0; text-transform: none; opacity: .8; font-size: .76rem; }
.dl-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: .5rem; }
@media (min-width: 700px) { .dl-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .dl-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.dl-gc { display: flex; align-items: center; justify-content: space-between; gap: .3rem; min-height: 32px; padding: 0 .3rem; border-bottom: 1px solid var(--line2); font-size: .9rem; min-width: 0; }
.dl-gn { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; color: var(--ink); }
.dl-gc.dl-gout .dl-gn { color: var(--muted); text-decoration: line-through; font-weight: 500; }
.dl-gc.dl-gnone .dl-gn { color: var(--ink2); font-weight: 500; }
.dl-gp { flex: none; font-size: .72rem; font-weight: 700; line-height: 1; padding: .22rem .42rem; border-radius: 999px; white-space: nowrap; }
.dl-gpin { background: var(--green); color: #fff; } .dl-gpout { background: var(--red); color: #fff; } .dl-gpout small { font-weight: 500; font-size: .68rem; }
.dl-gpnone { background: var(--line2); color: var(--muted); font-weight: 600; }
@media (max-width: 420px) { .dl-gc { font-size: .84rem; } .dl-gpout small { display: none; } .dl-gpnone { font-size: 0; padding: 0; width: 9px; height: 9px; background: #c4ccd6; } }
.dl-fewlist { margin-top: .3rem; }
/* All deli items: same density, small buttons side by side */
.dl-grid-all { grid-template-columns: 1fr; }
@media (min-width: 640px) { .dl-grid-all { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .dl-grid-all { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.dl-row.dl-dense { flex-wrap: nowrap; min-height: 36px; margin: 0; padding: .1rem .35rem; border: 0; border-bottom: 1px solid var(--line2); border-left: 4px solid #c4ccd6; border-radius: 0; background: #fff; gap: .4rem; }
.dl-row.dl-dense.dl-in { border-left-color: var(--green); background: var(--green-bg); }
.dl-row.dl-dense.dl-out { border-left-color: var(--red); background: var(--red-bg); }
.dl-row.dl-dense .dl-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dl-row.dl-dense .dl-name b { font-size: .92rem; }
.dl-row.dl-dense .dl-tm { color: var(--muted); font-size: .72rem; }
.dl-row.dl-dense .dl-btns { width: auto; gap: .25rem; }
.dl-row.dl-dense .dl-b { flex: none; min-height: 30px; min-width: 46px; padding: .1rem .5rem; font-size: .85rem; }

@media (max-width: 600px) { .page-deli .dl-head { margin-bottom: .4rem; gap: .25rem .6rem; } .page-deli .dl-title h1 { font-size: 1.3rem; } .page-deli .dl-title .muted { font-size: .82rem; }
  .page-deli .dl-c { font-size: .8rem; padding: .12rem .5rem; } .page-deli .dl-upd { font-size: .76rem; } .page-deli .dl-tabs { margin-bottom: .35rem; } .page-deli .dl-tabs > .muted { display: none; }
  .dl-bar .dl-qbig { min-height: 48px; font-size: 1.1rem; } .dl-chip { min-height: 36px; padding: .25rem .7rem; } .dl-chips { padding-top: .4rem; } }

/* v6405 (Dov 3:24 AM): smaller, cleaner status tags */
.dl-st, .dl-pill { min-width: 0; font-size: .74rem; font-weight: 650; letter-spacing: .01em; padding: .12rem .5rem; border-radius: 999px; line-height: 1.3; }
.dl-stin { background: #e6f6ee; color: #137a45; border: 1px solid #b9e3cb; }
.dl-stout { background: #fdecec; color: #b42318; border: 1px solid #f5c2c0; }
.dl-stout small { font-size: .7rem; font-weight: 600; opacity: .85; }
.dl-stnone { background: #f2f4f6; color: var(--muted); border: 1px solid var(--line2); }

/* v6406 (Dov, Oct 25 3:26-3:28 AM): Deli Today column choice 1 | 2 | 3; filters on two lines (Status / Category); All deli items always one column. */
.dl-qrow { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; }
.dl-qrow .dl-q { flex: 1 1 260px; min-width: 0; }
.dl-colpick { display: inline-flex; align-items: center; gap: .4rem; flex: none; }
.dl-colseg button { min-width: 40px; min-height: 36px; padding: .2rem .6rem; font-weight: 600; }
.dl-chrows { display: flex; flex-direction: column; gap: .15rem; padding-top: .35rem; }
.dl-chrow { display: flex; align-items: center; gap: .5rem; min-width: 0; }
.dl-chlab { flex: none; width: 4.6rem; color: var(--muted); font-size: .75rem; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
.dl-colpick .dl-chlab { width: auto; }
.dl-chrow .dl-chips { flex: 1 1 auto; min-width: 0; padding: .2rem 0; flex-wrap: nowrap; overflow-x: auto; }
@media (min-width: 900px) { .dl-chrow .dl-chips { flex-wrap: wrap; overflow: visible; } }
@media (max-width: 600px) { .dl-chlab { width: 3.9rem; font-size: .68rem; } .dl-chrows { gap: 0; } }
#dl-list.dl-cols-1 .dl-grid { grid-template-columns: 1fr; }
#dl-list.dl-cols-2 .dl-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
#dl-list.dl-cols-3 .dl-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
#dl-list.dl-cols-1 .dl-gc { min-height: 40px; font-size: 1rem; padding: 0 .5rem; }
#dl-list.dl-cols-1 .dl-gpout small { display: inline; }
#dl-list.dl-cols-1 .dl-gpnone { font-size: .75rem; width: auto; height: auto; padding: .1rem .45rem; background: var(--line2); }
#dl-list.dl-cols-1, #dl-list.dl-alllist { max-width: 760px; }
#dl-list .dl-grid.dl-grid-all { grid-template-columns: 1fr; }
#dl-list .dl-row.dl-dense { min-height: 42px; padding: .2rem .5rem; }
#dl-list .dl-row.dl-dense .dl-name b { font-size: .98rem; }
#dl-list .dl-row.dl-dense .dl-b { min-height: 34px; min-width: 54px; font-size: .9rem; }
.page-hours .hr-note { margin: .5rem 0 0; font-size: .9rem; }
#dl-list.dl-cols-1 .dl-grid, #dl-list .dl-grid.dl-grid-all { grid-template-columns: minmax(0, 1fr); }
#dl-list .dl-row.dl-dense .dl-name { min-width: 0; flex: 1 1 auto; }

/* Hours v2 (Oct 25): Store + Kitchen main, other schedules as small collapsed rows */
.page-hours .hr-others { padding-top: .6rem; padding-bottom: .4rem; }
.page-hours .hr-oh { font-size: .8rem; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: #0F2236; opacity: .7; margin: 0 0 .3rem; }
.page-hours .hr-oh-edit { margin: 1rem 0 .4rem; }
.hr-other { border-top: 1px solid var(--line2, #eee); font-size: .88rem; }
.hr-other:first-of-type { border-top: 0; }
.hr-other > summary { list-style: none; display: flex; align-items: center; gap: .5rem; padding: .45rem 0; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.hr-other > summary::-webkit-details-marker { display: none; }
.hr-other .hr-name { font-weight: 600; color: #0F2236; min-width: 6.2rem; }
.hr-other .hr-today { color: #555; flex: 1; font-size: .82rem; }
.hr-other .hr-chev { color: #14B1A0; font-size: 1.1rem; line-height: 1; transition: transform .15s; }
.hr-other[open] .hr-chev { transform: rotate(90deg); }
.hr-other .hr-body { padding: 0 0 .5rem; }
.hr-other .hr-full { margin: 0 0 .2rem; font-size: .78rem; }
.hours-t.sm { font-size: .82rem; } .hours-t.sm th { width: 6rem; padding: .2rem .5rem .2rem 0; } .hours-t.sm td { padding: .2rem 0; }
.page-hours .hr-other .hr-note { font-size: .8rem; margin-top: .3rem; }

/* Plan ahead (Oct 25): Hebrew-month calendar of Store / Deli / Butcher / Phone hours. Grey = regular, navy bold = special. */
.page-plan .pl-head p { margin: .1rem 0 0; }
.page-plan .pl-acts { display: flex; gap: .4rem; flex-wrap: wrap; }
.page-plan .pl-ovk { color: #0F2236; }
.pl-nav { display: flex; align-items: center; gap: .6rem; margin: .4rem 0 .8rem; flex-wrap: wrap; }
.pl-nav .pl-arr { font-size: 1.4rem; line-height: 1; min-width: 44px; justify-content: center; padding: .35rem .7rem; }
.pl-title { display: flex; align-items: baseline; gap: .55rem; flex-wrap: wrap; }
.pl-title h2 { margin: 0; font-size: 1.3rem; color: #0F2236; }
.pl-title-he { font-size: 1.2rem; color: #0F2236; }
.pl-grid { border: 1px solid var(--line); border-radius: 8px; background: #fff; overflow: hidden; }
.pl-wh, .pl-wk { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.pl-wh > div { padding: .35rem .5rem; font-size: .78rem; font-weight: 650; color: #fff; background: #0F2236; text-transform: uppercase; letter-spacing: .03em; }
.pl-wk + .pl-wk { border-top: 1px solid var(--line); }
.pl-cell { padding: .35rem .45rem .45rem; border-left: 1px solid var(--line2); min-height: 8.2rem; font-size: .78rem; line-height: 1.3; min-width: 0; }
.pl-cell:first-child { border-left: 0; }
.pl-cell.ed, .pl-row.ed { cursor: pointer; }
.pl-cell.ed:hover, .pl-row.ed:hover { background: #f4f8fa; }
.pl-cell.out { background: #fafbfc; opacity: .5; }
.pl-cell.closed, .pl-row.closed { background: #f6f7f8; }
.pl-cell.today, .pl-row.today { box-shadow: inset 0 0 0 2px #14B1A0; }
.pl-dh { display: flex; justify-content: space-between; align-items: baseline; gap: .3rem; }
.pl-en { font-size: .74rem; color: var(--muted); white-space: nowrap; }
.pl-he { font-size: .95rem; color: #0F2236; font-weight: 600; white-space: nowrap; }
.pl-tags { min-height: 1.05rem; direction: rtl; text-align: right; margin: .05rem 0 .15rem; }
.pl-tag { display: inline-block; font-size: .74rem; color: #0e8f81; margin-left: .35rem; font-family: "Times New Roman", "David", serif; }
.pl-tag.yt { font-weight: 700; }
.pl-l { display: flex; gap: .3rem; color: #8a96a3; white-space: nowrap; overflow: hidden; }
.pl-l .pl-k { flex: none; width: 3.6rem; color: #9aa5b1; }
.pl-l .pl-v { overflow: hidden; text-overflow: ellipsis; }
.pl-l.ov .pl-v, .pl-l.ov .pl-k { color: #0F2236; font-weight: 700; }
.pl-note { color: #0F2236; font-weight: 700; margin-top: .15rem; overflow-wrap: anywhere; }
.pl-list { display: none; }
.pl-lw { border: 1px solid var(--line); border-radius: 8px; background: #fff; margin-bottom: .6rem; overflow: hidden; }
.pl-row { padding: .5rem .7rem; font-size: .9rem; }
.pl-row + .pl-row { border-top: 1px solid var(--line2); }
.pl-rd { display: flex; align-items: baseline; gap: .45rem; }
.pl-rd .pl-he { margin-left: auto; }
.pl-row .pl-tags { min-height: 0; }
.pl-row .pl-tag { font-size: .85rem; }
.pl-rl { display: grid; grid-template-columns: 1fr 1fr; column-gap: .8rem; }
.pl-row .pl-l { font-size: .86rem; }
.pl-row .pl-note { grid-column: 1 / -1; font-size: .86rem; }
.pl-mh { margin-top: 0; }
.pl-mf .lbl small { font-weight: 400; margin-left: .3rem; }
.hr-special { color: #0F2236; font-weight: 700; }
@media (max-width: 760px) {
  .page-plan .pl-grid { display: none; }
  .page-plan .pl-list { display: block; }
  .pl-title h2 { font-size: 1.15rem; }
  .pl-nav .pl-greg { width: 100%; }
}
/* old plan print block replaced by the one-page Letter calendar at the end of this file (v6424) */
}

/* Plan ahead v2 (Oct 25): plans list + new-plan form */
.pl-plist { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: .7rem; }
.pl-pc { display: flex; flex-direction: column; gap: .15rem; background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: .75rem .9rem; color: #0F2236; }
.pl-pc:hover { text-decoration: none; border-color: #14B1A0; }
.pl-pc.now { border-left: 4px solid #14B1A0; }
.pl-pn { font-weight: 700; font-size: 1.05rem; }
.pl-pr { font-size: .92rem; } .pl-now { color: #0e8f81; }
.pl-ps { font-size: .85rem; }
.pl-back { margin: 0 0 .2rem; font-size: .92rem; }
.page-plan .pl-sub { margin: .1rem 0 0; }
.page-plan .pl-hint { margin: .1rem 0 .6rem; }
.pl-acts .pl-del { color: var(--red); }
.pl-quick { display: flex; gap: .4rem; flex-wrap: wrap; margin: 0 0 .6rem; }
.pl-fs { border: 1px solid var(--line); border-radius: 6px; padding: .4rem .7rem .55rem; margin: 0; display: flex; flex-wrap: wrap; gap: .3rem 1rem; }
.pl-fs legend { font-weight: 600; font-size: .92rem; padding: 0 .3rem; }
.pl-ck { display: inline-flex; align-items: center; gap: .35rem; min-height: 36px; font-size: .95rem; }
.pl-ck input { width: 18px; height: 18px; }
.pl-l .pl-k { width: 3.9rem; }
@media print { body.plan-printing .pl-back, body.plan-printing .pl-hint { display: none !important; } }

/* Special day rules (Oct 25) */
.pl-rule { float: left; direction: ltr; font-size: .66rem; font-weight: 700; color: #0e8f81; border: 1px solid #14B1A0; border-radius: 4px; padding: 0 .25rem; line-height: 1.35; margin-top: .1rem; }
.pl-row .pl-rule { font-size: .74rem; }
.page-hours .hr-rh { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.page-hours .hr-rnote { font-size: .8rem; margin: 0 0 .2rem; }
.hr-rule { display: flex; gap: .5rem; padding: .35rem 0; border-top: 1px solid var(--line2, #eee); font-size: .88rem; }
.hr-rule .hr-name { font-weight: 600; color: #0F2236; min-width: 8rem; }
.hr-rule .hr-today { color: #555; flex: 1; font-size: .84rem; }
.page-hours .hr-today.hr-special { color: #0F2236; font-weight: 700; }

/* Plan ahead: hours wrap instead of cutting off (Oct 25) */
.pl-l { white-space: normal; overflow: visible; }
.pl-l .pl-v { overflow: visible; text-overflow: clip; overflow-wrap: anywhere; min-width: 0; }

/* v6414 (Dov Oct 25 4:30 AM): whole line colored by status */
.dl-gc.dl-gin,.dl-lrow.dl-lin,.dl-row.dl-in{background:#e8f6ee!important}
.dl-gc.dl-gout,.dl-lrow.dl-lout,.dl-row.dl-out{background:#fbeaea!important}
.dl-gc.dl-gnone,.dl-lrow.dl-lnone,.dl-row.dl-none{background:#f1f2f4!important}
.dl-gc.dl-gin .dl-gn{color:#14532d}.dl-gc.dl-gout .dl-gn{color:#8a1c1c}.dl-gc.dl-gnone .dl-gn{color:#555b66}
.dl-gc,.dl-lrow,.dl-row{border-radius:6px;margin-bottom:2px}

/* v6416 column-picker icons */
.dl-colseg button{padding:.25rem .45rem;line-height:0}
.dl-colico{fill:none;stroke:currentColor;stroke-width:1.4}
.dl-colseg button.on .dl-colico{fill:currentColor;fill-opacity:.25}

/* v6419 (Dov Oct 25 4:41 AM): 3 statuses + Not checked. Available green, Sold out red, Not out today (checked) grey, Not checked = plain white */
.dl-gc.dl-gna,.dl-lrow.dl-lna,.dl-row.dl-na{background:#f1f2f4!important;border:1px solid #e3e5e9}
.dl-gc.dl-gnone,.dl-lrow.dl-lnone,.dl-row.dl-none{background:#fff!important;border:1px solid #e3e6ea}
.dl-gc.dl-gnone .dl-gn,.dl-lrow.dl-lnone .dl-ln b,.dl-row.dl-none .dl-name b{color:#7a808a;font-weight:500}
.dl-gc.dl-gna .dl-gn{color:#555b66;font-weight:500}
.dl-gpna,.dl-stna,.dl-pna{background:#dfe2e7;color:#4b5260;font-weight:600}
.dl-gpnone,.dl-stnone,.dl-pnone{background:#fff!important;color:#8a9099;border:1px dashed #c9ced6}
@media (max-width:420px){ .dl-gpnone{width:9px;height:9px;padding:0;font-size:0;border:1.5px solid #b8bec7;background:#fff!important} .dl-gpna{font-size:.72rem;padding:.08rem .38rem} }
#dl-list.dl-cols-1 .dl-gpnone{font-size:.75rem;width:auto;height:auto;padding:.1rem .45rem}
.dl-c.dl-cna{background:#e6e8ec;color:#4b5260}.dl-c.dl-cnone{background:#fff;color:#7a808a;border:1px solid #dfe2e7}
.dl-chip.dl-chna.on{background:#6b7280;border-color:#6b7280;color:#fff}
.dl-btns3 .dl-b{min-width:0}
#dl-list .dl-row.dl-dense .dl-btns3 .dl-b{min-width:0;padding:.1rem .5rem;font-size:.82rem}
.dl-bna.on{background:#6b7280;border-color:#6b7280;color:#fff}
@media (max-width:600px){ #dl-list .dl-row.dl-dense .dl-btns3{width:auto} #dl-list .dl-row.dl-dense .dl-btns3 .dl-b{padding:.1rem .4rem;font-size:.78rem;min-height:34px} }
.deli-tag.deli-na{background:#e6e8ec;color:#4b5260}
/* Show price toggle + price in cells (Dov 4:44 AM) */
.dl-gpr{font-weight:500;color:#5b6270;font-size:.8em;margin-left:.15rem}
.dl-prtog{display:inline-flex;align-items:center;gap:.3rem;border:1px solid #c4ccd6;background:#fff;border-radius:999px;padding:.2rem .55rem;font:inherit;font-size:.8rem;color:var(--ink2);cursor:pointer;white-space:nowrap}
.dl-prbox{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border:1.5px solid #8a93a0;border-radius:3px;font-size:11px;line-height:1;color:#fff}
.dl-prtog.on .dl-prbox{background:#0F2236;border-color:#0F2236}
/* Add item to deli (Dov 4:42 AM) */
.dl-allbtns{display:inline-flex;gap:.4rem;flex-wrap:wrap}
.dl-addq{width:100%;font-size:1.05rem;padding:.6rem .7rem;border:1px solid #c4ccd6;border-radius:8px;margin-bottom:.5rem}
.dl-addres{display:flex;flex-direction:column;gap:2px;max-height:60vh;overflow:auto}
.dl-addrow{display:block;text-align:left;width:100%;padding:.55rem .6rem;border:1px solid #e3e6ea;border-radius:6px;background:#fff;font:inherit;cursor:pointer}
.dl-addrow:hover{background:#f5f7fa}
.dl-addnew{border-style:dashed;color:#0F2236}
.dl-addin{font-size:.75rem;background:#e8f6ee;color:#14532d;padding:.05rem .4rem;border-radius:999px}
.dl-sbrow{display:flex;gap:1.2rem}
.dl-addname{margin:0 0 .6rem}

/* v6421 (Dov 4:48 AM): Deli Today detailed by default — label tag, price, POS # under the name; "Compact" = name + status */
#dl-list.dl-detail .dl-gc{align-items:flex-start;padding:.3rem .35rem;min-height:0}
#dl-list.dl-detail .dl-gn{white-space:normal;overflow:visible;display:flex;flex-direction:column;gap:.12rem}
#dl-list.dl-detail .dl-gnm{overflow-wrap:anywhere;line-height:1.2}
#dl-list.dl-detail .dl-gc.dl-gout .dl-gn{text-decoration:none}
#dl-list.dl-detail .dl-gc.dl-gout .dl-gnm{text-decoration:line-through}
.dl-gmeta{display:flex;flex-wrap:wrap;align-items:center;gap:.15rem .4rem;font-size:.78rem;font-weight:500;color:#5b6270;line-height:1.2}
.dl-gmeta .dl-lbl{font-size:.7rem;padding:0 .35rem}
.dl-gmeta .dl-gpr{font-weight:650;color:#2b3340;margin:0}
.dl-gcode{color:#8a9099}
#dl-list.dl-detail .dl-gp{margin-top:.1rem}
#dl-list.dl-detail.dl-cols-3 .dl-gc{flex-direction:column;gap:.2rem}

/* Dov Oct 25 4:51 AM: plan grid too cramped on phone/tablet -> day list below 1100px; grid cells wrap instead of cutting */
@media (max-width: 1100px) {
  .page-plan .pl-grid { display: none; }
  .page-plan .pl-list { display: block; }
}
.pl-cell .pl-l { flex-wrap: wrap; white-space: normal; }
.pl-cell .pl-l .pl-k { width: auto; }
.pl-cell .pl-l .pl-v { white-space: nowrap; }

/* Plan day editor: From | Till | Closed per schedule (Dov Oct 25 4:56 AM) */
.pl-mrow { margin: 0 0 .7rem; }
.pl-mlbl { font-size: .95rem; margin-bottom: .2rem; }
.pl-mlbl small { font-weight: 400; margin-left: .3rem; }
.pl-mft { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; gap: .45rem; align-items: end; }
.pl-mt { display: flex; flex-direction: column; gap: .1rem; min-width: 0; }
.pl-mt span { font-size: .78rem; color: var(--muted); }
.pl-mt input { width: 100%; min-width: 0; min-height: 42px; font-size: 1rem; padding: .35rem .5rem; box-sizing: border-box; }
.pl-mt input:disabled { background: #eef0f2; color: #9aa5b1; }
.pl-mc { display: inline-flex; align-items: center; gap: .3rem; min-height: 42px; font-size: .92rem; white-space: nowrap; }
.pl-mc input { width: 18px; height: 18px; }
/* Hours page head: title left, buttons grouped right on one line (Dov Oct 25 4:58 AM) */
.page-hours .hr-head, .page-plan .pl-head-row { display: flex; align-items: center; flex-wrap: nowrap; gap: .4rem; }
.page-hours .hr-head h1 { margin: 0 auto 0 0; }
.hr-acts { display: flex; gap: .4rem; flex: none; }
.page-plan .pl-acts { justify-content: flex-end; }

button.row.nn-row { width: 100%; text-align: left; background: none; border: 0; font: inherit; color: inherit; cursor: pointer; }
.page-plan .pl-acts { margin-left: auto; }

/* ---------- Plan ahead print v2: one calm Letter page (Dov Oct 25 4:53 + 5:05 AM, v6425) ----------
   Own print-only calendar (.plp); portrait Letter on every device (Android Chrome ignores @page size); named page so other printables keep theirs. */
.plp { display: none; }
@page planpage { size: letter portrait; margin: .25in; @bottom-right { content: none; } @bottom-center { content: none; } }
@media print {
  body:has(.page-plan .plp) .side, body:has(.page-plan .plp) header.top, body:has(.page-plan .plp) .support-fab, body:has(.page-plan .plp) .dirty-bar, body:has(.page-plan .plp) #toasts { display: none !important; }
  body:has(.page-plan .plp), body:has(.page-plan .plp) #app, body:has(.page-plan .plp) .layout, body:has(.page-plan .plp) .main-col, body:has(.page-plan .plp) main {
    display: block !important; min-height: 0 !important; height: auto !important; margin: 0 !important; padding: 0 !important; overflow: visible !important; background: #fff !important; }
  .page-plan { page: planpage; padding: 0 !important; margin: 0 !important; }
  .page-plan > *:not(.plp) { display: none !important; }
  .page-plan .plp { display: flex !important; flex-direction: column; height: 10.45in; width: 100%; overflow: hidden; break-inside: avoid; page-break-inside: avoid;
    font-family: Arial, Helvetica, Roboto, sans-serif; color: #222; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .plp-hd { flex: none; display: flex; align-items: center; padding: 0 2pt 7pt; }
  .plp-logo, .plp-sp { flex: 1 1 0; }
  .plp-logo { display: flex; align-items: center; gap: 5pt; font-size: 8.5pt; font-weight: 700; color: #0F2236; }
  .plp-logo img { height: .45in; width: auto; }
  .plp-ttl { flex: none; text-align: center; display: flex; flex-direction: column; line-height: 1.15; }
  .plp-ttl b { font-size: 20pt; color: #0F2236; letter-spacing: .01em; }
  .plp-ttl span { font-size: 10.5pt; color: #444; margin-top: 1pt; }
  .plp-grid { flex: 1 1 0; min-height: 0; display: flex; flex-direction: column; border: .75pt solid #9aa3ad; }
  .plp-wh { flex: none; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); background: #0F2236 !important; }
  .plp-wh > div { color: #fff !important; font-size: 8.5pt; font-weight: 700; text-align: center; padding: 3pt 0; letter-spacing: .05em; text-transform: uppercase; }
  .plp-wk { flex: 1 1 0; min-height: 0; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); border-top: .5pt solid #c3c9cf; break-inside: avoid; page-break-inside: avoid; }
  .plp-c { min-width: 0; min-height: 0; overflow: hidden; padding: 3pt 2.5pt 2pt; border-left: .5pt solid #c3c9cf; display: flex; flex-direction: column; background: #fff; }
  .plp-c:first-child { border-left: 0; }
  .plp-c.allc { background: #eef0f2 !important; }
  .plp-d { display: flex; justify-content: space-between; align-items: baseline; gap: 2pt; }
  .plp-n { font-size: 15pt; font-weight: 700; color: #0F2236; line-height: 1; }
  .plp-n small { font-size: 8.5pt; font-weight: 700; color: #0F2236; text-transform: uppercase; }
  .plp-h { font-size: 8.5pt; color: #555; white-space: nowrap; }
  .plp-c.out .plp-n, .plp-c.out .plp-h, .plp-c.out .plp-n small { color: #c5cad0; font-weight: 400; }
  .plp-b { margin: 3pt -2.5pt 0; padding: 1.5pt 2.5pt; background: #dfe8ee !important; color: #0F2236; font-size: 8pt; line-height: 1.2; display: flex; align-items: baseline; gap: 3pt; }
  .plp-b.yt { background: #cfdde7 !important; font-weight: 700; }
  .plp-b span { flex: 1 1 auto; direction: rtl; text-align: right; min-width: 0; }
  .plp-b i { font-style: normal; font-size: 7pt; font-weight: 700; color: #0b6b60; white-space: nowrap; }
  .plp-c.allc .plp-b { background: #d9dee3 !important; }
  .plp-t { margin-top: 4pt; display: flex; flex-direction: column; gap: 2.5pt; }
  .plp-r { display: flex; justify-content: space-between; align-items: baseline; gap: 2pt; font-size: 8pt; line-height: 1.2; white-space: nowrap; flex-wrap: wrap; }
  .plp-k { color: #666; }
  .plp-v { margin-left: auto; color: #333; text-align: right; letter-spacing: -.15pt; }
  .plp-r.cl .plp-v { font-weight: 700; color: #222; }
  .plp-r.ov .plp-v, .plp-r.ov .plp-k { font-weight: 700; color: #0F2236; }
  .plp-x { flex: 1 1 auto; display: flex; align-items: center; justify-content: center; font-size: 11pt; font-weight: 700; color: #555; letter-spacing: .03em; }
  .plp-note { margin-top: 2pt; font-size: 7.5pt; font-weight: 700; color: #0F2236; line-height: 1.2; }
  .plp-f { flex: none; text-align: right; font-size: 7pt; color: #888; padding-top: 3pt; }
}
@media print and (orientation: landscape) { .page-plan .plp { height: 7.95in; } }

/* Sizes & prices rows editor + stock place (Dov, Oct 25 5:09–5:11 AM) */
.sz-ed { display: flex; flex-direction: column; gap: 6px; margin: 4px 0 10px; }
.sz-ed .lbl { font-weight: 600; }
.sz-head, .sz-row { display: grid; grid-template-columns: minmax(0, 1fr) 92px 84px 34px; gap: 6px; align-items: center; }
.sz-head { font-size: 12px; color: var(--muted, #6b7280); padding: 0 2px; }
.sz-row select, .sz-row input { width: 100%; min-width: 0; box-sizing: border-box; }
.sz-pr { display: flex; align-items: center; gap: 3px; }
.sz-pr > span { color: var(--muted, #6b7280); }
.sz-del { height: 36px; border: 1px solid var(--line, #d1d5db); background: transparent; border-radius: 8px; font-size: 20px; line-height: 1; color: var(--muted, #6b7280); cursor: pointer; padding: 0; }
.sz-del:hover { color: #b91c1c; border-color: #b91c1c; }
.sz-extra { grid-column: 1 / -1; display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.sz-extra .sz-custom { flex: 1 1 180px; }
.sz-pack { display: inline-flex; align-items: center; gap: 4px; font-size: 14px; white-space: nowrap; }
.sz-pack input { width: 70px; }
.sz-ed [hidden], .stock-place[hidden] { display: none !important; }
.sz-add { align-self: flex-start; }
.stock-tag { display: inline-block; font-size: 11px; padding: 1px 6px; border-radius: 6px; background: #eef2ff; color: #3730a3; margin-left: 4px; white-space: nowrap; }
@media (max-width: 420px) { .sz-head, .sz-row { grid-template-columns: minmax(0, 1fr) 84px 76px 32px; gap: 5px; } }


/* ---------- Converter + Tools (Dov, Oct 25 5:14–5:16 AM) ---------- */
.page-conv, .page-tools { max-width: 720px; }
.cv-head { display: flex; justify-content: space-between; align-items: flex-start; gap: .75rem; }
.cv-back { display: inline-block; color: var(--muted); margin-bottom: .1rem; }
.cv-card { background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 1rem; margin: 0 0 1rem; }
.cv-in { display: flex; gap: .6rem; }
.cv-n { flex: 0 0 38%; min-width: 0; font-size: 1.9rem; font-weight: 650; color: var(--ink); padding: .45rem .7rem; border: 2px solid var(--ink); border-radius: 8px; height: 64px; }
.cv-n:focus { border-color: var(--teal); outline: none; box-shadow: 0 0 0 3px rgba(20,177,160,.2); }
.cv-from { flex: 1; min-width: 0; font-size: 1.15rem; font-weight: 600; height: 64px; padding: 0 .7rem; border: 2px solid var(--ink); border-radius: 8px; background: #fff; color: var(--ink); }
.cv-food { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: .75rem; }
.cv-food label { display: flex; flex-direction: column; gap: .2rem; flex: 1 1 220px; }
.cv-food select, .cv-food input, .cv-two input { height: 48px; font-size: 1rem; padding: 0 .6rem; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--ink); min-width: 0; }
.cv-otherin { display: flex; align-items: center; gap: .5rem; }
.cv-otherin input { width: 6.5rem; }
.cv-eq { margin: 1rem 0 .3rem; font-size: 1.1rem; color: var(--ink); }
.cv-list, .cv-cnt { list-style: none; margin: 0; padding: 0; }
.cv-row { display: flex; align-items: baseline; gap: .7rem; padding: .6rem .2rem; border-top: 1px solid var(--line2); }
.cv-row:first-child { border-top: 0; }
.cv-v { flex: 0 0 7.5rem; text-align: right; font-size: 1.35rem; font-weight: 700; color: var(--ink); font-variant-numeric: tabular-nums; }
.cv-u { flex: 1; min-width: 0; font-size: 1.05rem; }
.cv-lb { background: var(--green-bg); border-radius: 8px; border-top-color: transparent; }
.cv-lb .cv-v { color: var(--green); }
.cv-ap { display: inline-block; font-size: .72rem; font-weight: 600; color: var(--amber); background: var(--amber-bg); border-radius: 4px; padding: 0 .35rem; vertical-align: middle; }
.cv-empty { padding: .6rem .2rem; }
.cv-foot { margin-top: .6rem; }
.cv-two { display: flex; gap: .6rem; }
.cv-two label { flex: 1; display: flex; flex-direction: column; gap: .2rem; min-width: 0; }
.cv-two input { font-size: 1.25rem; font-weight: 600; }
.cv-tot { margin: .8rem 0 .4rem; font-size: 1.05rem; }
.cv-cnt { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .4rem; }
.cv-cnt li { display: flex; align-items: center; gap: .55rem; border: 1px solid var(--line); border-radius: 8px; padding: .45rem .6rem; min-width: 0; }
.cv-c { font-size: 1.3rem; font-weight: 700; color: var(--teal); min-width: 2.2rem; text-align: right; font-variant-numeric: tabular-nums; }
.cv-elist { display: flex; flex-direction: column; }
.cv-er { display: flex; justify-content: space-between; align-items: center; gap: .6rem; padding: .45rem 0; border-top: 1px solid var(--line2); }
.cv-ei { display: flex; align-items: center; gap: .4rem; white-space: nowrap; }
.cv-ei input { width: 5.5rem; height: 44px; font-size: 1.05rem; padding: 0 .5rem; border: 1px solid var(--line); border-radius: 8px; }
.tl-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: .8rem; margin-top: .6rem; }
.tl-tile { display: flex; align-items: center; gap: .9rem; background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 1.1rem 1rem; color: var(--ink); min-height: 88px; }
.tl-tile:hover { text-decoration: none; border-color: var(--teal); }
.tl-ic { display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 10px; background: var(--green-bg); color: var(--teal); flex: none; }
.tl-ic .ic { width: 28px; height: 28px; }
.tl-tx { display: flex; flex-direction: column; gap: .15rem; min-width: 0; }
.tl-tx b { font-size: 1.15rem; }
@media (max-width: 480px) { .cv-v { flex-basis: 6rem; font-size: 1.2rem; } .cv-n { font-size: 1.6rem; } .cv-from { font-size: 1.05rem; } }

.sz-use { grid-column: 1 / -1; display: flex; gap: 6px; margin-top: -2px; }
.sz-chip { display: inline-flex; align-items: center; cursor: pointer; }
.sz-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.sz-chip span { font-size: 12px; padding: 3px 10px; border-radius: 999px; border: 1px solid var(--line, #d1d5db); color: var(--muted, #6b7280); background: #fff; }
.sz-chip input:checked + span { background: #0f766e; border-color: #0f766e; color: #fff; }
.sz-chip input:focus-visible + span { outline: 2px solid #2563eb; outline-offset: 1px; }
.sz-row { padding-bottom: 6px; border-bottom: 1px dashed var(--line, #e5e7eb); }
@media (min-width: 700px) { .sz-head, .sz-row { grid-template-columns: minmax(0, 1fr) 92px 84px auto 34px; } .sz-use { grid-column: auto; grid-row: 1; grid-column-start: 4; margin: 0; } .sz-del { grid-column-start: 5; grid-row: 1; } .sz-head span:last-child { grid-column: 4 / span 2; } }
.sz-extra { order: 1; } .sz-use { order: 2; }
@media (min-width: 700px) { .sz-extra, .sz-use { order: 0; } }
.sz-cost { margin-left: auto; display: inline-flex; align-items: center; gap: 3px; font-size: 12px; color: var(--muted, #6b7280); } .sz-cost input { width: 72px; } .deli-chk[hidden] { display: none !important; }


/* ---------- Converter "See it" (Dov, Oct 25 5:30 AM: see how much it fills) ---------- */
.cv-vis h2 { margin: 0 0 .1rem; }
.cv-vis-sub { margin: 0 0 .5rem; }
.cv-vis-grid { display: grid; grid-template-columns: 1fr; gap: .8rem; }
@media (min-width: 760px) { .cv-vis-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.cv-vg { border: 1px solid var(--line); border-radius: 10px; padding: .55rem .7rem .3rem; background: #fff; min-width: 0; }
.cv-vg h3 { margin: 0 0 .25rem; font-size: .78rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #0F2236; }
.cv-vr { padding: .35rem 0 .45rem; border-top: 1px solid var(--line2, #eef0f3); }
.cv-vr:first-of-type { border-top: 0; }
.cv-vl { font-size: 1rem; color: #0F2236; margin-bottom: .2rem; }
.cv-vl b { font-variant-numeric: tabular-nums; }
.cv-vi { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 3px 4px; }
.cv-ic { display: block; flex: none; }
.cv-vx { align-self: center; font-weight: 700; color: #14B1A0; font-size: .95rem; margin-left: .2rem; white-space: nowrap; }


/* ---------- Calculator (Dov, Oct 25 5:33 AM) ---------- */
.page-calc { max-width: 440px; }
.calc { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: .8rem; }
.calc-disp { background: #0F2236; color: #fff; border-radius: 10px; padding: .7rem .9rem; text-align: right; min-height: 104px; display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; }
.calc-expr { font-size: 1.05rem; color: #9fb3c8; min-height: 1.4em; word-break: break-all; font-variant-numeric: tabular-nums; }
.calc-res { font-size: 2.6rem; font-weight: 700; line-height: 1.15; word-break: break-all; font-variant-numeric: tabular-nums; }
.calc-res.calc-err { font-size: 1.4rem; color: #ffb4b4; }
.calc-keys { display: grid; grid-template-columns: repeat(4, 1fr); gap: .5rem; margin-top: .7rem; }
.calc-k { height: 64px; border-radius: 12px; border: 1px solid var(--line); background: #fff; color: #0F2236; font-size: 1.6rem; font-weight: 600; cursor: pointer; touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
.calc-k:active, .calc-k.calc-hit { background: #e6f7f5; }
.calc-op { background: #eef7f6; color: #0F8F82; font-size: 1.8rem; }
.calc-fn { background: #f3f4f6; font-size: 1.3rem; }
.calc-eq { background: #14B1A0; border-color: #14B1A0; color: #fff; font-size: 1.9rem; }
.calc-eq:active, .calc-eq.calc-hit { background: #0F8F82; }
.calc-wide { grid-column: span 2; }
.calc-tip { margin: .7rem 0 0; }

/* ---------- Price calc (Dov, Oct 25 5:34 AM) ---------- */
.page-pc { max-width: 560px; }
.pc-mode { display: flex; background: #f3f4f6; border-radius: 10px; padding: 3px; gap: 3px; margin-bottom: .8rem; }
.pc-tab { flex: 1; border: 0; background: transparent; border-radius: 8px; padding: .55rem .4rem; font-weight: 600; color: var(--muted); cursor: pointer; font-size: .95rem; }
.pc-tab.on { background: #fff; color: #0F2236; box-shadow: 0 1px 2px rgba(0,0,0,.08); }
.pc-amt { display: flex; flex-direction: column; gap: .2rem; }
.pc-money { display: flex; align-items: center; gap: .3rem; border: 1px solid var(--line); border-radius: 10px; padding: 0 .7rem; background: #fff; }
.pc-money span { font-size: 1.6rem; color: var(--muted); }
.pc-money input { border: 0; outline: 0; font-size: 2rem; font-weight: 700; width: 100%; min-width: 0; height: 58px; padding: 0; background: transparent; }
.pc-fields { display: flex; flex-direction: column; gap: .7rem; margin-top: .8rem; }
.pc-f { display: flex; flex-direction: column; gap: .25rem; }
.pc-f[hidden], .pc-only[hidden] { display: none !important; }
.pc-in { display: flex; align-items: center; gap: .4rem; flex-wrap: wrap; }
.pc-in input { width: 7rem; height: 46px; font-size: 1.2rem; font-weight: 600; padding: 0 .6rem; border: 1px solid var(--line); border-radius: 8px; }
#pc-people { width: 4.2rem; text-align: center; }
.pc-step { width: 46px; height: 46px; font-size: 1.4rem; padding: 0; }
.pc-seg { display: inline-flex; border: 1px solid var(--line); border-radius: 8px; overflow: hidden; }
.pc-seg button { border: 0; background: #fff; width: 46px; height: 44px; font-size: 1.1rem; font-weight: 700; color: var(--muted); cursor: pointer; }
.pc-seg button.on { background: #0F2236; color: #fff; }
.pc-chips { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; }
.pc-chip { border: 1px solid var(--line); background: #fff; border-radius: 999px; padding: .5rem .85rem; font-size: 1rem; font-weight: 600; color: #0F2236; cursor: pointer; min-height: 42px; }
.pc-chip.on { background: #14B1A0; border-color: #14B1A0; color: #fff; }
.pc-tipin { width: 5.5rem; height: 42px; font-size: 1rem; padding: 0 .6rem; border: 1px solid var(--line); border-radius: 999px; }
.pc-out { margin: 1rem 0 0; border-top: 1px solid var(--line); }
.pc-l { display: flex; justify-content: space-between; align-items: baseline; gap: .6rem; padding: .45rem 0; border-bottom: 1px solid var(--line2, #eef0f3); }
.pc-l dt { color: var(--muted); } .pc-l dd { margin: 0; font-size: 1.15rem; font-weight: 600; font-variant-numeric: tabular-nums; }
.pc-neg dd { color: #b42318; }
.pc-big dt { color: #0F2236; font-weight: 700; } .pc-big dd { font-size: 1.9rem; font-weight: 800; color: #0F2236; }
.pc-each dd { font-size: 1.5rem; color: #0F8F82; font-weight: 800; }

/* ---------- Timers (Dov, Oct 25 5:34 AM) ---------- */
.page-tm { max-width: 1200px; }
.tm-head { display: flex; justify-content: space-between; align-items: flex-start; gap: .75rem; }
.tm-snd { display: inline-flex; align-items: center; gap: .4rem; font-weight: 600; color: var(--muted); padding-top: 1.4rem; cursor: pointer; }
.tm-snd input { width: 20px; height: 20px; }
.tm-add { display: grid; grid-template-columns: minmax(0, 1fr) 5.5rem auto; gap: .5rem; background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: .7rem; }
.tm-add input { height: 50px; font-size: 1.15rem; padding: 0 .7rem; border: 1px solid var(--line); border-radius: 8px; min-width: 0; }
.tm-go { height: 50px; font-size: 1.1rem; padding: 0 1.1rem; }
.tm-chips { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: .4rem; }
.tm-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: .8rem; margin-top: .9rem; }
.tm-empty { grid-column: 1 / -1; padding: 1rem .2rem; }
.tm-card { background: #fff; border: 2px solid #0F2236; border-radius: 14px; padding: .8rem 1rem; text-align: center; }
.tm-name { font-size: 1.4rem; font-weight: 700; color: #0F2236; overflow-wrap: anywhere; }
.tm-time { font-size: 4rem; font-weight: 800; line-height: 1.1; color: #0F2236; font-variant-numeric: tabular-nums; margin: .2rem 0 .5rem; }
.tm-paused .tm-time { color: #9aa4b2; }
.tm-btns { display: flex; gap: .4rem; justify-content: center; }
.tm-b { min-height: 46px; font-size: 1.05rem; flex: 1; }
.tm-x { flex: 0 0 52px; font-size: 1.5rem; }
.tm-done { background: #d92d20; border-color: #d92d20; animation: tm-flash 1s steps(2, start) infinite; }
.tm-done .tm-name, .tm-done .tm-time { color: #fff; }
.tm-done .tm-b { background: #fff; color: #b42318; border-color: #fff; }
@keyframes tm-flash { 50% { background: #f97066; border-color: #f97066; } }
@media (prefers-reduced-motion: reduce) { .tm-done { animation: none; } }

/* ---------- Zmanim tool (Dov, Oct 25 5:34 AM) ---------- */
.page-zm { max-width: 720px; }
.zm-par { display: flex; justify-content: space-between; align-items: baseline; gap: .6rem; flex-wrap: wrap; font-size: 1.5rem; color: #0F2236; }
.zm-par span { font-size: 1.4rem; }
.zm-big { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; margin-top: .7rem; }
.zm-t { display: flex; flex-direction: column; gap: .15rem; background: #eef7f6; border-radius: 10px; padding: .7rem .8rem; }
.zm-t b { font-size: 2rem; color: #0F2236; font-variant-numeric: tabular-nums; }
.zm-list { list-style: none; margin: .3rem 0 0; padding: 0; }
.zm-r { display: flex; gap: .7rem; align-items: baseline; padding: .55rem 0; border-top: 1px solid var(--line2, #eef0f3); }
.zm-r:first-child { border-top: 0; }
.zm-d { flex: 0 0 6.8rem; font-weight: 600; color: #0F2236; }
.zm-n { flex: 1; min-width: 0; }
.zm-n small { display: block; color: var(--muted); }
.zm-c { display: flex; flex-direction: column; align-items: flex-end; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.zm-yt .zm-r.zm-yt b, .zm-r.zm-yt b { color: #0F8F82; }
@media (max-width: 420px) { .zm-big { grid-template-columns: 1fr; } .zm-d { flex-basis: 5.6rem; } .tm-time { font-size: 3.4rem; } .calc-k { height: 60px; } }


/* ---------- Recipes tool (Dov, Oct 25 5:37 AM): recipe costing, private per owner ---------- */
.page-rcp { max-width: 820px; }
.rc-head { align-items: flex-end; }
.rc-head h1 { margin: .1rem 0 .15rem; overflow-wrap: anywhere; }
.rc-acts { display: flex; flex-wrap: wrap; gap: .4rem; }
.rc-acts .btn { min-height: 40px; padding: .35rem .8rem; }
.rc-del { color: var(--red); border-color: #f1b5ae; }
.rc-search { margin: 0 0 .6rem; }
.rc-list { background: #fff; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.rc-list .rc-row { grid-template-columns: 1fr auto; padding: .75rem .9rem; }
.rc-list .rc-row:first-child { border-top: 0; }
.rc-row .r-main { display: flex; flex-direction: column; gap: .15rem; min-width: 0; }
.rc-row .r-main b { overflow-wrap: anywhere; }
.rc-row small { color: var(--muted); }
.rc-side { display: flex; flex-direction: column; align-items: flex-end; font-variant-numeric: tabular-nums; white-space: nowrap; }
.rc-tag { display: inline-block; margin-left: .3rem; padding: 0 .45rem; border-radius: 999px; background: #e6f6f4; color: #0F2236; font-size: .78rem; font-weight: 600; white-space: nowrap; }
.rc-empty { padding: 1rem; margin: 0; }
.rc-back { margin: 0 0 .2rem; }
.rc-card h2 { font-size: 1.05rem; margin: 0 0 .6rem; color: #0F2236; }
.rc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; margin-bottom: .7rem; }
.rc-grid:last-child { margin-bottom: 0; }
.rc-f { display: flex; flex-direction: column; gap: .25rem; min-width: 0; }
.rc-f .hint { font-size: .82rem; color: var(--muted); }
.rc-qu { display: flex; gap: .35rem; min-width: 0; }
.rc-qu input { width: 5.2rem; flex: 0 0 5.2rem; text-align: right; }
.rc-qu select { flex: 1 1 auto; min-width: 4.6rem; }
.rc-other { margin-top: .35rem; }
.rc-help { margin: -.2rem 0 .6rem; }
.rc-line { border-top: 1px solid var(--line2); padding: .6rem 0; }
.rc-line:first-child { border-top: 0; padding-top: 0; }
.rc-l1 { display: flex; gap: .4rem; align-items: center; }
.rc-l1 input, .rc-l1 select { flex: 1; font-weight: 600; }
.rc-x { flex: 0 0 40px; height: 40px; border: 1px solid var(--line); background: #fff; border-radius: var(--r); color: var(--muted); font-size: 1.3rem; line-height: 1; cursor: pointer; }
.rc-x:hover { color: var(--red); border-color: #f1b5ae; }
.rc-l2 { display: flex; flex-wrap: wrap; gap: .4rem .6rem; align-items: center; margin-top: .4rem; }
.rc-l2 .rc-qu input { width: 4.6rem; flex-basis: 4.6rem; }
.rc-l2 .rc-qu select { width: 5.2rem; flex: 0 0 5.2rem; }
.rc-buy { display: flex; align-items: center; gap: .3rem; }
.rc-buy input { width: 5.4rem; text-align: right; }
.rc-buy .rc-pq { width: 3.8rem; }
.rc-buy select { width: 5.2rem; }
.rc-d, .rc-per { color: var(--muted); font-size: .9rem; }
.rc-lc { flex: 1 1 8rem; min-width: 0; }
.rc-cost { margin-left: auto; font-variant-numeric: tabular-nums; color: #0F2236; min-width: 4.5rem; text-align: right; }
.rc-why { margin: .35rem 0 0; font-size: .85rem; color: var(--red); }
.rc-add { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .7rem; }
.rc-tl { display: flex; justify-content: space-between; gap: 1rem; padding: .4rem 0; border-top: 1px solid var(--line2); font-variant-numeric: tabular-nums; }
.rc-tl:first-of-type { border-top: 0; }
.rc-tl.rc-big b { font-size: 1.2rem; color: #0F2236; }
.rc-tl.rc-ok b { color: #0e8f81; }
.rc-tl.rc-hi b { color: var(--red); }
.rc-mp { margin: .6rem 0 .3rem; }
.rc-mp label { display: flex; flex-direction: column; gap: .25rem; }
.rc-mp input { width: 7rem; }
.rc-make { display: flex; gap: .4rem; max-width: 22rem; }
.rc-make input { width: 7rem; flex: 0 0 7rem; text-align: right; }
.rc-x-f { margin: .6rem 0 .3rem; color: var(--muted); }
.rc-st { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; margin-bottom: .7rem; }
.rc-st th, .rc-st td { text-align: left; padding: .4rem .3rem; border-top: 1px solid var(--line2); vertical-align: top; }
.rc-st th { font-size: .82rem; color: var(--muted); font-weight: 600; border-top: 0; }
.rc-st .num { text-align: right; white-space: nowrap; }
.rc-st tfoot td { font-weight: 700; color: #0F2236; }
.rc-card textarea { min-height: 7rem; }
.rc-ro input[readonly], .rc-ro textarea[readonly] { background: #f7f8fa; }
.rc-savebar { position: sticky; bottom: 0; z-index: 15; display: flex; align-items: center; justify-content: space-between; gap: .8rem; margin: 0 -.2rem; padding: .6rem .8rem; background: #fff; border: 1px solid var(--line); border-radius: 10px; box-shadow: 0 -2px 10px rgba(15, 34, 54, .08); }
.rc-savebar[hidden] { display: none; }
.rc-savebar span { color: var(--muted); font-size: .92rem; }
.rc-sh { display: flex; flex-direction: column; }
.rc-shr { display: flex; align-items: center; justify-content: space-between; gap: .7rem; padding: .5rem 0; border-top: 1px solid var(--line2); }
.rc-shr:first-child { border-top: 0; }
.rc-shr span { display: flex; flex-direction: column; min-width: 0; }
.rc-shr select { width: 9rem; flex: 0 0 9rem; }
@media (max-width: 560px) {
  .rc-grid { grid-template-columns: 1fr; }
  .rc-head .rc-acts { width: 100%; }
  .rc-head .rc-acts .btn { flex: 1 1 auto; }
  .rc-buy { flex: 1 1 100%; }
  .rc-buy input { flex: 1 1 4rem; width: auto; min-width: 0; }
  .rc-buy .rc-pq { flex: 0 0 3.4rem; }
  .rc-buy select { flex: 0 0 5rem; }
  .rc-l2 .rc-cost { flex: 0 0 auto; }
}
/* Print one recipe: a clean single page, nothing else of the app */
.rc-print { display: none; }
@media print {
  body.rcp-printing .side, body.rcp-printing header.top, body.rcp-printing .support-fab, body.rcp-printing .dirty-bar, body.rcp-printing #toasts, body.rcp-printing .mnav { display: none !important; }
  body.rcp-printing .page-rcp > *:not(.rc-print) { display: none !important; }
  body.rcp-printing .page-rcp { max-width: none; padding: 0 !important; }
  body.rcp-printing .rc-print { display: block !important; }
  body.rcp-printing main, body.rcp-printing .main-col, body.rcp-printing .layout, body.rcp-printing #app { margin: 0 !important; padding: 0 !important; }
  .rcp-pg { font-size: 11pt; color: #0F2236; }
  .rcp-hd { display: flex; justify-content: space-between; align-items: flex-start; border-bottom: 2px solid #0F2236; padding-bottom: 6pt; margin-bottom: 10pt; }
  .rcp-hd h1 { font-size: 20pt; margin: 0 0 2pt; }
  .rcp-hd p { margin: 0; color: #3d4f63; }
  .rcp-brand { font-size: 9pt; color: #5f6f80; }
  .rcp-t { width: 100%; border-collapse: collapse; margin-bottom: 10pt; }
  .rcp-t th, .rcp-t td { text-align: left; padding: 4pt 4pt; border-bottom: 1px solid #d9dee5; }
  .rcp-t th { font-size: 9pt; color: #5f6f80; }
  .rcp-t .num { text-align: right; }
  .rcp-sum { width: 55%; margin-left: auto; break-inside: avoid; }
  .rcp-k { display: flex; justify-content: space-between; padding: 2pt 0; border-bottom: 1px solid #e9ecf0; }
  .rcp-pg h2 { font-size: 12pt; margin: 12pt 0 4pt; }
  .rcp-notes { white-space: pre-wrap; }
  .rcp-f { margin-top: 12pt; font-size: 8pt; color: #5f6f80; }
}

/* Recipes: ingredient rows in 2 lines on a phone — [name][qty][unit] / [$ cost per qty unit][line $][×] */
.rc-r1, .rc-r2 { display: flex; align-items: center; gap: .35rem; min-width: 0; }
.rc-r2 { margin-top: .35rem; }
.rc-r1 .rc-nm { flex: 1 1 auto; min-width: 0; width: 0; font-weight: 600; }
.rc-line .rc-q { flex: 0 0 4.2rem; width: 4.2rem; text-align: right; padding-left: .4rem; padding-right: .4rem; }
.rc-line .rc-u { flex: 0 0 4.6rem; width: 4.6rem; padding-left: .4rem; padding-right: .1rem; }
.rc-r2 .rc-buy { flex: 1 1 auto; min-width: 0; display: flex; align-items: center; gap: .3rem; }
.rc-r2 .rc-pr { flex: 1 1 4rem; width: 0; min-width: 3.2rem; max-width: 7rem; text-align: right; padding-left: .4rem; padding-right: .4rem; }
.rc-r2 .rc-pq { flex: 0 0 3rem; width: 3rem; text-align: right; padding-left: .3rem; padding-right: .3rem; }
.rc-r2 .rc-info { flex: 1 1 auto; min-width: 0; line-height: 1.25; }
.rc-r2 .rc-cost { flex: 0 0 auto; min-width: 3.6rem; margin-left: auto; }
.rc-r2 .rc-x { flex: 0 0 36px; width: 36px; height: 36px; }
.rc-per { font-size: .8rem; }
.rc-delrow { margin: .4rem 0 1rem; }
@media (max-width: 560px) {
  .page-rcp .rc-card { padding: .8rem .7rem; }
  .rc-head .rc-acts .btn { flex: 1 1 0; padding-left: .4rem; padding-right: .4rem; }
}

.rc-st td:nth-child(2) { white-space: nowrap; }
.rc-mp .rc-buy { max-width: 10rem; }

/* ---------- Tools › Hebrew calendar (Dov Oct 25 5:43 + 5:47 AM) — hcal.js ---------- */
.page-hcal { max-width: 1400px; }
.hc-head { display: flex; align-items: center; gap: .5rem; margin: .2rem 0 .6rem; }
.hc-ttl { flex: 1 1 auto; text-align: center; min-width: 0; }
.hc-ttl h1 { margin: 0; font-size: 1.6rem; color: #0F2236; line-height: 1.15; }
.hc-sub { color: var(--muted); font-size: .95rem; margin-top: .15rem; }
.hc-sub [lang="he"] { font-weight: 700; color: #0F2236; unicode-bidi: isolate; }
.hc-arr { flex: none; width: 44px; height: 44px; border-radius: 10px; border: 1px solid var(--line); background: #fff; color: #0F2236; font-size: 1.7rem; line-height: 1; cursor: pointer; }
.hc-arr:hover { border-color: #14B1A0; }
.hc-bar { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; margin-bottom: .7rem; }
.hc-sp { flex: 1 1 auto; }
.hc-seg { display: inline-flex; border: 1px solid var(--line); border-radius: 9px; overflow: hidden; background: #fff; }
.hc-seg button { border: 0; background: #fff; color: #0F2236; padding: .45rem .75rem; font: inherit; font-size: .9rem; cursor: pointer; min-height: 38px; }
.hc-seg button + button { border-left: 1px solid var(--line); }
.hc-seg button.on { background: #0F2236; color: #fff; font-weight: 700; }
.hc-gear { display: inline-flex; align-items: center; gap: .35rem; }
.hc-gear .ic { width: 18px; height: 18px; }
.hc-gear.on { border-color: #14B1A0; color: #0F2236; }
.hc-set { background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: .8rem 1rem; margin-bottom: .8rem; display: flex; flex-direction: column; gap: .55rem; max-width: 640px; }
.hc-set-h { display: flex; justify-content: space-between; align-items: baseline; gap: .5rem; color: #0F2236; }
.hc-sr { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; }
.hc-sr > span { width: 92px; flex: none; color: #0F2236; font-weight: 600; font-size: .92rem; }
.hc-shows { align-items: flex-start; }
.hc-chks { display: flex; flex-wrap: wrap; gap: .35rem .9rem; flex: 1 1 260px; }
.hc-chk { display: inline-flex; align-items: center; gap: .35rem; font-size: .92rem; cursor: pointer; min-height: 30px; }
.hc-chk input { width: 18px; height: 18px; accent-color: #14B1A0; }
.hc-set-f { display: flex; justify-content: space-between; align-items: center; }
.hc-link { border: 0; background: none; color: #0e8f81; text-decoration: underline; font: inherit; font-size: .9rem; cursor: pointer; padding: .3rem 0; }

.hc-wrap { display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 1100px) { .hc-wrap { grid-template-columns: minmax(0, 1fr) 300px; align-items: start; } .hc-panel { position: sticky; top: 72px; } }
.hc-cal { border: 1px solid #c3c9cf; border-radius: 10px; overflow: hidden; background: #fff; }
.hc-wh, .hc-wk { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.dir-rtl .hc-wh, .dir-rtl .hc-wk { direction: rtl; }
.hc-wh > div { background: #0F2236; color: #fff; text-align: center; font-weight: 700; font-size: .78rem; letter-spacing: .03em; padding: .4rem 0; }
.hc-wh > div.shab { background: #1d3a57; }
.hc-wh .sw { display: none; }
.hc-wk + .hc-wk { border-top: 1px solid #dde1e5; }
.hc-c { direction: ltr; position: relative; min-width: 0; min-height: 104px; padding: 5px 6px 4px; border: 0; border-left: 1px solid #dde1e5; background: #fff; text-align: left; font: inherit; color: #0F2236; display: flex; flex-direction: column; gap: 2px; cursor: pointer; overflow: hidden; }
.dir-ltr .hc-wk > .hc-c:first-child, .dir-rtl .hc-wk > .hc-c:last-child { border-left: 0; }
.hc-c.shab { background: #eef3f8; }
.hc-c.yt { background: #e6f6f4; }
.hc-c.out { background: #fafbfc; }
.hc-c.out > * { opacity: .42; }
.hc-c:hover { box-shadow: inset 0 0 0 2px #b5e2dc; }
.hc-c.today .hc-n { background: #14B1A0; color: #fff; border-radius: 7px; padding: 0 5px; }
.hc-c.sel { box-shadow: inset 0 0 0 2px #0F2236; }
.hc-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 3px; }
.hc-n { font-size: 1.45rem; font-weight: 800; line-height: 1.1; }
.hc-n.heb { font-size: 1.35rem; unicode-bidi: isolate; }
.hc-h { font-size: .8rem; color: #4a5866; white-space: nowrap; unicode-bidi: isolate; padding-top: 2px; }
.hc-h.eng { font-weight: 600; }
.hc-hd { display: none; }
.hc-hm { font-size: .72rem; font-weight: 700; color: #0e8f81; unicode-bidi: isolate; text-align: right; }
.hc-p, .hc-l, .hc-t { font-size: .74rem; line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; unicode-bidi: isolate; }
.hc-p { font-weight: 700; color: #0F2236; }
.hc-l { color: #33414f; }
.hc-l.k-yt { color: #0b6f64; font-weight: 700; }
.hc-l.k-rc { color: #0e8f81; font-weight: 600; }
.hc-l.k-fast { color: #b42318; font-weight: 600; }
.hc-t { color: #0F2236; font-variant-numeric: tabular-nums; margin-top: auto; }
.hc-t + .hc-t { margin-top: 0; }
.hc-t i { font-style: normal; color: #5b6875; }
.hc-t.c { font-weight: 700; }
.hc-t.e { font-weight: 700; }
.hc-panel { background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: .9rem 1rem; scroll-margin-top: 70px; }
.hc-pd h2 { margin: 0 0 .15rem; font-size: 1.15rem; color: #0F2236; }
.hc-pheb { margin: 0 0 .5rem; }
.hc-pheb [lang="he"] { font-weight: 700; font-size: 1.05rem; unicode-bidi: isolate; }
.hc-names { list-style: none; margin: 0 0 .6rem; padding: 0; display: flex; flex-direction: column; gap: .2rem; }
.hc-names li { display: flex; justify-content: space-between; gap: .5rem; flex-wrap: wrap; padding: .3rem .5rem; border-radius: 7px; background: #f3f5f7; }
.hc-names li.k-yt { background: #e6f6f4; } .hc-names li.k-fast { background: #fdecea; } .hc-names li.k-p { background: #eef3f8; }
.hc-names [lang="he"] { unicode-bidi: isolate; }
.hc-z { display: flex; flex-direction: column; }
.hc-zr { display: flex; justify-content: space-between; gap: .75rem; padding: .32rem .1rem; border-bottom: 1px solid #eef0f2; font-size: .95rem; }
.hc-zr b { font-variant-numeric: tabular-nums; color: #0F2236; white-space: nowrap; }
.hc-zr.hl { background: #e6f6f4; padding-left: .45rem; padding-right: .45rem; border-radius: 6px; border-bottom-color: transparent; font-weight: 600; }
.hc-note { margin-top: .8rem; }
@media (max-width: 860px) {
  .hc-c { min-height: 78px; padding: 3px 3px 3px; }
  .hc-n { font-size: 1.2rem; } .hc-n.heb { font-size: 1.1rem; }
  .hc-hf { display: none; } .hc-hd { display: inline; }
  .hc-h { font-size: .7rem; }
}
@media (max-width: 600px) {
  .page-hcal.pad { padding-left: 6px; padding-right: 6px; }
  .page-hcal .cv-back { margin-left: 6px; }
  .hc-ttl h1 { font-size: 1.3rem; } .hc-sub { font-size: .82rem; }
  .hc-arr { width: 40px; height: 40px; }
  .hc-bar { padding: 0 4px; gap: .35rem; } .hc-bar .btn { padding: .4rem .6rem; }
  .hc-seg button { padding: .4rem .55rem; font-size: .85rem; }
  .hc-gear span { display: none; }
  .hc-wh .lw { display: none; } .hc-wh .sw { display: inline; } .hc-wh > div { font-size: .72rem; padding: .3rem 0; }
  .hc-cal { border-radius: 8px; }
  .hc-c { min-height: 70px; gap: 1px; padding: 2px 2px 2px 3px; }
  .hc-top { flex-wrap: wrap; gap: 0 2px; }
  .hc-n { font-size: 1.05rem; } .hc-n.heb { font-size: 1rem; }
  .hc-h { font-size: .64rem; padding-top: 1px; }
  .hc-p, .hc-l, .hc-t { font-size: .6rem; }
  .hc-t i { display: none; }
  .hc-hm { font-size: .6rem; }
  .hc-c.today .hc-n { padding: 0 3px; border-radius: 5px; }
  .hc-set { padding: .7rem; margin: 0 4px .8rem; } .hc-sr > span { width: 100%; }
  .hc-panel { margin: 0 4px; }
}
/* print: one month, one Letter page, current settings */
@page hcalpage { size: letter portrait; margin: .35in; @bottom-right { content: none; } @bottom-center { content: none; } }
@media print {
  body:has(.page-hcal) .side, body:has(.page-hcal) header.top, body:has(.page-hcal) .support-fab, body:has(.page-hcal) .dirty-bar, body:has(.page-hcal) #toasts, body:has(.page-hcal) .viewas-bar { display: none !important; }
  body:has(.page-hcal), body:has(.page-hcal) #app, body:has(.page-hcal) .layout, body:has(.page-hcal) .main-col, body:has(.page-hcal) main { display: block !important; min-height: 0 !important; height: auto !important; margin: 0 !important; padding: 0 !important; overflow: visible !important; background: #fff !important; }
  .page-hcal { page: hcalpage; padding: 0 !important; margin: 0 !important; max-width: none; height: 10.2in; display: flex; flex-direction: column; overflow: hidden; break-inside: avoid; -webkit-print-color-adjust: exact; print-color-adjust: exact; font-family: Arial, Helvetica, Roboto, sans-serif; }
  .page-hcal .no-print, .page-hcal .hc-panel, .page-hcal .hc-set { display: none !important; }
  .page-hcal .hc-head { flex: none; margin: 0 0 6pt; }
  .page-hcal .hc-ttl h1 { font-size: 20pt; } .page-hcal .hc-sub { font-size: 10.5pt; }
  .page-hcal .hc-wrap { flex: 1 1 0; min-height: 0; display: flex; flex-direction: column; }
  .page-hcal .hc-cal { flex: 1 1 0; min-height: 0; display: flex; flex-direction: column; border: .75pt solid #9aa3ad; border-radius: 0; }
  .page-hcal .hc-wh { flex: none; } .page-hcal .hc-wh > div { font-size: 8.5pt; padding: 3pt 0; background: #0F2236 !important; color: #fff !important; }
  .page-hcal .hc-wh .lw { display: inline !important; } .page-hcal .hc-wh .sw { display: none !important; }
  .page-hcal .hc-wk { flex: 1 1 0; min-height: 0; border-top: .5pt solid #c3c9cf; }
  .page-hcal .hc-c { min-height: 0; padding: 3pt 3.5pt 2pt; border-left: .5pt solid #c3c9cf; box-shadow: none !important; gap: 1.5pt; }
  .page-hcal .hc-c.today .hc-n { background: none; color: #0F2236; padding: 0; }
  .page-hcal .hc-c.shab { background: #eef3f8 !important; } .page-hcal .hc-c.yt { background: #e6f6f4 !important; }
  .page-hcal .hc-n { font-size: 16pt; } .page-hcal .hc-n.heb { font-size: 15pt; }
  .page-hcal .hc-h { font-size: 8.5pt; } .page-hcal .hc-hf { display: inline !important; } .page-hcal .hc-hd { display: none !important; }
  .page-hcal .hc-p, .page-hcal .hc-l, .page-hcal .hc-t, .page-hcal .hc-hm { font-size: 8pt; white-space: normal; }
  .page-hcal .hc-t i { display: inline !important; }
  .page-hcal .hc-note { flex: none; font-size: 7.5pt; margin: 4pt 0 0; color: #555; }
}

/* Hebrew calendar: time never cut off (label shrinks first); phone: labels may take 2 lines */
.hc-t { display: flex; gap: 3px; align-items: baseline; min-width: 0; }
.hc-t i { flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hc-t b { flex: none; }
@media (max-width: 600px) {
  .hc-lg { display: none; }
  .hc-l, .hc-p { white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow-wrap: anywhere; line-height: 1.12; }
}
@media print { .page-hcal .hc-lg { display: inline; } .page-hcal .hc-l, .page-hcal .hc-p { display: block; -webkit-line-clamp: none; } }

/* Calculator Simple | More (Dov Oct 25 5:45 AM) */
.calc-head { align-items: flex-end; }
.calc-mode { display: inline-flex; border: 1px solid var(--line); border-radius: 9px; overflow: hidden; background: #fff; }
.calc-mode button { border: 0; background: #fff; color: #0F2236; padding: .5rem 1rem; font: inherit; font-weight: 600; min-height: 42px; cursor: pointer; }
.calc-mode button + button { border-left: 1px solid var(--line); }
.calc-mode button.on { background: #0F2236; color: #fff; }
.calc-disp { position: relative; }
.calc-m { position: absolute; left: .7rem; top: .45rem; font-size: .8rem; font-weight: 700; color: #14B1A0; display: none; }
.calc-m.on { display: block; }
.calc-more { display: none; grid-template-columns: repeat(4, 1fr); gap: .5rem; margin-top: .7rem; }
.calc-is-more .calc-more { display: grid; }
.calc-is-more .page-calc, .page-calc.calc-is-more { max-width: 440px; }
.calc-more .calc-k { height: 52px; font-size: 1.3rem; }
.calc-mem { background: #f3f4f6; font-size: 1.05rem !important; color: #33414f; }
.calc-sci { background: #eef3f8; }
.calc-hist { margin-top: .8rem; }
.calc-hist:empty { display: none; }
.calc-hh { display: flex; justify-content: space-between; align-items: center; color: #0F2236; margin-bottom: .3rem; }
.calc-hclr { border: 0; background: none; color: #0e8f81; text-decoration: underline; font: inherit; font-size: .9rem; cursor: pointer; }
.calc-hist ul { list-style: none; margin: 0; padding: 0; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.calc-hist li + li { border-top: 1px solid #eef0f2; }
.calc-hist li button { width: 100%; display: flex; justify-content: space-between; align-items: baseline; gap: .75rem; border: 0; background: #fff; padding: .55rem .75rem; font: inherit; cursor: pointer; text-align: left; min-height: 44px; }
.calc-hist li button:active { background: #e6f7f5; }
.calc-hist li span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.calc-hist li b { color: #0F2236; font-variant-numeric: tabular-nums; white-space: nowrap; }
@media (max-width: 420px) { .calc-more .calc-k { height: 48px; } .calc-is-more .calc-keys .calc-k { height: 56px; } }

/* Converter "See it" v2 (Dov Oct 25 5:51 AM): friendly fraction + Show all */
.cv-fr { color: #4a5866; font-size: .92rem; white-space: nowrap; }
.cv-all { align-self: center; margin-left: .3rem; border: 1px solid #14B1A0; background: #fff; color: #0F2236; border-radius: 999px; padding: .3rem .75rem; font: inherit; font-size: .9rem; min-height: 36px; cursor: pointer; white-space: nowrap; }
.cv-all b { color: #0e8f81; font-variant-numeric: tabular-nums; }
.cv-all:active { background: #e6f7f5; }

/* Recipes edit simplified (Dov Oct 25 5:58 AM "I'm confused here") */
.rc-how { margin: 0 0 .7rem; }
.rc-lab { display: flex; gap: .35rem; font-size: .78rem; font-weight: 600; color: #4a5866; margin-bottom: .15rem; }
.rc-lab-n { flex: 1 1 auto; }
.rc-lab-q { flex: 0 0 auto; width: calc(4.2rem + .35rem + 4.6rem); }
.rc-r2 .rc-d { white-space: nowrap; font-size: .9rem; color: #33414f; }
.rc-r2 .rc-per { font-size: .9rem; color: #33414f; }
.rc-cost:empty { min-width: 0 !important; }
.rc-eg { display: block; color: var(--muted); font-size: .8rem; }
.rc-hide { display: none !important; }
.rc-psl { border: 0; background: none; color: #0e8f81; text-decoration: underline; font: inherit; font-size: .9rem; cursor: pointer; padding: .2rem 0; margin-top: .4rem; }
.rc-ps { margin-top: .5rem; max-width: 22rem; }
@media (max-width: 600px) { .rc-line:not(.rc-sub) .rc-r2 { flex-wrap: wrap; row-gap: .3rem; } .rc-line:not(.rc-sub) .rc-r2 .rc-buy { flex: 1 1 100%; } .rc-line:not(.rc-sub) .rc-r2 .rc-cost { margin-left: auto; } }

/* Hebrew calendar v2 (Dov Oct 25 6:07–6:08 AM): landscape print, Print/PDF chooser (this month | pick months | full year), Hebrew title, PDF layout */
.hc-ttl-he h1 { unicode-bidi: isolate; font-size: 1.75rem; }
.hc-bar .btn.on { border-color: #14B1A0; box-shadow: inset 0 0 0 1px #14B1A0; }
.hc-out { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem .6rem; background: #fff; border: 1px solid #14B1A0; border-radius: 10px; padding: .6rem .8rem; margin-bottom: .8rem; color: #0F2236; }
.hc-out select { min-height: 38px; border: 1px solid var(--line); border-radius: 8px; padding: 0 .5rem; font: inherit; background: #fff; color: #0F2236; }
.hc-out-r { display: inline-flex; align-items: center; gap: .4rem; flex-wrap: wrap; }
.hc-printset { display: none; }
@media (max-width: 600px) { .hc-out { margin: 0 4px .8rem; } .hc-out .hc-sp { display: none; } }
/* PDF: laid out at 1056 × 816 px (11 × 8.5 in), drawn by html2canvas */
.hc-pdfwrap { padding: 22px 26px; box-sizing: border-box; }
.page-hcal.hc-pdf { padding: 0 !important; margin: 0 !important; max-width: none; height: 100%; font-family: Arial, Helvetica, Roboto, sans-serif; }
.hc-pdf .hc-ppage { height: 100%; display: flex; flex-direction: column; }
.hc-pdf .hc-head { flex: none; margin: 0 0 8px; }
.hc-pdf .hc-ttl h1 { font-size: 27px; } .hc-pdf .hc-sub { font-size: 14px; }
.hc-pdf .hc-wrap { flex: 1 1 0; min-height: 0; display: flex !important; flex-direction: column; }
.hc-pdf .hc-cal { flex: 1 1 0; min-height: 0; display: flex; flex-direction: column; border: 1px solid #9aa3ad; border-radius: 0; }
.hc-pdf .hc-wh { flex: none; } .hc-pdf .hc-wh > div { font-size: 12px; padding: 4px 0; }
.hc-pdf .hc-wh .lw { display: inline !important; } .hc-pdf .hc-wh .sw { display: none !important; }
.hc-pdf .hc-wk { flex: 1 1 0; min-height: 0; }
.hc-pdf .hc-c { min-height: 0 !important; padding: 4px 6px 3px; box-shadow: none !important; gap: 2px; }
.hc-pdf .hc-c.today .hc-n { background: none; color: #0F2236; padding: 0; }
.hc-pdf .hc-n { font-size: 21px !important; } .hc-pdf .hc-n.heb { font-size: 20px !important; }
.hc-pdf .hc-h { font-size: 12px !important; } .hc-pdf .hc-hf { display: inline !important; } .hc-pdf .hc-hd { display: none !important; }
.hc-pdf .hc-p, .hc-pdf .hc-l, .hc-pdf .hc-t, .hc-pdf .hc-hm { font-size: 11.5px !important; white-space: normal; display: block; -webkit-line-clamp: none; }
.hc-pdf .hc-t { display: flex; } .hc-pdf .hc-t i { display: inline !important; } .hc-pdf .hc-lg { display: inline !important; }
.hc-pdf .hc-note { flex: none; font-size: 10.5px; margin: 6px 0 0; color: #555; }
/* print: always Letter landscape, one month per page */
@page hcalpage { size: letter landscape; margin: .3in; @bottom-right { content: none; } @bottom-center { content: none; } }
@media print {
  .page-hcal { height: 7.85in !important; }
  .page-hcal .hc-ttl h1 { font-size: 18pt !important; } .page-hcal .hc-sub { font-size: 10pt !important; }
  .page-hcal.hc-printing { height: auto !important; display: block !important; overflow: visible !important; }
  .page-hcal.hc-printing > *:not(.hc-printset) { display: none !important; }
  .page-hcal.hc-printing .hc-printset { display: block !important; }
  .hc-printset .hc-ppage { page: hcalpage; height: 7.85in; display: flex; flex-direction: column; overflow: hidden; break-after: page; page-break-after: always; break-inside: avoid; }
  .hc-printset .hc-ppage:last-child { break-after: auto; page-break-after: auto; }
  .hc-printset .hc-head { flex: none; margin: 0 0 5pt; }
  .hc-printset .hc-wrap { flex: 1 1 0; min-height: 0; display: flex !important; flex-direction: column; }
  .hc-printset .hc-note { flex: none; }
}

/* Converter See it v3 (Dov Oct 25 6:12 AM): count big teal, size navy; small "Show all N" link; which way it rounds */
.cv-vl .cv-vn { color: #0e8f81; font-weight: 800; font-size: 1.3rem; font-variant-numeric: tabular-nums; }
.cv-vl .cv-vu { color: #0F2236; font-weight: 400; font-size: 1rem; }
.cv-vl .cv-fr { color: #4a5866; font-size: .88rem; white-space: normal; }
.cv-vl .cv-ap { font-size: .66rem; font-weight: 600; padding: 0 .3rem; cursor: help; }
.cv-all { display: block; margin: .25rem 0 0; border: 0 !important; background: none !important; color: #0e8f81; text-decoration: underline; padding: 0 !important; min-height: 0 !important; font-size: .85rem; border-radius: 0; cursor: pointer; }
.cv-all:active { background: none; }
#cv-vis-h { font-size: 1.1rem; }
/* Hebrew calendar PDF/print: calendar uses the full page width */
.hc-pdf .hc-wrap, .hc-printset .hc-wrap { align-items: stretch !important; }

/* Hebrew calendar print/PDF header logos (Dov Oct 25 6:13 AM): Satmar Meat left, title center, Table right (mirrored when Sunday is on the right) */
.hc-plogo { display: none; }
.hc-pdf .hc-plogo { display: flex; align-items: center; flex: 0 0 170px; }
.hc-pdf .hc-plogo-s img { height: 58px; width: auto; }
.hc-pdf .hc-plogo-t { justify-content: flex-end; } .hc-pdf .hc-plogo-t img { height: 26px; width: auto; }
.hc-pdf.dir-rtl .hc-head { flex-direction: row-reverse; }
.hc-pdf.dir-rtl .hc-plogo-t { justify-content: flex-start; } .hc-pdf.dir-rtl .hc-plogo-s { justify-content: flex-end; }
@media print {
  .page-hcal .hc-plogo { display: flex !important; align-items: center; flex: 0 0 1.7in; }
  .page-hcal .hc-plogo-s img { height: .6in; width: auto; }
  .page-hcal .hc-plogo-t { justify-content: flex-end; } .page-hcal .hc-plogo-t img { height: .27in; width: auto; }
  .page-hcal.dir-rtl .hc-head { flex-direction: row-reverse; }
  .page-hcal.dir-rtl .hc-plogo-t { justify-content: flex-start; } .page-hcal.dir-rtl .hc-plogo-s { justify-content: flex-end; }
}

.hc-pdf .hc-tap { display: none; }
@media print { .page-hcal .hc-tap { display: none !important; } }

/* Tools position control (Dov Oct 25 6:18 AM) */
.tp-ctl { display: inline-flex; border: 1px solid var(--line); border-radius: 8px; overflow: hidden; margin-left: auto; align-self: flex-start; background: #fff; }
.tp-ctl button { border: 0; background: #fff; color: #4a5866; width: 34px; height: 30px; font-size: .95rem; line-height: 1; cursor: pointer; padding: 0; }
.tp-ctl button + button { border-left: 1px solid var(--line); }
.tp-ctl button.on { background: #0F2236; color: #fff; }
.pad.tp-left { margin-left: 0 !important; margin-right: auto !important; }
.pad.tp-center { margin-left: auto !important; margin-right: auto !important; }
.pad.tp-right { margin-left: auto !important; margin-right: 0 !important; }
@media (max-width: 700px) { .tp-ctl { display: none; } }

/* ===== v6439 (Oct 25 6:30 AM) — number boxes sized for 4 digits on every tool page (Dov 6:28: "far too wide") ===== */
:is(.page-conv, .page-pc, .page-tm, .page-zm) input[inputmode="decimal"], :is(.page-conv, .page-pc, .page-tm, .page-zm) input[inputmode="numeric"] { width: 5.6rem !important; max-width: 5.6rem; flex: 0 0 5.6rem !important; min-width: 0; text-align: center; padding-left: .4rem; padding-right: .4rem; }
.page-conv .cv-n { font-size: 1.5rem; height: 56px; }
.page-conv .cv-in { align-items: center; }
.page-conv .cv-in .cv-from { flex: 0 1 auto; width: auto; max-width: 100%; }
.page-conv .cv-otherin { display: inline-flex; align-items: center; gap: .4rem; }
.pt-row { display: flex; flex-wrap: wrap; align-items: center; gap: .7rem 1.6rem; }
.pt-f { display: inline-flex; align-items: center; gap: .5rem; margin: 0; }
.pt-f .lbl { margin: 0; font-size: 1rem; color: var(--ink); font-weight: 600; }
.pt-f .pt-pp { font-weight: 500; color: var(--muted, #667085); }
.pt-num, .pt-unit { height: 48px; font-size: 1.2rem; font-weight: 600; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--ink); }
.pt-unit { width: auto; padding: 0 .5rem; font-size: 1.05rem; }
.page-tm .tm-add { grid-template-columns: minmax(0, 1fr) 5.6rem auto; }

/* ===== Timers: the popup on top of every page (Dov 6:23 AM) + sound settings ===== */
.tma-wrap { position: fixed; inset: 0; z-index: 10050; background: rgba(120, 10, 10, .45); display: flex; align-items: center; justify-content: center; padding: 16px; animation: tma-in .15s ease-out; }
@keyframes tma-in { from { opacity: 0; } to { opacity: 1; } }
.tma { background: #fff; border-radius: 16px; box-shadow: 0 20px 60px rgba(0,0,0,.35); width: min(560px, 100%); max-height: calc(100vh - 32px); overflow: auto; border: 4px solid #C62828; }
.tma-list { display: flex; flex-direction: column; }
.tma-row { padding: 18px 20px; border-bottom: 1px solid var(--line); display: flex; flex-direction: column; gap: 12px; animation: tma-flash 1s steps(2, start) infinite; }
@keyframes tma-flash { 0% { background: #FDECEA; } 50% { background: #fff; } }
.tma-name { font-size: clamp(1.5rem, 4.5vw, 2.2rem); font-weight: 800; color: #B71C1C; line-height: 1.2; word-break: break-word; }
.tma-btns { display: flex; gap: 10px; flex-wrap: wrap; }
.tma-b { min-height: 52px; font-size: 1.15rem; padding: 0 22px; font-weight: 700; }
.tma-btns .tma-b { flex: 1 1 140px; }
.tma-foot { display: flex; gap: 10px; justify-content: flex-end; padding: 12px 16px; flex-wrap: wrap; }
@media print { .tma-wrap { display: none !important; } }
.tm-set { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .9rem; }
.tm-tone { display: inline-flex; align-items: center; gap: .3rem; }
.tm-tone select { height: 40px; font-size: 1rem; border: 1px solid var(--line); border-radius: 8px; padding: 0 .4rem; background: #fff; color: var(--ink); }
.tm-test { height: 40px; min-width: 44px; padding: 0 .6rem; font-size: 1rem; }
/* Phone boxes: sized for (845) 555-1234, never stretched (Dov 6:29, standing rule) */
input[type="tel"] { max-width: 12.5rem; }

/* Tools page in sections (Dov 6:30 AM): small headings, 4 columns on wide screens, 3 on tablets, 2 on phones */
.page-tools .tl-sec { margin-top: 1.1rem; }
.page-tools .tl-h { font-size: .8rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--muted, #667085); margin: 0 0 .45rem; }
.page-tools .tl-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 0; }
@media (max-width: 1200px) { .page-tools .tl-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) { .page-tools .tl-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; } .page-tools .tl-tile { flex-direction: column; align-items: flex-start; gap: .5rem; padding: .8rem; min-height: 0; } .page-tools .tl-tile small { display: none; } }
.side .nav-sech { list-style: none; font-size: .68rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--muted, #667085); padding: 8px 13px 2px; white-space: nowrap; overflow: hidden; }
.layout:not(.nav-open):not(.mnav) .side:not(:hover) .nav-sech { visibility: hidden; height: 6px; padding: 0; }
.pad.page-tools { max-width: 1180px; }
@media (min-width: 761px) { .page-tools .tl-tile { min-height: 104px; align-items: flex-start; } }

/* ===== Floating tools on desktop (Dov 6:18–6:19 AM) — site/js/float.js ===== */
.flt { position: fixed; z-index: 91; display: flex; flex-direction: column; background: #fff; border: 1px solid #c9d3df; border-radius: 12px; box-shadow: 0 14px 40px rgba(15,34,54,.22), 0 2px 6px rgba(15,34,54,.12); overflow: hidden; min-width: 260px; min-height: 200px; }
.flt[hidden] { display: none !important; }
.flt.flt-focus { border-color: var(--teal, #14B1A0); box-shadow: 0 18px 48px rgba(15,34,54,.28), 0 0 0 2px rgba(20,177,160,.25); }
.flt-bar { flex: 0 0 auto; display: flex; align-items: center; gap: .4rem; height: 40px; padding: 0 6px 0 10px; background: #0F2236; color: #fff; cursor: move; user-select: none; -webkit-user-select: none; touch-action: none; }
.flt-grip { opacity: .6; font-size: 1rem; }
.flt-title { flex: 1 1 auto; font-size: .95rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.flt-btn-s { flex: 0 0 auto; width: 30px; height: 30px; border: 0; border-radius: 6px; background: transparent; color: #fff; font-size: 1.1rem; line-height: 1; cursor: pointer; }
.flt-btn-s:hover { background: rgba(255,255,255,.16); }
.flt-close:hover { background: #C62828; }
.flt-body { flex: 1 1 auto; overflow: auto; overscroll-behavior: contain; background: var(--bg, #f7f9fb); }
.flt-body > .pad { padding: 10px 12px 16px !important; margin: 0 !important; max-width: none !important; width: auto !important; }
.flt-body .cv-back, .flt-body .page-head h1, .flt-body .tp-ctl, .flt-body .flt-open { display: none !important; }
.flt-body .page-head { margin-bottom: .5rem; min-height: 0; }
.flt-body .page-head p.muted { display: none; }
.flt-rsz { position: absolute; right: 0; bottom: 0; width: 22px; height: 22px; cursor: nwse-resize; touch-action: none; z-index: 2;
  background: linear-gradient(135deg, transparent 0 50%, #9aa8b8 50% 56%, transparent 56% 66%, #9aa8b8 66% 72%, transparent 72% 82%, #9aa8b8 82% 88%, transparent 88%); }
html.flt-dragging, html.flt-dragging * { user-select: none !important; -webkit-user-select: none !important; }
html.flt-dragging iframe { pointer-events: none; }
.flt-pills { position: fixed; left: calc(var(--side, 64px) + 14px); bottom: 14px; z-index: 96; display: flex; gap: 8px; flex-wrap: wrap; max-width: calc(100vw - var(--side, 64px) - 120px); }
.flt-pill { display: inline-flex; align-items: center; background: #0F2236; color: #fff; border-radius: 999px; box-shadow: 0 6px 18px rgba(15,34,54,.25); overflow: hidden; }
.flt-pill button { border: 0; background: transparent; color: #fff; cursor: pointer; font-size: .95rem; height: 38px; }
.flt-pill-b { padding: 0 6px 0 16px; font-weight: 600; }
.flt-pill-b::before { content: '⧉ '; opacity: .7; }
.flt-pill-x { padding: 0 12px 0 6px; font-size: 1.1rem !important; opacity: .75; }
.flt-pill-x:hover { opacity: 1; }
.flt-open { white-space: nowrap; }
.flt-ph { max-width: 560px; text-align: center; margin: 40px auto !important; }
.flt-ph-ic { font-size: 2.4rem; margin: 0; color: var(--teal, #14B1A0); }
.flt-ph .btn-row { justify-content: center; display: flex; gap: .6rem; flex-wrap: wrap; }
@media (max-width: 1023.98px) { .flt-open, .flt, .flt-pills { display: none !important; } }
body:not(:has(.layout)) .flt, body:not(:has(.layout)) .flt-pills { display: none !important; }
@media print { .flt, .flt-pills { display: none !important; } }

/* Proposal / estimate header: Create estimate + Create Event side by side on their own row under the title (Dov 6:42 AM) */
.ch-title .ch-acts { display: flex; flex: 0 0 100%; order: 50; gap: .5rem; flex-wrap: wrap; align-items: stretch; margin-top: .45rem; }
.ch-title .ch-acts .btn { height: 42px; min-height: 42px; margin: 0; display: inline-flex; align-items: center; justify-content: center; white-space: nowrap; }
@media (max-width: 480px) { .ch-title .ch-acts .btn { flex: 1 1 0; padding-left: .6rem; padding-right: .6rem; } }
.ch-title .ch-acts .ev-mkest { margin-right: 0; }

/* Tools › Yield (Dov 6:33 AM) */
.page-yield .yl-what { margin-top: .2rem; }
.yl-pick { display: flex; flex-wrap: wrap; gap: .6rem 1.4rem; align-items: center; margin-bottom: .8rem; }
.yl-item { height: 48px; font-size: 1.05rem; border: 1px solid var(--line); border-radius: 8px; padding: 0 .5rem; background: #fff; color: var(--ink); max-width: 16rem; }
.yl-row { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem .55rem; padding: .7rem 0; border-top: 1px solid var(--line); font-size: 1.05rem; }
.yl-l { font-weight: 600; min-width: 5.6rem; }
.yl-arrow { color: var(--muted, #667085); }
.yl-out { font-size: 1.1rem; }
.yl-out b { color: #0F2236; }
.yl-bad { border-color: #C62828 !important; }
.yl-ul { list-style: none; margin: 0; padding: 0; }
.yl-li { display: flex; align-items: center; gap: .4rem; padding: .35rem 0; border-bottom: 1px solid var(--line); flex-wrap: wrap; }
.yl-use { flex: 1 1 auto; display: flex; justify-content: space-between; gap: .6rem; background: none; border: 0; padding: .5rem .2rem; font-size: 1.05rem; color: var(--ink); cursor: pointer; text-align: left; min-width: 0; }
.yl-use:hover { color: var(--teal, #14B1A0); }
.yl-p { font-weight: 700; color: #14B1A0; }
.yl-en, .yl-an { height: 44px; font-size: 1rem; border: 1px solid var(--line); border-radius: 8px; padding: 0 .6rem; width: 14rem; max-width: 100%; }
.yl-add { display: flex; flex-wrap: wrap; gap: .45rem; align-items: center; margin-top: .8rem; }
.yl-add .pt-num, .yl-li .pt-num { height: 44px; width: 5.6rem; text-align: center; }
.yl-empty { margin: .3rem 0; }

/* Not decided = RED so whoever is on the phone asks (Dov 6:44 AM); approx. dates (6:45 AM) */
.undec, .ch-v .undec, .r-date .undec { color: #C62828 !important; font-weight: 700; }
.undec-hint { display: block; color: #C62828; font-size: .82rem; font-weight: 600; margin-top: .25rem; }
.undec-hint[hidden] { display: none; }
input.undec-in { border-color: #C62828 !important; }
.date-appx { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; }
.date-appx input[type="date"] { flex: 0 1 auto; width: auto; }
label.check.appx { display: inline-flex; align-items: center; gap: .3rem; font-size: .92rem; font-weight: 600; white-space: nowrap; margin: .2rem 0 0 .5rem; }
.tm-row .tm-in[value=""] { border-color: #C62828; color: #C62828; }
.tm-row .tm-cell:has(.tm-in[value=""]) > span { color: #C62828; font-weight: 700; }
.cal-ev.c-approx { background: transparent !important; border: 1.5px dashed currentColor !important; font-style: italic; }
.cal-ev.c-approx { color: #C62828 !important; background: #fff !important; }
.yl-add { flex-wrap: nowrap; } .yl-add .yl-an { flex: 1 1 auto; min-width: 0; width: auto; } .yl-add .pt-num { flex: 0 0 4.6rem; width: 4.6rem; } .yl-add .yl-addb { flex: 0 0 auto; height: 44px; white-space: nowrap; }

/* Empty times ask to be filled (Dov 6:52 AM): Event starts 2px red, the others thinner; label red; "Ask the time" */
.tm-row .tm-in[value=""], input.tm-ord[value=""] { outline: 1.5px solid #C62828; outline-offset: 0; border-color: #C62828 !important; color: #C62828; }
.tm-row .tm-main .tm-in[value=""], input.tm-ord[value=""] { outline-width: 2px; }
.tm-row .tm-main:has(.tm-in[value=""]) > span { color: #C62828; font-weight: 800; }
.tm-ask { color: #C62828; font-weight: 600; font-size: .78rem; margin-left: .25rem; }
.tm-cell:not(:has(.tm-in[value=""])) .tm-ask { display: none; }
.field:has(input.tm-ord:not([value=""])) .tm-ask { display: none; }
/* customers: First / Last, Mr. / Mrs. / Home phones, "same name" tag (Dov 6:47 AM) */
.tag.same-name { background: #FDECEA; color: #C62828; border: 1px solid #F5C2C0; font-weight: 700; font-size: .72rem; padding: 1px 6px; border-radius: 999px; }
.cu-namehint:empty { display: none; }
.cu-names input, #nc-newcust input[name="name"] { max-width: 18rem; }
.cu-phones input[type="tel"] { max-width: 12.5rem; }
.ph-l { color: var(--muted, #667085); font-size: .75rem; }
.tm-row .tm-in[value=""], input.tm-ord[value=""] { outline: none !important; border-color: #C62828 !important; box-shadow: 0 0 0 1px #C62828 !important; }
.tm-row .tm-main .tm-in[value=""], input.tm-ord[value=""] { box-shadow: 0 0 0 2px #C62828 !important; }
.tm-auto { color: var(--muted, #8a94a3); font-weight: 500; font-size: .72rem; margin-left: .3rem; }
.tm-auto[hidden] { display: none; }

/* Menu print: choose-N sections get empty print boxes (Dov 6:50 AM) */
.p-items.p-choose { list-style: none; padding-left: 2px; }
.p-items.p-choose > li { display: block; padding-left: 20px; position: relative; }
.p-items.p-choose > li > .p-ck { position: absolute; left: 0; top: .18em; }
.p-ck { display: inline-block; width: 11px; height: 11px; border: 1.3px solid #000; border-radius: 1px; background: #fff; vertical-align: -1px; box-sizing: border-box; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.p-ck.sm { width: 10px; height: 10px; margin-right: 3px; }
.p-opts { display: inline; margin-left: 6px; }
.p-opt { display: inline-block; margin-right: 12px; font-size: .95em; white-space: nowrap; }
/* Only "Event starts" asks to be filled; the other three auto-fill from it (Dov 6:56 AM) */
.tm-row .tm-cell:not(.tm-main) .tm-in[value=""] { box-shadow: none !important; border-color: var(--line) !important; color: inherit !important; }
.tm-row .tm-cell:not(.tm-main):has(.tm-in[value=""]) > span { color: inherit !important; font-weight: inherit !important; }
/* the visible time box is the .tfield wrapper (widgets.js) — red outline only on an empty "Event starts" / order time */
.tm-row .tm-main:has(.tm-in[value=""]) .tfield, .field:has(input.tm-ord[value=""]) .tfield { border-color: #C62828 !important; box-shadow: 0 0 0 2px #C62828 !important; border-radius: 8px; }
.tm-row .tm-main:has(.tm-in[value=""]) .tf-text::placeholder, .field:has(input.tm-ord[value=""]) .tf-text::placeholder { color: #C62828; opacity: 1; }
.field:has(input.tm-ord[value=""]) > label, .field:has(input.tm-ord[value=""]) .lbl { color: #C62828; font-weight: 800; }
/* menu editor ≤1100px: the choose circle stays on the item's row, left of the name (Dov 6:58 AM) */
@media (max-width: 1100px) {
  .mline .ml-grid > .ml-lead { grid-column: 1; grid-row: 1; }
  .mline .ml-grid > .ml-name, .mline.unch .ml-grid > .ml-name, .mline.noopt:not(.unch) .ml-grid > .ml-name { grid-column: 2 / 3; grid-row: 1; }
}
/* Support button never covers a save / changes bar (Dov 6:58 AM): lift it above whichever bar is showing */
body:has(.menu-bar:not([hidden])) .support-btn-container, body:has(.dirty-bar.menu-bar:not([hidden])) .support-btn-container { bottom: calc(78px + env(safe-area-inset-bottom)) !important; transition: bottom .15s; }
body:has(.dirty-bar:not(.menu-bar):not([hidden])) .support-btn-container { bottom: 92px !important; transition: bottom .15s; }
body:has(.rc-savebar) .support-btn-container { bottom: 84px !important; }
/* vendors on proposals / estimates are a plan only (Dov 7:01 AM) */
.vs-chip.vs-plan { background: #eef1f4 !important; color: #5b6675 !important; border-color: #d5dbe2 !important; }
.vb-planonly .vb-row, .vb-row.vs-plan { color: #6b7a8c; }
.vb-planonly .vb-items li { color: #6b7a8c; }
.vs-plan-tag { display: inline-block; font-size: .8rem; font-weight: 600; color: #5b6675; background: #eef1f4; border: 1px solid #d5dbe2; border-radius: 999px; padding: 3px 10px; white-space: nowrap; }
.vb-plan-note { margin: -.2rem 0 .5rem; }
.est-btns[hidden] { display: none !important; }
/* no Support button on print / preview pages, and never on paper */
body:has(.print-page) .support-btn-container, body:has(.doc-preview) .support-btn-container, body:has(.pv-wrap) .support-btn-container, body:has(.print-bar) .support-btn-container { display: none !important; }
@media print { .support-btn-container, .support-btn { display: none !important; } }
/* tasks ↔ jobs (Dov 7:03 / 7:05 AM) */
.tk-openjob { display: flex; justify-content: center; align-items: center; width: 100%; margin-top: 8px; min-height: 44px; border: 1.5px solid #14B1A0; color: #0E8A7D; background: #fff; font-weight: 700; border-radius: 10px; text-decoration: none; }
.tk-openjob:hover { background: #E8F7F5; }
@media (min-width: 700px) { .tk-openjob { width: auto; display: inline-flex; padding: 0 18px; } }
.jp-tag { display: inline-block; font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .02em; padding: 1px 6px; border-radius: 999px; margin-right: 4px; vertical-align: 1px; background: #eef1f4; color: #4a5565; }
.jp-tag.jk-order { background: #E8F0FE; color: #1a56c4; } .jp-tag.jk-estimate { background: #FFF4E0; color: #8a5a00; } .jp-tag.jk-proposal { background: #F3E8FF; color: #6b2fb3; } .jp-tag.jk-event { background: #E8F7F5; color: #0E7A6E; }
.kb-evlink { color: #0E8A7D; text-decoration: none; font-weight: 600; }
.kb-evlink:hover { text-decoration: underline; }
.todo-job { display: block; font-size: .8rem; color: #0E8A7D; text-decoration: none; margin: 2px 0 0 34px; font-weight: 600; }
.jt-btn { position: relative; margin-left: 6px; }
.jt-dot { position: absolute; top: -3px; right: -3px; width: 9px; height: 9px; border-radius: 50%; background: #C62828; border: 1.5px solid #fff; }
#sec-tasks .jt-list { display: flex; flex-direction: column; }
.jt-row { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-top: 1px dashed var(--line2, #e3e8ee); }
.jt-row .jt-main { flex: 1 1 auto; min-width: 0; background: none; border: 0; padding: 0; text-align: left; font: inherit; cursor: pointer; display: flex; flex-direction: column; }
.jt-row .jt-t { font-weight: 600; color: var(--ink, #0F2236); } .jt-row.done .jt-t { text-decoration: line-through; color: #8a94a3; }
.jt-due { font-size: .8rem; color: #667085; } .jt-due.late { color: #C62828; font-weight: 700; }
.jt-who { flex: none; width: 30px; height: 30px; border-radius: 50%; background: #0F2236; color: #fff; font-size: .72rem; font-weight: 700; display: flex; align-items: center; justify-content: center; } .jt-who.un { background: #d5dbe2; color: #4a5565; }
.jt-done summary { cursor: pointer; color: #667085; font-size: .9rem; margin: 8px 0; }
/* job time boxes stay small: ≤7ch + AM/PM toggle (Dov 7:08 AM) */
.tm-row .tfield .tf-text, .field:has(input.tm-ord) .tfield .tf-text { flex: 0 1 7.5ch; width: 7.5ch; min-width: 5.5ch; }
.tm-row .tfield, .field:has(input.tm-ord) .tfield { width: auto; max-width: 100%; }
/* AM / PM colours (Dov 7:10 AM, ampm_sample.png): AM orange #E67800, PM navy #0F2236 — bold digits + small filled pill */
.t-am, .t-pm { white-space: nowrap; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.t-am .t-hm { color: #E67800; font-weight: 800; } .t-pm .t-hm { color: #0F2236; font-weight: 800; }
.t-ap { display: inline-block; margin-left: 3px; padding: 0 5px; border-radius: 999px; font-size: .68em; font-weight: 800; line-height: 1.55; letter-spacing: .02em; color: #fff; vertical-align: .12em; }
.t-am .t-ap { background: #E67800; } .t-pm .t-ap { background: #0F2236; }
.tf-ampm[data-v="AM"]:not(.empty) { background: #E67800 !important; color: #fff !important; border-color: #E67800 !important; }
.tf-ampm[data-v="PM"]:not(.empty) { background: #0F2236 !important; color: #fff !important; border-color: #0F2236 !important; }
.tm-reauto { font: inherit; font-size: .72rem; font-weight: 700; color: #0E8A7D; background: #E8F7F5; border: 1px solid #9ADBD2; border-radius: 999px; padding: 0 7px; margin-left: 4px; cursor: pointer; line-height: 1.6; }
.tm-reauto[hidden] { display: none; }
/* time order (Dov 7:15 AM) */
.tm-err { display: block; font-size: .74rem; font-weight: 700; min-height: 0; }
.tm-err:empty { display: none; }
.tm-err.bad { color: #C62828; } .tm-err.nd { color: #8a94a3; font-weight: 600; }
.tm-row .tm-cell.tm-bad .tfield { box-shadow: 0 0 0 2px #C62828 !important; border-radius: 8px; }
.tm-row .tm-cell.tm-bad > span { color: #C62828 !important; font-weight: 800 !important; }
.jt-row .tick { width: 28px; height: 28px; flex: none; border: 2px solid #9aa6b5; border-radius: 6px; background: #fff; cursor: pointer; color: #fff; font-weight: 700; line-height: 1; padding: 0; }
.jt-row.done .tick { background: var(--green); border-color: var(--green); }

/* Nickname in My settings (Dov, Oct 25 7:21 AM): label + ~14ch box on one line */
.prefs .pref-nick { display: flex; align-items: center; gap: 10px; margin: 2px 0 2px; }
.prefs .pref-nick .pn-l { font-weight: 700; color: var(--navy, #0F2236); }
.prefs .pref-nick input { width: 14ch !important; max-width: 14ch !important; flex: none; min-width: 0; }
.prefs .pn-hint { margin: 2px 0 8px; }

/* Background saves (Dov, Oct 25 7:26–7:28 AM): instant Hot / Cold + header save status */
.save-state.busy { color: #667085; }
.save-state.ok { color: #0d8a7d; font-weight: 600; }
.save-state .bg-retry { color: #b42318; font-weight: 700; text-decoration: underline; background: none; border: 0; padding: 0; cursor: pointer; font-size: inherit; }
.hc-tog.save-fail, .ch-temp.save-fail { outline: 2px solid #b42318; outline-offset: 2px; border-radius: 8px; }

/* Phone header fits (Oct 25): the account menu (My settings, Sign out) was pushed off the right edge at 390px */
@media (max-width: 480px) {
  header.top { gap: 5px; }
  header.top .who-name, header.top .who-sum > span[aria-hidden="true"]:last-child { display: none; }
  header.top .who-sum { padding-left: 2px; padding-right: 2px; gap: 0; }
  header.top form.search, header.top a.newcall { width: 44px; min-width: 44px; flex: none; }
  header.top form.search > *, header.top a.newcall { padding-left: 0; padding-right: 0; justify-content: center; }
  header.top .top-word { flex: none; margin-right: 0; } header.top .top-word img { height: 16px; }
}

/* Automatic tasks (Dov, Oct 25 7:23–7:25 AM): grey Auto tag; locked done box with its reason */
.tag.t-auto { display: inline-block; margin-left: 6px; padding: 0 6px; border-radius: 6px; background: #eef1f4; color: #667085; font-size: .72rem; font-weight: 600; line-height: 1.5; vertical-align: middle; letter-spacing: .02em; }
.tick.locked, .tick[disabled] { opacity: .45; cursor: not-allowed; background: #f2f4f7; border-style: dashed; }
.done .tick.locked { opacity: .7; border-style: solid; }
.t-autohint { display: block; color: #8a94a3; font-size: .74rem; font-style: italic; margin-top: 1px; }
.tk-go.tk-locked { background: #f2f4f7; color: #667085; border: 1px dashed #c3cad4; cursor: not-allowed; font-weight: 600; }

/* Cancelled / Lost jobs (Dov, Oct 25 7:44 AM): nothing due, read-only until Reopen */
.ch-off { display: block; color: #8a94a3; font-size: .72rem; font-weight: 600; margin-top: 1px; }
.k-off { color: #b42318; }

/* Per lb estimate (Dov, Oct 25 7:32 AM): ≈ $X est. until weighed */
.ml-est { color: #8a94a3; font-style: italic; font-weight: 500; white-space: nowrap; }

/* Support thank-you (Dov, Oct 25 7:48 AM) */
.thx-wrap { position: fixed; inset: 0; z-index: 10100; display: flex; align-items: center; justify-content: center; background: rgba(15, 34, 54, .18); transition: opacity .25s; }
.thx-wrap.out { opacity: 0; }
.thx-cv { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.thx-card { position: relative; background: #fff; border-radius: 18px; padding: 26px 30px; max-width: 86vw; text-align: center; box-shadow: 0 18px 50px rgba(15, 34, 54, .28); border-top: 6px solid #14B1A0; }
.thx-card b { display: block; font-size: 1.6rem; color: #0F2236; }
.thx-card p { margin: 8px 0 0; color: #475467; font-size: 1rem; }

/* Who's editing (Dov, Oct 25 7:33 AM) */
.pres-bar { display: flex; align-items: center; gap: 6px; background: #FEF0C7; border: 1px solid #F5C451; color: #7A4B00; border-radius: 10px; padding: 6px 10px; margin: 0 0 10px; font-weight: 600; font-size: .9rem; }
.pres-bar[hidden] { display: none; }
.pres-av { width: 22px; height: 22px; border-radius: 50%; color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: .72rem; font-weight: 700; flex: none; border: 2px solid #fff; margin-right: -4px; }
.pres-t { margin-left: 8px; }

/* Printed for workers tag (Dov, Oct 25 7:40 AM) */
.chip.ko-printed { background: #E8F1FB; color: #1D5FA8; border: 1px solid #B9D3F0; margin-left: 6px; font-weight: 600; cursor: help; }


/* ===== v6457 (Oct 25 11:38–11:47 AM) ===== */
/* Hours From / Till: the same typed time box + coloured AM/PM toggle as job pages, small, never stretched, one line (Dov 11:38) */
.hb-row { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem .6rem; margin: 0 0 .55rem; }
.hb-row > .pl-mlbl { flex: 1 0 100%; margin: 0; }
.hb-row .hb-lbl { min-width: 6.4em; font-weight: 600; font-size: .95rem; }
.hb-ft { display: inline-flex; align-items: center; gap: .35rem; flex-wrap: nowrap; }
.hb-l { font-size: .85rem; color: var(--muted); }
.hb { display: inline-flex; align-items: center; flex: none; }
.hb .tfield { width: auto; max-width: none; flex: none; }
.hb .tfield .tf-text { flex: 0 0 6.5ch; width: 6.5ch; min-width: 0; min-height: 40px; padding: 0 2px 0 8px; font-size: 1rem; }
.hb .tfield .tf-ampm { padding: 0 7px; font-size: .8rem; }
.hb .tfield .tf-pick { width: 32px; }
.hb-c { display: inline-flex; align-items: center; gap: .25rem; font-size: .9rem; white-space: nowrap; margin: 0; }
.hb-c input { width: 18px; height: 18px; margin: 0; }
.hb-cust { gap: 2px; }
.hb-cust .hb-txt { width: auto; min-width: 0; max-width: 24ch; min-height: 40px; border: 1px solid transparent; background: transparent; box-shadow: none; padding: 0 2px; font-weight: 700; color: var(--ink); font-size: .95rem; }
.hb-cust.editing .hb-txt { border-color: #c4ccd6; background: #fff; border-radius: var(--r); padding: 0 8px; font-weight: 400; }
.hb-cust .hb-txt:disabled { color: #9aa5b1; }
.hb-edit { border: 0; background: none; color: var(--teal); font-size: .75rem; text-decoration: underline; padding: 0 2px; cursor: pointer; min-height: 0; }
.hb-cust.editing .hb-edit { display: none; }
.hr-hb.field { display: flex; }
@media (max-width: 600px) { .hb .tfield .tf-pick { display: none; } .hb .tfield .tf-text { flex-basis: 6ch; width: 6ch; } .hb-row .hb-lbl { flex: 1 0 100%; min-width: 0; } .hb-ft { gap: .3rem; } }

/* ‹ Back left of every page title but home (Dov 11:41) — one look everywhere */
h1 .pg-back { display: inline-flex; align-items: center; gap: 2px; vertical-align: middle; margin: 0 .5rem 0 0; padding: 0 .65rem 0 .45rem; min-height: 34px; border: 1px solid #c9d3de; border-radius: 999px; background: #fff; color: #0F2236; font: 600 .85rem/1 inherit; font-family: inherit; cursor: pointer; position: relative; top: -2px; }
h1 .pg-back span { font-size: 1.25rem; line-height: 1; margin-top: -2px; }
h1 .pg-back:hover { background: #eaf0f5; }
h1 .pg-back:focus-visible { outline: 2px solid #14B1A0; outline-offset: 2px; }
#main.has-pgback .cv-back, #main.has-pgback .pl-back, #main.has-pgback .sub-back, #main.has-pgback .dl-back { display: none !important; }
@media print { .pg-back { display: none !important; } }

/* All jobs filter chips (Dov 11:44): one row, one tap, scrolls sideways on a phone */
.jf-row { display: flex; align-items: center; gap: 6px; overflow-x: auto; white-space: nowrap; margin: .5rem 0 .7rem; padding-bottom: 2px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.jf-row::-webkit-scrollbar { display: none; }
.jf-c { flex: none; display: inline-flex; align-items: center; gap: 4px; min-height: 34px; padding: 0 11px; border: 1px solid #c9d3de; border-radius: 999px; background: #fff; color: #0F2236; font: inherit; font-size: .85rem; font-weight: 600; cursor: pointer; }
.jf-c .jf-n { font-weight: 500; color: #6b7a8a; font-size: .78rem; }
.jf-c.on { background: #0F2236; border-color: #0F2236; color: #fff; }
.jf-c.on .jf-n { color: #cfe0ea; }
.jf-sep { flex: none; width: 1px; height: 22px; background: #d5dce4; margin: 0 4px; }
.jf-clear { flex: none; border: 0; background: none; color: #14B1A0; font: inherit; font-size: .85rem; font-weight: 600; text-decoration: underline; padding: 0 6px; cursor: pointer; }

/* Support button on every page and in every state (Dov 11:46) — only kept off the printed paper */
body:has(.print-page) .support-btn-container, body:has(.doc-preview) .support-btn-container, body:has(.pv-wrap) .support-btn-container, body:has(.print-bar) .support-btn-container { display: block !important; }
body:has(.modal-wrap) .support-btn { display: inline-block !important; }
.support-btn-container { z-index: 100000 !important; }
/* a popup is open: the button moves to the top-right corner so it never covers the popup's Save / Cancel */
body:has(.modal-wrap) .support-btn-container { top: calc(8px + env(safe-area-inset-top)); bottom: auto !important; right: 8px; }
body:has(.modal-wrap) .support-btn { padding: 6px 10px; font-size: 13px; opacity: .92; }
@media print { .support-btn-container, .support-btn { display: none !important; } }

/* brand colours only: no stray bright blue (Dov 11:44) */
.side a.msg-unread svg.ic { fill: none; stroke: currentColor; color: inherit; }
.chip.ko-printed { background: #eaf0f5; color: #0F2236; border: 1px solid #c9d3de; }
.sp-new { background: #e6f6f4; color: #0F2236; border-color: #a9ddd6; }
.sup-count.sp-new { border-top-color: #14B1A0; }
.sup-count.sp-new b { color: #0F2236; }
.jp-tag.jk-order { background: #eaf0f5; color: #0F2236; }
.stock-tag { background: #eaf0f5; color: #0F2236; }
.sz-chip input:focus-visible + span { outline-color: #14B1A0; }

.hb-cust { display: inline-flex; align-items: center; }
.hb-cust .hb-show { display: inline-flex; flex-direction: column; align-items: flex-start; max-width: 13ch; line-height: 1.15; }
.hb-cust .hb-show b { font-size: .88rem; color: var(--ink); white-space: normal; }
.hb-cust .hb-show .hb-edit { padding: 1px 0 0; }
.hb-cust.editing .hb-show { display: none; }
.hb-cust input.hb-txt[type=text] { width: auto; min-width: 0; min-height: 40px; border: 1px solid #c4ccd6; border-radius: var(--r); padding: 0 8px; font-size: .95rem; background: #fff; }
.hb-cust.off .hb-show b { color: #9aa5b1; }
@media (max-width: 600px) { .hb-cust .hb-show { max-width: 11ch; } }

/* Messaging page had its own rule hiding Support (Dov 11:46 "it should always be there"): shown, lifted above the message box */
body.msg-page .support-btn-container { display: block !important; bottom: calc(86px + env(safe-area-inset-bottom)) !important; }
body.msg-page:has(.modal-wrap) .support-btn-container { bottom: auto !important; }

/* Messaging: skeleton while the very first list loads (never a bare "Loading…") */
.msg-skel { padding: 10px 12px; }
.msg-skel-row, .msg-skel-msg { display: flex; align-items: center; gap: 10px; padding: 9px 4px; }
.msg-skel i { flex: none; width: 34px; height: 34px; border-radius: 50%; background: #e8edf2; }
.msg-skel span { flex: 1; display: flex; flex-direction: column; gap: 6px; }
.msg-skel b { display: block; height: 11px; width: 55%; border-radius: 6px; background: #e8edf2; }
.msg-skel small { display: block; height: 9px; width: 80%; border-radius: 6px; background: #eef2f5; }
.msg-skel.feed b { width: 30%; } .msg-skel.feed small { width: 70%; height: 12px; }
.msg-skel b, .msg-skel small, .msg-skel i { animation: msgSkel 1.2s ease-in-out infinite; }
@keyframes msgSkel { 50% { opacity: .55; } }
@media (prefers-reduced-motion: reduce) { .msg-skel b, .msg-skel small, .msg-skel i { animation: none; } }


/* v6460 — Support stays in its normal bottom-right spot in popups too (Dov 12:21: "In a popup support goes on top? Why?").
   Drawn above the popup's dark backdrop; every popup gets room at its end so its own buttons never sit under it. */
body:has(.modal-wrap) .support-btn-container { top: auto !important; bottom: calc(20px + env(safe-area-inset-bottom)) !important; right: 20px !important; left: auto !important; }
body:has(.modal-wrap) .support-btn { padding: 8px 16px; font-size: 14px; opacity: 1; }
body.msg-page:has(.modal-wrap) .support-btn-container { bottom: calc(86px + env(safe-area-inset-bottom)) !important; }
.modal-wrap { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
.modal-wrap.sheet .modal { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
@media (max-width: 600px) { .modal-actions { padding-right: 0; } }

/* v6460 — support ticket: Call · Message · Reply to the sender (Dov, Oct 25 12:22) */
.sup-contact { margin: 0 0 14px; padding: 12px 14px; border: 1px solid #cfe9e5; background: #f6fbfa; border-radius: 12px; }
.sup-contact .sc-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; }
.sup-contact .sc-who { color: #0F2236; font-size: .95rem; margin-right: 4px; }
.sup-contact .btn.small { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; }
.sup-contact .btn svg { flex: none; }
.sup-contact .sc-call { background: #14B1A0; border-color: #14B1A0; color: #fff; text-decoration: none; }
.sup-contact .sc-call small { font-weight: 500; opacity: .9; font-size: .8rem; }
.sup-contact .sc-call:hover { background: #12a090; }
.sup-contact .sc-call.off { background: #eef1f4; border-color: #d5dce4; color: #8a96a3; cursor: default; }
.sup-contact .sc-nophone { display: inline-flex; align-items: center; gap: 8px; }
.sup-contact .sc-addphone { color: #14B1A0; font-weight: 600; font-size: .85rem; }
.sup-contact .sc-msg { background: #fff; border: 1px solid #0F2236; color: #0F2236; }
.sup-contact .sc-msg:hover { background: #eaf0f5; }
.sup-contact .sc-replies { margin-top: 10px; display: flex; flex-direction: column; gap: 6px; }
.sup-contact .sc-reply { background: #fff; border: 1px solid #e3e7ec; border-left: 3px solid #14B1A0; border-radius: 8px; padding: 6px 10px; }
.sup-contact .sc-r-hd { display: flex; gap: 8px; align-items: baseline; } .sup-contact .sc-r-hd small { color: #6b7a8a; font-size: .78rem; }
.sup-contact .sc-reply p { margin: 2px 0 0; white-space: pre-wrap; color: #0F2236; }
.sup-contact .sc-form { display: flex; align-items: flex-start; gap: 8px; margin-top: 10px; flex-wrap: nowrap; }
.sup-contact .sc-l { flex: none; font-weight: 600; color: #0F2236; font-size: .9rem; padding-top: 8px; white-space: nowrap; }
.sup-contact .sc-form textarea { flex: 0 1 44ch; width: 44ch; max-width: 100%; min-width: 0; min-height: 36px; height: 36px; padding: 7px 9px; font: inherit; font-size: .92rem; line-height: 1.3; border: 1px solid #c4ccd6; border-radius: 8px; resize: none; background: #fff; }
.sup-contact .sc-form textarea:focus { outline: 2px solid #14B1A0; outline-offset: 0; border-color: #14B1A0; }
.sup-contact .sc-form .btn { flex: none; }
.sup-contact .sc-hint { margin: 4px 0 0; }
.sup-contact.sc-forme h3 { margin: 0 0 4px; font-size: 1rem; color: #0F2236; }
@media (max-width: 600px) { .sup-contact .sc-form textarea { width: auto; flex: 1 1 auto; } .sup-contact .sc-l { font-size: .85rem; } }
/* the two small icons on each inbox row */
.sup-from { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; min-width: 0; }
.sup-from .sup-fn { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }
.sup-ci-row { display: inline-flex; gap: 4px; }
.sup-ci { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; border: 1px solid #c9d3de; background: #fff; color: #0F2236; cursor: pointer; }
.sup-ci.call { color: #14B1A0; border-color: #a9ddd6; }
.sup-ci.off { color: #b4bdc7; border-color: #e1e6eb; }
.sup-ci:hover { background: #eaf0f5; } .sup-ci:focus-visible { outline: 2px solid #14B1A0; outline-offset: 1px; }
/* Users: phone box (small, label and box on one line) */
.usr-phone { display: flex; align-items: center; gap: 8px; margin: .4rem 0 .8rem; }
.usr-phone .lbl { flex: none; margin: 0; }
.usr-phone input { width: 16ch; max-width: 100%; }

#main.has-pgback .sup-back { display: none !important; }

/* v6461 — the loading mark always sits in the exact middle of the screen (Dov 12:41: "this needs to be always centered when loading") */
.ld-wrap { position: fixed; inset: 0; min-height: 0; height: 100vh; height: 100dvh; z-index: 60; display: flex; align-items: center; justify-content: center; pointer-events: none; background: transparent; }
#app > .ld-wrap { background: #fff; z-index: 9000; }
#boot { height: 100vh; height: 100dvh; }

/* v6461 — driver's two clear times (Dov 12:36): "Kitchen ready by" and "At customer by" */
.dc-times { display: inline-flex; flex-direction: column; gap: 1px; margin-right: 8px; vertical-align: middle; line-height: 1.25; }
.dc-times .dc-tl { font-size: .86rem; color: #475467; white-space: nowrap; }
.dc-times .dc-tl b { color: #0F2236; }
.dc-times.big { display: flex; margin: 4px 0 10px; } .dc-times.big .dc-tl { font-size: 1rem; }
.ch-tl { display: block; white-space: nowrap; line-height: 1.35; font-size: .92rem; }
.ch-tl b { color: #0F2236; }
.slip-time br + * { font-weight: 600; }
.dl-st { display: inline-block; margin-left: 6px; padding: 1px 8px; border-radius: 999px; font-size: .75rem; font-weight: 700; }
.dl-st.st-picked_up { background: #fff1e0; color: #8a4700; border: 1px solid #f3c58f; }
.dl-st.st-delivered { background: #e6f6f4; color: #0b6e63; border: 1px solid #a9ddd6; }
/* Scan (Dov 12:38) */
.dl-top .dl-scan { float: right; display: inline-flex; align-items: center; gap: 6px; margin-left: 10px; }
.dl-top .dl-scan svg.ic { width: 18px; height: 18px; }
.page-scan .scan-go { display: inline-flex; align-items: center; gap: 8px; }
.page-scan .scan-go svg.ic { width: 20px; height: 20px; }
.scan-view { position: relative; width: 100%; max-width: 520px; margin: 0 auto 10px; border-radius: 12px; overflow: hidden; background: #0F2236; min-height: 220px; }
.scan-view[hidden] { display: none; }
.scan-view video { display: block; width: 100%; height: auto; max-height: 60vh; object-fit: cover; }
.scan-view video[hidden] { display: none; }
.scan-frame { position: absolute; left: 8%; right: 8%; top: 32%; height: 36%; border: 3px solid #14B1A0; border-radius: 10px; box-shadow: 0 0 0 9999px rgba(15,34,54,.25); pointer-events: none; }
.scan-view:has(#scan-h5:not(:empty)) .scan-frame { display: none; }
.scan-man { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.scan-man .scan-l { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; color: #0F2236; }
.scan-man input { width: 14ch; min-height: 40px; font-size: 1.05rem; }
.scan-card h2 { margin: 6px 0 2px; }
.scan-card .scan-hd { display: flex; align-items: center; gap: 6px; }
.scan-acts { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 12px; }
.scan-acts .scan-pick { background: #E67800; border-color: #E67800; color: #fff; }
.scan-miss b { color: #0F2236; }
.slip-ord { margin-left: 12px; }
.slip-po + .slip-ord { margin-left: 12px; }

/* v6462 — Week page status filters (Dov 12:50): tap a tile or chip to show only those sheets; tap again to clear */
.ko-tiles .ko-tile { display: block; text-align: left; background: #f6f8fa; border: 2px solid transparent; border-radius: 10px; padding: 8px 10px; font: inherit; cursor: pointer; color: inherit; }
.ko-tiles .ko-tile:hover { background: #eef3f7; }
.ko-tiles .ko-tile.on { border-color: #0F2236; background: #fff; box-shadow: 0 1px 4px rgba(15,34,54,.12); }
.ko-tiles .ko-tile.due b { color: #c0392b; }
.ko-tiles .ko-tile:focus-visible { outline: 2px solid #14B1A0; outline-offset: 2px; }
.rep-totals.ko-tiles { grid-template-columns: repeat(5, minmax(0, 1fr)); }
@media (max-width: 560px) { .rep-totals.ko-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.ko-stf { margin-top: 6px; }
.ko-stf .chip { font: inherit; font-size: .85rem; cursor: pointer; }
.ko-stf .chip .ko-n { font-weight: 500; color: #6b7a8a; font-size: .78rem; margin-left: 2px; }
.ko-stf .chip.on .ko-n { color: #cfe0ea; }
/* progress bar (Dov 12:53): teal on light grey; full green + check at 100% */
.ko-prog { display: inline-flex; align-items: center; gap: 10px; margin-left: auto; min-width: 0; }
.ko-pbar { flex: none; width: 140px; height: 10px; border-radius: 999px; background: #e6ebf0; overflow: hidden; }
.ko-pfill { display: block; height: 100%; width: var(--p, 0%); border-radius: 999px; background: #14B1A0; animation: koFill .6s cubic-bezier(.2,.8,.3,1); }
@keyframes koFill { from { width: 0; } }
.ko-ptxt { font-size: .85rem; color: #475467; white-space: nowrap; } .ko-ptxt b { color: #0F2236; }
.ko-prog.done .ko-pfill { background: #1e9e5a; }
.ko-prog.done .ko-ptxt { color: #1e7a48; font-weight: 700; }
.ko-pchk { display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; border-radius: 50%; background: #1e9e5a; color: #fff; font-size: .72rem; margin-right: 2px; }
.ko-wkrow { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.ko-wkprog { margin: 10px 0 2px; }
.ko-prog.big { display: flex; margin: 0; } .ko-prog.big .ko-pbar { flex: 1 1 auto; width: auto; height: 12px; max-width: 520px; } .ko-prog.big .ko-ptxt { font-size: .95rem; }
@media (max-width: 600px) { .ko-wkrow .ko-prog { flex: 1 0 100%; margin-left: 0; } .ko-wkrow .ko-pbar { flex: 1 1 auto; width: auto; } }
@media (prefers-reduced-motion: reduce) { .ko-pfill { animation: none; } }
/* phone extension (Dov 12:52) */
.usr-phone { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin: .4rem 0 .8rem; }
.usr-phone label { display: inline-flex; align-items: center; gap: 8px; }
.usr-phone input.usr-ext { width: 6ch; }
.sup-contact .sc-extl { color: #475467; font-size: .9rem; }

/* v6463 — every tap answers (Dov 12:59): pressed look, busy spinner, ✓, red shake, top "Saving… / Saved ✓" */
button:active:not(:disabled), .btn:active, a.btn:active, .chip:active, [data-act]:active, [role="button"]:active, .ko-tile:active, .press-down:not(:disabled) { transform: scale(.97); filter: brightness(.93); transition: transform 80ms ease, filter 80ms ease; }
.press-flash { animation: pressFlash .26s ease-out; }
@keyframes pressFlash { 0% { box-shadow: 0 0 0 0 rgba(20,177,160,.45); } 100% { box-shadow: 0 0 0 8px rgba(20,177,160,0); } }
.press-busy { cursor: progress !important; opacity: .85; }
.press-busy::before { content: ''; display: inline-block; width: .85em; height: .85em; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; margin-right: .4em; vertical-align: -2px; animation: pressSpin .7s linear infinite; }
@keyframes pressSpin { to { transform: rotate(360deg); } }
.press-ok::after { content: ' ✓'; font-weight: 700; }
.press-fail { animation: pressShake .35s ease; outline: 2px solid #b42318 !important; outline-offset: 1px; }
@keyframes pressShake { 0%, 100% { transform: translateX(0); } 20%, 60% { transform: translateX(-4px); } 40%, 80% { transform: translateX(4px); } }
a.press-nav, .press-nav { background-color: rgba(20,177,160,.14) !important; transition: none; }
#press-st { position: fixed; top: calc(10px + env(safe-area-inset-top)); left: 50%; transform: translateX(-50%); z-index: 100500; padding: 6px 14px; border-radius: 999px; font-size: .88rem; font-weight: 600; background: #0F2236; color: #fff; box-shadow: 0 4px 14px rgba(15,34,54,.25); pointer-events: none; }
#press-st[hidden] { display: none; }
#press-st.ok { background: #0d8a7d; }
#press-st.err { background: #b42318; pointer-events: auto; cursor: pointer; }
@media (prefers-reduced-motion: reduce) { .press-flash, .press-fail { animation: none; } .press-busy::before { animation-duration: 1.6s; } button:active, .btn:active, .press-down { transform: none; } }
@media print { #press-st { display: none !important; } }

/* a popup opened by the tap: no spinner behind it */
body:has(.modal-wrap) .press-busy::before { display: none; }
body:has(.modal-wrap) .press-busy { opacity: 1; }
.past-gated { background: #eef1f4 !important; border-color: #d5dce4 !important; color: #6b7a8a !important; cursor: not-allowed; }

/* v6464 — Not needed (Dov 12:54): greyed row + tag; actions on the row */
.ko-nn { opacity: .55; } .ko-nn:hover { opacity: .8; }
.ko-nn a b { text-decoration: line-through; }
.chip.ko-nn-tag { background: #eef1f4; color: #6b7a8a; border: 1px solid #d5dce4; }
.ko-xrow { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.ko-xrow > a { flex: 1 1 220px; min-width: 0; display: flex; flex-direction: column; color: inherit; text-decoration: none; }
.ko-xacts { display: inline-flex; gap: 6px; align-items: center; margin-left: auto; }
.ko-xacts .btn.small { min-height: 30px; padding: 2px 10px; font-size: .82rem; }
.ko-row-pick .ko-xacts { margin-left: 8px; }
/* Supplier orders: the tab strip is always the first thing under the top bar */
.page-korders > .ko-tabs:first-child { margin-top: 0; }


/* ---------- Ship by air (Dov, Oct 25): plane tag, ship-to boxes (label + small box on one line), To ship list ---------- */
.ic-plane { width: 14px; height: 14px; vertical-align: -2px; flex: none; }
.air-tag { display: inline-flex; align-items: center; gap: .25rem; padding: 1px 7px; border-radius: 999px; background: var(--blue-bg); color: var(--ink); font-size: .78rem; font-weight: 600; white-space: nowrap; vertical-align: 1px; }
.seg.seg3 button { display: inline-flex; align-items: center; justify-content: center; gap: .3rem; }
.seg .seg-air.on { background: var(--ink); color: #fff; border-color: var(--ink); }
.ship-box { display: grid; gap: .45rem; margin: .5rem 0 .3rem; }
.ship-row { display: flex; flex-wrap: wrap; gap: .45rem .9rem; align-items: center; }
.sf { display: inline-flex; align-items: center; gap: .4rem; margin: 0; }
.sf > span { font-size: .88rem; font-weight: 600; color: var(--ink2); white-space: nowrap; }
.sf input, .sf select { width: auto; min-width: 0; padding: .35rem .5rem; font-size: .95rem; }
.sf .sf-name { width: 13rem; } .sf .sf-phone { width: 9.5rem; } .sf .sf-street { width: 19rem; } .sf .sf-city { width: 9.5rem; }
.sf .sf-state { width: 3.2rem; text-transform: uppercase; } .sf .sf-zip { width: 5.8rem; } .sf .sf-track { width: 13rem; }
.ship-done { color: var(--green); font-weight: 600; display: flex; align-items: center; gap: .35rem; flex-wrap: wrap; }
.air-warn { margin: .5rem 0; padding: .55rem .7rem; border-radius: var(--r); background: var(--red-bg); color: var(--red); border: 1px solid #f3c7c2; font-size: .92rem; }
.air-warn span { display: block; color: var(--ink2); font-size: .85rem; margin-top: .15rem; }
.isearch .ires.air-no { opacity: .55; cursor: not-allowed; background: var(--line2); }
.isearch .ires.air-no small { color: var(--red); }
.tag.air-no-tag { background: var(--red-bg); color: var(--red); border-color: #f3c7c2; }
.air-price { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem .9rem; margin-top: .4rem; padding: .5rem .7rem; border: 1px solid var(--line); border-radius: var(--r); background: #fff; }
.air-price .air-n { width: 4.5rem; } .air-price .air-rate { width: 5.5rem; }
.air-price .air-amt b { font-size: 1.05rem; } .air-price .air-hint { flex-basis: 100%; }
.air-head { display: inline-flex; align-items: center; gap: .3rem; color: var(--ink); }
.air-chk { display: flex; align-items: center; gap: .35rem; flex-wrap: wrap; }
.air-rate-set .fee-set input { width: 6rem; }
.fchip.fc-air { display: inline-flex; align-items: center; gap: .25rem; }
.jf-c[data-k="air"] { display: inline-flex; align-items: center; gap: .25rem; }
.to-ship h2 { display: flex; align-items: center; gap: .4rem; }
.ts-row { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .4rem .8rem; padding: .55rem 0; border-top: 1px solid var(--line2); }
.ts-row:first-of-type { border-top: 0; }
.ts-main { display: flex; gap: .7rem; align-items: flex-start; min-width: 0; flex: 1 1 260px; }
.ts-date { display: flex; flex-direction: column; min-width: 4.6rem; } .ts-date small { color: var(--muted); }
.ts-to { min-width: 0; } .ts-to small { display: block; color: var(--ink2); }
.ts-ctl { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; }
.ts-ctl .ts-carrier { width: auto; padding: .3rem .4rem; } .ts-ctl .ts-track { width: 11rem; padding: .3rem .5rem; }
.ts-ok { color: var(--green); font-weight: 600; display: inline-flex; align-items: center; gap: .25rem; }
.ts-row.ts-done { opacity: .75; } .ts-row.ts-late .ts-date b { color: var(--red); }
.slip-air { margin: .4rem 0; padding: .35rem .6rem; border: 2px solid #000; font-weight: 800; font-size: 1.1rem; letter-spacing: .02em; display: flex; align-items: center; gap: .4rem; }
.slip-air .ic-plane { width: 18px; height: 18px; }
.slip-air-t { display: inline-block; margin-top: 2px; }
.q2-cell.q2-air .q2-k { display: inline-flex; align-items: center; gap: .25rem; }
@media (max-width: 560px) {
  .sf .sf-name, .sf .sf-street { width: 100%; } .sf.sf-w { flex: 1 1 100%; } .sf.sf-w input { flex: 1; }
  .sf .sf-city { width: 8rem; } .ts-ctl .ts-track { width: 9rem; }
}

/* ---- proposal batch (Dov, Oct 25 2:08–2:16 PM) ---- */
/* 1) a proposal doesn't ask the event time yet: no red until it is a confirmed event */
.tm-row.tm-soft .tm-in[value=""], .tm-row.tm-soft .tm-main .tm-in[value=""] { outline: none !important; box-shadow: none !important; border-color: var(--line) !important; color: inherit !important; }
.tm-row.tm-soft .tm-cell:has(.tm-in[value=""]) > span, .tm-row.tm-soft .tm-main:has(.tm-in[value=""]) > span { color: inherit !important; font-weight: inherit !important; }
.tm-row.tm-soft .tm-main:has(.tm-in[value=""]) .tfield { border-color: var(--line) !important; box-shadow: none !important; }
.tm-row.tm-soft .tm-main:has(.tm-in[value=""]) .tf-text::placeholder { color: #8a94a0 !important; }
.tm-row.tm-soft .tm-ask { display: none !important; }
/* 7) Service level: compact, label + choices on one line */
.field.pf-inl { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; }
.field.pf-inl > .lbl { margin: 0; white-space: nowrap; }
.seg.pf-seg { display: inline-flex !important; width: auto !important; max-width: 100%; flex: 0 0 auto; grid-template-columns: none !important; }
.seg.pf-seg > button { flex: 0 0 auto !important; width: auto !important; min-width: 0 !important; padding: .35rem .75rem; white-space: nowrap; }
.pf-notax { display: inline-block; margin-left: .35rem; padding: 0 .4rem; border-radius: 999px; background: #f1f2f4; color: #5b6570; font-size: .72rem; font-weight: 600; }
/* 8) email + copy on the summary card */
.pf-copy { display: inline-flex; align-items: center; justify-content: center; margin-left: .3rem; padding: .1rem .3rem; min-height: 0; border: 1px solid var(--line); border-radius: 6px; background: #fff; color: var(--teal, #2E8B8F); font-size: .72rem; line-height: 1.2; vertical-align: 1px; cursor: pointer; }
.pf-copy:hover { border-color: var(--teal, #2E8B8F); }
.pf-copy.pf-ok { background: #E8F5E9; border-color: #2E7D32; color: #2E7D32; font-weight: 700; }
.pf-copy.pf-bad { background: #FDECEA; border-color: #C62828; color: #C62828; }
.pf-mail { display: inline-flex; align-items: center; flex-wrap: wrap; word-break: break-all; }
.pf-noemail { color: #C62828; font-weight: 600; }
/* 4) Versions block */
.pfv .pfv-btns { margin: .2rem 0 .6rem; }
.pfv-more { display: inline-block; position: relative; }
.pfv-list { list-style: none; margin: 0; padding: 0; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.pfv-row { display: grid; grid-template-columns: 4.2rem 1fr auto; gap: .6rem; align-items: start; padding: .55rem .7rem; border-top: 1px solid var(--line); }
.pfv-row:first-child { border-top: 0; }
.pfv-row.cur { background: #EAF6F6; box-shadow: inset 4px 0 0 var(--teal, #2E8B8F); }
.pfv-row.old { color: #5b6570; }
.pfv-v b { font-size: 1.05rem; }
.pfv-cur { display: block; font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--teal, #2E8B8F); }
.pfv-sent { font-size: .82rem; color: #5b6570; margin-top: .1rem; }
.pfv-seen { color: #2E7D32; }
.pfv-acts { display: flex; gap: .3rem; flex-wrap: wrap; justify-content: flex-end; }
@media (max-width: 600px) { .pfv-row { grid-template-columns: 3rem 1fr; } .pfv-acts { grid-column: 1 / -1; justify-content: flex-start; } }
/* 5) Send popup */
.pf-send { max-width: 560px; }
.pf-send .pf-ev { margin: 0 0 .5rem; }
.pf-line { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; margin: .35rem 0; }
.pf-line > .lbl { min-width: 5.2rem; margin: 0; font-weight: 600; }
.pf-in { width: auto; max-width: 100%; padding: .35rem .5rem; }
.pf-email { width: 17rem; } .pf-mob { width: 10rem; } .pf-note { width: 17rem; }
.pf-in.bad { border-color: #C62828 !important; box-shadow: 0 0 0 1px #C62828; }
.pf-enote { margin: -.1rem 0 .3rem 5.7rem; color: #C62828; font-size: .82rem; font-weight: 600; }
.pf-savec { font-size: .85rem; }
.pf-ml { display: block; margin: .5rem 0 .2rem; font-weight: 600; }
.pf-msg { width: 100%; font: inherit; font-size: .9rem; line-height: 1.35; padding: .5rem; border: 1px solid var(--line); border-radius: 8px; resize: vertical; }
.pf-ch { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .6rem; }
.pf-ch .btn.pf-done { box-shadow: inset 0 0 0 2px #2E7D32; }
.pf-st { margin: .55rem 0 0; font-size: .86rem; color: #5b6570; }
.pf-st.ok { color: #2E7D32; font-weight: 600; } .pf-st.err { color: #C62828; font-weight: 600; }
.pf-st .btn { margin-left: .3rem; }
.pf-linkbox { width: 100%; margin-top: .3rem; font-size: .8rem; }
.pf-spin { display: inline-block; width: .8em; height: .8em; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: pfspin .7s linear infinite; vertical-align: -1px; }
@keyframes pfspin { to { transform: rotate(360deg); } }
@media (max-width: 600px) { .pf-line > .lbl { min-width: 0; width: 100%; } .pf-email, .pf-note { width: 100%; } .pf-enote { margin-left: 0; } }
/* 6) Taxable items page */
.pf-tax .pf-pk { margin: .8rem 0 .2rem; font-size: .9rem; color: #5b6570; }
.pf-tl { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr)); gap: .1rem .8rem; }
.pf-tl li { display: flex; align-items: center; gap: .4rem; padding: .15rem 0; }
.pf-tst { font-size: .75rem; color: #5b6570; } .pf-tst.ok { color: #2E7D32; } .pf-tst.err { color: #C62828; font-weight: 600; }
.pf-tbar { display: flex; align-items: center; gap: .7rem; flex-wrap: wrap; margin-bottom: .3rem; }
.pf-tq { width: 16rem; max-width: 100%; }
.pf-taxchk { display: block; margin: .3rem 0; }
@media (max-width: 600px) { .seg.pf-seg { flex-wrap: wrap; } .seg.pf-seg > button { white-space: normal; text-align: center; } .pf-send .modal-body { padding-bottom: 5.5rem; } }
.pf-em .ch-v { font-size: .92rem; } .pf-mail { word-break: normal; overflow-wrap: anywhere; }

/* 11) side menu scrolls on its own when the groups are open (Dov, Oct 25 2:24 PM: Office / Reports / Bookkeeping were cut off) */
.side { height: 100vh; height: 100dvh; }
.side > .brand, .side > ul.bottom { flex: 0 0 auto; }
.side > ul:not(.bottom) { flex: 1 1 auto; min-height: 0; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; scrollbar-width: thin; }
.side > ul.bottom { margin-top: 0; }
/* 10) important items on order sheets (Shimshi's ticket #7) */
.ko-table tr.ko-imp > td { background: #FFF6EC; }
.ko-table tr.ko-imp > td:first-child { box-shadow: inset 4px 0 0 #E8833A; }
.ko-table tr.ko-imp .ko-q { border-color: #E8833A; box-shadow: 0 0 0 1px #E8833A; }
.ko-table tr.ko-imp.ko-imp-empty > td { background: #FDECEA; }
.ko-table tr.ko-imp.ko-imp-empty > td:first-child { box-shadow: inset 4px 0 0 #C62828; }
.ko-table tr.ko-imp.ko-imp-empty .ko-q { border-color: #C62828; box-shadow: 0 0 0 2px #C62828; }
.ko-imptag { display: inline-block; margin-left: .4rem; padding: 0 .45rem; border-radius: 999px; background: #E8833A; color: #fff; font-size: .68rem; font-weight: 700; vertical-align: 1px; }
.ko-imp-empty .ko-imptag { background: #C62828; }
.kt-imp { margin-left: .4rem; padding: .15rem .5rem; min-height: 0; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: #5b6570; font-size: .78rem; cursor: pointer; white-space: nowrap; }
.kt-imp.on { background: #E8833A; border-color: #E8833A; color: #fff; font-weight: 700; }
.ko-pt tr.ko-impp td { font-weight: 700; }
.ko-pick { margin: .6rem 0 1rem; padding: .6rem .8rem; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.ko-pick > summary { cursor: pointer; }
.ko-pick-n { display: inline-block; margin-left: .3rem; padding: 0 .45rem; border-radius: 999px; background: #EAF6F6; color: var(--teal); font-size: .78rem; font-weight: 700; }
.ko-pick h3 { margin: .7rem 0 .2rem; font-size: 1rem; } .ko-pick h4 { margin: .5rem 0 .1rem; font-size: .85rem; color: #5b6570; }
.ko-pick-all { margin: .2rem 0; font-size: .85rem; }
.ko-pick-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr)); gap: .05rem .8rem; }
@media print { .ko-pick { display: none !important; } }
.ko-print-page .ko-pick { box-sizing: border-box; width: min(8.5in, calc(100vw - 2rem)); max-width: 100%; margin: .6rem auto 1rem; align-self: center; }
.ko-print-page details.ko-pick { display: block !important; height: auto !important; }
.ko-pick-grid label.check { font-size: .88rem; padding: .05rem 0; }

/* 17) email that looks wrong (Dov, Oct 25 2:46 PM) */
.email-warn { display: inline-block; margin-left: .35rem; color: #C62828; font-weight: 700; font-size: .78rem; white-space: nowrap; }
.pf-mail-bad > a, .email-bad-btn { color: #C62828 !important; }
.email-bad-btn { border-color: #C62828 !important; }
.email-fix { margin-left: .2rem; padding: .1rem .5rem; border: 1px solid #C62828; border-radius: 999px; background: #fff; color: #C62828; font: inherit; font-size: .8rem; font-weight: 700; cursor: pointer; }

/* 16) EVERY segmented control sized to its content, never a long stretched box (Dov, Oct 25 2:45 PM: "Still a loooooooong box here"; dov.md input rule) */
.seg, .seg.big, .seg.wrap, .seg.compact, .seg.kind-pick, .seg.seg3, .seg.big.wrap.venue-kind, [role=radiogroup].seg { display: inline-flex !important; width: auto !important; max-width: 100%; flex: 0 1 auto !important; flex-wrap: wrap; grid-template-columns: none !important; grid-auto-flow: row !important; grid-auto-columns: auto !important; justify-self: start; align-self: flex-start; vertical-align: middle; }
.seg > a, .seg > button, .seg > .segr, .seg.big.wrap.venue-kind > button, .seg.kind-pick button { flex: 0 0 auto !important; width: auto !important; min-width: 0 !important; white-space: nowrap; }
.field:has(> .seg), .field:has(> .lbl + .seg) { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem .6rem; }
.field:has(> .seg) > .lbl, .field:has(> .seg) > label:first-child { margin: 0; flex: 0 0 auto; width: auto; }
.field:has(> .seg), .field:has(> .lbl + .seg) { flex-direction: row !important; justify-content: flex-start; }
.field:has(> .seg) > .seg.wrap { margin-bottom: 0; }

/* 14) Tasks filters row (Dov, Oct 25 2:37 PM) — one tidy line on desktop, wraps on phone */
.tf-bar { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .5rem; margin: .2rem 0 .7rem; font-size: .85rem; }
.tf-q { width: 15rem; max-width: 100%; padding: .3rem .55rem; min-height: 0; height: 32px; font-size: .85rem; }
.tf-l { color: #5b6570; font-weight: 600; font-size: .78rem; margin-left: .2rem; }
.tf-g { display: inline-flex; flex-wrap: wrap; gap: .2rem; }
.tf-c { padding: .2rem .55rem; min-height: 0; height: 28px; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: var(--ink2); font: inherit; font-size: .8rem; cursor: pointer; white-space: nowrap; }
.tf-c b { font-weight: 700; color: #5b6570; margin-left: .1rem; }
.tf-c.on { background: var(--blue); border-color: var(--blue); color: #fff; } .tf-c.on b { color: #fff; }
.tf-c:active { transform: scale(.96); }
.tf-job { width: 8.5rem; padding: .25rem .5rem; height: 28px; min-height: 0; font-size: .8rem; }
.tf-job.tf-miss { border-color: #C62828; }
.tf-one { display: inline-flex; align-items: center; gap: .25rem; padding: .15rem .3rem .15rem .6rem; border-radius: 999px; background: var(--blue); color: #fff; font-size: .8rem; font-weight: 600; }
.tf-x { border: 0; background: rgba(255,255,255,.25); color: #fff; border-radius: 999px; width: 20px; height: 20px; min-height: 0; padding: 0; line-height: 1; cursor: pointer; }
.tf-sel { width: auto; height: 28px; min-height: 0; padding: 0 .4rem; font-size: .8rem; }
.tf-clear { border: 0; background: none; color: var(--blue); font: inherit; font-size: .82rem; font-weight: 700; cursor: pointer; text-decoration: underline; min-height: 0; padding: .2rem; }
@media (max-width: 700px) { .tf-q { width: 100%; } .tf-bar { gap: .3rem .4rem; } }

.kb-head-r { flex-wrap: wrap; gap: .4rem; }
.tf-head { display: inline-flex; flex-wrap: wrap; align-items: center; gap: .4rem; }
.tf-head input.tf-q, .tf-bar input.tf-job, .tf-head select.tf-sel { height: 34px !important; min-height: 0 !important; flex: 0 0 auto; margin: 0; }
.tf-head input.tf-q { width: 13rem !important; } .tf-bar input.tf-job { width: 7.5rem !important; height: 28px !important; }
.tf-head select.tf-sel { width: auto !important; max-width: 11rem; padding: 0 1.6rem 0 .5rem; }
.tf-bar { flex-wrap: wrap; } .tf-c { padding: .15rem .45rem; } .tf-bar .tf-l { margin-left: .35rem; }
@media (max-width: 700px) { .tf-head { width: 100%; } .tf-head input.tf-q { width: 100% !important; } }
.tf-grp { display: inline-flex; flex-wrap: wrap; align-items: center; gap: .2rem .3rem; }
@media (max-width: 700px) { .tf-head select.tf-sel { flex: 1 1 8rem; max-width: none; } }
.pk-sec input[name$=".dguests"] { max-width: 7rem; } .pk-sec select[name$=".dstyle"] { max-width: 11rem; width: auto; }

/* ===== Supplier batch (Oct 25, 3:08–3:18 PM) ===== */
/* Not important item (light grey + tag) and Not needed this week (struck, grey) on a week's sheet */
.ko-table tr.ko-low > td, .ko-table tr.ko-low > td b { color: #A3ABB3; }
.ko-table tr.ko-low > td b { font-weight: 500; }
.ko-table tr.ko-low .ko-q, .ko-table tr.ko-low .ko-n { color: #8A939C; background: #F7F8F9; border-color: #E3E6E9; }
.ko-lowtag { display: inline-block; margin-left: .4rem; padding: 0 .45rem; border-radius: 999px; background: #EEF0F2; color: #8A939C; font-size: .68rem; font-weight: 600; vertical-align: 1px; white-space: nowrap; }
.ko-table tr.ko-nnit > td { background: #F4F5F6; }
.ko-table tr.ko-nnit > td b { color: #9AA2AA; text-decoration: line-through; font-weight: 500; }
.ko-table tr.ko-nnit .ko-q, .ko-table tr.ko-nnit .ko-n { opacity: .45; }
.ko-nntag { display: inline-block; margin-left: .4rem; padding: 0 .45rem; border-radius: 999px; background: #0F2236; color: #fff; font-size: .68rem; font-weight: 600; vertical-align: 1px; white-space: nowrap; }
.ko-table th.ko-nnc, .ko-table td.ko-nnc { width: 1%; white-space: nowrap; text-align: right; }
.ko-table .ko-nnb.btn { padding: .2rem .55rem; min-height: 0; font-size: .78rem; color: #5b6570; }
.ko-table .ko-nnb.small-link { font-size: .8rem; color: #14B1A0; font-weight: 600; }
.ko-sendnote { margin: .4rem 0 0; padding: .45rem .7rem; border-radius: 8px; background: #E7F7F5; color: #0F2236; font-size: .88rem; display: inline-block; }
.ko-sendnote[hidden] { display: none; }
/* order-sheet template: Important / Not important side by side (exclusive) */
.kt-flags { display: inline-flex; gap: .3rem; margin-left: .4rem; flex-wrap: nowrap; }
.kt-flags .kt-imp { margin-left: 0; }
.kt-low { padding: .15rem .5rem; min-height: 0; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: #8A939C; font-size: .78rem; cursor: pointer; white-space: nowrap; }
.kt-low.on { background: #8A939C; border-color: #8A939C; color: #fff; font-weight: 700; }
/* worker print: not important = light grey; not needed this week = struck through */
.ko-pt tr.ko-lowp td, .ko-pt tr.ko-lowp td b { color: #9AA2AA !important; font-weight: 400; }
.ko-pt tr.ko-nnp td { color: #9AA2AA !important; }
.ko-pt tr.ko-nnp .ko-pn { text-decoration: line-through; }
.ko-pt .ko-ptag { font-size: .72em; font-style: italic; color: #8A939C; white-space: nowrap; }
@media print { .ko-pt tr.ko-lowp td, .ko-pt tr.ko-nnp td { color: #9AA2AA !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; } }
/* page-head buttons with icons, grouped at the right of the title (Kitchen, Orders) — no floating in the middle */
.page-head.kh-head { align-items: center; }
.kh-acts { display: inline-flex; align-items: center; gap: .5rem; flex-wrap: wrap; margin-left: auto; }
.btn.ic-btn { display: inline-flex; align-items: center; gap: .4rem; }
.btn.ic-btn .ic { width: 18px; height: 18px; flex: none; }
@media (max-width: 640px) { .page-head.kh-head { gap: .5rem; } .kh-acts { margin-left: 0; width: 100%; } .kh-acts .seg { margin-left: auto; } }
/* job page: Menu starts closed, one summary line */
.menu-fold > h2.sec-h-row { margin-bottom: 0; }
.menu-fold.open > h2.sec-h-row { margin-bottom: .6rem; }
.mf-tog { display: inline-flex; align-items: baseline; gap: .45rem; padding: 0; min-height: 0; border: 0; background: none; color: inherit; font: inherit; cursor: pointer; text-align: left; flex: 1 1 auto; min-width: 0; }
.mf-car { display: inline-block; width: .8em; color: #14B1A0; font-weight: 700; transition: transform .15s; }
.menu-fold.open .mf-car { transform: rotate(90deg); }
.mf-sum { font-size: .8rem; font-weight: 500; color: #6b7480; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mf-tog:hover .mf-sum { color: #0F2236; }
.ko-table tr.ko-nnit > td { background-color: #F4F5F6 !important; }
@media (max-width: 640px) { .kh-acts .btn.ic-btn { padding: .35rem .6rem; font-size: .86rem; min-height: 38px; } .kh-acts .btn.ic-btn .ic { width: 16px; height: 16px; } .kh-acts .seg { margin-left: 0; } }

/* Frozen list headers (Dov, Oct 25 3:22 PM): title / filter rows and table column headers stay at the top while a long list scrolls */
.stk { position: sticky !important; z-index: 6; background: var(--stk-bg, #F7F8F9); box-shadow: 0 -6px 0 0 var(--stk-bg, #F7F8F9); }
.stk + .stk { box-shadow: none; }
.page-head.stk, .rep-head.stk, .sup-hd.stk, .dl-head.stk { padding-top: .35rem; }
.stk.stk-last, .stk:not(:has(+ .stk)) { border-bottom: 1px solid #E3E6E9; padding-bottom: .35rem; }
th.stk-th { position: relative; z-index: 4; background: #fff; }
th.stk-th.stk-on { box-shadow: 0 1px 0 #E3E6E9, 0 2px 4px rgba(15, 34, 54, .08); }
@media print { .stk { position: static !important; box-shadow: none !important; border: 0 !important; } th.stk-th { transform: none !important; } }
.page-head.stk, .rep-head.stk, .sup-hd.stk, .dl-head.stk { padding-top: 0; }
.stk:not(:has(+ .stk)) { border-bottom: 0; padding-bottom: revert-layer; box-shadow: 0 -6px 0 0 var(--stk-bg, #F7F8F9), 0 1px 0 #E3E6E9; }
.stk + .stk:not(:has(+ .stk)) { box-shadow: 0 1px 0 #E3E6E9; }
.stk.stk-wide { box-shadow: 0 0 0 100vmax var(--stk-bg, #F7F8F9) !important; clip-path: inset(0 -100vmax); }

/* "Needed" switch (Dov, Oct 25 3:45 PM): teal = needed, grey = not needed this week; flipping back is the undo */
.nn-sw { display: inline-flex; align-items: center; gap: .4rem; padding: .15rem .1rem; min-height: 0; border: 0; background: none; cursor: pointer; font: inherit; font-size: .8rem; color: #0F2236; white-space: nowrap; }
.nn-track { position: relative; width: 34px; height: 20px; border-radius: 999px; background: #C9CFD5; transition: background .15s; flex: none; }
.nn-knob { position: absolute; top: 2px; left: 2px; width: 16px; height: 16px; border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgba(15, 34, 54, .3); transition: transform .15s; }
.nn-sw.on .nn-track { background: #14B1A0; }
.nn-sw.on .nn-knob { transform: translateX(14px); }
.nn-sw .nn-lbl { font-weight: 600; color: #14B1A0; }
.nn-sw:not(.on) .nn-lbl { color: #6b7480; }
.nn-sw:disabled { opacity: .6; cursor: progress; }
.nn-sw:focus-visible .nn-track { outline: 2px solid #0F2236; outline-offset: 2px; }
.nn-sw.nn-sm { font-size: .74rem; gap: .3rem; }
.nn-sw.nn-sm .nn-track { width: 28px; height: 16px; } .nn-sw.nn-sm .nn-knob { width: 12px; height: 12px; } .nn-sw.nn-sm.on .nn-knob { transform: translateX(12px); }
@media (max-width: 640px) { .nn-sw.nn-sm .nn-lbl { display: none; } }
.ko-nn .nn-sw { opacity: 1; }
.ko-row.ko-nn { opacity: 1; background: #F4F5F6; }
.ko-row.ko-nn > a, .ko-row.ko-nn > .chip { opacity: .6; }
.ko-trash { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; padding: 0; min-height: 0; border: 0; border-radius: 6px; background: none; color: #8A939C; cursor: pointer; }
.ko-trash .ic { width: 17px; height: 17px; }
.ko-trash:hover { color: #C62828; background: #FDECEA; }
.ko-snn { margin-left: .4rem; vertical-align: middle; }

/* Not needed this week: small grey ⊘ icon; pressed = filled red-grey, tap again to undo (Dov, Oct 25 3:49 PM) */
.nn-ic { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; padding: 0; min-height: 0; border: 0; border-radius: 6px; background: none; color: #8A939C; cursor: pointer; flex: none; }
.nn-ic .ic { width: 18px; height: 18px; }
.nn-ic:hover { color: #0F2236; background: #EEF0F2; }
.nn-ic.on { color: #fff; background: #9C6B6B; }
.nn-ic.on:hover { background: #8A5555; color: #fff; }
.nn-ic.nn-sm { width: 26px; height: 26px; } .nn-ic.nn-sm .ic { width: 16px; height: 16px; }
.nn-ic:disabled { opacity: .6; cursor: progress; }
.ko-row.ko-nn .ko-xacts { opacity: 1; }
.ko-table td.ko-nnc { padding-left: 2px; padding-right: 4px; }
.pf-ph-bad { color: #C62828 !important; }

/* Gallery: name files before upload, rename + share in the popup, Camera / Photos buttons (Dov, Oct 25 3:48–3:56 PM) */
.gal-ups { display: inline-flex; gap: .4rem; align-items: center; flex-wrap: wrap; }
.btn.gal-ic { padding: .45rem .6rem; }
.btn.gal-ic .ic { width: 20px; height: 20px; }
.gal-nms { display: grid; gap: .45rem; }
.gal-nm { display: flex; align-items: center; gap: .3rem; flex-direction: row-reverse; justify-content: flex-end; }
.gal-nm input { flex: 0 1 26ch; min-width: 0; }
.gal-nm-ext { color: #6b7480; font-size: .85rem; }
.gal-ren { display: flex; align-items: center; gap: .4rem; margin-bottom: .5rem; flex-wrap: wrap; }
.gal-renbox { display: inline-flex; align-items: center; gap: .3rem; flex-wrap: wrap; }
.gal-renbox[hidden] { display: none; }
.gal-ren-in { width: 26ch; max-width: 60vw; }
.btn.gal-share .ic, .gal-ren-open .ic { width: 17px; height: 17px; }

/* Locked sent orders + Update order / REVISED (Dov, Oct 25 3:55 PM) */
.ko-lockbar, .ko-revbar { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; margin: .2rem 0 .6rem; padding: .5rem .75rem; border-radius: 10px; background: #F1F4F7; color: #0F2236; font-size: .92rem; width: fit-content; max-width: 100%; }
.ko-revbar { background: #FDECEC; border: 1px solid #F3C4C4; }
.ko-locked input.ko-q, .ko-locked input.ko-n, .ko-locked input:disabled { background: #F1F3F5 !important; color: #5b6570 !important; border-color: #E1E5EA !important; }
.chip.ko-rev { background: #FDECEC; color: #C62828; border: 1px solid #F3C4C4; }
.chip.ko-rev.on { background: #C62828; color: #fff; }
.ko-chips { display: inline-flex; gap: .35rem; align-items: center; flex-wrap: wrap; }

/* Camera + Photos/files pair (Dov 3:56) */
.pick2 { display: inline-flex; align-items: center; gap: .35rem; flex-wrap: wrap; }
.pick2 .btn.pick2-b { padding: .42rem .58rem; }
.pick2 .btn.pick2-b .ic { width: 20px; height: 20px; }
.pick2-name { max-width: 22ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pick2-l { font-size: .9rem; color: #0F2236; }

/* ===== Customer messages list (Dov, Oct 25) — site/js/msgtpl.js ===== */
.mt-page { max-width: 860px; }
.mt-head { display: flex; align-items: center; justify-content: space-between; gap: .75rem; flex-wrap: wrap; }
.mt-head h2 { margin: 0; }
.mt-note { margin: .4rem 0 .9rem; padding: .45rem .7rem; border-left: 3px solid #14B1A0; background: #eefaf8; color: #0F2236; border-radius: 6px; font-size: .92rem; }
.mt-card { border: 1px solid var(--line, #dfe3e8); border-radius: 12px; padding: .75rem .85rem .6rem; margin: 0 0 .8rem; background: #fff; }
.mt-card.off { background: #f6f7f9; }
.mt-card.off .mt-text, .mt-card.off .mt-name, .mt-card.off .mt-row2 { opacity: .62; }
.mt-row1 { display: flex; align-items: center; gap: .6rem; justify-content: space-between; }
.mt-name { font-weight: 700; font-size: 1.02rem; color: #0F2236; width: 100%; max-width: 34ch; padding: .3rem .45rem; }
.mt-sw { display: inline-flex; align-items: center; gap: .4rem; cursor: pointer; flex: none; user-select: none; }
.mt-sw input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.mt-sw-t { width: 40px; height: 22px; border-radius: 11px; background: #c5ccd4; position: relative; transition: background .15s; }
.mt-sw-t::after { content: ''; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.25); transition: left .15s; }
.mt-sw input:checked + .mt-sw-t { background: #14B1A0; }
.mt-sw input:checked + .mt-sw-t::after { left: 21px; }
.mt-sw input:focus-visible + .mt-sw-t { outline: 2px solid #0F2236; outline-offset: 2px; }
.mt-sw-l { font-weight: 600; font-size: .9rem; min-width: 2em; color: #0F2236; }
.mt-row2 { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem .9rem; margin: .55rem 0 .2rem; }
.mt-f { display: inline-flex; align-items: center; gap: .35rem; margin: 0; }
.mt-f > .lbl { margin: 0; font-weight: 600; font-size: .85rem; color: #4a5866; }
.mt-f select { width: auto; max-width: 100%; padding: .3rem .4rem; }
.mt-days input { width: 5ch; padding: .3rem .35rem; text-align: center; }
.mt-days span { font-size: .9rem; }
.mt-how button { font-size: .85rem; }
.mt-sub { margin: .25rem 0 .45rem; font-size: .84rem; color: #5b6875; }
.mt-card .tag-chips { margin: .2rem 0 .35rem; }
.mt-text { width: 100%; min-height: 4.5em; line-height: 1.4; }
.mt-foot { display: flex; align-items: center; gap: .5rem; justify-content: flex-end; margin-top: .35rem; min-height: 30px; }
.mt-st { margin-right: auto; font-size: .84rem; color: #5b6875; }
.mt-st.ok { color: #0e8a7c; font-weight: 600; }
.mt-st.err { color: #C62828; font-weight: 600; }
.mt-foot .mt-del { color: #C62828; }
.mt-msgbtn { margin-left: .5rem; white-space: nowrap; font-size: .85rem; }
.mt-pick { width: auto; max-width: 100%; padding: .3rem .4rem; }
.mt-tkrow .btn-row { margin: .2rem 0; }
@media (max-width: 600px) { .mt-card { padding: .6rem .6rem .5rem; } .mt-name { max-width: none; } .mt-row2 { gap: .4rem .6rem; } }

/* ===== Voice notes in Messaging (Dov, Oct 25 3:57 PM) — site/js/voicenote.js ===== */
.msg-cam { cursor: pointer; }
.msg-mic.pressed { background: #fdecec; border-color: #C62828; color: #C62828; }
.vn-rec { display: flex; align-items: center; gap: .5rem; min-height: 44px; }
.vn-rec .vn-x { color: #5b6875; }
.vn-dot { width: 12px; height: 12px; border-radius: 50%; background: #C62828; animation: vnPulse 1s ease-in-out infinite; flex: none; }
@keyframes vnPulse { 0%, 100% { opacity: 1; } 50% { opacity: .25; } }
.vn-rt { font-variant-numeric: tabular-nums; font-weight: 700; color: #0F2236; }
.vn-rt small { font-weight: 400; color: #5b6875; }
.vn-hint { color: #5b6875; font-size: .9rem; margin-right: auto; }
.vn-stop { background: #C62828; border-color: #C62828; color: #fff; }
.vn-stop:disabled { opacity: .6; }
.vn { display: inline-flex; align-items: center; gap: .55rem; background: #eefaf8; border: 1px solid #cdeee9; border-radius: 22px; padding: .3rem .8rem .3rem .3rem; margin: .3rem 0; width: 270px; max-width: 100%; box-sizing: border-box; }
.vn-rec .vn { flex: 1; width: auto; margin: 0; }
.vn-play { width: 34px; height: 34px; border-radius: 50%; border: 0; background: #14B1A0; color: #fff; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; flex: none; padding: 0; }
.vn-play:active { transform: scale(.94); }
.vn.playing .vn-play { background: #0F2236; }
.vn-bar { flex: 1; height: 6px; border-radius: 3px; background: #c9e6e2; position: relative; cursor: pointer; min-width: 60px; }
.vn-bar:focus-visible { outline: 2px solid #0F2236; outline-offset: 3px; }
.vn-fill { position: absolute; left: 0; top: 0; bottom: 0; width: 0; border-radius: 3px; background: #14B1A0; }
.vn-t { font-variant-numeric: tabular-nums; font-size: .85rem; color: #0F2236; min-width: 2.6em; text-align: right; }
.vn-ic { color: #14B1A0; display: inline-flex; }

/* ===== Camera / microphone permission (Dov, Oct 25 4:10 PM) — site/js/camperm.js ===== */
.cp-wrap { z-index: 10050; }
.cp-box { max-width: 380px; text-align: center; padding: 1.2rem 1.2rem 1rem; }
.cp-box h2 { margin: .3rem 0 .4rem; font-size: 1.2rem; }
.cp-ic { color: #14B1A0; display: flex; justify-content: center; }
.cp-text p { margin: .35rem 0; }
.cp-btns { display: flex; gap: .5rem; justify-content: center; flex-wrap: wrap; margin-top: .8rem; }
.cp-cam { max-width: 720px; width: 96vw; }
.cp-view { background: #0F2236; border-radius: 10px; overflow: hidden; display: flex; justify-content: center; align-items: center; min-height: 240px; }
.cp-view video, .cp-view img { display: block; width: 100%; max-height: 62vh; object-fit: contain; }
.cp-cam .cp-btns { justify-content: flex-end; padding: .2rem 0 .1rem; }

/* item batch (worker 055cfdc2): Preview red 'not set' */
.q2-miss{color:#b42318;font-weight:700}
.q2-cell small .q2-miss{font-weight:700}
/* payment method icon buttons (Dov Oct 25 4:18) */
.pp-msel{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;overflow:hidden}
.pp-m{position:relative}
.pp-ics{display:flex;flex-wrap:wrap;gap:6px;max-width:100%}
.pp-ic{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;min-height:36px;border:1px solid #c4ccd6;border-radius:8px;background:#fff;color:var(--ink);font:inherit;font-size:.9rem;font-weight:600;cursor:pointer;width:auto;flex:0 0 auto;white-space:nowrap}
.pp-ic svg{width:18px;height:18px;flex:0 0 auto}
.pp-ic:hover{border-color:var(--ink)}
.pp-ic.on{background:var(--ink);border-color:var(--ink);color:#fff}
.pp-row .pp-m{grid-column:1/-1;min-width:0}

/* prep time (item edit) + warning on order lines (Dov Oct 25 4:16) */
.ib-line{display:inline-flex;align-items:center;gap:.45rem;margin:0 .9rem .35rem 0;white-space:nowrap}
.ib-line .lbl{margin:0;font-weight:600}
.ib-line input.ib-num{width:5.6rem!important;max-width:5.6rem!important;flex:0 0 5.6rem!important;text-align:center;min-height:40px}
.ib-wrap{display:flex;flex-wrap:wrap;gap:.2rem .4rem;margin-top:.4rem}
.prep-box{margin:.2rem 0 .8rem}
.prep-box > small{display:block;margin-top:-.1rem}
.prep-sz summary{cursor:pointer;color:var(--ink2);font-size:.92rem;margin-top:.3rem}
.prep-warn{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .7rem;margin:.35rem 0 0;padding:.4rem .6rem;border-radius:8px;background:#fff1e0;border:1px solid #f5b86b;color:#8a4b00;font-size:.92rem;font-weight:600}
.prep-warn .btn.small{min-height:34px;padding:.2rem .7rem;border-color:#e39a3b;color:#8a4b00;background:#fff}
.oline .prep-warn{flex-basis:100%}
.pw-list{margin:.5rem 0}

.pw-list{border:1px solid #f5b86b;background:#fffaf2}
.pw-list h3{margin:0 0 .3rem;color:#8a4b00}
.pw-row{margin:.35rem 0}
.pw-row > b{display:block}

/* Item catalog filters + bulk edit (Dov Oct 25 4:16) */
.cf-top{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .7rem;margin:.4rem 0 .5rem}
.cf-top .cf-q{flex:1 1 220px;max-width:340px}
.cf-sort{display:inline-flex;align-items:center;gap:.4rem;margin:0}
.cf-sort span{font-weight:600}
.cf-sort select{width:auto}
.cf-top .btn.primary{margin-left:auto}
.cf{display:grid;gap:.35rem;margin:0 0 .7rem}
.cf-row{display:flex;align-items:flex-start;gap:.5rem}
.cf-l{flex:0 0 5.6rem;font-size:.85rem;font-weight:700;color:var(--ink2);padding-top:.35rem}
.cf-chips{display:flex;flex-wrap:wrap;gap:5px;min-width:0}
.cf-cats .cf-chips{max-height:5.4rem;overflow-y:auto}
.cf-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;min-height:32px;border:1px solid #c4ccd6;border-radius:999px;background:#fff;color:var(--ink);font:inherit;font-size:.86rem;font-weight:600;cursor:pointer;white-space:nowrap}
.cf-chip small{color:var(--muted);font-weight:600}
.cf-chip.on{background:var(--ink);border-color:var(--ink);color:#fff}
.cf-chip.on small{color:#cfd8e3}
.bulk-bar.bk2{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.4rem .6rem;position:sticky;bottom:0;z-index:5;background:#fff;border:1px solid var(--line);border-radius:10px;padding:.5rem .7rem;box-shadow:0 -2px 10px rgba(15,34,54,.08);margin:.4rem 0}
.bulk-bar.bk2[hidden]{display:none}
.bk2 > b{align-self:center}
.bk2 .bk-set{align-self:center;color:var(--ink2);font-weight:600}
.bk-f{display:inline-flex;flex-direction:column;gap:2px;margin:0}
.bk-f > span{font-size:.75rem;font-weight:700;color:var(--ink2)}
.bk-f select{width:auto;min-height:36px}
.bk-f .bk-new{width:9rem;margin-top:3px}
.cat-undo{background:#eef4ff;border:1px solid #c9d8f2;border-radius:8px;padding:.4rem .7rem;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.cat-nobulk tr > :first-child{display:none}
@media (max-width:640px){.cf-l{flex-basis:4.6rem}.cf-top .btn.primary{margin-left:0}}

.cf-cats .cf-chips{max-height:none;overflow:visible}
@media (max-width:640px){.cf-cats .cf-chips{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:3px}.cf-cats .cf-chip{flex:0 0 auto}}
.cf-sort select{max-width:12rem}

/* qty column first on documents (Dov Oct 25 4:30) */
.doc .q2-lines td.q2-qty,.doc .q2-lines th.q2-qty{width:1%;white-space:nowrap;text-align:right;padding-right:12px;font-variant-numeric:tabular-nums}
.doc .q2-lines.p-order td.q2-item{font-weight:600}
.doc .q2-lines.p-order td:first-child{font-weight:600}
.p-order td.q2-size{white-space:nowrap}
.p-order td:nth-child(2){white-space:normal}
.ol-name .ol-q{display:inline-flex;align-items:center;gap:.25rem;margin-right:.45rem;flex:0 0 auto}
.ol-name .ol-q .lb-est{white-space:nowrap}

.ko-table th:nth-child(1){width:7em}
.ko-table th:nth-child(2){width:auto}
.ko-table td:nth-child(2) small{display:block}
.ko-table td:first-child{text-align:center}

/* voice note waveform (Dov Oct 25 4:47) */
.vn-bar.vn-wave{height:30px;background:none;border-radius:0;display:flex;align-items:center;gap:2px;touch-action:none;user-select:none;-webkit-user-select:none}
.vn-bar.vn-wave i{flex:1 1 0;min-width:2px;max-width:4px;background:#9fb0bf;border-radius:2px;pointer-events:none;transition:background .1s}
.vn-bar.vn-wave i.on{background:var(--teal)}
.vn-bar.vn-flat i{background:#c3ccd5}
.vn-bar.vn-flat i.on{background:var(--teal)}
.vn-live{flex:1;min-width:80px;height:32px;display:flex;align-items:center;gap:2px;overflow:hidden;margin-right:.3rem}
.vn-live i{flex:0 0 3px;background:#5b6875;border-radius:2px;min-height:3px}
.vn-live i:last-child{background:var(--teal)}

.vn-bar.vn-wave{justify-content:space-between}
.vn-rec .vn-bar.vn-wave i{max-width:5px}

/* Print + Save PDF (Dov Oct 25 4:34) */
.pp-btn{display:inline-flex;align-items:center;gap:.4rem}
.pp-btn .ic{width:18px;height:18px;flex:0 0 auto}
.pdf-render .print-bar,.pdf-render .no-print{display:none!important}

/* in-app camera (Dov Oct 25 4:52) */
.cp-shoot{display:flex;align-items:center;justify-content:center;gap:2.2rem;padding:.8rem .5rem .3rem}
.cp-shoot[hidden],.cp-after[hidden],.cp-side[hidden]{display:none!important}
.cp-shutter{width:72px;height:72px;border-radius:50%;border:4px solid var(--ink);background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;flex:0 0 auto}
.cp-shutter span{width:54px;height:54px;border-radius:50%;background:var(--ink);transition:transform .08s}
.cp-shutter:active span{transform:scale(.9)}
.cp-side{width:60px;min-height:60px;border:0;border-radius:14px;background:var(--line2);color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;font:inherit;font-size:.72rem;font-weight:600;padding:6px 0}
.cp-after{display:flex;justify-content:center;gap:.8rem;padding:.8rem .5rem .3rem}
.cp-after .btn{min-width:8.5rem;min-height:48px;font-size:1.02rem}
body.cp-open{overflow:hidden}
.cp-fullwrap{padding:0!important;align-items:stretch!important;justify-content:stretch!important;background:#000!important}
.cp-cam.cp-full{position:fixed;inset:0;width:100vw;max-width:none;height:100vh;height:100dvh;max-height:none;margin:0;border-radius:0;background:#000;padding:0;display:flex;flex-direction:column;overflow:hidden}
.cp-full .modal-hd{position:absolute;top:0;left:0;right:0;z-index:2;background:linear-gradient(rgba(0,0,0,.45),transparent);border:0;padding:calc(.6rem + env(safe-area-inset-top)) .9rem .6rem}
.cp-full .modal-hd h2{color:#fff;font-size:1rem}
.cp-full .modal-x{color:#fff;background:rgba(255,255,255,.16);width:44px;height:44px;border-radius:50%}
.cp-full .cp-view{flex:1;min-height:0;border-radius:0;background:#000}
.cp-full .cp-view video{width:100%;height:100%;max-height:none;object-fit:cover}
.cp-full .cp-view img{width:100%;height:100%;max-height:none;object-fit:contain}
.cp-full .cp-shoot,.cp-full .cp-after{background:#000;padding:1rem .8rem calc(1.2rem + env(safe-area-inset-bottom));gap:3rem}
.cp-full .cp-shutter{border-color:#fff;background:transparent;width:78px;height:78px}
.cp-full .cp-shutter span{background:#fff;width:60px;height:60px}
.cp-full .cp-side{background:rgba(255,255,255,.14);color:#fff}
.cp-full .cp-after .btn:not(.primary){background:rgba(255,255,255,.14);color:#fff;border-color:transparent}

/* Save PDF: the document only (Dov Oct 25 5:12) */
.pdf-render{background:#fff!important;padding:0!important;margin:0!important;box-shadow:none!important;border:0!important;min-height:0!important;max-width:none!important}
.pdf-render .pdf-doc,.pdf-render > article,.pdf-render .doc{box-shadow:none!important;border:0!important;margin:0!important;max-width:none!important;width:auto!important;padding:0!important;border-radius:0!important;background:#fff!important;min-height:0!important}
.pdf-render .p-table-mark{display:none!important}

/* Menus per event type with a ⭐ Default (menu rebuild, Oct 25 2026) — site/js/menus.js */
.mn-page .mn-hint { max-width: 62ch; }
.mn-type { border-top: 1px solid var(--line2); padding: .4rem 0 .6rem; }
.mn-type h3 { margin: .5rem 0 .35rem; font-size: .95rem; color: var(--ink2); }
.mn-row { border: 1px solid var(--line); border-radius: var(--r); background: #fff; margin: 0 0 .4rem; }
.mn-row.is-def { border-color: #9fd9d1; }
.mn-main { display: flex; align-items: center; gap: .6rem; width: 100%; padding: .6rem .75rem; background: none; border: 0; text-align: left; font: inherit; color: var(--ink); cursor: pointer; border-radius: var(--r); }
.mn-main:hover { background: var(--line2); }
.mn-star { font-size: 1.1rem; width: 1.4rem; text-align: center; flex: none; color: var(--muted); }
.mn-name { flex: 1; min-width: 0; }
.mn-name small { display: block; color: var(--muted); }
.mn-chev { color: var(--muted); flex: none; }
.mn-badge { display: inline-block; font-size: .72rem; font-weight: 700; border-radius: 999px; padding: 1px 8px; vertical-align: 2px; }
.mn-badge.def { background: var(--green-bg); color: var(--green); }
.mn-badge.draft { background: var(--amber-bg); color: var(--amber); }
.mn-body { padding: .2rem .75rem .75rem 2.75rem; border-top: 1px solid var(--line2); }
.mn-meal { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .45rem 0; border-bottom: 1px dashed var(--line2); }
.mn-meal small { display: block; color: var(--muted); }
.mn-prices { display: flex; flex-wrap: wrap; gap: .3rem 1rem; align-items: baseline; margin: .6rem 0 .3rem; }
.mn-acts { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .5rem; }
.mn-new { margin-top: .1rem; }
.tpl-lines .tp-def { margin-left: .4rem; border: 1px solid var(--line); background: #fff; color: var(--muted); border-radius: 999px; padding: 1px 9px; font-size: .78rem; font-weight: 600; cursor: pointer; white-space: nowrap; }
.tpl-lines .tp-def.on { background: #fff4dc; border-color: #e7c27a; color: #8a5a00; }
.tpl-lines .tp-ex { display: block; color: var(--muted); font-size: .8rem; }
.tpl-lines .tp-ex .small-link { font-size: .8rem; }
.mi-sub .mi-ko { white-space: nowrap; font-size: .85rem; margin: 0; }
.mn-mixd > summary { cursor: pointer; margin: .6rem 0 .2rem; list-style: none; }
.mn-mixd > summary::-webkit-details-marker { display: none; }
.mn-mix .mn-rate { display: inline-flex; align-items: center; gap: .4rem; margin: .3rem 0; }
.mn-mix input.qty { width: 6.5ch; }
.mn-mixh, .mn-mixrow { display: grid; grid-template-columns: minmax(8rem, 16rem) 7ch 7ch 2rem; gap: .4rem; align-items: center; }
.mn-mixh { font-size: .78rem; color: var(--muted); margin-top: .3rem; }
.mn-mixrow { padding: .15rem 0; }
.mn-mixadd { max-width: 22rem; margin-top: .3rem; }
.mn-mixex { margin: .3rem 0 0; }
@media (max-width: 600px) { .mn-body { padding-left: .75rem; } .mn-mixh, .mn-mixrow { grid-template-columns: 1fr 7ch 7ch 2rem; } }

.msg-notes-av{background:#fff4dc!important;color:var(--ink)!important;font-size:1.05rem}

/* event menu line: extras on/off + Soda mix (menu rebuild step 2, Oct 25 2026) */
.ml-ex { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem .35rem; margin: .25rem 0 .1rem 2.1rem; font-size: .84rem; }
.ml-exl { color: var(--muted); font-weight: 600; }
.ml-exb { border: 1px dashed #c4ccd6; background: #fff; color: var(--muted); border-radius: 999px; padding: 2px 10px; font: inherit; font-size: .82rem; cursor: pointer; text-decoration: line-through; }
.ml-exb.on { border-style: solid; border-color: #9fd9d1; background: var(--green-bg); color: var(--green); text-decoration: none; font-weight: 600; }
.ml-exb:disabled { cursor: default; }
.ml-mix { color: var(--ink2); }
.mix-pick { display: grid; grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr)); gap: .2rem .8rem; }
.mix-pick input.qty { width: 7ch; }
@media (max-width: 600px) { .ml-ex { margin-left: .2rem; } }

.msg-va-note{margin:.6rem 12px;padding:.5rem .7rem;border-radius:8px;background:var(--blue-bg);color:var(--ink2);font-size:.85rem}

.mn-mixh, .mn-mixrow { grid-template-columns: minmax(8rem, 16rem) 8ch 7ch 7ch 2rem; } /* + bottle size (Dov 5:25) */
@media (max-width: 600px) { .mn-mixh, .mn-mixrow { grid-template-columns: 1fr 8ch 6ch 6ch 2rem; } }

/* phone types + Account # (Dov Oct 25 4:23) */
.ph-wrap{margin:.2rem 0 .6rem}
.ph-wrap > .lbl{display:block;font-weight:600;font-size:.9rem;margin-bottom:.25rem}
.ph-list{display:grid;gap:.35rem}
.ph-row{display:flex;align-items:center;gap:.4rem}
.ph-row .ph-t,.ph-inline .ph-t{width:auto;flex:0 0 auto;min-width:7.2rem}
.ph-row .ph-n{flex:0 1 13rem;width:13rem;max-width:100%}
.ph-add{margin-top:.35rem}
.ph-inline{display:flex;gap:.35rem;align-items:center}
.ph-inline input{flex:1;min-width:0}
.acct-hint{color:var(--green);font-weight:600}
.acct-line{display:flex;align-items:center;gap:.5rem;margin:.1rem 0 .6rem}
.acct-line span{font-weight:600}
.acct-line .acct-in{width:10rem;flex:0 0 auto}
.q2-acct{display:block}

/* camera: no screen lock, Turn button, picture shown whole (Dov Oct 25 5:31-5:32, tablet) */
.cp-view{position:relative}
.cp-full .cp-view video{object-fit:contain}
.cp-cam .modal-hd{display:flex;align-items:center;gap:.5rem}
.cp-cam .modal-hd h2{flex:1}
.cp-turn{display:inline-flex;align-items:center;gap:.35rem;min-height:44px;padding:0 .9rem;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font:inherit;font-size:.9rem;font-weight:600;cursor:pointer}
.cp-turn.on{border-color:var(--teal);color:var(--teal)}
.cp-turn.pressed{transform:scale(.94)}
.cp-turn[hidden]{display:none!important}
.cp-full .cp-turn{background:rgba(255,255,255,.16);color:#fff;border-color:transparent}
.cp-full .cp-turn.on{background:rgba(20,177,160,.35);color:#fff}

/* customer menu/invoice: the extras that come with a dish, each on its own line at no charge (menu rebuild step 3) */
.p-menu ul.p-ex, ul.p-ex { list-style: none; margin: 2px 0 0 14px; padding: 0; font-size: .9em; color: #444; }
ul.p-ex li::before { content: '+ '; color: #888; }

/* phone boxes never wider than a phone number (Dov 6:29 rule) */
.ph-inline input[type=tel]{flex:0 1 15ch;max-width:15ch}

/* Meals choice on New proposal: one row, content-width (Dov 5:42) */
.seg.seg-fit{display:inline-flex;width:auto;max-width:100%;flex-wrap:nowrap}
.seg.seg-fit button{flex:0 0 auto;white-space:nowrap;width:auto}

/* Tasks: what waits later, under To do (Dov 5:49) */
.kb-later{margin:.1rem 0 .45rem;font-size:.82rem;color:var(--muted)}
.kb-later .small-link{font-size:.82rem;color:var(--muted);background:none;border:0;padding:2px 0;cursor:pointer;text-decoration:underline}

/* task popup: who it is assigned to, clearly (Dov 5:50) */
.tk-wl{font-size:.85rem;font-weight:600;color:var(--muted)}
.tk-person.un{background:#fff;border-style:dashed;color:var(--muted)}
.tk-car{font-size:.8em;opacity:.7;margin-left:2px}

/* price card: a line's price can come from a Service in the Catalog (menu rebuild, Services) — a small second line under the charge */
.pk-rule .pk-f-svc { grid-column: 1 / 3; grid-row: 2; display: flex; align-items: center; gap: 6px; margin: -2px 0 2px; }
.pk-rule .pk-f-svc .lbl { display: inline; font-size: .78rem; color: var(--muted); white-space: nowrap; margin: 0; }
.pk-rule .pk-f-svc select { font-size: .85rem; padding: 2px 6px; min-height: 0; height: auto; max-width: 320px; }
@media (max-width: 760px) { .pk-rule .pk-f-svc { grid-column: 1 / -1; grid-row: auto; } }
.q2-lines tr.q2-svc td { padding-top: 10px; font-weight: 600; }

/* Settings › Lists editor (Dov, Oct 25 6:01 PM) */
.le-page .le-sec { border: 1px solid var(--line, #dde3ea); border-radius: 10px; margin: .5rem 0; background: #fff; }
.le-page .le-sec > summary { display: flex; align-items: center; gap: .5rem; padding: .7rem .9rem; cursor: pointer; font-weight: 600; color: #0F2236; list-style: none; min-height: 44px; }
.le-page .le-sec > summary::-webkit-details-marker { display: none; }
.le-page .le-sec > summary::before { content: '▸'; color: #8a96a6; transition: transform .15s; }
.le-page .le-sec[open] > summary::before { transform: rotate(90deg); }
.le-page .le-sec > summary:active { background: #f2f5f8; }
.le-c { display: inline-block; min-width: 1.6em; padding: 0 .45em; border-radius: 999px; background: #eef2f6; color: #42526a; font-size: .82rem; font-weight: 600; text-align: center; }
.le-st { margin-left: auto; font-size: .82rem; font-weight: 500; color: #8a96a6; }
.le-st.ok { color: #14B1A0; } .le-st.err { color: #c0392b; } .le-st.busy { color: #42526a; }
.le-list { padding: 0 .6rem; }
.le-row { display: flex; align-items: center; gap: .35rem; padding: .2rem 0; border-top: 1px solid #f0f3f6; background: #fff; }
.le-row:first-child { border-top: 0; }
.le-row.le-going { opacity: .45; }
.le-in { flex: 0 1 26rem; min-width: 0; width: 100%; max-width: 26rem; border: 1px solid transparent; background: transparent; padding: .45rem .5rem; border-radius: 6px; font: inherit; color: #0F2236; }
.le-in:hover { border-color: #dde3ea; } .le-in:focus { border-color: #14B1A0; background: #fff; outline: none; box-shadow: 0 0 0 2px rgba(20,177,160,.15); }
.le-pg, .le-pgs { display: inline-flex; align-items: center; gap: .3rem; color: #5b6b80; font-size: .88rem; white-space: nowrap; }
.le-n, .le-newn { width: 5.6rem; max-width: 5.6rem; padding: .4rem .45rem; border: 1px solid #dde3ea; border-radius: 6px; font: inherit; }
.le-x { flex: none; width: 36px; height: 36px; border: 0; background: transparent; color: #8a96a6; font-size: 1.3rem; border-radius: 6px; cursor: pointer; }
.le-x:hover { background: #fdecea; color: #c0392b; }
.le-add { display: flex; align-items: center; gap: .45rem; flex-wrap: wrap; padding: .6rem .9rem .8rem 2.6rem; border-top: 1px solid #f0f3f6; }
.le-new { flex: 0 1 22rem; min-width: 0; max-width: 22rem; padding: .45rem .55rem; border: 1px solid #dde3ea; border-radius: 6px; font: inherit; }
.le-empty { padding: .2rem 1rem; }
[data-le].pressed { transform: scale(.96); }
@media (max-width: 520px) { .le-add { padding-left: .9rem; } .le-new { flex: 1 1 10rem; } }

.le-n, .le-newn { width: 4.6rem; max-width: 4.6rem; }
@media (max-width: 520px) {
  .le-row[data-k="paper"] { flex-wrap: wrap; }
  .le-row[data-k="paper"] .le-in { flex: 1 1 calc(100% - 90px); max-width: none; }
  .le-row[data-k="paper"] .le-pg { margin-left: 40px; flex: 1 1 auto; }
  .le-in { flex: 1 1 auto; max-width: none; }
}

/* Halls (Dov, Oct 25 6:03 PM) */
.hl-intro { margin: -.2rem 0 .8rem; }
.hl-bar { display: flex; gap: .6rem; align-items: center; flex-wrap: wrap; margin-bottom: .8rem; }
.hl-tabs b { font-weight: 600; margin-left: .2rem; color: #5b6b80; }
.hl-tabs button.on b { color: inherit; }
.hl-q { flex: 0 1 18rem; min-width: 0; max-width: 18rem; padding: .5rem .6rem; border: 1px solid #dde3ea; border-radius: 8px; font: inherit; }
.hl-list { display: flex; flex-direction: column; gap: .45rem; }
.hl-row { display: flex; align-items: center; gap: .8rem; padding: .75rem .9rem; background: #fff; border: 1px solid #dde3ea; border-radius: 10px; color: #0F2236; text-decoration: none; min-height: 56px; }
.hl-row:hover { border-color: #14B1A0; } .hl-row:active { background: #eef8f6; transform: scale(.995); }
.hl-main { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
.hl-main small { color: #5b6b80; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hl-stats { display: flex; flex-direction: column; align-items: flex-end; font-size: .86rem; white-space: nowrap; }
.hl-go { color: #8a96a6; font-size: 1.4rem; }
.hl-chip { display: inline-block; padding: .05rem .5rem; border-radius: 999px; font-size: .78rem; font-weight: 600; background: #eef2f6; color: #42526a; vertical-align: middle; }
.hl-chip.managed { background: #e3f6f3; color: #0c7f73; } .hl-chip.saved { background: #eef2f6; color: #0F2236; } .hl-chip.arch { background: #fdecea; color: #a93226; }
.hl-kind { display: flex; flex-wrap: wrap; gap: .35rem; }
.hl-kind label { display: inline-flex; align-items: center; gap: .3rem; padding: .45rem .7rem; border: 1px solid #dde3ea; border-radius: 8px; cursor: pointer; font-weight: 500; }
.hl-kind label.on { border-color: #14B1A0; background: #e3f6f3; color: #0c7f73; }
.hl-kind input { accent-color: #14B1A0; }
.w-num { max-width: 6.5rem; } .w-st { max-width: 4.5rem; } .w-zip { max-width: 6.5rem; }
.hp-back { margin: 0 0 .3rem; } .hp-back a { color: #14B1A0; text-decoration: none; font-weight: 600; }
.hp-sub { margin: .2rem 0 0; }
.hp-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; align-items: start; }
.hp-grid > .block { margin: 0; }
.hp-dl { display: grid; grid-template-columns: max-content 1fr; gap: .35rem .9rem; margin: 0; }
.hp-dl dt { color: #5b6b80; font-size: .88rem; } .hp-dl dd { margin: 0; }
.hp-evsum { margin: .1rem 0 .6rem; }
.hp-evs h3 { font-size: .9rem; color: #5b6b80; margin: .7rem 0 .3rem; text-transform: uppercase; letter-spacing: .03em; }
.hp-evl li { margin: 0; }
.hp-ev { display: flex; align-items: center; gap: .6rem; padding: .45rem .3rem; border-top: 1px solid #f0f3f6; color: #0F2236; text-decoration: none; }
.hp-ev:hover { background: #f5f8fa; } .hp-ev:active { background: #e3f6f3; }
.hp-evd { flex: none; width: 10.5rem; font-size: .9rem; } .hp-evd .heb { display: block; color: #8a96a6; font-size: .8rem; }
.hp-evn { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 500; }
.hp-hd { display: flex; align-items: center; gap: .6rem; } .hp-hd h2 { margin-bottom: .2rem; }
.hp-st { margin-left: auto; font-size: .82rem; color: #8a96a6; } .hp-st.ok { color: #14B1A0; } .hp-st.err { color: #c0392b; } .hp-st.busy { color: #42526a; }
.hp-nt { width: 100%; max-width: 48rem; font: inherit; padding: .55rem .6rem; border: 1px solid #dde3ea; border-radius: 8px; }
.hp-tbl { display: flex; flex-direction: column; }
.hp-tr { display: grid; gap: .4rem; align-items: center; padding: .2rem 0; border-top: 1px solid #f0f3f6; }
.hp-th { border-top: 0; font-size: .8rem; color: #5b6b80; font-weight: 600; text-transform: uppercase; letter-spacing: .03em; }
.hp-c2 .hp-tr { grid-template-columns: minmax(8rem, 16rem) minmax(8rem, 16rem) 36px; }
.hp-c3 .hp-tr { grid-template-columns: minmax(8rem, 16rem) minmax(6rem, 16rem) minmax(5rem, 14rem) 36px; }
.blk-inv .hp-tr, .hp-blk[data-bk="inventory"] .hp-tr { grid-template-columns: minmax(8rem, 18rem) 5.2rem minmax(6rem, 18rem) 36px; }
.hp-blk[data-bk="rooms"] .hp-tr { grid-template-columns: minmax(8rem, 16rem) minmax(8rem, 16rem) 5.2rem 36px; }
.hp-in { width: 100%; min-width: 0; padding: .45rem .5rem; border: 1px solid #dde3ea; border-radius: 6px; font: inherit; background: #fff; }
.hp-in:focus { border-color: #14B1A0; outline: none; box-shadow: 0 0 0 2px rgba(20,177,160,.15); }
.hp-num { max-width: 5.2rem; } .hp-tel { max-width: 12.5rem; }
.hp-sec { display: inline-flex; align-items: center; gap: .5rem; } .hp-mask { letter-spacing: .15em; font-weight: 700; color: #0F2236; min-width: 4rem; }
.hp-code { max-width: 12rem; font-family: ui-monospace, Menlo, monospace; }
.hp-thumbs { display: flex; flex-wrap: wrap; gap: .5rem; margin: .3rem 0 .6rem; }
.hp-thumb { display: block; width: 104px; height: 104px; border-radius: 8px; overflow: hidden; border: 1px solid #dde3ea; background: #f5f8fa; }
.hp-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hp-doc { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: .4rem; text-decoration: none; color: #0F2236; text-align: center; }
.hp-doc span { font-weight: 700; color: #14B1A0; } .hp-doc small { font-size: .7rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }
.hp-up { cursor: pointer; }
.hall-pickrow { display: inline-flex; align-items: center; gap: .45rem; flex-wrap: wrap; }
.hall-pickrow select { max-width: 20rem; }
.hp-modal .hp-q { width: 100%; padding: .55rem .6rem; border: 1px solid #dde3ea; border-radius: 8px; font: inherit; margin-bottom: .5rem; }
.hp-g { font-size: .8rem; color: #5b6b80; text-transform: uppercase; letter-spacing: .03em; margin: .7rem 0 .25rem; }
.hp-row { display: flex; flex-direction: column; align-items: flex-start; width: 100%; text-align: left; padding: .6rem .7rem; border: 1px solid #dde3ea; border-radius: 8px; background: #fff; margin-bottom: .35rem; cursor: pointer; font: inherit; color: #0F2236; }
.hp-row small { color: #5b6b80; } .hp-row:hover { border-color: #14B1A0; } .hp-row.on { border-color: #14B1A0; background: #e3f6f3; } .hp-row.pressed { transform: scale(.98); }
.hp-new { border-style: dashed; color: #0c7f73; }
@media (max-width: 760px) {
  .hp-grid { grid-template-columns: 1fr; }
  .hl-stats { display: none; }
  .hp-c2 .hp-tr, .hp-c3 .hp-tr, .hp-blk[data-bk="inventory"] .hp-tr, .hp-blk[data-bk="rooms"] .hp-tr { grid-template-columns: 1fr 1fr 36px; }
  .hp-c3 .hp-tr > :nth-child(3) { grid-column: 1 / 3; }
  .hp-blk[data-bk="inventory"] .hp-tr { grid-template-columns: 1fr 4.6rem 36px; }
  .hp-blk[data-bk="rooms"] .hp-tr { grid-template-columns: 1fr 4.6rem 36px; }
  .hp-blk[data-bk="rooms"] .hp-tr > :nth-child(2) { grid-column: 1 / 2; grid-row: 2; }
  .hp-blk[data-bk="rooms"] .hp-tr > :nth-child(3) { grid-row: 1; grid-column: 2; }
  .hp-th { display: none !important; }
  .hp-evd { width: 7.5rem; }
  .hl-q { flex: 1 1 100%; max-width: none; }
}

@media (max-width: 760px) {
  .hp-blk .hp-tr { grid-template-columns: 1fr 1fr 36px !important; }
  .hp-blk[data-bk="inventory"] .hp-tr, .hp-blk[data-bk="rooms"] .hp-tr { grid-template-columns: 1fr 4.6rem 36px !important; }
  .hp-blk .hp-tr > * { grid-row: auto; grid-column: auto; }
  .hp-blk[data-bk="inventory"] .hp-tr > :nth-child(3) { grid-row: 2; grid-column: 1 / 3; }
  .hp-blk[data-bk="inventory"] .hp-tr > :nth-child(4) { grid-row: 1; grid-column: 3; }
  .hp-blk[data-bk="rooms"] .hp-tr > :nth-child(2) { grid-row: 2; grid-column: 1 / 3; }
  .hp-blk[data-bk="rooms"] .hp-tr > :nth-child(3) { grid-row: 1; grid-column: 2; }
  .hp-blk[data-bk="rooms"] .hp-tr > :nth-child(4) { grid-row: 1; grid-column: 3; }
  .hp-blk[data-bk="contacts"] .hp-tr > :nth-child(3) { grid-row: 2; grid-column: 1 / 3; }
  .hp-blk[data-bk="contacts"] .hp-tr > :nth-child(4) { grid-row: 1; grid-column: 3; }
  .hp-blk .hp-tr { padding: .45rem 0; }
}

@media (max-width: 760px) { .hp-evd { width: 6.4rem; font-size: .84rem; } .hp-ev .chip { font-size: .72rem; } }

/* Guest-count boxes: label + small box on ONE line, never stretched (Dov, Oct 25 11:56 PM; standing rule: number boxes ~4 digits) */
.field.f-inl { flex-direction: row; align-items: center; gap: .55rem; flex-wrap: nowrap; width: auto; }
.field.f-inl > .lbl { margin: 0; white-space: nowrap; flex: 0 0 auto; }
.field.f-inl > input.num-sm, .field.f-inl > input[type="number"].num-sm { width: 6.5ch !important; min-width: 6.5ch; max-width: 6.5ch !important; flex: 0 0 auto; box-sizing: content-box; padding-left: .45rem; padding-right: .45rem; text-align: center; }
.field.f-inl > .f-inl-hint { font-size: .78rem; color: var(--muted, #8a94a0); opacity: .85; white-space: nowrap; }
.heads-row.heads-inl:not([hidden]) { display: flex; flex-wrap: wrap; gap: .5rem 1.4rem; align-items: center; grid-template-columns: none; }
.heads-row.heads-inl > .field.f-inl { width: auto; margin: 0; }
.heads-row.heads-inl > .field.f-inl > input, .heads-row.heads-inl > .field.f-inl > input[type="number"] { width: 6.5ch !important; max-width: 6.5ch !important; }
.grid2 > .field.f-inl { align-self: end; }

/* Table's own spell checker (Dov, Oct 26): a see-through copy of the text over the box draws the red wavy line; the popup offers fixes */
.spl-mirror { position: absolute; pointer-events: none; overflow: hidden; color: transparent !important; -webkit-text-fill-color: transparent; background: transparent !important; margin: 0 !important; box-shadow: none !important; outline: none !important; min-height: 0 !important; max-height: none !important; user-select: none; }
.spl-mirror .spl-in { min-height: 100%; }
.spl-bad { text-decoration-line: underline; text-decoration-style: wavy; text-decoration-color: #e0261b; text-decoration-thickness: 1.5px; text-underline-offset: 3px; text-decoration-skip-ink: none; -webkit-text-decoration-skip: none; }
.spl-pop { position: fixed; z-index: 100000; display: flex; flex-wrap: wrap; gap: 6px; max-width: min(92vw, 360px); padding: 8px; background: var(--panel, #fff); border: 1px solid var(--line, #d9dee5); border-radius: 12px; box-shadow: 0 8px 28px rgba(15, 34, 54, .22); }
.spl-pop button { font: inherit; font-size: 15.5px; border: 1px solid var(--line, #d9dee5); background: var(--blue-bg, #eaf0f5); color: var(--ink, #0F2236); border-radius: 999px; padding: 7px 13px; min-height: 38px; cursor: pointer; }
.spl-pop button.spl-s { font-weight: 600; }
.spl-pop button.spl-add { flex-basis: 100%; background: transparent; border-style: dashed; color: var(--ink2, #3d4f63); font-size: 14.5px; text-align: left; border-radius: 8px; }
.spl-pop .spl-none { color: var(--muted, #5f6f80); font-size: 14px; padding: 6px 4px; flex-basis: 100%; }

/* ===== Today — 4 sections (Dov, Oct 26 12:42 AM "very very productive") ===== */
.td2 .td2-sec { padding: 0; overflow: hidden; }
.td2 .td2-hd { display: flex; align-items: center; gap: .55rem; width: 100%; padding: .85rem 1rem; background: none; border: 0; font: inherit; color: var(--ink); cursor: pointer; text-align: left; min-height: 48px; }
.td2 .td2-hd:hover { background: #f7f9fb; }
.td2 .td2-ht { font-size: 1.12rem; font-weight: 700; }
.td2 .td2-chev { flex: none; color: var(--muted); transition: transform .15s; } .td2 .td2-chev.on { transform: rotate(90deg); }
.td2 .count.zero { background: var(--line2); color: #98a2b3; }
.td2 .td2-need .td2-hd .count:not(.zero) { background: #0F2236; color: #fff; }
.td2 .td2-body { padding: 0 1rem .8rem; }
.td2 .td2-list { border-top: 1px solid var(--line2); }
.td2 .td2-row { display: flex; align-items: center; gap: .7rem; padding: .6rem 0; border-bottom: 1px solid var(--line2); background: #fff; transition: opacity .2s, transform .2s; touch-action: pan-y; }
.td2 .td2-row.td2-gone { opacity: 0; transform: translateX(-40px); pointer-events: none; }
.td2 .td2-row .tick { flex: none; width: 26px; height: 26px; border: 2px solid #9aa4b2; border-radius: 6px; background: #fff; cursor: pointer; padding: 0; }
.td2 .td2-tag { flex: none; min-width: 6.6rem; text-align: center; font-size: .74rem; font-weight: 700; border-radius: 4px; padding: .14rem .45rem; white-space: nowrap; color: #fff; background: #0F2236; }
.td2 .td2-tag.tone-red { background: var(--red); } .td2 .td2-tag.tone-amber { background: var(--amber-bg); color: var(--amber); border: 1px solid #e7c77a; } .td2 .td2-tag.tone-teal { background: #14B1A0; }
.td2 .td2-main { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.td2 .td2-main .td2-t, .td2 .td2-main b { color: var(--ink); font-weight: 600; overflow-wrap: anywhere; }
.td2 .td2-main small { color: var(--muted); font-size: .85rem; overflow-wrap: anywhere; }
.td2 .td2-row.late .td2-main small { color: var(--red); }
.td2 .td2-main small .td2-job, .td2 .td2-main small .td2-call { color: var(--blue2); font-weight: 600; }
.td2 .td2-acts { flex: none; display: flex; align-items: center; gap: .35rem; }
.td2 .td2-go { min-width: 6.4rem; justify-content: center; text-align: center; white-space: nowrap; }
.td2 .td2-x { width: 34px; height: 34px; border: 1px solid var(--line); border-radius: 6px; background: #fff; color: var(--muted); font-size: 1.15rem; line-height: 1; cursor: pointer; padding: 0; }
.td2 .td2-x:hover { color: var(--ink); border-color: #9aa4b2; }
.td2 .td2-add { margin: 0 0 .5rem; } .td2 .td2-add input { width: 100%; }
.td2 .td2-clear { margin: .4rem 0; padding: .9rem; text-align: center; font-weight: 700; color: var(--green); background: var(--green-bg); border-radius: var(--r); }
.td2 .td2-foot { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin: .6rem 0 0; font-size: .9rem; } .td2 .td2-foot a:last-child { margin-left: auto; }
.td2 .td2-more { margin-top: .4rem; background: none; border: 0; color: var(--blue2); font-weight: 600; cursor: pointer; padding: .3rem 0; font: inherit; }
.td2 .td2-job-row, .td2 .td2-wk-row { display: flex; align-items: center; gap: .8rem; padding: .55rem 0; border-bottom: 1px solid var(--line2); color: var(--ink); text-decoration: none; }
.td2 .td2-job-row:hover, .td2 .td2-wk-row:hover { background: #f7f9fb; text-decoration: none; }
.td2 .td2-time { flex: none; width: 5.2rem; font-weight: 700; font-variant-numeric: tabular-nums; display: flex; flex-direction: column; }
.td2 .td2-time small { font-weight: 400; color: var(--muted); font-size: .78rem; }
.td2 .td2-prep { flex: none; font-size: .78rem; font-weight: 700; padding: .15rem .55rem; border-radius: 999px; background: #eef1f5; color: #3d4b5c; white-space: nowrap; }
.td2 .prep-in-kitchen { background: var(--blue-bg); color: #0F2236; } .td2 .prep-packed { background: var(--amber-bg); color: var(--amber); }
.td2 .prep-out { background: #0F2236; color: #fff; } .td2 .prep-delivered { background: var(--green-bg); color: var(--green); }
.td2 .td2-tom { margin-top: .4rem; border-top: 1px dashed var(--line); } .td2 .td2-tom .td2-hd { padding: .6rem 0; min-height: 40px; } .td2 .td2-tom .td2-ht { font-size: 1rem; }
.td2 .td2-tomd { font-size: .85rem; }
.td2 .td2-day { padding: .35rem 0; border-top: 1px solid var(--line2); } .td2 .td2-day:first-child { border-top: 0; }
.td2 .td2-day.none .td2-dayh { color: #98a2b3; } .td2 .td2-day.none { padding: .1rem 0; }
.td2 .td2-dayh { display: flex; align-items: center; gap: .5rem; padding: .2rem 0; } .td2 .td2-dayh .count { font-size: .78rem; min-width: 1.4rem; }
.td2 .td2-dtasks { margin-left: auto; }
.td2 .td2-wk-row { padding: .35rem 0 .35rem .2rem; border-bottom: 0; flex-wrap: wrap; gap: .3rem .6rem; }
.td2 .td2-wk-row .td2-time { width: 4.6rem; font-weight: 600; color: var(--ink2); }
.td2 .td2-wk-t { flex: 1; min-width: 12rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.td2 .td2-flag { flex: none; font-size: .74rem; font-weight: 700; padding: .08rem .45rem; border-radius: 4px; background: var(--red-bg); color: var(--red); white-space: nowrap; }
.td2 .td2-flag.inq { background: #eef1f5; color: #3d4b5c; }
.td2 .td2-wait .td2-acts .btn { min-width: 0; }
.td2 .td2-won { color: var(--green); border-color: #9fd9d1; } .td2 .td2-lost { color: var(--red); border-color: #efb4ae; }
.td2 .td2-note { margin: .6rem 0 0; }
@media (max-width: 640px) {
  .td2 .td2-row { flex-wrap: wrap; gap: .35rem .6rem; }
  .td2 .td2-tag { min-width: 0; order: 1; }
  .td2 .td2-row .tick { order: 0; }
  .td2 .td2-row .td2-main { order: 2; flex-basis: 100%; }
  .td2 .td2-acts { order: 3; margin-left: auto; }
  .td2 .td2-need .td2-row .td2-main { flex-basis: calc(100% - 36px); }
  .td2 .td2-job-row { gap: .55rem; } .td2 .td2-job-row .td2-main { flex: 1; min-width: 0; } .td2 .td2-time { width: 4.4rem; } .td2 .td2-prep { font-size: .72rem; padding: .12rem .45rem; }
  .td2 .td2-wk-row { flex-wrap: nowrap; align-items: flex-start; } .td2 .td2-wk-row .td2-time { width: 4.4rem; } .td2 .td2-wk-t { flex: 1; }
  .td2 .td2-wk-t { min-width: 0; flex-basis: calc(100% - 5.2rem); white-space: normal; }
  .td2 .td2-wait .td2-acts { width: 100%; justify-content: flex-end; }
}

/* Deli Secretary (Dov, Oct 26): Today is view only — rows are plain lines */
.td2 .td2-ro, .td2 .td2-ro:hover { background: none; cursor: default; }
.td2 .td2-ro-tag { align-self: flex-start; border: 1px solid var(--line2); border-radius: 999px; padding: .15rem .6rem; white-space: nowrap; }

/* ── Hebrew calendar: zmanim labels / zip / 3-column day panel / Preview (Dov, Oct 26 1:09–1:13 AM) ── */
.hc-t.zhe { unicode-bidi: isolate; }
.hc-t.zhe i { font-family: inherit; }
.hc-zip .hc-zipf { display: inline-flex; gap: .4rem; align-items: center; }
.hc-zip input[data-hc-zip] { width: 5.6em; padding: .35rem .5rem; font-size: 1rem; font-variant-numeric: tabular-nums; border: 1px solid #c9d1d9; border-radius: 8px; }
.hc-zip .btn { padding: .35rem .8rem; }
.hc-zipn { margin-left: .5rem; } .hc-zipn.err { color: #c0392b; font-size: .85rem; font-weight: 600; }
.hc-note-he { text-align: right; }
.hc-z3 .hc-zr { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: .5rem; }
.hc-z3 .hc-zr .zen { text-align: left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hc-z3 .hc-zr > b { text-align: center; min-width: 4.6em; }
.hc-z3 .hc-zr .zhe { text-align: right; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-weight: 600; color: #0F2236; }
@media (max-width: 480px) {
  .hc-z3 .hc-zr { font-size: .82rem; gap: .35rem; padding-left: .15rem; padding-right: .15rem; }
  .hc-z3 .hc-zr > b { min-width: 0; }
  .hc-z3 .hc-zr .t-ap { font-size: .62em; padding: 0 .2em; }
  .hc-zip .hc-zipn { display: block; margin: .3rem 0 0; flex-basis: 100%; }
}
.hc-prev { position: fixed; inset: 0; z-index: 1200; background: #5d6670; display: flex; flex-direction: column; outline: none; }
.hc-pv-bar { flex: none; display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; padding: .55rem .75rem; background: #fff; border-bottom: 1px solid #d5dbe1; box-shadow: 0 1px 4px rgba(0,0,0,.12); }
.hc-pv-bar select { padding: .35rem .4rem; border-radius: 8px; border: 1px solid #c9d1d9; font-size: .9rem; max-width: 11rem; }
.hc-pv-bar .hc-out-r { display: inline-flex; gap: .35rem; align-items: center; }
.hc-pv-t { font-size: 1.05rem; }
.hc-pv-pages { flex: 1 1 auto; overflow: auto; -webkit-overflow-scrolling: touch; padding: 12px; }
.hc-pv-sheet { width: calc(1056px * var(--pvs, 1)); height: calc(816px * var(--pvs, 1)); margin: 0 auto 14px; background: #fff; box-shadow: 0 2px 10px rgba(0,0,0,.35); overflow: hidden; pointer-events: none; }
.hc-pv-in { width: 1056px; height: 816px; transform: scale(var(--pvs, 1)); transform-origin: 0 0; background: #fff; }
@media (max-width: 600px) { .hc-pv-t, .hc-pv-n { display: none; } .hc-pv-bar { gap: .35rem; padding: .45rem .5rem; } .hc-pv-bar .btn { padding: .4rem .65rem; } }

.hc-sr > span.hc-sx, .hc-sr > span.hc-zipf, .hc-sr > span.hc-zipn { width: auto; flex: 0 1 auto; font-weight: 400; }
.hc-sr > span.hc-zipn.err { font-weight: 600; }
.hc-ib { display: inline-flex; align-items: center; gap: .35rem; }
.hc-ib .ic { width: 18px; height: 18px; flex: none; }
.btn.primary.hc-ib .ic { color: #fff; }
@media (max-width: 480px) { .hc-bar .hc-ib { padding-left: .55rem; padding-right: .55rem; } .hc-bar .hc-ib .ic { width: 17px; height: 17px; } .hc-sr > span.hc-zipn { width: 100%; } }

@media (max-width: 480px) {
  .hc-z3 .hc-zr { font-size: .78rem; gap: .3rem; grid-template-columns: minmax(0, 1.1fr) auto minmax(0, 1fr); }
  .hc-pv-bar .btn { padding: .4rem .55rem; font-size: .88rem; }
  .hc-pv-bar select { max-width: 7.6rem; font-size: .85rem; }
  .hc-pv-bar .hc-sp { display: none; }
  .hc-pv-bar .hc-out-r select { max-width: 6.2rem; }
}

@media (min-width: 1100px) {
  .page-hcal .hc-wrap { grid-template-columns: minmax(0, 1fr) 370px; }
  .hc-z3 .hc-zr { font-size: .82rem; gap: .35rem; grid-template-columns: minmax(0, 1.1fr) auto minmax(0, 1fr); }
  .hc-z3 .hc-zr > b { min-width: 0; }
}

.hc-t.zhe { flex-wrap: wrap; column-gap: 4px; row-gap: 0; white-space: nowrap; text-overflow: clip; }
.hc-t.zhe i { white-space: nowrap; }

.hc-z3 .hc-zr.next { background: #d9f3ee; box-shadow: inset 3px 0 0 #0e8f81; border-radius: 6px; border-bottom-color: transparent; padding-left: .45rem; padding-right: .45rem; }
.hc-z3 .hc-zr.next > b { font-weight: 800; }
.hc-next { font-style: normal; font-size: .68em; font-weight: 700; color: #fff; background: #0e8f81; border-radius: 999px; padding: .08em .5em; margin-left: .3em; vertical-align: .1em; letter-spacing: .02em; }
.hc-z3 .hc-zr.past, .hc-z3 .hc-zr.past * { color: #9aa5b1 !important; }
.hc-z3 .hc-zr.past.hl { background: #f1f4f6; }

.hc-z3 .hc-zr.past .t-am, .hc-z3 .hc-zr.past .t-pm { opacity: .55; }

/* ---- New order follows the call (Dov, Oct 26 1:46 AM): 1 Who · 2 What · 3 Pickup or delivery · 4 When, then folded More details ---- */
.page-call .nc-step { display: inline-flex; align-items: center; justify-content: center; width: 1.4rem; height: 1.4rem; border-radius: 50%; background: #0F2236; color: #fff; font-size: .78rem; font-weight: 700; margin-right: .5rem; vertical-align: 2px; flex: 0 0 auto; }
.page-call.nc-flow #nc-cust > h2, .page-call.nc-flow #call-items > h2, .page-call.nc-flow #call-fulfil > h2, .page-call.nc-flow #nc-when > h2 { font-size: 1.05rem; margin: 0 0 .55rem; display: flex; align-items: center; }
.page-call.nc-flow .nc-c2 #nc-when { border-top: 1px solid var(--line2); padding-top: 14px; margin-top: 14px; }
.page-call.nc-flow .call-lcol { gap: 12px; }
.nc-c2[hidden], .nc-more[hidden] { display: none !important; }
.nc-more { padding: 0; }
.nc-more-h { display: flex; align-items: center; gap: .6rem; width: 100%; min-height: 48px; background: none; border: 0; border-radius: 8px; padding: 10px 20px; font: inherit; color: #0F2236; cursor: pointer; text-align: left; }
.nc-more-h:active { background: #eef7f6; }
.nc-more-t { font-weight: 700; font-size: 1rem; white-space: nowrap; }
.nc-more-sum { color: #5b6b7c; font-size: .85rem; flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nc-chev { width: .55rem; height: .55rem; border-right: 2px solid #0F2236; border-bottom: 2px solid #0F2236; transform: rotate(45deg); transition: transform .12s; margin: 0 .25rem .2rem 0; flex: 0 0 auto; }
.nc-more.open .nc-chev { transform: rotate(-135deg); margin-bottom: -.2rem; }
.nc-more-b { padding: 0 20px 16px; }
.nc-more-b[hidden] { display: none; }
.nc-more-b > .nc-sec:first-child { border-top: 0; padding-top: 0; margin-top: 0; }
.nc-err { color: #C62828; font-size: .85rem; font-weight: 600; margin: .35rem 0 0; }
.nc-err[hidden] { display: none; }
#nc-cust.nc-miss input[name=cq], #nc-cust.nc-miss input[name=name] { border-color: #C62828 !important; box-shadow: 0 0 0 1px #C62828; }
#call-pay.nc-miss { border-color: #C62828; box-shadow: 0 0 0 1px #C62828; }
.nc-flash { animation: ncflash .9s ease 2; }
@keyframes ncflash { 50% { box-shadow: 0 0 0 4px rgba(198, 40, 40, .22); } }
.nc-acct { margin: .6rem 0 0; }
.nc-acct[hidden] { display: none; }
.nc-acct .acct-in { width: 8rem; }
.nc-temp-slot { margin-top: .7rem; }
.nc-temp-slot:empty { display: none; }
.nc-temp-slot #temp-home { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; margin: 0; }
.nc-temp-slot #temp-home[hidden] { display: none; }
.nc-temp-slot #temp-home .lbl { display: inline; margin: 0; font-weight: 600; }
.page-call.nc-flow #call-items .kb-hint { margin-bottom: 0; }
@media (max-width: 600px) { .nc-more-h { padding: 10px 14px; } .nc-more-b { padding: 0 14px 14px; } }
@media (max-width: 600px) { .page-call.nc-flow .addr-cs { display: grid; grid-template-columns: minmax(0, 1fr) 3.6rem 6.2rem; gap: .5rem; } .page-call.nc-flow .addr-cs > .field { margin-bottom: .5rem; } }

/* Daily day list (Dov, Oct 26 1:51 AM): today stands out, past days fold up, day header shows where the sheets stand. */
.ko-day { padding: 0; overflow: hidden; scroll-margin-top: 72px; }
.ko-day .ko-list { padding: 0 20px 6px; }
.ko-dayhead { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 12px; width: 100%; min-height: 54px; padding: 12px 20px; background: none; border: 0; font: inherit; color: var(--ink); text-align: left; cursor: pointer; }
.ko-dayhead:hover { background: #f7f9fb; }
.ko-daychev { width: 9px; height: 9px; flex: none; border-right: 2px solid var(--muted); border-bottom: 2px solid var(--muted); transform: rotate(45deg); margin: -4px 2px 0 0; transition: transform .15s; }
.ko-dayhead[aria-expanded="false"] .ko-daychev { transform: rotate(-45deg); margin: 0 2px 0 -2px; }
.ko-daytitle { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 1.12rem; flex: 1 1 auto; min-width: 0; }
.ko-daytitle b { font-weight: 650; }
.ko-daytitle .muted { font-size: .92rem; }
.ko-daytag { display: inline-block; padding: 1px 9px; border-radius: 999px; font-size: .8rem; font-weight: 650; letter-spacing: .02em; background: var(--blue-bg); color: var(--ink); border: 1px solid #c9d6e2; }
.ko-daycounts { display: flex; gap: 6px; flex-wrap: wrap; margin-left: auto; }
.ko-dcnt { display: inline-block; min-height: 0; line-height: 1.45; padding: 2px 9px; border-radius: 999px; font-size: .82rem; font-weight: 600; white-space: nowrap; }
.ko-dcnt.bad { background: #fde8e6; color: #C62828; } .ko-dcnt.warn { background: #fff4dc; color: #8a5a00; } .ko-dcnt.ok { background: #e3f5ea; color: #1e7a45; }
.ko-day-today { border-color: #14B1A0; border-left: 5px solid #14B1A0; background: #f1fbf9; box-shadow: 0 1px 6px rgba(20,177,160,.12); }
.ko-day-today .ko-dayhead:hover { background: #e8f8f5; }
.ko-day-today .ko-daytag { background: #14B1A0; color: #fff; border-color: #14B1A0; }
.ko-day-today .ko-list .ko-row { border-bottom-color: #d5efea; }
.ko-day-past { background: #fbfbfc; }
.ko-day-past .ko-dayhead { min-height: 48px; padding-top: 9px; padding-bottom: 9px; }
.ko-day-past .ko-daytitle { font-size: 1rem; color: var(--ink2); }
.ko-earlier { margin: 26px 0 10px; font-size: .82rem; font-weight: 650; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); }
.ko-row.ko-overdue { box-shadow: inset 4px 0 0 #C62828; padding-left: 12px; }
@media (max-width: 600px) {
  .ko-dayhead { padding: 11px 14px; }
  .ko-day .ko-list { padding: 0 12px 4px; }
  .ko-daycounts { margin-left: 21px; width: 100%; }
  .ko-daycounts:empty { display: none; }
}

/* ---- Also considering dates (Dov, Oct 26 2:05 AM): other dates a customer is thinking about; not reserved, faint dashed ---- */
.alt-dates { margin: -.2rem 0 .8rem; }
.alt-row { border: 1px dashed #9fd9d1; border-radius: 8px; padding: .4rem .6rem; margin: 0 0 .45rem; background: #fff; }
.alt-line { display: flex; align-items: center; gap: .5rem; flex-wrap: nowrap; }
.alt-lbl { font-size: .85rem; font-weight: 600; color: #0F2236; white-space: nowrap; }
.alt-in { width: auto; min-width: 0; max-width: 11.5rem; padding: .3rem .45rem; font-size: .95rem; }
.alt-d { font-size: .85rem; color: #0F2236; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.alt-x { margin-left: auto; flex: none; width: 30px; height: 30px; border: 1px solid #d5dbe3; border-radius: 6px; background: #fff; color: #0F2236; font-size: 1.1rem; line-height: 1; cursor: pointer; }
.alt-x:hover { border-color: #C62828; color: #C62828; }
.alt-info { font-size: .85rem; color: #44546a; margin-top: .3rem; }
.alt-info p { margin: .25rem 0 0; }
.alt-swap { color: #0f7a6c; font-weight: 600; padding: 0 0 0 .25rem; font-size: .85rem; }
.alt-add { color: #0f7a6c; font-weight: 600; padding: .15rem 0; }
.alt-note { color: #0f5e55; background: #e9f7f5; border-left: 3px solid #14B1A0; border-radius: 4px; padding: .3rem .5rem; font-size: .85rem; font-weight: 500; }
.date-info .alt-note { margin-top: .4rem; }
#ev-date-note .alt-note { margin: -.3rem 0 .6rem; }
.alt-past { margin: -.2rem 0 .7rem; }
.cal-ev.c-consider { background: transparent !important; border: 1px dashed #14B1A0 !important; color: #5b6b7f !important; font-style: italic; opacity: .9; }
.legend .cal-ev.c-consider { margin-left: .2rem; }
.wk-ev .cal-ev.c-consider { display: inline-block; max-width: 100%; }
.alt-cal-h { font-size: .95rem; margin: 1rem 0 .4rem; color: #0F2236; }
.alt-cal-l .cal-ev { display: inline-block; margin: 0 .3rem .3rem 0; }
.cp-d.cp-cons { outline: 1px dashed #14B1A0; outline-offset: -3px; }
.cp-d small.cp-c { display: block; color: #0f5e55; font-style: italic; font-size: .68rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cp-cdot { display: inline-block; width: 12px; height: 12px; border-radius: 3px; border: 1px dashed #14B1A0; vertical-align: middle; margin-left: .4rem; }
.hp-cons li { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; }
.hp-cons .cal-ev { display: inline-block; }
@media (max-width: 560px) { .alt-in { max-width: 9.6rem; } .alt-d { display: none; } .cp-d small.cp-c { font-size: .6rem; } }

/* ---- Edit the customer from the order (Dov, Oct 26 2:09 AM): name + phone are a link with a pencil; a sheet on phones, a box on desktop ---- */
.cust-edit { background: none; border: 0; padding: 0; margin: 0; font: inherit; color: #0F2236; text-align: left; cursor: pointer; display: inline; }
.cust-edit b { color: #0F2236; text-decoration: underline; text-decoration-color: #14B1A0; text-underline-offset: 3px; text-decoration-thickness: 2px; }
.cust-edit small { display: block; }
.cust-card .cust-edit { display: block; }
.cust-edit .ce-pen { color: #14B1A0; margin-left: .35rem; vertical-align: -1px; }
.cust-edit:hover b, .cust-edit:focus-visible b { color: #14B1A0; }
.cust-sheet .modal { max-width: 620px; }
.cust-sheet .modal-hd .modal-x { margin-left: auto; }
.ce-body .field { margin-bottom: .6rem; }
.ce-sec { margin: .4rem 0 .8rem; } .ce-sec > .lbl { display: block; font-weight: 600; margin-bottom: .35rem; }
.ce-adr { border: 1px solid #d5dbe3; border-radius: 8px; padding: .5rem .6rem; margin-bottom: .5rem; display: grid; gap: .35rem; }
.ce-adr-hd { display: flex; align-items: center; gap: .5rem; }
.ce-adr-hd .check { white-space: nowrap; margin: 0; }
.ce-adr-hd .ce-lbl { flex: 1; min-width: 0; }
.ce-csz { display: grid; grid-template-columns: 1fr 3.4rem 5.6rem; gap: .35rem; }
.ce-adr input { width: 100%; min-width: 0; }
.ce-open { margin: .6rem 0 0; font-size: .85rem; } .ce-open a { color: #0f7a6c; }
@media (max-width: 600px) {
  .modal-wrap.cust-sheet { padding: 0; align-items: flex-start; }
  .modal-wrap.cust-sheet .modal { max-width: none; min-height: 100%; height: auto; max-height: none; border-radius: 0; padding: 12px 14px 0; }
  .cust-sheet .modal-actions { margin-bottom: calc(76px + env(safe-area-inset-bottom)); } /* room at the end so Save never sits under Support */
}
.alt-sum { margin: .5rem 0 0; font-size: .85rem; color: #0f5e55; border: 1px dashed #14B1A0; border-radius: 6px; padding: .25rem .5rem; display: inline-block; font-style: italic; } .alt-sum small { color: #5b6b7f; font-style: normal; }
/* customer sheet: label and box on one line, compact (Dov's input rule) */
.ce-body .grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 .9rem; }
.ce-body .field { display: flex; align-items: center; gap: .5rem; margin-bottom: .45rem; }
.ce-body .field > .lbl { flex: 0 0 6.2rem; margin: 0; font-size: .85rem; }
.ce-body .field > input, .ce-body .field > select, .ce-body .field > textarea { flex: 1; min-width: 0; }
.ce-body .field .hint { display: none; }
.ce-body .ph-row select { max-width: 6.5rem; }
@media (max-width: 600px) { .ce-body .grid2 { grid-template-columns: 1fr; } .cp-d small.cp-c .cp-cl { display: none; } }
/* New Proposal / New order at 390: the left column never grows past the screen (it was 420px wide, cutting off Time and the date box) */
.page-call .call-lcol, .page-call .call-left, .page-call .call-right { min-width: 0; }
@media (max-width: 1100px) { .call-grid { grid-template-columns: minmax(0, 1fr); } }
.cust-sheet .ce-body label.field { display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; align-items: center !important; justify-content: flex-start !important; gap: .5rem; text-align: left; }
.cust-sheet .ce-body label.field > .lbl { flex: 0 0 6.2rem !important; width: 6.2rem; text-align: left !important; margin: 0 !important; }

/* ---- New order polish (Dov, Oct 26 2:22 AM): ~12% less height, "What they want" is the main input, When on one row, Place order under the total ---- */
.page-call.nc-flow .call-lcol { gap: 10px; }
.page-call.nc-flow .call-left { padding: 15px 18px; }
.page-call.nc-flow .call-left > .nc-sec:first-child { padding-top: 0; }
.page-call.nc-flow #nc-cust > h2, .page-call.nc-flow #call-fulfil > h2, .page-call.nc-flow #nc-when > h2 { margin-bottom: .4rem; }
.page-call.nc-flow #nc-cust .match.found { margin: .25rem 0 0; padding: .5rem .7rem; }
.page-call.nc-flow #nc-cust .field { margin-bottom: .35rem; }
.page-call.nc-flow .nc-acct { margin-top: .4rem; }
.page-call.nc-flow .nc-c2 #nc-when { padding-top: 11px; margin-top: 11px; }
.page-call.nc-flow #call-items > h2 { font-size: 1.2rem; font-weight: 800; color: #0F2236; margin-bottom: .5rem; }
.page-call.nc-flow #call-items > h2 .nc-step { background: #14B1A0; }
.page-call.nc-flow .add-item { max-width: none; margin: .35rem 0 .1rem; }
.page-call.nc-flow .item-search { min-height: 54px; font-size: 1.12rem; border: 2px solid #14B1A0; border-radius: 10px; padding-left: 44px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2314B1A0' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M15.5 15.5L21 21'/%3E%3C/svg%3E") no-repeat 14px center / 20px 20px; }
.page-call.nc-flow .item-search:focus { outline: none; border-color: #0f8f81; box-shadow: 0 0 0 3px rgba(20, 177, 160, .22); }
.page-call.nc-flow .item-search::placeholder { color: #6b7a8c; }
.page-call.nc-flow #call-items .kb-hint { margin-top: .3rem; }
.page-call.nc-flow .nc-temp-slot { margin-top: .5rem; }
/* When: Date · Approx. · time on one clean row; wraps under each other on a narrow phone */
.page-call.nc-flow #nc-when .when-row { display: flex; flex-wrap: wrap; align-items: flex-end; gap: .4rem 1.2rem; }
.page-call.nc-flow #nc-when .when-row > .field, .page-call.nc-flow #nc-when .when-row > #time-home { flex: 0 1 auto; margin-bottom: .4rem; }
.page-call.nc-flow #nc-when .when-row .date-appx { display: flex; align-items: center; gap: .6rem; flex-wrap: nowrap; }
.page-call.nc-flow #nc-when .when-row .date-appx input[type=date] { width: 11rem; }
.page-call.nc-flow #nc-when .when-row .date-appx .appx { margin: 0; white-space: nowrap; }
.page-call.nc-flow #nc-when .when-row #time-home input { width: 9rem; }
.page-call.nc-flow #nc-when .undec-hint { flex-basis: 100%; }
/* More details: just the words + chevron; a summary only when something was entered */
.page-call.nc-flow .nc-more-h { min-height: 44px; }
.nc-more-sum:empty { display: none; }
.page-call.nc-flow .nc-more-t { flex: 1 1 auto; }
.page-call.nc-flow .nc-more-sum:not(:empty) ~ .nc-chev { margin-left: 0; }
.page-call.nc-flow .nc-more-t:has(+ .nc-more-sum:not(:empty)) { flex: 0 0 auto; }
/* Place order: strong, teal, right under the total (full width on phones); the bottom bar keeps Cancel · Save draft */
.pv-place { display: block; width: 100%; margin-top: .8rem; background: #14B1A0 !important; border-color: #14B1A0 !important; color: #fff !important; font-weight: 700; font-size: 1.08rem; min-height: 50px; border-radius: 10px; }
.pv-place:hover { background: #0f9a8b !important; }
.pv-place.blocked { opacity: 1; }
/* v6541 G: one bottom bar after Order total → Payment: Cancel · Save draft · Place order (main, teal) */
.call-bar #call-place { background: #14B1A0; border-color: #14B1A0; color: #fff; font-weight: 700; font-size: 1.08rem; min-height: 50px; }
.call-bar #call-place:hover { background: #0f9a8b; }
.call-bar #call-place.blocked { opacity: 1; }
.call-actions { margin-top: .8rem; }
.page-call.nc-flow #nc-when .when-row { align-items: flex-start; }
.page-call.nc-flow .addr-cs { display: grid; grid-template-columns: minmax(0, 1fr) 4rem 6.5rem; gap: .6rem; }
.page-call.nc-flow .addr-cs > .field { margin-bottom: .5rem; }
@media (min-width: 601px) {
  .page-call.nc-flow #nc-cust:has(.cust-card) { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 1rem; align-items: center; }
  .page-call.nc-flow #nc-cust:has(.cust-card) > h2, .page-call.nc-flow #nc-cust:has(.cust-card) > .nc-err { grid-column: 1 / -1; }
  .page-call.nc-flow #nc-cust:has(.cust-card) .nc-acct { margin: .25rem 0 0; }
}
@media (max-width: 600px) {
  .page-call.nc-flow .call-left { padding: 12px 14px; }
  .page-call.nc-flow #nc-cust .match.found.cust-card { flex-direction: row; align-items: center; }
  .page-call.nc-flow #call-items .kb-hint { display: none; } /* keyboard tips; not for a phone */
  .page-call.nc-flow textarea[name=delivery_instructions] { height: 3.4em; min-height: 3.4em; }
  .page-call.nc-flow #nc-when .when-row .date-appx input[type=date] { width: 10.5rem; }
}

/* ---- Menus for everyday use + Manage menus + Price needed + kitchen estimates + Price checker (Dov, Oct 26 2026 2:17–2:23 AM) ---- */
.pn-chip { display: inline-block; background: #FDECEA; color: #C62828; border: 1px solid #F3B9B5; border-radius: 999px; padding: 1px 8px; font-size: 12px; font-weight: 600; line-height: 1.5; white-space: nowrap; vertical-align: middle; }
.est-chip { display: inline-block; background: #FFF4E0; color: #8A5300; border: 1px solid #F2D29B; border-radius: 999px; padding: 1px 8px; font-size: 12px; font-weight: 600; line-height: 1.5; white-space: nowrap; vertical-align: middle; margin-left: 6px; }
.pn-in::placeholder { color: #C62828; opacity: .85; }
.pk-f-amt.pn-need input { border-color: #C62828; }
.pk-f-amt.pn-need .lbl .pn-chip { font-size: 10px; padding: 0 6px; }
.pk-card.pk-need > .pk-head { box-shadow: inset 3px 0 0 #C62828; }
.mm-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 0 0 14px; }
.mm-tabs { display: flex; gap: 2px; overflow-x: auto; -webkit-overflow-scrolling: touch; border-bottom: 1px solid #E3E8EE; flex: 1 1 auto; min-width: 0; }
.mm-tabs a { padding: 9px 12px; border-bottom: 3px solid transparent; color: #0F2236; text-decoration: none; white-space: nowrap; font-weight: 500; }
.mm-tabs a.on { border-bottom-color: #14B1A0; font-weight: 700; }
.pn-n, .est-n { display: inline-block; min-width: 18px; padding: 0 5px; border-radius: 9px; font-size: 11px; font-weight: 700; text-align: center; color: #fff; background: #C62828; line-height: 18px; }
.est-n { background: #B7791F; }
.pn-filter { border: 1px solid #F3B9B5; background: #FDECEA; color: #C62828; border-radius: 999px; padding: 6px 12px; font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; white-space: nowrap; }
.pn-filter:hover { background: #FAD9D6; }
.ka-conf { display: inline-flex; align-items: center; gap: 6px; flex-wrap: wrap; margin-top: 4px; }
.ka-conf .est-chip { margin-left: 0; }
tr.ka-est > td { background: #FFFBF2; }
.md-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.md-manage { display: inline-flex; align-items: center; gap: 6px; }
.md-search input { width: 100%; box-sizing: border-box; font-size: 18px; padding: 12px 14px; border: 1px solid #CBD5DF; border-radius: 10px; margin: 4px 0 16px; }
.md-search input:focus { outline: none; border-color: #14B1A0; box-shadow: 0 0 0 3px rgba(20,177,160,.18); }
.md-type { margin: 0 0 18px; }
.md-type h2 { font-size: 15px; color: #5B6B7B; margin: 0 0 8px; font-weight: 600; }
.md-menu { border: 1px solid #E3E8EE; border-radius: 12px; background: #fff; margin: 0 0 8px; overflow: hidden; }
.md-menu.is-def { border-color: #9FDCD4; }
.md-main { display: flex; align-items: center; gap: 12px; width: 100%; text-align: left; background: none; border: 0; padding: 14px 16px; cursor: pointer; font: inherit; color: #0F2236; }
.md-main:hover { background: #F7FAFC; }
.md-name { flex: 1 1 auto; min-width: 0; }
.md-name b { font-size: 16px; }
.md-name small { display: block; color: #5B6B7B; margin-top: 2px; }
.md-price { white-space: nowrap; font-weight: 600; font-size: 14px; }
.md-chev { color: #5B6B7B; }
.md-body { padding: 0 16px 14px; border-top: 1px solid #EEF2F5; }
.md-meal h4 { margin: 14px 0 6px; font-size: 16px; color: #0F2236; }
.md-sec { margin: 0 0 10px; }
.md-sec-h { display: flex; gap: 8px; align-items: baseline; flex-wrap: wrap; }
.md-sec-h small { color: #5B6B7B; }
.md-sec ul { list-style: none; margin: 4px 0 0; padding: 0; }
.md-sec li { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 6px 0; border-bottom: 1px dashed #EEF2F5; }
.md-pick { font-size: 11px; color: #0B7A6E; background: #E6F7F5; border-radius: 6px; padding: 0 6px; margin-left: 4px; }
.md-up { white-space: nowrap; }
.md-inc { color: #5B6B7B; margin: 10px 0 0; }
@media (max-width: 600px) { .md-main { flex-wrap: wrap; } .md-price { order: 3; width: 100%; white-space: normal; } }
.prc-form { display: flex; gap: 8px; margin: 4px 0 16px; }
.prc-q { flex: 1 1 auto; min-width: 0; box-sizing: border-box; font-size: 22px; padding: 14px 16px; border: 2px solid #0F2236; border-radius: 12px; }
.prc-q:focus { outline: none; border-color: #14B1A0; box-shadow: 0 0 0 3px rgba(20,177,160,.2); }
.prc-go { font-size: 18px; padding: 0 20px; }
.prc-card { border: 1px solid #E3E8EE; border-radius: 12px; padding: 14px 16px; margin: 0 0 12px; background: #fff; }
.prc-card-hit { border-color: #14B1A0; box-shadow: 0 0 0 2px rgba(20,177,160,.25); }
.prc-top { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.prc-top h2 { font-size: 22px; margin: 0; color: #0F2236; }
.prc-sub { color: #5B6B7B; margin: 4px 0 8px; font-size: 15px; }
.prc-sizes { width: 100%; border-collapse: collapse; font-size: 18px; }
.prc-sizes thead th { font-size: 12px; color: #5B6B7B; font-weight: 600; text-align: left; padding: 4px 8px; border-bottom: 1px solid #E3E8EE; }
.prc-sizes tbody th { text-align: left; font-weight: 600; padding: 8px; white-space: nowrap; color: #0F2236; }
.prc-sizes td { padding: 8px; border-top: 1px solid #F0F3F6; vertical-align: middle; }
.prc-sizes tbody th { border-top: 1px solid #F0F3F6; }
.prc-amt { font-size: 22px; color: #0F2236; }
.prc-tax { color: #5B6B7B; font-size: 13px; }
.prc-notax { color: #0B7A6E; font-size: 13px; }
.prc-tag { display: inline-block; font-size: 12px; border: 1px solid #CBD5DF; border-radius: 6px; padding: 0 6px; margin-right: 4px; color: #0F2236; }
.prc-tag.deli { border-color: #9FDCD4; color: #0B7A6E; }
.prc-pos { font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 15px; color: #33475B; white-space: nowrap; }
tr.pc-hit > th, tr.pc-hit > td { background: #E6F7F5; }
.prc-empty { font-size: 17px; margin: 20px 0; }
.prc-found { margin: 0 0 10px; }
@media (max-width: 600px) {
  .prc-q { font-size: 20px; }
  .prc-sizes { font-size: 16px; }
  .prc-sizes thead { display: none; }
  .prc-sizes tr { display: grid; grid-template-columns: minmax(78px, auto) 1fr auto; column-gap: 10px; align-items: baseline; padding: 8px 0; border-top: 1px solid #F0F3F6; }
  .prc-sizes td, .prc-sizes tbody th { border: 0; padding: 2px 0; }
  .prc-sizes td.pc-pos { grid-column: 3; grid-row: 1; text-align: right; font-size: 13px; }
  .prc-sizes td.pc-use { grid-column: 2 / 4; grid-row: 2; }
  .prc-sizes td.pc-use:empty, .prc-sizes td.pc-pos:empty { display: none; }
}
.prc-sizes small { display: inline; }

/* ---- Bookkeeping fixes + simpler home (Dov, Oct 26 2:36–2:38 AM; brief_books) ---- */
.bk3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 4px 0 22px; }
@media (max-width: 900px) { .bk3 { grid-template-columns: 1fr; gap: 10px; } }
.bk3-box { display: block; background: #fff; border: 1.5px solid #dfe5ec; border-radius: 14px; padding: 16px 18px; color: #0F2236; text-decoration: none !important; min-width: 0; }
.bk3-box:hover, .bk3-box:focus-visible { border-color: #14B1A0; }
.bk3-box h2 { margin: 0 0 4px; font-size: .95rem; font-weight: 600; color: #5b6b7d; text-transform: none; letter-spacing: 0; }
.bk3-big { font-size: 2rem; font-weight: 700; margin: 0 0 2px; color: #0F2236; line-height: 1.15; }
.bk3-sub { margin: 0 0 8px; color: #5b6b7d; font-size: .88rem; }
.bk3-age { display: flex; flex-wrap: wrap; gap: 4px 12px; margin: 0; font-size: .8rem; color: #5b6b7d; }
.bk3-age .amb { color: #B26A00; font-weight: 600; } .bk3-age .red { color: #C62828; font-weight: 600; }
.bk3-note { margin: 6px 0 0; font-size: .8rem; color: #5b6b7d; }
.bk3-split { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.bk3-split > div { background: #f6f8fa; border-radius: 10px; padding: 8px 10px; min-width: 0; }
.bk3-split span { display: block; font-size: .78rem; color: #5b6b7d; } .bk3-split b { display: block; font-size: 1.15rem; } .bk3-split small { color: #6b7a8c; font-size: .75rem; }
.bk3-over.on { background: #FDECEC; } .bk3-over.on span, .bk3-over.on b { color: #C62828; }
.bk3-box.has-over { border-color: #C62828; }
.bk-sec { margin: 0 0 18px; }
.bk-work { display: flex; flex-wrap: wrap; gap: 8px; }
.bk-wbtn { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 8px 14px; background: #fff; border: 1px solid #dfe5ec; border-radius: 10px; color: #0F2236; font-weight: 600; text-decoration: none !important; }
.bk-wbtn:hover { border-color: #14B1A0; color: #14B1A0; }
.bk-wtag { display: inline-block; font-size: .7rem; font-weight: 600; padding: 1px 6px; border-radius: 6px; background: #eef1f4; color: #5b6b7d; }
.bk-wtag.amb { background: #FFF4E0; color: #8A5300; }
.bk-more .mh-week { margin-top: 12px; max-width: 460px; }
.mh-one { margin: 0 0 18px; } .mh-one .mh-card { max-width: 620px; }
.bk-inc { display: inline-block; font-size: .72rem; font-weight: 600; padding: 1px 6px; border-radius: 6px; background: #FFF4E0; color: #8A5300; white-space: nowrap; vertical-align: middle; }
.rep-totals .bk-inc { display: block; width: max-content; margin-top: 3px; }
.bk-unconf { background: #FFF4E0; border: 1px solid #F0C36D; color: #6B4100; border-radius: 10px; padding: 8px 12px; margin: 8px 0 12px; font-size: .88rem; }
.bk-rule { margin: 4px 0 10px; }
.qb-hold { font-size: .8rem; vertical-align: middle; }
.qb-hold-note { background: #FFF4E0; border: 1px solid #F0C36D; color: #6B4100; border-radius: 10px; padding: 10px 14px; margin: 0 0 14px; }
.ctl-flags li.fl-billover a { color: #C62828; }
@media (max-width: 600px) { .bk3-big { font-size: 1.7rem; } .bk-wbtn { flex: 1 1 calc(50% - 8px); justify-content: center; text-align: center; } }
.bk-wtag { white-space: nowrap; }

/* ---- Task link (Deli Today daily task, Dov Oct 26 11:01) */
.kb-golink { display: inline-flex; align-items: center; min-height: 32px; padding: 4px 12px; border-radius: 999px; background: #0F8F82; color: #fff !important; font-weight: 600; font-size: 13px; text-decoration: none; }
.kb-golink:hover { background: #0c7a6f; }
.tk-openlink { width: 100%; justify-content: center; }
.kt-golink { margin-top: 6px; align-self: flex-start; }
.page-kitchen .task .t-body { display: flex; flex-direction: column; }
.page-kitchen a.t-title { color: inherit; text-decoration: none; }

/* Bookkeeping home (Oct 26 11:06 AM): QuickBooks flow is back; the 3 money totals sit above it as one compact row of tiles */
.bk3s { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 2px 0 18px; max-width: 760px; }
.bk3s-t { display: flex; flex-direction: column; gap: 1px; min-width: 0; padding: 9px 12px; background: #fff; border: 1.5px solid #dfe5ec; border-radius: 10px; color: #0F2236; text-decoration: none !important; }
.bk3s-t:hover, .bk3s-t:focus-visible { border-color: #14B1A0; }
.bk3s-l { font-size: .78rem; font-weight: 600; color: #5b6b7d; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bk3s-t b { font-size: 1.15rem; line-height: 1.2; overflow-wrap: anywhere; }
.bk3s-t small { font-size: .74rem; color: #6b7a8c; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bk3s-t.has-over { border-color: #C62828; }
.bk3s-t small.bk3s-over { color: #C62828; font-weight: 700; }
.bk-home .bk-box .bk-wtag { margin-left: 6px; }
.bk-home > .mh-week { display: block; margin-top: 24px; max-width: 420px; }
@media (max-width: 480px) { .bk3s { gap: 6px; } .bk3s-t { padding: 7px 8px; } .bk3s-l { font-size: .7rem; white-space: normal; line-height: 1.2; } .bk3s-t b { font-size: 1rem; } .bk3s-t small { font-size: .68rem; white-space: normal; } }
/* Supplier orders › Daily (Dov, Oct 26 11:10 AM): days after today show a calm grey count, not red */
.ko-dcnt.mute { background: var(--line2); color: var(--muted); }
.ko-day-future .chip.st-bad { background: var(--line2); color: var(--muted); }

.bk-home .bk-box-side { flex-wrap: wrap; column-gap: 6px; row-gap: 2px; }
.bk-home .bk-box .bk-wtag { margin-left: 0; }
@media (max-width: 760px) {
  .bk-home .bk-flow { align-items: stretch; }
  .bk-home .bk-flow-col { align-items: stretch; width: 100%; max-width: 440px; min-width: 0; }
  .bk-home .bk-flow-col h2, .bk-home .bk-arrow { text-align: center; }
  .bk-home .bk-box { width: 100%; max-width: none; min-height: 54px; }
  .bk-home .bk-flow-side { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; width: 100%; max-width: 440px; }
  .bk-home .bk-flow-side .bk-box { min-height: 58px; padding: 8px 10px; }
}

/* Take deposit (Dov, Oct 26 3:11 PM): third button on a proposal / estimate — white, teal border, navy text */
.ch-title .ch-acts .ev-takedep { background: #fff; border: 1.5px solid #14B1A0; color: #0F2236; }
.ch-title .ch-acts .ev-takedep:hover { background: #eefaf8; }
.ch-title .ch-acts .ev-takedep:active, .ch-title .ch-acts .ev-takedep.is-press { background: #d9f3ef; transform: translateY(1px); }
@media (max-width: 480px) { .ch-title .ch-acts .ev-takedep { flex: 1 1 100%; } }
.td-modal h3:first-child { margin-top: 0; }

/* Labels — logos & pictures as a checkable list + "Add from gallery" (Dov, Oct 26 4:47 PM); date line picker (ticket #11) */
.lb-pics { display: flex; flex-direction: column; gap: 6px; margin-top: 8px; }
.lb-pics-h { margin: 0 0 2px; }
.lb-pic-row { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; padding: 6px 8px; border: 1px solid #d5dde5; border-radius: 8px; background: #fff; }
.lb-pic-row.on { border-color: #14B1A0; }
.lb-pic-row.sel { box-shadow: 0 0 0 2px #14B1A0; }
.lb-pic-row:not(.on) .lb-pic-th { opacity: .4; }
.lb-pic-row:not(.on) .lb-pic-nm { color: var(--muted, #6b7785); }
.lb-pic-main { flex: 1 1 160px; min-width: 0; display: flex; align-items: center; gap: 10px; min-height: 48px; cursor: pointer; }
.lb-pic-chk { width: 28px; height: 28px; flex: 0 0 auto; margin: 0; accent-color: #14B1A0; cursor: pointer; }
.lb-pic-th { width: 52px; height: 44px; flex: 0 0 auto; object-fit: contain; border: 1px solid #e3e8ee; border-radius: 4px; background: #fff; }
.lb-pic-nm { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #0F2236; font-weight: 600; }
.lb-pic-nm small { font-weight: 400; }
.lb-pic-del { flex: 0 0 auto; width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; border: 0; background: transparent; color: var(--muted, #6b7785); border-radius: 8px; cursor: pointer; }
.lb-pic-del:hover, .lb-pic-del:active { color: #C62828; background: #fdecec; }
.lb-pic-del .ic { width: 20px; height: 20px; }
.lb-pic-opts { width: 100%; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; padding-left: 38px; }
.lb-pic-opts .lb-range input { width: 120px; }
.lb-pic-add { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.lb-gal-pick .gal-tile { position: relative; }
.lb-gp-have { position: absolute; left: 6px; top: 6px; background: #0F2236; color: #fff; font-size: 11px; padding: 2px 6px; border-radius: 4px; }
.lb-gp-n { margin: 4px 0 8px; }
.lb-ln-datew { flex: 1 1 150px; min-width: 0; display: flex; align-items: center; gap: 8px; position: relative; }
.lb-ln-date { flex: 1 1 auto; min-height: 44px; display: flex; align-items: center; gap: 10px; padding: 0 .7rem; border: 1px solid #14B1A0; border-radius: var(--r, 8px); background: #fff; color: #0F2236; font: inherit; cursor: pointer; text-align: left; }
.lb-ln-date:active { background: #E3F7F4; }
.lb-ln-date-t { font-size: 12px; color: var(--muted, #6b7785); }
.lb-ln-datein { position: absolute; left: 0; bottom: 0; width: 1px; height: 1px; opacity: 0; pointer-events: none; border: 0; padding: 0; }
@media (max-width: 480px) { .lb-pic-opts { padding-left: 0; } .lb-pic-main { flex-basis: 120px; } }
.lb-pic-opts input[type=range] { accent-color: #14B1A0; }
.lb-ln-datew .lb-ln-datein { position: absolute !important; left: 0 !important; bottom: 0 !important; width: 1px !important; min-width: 0 !important; height: 1px !important; min-height: 0 !important; max-width: 1px !important; flex: none !important; opacity: 0 !important; padding: 0 !important; margin: 0 !important; border: 0 !important; overflow: hidden; pointer-events: none; }
/* Label library thumbnails (ticket #13, Oct 26): a freely-moved line sits outside .lb-in, so inside the thumbnail's link it took the link colour (blue) — the label itself is black, like print. A line's own saved colour (inline) still wins. */
.lb, .lb-one { color: #000; }
/* Order sheets (tickets #9 / #10, Oct 26): side-dish line editable on every item; save status; Add item buttons; side dishes on every print */
.kt-savebar { margin: 4px 0 10px; min-height: 22px; font-size: 14px; }
.kt-save-ok { color: #14B1A0; font-weight: 700; }
.kt-save-err { color: #C62828; font-weight: 700; }
.kt-sec { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.kt-sec .kt-secname { flex: 1 1 200px; min-width: 0; }
.kt-addtop { flex: 0 0 auto; }
.kt-item > input.kt-info { flex: 1 1 100%; order: 5; font-size: 14px; color: #0F2236; background: #fafbfc; }
.kt-item > .kt-flags, .kt-item > .kt-btns { order: 6; }
.kt-addform { display: flex; gap: 8px; align-items: center; margin-top: 8px; }
.kt-addform input { flex: 1 1 auto; min-width: 0; }
.kt-addform .btn { flex: 0 0 auto; }
.ko-pt .ko-info { display: block; font-size: .82em; font-weight: 400; color: #333; }
.sup-tab-ask { margin: 6px 0; padding: 8px 10px; border-left: 3px solid #14B1A0; background: #fff; white-space: pre-wrap; color: #0F2236; } /* Send to Tab note (Dov, Oct 26 4:59 PM) */


/* ---------- Parsha: English | עברית (Dov, Oct 26 5:15 PM) — one app-wide switch, same small control on Calendar, Hebrew calendar, Zmanim, Settings ---------- */
.pl-switch { display: inline-flex; align-items: center; gap: 8px; width: auto; max-width: 100%; flex: 0 0 auto; }
.pl-switch .pl-k { font-size: .88rem; font-weight: 600; color: #3d4f63; }
.pl-seg { display: inline-flex; border: 1px solid #c4ccd6; border-radius: 6px; overflow: hidden; background: #fff; }
.pl-seg button { min-height: 40px; padding: 4px 14px; border: 0; background: #fff; color: #0F2236; font: inherit; font-size: .92rem; font-weight: 600; cursor: pointer; }
.pl-seg button + button { border-left: 1px solid #c4ccd6; }
.pl-seg button[lang="he"] { font-family: "Times New Roman", "David", serif; font-size: 1.02rem; }
.pl-seg button.on { background: #0F2236; color: #fff; }
.pl-seg button:not(.on):hover { background: #f2fbfa; }
.pl-seg button:focus-visible { outline: 2px solid #14B1A0; outline-offset: -2px; }
.pl-seg button:disabled { opacity: .6; cursor: default; }
.cal-filters .pl-cal { margin-left: auto; }
.hc-bar .pl-hc { margin-left: 4px; }
.page-zm .page-head { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 10px; }
.zm-par b[dir="rtl"] { font-family: "Times New Roman", "David", serif; font-size: 1.15em; }
@media (max-width: 600px) { .cal-filters .pl-cal { margin-left: 0; } .hc-bar .pl-hc { margin-left: 0; } }

/* ---------- Text size (Dov, Oct 26 5:16 PM): per device, Smaller / Normal / Bigger / Biggest — scales the root font size ---------- */
@media screen { :root { font-size: calc(16.5px * var(--ts, 1)); } }
@media screen and (max-width: 560px) { :root { font-size: calc(16px * var(--ts, 1)); } } /* phones stay 16px at Normal, as before */
@media (min-width: 1200px) { html.compact { font-size: calc(14.5px * var(--ts, 1)); } }
html.text-large { font-size: calc(16.5px * var(--ts, 1)); }
@media (min-width: 1200px) { html.compact.text-large { font-size: calc(14.5px * var(--ts, 1)); } }
@media print { html, html.compact, html.text-large { --ts: 1 !important; font-size: 16px !important; } } /* print as before (16px), whatever the screen size */
.disp-set-block { display: grid; gap: 14px; }
.ds-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; }
.ds-l { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1 1 220px; }
.ds-l b { color: #0F2236; }
.ts-seg { display: inline-flex; flex-wrap: wrap; border: 1px solid #c4ccd6; border-radius: 6px; overflow: hidden; background: #fff; width: auto; max-width: 100%; }
.ts-seg button { display: inline-flex; align-items: baseline; gap: 6px; min-height: 44px; padding: 6px 12px; border: 0; background: #fff; color: #0F2236; font: inherit; font-size: .92rem; font-weight: 600; cursor: pointer; }
.ts-seg button + button { border-left: 1px solid #c4ccd6; }
.ts-seg button.on { background: #0F2236; color: #fff; }
.ts-seg button:not(.on):hover { background: #f2fbfa; }
.ts-seg button:focus-visible { outline: 2px solid #14B1A0; outline-offset: -2px; }
.ts-seg .ts-a { font-family: Georgia, "Times New Roman", serif; font-weight: 700; line-height: 1; }
.ts-seg .ts-small .ts-a { font-size: .8rem; } .ts-seg .ts-normal .ts-a { font-size: .95rem; } .ts-seg .ts-large .ts-a { font-size: 1.12rem; } .ts-seg .ts-xl .ts-a { font-size: 1.3rem; }
@media (max-width: 480px) { .ts-seg button { padding: 6px 9px; gap: 4px; } }

/* ---------- Labels: Portrait | Landscape (Dov, Oct 26 5:20 PM) — a turned design sits in .lb-rot, rotated to fill the same label ---------- */
.lb-rot { display: flex; align-items: stretch; justify-content: stretch; overflow: hidden; box-sizing: border-box; }
.lb-orient { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin-top: 10px; }
.lb-orient .seg a { display: inline-flex; align-items: center; gap: 6px; }
.lb-or-ic { display: inline-block; border: 1.6px solid currentColor; border-radius: 2px; box-sizing: border-box; }
.lb-or-portrait { width: 10px; height: 14px; } .lb-or-landscape { width: 15px; height: 10px; }

/* ---------- Print size (Dov, Oct 26 5:21 PM): Smaller / Normal / Bigger / Biggest on printouts, PDFs and their previews.
   --ps on <html> (printsize.js), per screen on the device; Normal (no --ps) = the print exactly as before. ---------- */
.ps-ctl { display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; width: auto; max-width: 100%; }
.ps-k { font-size: .85rem; font-weight: 600; color: #3d4f63; white-space: nowrap; }
.ps-seg { display: inline-flex; border: 1px solid #c4ccd6; border-radius: 6px; overflow: hidden; background: #fff; }
.ps-seg button { min-height: 38px; padding: 4px 10px; border: 0; background: #fff; color: #0F2236; font: inherit; font-size: .88rem; font-weight: 600; cursor: pointer; white-space: nowrap; }
.ps-seg button + button { border-left: 1px solid #c4ccd6; }
.ps-seg button.on { background: #0F2236; color: #fff; }
.ps-seg button:not(.on):hover { background: #f2fbfa; }
.ps-seg button:focus-visible { outline: 2px solid #14B1A0; outline-offset: -2px; }
@media (max-width: 480px) { .ps-seg button { padding: 4px 7px; font-size: .82rem; } }
.pv-bar .ps-ctl { margin: 0 8px; }
.hc-out .ps-ctl, .hc-pv-bar .ps-ctl { margin: 0 4px; }
.rc-head .ps-ctl, .page-plan .pl-acts .ps-ctl { margin-right: 6px; }
.cal-printbtn { display: inline-flex; align-items: center; gap: 6px; }

/* Calendar print / PDF / preview (#/calendar → Print) — its own em-based page so every letter follows Print size */
.cal-pv .print-page.cal-pp { max-width: 8.5in; }
.cal-pdoc { font-size: calc(10.5px * var(--ps, 1)); color: #0F2236; font-family: Arial, Helvetica, Roboto, sans-serif; }
.cal-pdoc .cal-ptitle { font-size: 1.9em; margin: 0 0 .5em; }
.cal-pdoc .cal-grid { font-size: 1em; }
.cal-pdoc .cal-hd { font-size: 1em; padding: .3em .35em; color: #0F2236; }
.cal-pdoc .cal-day { min-height: 7.2em; padding: .25em .3em; gap: .15em; }
.cal-pdoc .cal-num b { font-size: 1.3em; } .cal-pdoc .cal-num .heb { font-size: 1em; }
.cal-pdoc .cal-tag { display: block !important; font-size: .9em !important; line-height: 1.2; white-space: normal !important; overflow: visible !important; text-overflow: clip !important; }
.cal-pdoc .cal-tag.t-candle { background: none; padding: 0; }
.cal-pdoc .cal-ev { font-size: .92em !important; padding: .1em .3em; white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: anywhere; line-height: 1.2; }
.cal-pdoc .cal-ev small { font-size: .9em; }
.cal-pdoc .cal-week { gap: .6em; } .cal-pdoc .wk-day { padding: .5em .7em; break-inside: avoid; page-break-inside: avoid; }
.cal-pdoc .wk-hd { font-size: 1.1em; } .cal-pdoc .wk-ev small { font-size: .9em; }
.cal-pdoc .block p, .cal-pdoc .block .row { font-size: 1em; }
.cal-pdoc .heb.big { font-size: 1.5em; }
.cal-pdoc .cal-day.is-today { box-shadow: none; }
.cal-pdoc a { color: inherit; pointer-events: none; }
@media (max-width: 700px) { .cal-pv .print-page.cal-pp { overflow-x: auto; } .cal-pdoc-month { min-width: 7.5in; } }
@media print { .cal-pdoc .cal-day { break-inside: avoid; } .cal-pdoc-month .cal-grid { break-inside: auto; } }

/* Hebrew calendar print / PDF / preview */
@media print {
  .page-hcal .hc-ttl h1 { font-size: calc(18pt * var(--ps, 1)) !important; } .page-hcal .hc-sub { font-size: calc(10pt * var(--ps, 1)) !important; }
  .page-hcal .hc-wh > div { font-size: calc(8.5pt * var(--ps, 1)); }
  .page-hcal .hc-n { font-size: calc(16pt * var(--ps, 1)); } .page-hcal .hc-n.heb { font-size: calc(15pt * var(--ps, 1)); }
  .page-hcal .hc-h { font-size: calc(8.5pt * var(--ps, 1)); }
  .page-hcal .hc-p, .page-hcal .hc-l, .page-hcal .hc-t, .page-hcal .hc-hm { font-size: calc(8pt * var(--ps, 1)); line-height: 1.15; }
  .page-hcal .hc-note { font-size: calc(7.5pt * var(--ps, 1)); }
  .page-hcal .hc-c { overflow: hidden; }
}
.hc-pdf .hc-ttl h1 { font-size: calc(27px * var(--ps, 1)); } .hc-pdf .hc-sub { font-size: calc(14px * var(--ps, 1)); }
.hc-pdf .hc-wh > div { font-size: calc(12px * var(--ps, 1)); }
.hc-pdf .hc-n { font-size: calc(21px * var(--ps, 1)) !important; } .hc-pdf .hc-n.heb { font-size: calc(20px * var(--ps, 1)) !important; }
.hc-pdf .hc-h { font-size: calc(12px * var(--ps, 1)) !important; }
.hc-pdf .hc-p, .hc-pdf .hc-l, .hc-pdf .hc-t, .hc-pdf .hc-hm { font-size: calc(11.5px * var(--ps, 1)) !important; line-height: 1.15; }
.hc-pdf .hc-note { font-size: calc(10.5px * var(--ps, 1)); }
.hc-pdf .hc-c { overflow: hidden; }

/* Recipe print */
@media print {
  .rcp-pg { font-size: calc(11pt * var(--ps, 1)); } .rcp-hd h1 { font-size: calc(20pt * var(--ps, 1)); } .rcp-brand { font-size: calc(9pt * var(--ps, 1)); }
  .rcp-t th { font-size: calc(9pt * var(--ps, 1)); } .rcp-pg h2 { font-size: calc(12pt * var(--ps, 1)); } .rcp-f { font-size: calc(8pt * var(--ps, 1)); }
  .rcp-t td { overflow-wrap: anywhere; }
}

/* Plan ahead print (one Letter page): bigger letters wrap inside each day instead of running off */
@media print {
  .plp-logo { font-size: calc(8.5pt * var(--ps, 1)); } .plp-ttl b { font-size: calc(20pt * var(--ps, 1)); } .plp-ttl span { font-size: calc(10.5pt * var(--ps, 1)); }
  .plp-wh > div { font-size: calc(8.5pt * var(--ps, 1)); }
  .plp-n { font-size: calc(15pt * var(--ps, 1)); } .plp-n small { font-size: calc(8.5pt * var(--ps, 1)); } .plp-h { font-size: calc(8.5pt * var(--ps, 1)); }
  .plp-b { font-size: calc(8pt * var(--ps, 1)); } .plp-b i { font-size: calc(7pt * var(--ps, 1)); }
  .plp-r { font-size: calc(8pt * var(--ps, 1)); }
  html[style*="--ps: 1.15"] .plp-r, html[style*="--ps: 1.3"] .plp-r { white-space: normal; letter-spacing: 0; }
  html[style*="--ps: 1.15"] .plp-t, html[style*="--ps: 1.3"] .plp-t { margin-top: 2pt; gap: 1.5pt; }
}

/* Text size: the top bar's brand word stays put at Bigger / Biggest (no overlap with the search button on a phone) */
.top .brand-word { font-size: min(1.35rem, 22px); }
@media (max-width: 480px) { html[data-ts="large"] .top .brand-word, html[data-ts="xl"] .top .brand-word { font-size: 18px; } }

/* Print size Bigger / Biggest: labels wrap instead of being cut ("Ends (72 min)") */
html[style*="--ps: 1.15"] .hc-pdf .hc-t, html[style*="--ps: 1.3"] .hc-pdf .hc-t { flex-wrap: wrap; column-gap: 3px; }
html[style*="--ps: 1.15"] .hc-pdf .hc-t i, html[style*="--ps: 1.3"] .hc-pdf .hc-t i { white-space: normal !important; overflow: visible !important; text-overflow: clip !important; }
@media print {
  html[style*="--ps: 1.15"] .page-hcal .hc-t, html[style*="--ps: 1.3"] .page-hcal .hc-t { flex-wrap: wrap; column-gap: 2pt; }
  html[style*="--ps: 1.15"] .page-hcal .hc-t i, html[style*="--ps: 1.3"] .page-hcal .hc-t i { white-space: normal !important; overflow: visible !important; text-overflow: clip !important; }
}
.pv-bar .ps-k { color: #fff; }
.cal-pdoc .cal-tag.t-candle .ct-l { display: inline !important; } .cal-pdoc .cal-tag.t-candle::before { content: none !important; }
@media (max-width: 480px) { html[data-ts="large"] .top .top-word, html[data-ts="xl"] .top .top-word { display: none !important; } } /* Text size Bigger/Biggest on a phone: the top bar keeps room for search, + and the call button */

/* Drafts + no reload while typing (Dov, Oct 26 5:46 PM): two small bars at the bottom */
.tbar { position: fixed; left: 50%; transform: translateX(-50%); width: max-content; bottom: calc(18px + env(safe-area-inset-bottom)); z-index: 5000; display: flex; align-items: center; gap: .6rem; max-width: min(94vw, 560px); box-sizing: border-box; padding: .6rem .7rem .6rem 1rem; border-radius: 10px; background: #0F2236; color: #fff; box-shadow: 0 8px 22px rgba(15,34,54,.25); font-size: .95rem; line-height: 1.3; }
.tbar[hidden] { display: none !important; }
.tbar .tb-btn { appearance: none; border: 0; border-radius: 8px; background: #14B1A0; color: #fff; font: inherit; font-weight: 700; padding: .45rem .9rem; min-height: 38px; cursor: pointer; white-space: nowrap; }
.tbar .tb-x { appearance: none; border: 0; background: transparent; color: rgba(255,255,255,.75); font-size: 1.3rem; line-height: 1; padding: .2rem .4rem; cursor: pointer; }
.tbar .tb-dot { opacity: .6; }
.draft-note .tb-btn { background: #fff; color: #0F2236; }
#draft-note { bottom: auto; top: calc(70px + env(safe-area-inset-top)); }
#update-bar { bottom: calc(112px + env(safe-area-inset-bottom)); border: 2px solid #14B1A0; }
.tbar > span:first-child { white-space: normal; }
@media (min-width: 560px) { .tbar > span:first-child { white-space: nowrap; } }
body.has-menu-bar #update-bar { bottom: calc(150px + env(safe-area-inset-bottom)); }
@media print { .tbar { display: none !important; } }

/* Plan ahead: From / Till on a calendar (Dov, Oct 26 5:50 PM) */
.modal.pl-modal { max-width: 940px; }
.pl-rp { margin: .25rem 0 .75rem; }
.pl-rp .rp-bar { display: flex; align-items: center; gap: .5rem; margin-bottom: .5rem; }
.pl-rp .rp-sum { flex: 1; text-align: center; color: #0F2236; font-size: .95rem; }
.pl-rp .rp-nav { min-width: 44px; min-height: 40px; font-size: 1.3rem; line-height: 1; padding: 0 .6rem; }
.pl-rp .rp-ms { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.pl-rp .rp-mt { margin: 0 0 .3rem; font-size: 1rem; color: #0F2236; text-align: center; }
.pl-rp .rp-g { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 2px; }
.pl-rp .rp-w { font-size: .72rem; color: #5b6b7b; text-align: center; padding: 2px 0; font-weight: 600; }
.pl-rp .rp-d { appearance: none; border: 1px solid #e3e8ee; background: #fff; border-radius: 6px; min-height: 58px; padding: 3px 2px; display: flex; flex-direction: column; align-items: center; gap: 1px; cursor: pointer; font: inherit; color: #0F2236; overflow: hidden; min-width: 0; }
.pl-rp .rp-blank { border: 0; background: transparent; min-height: 0; }
.pl-rp .rp-n { font-weight: 700; font-size: .98rem; line-height: 1.1; }
.pl-rp .rp-h { font-size: .72rem; color: #5b6b7b; line-height: 1.1; white-space: nowrap; }
.pl-rp .rp-h i { font-style: normal; }
.pl-rp .rp-t { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; max-width: 100%; font-size: .64rem; line-height: 1.15; white-space: normal; overflow: hidden; text-align: center; padding: 0 1px; }
.pl-rp .rp-t-yt { color: #0F2236; font-weight: 700; }
.pl-rp .rp-t-rc { color: #0d7f73; font-weight: 600; }
.pl-rp .rp-t-parsha, .pl-rp .rp-t-other { color: #5b6b7b; }
.pl-rp .rp-sh { background: #f6f8fa; }
.pl-rp .rp-today .rp-n { text-decoration: underline; text-decoration-color: #14B1A0; text-decoration-thickness: 2px; }
.pl-rp .rp-in { background: #e3f6f3; border-color: #9edcd4; }
.pl-rp .rp-a, .pl-rp .rp-b { background: #14B1A0; border-color: #14B1A0; color: #fff; }
.pl-rp .rp-a .rp-h, .pl-rp .rp-b .rp-h, .pl-rp .rp-a .rp-t, .pl-rp .rp-b .rp-t { color: #fff; }
.pl-rp .rp-hint { text-align: center; margin: .4rem 0 0; }
.pl-dates { opacity: .9; }
.pl-dates .lbl { font-size: .8rem; }
@media (max-width: 700px) {
  .pl-rp .rp-ms { grid-template-columns: 1fr; }
  .pl-rp .rp-d { min-height: 54px; }
  .pl-rp .rp-t { font-size: .58rem; }
}
.pl-rp .rp-mh { font-weight: 600; color: #0d7f73; font-size: .9rem; margin-left: .35rem; }


/* ===== Other… / Discuss later event types (Dov, Oct 26 7:41–7:43 PM) ===== */
.type-pick .opt-other, .type-pick .opt-tbd { border-style: dashed; }
.type-pick .opt-other.on, .type-pick .opt-tbd.on { border-style: solid; }
.call-other { margin: .5rem 0 .25rem; }
.call-other .to-field input { max-width: 22rem; }
.call-other .to-hint { margin: .25rem 0 0; }
.to-note { margin: .25rem 0; font-size: .92rem; color: #0F2236; display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; }
.to-chip { display: inline-flex; align-items: center; padding: .15rem .55rem; border-radius: 999px; border: 1.5px dashed #14B1A0; color: #0d7f73; background: #fff; font-size: .82rem; font-weight: 700; white-space: nowrap; }
.ch-title .to-chip { margin-left: .4rem; }
.to-other { color: #5b6b7b; font-size: .78rem; margin-left: .3rem; }
.btn.to-set { margin-left: .4rem; border-color: #14B1A0; color: #0d7f73; background: #fff; font-weight: 600; }
.btn.to-set:hover { background: #e9f8f6; }
.to-static { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; }
.to-static .btn.to-set { margin-left: 0; }

/* ===== Time: TBD on New Proposal (Dov, Oct 26 7:48 PM) ===== */
.time-tbdw { display: flex; align-items: center; gap: .6rem; flex-wrap: nowrap; }
.time-tbdw .tfield { flex: 1 1 auto; min-width: 0; }
.time-tbdw .nc-ttbd-l { margin: 0; }
.tfield.t-tbd .tf-text::placeholder { color: #0d7f73; font-weight: 700; opacity: 1; }

/* ===== Table's own calendar for every date box (Dov, Oct 26 7:44–7:47 PM) ===== */
.dp-wrap, .tp-wrap { position: fixed; inset: 0; z-index: 100600; background: rgba(15,34,54,.40); display: flex; align-items: center; justify-content: center; padding: 12px; }
.dp-box { background: #fff; border-radius: 12px; box-shadow: 0 12px 40px rgba(15,34,54,.28); width: 100%; max-width: 440px; max-height: calc(100vh - 24px); overflow-y: auto; padding: 12px 12px 10px; }
.dp-box.dp-two { max-width: 900px; }
.dp-hd { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin-bottom: .35rem; }
.dp-title { color: #0F2236; font-size: 1.02rem; }
.dp-x { appearance: none; border: 0; background: transparent; font-size: 1.25rem; line-height: 1; padding: .35rem .5rem; color: #5b6b7b; cursor: pointer; min-width: 40px; min-height: 40px; }
.dp-bar { display: flex; align-items: center; gap: .5rem; margin-bottom: .45rem; }
.dp-sum { flex: 1; text-align: center; color: #0F2236; font-size: .95rem; }
.dp-nav { min-width: 44px; min-height: 40px; font-size: 1.3rem; line-height: 1; padding: 0 .6rem; }
.dp-legend { margin: 0 0 .4rem; font-size: .78rem; color: #5b6b7b; text-align: center; }
.dp-ldot { display: inline-block; width: 9px; height: 9px; border-radius: 50%; background: #0F2236; vertical-align: middle; }
.dp-ldot.dp-ltaken { background: #C62828; } .dp-ldot.dp-lcons { background: #fff; border: 1.5px dashed #5b6b7b; }
.dp-ms { display: grid; grid-template-columns: 1fr; gap: 14px; }
.dp-two .dp-ms { grid-template-columns: 1fr 1fr; }
.dp-mt { margin: 0 0 .3rem; font-size: 1rem; color: #0F2236; text-align: center; }
.dp-mh { font-weight: 600; color: #0d7f73; font-size: .9rem; margin-left: .35rem; }
.dp-g { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 2px; }
.dp-w { font-size: .72rem; color: #5b6b7b; text-align: center; padding: 2px 0; font-weight: 600; }
.dp-d { appearance: none; border: 1px solid #e3e8ee; background: #fff; border-radius: 6px; min-height: 56px; padding: 3px 2px; display: flex; flex-direction: column; align-items: center; gap: 1px; cursor: pointer; font: inherit; color: #0F2236; overflow: hidden; min-width: 0; position: relative; -webkit-touch-callout: none; user-select: none; -webkit-user-select: none; }
.dp-blank { border: 0; background: transparent; min-height: 0; cursor: default; }
.dp-n { font-weight: 700; font-size: .98rem; line-height: 1.1; }
.dp-h { font-size: .72rem; color: #5b6b7b; line-height: 1.1; white-space: nowrap; }
.dp-h i { font-style: normal; }
.dp-t { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; max-width: 100%; font-size: .64rem; line-height: 1.15; white-space: normal; overflow: hidden; text-align: center; padding: 0 1px; }
.dp-t-yt { color: #0F2236; font-weight: 700; } .dp-t-rc { color: #0d7f73; font-weight: 600; } .dp-t-parsha, .dp-t-other { color: #5b6b7b; }
.dp-sh { background: #f6f8fa; }
.dp-today .dp-n { text-decoration: underline; text-decoration-color: #14B1A0; text-decoration-thickness: 2px; }
.dp-in { background: #e3f6f3; border-color: #9edcd4; }
.dp-end { border-color: #14B1A0; box-shadow: inset 0 0 0 1px #14B1A0; }
.dp-sel { background: #14B1A0; border-color: #14B1A0; color: #fff; }
.dp-sel .dp-h, .dp-sel .dp-t, .dp-sel .dp-b, .dp-sel .dp-c { color: #fff !important; }
.dp-off { opacity: .35; cursor: not-allowed; }
.dp-d:focus-visible { outline: 2px solid #14B1A0; outline-offset: 1px; }
.dp-booked .dp-d { min-height: 66px; }
.dp-busy::after { content: ''; position: absolute; top: 4px; right: 4px; width: 7px; height: 7px; border-radius: 50%; background: #0F2236; }
.dp-taken { border-color: #C62828; } .dp-taken::after { background: #C62828; }
.dp-b { display: block; max-width: 100%; font-size: .6rem; line-height: 1.15; color: #0F2236; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; padding: 0 2px; }
.dp-b.dp-bm { color: #C62828; font-weight: 700; } .dp-b.dp-more { color: #5b6b7b; }
.dp-c { display: block; max-width: 100%; font-size: .58rem; color: #5b6b7b; border: 1px dashed #9aa6b2; border-radius: 4px; padding: 0 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dp-ft { display: flex; align-items: center; gap: .5rem; justify-content: center; margin-top: .55rem; flex-wrap: wrap; }
.dp-type { margin-left: .4rem; }
/* day preview card (hold ~1 s / hover ~1 s) */
.dp-pv { position: fixed; z-index: 100700; background: #fff; border: 1px solid #c4ccd6; border-radius: 10px; box-shadow: 0 8px 26px rgba(15,34,54,.25); padding: .5rem .6rem; font-size: .86rem; color: #0F2236; pointer-events: none; }
.dp-pv-h { font-size: .8rem; color: #5b6b7b; margin-bottom: .3rem; }
.dp-pv-r { padding: .3rem 0; border-top: 1px solid #eef1f4; } .dp-pv-r:first-of-type { border-top: 0; }
.dp-pv-n { color: #5b6b7b; font-weight: 600; font-size: .78rem; }
.dp-pv-2 { color: #33475b; font-size: .8rem; }
@media (max-width: 699px) { .dp-wrap { align-items: flex-end; padding: 0; } .dp-box { border-radius: 14px 14px 0 0; max-height: 92vh; padding-bottom: calc(10px + env(safe-area-inset-bottom)); } .dp-d { min-height: 52px; } .dp-booked .dp-d { min-height: 62px; } .dp-t { font-size: .58rem; } }

/* ===== Clock dial for every time box (Dov, Oct 26 7:49 PM) ===== */
.tp-box { background: #fff; border-radius: 14px; box-shadow: 0 12px 40px rgba(15,34,54,.28); width: 100%; max-width: 340px; overflow: hidden; }
.tp-top { background: #0F2236; color: #fff; padding: .7rem 1rem .8rem; }
.tp-what { display: block; color: #b9c6d3; font-size: .8rem; margin-bottom: .1rem; }
.tp-big { display: flex; align-items: center; gap: .1rem; }
.tp-seg { appearance: none; border: 0; background: transparent; color: #8fa3b6; font: inherit; font-size: 3rem; font-weight: 600; line-height: 1; padding: .1rem .2rem; border-radius: 8px; cursor: pointer; font-variant-numeric: tabular-nums; }
.tp-seg.on { color: #fff; background: rgba(20,177,160,.22); }
.tp-colon { font-size: 3rem; font-weight: 600; line-height: 1; color: #fff; }
.tp-ap { display: flex; flex-direction: column; gap: 4px; margin-left: auto; }
.tp-ap button { appearance: none; border: 1.5px solid #3a5068; background: transparent; color: #8fa3b6; font: inherit; font-weight: 700; font-size: .95rem; padding: .3rem .7rem; border-radius: 8px; cursor: pointer; min-width: 56px; }
.tp-ap button.on { background: #14B1A0; border-color: #14B1A0; color: #fff; }
.tp-dialw { padding: 16px; display: flex; justify-content: center; }
.tp-dial { position: relative; width: min(260px, 72vw); aspect-ratio: 1 / 1; border-radius: 50%; background: #eef2f6; touch-action: none; cursor: pointer; user-select: none; -webkit-user-select: none; }
.tp-hub { position: absolute; left: 50%; top: 50%; width: 8px; height: 8px; margin: -4px 0 0 -4px; border-radius: 50%; background: #14B1A0; z-index: 2; }
.tp-hand { position: absolute; left: 50%; bottom: 50%; width: 2px; height: 40%; margin-left: -1px; background: #14B1A0; transform-origin: 50% 100%; z-index: 1; pointer-events: none; }
.tp-knob { position: absolute; left: 50%; top: 0; width: 40px; height: 40px; margin: -20px 0 0 -20px; border-radius: 50%; background: #14B1A0; }
.tp-knob.tp-knob-dot::after { content: ''; position: absolute; left: 50%; top: 50%; width: 6px; height: 6px; margin: -3px 0 0 -3px; border-radius: 50%; background: #fff; }
.tp-num { position: absolute; width: 40px; height: 40px; margin: -20px 0 0 -20px; display: flex; align-items: center; justify-content: center; font-size: 1.05rem; font-weight: 600; color: #0F2236; z-index: 3; pointer-events: none; border-radius: 50%; font-variant-numeric: tabular-nums; }
.tp-num.on { color: #fff; }
.tp-ft { display: flex; align-items: center; gap: .25rem; padding: 0 .6rem .7rem; }
.tp-sp { flex: 1; }
.tp-kbd { appearance: none; border: 0; background: transparent; color: #5b6b7b; padding: .4rem; border-radius: 8px; cursor: pointer; min-width: 44px; min-height: 40px; }
.tp-txt { appearance: none; border: 0; background: transparent; color: #0d7f73; font: inherit; font-weight: 700; padding: .55rem .7rem; border-radius: 8px; cursor: pointer; min-height: 40px; }
.tp-txt:hover, .tp-kbd:hover { background: #eef7f6; }
.tp-set { color: #fff; background: #14B1A0; } .tp-set:hover { background: #109888; }

/* ===== New task: Due + Time + Remind me (Dov, Oct 26 7:51 PM) ===== */
.tk-due2 { display: grid; grid-template-columns: minmax(12.5rem, 1fr) minmax(9rem, 1fr); gap: .5rem .75rem; }
.tk-due2 .tfield .tf-text { min-width: 0; }
@media (max-width: 480px) { .tk-due2 { grid-template-columns: 1fr; } }
.tk-rem { margin: .35rem 0 .2rem; }
.tk-remw { margin: 0 0 .5rem; color: #0d7f73; }
.tkr-stack { position: fixed; right: 12px; bottom: calc(84px + env(safe-area-inset-bottom)); z-index: 100550; display: flex; flex-direction: column; gap: 8px; width: min(340px, calc(100vw - 24px)); }
.tkr-card { background: #fff; border: 1px solid #c4ccd6; border-left: 4px solid #14B1A0; border-radius: 10px; box-shadow: 0 10px 30px rgba(15,34,54,.25); padding: .6rem .7rem .7rem; }
.tkr-h { display: flex; align-items: center; gap: .4rem; color: #0F2236; }
.tkr-ic { color: #14B1A0; display: inline-flex; }
.tkr-x { margin-left: auto; appearance: none; border: 0; background: transparent; font-size: 1.3rem; line-height: 1; color: #5b6b7b; cursor: pointer; min-width: 36px; min-height: 36px; }
.tkr-t { margin: .2rem 0 .1rem; font-weight: 700; color: #0F2236; font-size: 1rem; }
.tkr-w { margin: 0 0 .5rem; color: #5b6b7b; font-size: .85rem; }
.tkr-b { display: flex; gap: .4rem; flex-wrap: wrap; }

/* ===== Event header: rename + change type; the back pill never sits on the title (Dov, Oct 26 8:04 PM) ===== */
.ch-title h1 { display: flex; flex-wrap: wrap; align-items: center; column-gap: .5rem; row-gap: .3rem; min-width: 0; }
.ch-title h1 .pg-back { margin: 0; flex: none; }
.ev-ren { appearance: none; border: 1px solid #c9d3de; background: #fff; color: #0F2236; border-radius: 8px; min-width: 36px; min-height: 34px; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; padding: 0 .4rem; }
.ev-ren:hover { background: #eaf0f5; } .ev-ren:focus-visible { outline: 2px solid #14B1A0; outline-offset: 2px; }
.small-link.to-change { margin-left: .35rem; font-size: .85rem; }

/* calendar header (Dov, Oct 26 8:09 PM: the ✕ sat on the › arrow): title + ✕ on one row, ‹ Tap a day › on its own row, 44px targets */
.dp-box { box-sizing: border-box; overflow-x: hidden; }
.dp-hd { display: grid; grid-template-columns: minmax(0, 1fr) 44px; align-items: center; gap: .5rem; }
.dp-hd .dp-title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dp-hd .dp-x { width: 44px; height: 44px; min-width: 44px; min-height: 44px; padding: 0; margin: 0; justify-self: end; }
.dp-bar { display: grid; grid-template-columns: 48px minmax(0, 1fr) 48px; align-items: center; gap: .5rem; }
.dp-bar .dp-nav { width: 48px; min-width: 48px; height: 44px; min-height: 44px; margin: 0; padding: 0; justify-self: stretch; }
.dp-bar .dp-sum { min-width: 0; }

.mz-ready { color: #0F2236; }
.mz-ev { margin-left: .5rem; }

/* calendar: one month on phone / tablet; two with a divider on a computer; multi-date badges (Dov, Oct 26 8:09 PM) */
.dp-box { max-width: 520px; }
.dp-box.dp-two { max-width: 980px; }
.dp-two .dp-ms { grid-template-columns: 1fr 1px 1fr; gap: 0 16px; }
.dp-two .dp-ms::before { content: ''; grid-column: 2; grid-row: 1; background: #c4ccd6; width: 1px; }
.dp-two .dp-ms > .dp-m:first-child { grid-column: 1; grid-row: 1; } .dp-two .dp-ms > .dp-m + .dp-m { grid-column: 3; grid-row: 1; }
.dp-badge { position: absolute; top: 2px; left: 2px; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 9px; background: #0F2236; color: #fff; font-size: .7rem; font-weight: 700; line-height: 18px; text-align: center; }
.dp-sel .dp-badge { background: #fff; color: #0F2236; }
.dp-mhint { margin: .5rem 0 0; text-align: center; font-size: .8rem; color: #5b6b7b; }

/* New Proposal Time: compact box beside TBD; greyed with a hint while TBD; tapping it sets a time (Dov, Oct 26 8:13 PM) */
.time-tbdw { flex-wrap: wrap; }
.time-tbdw .tfield { position: relative; flex: 0 0 auto; width: 10rem; max-width: 100%; }
.time-tbdw .tfield.t-tbd { width: min(21rem, 100%); }
.time-tbdw .tfield.t-tbd .tf-text { font-size: .85rem; }
.time-tbdw .tfield.t-tbd .tf-text::placeholder { color: #5b6b7b; font-weight: 500; }
.ttbd-ov { position: absolute; inset: 0; z-index: 2; appearance: none; border: 0; background: transparent; cursor: pointer; padding: 0; margin: 0; }
.ttbd-ov[hidden] { display: none; }
.time-tbdw .tfield.off .tf-pick { pointer-events: none; }

.to-banner { border-left: 4px solid #C62828; background: #fff; display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; padding: .6rem .8rem; }
.to-banner b { color: #C62828; }


/* ---------- Sort button on every list (Dov, Oct 26 8:08 PM) — site/js/sort.js ---------- */
.srt { position: relative; display: inline-flex; flex: 0 0 auto; }
.srt-btn { display: inline-flex; align-items: center; gap: .4rem; min-height: 40px; padding: 0 .75rem; border: 1px solid #cfd8e1; border-radius: 8px; background: #fff; color: #0F2236; font: inherit; font-size: .9rem; cursor: pointer; white-space: nowrap; }
.srt-btn:hover { border-color: #14B1A0; }
.srt-btn[aria-expanded="true"] { border-color: #14B1A0; box-shadow: 0 0 0 2px #d4efeb; }
.srt-btn .srt-ic { width: 18px; height: 18px; color: #14B1A0; flex: 0 0 auto; }
.srt-btn .srt-l { color: #5b6b7b; }
.srt-btn .srt-l b { color: #0F2236; font-weight: 600; }
.srt-menu { position: fixed; z-index: 2000; max-height: calc(100vh - 16px); overflow-y: auto; min-width: 15rem; max-width: min(20rem, calc(100vw - 16px)); background: #fff; border: 1px solid #d5dde5; border-radius: 10px; box-shadow: 0 8px 24px rgba(15, 34, 54, .16); padding: .3rem 0; }
.srt-h { font-size: .75rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: #5b6b7b; padding: .35rem .9rem .25rem; }
.srt-o { display: flex; align-items: center; gap: .5rem; width: 100%; min-height: 44px; padding: .45rem .9rem; border: 0; background: #fff; color: #0F2236; font: inherit; font-size: .95rem; text-align: left; cursor: pointer; }
.srt-o:hover, .srt-o:focus-visible { background: #f1f5f8; outline: none; }
.srt-o.on { font-weight: 600; }
.srt-ck { width: 1.1rem; flex: 0 0 1.1rem; color: #14B1A0; font-weight: 700; }
.srt-row { display: flex; gap: .6rem; align-items: center; flex-wrap: wrap; }
.srt-row > input[type=search] { flex: 1 1 12rem; min-width: 0; }
.srt-line { display: flex; gap: .6rem; align-items: center; justify-content: space-between; flex-wrap: wrap; margin-bottom: .6rem; }
.srt-line > p { margin: 0; }
.msg-list-hd { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.srt-sm .srt-btn { min-height: 34px; padding: 0 .55rem; font-size: .82rem; }
.cf-top .srt, .sup-filters .srt, .hl-bar .srt, .tf-head .srt { align-self: center; }
@media print { .srt { display: none !important; } }

/* Time + TBD on one line (Dov, Oct 26 8:30 PM): TBD ticked hides the time box */
.time-tbdw { display: inline-flex; align-items: center; flex-wrap: nowrap; gap: .5rem; white-space: nowrap; }
.time-tbdw .ttbd-hide { display: none !important; }
.time-tbdw .nc-ttbd-l { white-space: nowrap; }
.nc-ttbd-h { color: #6b7a89; font-size: .82rem; font-weight: 400; }

/* New Proposal buttons: title + a small grey line of what it does (Dov, Oct 26 8:38 PM) */
.prop-bar .btn2 { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: .1rem; line-height: 1.2; padding-top: .45rem; padding-bottom: .45rem; white-space: normal; text-align: center; }
.prop-bar .btn2 .b2-t { font-weight: 600; }
.prop-bar .btn2 .b2-s { font-size: .74rem; font-weight: 400; opacity: .8; }
.prop-bar .btn2:not(.primary):not(.green) .b2-s { color: #5b6b7b; opacity: 1; }

/* How did they hear about us: tiles with icons (Dov, Oct 26 8:32 PM) — site/js/heard.js */
.hs-field { max-width: 40rem; }
.hs-tiles { display: flex; flex-wrap: wrap; gap: .4rem; }
.hs-tile { display: inline-flex; align-items: center; gap: .35rem; min-height: 40px; padding: .3rem .7rem; border: 1px solid #cfd8e1; border-radius: 999px; background: #fff; color: #0F2236; font: inherit; font-size: .9rem; cursor: pointer; }
.hs-tile .hs-ic { width: 18px; height: 18px; color: #14B1A0; flex: 0 0 auto; }
.hs-tile:hover { border-color: #14B1A0; }
.hs-tile.on { background: #0F2236; border-color: #0F2236; color: #fff; }
.hs-tile.on .hs-ic { color: #fff; }
.le-ic { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; flex: 0 0 40px; border: 1px solid #cfd8e1; border-radius: 8px; background: #fff; color: #14B1A0; cursor: pointer; }
.le-ic .hs-ic { width: 20px; height: 20px; }
.hs-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(76px, 1fr)); gap: .4rem; }
.hs-gi { display: flex; flex-direction: column; align-items: center; gap: .2rem; padding: .55rem .2rem; border: 1px solid #dbe2e8; border-radius: 10px; background: #fff; color: #0F2236; cursor: pointer; font: inherit; }
.hs-gi .hs-ic { width: 26px; height: 26px; color: #14B1A0; }
.hs-gi small { font-size: .72rem; color: #5b6b7b; }
.hs-gi.on { border-color: #14B1A0; box-shadow: 0 0 0 2px #d4efeb; }

/* Supplier orders: a sheet off for this week (Dov, Oct 26 8:40 PM) */
.chip.ko-skip { background: #f1f3f5; color: #6b7a89; border-color: #e1e5ea; font-weight: 500; }
.filters:has(.srt) input[type=search] { flex: 1 1 9rem; min-width: 0; }

/* tablecloths typed by hand (Dov, Oct 26 11:52 PM) */
.cl-h { font-size: 15px; margin: 14px 0 6px; }
.cl-rows { display: flex; flex-direction: column; gap: 6px; }
.cl-row { display: grid; grid-template-columns: 56px minmax(90px, 1.3fr) minmax(110px, 1.2fr) 80px minmax(80px, 1fr); gap: 6px; align-items: center; }
.cl-row input, .cl-row select { min-width: 0; width: 100%; min-height: 40px; font-size: 15px; }
.cl-hd span { font-size: 12px; color: var(--muted, #6b6b6b); }
@media (max-width: 560px) { .cl-row { grid-template-columns: 50px 1fr 1fr; } .cl-row .cl-x, .cl-row .cl-t { grid-column: span 1; } .cl-hd span:nth-child(n+4) { display: none; } }
.cloth-type { font-weight: 600; }
.k-prop { display: inline-block; margin-right: 8px; }

/* task priority (Dov, Oct 27 12:01 AM) */
.prio-tag { display: inline-block; margin-left: 6px; padding: 1px 7px; border-radius: 999px; font-size: 11px; font-weight: 700; vertical-align: middle; line-height: 16px; }
.prio-tag.pr-low { background: #eef0f2; color: #6b7280; }
.prio-tag.pr-high { background: #fff1db; color: #b45309; }
.prio-tag.pr-urgent { background: #fde2e2; color: #b91c1c; }
.tk-prio .seg button.on.pr-low { background: #6b7280; border-color: #6b7280; color: #fff; }
.tk-prio .seg button.on.pr-high { background: #d97706; border-color: #d97706; color: #fff; }
.tk-prio .seg button.on.pr-urgent { background: #dc2626; border-color: #dc2626; color: #fff; }
.ren-auto { display: flex; align-items: center; gap: 8px; margin: 4px 0 6px; flex-wrap: wrap; }
.is-saving { opacity: .75; }

/* photos per document + placement (Dov, Oct 27 12:07–12:08 AM) */
.gal-att-i { width: 190px; }
.gal-att-i a { width: 190px; height: 150px; }
.gal-opts { display: flex; flex-wrap: wrap; gap: 4px; align-items: center; margin-top: 2px; }
.gal-ol { font-size: 11px; color: var(--muted, #6b6b6b); width: 100%; margin-top: 2px; }
.gal-chip { min-height: 32px; padding: 0 9px; border-radius: 999px; border: 1px solid var(--line, #ddd); background: #fff; font-size: 12.5px; color: #374151; }
.gal-chip.on { background: #14B1A0; border-color: #14B1A0; color: #fff; font-weight: 600; }
.gal-seg button { min-height: 32px; font-size: 12.5px; padding: 0 8px; }
.p-gal { align-items: start; }
.p-photo-page { break-before: page; page-break-before: always; display: flex; align-items: center; justify-content: center; min-height: 85vh; padding: 10px 0; }
.p-photo-page img { max-width: 100%; max-height: 92vh; width: auto; height: auto; object-fit: contain; display: block; }
@media screen { .p-photo-page { min-height: 0; margin: 18px 0; border-top: 1px dashed #ddd; padding-top: 18px; } .p-photo-page img { max-height: 80vh; } }


/* ---------- v6533 (Dov, Oct 27 12:09–12:15 AM) ---------- */
/* one toolbar on every printable document: ← Back alone on the left; Print · Save PDF · Copy link on the right, same order everywhere */
.doc-bar { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; flex-wrap: wrap; }
.print-bar:has(.doc-bar), .print-bar.doc-bar { justify-content: space-between; max-width: 8.5in; margin-left: auto; margin-right: auto; }
.print-bar .doc-bar { max-width: none; }
.doc-bar .doc-acts { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; justify-content: flex-end; margin-left: auto; }
.doc-bar .doc-back { background: #fff; color: #0F2236; border-color: #c4ccd6; }
.doc-bar .doc-back .ic, .doc-bar .pp-btn .ic { width: 18px; height: 18px; }
.pv-bar .doc-bar { flex: 1; }
.pv-bar .doc-bar .doc-back { background: transparent; color: #fff; border-color: rgba(255,255,255,.55); }
.lb-print-page .print-bar .doc-back { margin-right: auto; }
@media print { .doc-bar { display: none !important; } }
/* printed menu: neat boxes on top (For / Event / Date / Venue / Guests); qty first, size after the name */
.q2-sum.q2-sum-menu { margin-bottom: 14px; }
.doc .p-items .p-q { display: inline-block; min-width: 5.5em; font-weight: 700; color: #0F2236; }
.doc .p-items .p-sz { color: #4a5868; }
/* wedding-related events: when is the wedding, and the no-call days */
.wed-box { border: 1px solid #c4ccd6; border-left: 4px solid #C62828; border-radius: 8px; padding: 10px 12px; margin: 6px 0 10px; background: #fff; }
.wed-ask { margin: 0 0 6px; color: #C62828; font-weight: 700; }
.wed-nocall { align-self: end; margin: 0 0 10px; color: #C62828; font-weight: 600; }
.wed-mark { margin: 4px 0 8px; }
.no-call-line { margin: 4px 0 0; color: #C62828; font-weight: 600; font-size: .95em; }
.no-call-line.ask { color: #C62828; font-weight: 700; }
small.no-call { display: block; color: #C62828; font-weight: 600; }
.et-rem { border: 1px solid #dfe4ea; border-radius: 8px; padding: 8px 12px; margin: 10px 0 0; }
.et-rem legend { font-weight: 700; color: #0F2236; padding: 0 4px; }
/* BETA copy bar */
.beta-bar { position: sticky; top: 0; z-index: 9999; background: #C62828; color: #fff; text-align: center; font-weight: 700; letter-spacing: .02em; padding: 6px 10px; font-size: 14px; }

/* ---------- v6534 (Dov, Oct 27 12:47 AM): on the beta address the wordmark reads TableBeta ---------- */
.beta-word { display: inline-block; margin-left: .18em; font-family: inherit; font-weight: 800; font-size: 15px; line-height: 1; letter-spacing: .01em; color: #C62828; white-space: nowrap; align-self: center; }
.brand-word a, .top-word { white-space: nowrap; }
.top-word .beta-word { font-size: 14px; }
.login-box .beta-word { font-size: 30px; vertical-align: middle; margin-left: .2em; }
.login-box .login-word + .beta-word { display: inline-block; }
html.is-beta .beta-word { margin-left: .35em; }
html.is-beta .login-box .login-word { vertical-align: middle; margin-bottom: 0; }
html.is-beta .login-box .login-word + .beta-word { vertical-align: middle; margin-bottom: 1.2rem; margin-top: 0; font-size: 34px; line-height: 44px; }
html.is-beta .login-box .login-word + .beta-word { margin-bottom: 0; }
html.is-beta .login-box .login-word + .beta-word + * { margin-top: 1.4rem; }


/* ---------- v6535 (Dov, Oct 27 12:51–12:55 AM) ---------- */
/* 1. Lost / Cancelled event or proposal: read-only, no red "missing info" nags (only Reopen stays active) */
.page-event.ev-off .undec, .page-event.ev-off .ch-v .undec { color: var(--muted, #667085) !important; font-weight: 600; }
.page-event.ev-off .undec-hint, .page-event.ev-off .tm-ask, .page-event.ev-off .to-banner { display: none !important; }
.page-event.ev-off .tm-row .tm-in[value=""], .page-event.ev-off input.tm-ord[value=""] { outline: none !important; box-shadow: none !important; border-color: var(--line) !important; color: inherit !important; }
.page-event.ev-off .tm-row .tm-cell > span, .page-event.ev-off .tm-row .tm-main > span { color: inherit !important; font-weight: inherit !important; }
.page-event.ev-off .tm-row .tfield, .page-event.ev-off .field .tfield { border-color: var(--line) !important; box-shadow: none !important; }
.page-event.ev-off .tm-row .tf-text::placeholder { color: #98a2b3 !important; }
.page-event.ev-off .vs-btn.vs-open, .page-event.ev-off .vs-btn.vs-upd { display: none !important; }
.page-event.ev-off .ch-f.owe .ch-v { color: inherit; }
.ms-pill.ms-off { cursor: default; background: #eef1f4; color: #5b6675; border-color: #d5dbe2; }
.vs-plan-tag.vs-offtag { color: #5b6675; background: #eef1f4; }

/* 2. BETA only: the red bar is fixed on top; the side menu, top bar and toasts start under it */
html.is-beta { --beta-h: 30px; }
html.is-beta .beta-bar { position: fixed; top: 0; left: 0; right: 0; z-index: 9999; box-sizing: border-box; }
html.is-beta .modal-wrap, html.is-beta .pv-ov, html.is-beta .hc-prev, html.is-beta .sup-viewer, html.is-beta .cal-pop { top: var(--beta-h); }
html.is-beta body { padding-top: var(--beta-h); }
html.is-beta .side { top: var(--beta-h); height: calc(100vh - var(--beta-h)); height: calc(100dvh - var(--beta-h)); }
html.is-beta header.top, html.is-beta .top { top: var(--beta-h); }
html.is-beta #toasts { top: calc(74px + var(--beta-h)); }
html.is-beta #press-st { top: calc(10px + env(safe-area-inset-top) + var(--beta-h)); }
@media print { html.is-beta body { padding-top: 0; } html.is-beta .beta-bar { display: none !important; } }

/* 3. BETA only: "Beta" as a small red subtitle under the TABLE logo, right-aligned under the LE; header height unchanged */
html.is-beta .beta-mark { position: relative; display: inline-flex; flex-direction: column; align-items: flex-end; line-height: 1; vertical-align: middle; }
html.is-beta .beta-mark > img { display: block; }
html.is-beta .beta-mark > .beta-word, html.is-beta .top-word .beta-mark > .beta-word { position: absolute; right: 0; top: 100%; margin: 2px 0 0 0 !important; font-size: 10.5px !important; line-height: 1 !important; font-weight: 800; letter-spacing: .02em; color: #C62828; white-space: nowrap; pointer-events: none; }
html.is-beta .login-box .beta-mark { margin-bottom: 1.1rem; }
html.is-beta .login-box .beta-mark > .beta-word { font-size: 15px !important; margin-top: 4px !important; }


/* ---------- v6536 (Oct 27, 1:07 AM) ---------- */
/* BETA: the "Beta" under the logo is the same plain font everywhere (the side-menu brand is Georgia, which made it serif) */
html.is-beta .beta-word, html.is-beta .beta-mark > .beta-word { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important; font-style: normal !important; }
/* BETA: WhatsApp / email / text links open nothing; a tap shows this small note */
html.is-beta a.beta-off { cursor: not-allowed; }
.beta-ns { display: inline-block; margin-left: 6px; padding: 1px 6px; border-radius: 4px; background: #FDECEA; color: #C62828; font-size: 12px; font-weight: 700; line-height: 1.5; white-space: nowrap; vertical-align: middle; }
.beta-not-sent { color: #C62828; font-weight: 700; }
/* Production login's own screen (Dov, Oct 27 1:11 AM): ☰ opens the side menu there too (the screen hides the menu to fill the page) */
.prod-full .top-mark-btn { display: inline-flex; }
.prod-full .layout.mnav .side { display: flex; transform: none; width: 250px; z-index: 60; box-shadow: 4px 0 24px rgba(0,0,0,.2); }
.prod-full .layout.mnav .side span { opacity: 1; }

/* ===== v6537 (Oct 27, ~1:30 AM) ===== */
/* Motzei Shabbos tick on its own full-width line right under the date (Dov, 1:20 AM) — never cut off */
.nc-mz-row { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: .25rem .75rem; margin: .4rem 0 .2rem; padding: .45rem .7rem; border: 1px solid #CDEBE7; background: #F2FBFA; border-radius: 10px; width: 100%; box-sizing: border-box; }
.nc-mz-row[hidden] { display: none; }
.nc-mz-row .nc-mz-l { margin: 0; white-space: normal; font-weight: 600; color: #0F2236; min-height: 40px; display: inline-flex; align-items: center; gap: .45rem; }
.nc-mz-row .nc-mz-l input { width: 22px; height: 22px; accent-color: #14B1A0; flex: none; }
.nc-mz-row .nc-mz-auto { color: #0B7C70; font-size: .85rem; font-weight: 600; }
/* Done confetti (Dov, 1:24 AM): small flat pieces, teal / navy / white, ~1 s */
.cf-burst { position: fixed; width: 0; height: 0; z-index: 10000; pointer-events: none; }
.cf-burst .cf-p { position: absolute; left: 0; top: 0; width: 7px; height: 10px; border-radius: 1.5px; box-shadow: 0 0 0 1px rgba(15,34,54,.18); will-change: transform, opacity; transform: translate(-50%,-50%); }
.cf-burst .cf-p.cf-dot { width: 7px; height: 7px; border-radius: 50%; }
.cf-burst .cf-p.cf-long { width: 4px; height: 13px; }
@media (prefers-reduced-motion: reduce) { .cf-burst { display: none; } }
.pref-done { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.pref-done input { width: 22px; height: 22px; accent-color: #14B1A0; }
.pref-done .pref-play { margin-left: auto; }
/* Task window: the page behind stays still (Dov, 1:22 AM "office to kitchen… jumping around") */
.modal-wrap { overscroll-behavior: contain; }
html:has(.modal-wrap), body:has(.modal-wrap) { overflow: hidden; }
/* Price & Services as a real table on every doc (Dov, 1:29 AM): QTY | PRICE | ITEM | TOTAL — navy bold header, light row lines,
   numbers in tabular figures, totals box right-aligned under the TOTAL column (Proposal, Estimate, Invoice, share link, PDF) */
.doc .q2-lines.q2-grid { width: 100%; border-collapse: collapse; table-layout: auto; margin-top: 4px; }
.doc .q2-lines.q2-grid thead th { color: #0F2236; font-weight: 800; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; border-bottom: 2px solid #0F2236; padding: 6px 10px 6px 0; text-align: left; }
.doc .q2-lines.q2-grid thead th.num { text-align: right; }
.doc .q2-lines.q2-grid td { padding: 7px 10px 7px 0; border-bottom: 1px solid #e6ebf0; vertical-align: top; font-variant-numeric: tabular-nums; }
.doc .q2-lines.q2-grid td.q2-qty, .doc .q2-lines.q2-grid th.q2-qty { width: 1%; white-space: nowrap; text-align: right; padding-right: 16px; font-weight: 600; }
.doc .q2-lines.q2-grid td.q2-pr, .doc .q2-lines.q2-grid th.q2-pr { width: 1%; white-space: nowrap; text-align: right; padding-right: 18px; color: #33465c; }
.doc .q2-lines.q2-grid td.q2-item { width: auto; }
.doc .q2-lines.q2-grid td.q2-tot, .doc .q2-lines.q2-grid th.q2-tot { width: 1%; white-space: nowrap; text-align: right; padding-right: 0; font-weight: 600; color: #0F2236; }
.doc .q2-lines.q2-grid td small.q2-x { display: block; font-weight: 400; color: #6b7a8c; font-size: 10.5px; }
.doc .q2-lines.q2-grid tr.sec td { padding: 12px 0 5px; border-bottom: 1px solid #c9d3dd; font-weight: 700; color: #0F2236; font-size: 12px; letter-spacing: .03em; text-transform: uppercase; }
.doc .q2-lines.q2-grid tbody tr:last-child td { border-bottom: 1px solid #c9d3dd; }
.doc .q2-totals.q2-totals-grid { justify-content: flex-end; margin-right: 0; }
.doc .q2-totals.q2-totals-grid td.num { font-variant-numeric: tabular-nums; padding-right: 0; padding-left: 24px; }
.doc .q2-totals.q2-totals-grid td:last-child { padding-right: 0; }
.doc .q2-totals.q2-totals-grid table { border: 0; border-radius: 0; border-top: 2px solid #0F2236; }
.doc .q2-totals.q2-totals-grid tr.tot td { background: #f0faf8; border-top: 1px solid #c9d3dd; }
.doc .q2-totals.q2-totals-grid tr.tot td:first-child { padding-left: 14px; }
@media print { .doc .q2-lines.q2-grid td { font-size: 10pt; padding-top: 4px; padding-bottom: 4px; } .doc .q2-lines.q2-grid thead th { font-size: 8pt; -webkit-print-color-adjust: exact; print-color-adjust: exact; } .doc .q2-lines.q2-grid tr { break-inside: avoid; } }
@media (max-width: 640px) { .doc .q2-lines.q2-grid td.q2-pr, .doc .q2-lines.q2-grid th.q2-pr { padding-right: 10px; } .doc .q2-lines.q2-grid td.q2-qty { padding-right: 10px; } }
/* Today: "All tasks →" is a real button (Dov, 1:36 AM) and the Support button no longer covers Won / Lost on the last rows */
.td2 .td2-foot a.td2-all { margin-left: auto; min-height: 44px; display: inline-flex; align-items: center; padding: 0 1.1rem; border: 1.5px solid #14B1A0; color: #0B7C70; background: #fff; border-radius: 10px; font-weight: 700; font-size: .95rem; text-decoration: none; }
.td2 .td2-foot a.td2-all:active { background: #E8F7F5; }
body:has(.td2) main { padding-bottom: calc(96px + env(safe-area-inset-bottom)); }
body:has(.td2):not(:has(.modal-wrap)) .support-btn-container .support-btn { width: 48px; height: 48px; padding: 0; border-radius: 50%; font-size: 0; display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 3px 10px rgba(15,34,54,.25); }
body:has(.td2):not(:has(.modal-wrap)) .support-btn-container .support-btn svg { margin: 0 !important; width: 22px; height: 22px; }
body:has(.td2):not(:has(.modal-wrap)) .support-btn-container { right: 12px !important; bottom: calc(14px + env(safe-area-inset-bottom)) !important; }

/* ===== v6538 (Oct 27, ~2:15 AM) ===== */
/* 6. packing slip: ONE barcode (PO), never over "Packing Slip" / "Order #" — the title keeps its width, the barcode wraps under it on a narrow page */
.slip-top { flex-wrap: wrap; row-gap: 4px; }
.slip-top .slip-titles { flex: 0 0 auto; min-width: 0; }
.slip-top > .slip-po { flex: 0 0 auto; margin-left: auto; padding-left: 12px; }
/* 7. New event: "Pricing: <Package> package · set automatically · Change" instead of a dropdown that looks required */
.pkg-auto { margin: 6px 0 2px; font-size: 13px; color: #6b7280; line-height: 1.4; }
.pkg-auto b { color: #0F2236; font-weight: 600; }
.pkg-auto .pkg-chg { background: none; border: 0; padding: 4px 2px; min-height: 32px; color: #14B1A0; font: inherit; font-weight: 600; text-decoration: underline; cursor: pointer; }
/* 8. New event Time box: always shown, same size as Date; TBD = grey "TBD" inside, tap = time picker; the TBD tick at the right end inside the box */
.page-call #nc-when .when-row .tfield.tf-date, .page-call #nc-when .when-row .time-tbdw .tfield, .page-call #nc-when .when-row .time-tbdw .tfield.t-tbd { width: 12.5rem; max-width: 100%; flex: 0 0 auto; }
.time-tbdw .tfield.ttbd-hide { display: flex !important; }
.time-tbdw .tfield.has-ttbd .tf-text { border-right: 0; }
.time-tbdw .tfield.t-tbd .tf-text, .time-tbdw .tfield.t-tbd .tf-text:disabled { background: #fff; font-size: 1.08rem; color: #9aa3ad; -webkit-text-fill-color: #9aa3ad; opacity: 1; }
.time-tbdw .tfield.t-tbd .tf-text::placeholder { color: #9aa3ad; font-weight: 500; opacity: 1; }
.time-tbdw .tfield .nc-ttbd-l { flex: none; position: relative; z-index: 3; margin: 0; display: flex; align-items: center; gap: 4px; padding: 0 .5rem 0 .35rem; background: #fff; border: 1px solid #c4ccd6; border-left: 0; border-right: 0; font-size: .8rem; font-weight: 600; color: #5b6b7b; white-space: nowrap; cursor: pointer; }
.time-tbdw .tfield .nc-ttbd-l[hidden] { display: none; }
.time-tbdw .tfield .nc-ttbd-l input { width: 18px; height: 18px; margin: 0; }
.time-tbdw .tfield .nc-ttbd-h { display: none; }
.time-tbdw .tfield.t-tbd .tf-ampm { color: transparent; }
/* 12. Motzei tick = information only: "Motzei Shabbos ends 7:05 PM" under the tick; the event time is not changed */
.nc-mz-info, .mz-info { display: block; color: #5b6b7b; font-size: .82rem; margin: 2px 0 0 1.9rem; }
.nc-mz-info[hidden] { display: none; }
/* 16. Calendar "Type it instead": a small MM/DD box inside the calendar, with Cancel and Done */
.dp-typerow { display: flex; align-items: flex-end; flex-wrap: wrap; gap: 8px; padding: 10px 12px 12px; border-top: 1px solid #e3e8ee; }
.dp-typerow .dp-tl { display: flex; flex-direction: column; gap: 3px; font-size: .8rem; color: #5b6b7b; font-weight: 600; }
.dp-typerow .dp-tin { width: 8.5rem; min-height: 44px; font-size: 1.1rem; padding: 0 .6rem; border: 1px solid #c4ccd6; border-radius: 8px; color: #0F2236; }
.dp-typerow .dp-tin:focus { outline: 2px solid #14B1A0; outline-offset: 0; border-color: #14B1A0; }
.dp-typerow .btn { min-height: 44px; }
.dp-typerow .dp-terr { flex-basis: 100%; margin: 0; color: #C62828; font-size: .82rem; }
.dp-typerow .dp-terr[hidden] { display: none; }
/* 9 + 15. Today in every calendar: the day box tinted teal and the number in a filled teal circle, white digits (no underline).
   A selected day stays the solid teal box; when today is also selected the circle turns white with a teal number. */
.dp-today:not(.dp-sel):not(.dp-in):not(.dp-end) { background: #e6f6f4; border-color: #14B1A0; }
.dp-today .dp-n, .pl-rp .rp-today .rp-n, .cp-d.cp-today b, .cal-day.is-today .cal-num b { text-decoration: none; display: inline-flex; align-items: center; justify-content: center; min-width: 1.75em; height: 1.75em; padding: 0 .25em; border-radius: 999px; background: #14B1A0; color: #fff; font-weight: 700; line-height: 1; }
.dp-today.dp-sel { background: #14B1A0; border-color: #0F2236; box-shadow: inset 0 0 0 2px #0F2236; }
.dp-today.dp-sel .dp-n { background: #fff; color: #14B1A0; }
.pl-rp .rp-today:not(.rp-a):not(.rp-b):not(.rp-in) { background: #e6f6f4; }
.cp-d.cp-today:not(.cp-sel) { background: #e6f6f4; }
.cp-d.cp-today.cp-sel b { background: #fff; color: #14B1A0; }
.cal-day.is-today { background: #e6f6f4; box-shadow: inset 0 0 0 2px #14B1A0; }
.wk-day.is-today { background: #e6f6f4; border-color: #14B1A0; }
.page-hcal .hc-c.today { background: #e6f6f4; }
@media print { .cal-day.is-today, .wk-day.is-today, .page-hcal .hc-c.today { background: none; box-shadow: none; } .cal-day.is-today .cal-num b { background: none; color: inherit; } }
/* 10. Staff name on docs */
.doc-staff { margin: 4px 0 10px; font-size: 10.5pt; color: #0F2236; }
.doc-staff b { font-weight: 700; }
.slip-staff { margin: 4px 0 6px; font-size: 10.5pt; color: #0F2236; }
/* 11. "All tasks" from Today: Doing tasks also listed in To do (tagged); on a wide screen the Doing column shows them already */
.kb-doing-tag { display: inline-block; margin-left: 6px; padding: 1px 7px; border-radius: 10px; background: #e6f6f4; color: #0d7f73; font-size: .72rem; font-weight: 700; vertical-align: middle; }
@media (min-width: 1200px) { .kb-card.kb-also { display: none; } }
/* 2. Bookkeeping home: "Past due" and "Upcoming balances" on two lines */
.bk3s-t .bk3s-two { display: flex; flex-direction: column; gap: 1px; }
.bk3s-t .bk3s-two > span { display: block; }
.bk3s-t .bk3s-pd.bk3s-over { color: #C62828; font-weight: 700; }

/* v6539 Copy all real data into BETA (Settings, BETA address only, Manager / Super Admin) */
.bc-block { border: 1px solid #C62828; border-left-width: 4px; background: #fff; }
.bc-block .bc-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.bc-block .bc-l { display: flex; flex-direction: column; gap: 3px; min-width: 0; flex: 1 1 260px; color: #0F2236; }
.bc-block .bc-last:empty { display: none; }
.bc-block .bc-btn { min-height: 44px; background: #fff; color: #C62828; border: 2px solid #C62828; font-weight: 700; }
.bc-block .bc-btn:active { background: #fdecec; }
.bc-warn { color: #C62828; font-weight: 700; margin: 0 0 12px; }
.bc-modal { max-width: 460px; }
.bc-modal .bc-step { font-weight: 700; color: #0F2236; margin: 0 0 10px; }
.bc-bar { height: 10px; border-radius: 5px; background: #e6eaef; overflow: hidden; }
.bc-bar > span { display: block; height: 100%; background: #14B1A0; transition: width .3s; }
.bc-bar.bc-err > span { background: #C62828; width: 100% !important; }
.bc-list { list-style: none; margin: 12px 0 8px; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 2px 16px; }
.bc-list li { display: flex; justify-content: space-between; border-bottom: 1px solid #eef1f4; padding: 3px 0; color: #0F2236; font-size: .92rem; }
.bc-fail { color: #C62828; font-weight: 600; }

/* v6540 (Dov, Oct 27 10:41 AM): order-sheet editor — side dishes hidden behind "+ Side dish"; more than one side; none on supplies */
.kt-item > .kt-sidelink, .kt-item > .kt-sides { order: 5; }
.kt-sidelink { background: none; border: 0; padding: 4px 2px; min-height: 32px; color: #14B1A0; font-size: 13px; font-weight: 600; cursor: pointer; }
.kt-sidelink:hover { text-decoration: underline; }
.kt-sides { flex: 1 1 100%; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding: 4px 0 2px; }
.kt-sides-l { flex-basis: 100%; font-size: 12px; color: #0F2236; font-weight: 600; }
.kt-sides-l small { font-weight: 400; }
.kt-side { display: inline-flex; align-items: center; gap: 2px; flex: 1 1 200px; min-width: 0; }
.kt-side > input.kt-side-in { flex: 1 1 auto; min-width: 0; font-size: 14px; color: #0F2236; background: #fafbfc; }
.kt-side > .kt-side-x { flex: 0 0 auto; }
.ko-side1 { display: block; font-size: 12px; }

/* ===== v6541 (Oct 27): Snooze until… / Gallery folders / Item photos ===== */
.modal-wrap.tkr-snz-wrap { z-index: 100560; }
.tkr-snz-t { margin: 0 0 8px; }
.tkr-snz-q { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 10px; }
.tkr-snz-q .btn { flex: 1 1 8rem; min-height: 44px; }
.tkr-snz-dt { display: flex; gap: 10px; flex-wrap: wrap; }
.tkr-snz-dt .field { flex: 1 1 10rem; }
.tkr-card .tkr-b { flex-wrap: wrap; }

/* v6541 Gallery: search bar, breadcrumb, folder tiles, Select → Move bar, neat names, PDF previews, folder tree */
.gal-bar { display: flex; gap: 8px; align-items: center; margin: 4px 0 8px; flex-wrap: wrap; }
.gal-bar .gal-q { flex: 1 1 14rem; min-height: 44px; }
.gal-bar .btn { min-height: 44px; }
.gal-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 4px; margin: 4px 0 6px; font-size: .95rem; }
.gal-cr { background: none; border: 0; padding: 6px 6px; border-radius: 6px; color: #14B1A0; font: inherit; font-weight: 600; cursor: pointer; min-height: 36px; }
.gal-cr.on { color: #0F2236; cursor: default; }
.gal-cr:not(.on):hover { background: #eef8f7; }
.gal-crs { color: #8a96a3; }
.gal-fgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 10px; margin: 6px 0 14px; }
.gal-ftile { display: grid; grid-template-columns: 40px 1fr; grid-template-rows: auto auto; column-gap: 8px; align-items: center; text-align: left; background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 10px; min-height: 64px; cursor: pointer; font: inherit; color: #0F2236; min-width: 0; }
.gal-ftile:hover, .gal-ftile:focus-visible { border-color: #14B1A0; outline: none; }
.gal-fic { grid-row: 1 / 3; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 8px; background: #eef8f7; color: #14B1A0; font-size: 1.4rem; font-weight: 600; }
.gal-fic .ic { width: 24px; height: 24px; }
.gal-fname { font-weight: 600; overflow-wrap: break-word; word-break: normal; hyphens: manual; line-height: 1.2; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.gal-ftile small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gal-fnew { border-style: dashed; color: #14B1A0; }
.gal-fnew .gal-fname { color: #14B1A0; }
.gal-name { white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; overflow-wrap: break-word; word-break: normal; line-height: 1.25; min-height: 2.5em; font-size: .8rem; }
.gal-path { display: block; font-size: .72rem; color: #5b6b7b; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gal-tile.sel-mode.on { border-color: #14B1A0; box-shadow: 0 0 0 2px #14B1A0 inset; }
.gal-ck { position: absolute; top: 10px; left: 10px; width: 26px; height: 26px; border-radius: 50%; border: 2px solid #0F2236; background: #fff; z-index: 1; display: flex; align-items: center; justify-content: center; color: #fff; }
.gal-tile.on .gal-ck { background: #14B1A0; border-color: #14B1A0; }
.gal-selbar { position: sticky; bottom: calc(70px + env(safe-area-inset-bottom)); z-index: 5; display: flex; gap: 10px; align-items: center; flex-wrap: wrap; background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 10px 12px; margin-top: 12px; box-shadow: 0 4px 16px rgba(15,34,54,.12); }
.gal-selbar b { flex: 1 1 auto; color: #0F2236; }
.gal-selbar .btn { min-height: 44px; }
.gal-pdf { position: relative; }
.gal-pdf.has-prev { background: #fff; }
.gal-pdf.has-prev img { width: 100%; height: 100%; object-fit: contain; display: block; }
.gal-pdf-tag { position: absolute; left: 6px; bottom: 6px; background: #0F2236; color: #fff; font-size: .68rem; padding: 2px 6px; border-radius: 4px; letter-spacing: .04em; }
.gal-pdfbig { display: flex; width: 100%; max-width: 320px; aspect-ratio: 3 / 4; margin: 0 auto 10px; border-radius: 8px; border: 1px solid var(--line); overflow: hidden; }
.gal-tree .gal-tr { display: flex; align-items: center; gap: 8px; min-height: 48px; }
.gal-tree .gal-tr .ic { width: 20px; height: 20px; color: #14B1A0; flex: none; }
.gal-cropq { margin-top: 10px; }
.gal-li { margin: 4px 0 8px; }
.gal-pick .gal-gp1 { cursor: pointer; }
/* photo editor */
.modal-wrap.pe-wrap .modal { max-width: 620px; }
.pe-stage { position: relative; display: flex; justify-content: center; align-items: center; background: #f1f4f7; border-radius: 10px; padding: 10px; min-height: 200px; overflow: hidden; }
.pe-cv { display: block; max-width: 100%; border-radius: 4px; box-shadow: 0 0 0 2px #14B1A0; background: #fff; cursor: grab; touch-action: none; }
.pe-sq .pe-cv { box-shadow: 0 0 0 3px #14B1A0; }
.pe-hint { position: absolute; left: 50%; bottom: 14px; transform: translateX(-50%); background: rgba(15,34,54,.78); color: #fff; font-size: .75rem; padding: 3px 8px; border-radius: 10px; pointer-events: none; white-space: nowrap; }
.pe-tools { display: flex; gap: 8px; align-items: center; margin: 10px 0 6px; flex-wrap: wrap; }
.pe-tools .btn { min-width: 44px; min-height: 44px; }
.pe-zoom { display: flex; align-items: center; gap: 8px; flex: 1 1 12rem; }
.pe-zoom input[type=range] { flex: 1; accent-color: #14B1A0; min-height: 32px; }
.pe-asp { display: flex; gap: 6px; flex-wrap: wrap; margin: 4px 0 8px; }
.pe-acts { display: flex; gap: 8px; margin: 6px 0 4px; }
.pe-acts .btn { min-height: 44px; }
.pe-note { margin: 4px 0 0; }
@media (max-width: 520px) { .gal-fgrid { grid-template-columns: repeat(2, 1fr); } }

/* v6541 Item photos: view switch, grid tiles (6 / 4 / 3 across), list with photos, initials placeholder, item editor photo box */
.iv-sw { display: inline-flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.iv-seg button { min-height: 40px; padding: 0 12px; }
.iv-ph { position: relative; display: block; width: 100%; aspect-ratio: 1 / 1; border-radius: 8px; overflow: hidden; background: #eef1f4; flex: none; }
.iv-ph img { width: 100%; height: 100%; object-fit: contain; display: block; background: #fff; }
.iv-init, .iv-ph.iv-noimg { display: flex; align-items: center; justify-content: center; color: #5b6b7b; font-weight: 600; letter-spacing: .04em; font-size: 1.35rem; background: #eef1f4; border: 1px solid #dfe5eb; }
.iv-ph.iv-noimg::after { content: attr(data-in); }
.iv-ph.iv-sm { width: 48px; height: 48px; font-size: .95rem; border-radius: 6px; }
.iv-grid { display: grid; gap: 10px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.iv-grid.iv-s { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; }
.iv-grid.iv-l { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.iv-grid.iv-s .iv-init { font-size: 1rem; }
@media (max-width: 560px) { .iv-grid.iv-s { grid-template-columns: repeat(4, minmax(0, 1fr)); } .iv-grid.iv-m { grid-template-columns: repeat(3, minmax(0, 1fr)); } .iv-grid.iv-l { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.iv-tile { display: flex; flex-direction: column; gap: 4px; background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 6px; text-align: left; font: inherit; color: #0F2236; min-width: 0; }
button.iv-tile { cursor: pointer; }
button.iv-tile:hover, button.iv-tile:focus-visible { border-color: #14B1A0; outline: none; }
.iv-nm { font-weight: 600; font-size: .85rem; line-height: 1.2; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; min-height: 2.4em; }
.iv-meta { font-size: .78rem; color: #3d4c5b; }
.iv-grid.iv-s .iv-nm { font-size: .76rem; }
.iv-tile.air-no { opacity: .55; }
.dl-ivrow { margin: 6px 0 4px; }
.dl-tile .dl-gp { align-self: flex-start; }
.dl-tile.dl-gout { border-color: #C62828; }
.dl-tile.dl-gin { border-color: #14B1A0; }
.dl-prow { display: flex; gap: 8px; align-items: center; min-width: 0; }
.dl-prow > .dl-gc { flex: 1 1 auto; min-width: 0; }
.ires-ph { display: flex; gap: 8px; align-items: center; }
.ires-ph > .ires { flex: 1 1 auto; min-width: 0; }
.nc-browse { margin: 8px 0 4px; }
.nc-brhead { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.nc-brbtn { min-height: 40px; }
.nc-brlist { margin-top: 8px; max-height: 70vh; overflow-y: auto; border: 1px solid var(--line); border-radius: 10px; padding: 8px; background: #fbfcfd; }
.nc-brh { font-size: .9rem; margin: 10px 0 6px; color: #0F2236; }
.nc-brsec:first-child .nc-brh { margin-top: 0; }
.photo-box .ip-prev { width: 96px; height: 96px; border-radius: 8px; overflow: hidden; background: #eef1f4; display: inline-flex; align-items: center; justify-content: center; flex: none; }
.photo-box .ip-prev img { width: 100%; height: 100%; object-fit: contain; background: #fff; }
.ip-ph { font-weight: 600; font-size: 1.5rem; color: #5b6b7b; letter-spacing: .04em; }
.ip-add { display: inline-flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.ip-addl { font-size: .85rem; color: #0F2236; }
/* v6541 E: past date / time refused */
.past-msg { display: block; color: #C62828; font-size: .82rem; font-weight: 600; margin-top: 4px; }
/* v6541 H: follow-up done popup */
.fu-ch { display: grid; gap: 8px; margin: 8px 0; }
.fu-opt { display: flex; gap: 10px; align-items: center; border: 1px solid var(--line); border-radius: 10px; padding: 12px; min-height: 48px; cursor: pointer; }
.fu-opt:has(input:checked) { border-color: #14B1A0; background: #eefaf8; }
.fu-q { display: flex; gap: 8px; flex-wrap: wrap; margin: 6px 0 10px; }
.fu-q .btn { min-height: 44px; }
.fu-q .btn.on { background: #14B1A0; color: #fff; border-color: #14B1A0; }

/* v6542 (Dov, Oct 27): Zmanim footer not hidden under the Support button */
.page-zm { padding-bottom: 96px; }
.page-zm .zm-c span { white-space: nowrap; }
/* Independent test fork: the Beta wordmark must not widen the fixed sidebar over page content. */
@media (min-width: 861px) { html.is-beta .side { width: var(--side-open); max-width: var(--side-open); } }

/* v6542 docs (Dov, Oct 27): venue as 3 clean lines, guests as entered, Venue – no tax, editor-only "add address" */
.q2-venue .q2-vl { display: block; line-height: 1.3; }
.q2-venue span.q2-vl { font-weight: 400; color: #0F2236; font-size: .92em; }
.q2-notax, .q2-gtot { display: block; color: #0F2236; font-size: .85em; margin-top: 2px; }
.q2-notax { color: #14B1A0; font-weight: 600; }
.ev-addhint { display: inline-block; margin-top: 4px; color: #C62828; font-size: .82em; font-weight: 600; text-decoration: underline; }
@media print { .ev-addhint { display: none !important; } }

/* v6542 Send popup: Attach tick list (Dov, Oct 27 1:59 PM) — only ticked files go with the email */
.pf-send .pf-att { border: 1px solid #d5dbe3; border-radius: 8px; padding: 8px 12px 10px; margin: 10px 0 12px; background: #fff; }
.pf-send .pf-att legend.lbl { padding: 0 6px; color: #0F2236; font-weight: 600; }
.pf-send .pf-att-i { display: flex; align-items: center; gap: 10px; padding: 7px 0; min-height: 40px; border-bottom: 1px solid #eef1f4; color: #0F2236; cursor: pointer; }
.pf-send .pf-att-i:last-of-type { border-bottom: 0; }
.pf-send .pf-att-i input[type="checkbox"] { width: 22px; height: 22px; accent-color: #14B1A0; flex: none; margin: 0; }
.pf-send .pf-att-k { flex: none; font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #fff; background: #0F2236; border-radius: 4px; padding: 2px 6px; }
.pf-send .pf-att-n { overflow-wrap: anywhere; }
.pf-send .pf-att-note { margin: 6px 0 0; font-size: 12.5px; color: #5b6573; line-height: 1.4; }
.pf-pdfhost { pointer-events: none; }

/* v6544 sent docs frozen: on-screen note on a live invoice that changed since a version was sent (never printed) */
.q2-sentnote { background: #FFF6E5; border: 1px solid #F0C36D; border-radius: 8px; padding: 8px 12px; margin: 0 0 12px; font-size: .92em; color: #0F2236; }
