/* The Pantry Kosher -- admin "pro" look (Oct 25, Moshe 3:47 PM: "Should look professional -- the whole admin part").
   Look only: everything is under body.apx (set by route() on #/admin pages that are not the office phone-order screen),
   so the customer store, picker, receiving, scanner and staff screens are untouched. Colors come from the staff theme
   tokens (--pk-*) with the store's own colors as the fallback, so light and dark themes both follow. */
body.apx{--apx-bg:var(--pk-bg,var(--bg,#fdf6ee));--apx-surface:var(--pk-surface,#fff);--apx-surface2:var(--pk-surface2,#fbfaf6);--apx-ink:var(--pk-ink,var(--ink,#271c12));--apx-ink2:var(--pk-ink2,#3a423d);--apx-muted:var(--pk-muted,var(--muted,#7a6a5c));--apx-line:var(--pk-line,var(--line,#ecdbc7));--apx-line2:var(--pk-line2,#d9d3c5);--apx-primary:var(--pk-primary,var(--g,#bf5607));--apx-onp:var(--pk-onp,#fff);--apx-accent:var(--pk-accent,var(--gold,#f2b632));--apx-red:var(--pk-new-solid,#c8372d);--apx-r:14px;--apx-r-sm:10px;--apx-shadow:0 1px 2px rgba(27,34,30,.04),0 4px 14px -8px rgba(27,34,30,.16)}
html body.apx{font-size:15px}
/* ---- top bar ---- */
html body.apx .admin-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:10px;margin:0 0 12px;padding:2px 0 12px;border-bottom:1px solid var(--apx-line)}
html body.apx .admin-head h1{margin:0;min-width:0;font-family:var(--pk-serif,Georgia,serif);font-weight:500;font-size:23px;line-height:1.15;letter-spacing:-.015em;color:var(--apx-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body.apx .admin-head h1 a{color:inherit;text-decoration:none}
html body.apx .admin-head h1 svg.pki{width:20px;height:20px;vertical-align:-3px}
html body.apx .admin-head > div:last-child{display:flex;align-items:center;flex-wrap:nowrap;gap:6px;flex:none}
html body.apx .admin-head .btn.sm{height:36px;padding:0 13px;font-size:13.5px;font-weight:600;border-radius:var(--apx-r-sm);white-space:nowrap}
html body.apx .admin-head .pkt-toggle{width:36px;height:36px;min-width:36px;box-shadow:none}
html body.apx .apx-hi{display:inline-flex;align-items:center;gap:6px}
html body.apx .apx-hi svg{width:16px;height:16px;flex:none}
@media (max-width:560px){
  html body.apx .admin-head{gap:8px}
  html body.apx .admin-head h1{font-size:20px}
  html body.apx .admin-head > div:last-child{gap:5px}
  html body.apx .admin-head .btn.sm{height:34px;padding:0 10px;font-size:13px}
  html body.apx .admin-head .pkt-toggle{width:34px;height:34px;min-width:34px}
  html body.apx .apx-lbl-lg{display:none}
}
/* ---- section nav: one tidy underline tab row, phone and desktop ---- */
html body.apx .admin-nav-mobile{display:none !important}
html body.apx .tabs.admin-nav-desktop{display:flex !important;gap:2px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:-4px 0 18px;padding:0;border-bottom:1px solid var(--apx-line)}
html body.apx .tabs.admin-nav-desktop::-webkit-scrollbar{display:none}
html body.apx .tabs.admin-nav-desktop a{flex:none;display:inline-flex;align-items:center;gap:6px;background:none;border:0;border-bottom:2px solid transparent;border-radius:0;margin-bottom:-1px;padding:10px 11px 11px;color:var(--apx-muted);font-weight:600;font-size:14px;box-shadow:none}
html body.apx .tabs.admin-nav-desktop a:hover{color:var(--apx-ink)}
html body.apx .tabs.admin-nav-desktop a.on{color:var(--apx-primary);border-bottom-color:var(--apx-primary);background:none}
html body.apx .tabs.admin-nav-desktop .navbadge{background:var(--apx-red);color:#fff;border-radius:999px;font-size:11px;font-weight:700;min-width:18px;height:18px;line-height:18px;padding:0 5px;text-align:center}
html body.apx .tabs.admin-nav-desktop.apx-onhome{display:none !important}
/* ---- type scale ---- */
html body.apx h2{font-family:var(--pk-serif,Georgia,serif);font-weight:500;font-size:22px;line-height:1.2;letter-spacing:-.01em;color:var(--apx-ink);margin:0 0 10px}
html body.apx h3{font-weight:650;font-size:16px;line-height:1.3;color:var(--apx-ink);margin:0 0 8px}
html body.apx .muted{color:var(--apx-muted)}
html body.apx .bar{align-items:center;gap:8px 10px;margin-bottom:12px}
html body.apx .bar h2{margin:0}
/* ---- buttons ---- */
html body.apx .btn{border-radius:var(--apx-r-sm);font-weight:600;letter-spacing:.005em;padding:10px 16px;font-size:14.5px;line-height:1.2;box-shadow:none}
html body.apx .btn.sm{padding:7px 12px;font-size:13.5px;border-radius:9px}
html body.apx .btn.lg{padding:13px 22px;font-size:16px;border-radius:12px}
html body.apx .btn.ghost{background:var(--apx-surface);color:var(--apx-ink2);border:1px solid var(--apx-line2)}
html body.apx .btn.ghost:hover{border-color:var(--apx-muted)}
html body.apx .btn.red{background:var(--apx-red);color:#fff}
/* ---- cards, rows, panels ---- */
html body.apx .panel{background:var(--apx-surface);border:1px solid var(--apx-line);border-radius:var(--apx-r);box-shadow:var(--apx-shadow);padding:18px}
html body.apx .order{background:var(--apx-surface);border:1px solid var(--apx-line);border-radius:var(--apx-r);box-shadow:var(--apx-shadow);padding:14px 14px 12px;margin-bottom:10px}
html body.apx .arow{background:var(--apx-surface);border:1px solid var(--apx-line);border-radius:12px;padding:10px 12px;margin-bottom:8px}
html body.apx .empty{color:var(--apx-muted);padding:44px 12px;font-size:15px}
html body.apx .note{border-radius:12px}
/* ---- inputs ---- */
html body.apx select,html body.apx input[type=text],html body.apx input[type=tel],html body.apx input[type=number],html body.apx input[type=password],html body.apx input[type=search],html body.apx input[type=email],html body.apx input[type=date],html body.apx textarea{border:1px solid var(--apx-line2);border-radius:var(--apx-r-sm);background-color:var(--apx-surface);color:var(--apx-ink);font-size:15px}
html body.apx select:focus,html body.apx input:focus,html body.apx textarea:focus{outline:none;border-color:var(--apx-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--apx-primary) 18%,transparent)}
html body.apx .form label{font-weight:600;font-size:13.5px;color:var(--apx-ink2)}
/* ---- chips / filters / pills ---- */
html body.apx .chip{border:1px solid var(--apx-line2);background:var(--apx-surface);color:var(--apx-ink2);border-radius:999px;padding:6px 12px;font-size:13.5px;font-weight:600}
html body.apx .chip.on{background:var(--apx-ink);border-color:var(--apx-ink);color:var(--apx-bg)}
html body.apx .pill{font-weight:700;font-size:11.5px;letter-spacing:.01em;border-radius:999px;padding:3px 9px}
/* ---- tables ---- */
html body.apx table{border-collapse:collapse}
html body.apx .order table td,html body.apx .panel table td{border-bottom:1px solid var(--apx-line);padding:7px 4px;vertical-align:middle}
html body.apx .panel table th{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--apx-muted);font-weight:700;text-align:left;padding:6px 4px;border-bottom:1px solid var(--apx-line2)}
/* ---- stat strip (home + Orders) ---- */
html body.apx .stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0 0 16px;background:var(--apx-surface);border:1px solid var(--apx-line);border-radius:var(--apx-r);box-shadow:var(--apx-shadow);overflow:hidden}
html body.apx .stats .stat{background:none;border:0;border-left:1px solid var(--apx-line);border-radius:0;padding:12px 14px;min-width:0}
html body.apx .stats .stat:first-child{border-left:0}
html body.apx .stats .stat b{display:block;font-family:var(--pk-serif,Georgia,serif);font-weight:500;font-size:24px;line-height:1.15;color:var(--apx-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body.apx .stats .stat span{display:block;font-size:12.5px;color:var(--apx-muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:560px){
  html body.apx .stats .stat{padding:10px 9px}
  html body.apx .stats .stat b{font-size:19px}
  html body.apx .stats .stat span{font-size:11.5px}
}
/* ---- home: grouped menu ---- */
html body.apx .apx-home{display:grid;grid-template-columns:1fr;gap:16px}
@media (min-width:900px){html body.apx .apx-home{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}}
html body.apx .apx-sec h3{margin:0 4px 8px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--apx-muted)}
html body.apx .apx-list{background:var(--apx-surface);border:1px solid var(--apx-line);border-radius:var(--apx-r);box-shadow:var(--apx-shadow);overflow:hidden}
html body.apx .apx-row{position:relative;display:flex;align-items:center;gap:12px;padding:11px 14px;text-decoration:none;color:var(--apx-ink);border-top:1px solid var(--apx-line)}
html body.apx .apx-row:first-child{border-top:0}
html body.apx .apx-row:hover{background:var(--apx-surface2)}
html body.apx .apx-row:active{background:var(--apx-surface2)}
html body.apx .apx-row .adminhome-ico{flex:none;width:38px;height:38px;margin:0;border-radius:11px;font-size:19px;display:grid;place-items:center;background:var(--pk-bg2,#f6efe7);color:var(--apx-ink2)}
html body.apx .apx-row .adminhome-ico svg.pki{width:19px;height:19px;margin:0}
html body.apx .apx-tx{flex:1;min-width:0}
html body.apx .apx-tx b{display:block;font-weight:600;font-size:15.5px;line-height:1.25;color:var(--apx-ink)}
html body.apx .apx-tx small{display:block;font-size:12.5px;line-height:1.3;color:var(--apx-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}
html body.apx .apx-row .adminhome-badge{position:static;flex:none;background:var(--apx-red);color:#fff;border-radius:999px;font-size:12px;font-weight:700;min-width:22px;height:22px;line-height:22px;text-align:center;padding:0 6px}
html body.apx .apx-chev{flex:none;color:var(--apx-line2);font-size:20px;line-height:1;margin-left:2px}
html body.apx .adminhome-tile.apx-row{flex-direction:row;align-items:center;gap:12px;min-height:0;padding:11px 14px;border:0;border-top:1px solid var(--apx-line);border-radius:0;box-shadow:none;background:none}
html body.apx .apx-list .adminhome-tile.apx-row:first-child{border-top:0}
html body.apx .adminhome-tile.apx-row:hover{background:var(--apx-surface2)}
html body.apx .apx-row .adminhome-ico{flex:none;width:38px;height:38px;margin:0;border-radius:11px;font-size:19px;display:grid;place-items:center;background:var(--pk-bg2,#f6efe7);color:var(--apx-ink2)}
html body.apx .site-footer{display:none}

/* Oct 26 (Moshe 10:07 AM PT, #1091): Check-qty warning with the line's qty fix box (- / box / +, Save qty), a quiet
   "Qty is OK" and an Undo line. Not under body.apx: the same look on the office phone-order screen and office.html.
   Store orange #EF7100, cream, charcoal. */
.rfq-card{background:#fff8ef;border:1px solid #f3c9a0;border-left:4px solid #EF7100;border-radius:12px;padding:8px 10px;margin:6px 0;font-size:13.5px;color:#2b2b2b}
.rfq-card .rfq-head{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline;margin-bottom:6px}
.rfq-card .rfq-t{color:#b34f00}
.rfq-card .rfq-why{color:#b34f00;font-weight:700;font-size:12.5px}
.rfq-fix{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:4px}
.rfq-ed{display:inline-flex;align-items:stretch;border:1.5px solid #EF7100;border-radius:10px;overflow:hidden;background:#fff}
.rfq-pm{appearance:none;border:0;background:#fff1e3;color:#b34f00;font-size:22px;font-weight:800;width:42px;min-height:40px;line-height:1;cursor:pointer;padding:0;touch-action:manipulation}
.rfq-pm:active{background:#ffd9b3}
.rfq-in{width:72px;border:0;border-left:1px solid #f3c9a0;border-right:1px solid #f3c9a0;text-align:center;font-size:18px;font-weight:800;color:#2b2b2b;background:#fff;padding:0 4px;min-height:40px;-moz-appearance:textfield}
.rfq-in::-webkit-outer-spin-button,.rfq-in::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.rfq-in:focus{outline:2px solid #EF7100;outline-offset:-2px}
.rfq-unit{color:#6b6259;font-size:12.5px}
.rfq-save{appearance:none;border:0;border-radius:10px;background:#EF7100;color:#fff;font-weight:800;font-size:14.5px;padding:0 16px;min-height:40px;cursor:pointer}
.rfq-save:disabled{background:#f5c9a0;color:#fff;cursor:default}
.rfq-ok{appearance:none;background:transparent;border:1px solid #cfc6bc;color:#5a524b;border-radius:10px;font-weight:600;font-size:12.5px;padding:0 10px;min-height:32px;cursor:pointer}
.rfq-prev{flex-basis:100%;color:#6b6259;font-size:12.5px}
.rfq-done{display:flex;flex-wrap:wrap;gap:6px;align-items:center;background:#fbf7f2;border:1px dashed #d9cfc4;border-radius:10px;padding:5px 9px;margin:4px 0;font-size:12.5px;color:#3d3833}
.rfq-undo{appearance:none;background:transparent;border:0;color:#b34f00;font-weight:800;text-decoration:underline;cursor:pointer;padding:2px 4px;font-size:13px}
html.pkt[data-theme="dark"] .rfq-card{background:#2a211a;border-color:#6b4a2e;color:#f3ece4}
html.pkt[data-theme="dark"] .rfq-card .rfq-t,html.pkt[data-theme="dark"] .rfq-card .rfq-why,html.pkt[data-theme="dark"] .rfq-undo{color:#ffb066}
html.pkt[data-theme="dark"] .rfq-ed,html.pkt[data-theme="dark"] .rfq-in{background:#1e1e1e;color:#f3ece4}
html.pkt[data-theme="dark"] .rfq-pm{background:#3a2a1c;color:#ffb066}
html.pkt[data-theme="dark"] .rfq-done{background:#242120;border-color:#4a433d;color:#e6ded6}
html.pkt[data-theme="dark"] .rfq-ok{color:#d8cfc6;border-color:#5a524b}
html.pkt[data-theme="dark"] .rfq-prev,html.pkt[data-theme="dark"] .rfq-unit{color:#bfb5aa}
