
:root{
  --bg:#eef4ff;
  --bg-2:#f7f9ff;
  --card:#ffffff;
  --ink:#1f2a44;
  --muted:#6e7a95;
  --line:#e2e8f5;
  --primary:#4f46e5;
  --primary-2:#7c3aed;
  --secondary:#0ea5e9;
  --success:#059669;
  --warning:#f59e0b;
  --danger:#dc2626;
  --rose:#ec4899;
  --shadow:0 14px 42px rgba(79,70,229,.10);
  --radius:22px;
}
*{box-sizing:border-box}
html,body{min-height:100%}
body{
  background:
    radial-gradient(circle at top left, rgba(124,58,237,.12), transparent 26%),
    radial-gradient(circle at top right, rgba(14,165,233,.10), transparent 24%),
    linear-gradient(180deg, #f8fbff 0%, var(--bg) 100%);
  color:var(--ink);
  font-family:system-ui,-apple-system,"Segoe UI",Tahoma,sans-serif;
}
a{text-decoration:none}
.navbar{
  background:linear-gradient(135deg, #ffffff 0%, #f8f9ff 100%)!important;
  border-bottom:1px solid rgba(130,146,196,.18)!important;
  box-shadow:0 8px 30px rgba(31,42,68,.05);
  backdrop-filter:blur(10px);
}
.navbar-brand{
  font-weight:900;
  letter-spacing:.04em;
  color:var(--ink)!important;
  display:flex;
  align-items:center;
  gap:.7rem;
}
.brand-mark{
  width:40px;height:40px;border-radius:14px;
  background:linear-gradient(135deg,var(--primary),var(--primary-2));
  color:#fff;display:grid;place-items:center;
  font-size:1.1rem;box-shadow:0 10px 24px rgba(79,70,229,.24);
}
.navbar .nav-link{
  color:#42506a;
  font-weight:700;
  border-radius:14px;
  padding:.55rem .85rem!important;
  transition:.18s ease;
}
.navbar .nav-link:hover{background:#eef2ff;color:var(--primary)}
.navbar .nav-link.active{
  background:linear-gradient(135deg, rgba(79,70,229,.12), rgba(14,165,233,.10));
  color:var(--primary)!important;
}
.page-shell{padding-bottom:32px}
.page-header{
  display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;
  margin-bottom:1rem;flex-wrap:wrap;
}
.page-title{font-size:1.7rem;font-weight:900;margin:0;color:#1e2853}
.page-subtitle{color:var(--muted);margin-top:.35rem}
.hero-banner{
  background:linear-gradient(135deg, #4f46e5 0%, #7c3aed 52%, #0ea5e9 100%);
  color:#fff;border-radius:30px;padding:1.4rem 1.4rem 1.1rem;
  position:relative;overflow:hidden;box-shadow:0 18px 40px rgba(79,70,229,.22);
}
.hero-banner::after{
  content:"";position:absolute;right:-30px;top:-30px;width:170px;height:170px;
  border-radius:50%;background:rgba(255,255,255,.10)
}
.hero-banner::before{
  content:"";position:absolute;left:45%;bottom:-55px;width:160px;height:160px;
  border-radius:50%;background:rgba(255,255,255,.08)
}
.hero-banner .hero-title{font-size:1.45rem;font-weight:900;margin-bottom:.35rem;position:relative;z-index:1}
.hero-banner .hero-text{opacity:.94;max-width:780px;position:relative;z-index:1}
.app-card{
  background:rgba(255,255,255,.92);
  border:1px solid rgba(226,232,245,.92);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  backdrop-filter:blur(12px);
}
.soft-panel{background:linear-gradient(180deg,#fff,#fbfcff)}
.section-title{font-weight:900;font-size:1.05rem;margin:0;color:#21315b}
.section-hint{color:var(--muted);font-size:.92rem}
.app-card h4,.app-card h5,.app-card h3{font-weight:900;color:#1f2a44}
.muted{color:var(--muted)!important}
.stat{font-size:1.7rem;font-weight:900;letter-spacing:-.02em;line-height:1.1;color:#172554}
.metric-card{
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,250,255,.98));
  border-radius:24px;padding:1rem 1rem 1.1rem;border:1px solid rgba(226,232,245,.9);
  box-shadow:var(--shadow);height:100%;position:relative;overflow:hidden;
}
.metric-card::after{content:"";position:absolute;right:-12px;top:-12px;width:82px;height:82px;border-radius:50%;background:rgba(255,255,255,.7)}
.metric-card .metric-icon{
  width:48px;height:48px;border-radius:16px;display:grid;place-items:center;font-size:1.2rem;
  margin-bottom:.85rem;box-shadow:0 10px 24px rgba(20,40,80,.08)
}
.metric-card .metric-label{font-weight:700;color:#58657f;margin-bottom:.3rem}
.metric-card.primary{background:linear-gradient(135deg,#eef2ff,#faf7ff)}
.metric-card.primary .metric-icon{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}
.metric-card.sky{background:linear-gradient(135deg,#effaff,#f5fcff)}
.metric-card.sky .metric-icon{background:linear-gradient(135deg,#0ea5e9,#38bdf8);color:#fff}
.metric-card.green{background:linear-gradient(135deg,#ecfdf5,#f7fffb)}
.metric-card.green .metric-icon{background:linear-gradient(135deg,#10b981,#34d399);color:#fff}
.metric-card.orange{background:linear-gradient(135deg,#fff7ed,#fffdf5)}
.metric-card.orange .metric-icon{background:linear-gradient(135deg,#f59e0b,#fbbf24);color:#fff}
.metric-card.rose{background:linear-gradient(135deg,#fff1f2,#fff8fb)}
.metric-card.rose .metric-icon{background:linear-gradient(135deg,#f43f5e,#ec4899);color:#fff}
.metric-card.gray{background:linear-gradient(135deg,#f8fafc,#ffffff)}
.metric-card.gray .metric-icon{background:linear-gradient(135deg,#64748b,#94a3b8);color:#fff}
.table{--bs-table-bg:transparent}
.table>thead th{
  white-space:nowrap;color:#5a6782;font-size:.9rem;font-weight:800;
  border-bottom-width:1px;background:#f8fbff
}
.table>:not(caption)>*>*{padding:.85rem .9rem;border-bottom-color:#eef2f8}
.table tbody tr:hover{background:rgba(79,70,229,.03)}
.money{text-align:right;font-variant-numeric:tabular-nums}
.badge-soft{background:#ede9fe;color:#5b21b6;border:1px solid #ddd6fe}
.badge-soft-success{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}
.badge-soft-warning{background:#fef3c7;color:#92400e;border:1px solid #fde68a}
.badge-soft-danger{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}
.danger-box,.ok-box,.info-box,.warn-box{
  border-radius:20px;padding:1rem 1.1rem
}
.danger-box{border:1px solid #fecaca;background:#fff1f2;color:#991b1b}
.ok-box{border:1px solid #a7f3d0;background:#ecfdf5;color:#065f46}
.info-box{border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8}
.warn-box{border:1px solid #fde68a;background:#fffbeb;color:#92400e}
.sticky-summary{
  position:sticky;bottom:14px;background:rgba(255,255,255,.95);
  border:1px solid rgba(226,232,245,.92);padding:14px 16px;z-index:20;
  box-shadow:0 18px 40px rgba(31,42,68,.12);backdrop-filter:blur(12px)
}
.form-label{font-weight:800;color:#30405d;margin-bottom:.45rem}
.form-control,.form-select{
  border:1px solid #d7dfef;border-radius:16px;padding:.7rem .9rem;color:var(--ink);
  background:#fff;box-shadow:none;transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.form-control:focus,.form-select:focus{
  border-color:#818cf8;box-shadow:0 0 0 .25rem rgba(99,102,241,.12);background:#fff;
}
.form-control::placeholder{color:#a0aec0}
textarea.form-control{min-height:92px}
.btn{border-radius:16px;font-weight:800;padding:.7rem 1rem}
.btn-sm{border-radius:12px;padding:.45rem .72rem}
.btn-primary{
  background:linear-gradient(135deg,var(--primary),var(--primary-2));
  border-color:transparent;box-shadow:0 12px 26px rgba(79,70,229,.22)
}
.btn-primary:hover,.btn-primary:focus{background:linear-gradient(135deg,#4338ca,#6d28d9);border-color:transparent}
.btn-outline-primary{border-color:#c7d2fe;color:var(--primary);background:#fff}
.btn-outline-primary:hover{background:#eef2ff;border-color:#c7d2fe;color:#4338ca}
.btn-outline-secondary{border-color:#dbe3f0;color:#475569;background:#fff}
.btn-outline-secondary:hover{background:#f8fafc;color:#334155;border-color:#dbe3f0}
.btn-outline-danger{border-color:#fecaca;color:#dc2626;background:#fff}
.btn-outline-danger:hover{background:#fff1f2;color:#b91c1c;border-color:#fecaca}
.quick-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}
.quick-card{padding:1rem 1.1rem;border-radius:22px;background:linear-gradient(180deg,#fff,#fbfcff);border:1px solid #ebeff8;box-shadow:var(--shadow)}
.quick-card .value{font-size:1.45rem;font-weight:900;color:#1e2853}
.quick-card .label{color:#6a7690;font-weight:700}
.list-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.38rem .7rem;border-radius:999px;font-size:.86rem;font-weight:700;background:#f1f5ff;color:#495a88;border:1px solid #dbe6ff}
.panel-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem;flex-wrap:wrap}
.empty-note{border:1px dashed #cbd5e1;background:#f8fbff;border-radius:18px;padding:1rem;color:#64748b}
.small-help{font-size:.86rem;color:#8391ab}
.hr-soft{border:0;height:1px;background:linear-gradient(90deg,transparent,#e6ebf6,transparent);margin:1rem 0}
.code-kbd{padding:.15rem .5rem;border-radius:10px;background:#eef2ff;color:#4338ca;font-weight:800;font-size:.84rem}
@media (max-width: 991.98px){
  .page-title{font-size:1.45rem}
  .stat{font-size:1.45rem}
  .hero-banner{border-radius:24px}
}

/* ===== Professional pharmacy-system inspired polish ===== */
:root{
  --navy:#0f172a;
  --navy-2:#18223a;
  --violet:#635bff;
  --violet-dark:#5148ee;
  --cyan:#21b6d7;
  --surface:#ffffff;
  --surface-soft:#f8faff;
}
body{background:#f4f6fb}
.topbar{
  background:linear-gradient(90deg,var(--navy),var(--navy-2))!important;
  color:#fff; border:0!important; box-shadow:0 10px 28px rgba(15,23,42,.18);
  position:sticky;top:0;z-index:1030;
}
.topbar .navbar-brand,.topbar .navbar-brand:hover{color:#fff!important}
.topbar .brand-mark{background:linear-gradient(135deg,#776cff,#a66cff);box-shadow:none}
.topbar .nav-link{color:#cbd5e1!important;background:transparent}
.topbar .nav-link:hover{color:#fff!important;background:rgba(255,255,255,.08)}
.topbar .nav-link.active{color:#fff!important;background:rgba(99,91,255,.28);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.topbar-meta{display:flex;align-items:center;gap:.55rem;color:#cbd5e1;font-size:.86rem;white-space:nowrap}
.topbar-pill{padding:.42rem .68rem;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08)}
.workspace{max-width:1600px;margin:0 auto}
.page-header-pro{
  display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap;
  margin-bottom:1.1rem
}
.page-heading-wrap{display:flex;align-items:center;gap:.9rem}
.page-icon{
  width:52px;height:52px;border-radius:18px;display:grid;place-items:center;
  background:linear-gradient(135deg,#665cff,#8c67ff);color:#fff;font-size:1.35rem;
  box-shadow:0 10px 22px rgba(99,91,255,.20)
}
.page-title-pro{font-size:1.55rem;font-weight:900;margin:0;color:#172033;letter-spacing:-.02em}
.page-subtitle-pro{color:#7b879f;font-size:.92rem;margin-top:.2rem}
.pro-card{
  background:#fff;border:1px solid #e7eaf2;border-radius:20px;box-shadow:0 6px 20px rgba(15,23,42,.055)
}
.pro-card-header{padding:1rem 1.15rem;border-bottom:1px solid #eef0f5;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.pro-card-body{padding:1.15rem}
.pro-title{font-size:1rem;font-weight:900;margin:0;color:#20293b}
.pro-desc{font-size:.86rem;color:#8994a9;margin-top:.2rem}
.kpi-card{
  background:#fff;border:1px solid #e9ecf3;border-radius:18px;padding:1rem 1.05rem;
  box-shadow:0 6px 18px rgba(15,23,42,.045);height:100%;position:relative;overflow:hidden
}
.kpi-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--kpi,#635bff)}
.kpi-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.85rem}
.kpi-icon{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;background:color-mix(in srgb,var(--kpi,#635bff) 12%, white);color:var(--kpi,#635bff);font-size:1rem;font-weight:900}
.kpi-label{font-size:.86rem;color:#7f8a9f;font-weight:800}
.kpi-value{font-size:1.45rem;color:#1d2638;font-weight:900;letter-spacing:-.02em}
.kpi-note{font-size:.78rem;color:#9aa4b5;margin-top:.25rem}
.kpi-violet{--kpi:#635bff}.kpi-blue{--kpi:#2094f3}.kpi-green{--kpi:#18a46f}.kpi-orange{--kpi:#ed8b1f}.kpi-pink{--kpi:#e6538c}.kpi-slate{--kpi:#64748b}.kpi-red{--kpi:#dc4c4c}.kpi-cyan{--kpi:#19a9bf}
.status-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.38rem .62rem;border-radius:999px;font-size:.78rem;font-weight:900}
.status-ok{background:#eaf8f1;color:#187453}.status-warn{background:#fff5df;color:#9a6112}.status-danger{background:#fdeced;color:#b23a46}.status-info{background:#eef1ff;color:#534bdd}
.toolbar{display:flex;gap:.55rem;align-items:center;flex-wrap:wrap}
.table-pro{margin-bottom:0}
.table-pro>thead th{background:#f7f8fc;color:#6f7b92;font-size:.78rem;text-transform:none;letter-spacing:.01em;border-bottom:1px solid #e8ecf3}
.table-pro>tbody td{vertical-align:middle;color:#334155}
.table-pro>tbody tr:hover{background:#fafbff}
.form-control,.form-select{border-radius:12px;padding:.64rem .78rem;border-color:#dfe4ee;background:#fff}
.form-control:focus,.form-select:focus{border-color:#8c84ff;box-shadow:0 0 0 .2rem rgba(99,91,255,.10)}
.btn{border-radius:12px;padding:.62rem .9rem}
.btn-primary{background:#635bff;border-color:#635bff;box-shadow:0 7px 16px rgba(99,91,255,.18)}
.btn-primary:hover{background:#5148ee;border-color:#5148ee}
.btn-soft{background:#f0efff;color:#564ee7;border:1px solid #e2e0ff}.btn-soft:hover{background:#e8e6ff;color:#443bd7}
.summary-bar{background:#121a2e;color:#fff;border-radius:18px;padding:1rem 1.1rem;box-shadow:0 12px 26px rgba(15,23,42,.20)}
.summary-bar .summary-label{color:#aeb8cc;font-size:.79rem;font-weight:700}
.summary-bar .summary-value{font-weight:900;font-size:1.05rem}
.summary-total{font-size:1.35rem!important;color:#fff}
.denom-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem}
.denom-box{padding:.72rem;background:#fafbfe;border:1px solid #e7eaf2;border-radius:14px}
.denom-box label{display:block;font-size:.76rem;color:#778399;font-weight:800;margin-bottom:.35rem}
.info-strip{display:flex;gap:.7rem;align-items:flex-start;padding:.85rem 1rem;border-radius:14px;background:#f5f7ff;border:1px solid #e6e8ff;color:#555d7b}
.empty-state{text-align:center;padding:2rem;color:#8b96aa}
@media(max-width:991.98px){.topbar-meta{display:none}.page-icon{width:46px;height:46px}.page-title-pro{font-size:1.35rem}.denom-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575.98px){.kpi-value{font-size:1.25rem}.pro-card-body{padding:.9rem}.pro-card-header{padding:.9rem}.summary-bar{border-radius:14px}}

/* ===== Flash Home logo-inspired yellow/black theme ===== */
:root{
  --flash-yellow:#f5e71d;
  --flash-yellow-deep:#e9da12;
  --flash-yellow-soft:#fffad1;
  --flash-black:#0c0c0c;
  --flash-charcoal:#191919;
  --flash-ink:#1c1c1c;
  --flash-line:#e8e1a1;
}
body{
  background:
    radial-gradient(circle at top left, rgba(245,231,29,.26), transparent 24%),
    radial-gradient(circle at top right, rgba(245,231,29,.16), transparent 18%),
    linear-gradient(180deg,#fffef0 0%, #fffdf6 42%, #f9f9f0 100%);
  color:var(--flash-ink);
}
.topbar{
  background:linear-gradient(90deg,#050505,#171717)!important;
  box-shadow:0 12px 28px rgba(0,0,0,.20);
}
.topbar .brand-mark{
  background:linear-gradient(135deg,var(--flash-yellow),#fff46b);
  color:#000;
  box-shadow:0 8px 24px rgba(245,231,29,.24);
}
.topbar .nav-link{color:rgba(255,255,255,.78)!important}
.topbar .nav-link:hover{color:#000!important;background:var(--flash-yellow)}
.topbar .nav-link.active{
  color:#000!important;
  background:linear-gradient(135deg,var(--flash-yellow),#fff37a);
  box-shadow:none;
}
.topbar-pill{
  background:rgba(245,231,29,.12);
  border:1px solid rgba(245,231,29,.18);
  color:#fff3b2;
}
.navbar{border-bottom-color:rgba(245,231,29,.16)!important}
.page-title,.page-title-pro,.section-title,.app-card h3,.app-card h4,.app-card h5,.stat,.quick-card .value{color:#111827}
.page-subtitle,.page-subtitle-pro,.section-hint,.muted,.quick-card .label,.small-help{color:#6b7280!important}
.hero-banner{
  background:linear-gradient(135deg,#fff57a 0%, var(--flash-yellow) 35%, #f0de12 100%);
  color:#0b0b0b;
  border:1px solid rgba(12,12,12,.08);
  box-shadow:0 18px 38px rgba(245,231,29,.30);
}
.hero-banner::after{background:rgba(255,255,255,.28)}
.hero-banner::before{background:rgba(0,0,0,.05)}
.hero-banner .hero-text{opacity:1}
.app-card,.metric-card,.quick-card,.sticky-summary,.pro-card,.soft-panel{
  border-color:#eee8b6;
  box-shadow:0 10px 30px rgba(17,24,39,.06);
}
.soft-panel{background:linear-gradient(180deg,#ffffff,#fffef6)}
.metric-card{
  background:linear-gradient(180deg,#ffffff,#fffef8);
}
.metric-card.primary,.metric-card.sky,.metric-card.green,.metric-card.orange,.metric-card.rose,.metric-card.gray{
  background:linear-gradient(180deg,#fffef8,#fffce9);
}
.metric-card .metric-label{color:#52525b}
.metric-card.primary .metric-icon,
.metric-card.sky .metric-icon,
.metric-card.green .metric-icon,
.metric-card.orange .metric-icon,
.metric-card.rose .metric-icon,
.metric-card.gray .metric-icon{
  background:linear-gradient(135deg,#111111,#313131);
  color:var(--flash-yellow);
  box-shadow:0 10px 22px rgba(0,0,0,.14);
}
.table>thead th{
  background:#fffbe2;
  color:#3f3f46;
  border-bottom-color:#ede39c;
}
.table>:not(caption)>*>*{border-bottom-color:#f1ecbe}
.table tbody tr:hover{background:rgba(245,231,29,.11)}
.form-label{color:#262626}
.form-control,.form-select{
  border-color:#e8df9b;
  background:#fffefb;
}
.form-control:focus,.form-select:focus{
  border-color:#d2c107;
  box-shadow:0 0 0 .25rem rgba(245,231,29,.24);
  background:#fff;
}
.btn-primary{
  background:linear-gradient(135deg,var(--flash-yellow),#fff56a);
  color:#000;
  border:1px solid #d7c812;
  box-shadow:0 12px 24px rgba(245,231,29,.22);
}
.btn-primary:hover,.btn-primary:focus{
  background:linear-gradient(135deg,#fff068,#f0de12);
  color:#000;
  border-color:#c7b90d;
}
.btn-outline-primary{
  border-color:#171717;
  color:#111;
  background:#fffef5;
}
.btn-outline-primary:hover{
  background:var(--flash-yellow);
  border-color:#171717;
  color:#000;
}
.btn-outline-secondary{
  border-color:#d6d3b1;
  color:#2d2d2d;
  background:#fff;
}
.btn-outline-secondary:hover{background:#fffbe2;border-color:#cfc78f;color:#111}
.btn-outline-danger:hover{background:#fff1f2}
.list-chip,.code-kbd{
  background:#fff6ba;
  color:#27272a;
  border:1px solid #eadf8c;
}
.badge-soft{
  background:#fff6ba;
  color:#3b3b2d;
  border:1px solid #eadf8c;
}
.badge-soft-success{background:#ecfdf5;color:#166534;border:1px solid #bbf7d0}
.badge-soft-warning{background:#fff7cc;color:#854d0e;border:1px solid #f8de75}
.badge-soft-danger{background:#fff1f2;color:#991b1b;border:1px solid #fecaca}
.quick-card{background:linear-gradient(180deg,#fff,#fffef3)}
.empty-note{background:#fffef5;border-color:#e8df9b;color:#737373}
.hr-soft{background:linear-gradient(90deg,transparent,#eadf8c,transparent)}
.page-icon{
  background:linear-gradient(135deg,#111,#2b2b2b);
  color:var(--flash-yellow);
  box-shadow:0 10px 22px rgba(0,0,0,.18)
}
.info-box{border:1px solid #fde047;background:#fffbeb;color:#713f12}
.ok-box{border:1px solid #d9f99d;background:#f7fee7;color:#3f6212}
.warn-box{border:1px solid #fcd34d;background:#fffbeb;color:#854d0e}
.sticky-summary{
  background:rgba(255,255,250,.95);
  border-color:#eadf8c;
}

/* ===== v7 Soft Flash palette + improved Thai typography ===== */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Thai:wght@400;500;600;700;800&display=swap');

:root{
  --flash-yellow:#d8c93a;
  --flash-yellow-deep:#b9aa24;
  --flash-yellow-soft:#f3efcf;
  --flash-warm:#faf9f3;
  --flash-warm-2:#f4f2ea;
  --flash-black:#101010;
  --flash-charcoal:#242424;
  --flash-ink:#232323;
  --flash-muted:#707070;
  --flash-line:#e5e1d5;
}
html,body,
body,.form-control,.form-select,.btn,.table,.navbar,
.swal2-popup,.swal2-title,.swal2-html-container,.swal2-input{
  font-family:'Noto Sans Thai','Leelawadee UI',Tahoma,sans-serif!important;
}
body{
  background:
    radial-gradient(circle at top left, rgba(216,201,58,.08), transparent 24%),
    linear-gradient(180deg,#fbfaf6 0%,#f7f6f1 100%);
  color:var(--flash-ink);
  font-weight:400;
  letter-spacing:0;
}

/* Keep the brand yellow mainly on dark surfaces */
.topbar{
  background:linear-gradient(90deg,#090909,#1a1a1a)!important;
  box-shadow:0 10px 24px rgba(0,0,0,.18);
}
.topbar .brand-mark{
  background:#e7d83b;
  color:#050505;
  box-shadow:none;
}
.topbar .nav-link:hover{
  color:#111!important;
  background:#dfd247;
}
.topbar .nav-link.active{
  color:#111!important;
  background:#e5d83f;
}
.topbar-pill{
  background:rgba(255,255,255,.07);
  border-color:rgba(255,255,255,.10);
  color:#e7e7e7;
}

/* Light surfaces are neutral/warm instead of bright yellow */
.hero-banner{
  background:linear-gradient(135deg,#181818 0%,#252525 100%);
  color:#fff;
  border:1px solid #2f2f2f;
  box-shadow:0 14px 34px rgba(0,0,0,.12);
}
.hero-banner::after{background:rgba(229,216,63,.12)}
.hero-banner::before{background:rgba(255,255,255,.035)}
.hero-banner .hero-title{color:#fff}
.hero-banner .hero-text{color:#d8d8d8}
.hero-banner .hero-title::after{
  content:"";display:block;width:54px;height:4px;border-radius:99px;
  background:#ddcf3f;margin-top:.55rem;
}

.app-card,.pro-card,.metric-card,.quick-card,.sticky-summary,.soft-panel{
  background:#fff!important;
  border-color:var(--flash-line)!important;
  box-shadow:0 8px 26px rgba(17,24,39,.05)!important;
}
.soft-panel{background:linear-gradient(180deg,#fff,#fcfbf7)!important}
.page-title,.page-title-pro,.section-title,.app-card h3,.app-card h4,.app-card h5,.stat,.quick-card .value{
  color:#202020!important;
  letter-spacing:-.01em;
}
.page-title,.page-title-pro{font-weight:800!important}
.section-title,.app-card h3,.app-card h4,.app-card h5{font-weight:700!important}
.page-subtitle,.page-subtitle-pro,.section-hint,.muted,.quick-card .label,.small-help{
  color:#777!important;
}

.metric-card.primary,.metric-card.sky,.metric-card.green,.metric-card.orange,.metric-card.rose,.metric-card.gray{
  background:#fff!important;
}
.metric-card .metric-icon{
  background:#171717!important;
  color:#e0d240!important;
  box-shadow:0 8px 18px rgba(0,0,0,.10)!important;
}
.metric-card .metric-label{color:#666!important;font-weight:600}
.metric-card::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:4px;
  background:#d9cc45;
}
.metric-card::after{background:transparent!important}

.table>thead th{
  background:#f6f5f0!important;
  color:#505050!important;
  border-bottom-color:#e5e2d9!important;
  font-weight:700!important;
}
.table>:not(caption)>*>*{border-bottom-color:#ece9e1!important}
.table tbody tr:hover{background:#faf9f5!important}

.form-label{color:#333!important;font-weight:600!important}
.form-control,.form-select{
  background:#fff!important;
  border-color:#ddd9ce!important;
  color:#222!important;
  font-weight:400;
}
.form-control:focus,.form-select:focus{
  border-color:#c5b83c!important;
  box-shadow:0 0 0 .22rem rgba(216,201,58,.13)!important;
}
.form-control::placeholder{color:#a1a1a1!important}

/* Main actions use black; yellow becomes an accent instead of a large bright fill */
.btn-primary{
  background:#171717!important;
  color:#fff!important;
  border-color:#171717!important;
  box-shadow:0 8px 18px rgba(0,0,0,.10)!important;
}
.btn-primary:hover,.btn-primary:focus{
  background:#292929!important;
  color:#f2e449!important;
  border-color:#292929!important;
}
.btn-outline-primary{
  color:#2c2c2c!important;
  border-color:#bdb8a8!important;
  background:#fff!important;
}
.btn-outline-primary:hover{
  color:#111!important;
  background:#f0ecd0!important;
  border-color:#c9bd42!important;
}
.btn-outline-secondary{border-color:#d8d5cc!important;color:#555!important}
.btn-outline-secondary:hover{background:#f6f5f0!important;color:#222!important}

.list-chip,.code-kbd,.badge-soft{
  background:#f1eed8!important;
  color:#4c4936!important;
  border-color:#ded8aa!important;
}
.badge-soft-warning{background:#f5efd3!important;border-color:#e5d88d!important;color:#765e13!important}
.info-box{background:#f7f4df!important;border-color:#e2d78c!important;color:#5f521c!important}
.warn-box{background:#fff8df!important;border-color:#ead88c!important;color:#765e13!important}
.ok-box{background:#eef7ef!important;border-color:#cbe3cd!important;color:#30633a!important}
.danger-box{background:#fff2f2!important;border-color:#f1cccc!important;color:#962f2f!important}

.sticky-summary{
  background:rgba(255,255,255,.97)!important;
  border-color:#ddd9ce!important;
  box-shadow:0 12px 30px rgba(0,0,0,.08)!important;
}
.page-icon{
  background:#171717!important;
  color:#ddd03f!important;
  box-shadow:0 8px 18px rgba(0,0,0,.12)!important;
}
.empty-note{background:#faf9f5!important;border-color:#ddd9ce!important;color:#777!important}
.hr-soft{background:linear-gradient(90deg,transparent,#dfdbcf,transparent)!important}

@media (max-width:991.98px){
  .topbar .nav-link.active,.topbar .nav-link:hover{border-radius:12px}
}

/* payment selector */
.payment-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}
.payment-choice{border:1px solid #dedede;background:#fff;border-radius:18px;padding:1rem;text-align:left;display:flex;align-items:center;gap:.8rem;transition:.18s ease;color:#222}
.payment-choice:hover{border-color:#bbb;transform:translateY(-1px);box-shadow:0 8px 20px rgba(0,0,0,.05)}
.payment-choice.active{border-color:#1a1a1a;background:#191919;color:#fff;box-shadow:0 10px 24px rgba(0,0,0,.12)}
.payment-choice.active .payment-choice-icon{background:#f2df4b;color:#111}
.payment-choice-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:#f6f4e9;font-size:1.2rem;flex:0 0 44px}
.payment-choice b{display:block;font-weight:800}
.payment-choice small{display:block;color:#7c7c7c;margin-top:.15rem}
.payment-choice.active small{color:#cfcfcf}
.payment-full-box{border:1px solid #e3e0cf;background:#fbfaf5;border-radius:18px;padding:1rem 1.1rem}
.payment-full-label{font-size:.9rem;color:#6c6c6c;font-weight:700}
.payment-full-amount{font-size:1.5rem;font-weight:900;color:#161616;margin:.15rem 0}
.payment-status-box{border:1px solid #e2e2e2;background:#fafafa;border-radius:16px;padding:.78rem .9rem;color:#6b7280;font-weight:700}
.payment-status-box.ok{background:#f0fdf4;border-color:#bbf7d0;color:#166534}
.payment-status-box.warn{background:#fff7ed;border-color:#fed7aa;color:#9a3412}
.input-group-text{border-color:#d8d8d8;background:#f7f7f7;color:#555;border-radius:0 16px 16px 0}
@media(max-width:767.98px){.payment-choice-grid{grid-template-columns:1fr}.payment-choice{padding:.8rem}.payment-choice-icon{width:40px;height:40px;flex-basis:40px}}

/* ===== v10: aligned workspace + packaging price breakdown ===== */
.page-shell{max-width:1600px;margin-left:auto;margin-right:auto}
.box-row{padding:.85rem 0;border-bottom:1px solid #ececec}
.box-row:last-child{border-bottom:0}
.box-row-grid{display:grid;grid-template-columns:minmax(190px,2fr) 90px 120px 130px 42px;gap:.65rem;align-items:end}
.box-mini-label{display:block;font-size:.76rem;line-height:1.2;color:#7b7b7b;font-weight:700;margin-bottom:.38rem}
.box-money-cell{min-height:48px;padding:.55rem .7rem;border-radius:14px;background:#f7f7f5;border:1px solid #e5e5df;display:flex;flex-direction:column;justify-content:center}
.box-money-cell strong{font-size:1rem;color:#171717;font-variant-numeric:tabular-nums}
.box-remove-cell{display:flex;align-items:center;justify-content:center;padding-bottom:.18rem}
.box-total-panel{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;background:#171717;color:#fff;border-radius:16px}
.box-total-panel span{font-weight:700}
.box-total-panel strong{color:#f2e65b;font-size:1.2rem;font-variant-numeric:tabular-nums}
@media(max-width:991.98px){.box-row-grid{grid-template-columns:1fr 90px 110px 120px 42px}}
@media(max-width:767.98px){
  .box-row-grid{grid-template-columns:1fr 90px 42px}
  .box-row-grid>div:first-child{grid-column:1/-1}
  .box-money-cell:nth-child(3){grid-column:1/2}
  .box-money-cell:nth-child(4){grid-column:2/3}
  .box-remove-cell{grid-column:3/4;grid-row:2}
}

/* ===== v11 job type selector ===== */
.job-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.job-mode-btn{display:flex;align-items:center;gap:.8rem;text-align:left;padding:1rem;border:1px solid #deded8;background:#fff;border-radius:16px;color:#222;transition:.18s ease}
.job-mode-btn:hover{border-color:#b9b9b0;background:#fafaf7}
.job-mode-btn.active{border-color:#242424;background:#171717;color:#fff;box-shadow:0 8px 22px rgba(0,0,0,.10)}
.job-mode-btn .job-mode-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#f3f3ef;font-size:1.1rem;flex:0 0 auto}
.job-mode-btn.active .job-mode-icon{background:#f2e65b;color:#111}
.job-mode-btn b{display:block;font-size:.98rem}
.job-mode-btn small{display:block;color:#777;margin-top:.16rem}
.job-mode-btn.active small{color:#cfcfcf}
@media(max-width:767.98px){.job-mode-grid{grid-template-columns:1fr}}

/* ===== v12 Drop off automatic fee ===== */
.fee.dropoff-fee-locked{
  background:#f3f4f6 !important;
  border-color:#d1d5db !important;
  color:#111827 !important;
  font-weight:800;
  cursor:not-allowed;
}
.fee.dropoff-fee-locked:focus{
  box-shadow:none !important;
  border-color:#d1d5db !important;
}

/* ===== v13: Pixzell Incentive-like typography ===== */
@import url('https://fonts.googleapis.com/css2?family=Sarabun:wght@400;500;600;700;800&display=swap');

html{font-size:18.4px}
body,button,input,select,textarea,.btn,.form-control,.form-select,.table{
  font-family:"Sarabun",sans-serif !important;
}
body{
  font-size:16.1px;
  line-height:1.45;
  font-weight:400;
}
.navbar-brand{font-size:20.7px;font-weight:800}
.navbar .nav-link{font-size:16.1px;font-weight:600}
.topbar-meta{font-size:14.37px}
.page-title,.page-title-pro{font-size:1.45rem;font-weight:800;line-height:1.25}
.page-subtitle,.page-subtitle-pro{font-size:.88rem}
.hero-banner .hero-title{font-size:1.28rem;font-weight:800}
.hero-banner .hero-text{font-size:.9rem}
.section-title{font-size:1.02rem;font-weight:800}
.section-hint{font-size:.84rem}
.form-label{font-size:.86rem;font-weight:600}
.form-control,.form-select{font-size:.9rem}
.btn{font-size:.88rem;font-weight:600}
.btn-sm{font-size:.8rem}
.table{font-size:.86rem}
.table>thead th{font-size:.79rem;font-weight:700}
.metric-card .metric-label{font-size:.82rem;font-weight:600}
.stat{font-size:1.52rem;font-weight:800}
.quick-card .label{font-size:.82rem;font-weight:600}
.quick-card .value{font-size:1.25rem;font-weight:800}
.small-help{font-size:.78rem}
.list-chip{font-size:.78rem;font-weight:600}

/* Additional service breakdown */
.service-row{
  padding:.85rem 0;
  border-bottom:1px solid #ececec;
}
.service-row:last-child{border-bottom:0}
.service-row-grid{
  display:grid;
  grid-template-columns:minmax(150px,1.15fr) minmax(170px,1.35fr) 140px 130px 42px;
  gap:.65rem;
  align-items:end;
}
.service-mini-label{
  display:block;
  font-size:.76rem;
  line-height:1.2;
  color:#7b7b7b;
  font-weight:600;
  margin-bottom:.38rem;
}
.service-money-cell{
  min-height:48px;
  padding:.55rem .7rem;
  border-radius:14px;
  background:#f7f7f5;
  border:1px solid #e5e5df;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.service-money-cell strong{
  font-size:1rem;
  color:#171717;
  font-weight:700;
  font-variant-numeric:tabular-nums;
}
.service-amount-wrap{
  display:flex;
  align-items:center;
  gap:.35rem;
}
.service-amount-wrap>span{
  font-weight:700;
  color:#555;
}
.service-amount-wrap .form-control{
  min-width:0;
  padding:.38rem .5rem;
  height:34px;
}
.service-remove-cell{
  display:flex;
  align-items:center;
  justify-content:center;
  padding-bottom:.18rem;
}
.service-total-panel{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:.85rem 1rem;
  background:#171717;
  color:#fff;
  border-radius:16px;
}
.service-total-panel span{font-weight:600}
.service-total-panel strong{
  color:#f2e65b;
  font-size:1.15rem;
  font-weight:700;
  font-variant-numeric:tabular-nums;
}
@media(max-width:991.98px){
  .service-row-grid{grid-template-columns:1fr 1fr 125px 120px 42px}
}
@media(max-width:767.98px){
  body{font-size:15.52px}
  .page-title,.page-title-pro{font-size:1.3rem}
  .service-row-grid{grid-template-columns:1fr 1fr 42px}
  .service-row-grid>div:nth-child(1),
  .service-row-grid>div:nth-child(2){grid-column:auto}
  .service-money-cell:nth-child(3){grid-column:1/2}
  .service-money-cell:nth-child(4){grid-column:2/3}
  .service-remove-cell{grid-column:3/4;grid-row:2}
}

/* ===== v15: larger Pixzell-style typography ===== */
html{font-size:19.55px}
body{
  font-size:17.82px;
  line-height:1.5;
  letter-spacing:0;
}
.navbar-brand{
  font-size:23.0px !important;
  font-weight:800 !important;
}
.navbar .nav-link{
  font-size:17.25px !important;
  font-weight:700 !important;
}
.topbar-meta{
  font-size:15.52px !important;
}
.page-title,.page-title-pro{
  font-size:2rem !important;
  line-height:1.18 !important;
  font-weight:800 !important;
  letter-spacing:-.02em;
}
.page-subtitle,.page-subtitle-pro{
  font-size:1rem !important;
  line-height:1.45 !important;
}
.hero-banner .hero-title{
  font-size:1.55rem !important;
  font-weight:800 !important;
}
.hero-banner .hero-text{
  font-size:1rem !important;
  line-height:1.55 !important;
}
.section-title{
  font-size:1.12rem !important;
  line-height:1.3 !important;
  font-weight:800 !important;
}
.section-hint{
  font-size:.95rem !important;
  line-height:1.45 !important;
}
.pro-title{
  font-size:1.08rem !important;
  font-weight:800 !important;
}
.pro-desc{
  font-size:.93rem !important;
  line-height:1.45 !important;
}
.form-label{
  font-size:.95rem !important;
  font-weight:700 !important;
}
.form-control,.form-select{
  font-size:1rem !important;
  padding:.72rem .88rem !important;
}
.form-control::placeholder{
  font-size:.98rem !important;
}
.btn{
  font-size:.97rem !important;
  font-weight:700 !important;
  padding:.72rem 1rem !important;
}
.btn-sm{
  font-size:.88rem !important;
  padding:.5rem .8rem !important;
}
.table{
  font-size:.95rem !important;
}
.table>thead th,.table-pro>thead th{
  font-size:.88rem !important;
  font-weight:700 !important;
}
.table>tbody td,.table-pro>tbody td{
  font-size:.95rem !important;
}
.metric-card .metric-label,
.kpi-label{
  font-size:.92rem !important;
  font-weight:700 !important;
}
.stat,
.kpi-value{
  font-size:2rem !important;
  line-height:1.1 !important;
  font-weight:800 !important;
}
.kpi-note{
  font-size:.86rem !important;
}
.quick-card .label{
  font-size:.9rem !important;
  font-weight:700 !important;
}
.quick-card .value{
  font-size:1.45rem !important;
  font-weight:800 !important;
}
.small-help,
.list-chip,
.status-pill,
.badge,
.badge-soft,
.badge-soft-success,
.badge-soft-warning,
.badge-soft-danger{
  font-size:.84rem !important;
}
.summary-bar .summary-label{
  font-size:.9rem !important;
}
.summary-bar .summary-value{
  font-size:1.18rem !important;
}
.summary-total{
  font-size:1.55rem !important;
}
.box-mini-label,
.service-mini-label{
  font-size:.84rem !important;
  font-weight:700 !important;
}
.box-money-cell strong,
.service-money-cell strong{
  font-size:1.08rem !important;
}
.box-total-panel span,
.service-total-panel span{
  font-size:.98rem !important;
  font-weight:700 !important;
}
.box-total-panel strong,
.service-total-panel strong{
  font-size:1.28rem !important;
  font-weight:800 !important;
}
.job-mode-btn b{
  font-size:1.03rem !important;
}
.job-mode-btn small{
  font-size:.9rem !important;
}
.page-icon{
  width:58px !important;
  height:58px !important;
  font-size:1.45rem !important;
}
@media(max-width:991.98px){
  html{font-size:18.4px}
  body{font-size:17.25px}
  .page-title,.page-title-pro{font-size:1.75rem !important}
  .stat,.kpi-value{font-size:1.8rem !important}
}
@media(max-width:767.98px){
  body{font-size:16.67px}
  .page-title,.page-title-pro{font-size:1.55rem !important}
  .hero-banner .hero-title{font-size:1.35rem !important}
  .section-title{font-size:1.02rem !important}
  .form-control,.form-select,.btn{font-size:.95rem !important}
  .table{font-size:.9rem !important}
  .stat,.kpi-value{font-size:1.6rem !important}
}

/* ===== v16: Pixzell-tight density ===== */
body{
  font-size:17.25px !important;
  line-height:1.42 !important;
}
.page-shell{padding-bottom:24px !important}
.navbar{margin-bottom:18px !important}
.navbar-brand{font-size:21.85px !important}
.navbar .nav-link{
  font-size:16.67px !important;
  padding:.46rem .72rem !important;
}
.topbar-pill{
  padding:.34rem .58rem !important;
  font-size:14.37px !important;
}
.page-header,
.page-header-pro{
  margin-bottom:.85rem !important;
}
.page-title,.page-title-pro{
  font-size:1.72rem !important;
  line-height:1.15 !important;
  margin-bottom:.1rem !important;
}
.page-subtitle,.page-subtitle-pro{
  font-size:.92rem !important;
  margin-top:.12rem !important;
}
.hero-banner{
  padding:1rem 1.1rem .92rem !important;
  border-radius:20px !important;
  margin-bottom:1rem !important;
}
.hero-banner .hero-title{
  font-size:1.32rem !important;
}
.hero-banner .hero-text{
  font-size:.92rem !important;
  line-height:1.45 !important;
}
.app-card,
.pro-card{
  border-radius:18px !important;
}
.app-card.p-3,
.app-card.p-lg-4,
.pro-card-body{
  padding:1rem !important;
}
.panel-head{
  margin-bottom:.72rem !important;
}
.section-title{
  font-size:1rem !important;
}
.section-hint{
  font-size:.83rem !important;
}
.form-label{
  font-size:.86rem !important;
  margin-bottom:.32rem !important;
}
.form-control,.form-select{
  font-size:.92rem !important;
  padding:.55rem .72rem !important;
  border-radius:11px !important;
  min-height:42px;
}
textarea.form-control{min-height:78px !important}
.btn{
  font-size:.9rem !important;
  padding:.56rem .82rem !important;
  border-radius:11px !important;
}
.btn-sm{
  font-size:.82rem !important;
  padding:.4rem .65rem !important;
}
.table{
  font-size:.88rem !important;
}
.table>:not(caption)>*>*{
  padding:.62rem .7rem !important;
}
.table>thead th,
.table-pro>thead th{
  font-size:.8rem !important;
}
.table>tbody td,
.table-pro>tbody td{
  font-size:.88rem !important;
}
.metric-card,
.kpi-card{
  padding:.82rem .9rem !important;
  border-radius:16px !important;
}
.metric-card .metric-icon{
  width:40px !important;
  height:40px !important;
  border-radius:12px !important;
  margin-bottom:.58rem !important;
}
.metric-card .metric-label,
.kpi-label{
  font-size:.82rem !important;
}
.stat,.kpi-value{
  font-size:1.62rem !important;
}
.quick-grid{gap:.72rem !important}
.quick-card{
  padding:.8rem .9rem !important;
  border-radius:16px !important;
}
.quick-card .value{
  font-size:1.28rem !important;
}
.quick-card .label{
  font-size:.82rem !important;
}
.list-chip{
  font-size:.76rem !important;
  padding:.28rem .58rem !important;
}
.small-help{
  font-size:.76rem !important;
}
.job-mode-grid{
  gap:.6rem !important;
}
.job-mode-btn{
  padding:.78rem .88rem !important;
  border-radius:14px !important;
}
.job-mode-btn .job-mode-icon{
  width:38px !important;
  height:38px !important;
}
.job-mode-btn b{
  font-size:.94rem !important;
}
.job-mode-btn small{
  font-size:.8rem !important;
}
.box-row,
.service-row{
  padding:.6rem 0 !important;
}
.box-money-cell,
.service-money-cell{
  min-height:42px !important;
  padding:.42rem .58rem !important;
  border-radius:11px !important;
}
.box-mini-label,
.service-mini-label{
  font-size:.75rem !important;
  margin-bottom:.28rem !important;
}
.box-money-cell strong,
.service-money-cell strong{
  font-size:.96rem !important;
}
.box-total-panel,
.service-total-panel{
  padding:.68rem .8rem !important;
  border-radius:13px !important;
}
.box-total-panel strong,
.service-total-panel strong{
  font-size:1.12rem !important;
}
.sticky-summary{
  padding:10px 12px !important;
  border-radius:16px !important;
  bottom:10px !important;
}
.summary-bar{
  padding:.8rem .9rem !important;
  border-radius:15px !important;
}
.summary-bar .summary-label{
  font-size:.78rem !important;
}
.summary-bar .summary-value{
  font-size:1.02rem !important;
}
.summary-total{
  font-size:1.32rem !important;
}
.danger-box,.ok-box,.info-box,.warn-box{
  padding:.78rem .9rem !important;
  border-radius:14px !important;
}
@media(max-width:991.98px){
  .page-title,.page-title-pro{font-size:1.55rem !important}
}
@media(max-width:767.98px){
  body{font-size:16.1px !important}
  .page-title,.page-title-pro{font-size:1.4rem !important}
  .form-control,.form-select{min-height:40px}
}

/* ===== v17: payment full amount inline ===== */
.payment-choice-main{
  min-width:0;
  flex:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
}
.payment-choice-main b{
  white-space:nowrap;
}
.payment-choice-full{
  margin-left:auto;
  font-size:.88rem;
  line-height:1.2;
  font-weight:700;
  white-space:nowrap;
  color:#555;
  font-variant-numeric:tabular-nums;
}
.payment-choice.active .payment-choice-full{
  color:#f2e65b;
}
@media(max-width:767.98px){
  .payment-choice-main{
    align-items:flex-start;
    flex-direction:column;
    gap:.12rem;
  }
  .payment-choice-full{
    margin-left:0;
    font-size:.82rem;
  }
}

/* ===== v18: prominent checkout summary ===== */
.checkout-summary{
  display:flex;
  align-items:stretch;
  justify-content:space-between;
  gap:1rem;
  padding:0 !important;
  overflow:hidden;
  border:1px solid #d8d8d2 !important;
  background:#fff !important;
  box-shadow:0 12px 30px rgba(0,0,0,.10) !important;
}
.checkout-summary-left{
  flex:1;
  min-width:0;
  padding:.9rem 1rem;
}
.checkout-breakdown{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.65rem;
  margin-bottom:.7rem;
}
.checkout-item{
  display:flex;
  flex-direction:column;
  gap:.12rem;
  padding:.58rem .72rem;
  border-radius:12px;
  background:#f7f7f4;
  border:1px solid #e4e4dc;
}
.checkout-item span{
  font-size:.8rem;
  color:#6b6b66;
  font-weight:600;
}
.checkout-item strong{
  font-size:1.08rem;
  color:#191919;
  font-weight:800;
  font-variant-numeric:tabular-nums;
}
.checkout-total-row{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:1rem;
  padding-top:.65rem;
  border-top:1px solid #ecece6;
}
.checkout-total-label{
  display:block;
  font-size:.82rem;
  color:#6d6d67;
  font-weight:700;
  margin-bottom:.12rem;
}
.checkout-total-value{
  display:block;
  font-size:1.7rem;
  line-height:1;
  color:#111;
  font-weight:800;
  font-variant-numeric:tabular-nums;
}
.checkout-payment-status{
  font-size:.9rem;
  font-weight:700;
  white-space:nowrap;
}
.checkout-submit{
  min-width:180px;
  border-radius:0 !important;
  font-size:1rem !important;
  font-weight:800 !important;
  padding:0 1.4rem !important;
  background:#171717 !important;
  border-color:#171717 !important;
  color:#fff !important;
  box-shadow:none !important;
}
.checkout-submit:hover{
  background:#000 !important;
  border-color:#000 !important;
  color:#f2e65b !important;
}
@media(max-width:767.98px){
  .checkout-summary{
    flex-direction:column;
  }
  .checkout-breakdown{
    grid-template-columns:1fr;
  }
  .checkout-total-row{
    align-items:flex-start;
    flex-direction:column;
  }
  .checkout-submit{
    min-height:54px;
    width:100%;
    border-radius:0 0 15px 15px !important;
  }
}

/* ===== v19 edit existing jobs ===== */
.table .btn-outline-secondary{white-space:nowrap}
button:disabled,.btn:disabled{opacity:.55;cursor:not-allowed}

/* ===== v20: parcel section total ===== */
.parcel-total-panel{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:.72rem .85rem;
  border-radius:13px;
  background:#171717;
  color:#fff;
}
.parcel-total-panel>div{
  display:flex;
  flex-direction:column;
  gap:.08rem;
}
.parcel-total-panel span{
  font-size:.95rem;
  font-weight:700;
}
.parcel-total-panel small{
  color:#bfc0ba;
  font-size:.76rem;
  font-weight:500;
}
.parcel-total-panel strong{
  color:#f2e65b;
  font-size:1.18rem;
  line-height:1;
  font-weight:800;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
@media(max-width:575.98px){
  .parcel-total-panel{
    padding:.68rem .75rem;
  }
  .parcel-total-panel strong{
    font-size:1.08rem;
  }
}


/* ===== v22 jobs: parcel count, tracking numbers, non-zero breakdown ===== */
.job-parcel-count{
  font-size:.96rem;
  color:#1f1f1f;
}
.tracking-list{
  display:flex;
  flex-wrap:wrap;
  gap:.28rem;
  max-width:340px;
}
.tracking-chip{
  display:inline-flex;
  align-items:center;
  padding:.23rem .46rem;
  border-radius:8px;
  border:1px solid #e1ddd4;
  background:#faf9f5;
  color:#55524c;
  font-size:.76rem;
  line-height:1.15;
  font-weight:600;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.job-grand-total{
  font-size:1.04rem;
  font-variant-numeric:tabular-nums;
}
.job-breakdown{
  color:#68645d;
  font-size:.8rem;
  line-height:1.35;
  white-space:normal;
  max-width:260px;
  margin-left:auto;
}
@media(max-width:1199.98px){
  .tracking-list{max-width:260px}
}

/* ===== v24 jobs: split tracking/sender/receiver lines ===== */
.job-track-line{
  font-size:.79rem;
  line-height:1.35;
  color:#6a665f;
  margin-bottom:.22rem;
  font-variant-numeric:tabular-nums;
  word-break:break-all;
}
.job-route-line{
  font-size:.95rem;
  line-height:1.32;
  color:#1f1f1f;
  word-break:break-word;
}
.job-route-line b{font-weight:800}
.job-route-line.small-route{
  margin-top:.05rem;
}
.route-arrow{
  color:#7a766e;
  font-weight:700;
  margin-right:.18rem;
}

/* ===== v25 jobs: each parcel is one complete line ===== */
.job-parcel-routes{
  display:flex;
  flex-direction:column;
  gap:.34rem;
}
.job-parcel-route{
  display:grid;
  grid-template-columns:minmax(145px,auto) minmax(90px,1fr) 18px minmax(90px,1fr);
  align-items:center;
  gap:.35rem;
  padding:.35rem .48rem;
  border:1px solid #ebe7df;
  background:#fbfaf7;
  border-radius:9px;
  line-height:1.25;
}
.route-tracking{
  font-size:.78rem;
  font-weight:700;
  color:#625e57;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.route-sender,.route-receiver{
  font-size:.86rem;
  font-weight:700;
  color:#202020;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.job-parcel-route .route-arrow{
  margin:0;
  text-align:center;
  color:#8a857c;
}
@media(max-width:1199.98px){
  .job-parcel-route{
    grid-template-columns:1fr;
    gap:.12rem;
  }
  .job-parcel-route .route-arrow{
    display:none;
  }
  .route-sender::after{
    content:" →";
    color:#8a857c;
  }
}

/* ===== v26 jobs: keep count separate, show tracking inline with route ===== */
.job-parcel-routes{
  display:flex;
  flex-direction:column;
  gap:.34rem;
  min-width:300px;
}
.job-parcel-route{
  display:grid;
  grid-template-columns:minmax(145px,auto) minmax(90px,1fr) 18px minmax(90px,1fr);
  align-items:center;
  gap:.35rem;
  padding:.38rem .52rem;
  border:1px solid #ebe7df;
  background:#fbfaf7;
  border-radius:9px;
  line-height:1.25;
}
.route-tracking{
  font-size:.79rem;
  font-weight:700;
  color:#625e57;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.route-sender,.route-receiver{
  font-size:.86rem;
  font-weight:700;
  color:#202020;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.job-parcel-route .route-arrow{
  margin:0;
  text-align:center;
  color:#8a857c;
}
@media(max-width:1199.98px){
  .job-parcel-routes{min-width:0}
  .job-parcel-route{
    grid-template-columns:1fr;
    gap:.12rem;
  }
  .job-parcel-route .route-arrow{display:none}
  .route-sender::after{content:" →";color:#8a857c}
}

/* ===== v27 jobs component totals ===== */
.jobs-component-summary .metric-card{
  min-height:118px;
}
.jobs-component-summary .metric-label{
  line-height:1.25;
}
.jobs-component-summary .stat{
  margin-top:.25rem;
}

/* ===== v30: tracking number chip style ===== */
.job-parcel-route{
  align-items:center;
}
.route-tracking{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  max-width:100%;
  padding:.24rem .62rem;
  border:1px solid #d6d0c3;
  background:#f7f4ee;
  border-radius:10px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
  color:#5d5952;
  font-size:.78rem;
  font-weight:700;
  line-height:1.15;
  white-space:nowrap;
}
@media(max-width:1199.98px){
  .route-tracking{
    white-space:normal;
    word-break:break-all;
    width:fit-content;
  }
}

/* ===== v31: force visible tracking pill ===== */
.tracking-number-chip{
  display:inline-flex !important;
  align-items:center !important;
  width:max-content !important;
  max-width:100% !important;
  padding:3px 9px !important;
  border:1px solid #cfc7b8 !important;
  background:#f8f5ef !important;
  border-radius:9px !important;
  color:#514d46 !important;
  font-size:14.37px !important;
  font-weight:700 !important;
  line-height:1.15 !important;
  white-space:nowrap !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9) !important;
}

/* ===== v32: border only around tracking number ===== */
.job-parcel-route{
  border:0 !important;
  background:transparent !important;
  border-radius:0 !important;
  padding:.16rem 0 !important;
  box-shadow:none !important;
}
.route-sender,
.route-receiver,
.job-parcel-route .route-arrow{
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  padding:0 !important;
  box-shadow:none !important;
}
.tracking-number-chip{
  border:1px solid #cfc7b8 !important;
  background:#f8f5ef !important;
  border-radius:9px !important;
  padding:3px 9px !important;
}

/* ===== v33 delete job action ===== */
.table .btn-outline-danger{white-space:nowrap}

/* ===== v34 jobs overview grouped by meaning ===== */
.jobs-overview-card{
  padding:1rem 1.05rem;
  border:1px solid #e6e1d8 !important;
  background:#fff !important;
  box-shadow:0 8px 22px rgba(18,18,18,.05) !important;
  border-radius:18px !important;
}
.jobs-overview-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:.8rem;
  padding-bottom:.75rem;
  border-bottom:1px solid #eee9e0;
}
.jobs-overview-title{font-size:1rem;font-weight:800;color:#1d1d1d;line-height:1.25}
.jobs-overview-sub{font-size:.78rem;color:#7b776f;margin-top:.18rem;line-height:1.35}
.jobs-overview-icon{
  width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;
  border-radius:12px;background:#f5f0e3;color:#48433a;font-weight:800;flex:0 0 auto;
}
.jobs-overview-pair{
  min-height:108px;display:grid;grid-template-columns:1fr 1px 1fr;align-items:center;gap:1rem;
}
.jobs-overview-divider{width:1px;height:54px;background:#e5dfd4}
.jobs-overview-metric{text-align:center}
.jobs-overview-metric span{display:block;color:#716d66;font-size:.8rem;font-weight:600}
.jobs-overview-metric strong{display:inline-block;font-size:2rem;line-height:1.05;color:#161616;font-weight:800;margin-top:.3rem}
.jobs-overview-metric small{margin-left:.22rem;color:#716d66;font-size:.78rem;font-weight:600}
.jobs-payment-total{
  display:flex;align-items:baseline;justify-content:space-between;gap:1rem;
  padding:.8rem 0 .7rem;
}
.jobs-payment-total span{font-size:.86rem;font-weight:700;color:#5f5b54}
.jobs-payment-total strong{font-size:1.8rem;line-height:1;color:#151515;font-weight:800;font-variant-numeric:tabular-nums}
.jobs-payment-split{
  display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:.55rem;
  padding:.65rem .75rem;border:1px solid #ebe5da;border-radius:13px;background:#faf8f4;
}
.jobs-payment-split>div{min-width:0}
.jobs-payment-split span{display:block;font-size:.72rem;color:#777169;font-weight:600}
.jobs-payment-split b{display:block;margin-top:.1rem;font-size:.9rem;color:#222;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.jobs-equation{font-size:1rem !important;color:#a29a8d !important;font-weight:700 !important}
.jobs-payment-check{padding-left:.1rem}
.jobs-payment-check b{color:#17784f}
.jobs-flash-wallet-row{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:.78rem .85rem;margin-top:.7rem;border:1px solid #e4dfd5;border-radius:13px;background:#f7f5f0;
}
.jobs-flash-wallet-row span{display:block;font-size:.84rem;font-weight:800;color:#34322e}
.jobs-flash-wallet-row small{display:block;font-size:.72rem;color:#7c776e;margin-top:.12rem}
.jobs-flash-wallet-row strong{font-size:1.25rem;color:#151515;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.jobs-other-income-label{font-size:.73rem;color:#837e75;font-weight:700;text-transform:none;margin:.7rem 0 .35rem}
.jobs-other-income-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}
.jobs-other-income-grid>div{padding:.58rem .62rem;border-radius:11px;background:#fff;border:1px solid #eee8de}
.jobs-other-income-grid span{display:block;font-size:.7rem;color:#7a756d;font-weight:600;line-height:1.25}
.jobs-other-income-grid b{display:block;margin-top:.18rem;font-size:.92rem;color:#222;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
@media(max-width:1199.98px){
  .jobs-overview-pair{min-height:88px}
}
@media(max-width:767.98px){
  .jobs-payment-split{grid-template-columns:1fr auto 1fr;row-gap:.5rem}
  .jobs-payment-split .jobs-payment-check{grid-column:1/-1;border-top:1px solid #e7e1d8;padding-top:.45rem}
  .jobs-payment-split .jobs-equation:nth-of-type(2){display:none}
  .jobs-other-income-grid{grid-template-columns:1fr}
}

/* ===== v35 jobs summary: two clear equations ===== */
.jobs-equation-card{display:flex;flex-direction:column}.jobs-main-total{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding:.7rem .8rem;margin:.1rem 0 .7rem;border-radius:12px;background:#faf8f3;border:1px solid #ebe4d8}.jobs-main-total span{font-size:.9rem;color:#69645c;font-weight:700}.jobs-main-total strong{font-size:1.55rem;line-height:1;color:#202020;font-weight:800}.jobs-equation-line{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:.45rem}.jobs-equation-item,.jobs-component-item{min-width:0}.jobs-equation-item{padding:.55rem .6rem;border-radius:10px;background:#fff;border:1px solid #eee9e0}.jobs-equation-item span,.jobs-component-item span{display:block;font-size:.75rem;color:#7b756d;margin-bottom:.1rem}.jobs-equation-item b,.jobs-component-item b{display:block;font-size:.94rem;color:#252525;white-space:nowrap}.jobs-equation-result{background:#fff9df;border-color:#eadb8f}.jobs-equation-symbol{color:#8b857c;font-weight:800;font-size:1rem;text-align:center}.jobs-component-equation{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center;gap:.35rem}.jobs-component-item{padding:.48rem .52rem;border:1px solid #eee9e0;border-radius:10px;background:#fff}.jobs-equation-foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.65rem;padding-top:.65rem;border-top:1px dashed #ddd4c5;font-size:.78rem;color:#746f66}.jobs-equation-foot b{color:#202020;font-size:.9rem;white-space:nowrap}@media(max-width:1199.98px){.jobs-equation-line{grid-template-columns:1fr auto 1fr}.jobs-equation-line .jobs-equation-result{grid-column:1/-1}.jobs-component-equation{grid-template-columns:1fr auto 1fr}.jobs-component-equation .jobs-equation-symbol:nth-of-type(2),.jobs-component-equation .jobs-equation-symbol:nth-of-type(3){display:none}}@media(max-width:575.98px){.jobs-equation-line,.jobs-component-equation{grid-template-columns:1fr}.jobs-equation-symbol{display:none!important}.jobs-equation-foot{align-items:flex-start;flex-direction:column;gap:.25rem}}

/* ===== v36: show totals once; components only underneath ===== */
.jobs-equation-line-simple{
  grid-template-columns:1fr auto 1fr !important;
}
.jobs-equation-line-simple .jobs-equation-item{
  min-width:0;
}
.jobs-component-equation{
  margin-top:.05rem;
}

/* ===== v38: one daily total, two explanations ===== */
.jobs-daily-total-card{
  padding:1rem 1.05rem;
}
.jobs-daily-total-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:1rem;
  padding-bottom:.8rem;
  border-bottom:1px solid #ebe4d8;
}
.jobs-daily-total-number{
  font-size:1.75rem;
  font-weight:800;
  line-height:1;
  color:#202020;
  white-space:nowrap;
}
.jobs-daily-total-body{
  display:grid;
  grid-template-columns:minmax(0,.8fr) 1px minmax(0,1.35fr);
  gap:1rem;
  padding-top:.9rem;
}
.jobs-daily-split{
  background:#ebe4d8;
}
.jobs-daily-side-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:.75rem;
  margin-bottom:.7rem;
}
.jobs-daily-side-title{
  font-weight:800;
  font-size:.98rem;
  color:#272727;
}
.jobs-daily-side-sub{
  margin-top:.08rem;
  color:#7a756d;
  font-size:.76rem;
}
.jobs-equation-simple{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:.45rem;
}
.jobs-component-equation-v38{
  grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;
}
@media(max-width:1199.98px){
  .jobs-daily-total-body{
    grid-template-columns:1fr;
  }
  .jobs-daily-split{
    width:100%;
    height:1px;
  }
}
@media(max-width:767.98px){
  .jobs-daily-total-head{
    align-items:flex-start;
    flex-direction:column;
    gap:.35rem;
  }
  .jobs-equation-simple,
  .jobs-component-equation-v38{
    grid-template-columns:1fr;
  }
  .jobs-equation-symbol{
    display:none !important;
  }
}

/* ===== v39: clearer two-view cards inside daily total ===== */
.jobs-daily-total-body{
  grid-template-columns:minmax(0,.82fr) minmax(0,1.28fr) !important;
  gap:1rem !important;
}
.jobs-daily-split{
  display:none !important;
}
.jobs-daily-side{
  border:1px solid #e4ddd1;
  background:#fcfbf8;
  border-radius:14px;
  padding:.9rem;
  box-shadow:0 1px 0 rgba(255,255,255,.8) inset;
}
.jobs-daily-side:first-child{
  background:#fffdfa;
}
.jobs-daily-side:last-child{
  background:#faf9f6;
}
.jobs-daily-side-head{
  padding-bottom:.65rem;
  margin-bottom:.7rem;
  border-bottom:1px solid #ebe5dc;
}
.jobs-daily-side-title{
  font-size:1rem;
}
.jobs-daily-side-sub{
  line-height:1.35;
}
@media(max-width:1199.98px){
  .jobs-daily-total-body{
    grid-template-columns:1fr !important;
  }
}

/* ===== v40: bigger amount boxes for clearer daily totals ===== */
.jobs-equation-simple,
.jobs-component-equation-v38{
  gap:.65rem !important;
}
.jobs-component-item{
  min-height:82px !important;
  padding:.72rem .78rem !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
}
.jobs-component-item span{
  font-size:.82rem !important;
  margin-bottom:.26rem !important;
}
.jobs-component-item b{
  font-size:1.18rem !important;
  line-height:1.05 !important;
  font-weight:800 !important;
  letter-spacing:.01em;
}
.jobs-equation-symbol{
  font-size:1.25rem !important;
  font-weight:800 !important;
}
@media(min-width:1400px){
  .jobs-component-item{
    min-height:88px !important;
    padding:.8rem .9rem !important;
  }
  .jobs-component-item b{
    font-size:1.28rem !important;
  }
}

/* ===== v41: prevent 4-5 digit amounts from wrapping ===== */
.jobs-component-item{
  min-width:0 !important;
}
.jobs-component-item b{
  white-space:nowrap !important;
  overflow:visible !important;
  text-overflow:clip !important;
  font-size:clamp(.98rem, 1.15vw, 1.22rem) !important;
  letter-spacing:0 !important;
}
.jobs-equation-simple .jobs-component-item b{
  font-size:clamp(1.02rem, 1.25vw, 1.28rem) !important;
}
.jobs-component-equation-v38{
  grid-template-columns:
    minmax(0,1.22fr) auto
    minmax(0,.86fr) auto
    minmax(0,.96fr) auto
    minmax(0,.86fr) !important;
}
.jobs-equation-simple{
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) !important;
}
.jobs-equation-symbol{
  flex:0 0 auto !important;
  min-width:14px;
}
@media(max-width:1399.98px){
  .jobs-component-item{
    padding:.68rem .62rem !important;
  }
  .jobs-component-item span{
    font-size:.77rem !important;
  }
  .jobs-component-item b{
    font-size:clamp(.92rem,1.18vw,1.12rem) !important;
  }
}
@media(max-width:1199.98px){
  .jobs-component-equation-v38{
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) !important;
  }
  .jobs-component-equation-v38 .jobs-component-item{
    min-width:0 !important;
  }
}
@media(max-width:767.98px){
  .jobs-component-item b{
    white-space:nowrap !important;
  }
}

/* ===== v42 future-ready payment channels ===== */
.payment-choice-grid-extended{grid-template-columns:repeat(5,minmax(0,1fr)) !important;}
.jobs-payment-channel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;}
@media(max-width:1399.98px){.payment-choice-grid-extended{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}}
@media(max-width:991.98px){.payment-choice-grid-extended{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}}
@media(max-width:575.98px){.payment-choice-grid-extended,.jobs-payment-channel-grid{grid-template-columns:1fr !important;}}

/* ===== v43 admin-managed payment channels ===== */
.payment-channel-admin-list{display:flex;flex-direction:column;gap:.65rem}.payment-channel-admin-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem .8rem;border:1px solid #e8e2d8;border-radius:12px;background:#fcfbf8}.payment-channel-add{padding:.85rem;border:1px dashed #ddd5c7;border-radius:12px;background:#faf8f3}.payment-choice-grid-extended{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}@media(max-width:575.98px){.payment-channel-admin-row{align-items:flex-start;flex-direction:column}}

/* ===== v44: show full total on all payment choices ===== */
.payment-choice-main{min-width:0}
.payment-choice-main .payment-choice-full{
  display:block;
  margin-top:.18rem;
  line-height:1.2;
  white-space:nowrap;
}
.payment-choice-main small + .payment-choice-full{margin-top:.22rem}

/* ===== v45: show only non-zero daily summary items ===== */
.jobs-component-equation-v45{display:flex;align-items:stretch;gap:.65rem;flex-wrap:wrap}
.jobs-component-equation-v45 .jobs-component-item{flex:1 1 135px;min-width:135px !important}
.jobs-component-equation-v45 .jobs-equation-symbol{align-self:center;flex:0 0 auto}
.jobs-empty-summary{min-height:82px;display:flex;align-items:center;justify-content:center;border:1px dashed #ddd5c7;border-radius:12px;background:#faf9f6;color:#8a857d;font-size:.88rem}
@media(max-width:767.98px){.jobs-component-equation-v45{display:grid;grid-template-columns:1fr}.jobs-component-equation-v45 .jobs-equation-symbol{display:none !important}}


/* ===== v46: prevent payment-choice full amount overflow ===== */
.payment-choice-grid-extended .payment-choice{
  align-items:flex-start;
  min-height:96px;
}
.payment-choice-grid-extended .payment-choice-main{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  gap:.16rem !important;
  width:100%;
}
.payment-choice-grid-extended .payment-choice-main b{
  white-space:normal;
  line-height:1.15;
}
.payment-choice-grid-extended .payment-choice-main small{
  display:block;
  color:#7a756d;
  line-height:1.2;
}
.payment-choice-grid-extended .payment-choice-main .payment-choice-full{
  display:block;
  margin-left:0 !important;
  margin-top:.24rem !important;
  white-space:normal !important;
  word-break:break-word;
  font-size:.83rem;
  line-height:1.2;
}
.payment-choice-grid-extended .payment-choice-main .payment-choice-full span{
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
@media (max-width: 1399.98px){
  .payment-choice-grid-extended .payment-choice{min-height:102px;}
}
@media (max-width: 575.98px){
  .payment-choice-grid-extended .payment-choice{min-height:auto;}
}


/* ===== v48: plus signs in customer payment summary ===== */
.jobs-payment-channel-grid-v48{
  display:flex;
  align-items:stretch;
  gap:.65rem;
  flex-wrap:wrap;
}
.jobs-payment-channel-grid-v48 .jobs-component-item{
  flex:1 1 135px;
  min-width:135px !important;
  max-width:220px;
}
.jobs-payment-channel-grid-v48 .jobs-equation-symbol{
  align-self:center;
  flex:0 0 auto;
}
@media(max-width:767.98px){
  .jobs-payment-channel-grid-v48{
    display:grid;
    grid-template-columns:1fr;
  }
  .jobs-payment-channel-grid-v48 .jobs-equation-symbol{
    display:none !important;
  }
}
\n\n/* ===== v49: compact Drop off + split total jobs ===== */
.jobs-component-equation-v45 .jobs-component-item{
  flex:0 1 180px !important;
  min-width:135px !important;
  max-width:210px !important;
}
.jobs-component-equation-v45 .jobs-component-item.is-dropoff{
  flex:0 0 auto !important;
  min-width:118px !important;
  max-width:145px !important;
  width:auto !important;
}
.jobs-overview-total{
  display:flex;
  align-items:baseline;
  gap:.35rem;
  margin-top:.65rem;
  padding:.58rem .65rem;
  border:1px solid #e9e2d7;
  background:#faf8f3;
  border-radius:11px;
}
.jobs-overview-total span{font-size:.8rem;color:#6e6961;font-weight:700}
.jobs-overview-total strong{margin-left:auto;font-size:1.4rem;line-height:1;color:#202020}
.jobs-overview-total small{color:#7c766d;font-size:.75rem}
.jobs-overview-breakdown{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center;
  gap:.4rem;
  margin-top:.55rem;
}
.jobs-overview-mini{
  padding:.5rem .55rem;
  border:1px solid #eee8df;
  background:#fff;
  border-radius:10px;
  min-width:0;
}
.jobs-overview-mini span{display:block;font-size:.68rem;color:#777168;line-height:1.25;margin-bottom:.12rem}
.jobs-overview-mini b{font-size:1.05rem;color:#222}
.jobs-overview-mini small{font-size:.7rem;color:#827c73}
.jobs-overview-plus{font-weight:800;color:#89837a}
.jobs-overview-parcels{
  display:flex;
  align-items:baseline;
  gap:.3rem;
  margin-top:.55rem;
  padding-top:.5rem;
  border-top:1px dashed #ddd5c7;
  color:#706a62;
  font-size:.76rem;
}
.jobs-overview-parcels b{margin-left:auto;font-size:1rem;color:#222}
.jobs-overview-parcels small{color:#827c73}
@media(max-width:767.98px){
  .jobs-component-equation-v45 .jobs-component-item.is-dropoff{
    max-width:none !important;
    width:100% !important;
  }
}


/* ===== v50: emphasize parcel jobs and parcel count ===== */
.jobs-overview-important{
  padding:.7rem .68rem !important;
  border-color:#d8cfbd !important;
  background:#faf7ef !important;
}
.jobs-overview-important span,
.jobs-overview-important-parcels > span{
  font-size:.78rem !important;
  font-weight:800 !important;
  color:#4f4a43 !important;
}
.jobs-overview-important-value{
  display:flex;
  align-items:baseline;
  gap:.22rem;
  margin-top:.1rem;
}
.jobs-overview-important .jobs-overview-important-value b,
.jobs-overview-important-parcels .jobs-overview-important-value b{
  font-size:1.52rem !important;
  line-height:1 !important;
  font-weight:800 !important;
  color:#1f1f1f !important;
}
.jobs-overview-important .jobs-overview-important-value small,
.jobs-overview-important-parcels .jobs-overview-important-value small{
  font-size:.78rem !important;
  color:#6f6960 !important;
}
.jobs-overview-important-parcels{
  margin-top:.6rem !important;
  padding:.68rem .7rem !important;
  border:1px solid #d8cfbd !important;
  border-radius:10px !important;
  background:#faf7ef !important;
}
.jobs-overview-important-parcels .jobs-overview-important-value{
  margin-left:auto;
}


/* ===== v51: only parcel jobs + parcel count are visually primary ===== */
.jobs-overview-secondary-total{
  padding:.42rem .55rem !important;
  margin-top:.5rem !important;
  background:transparent !important;
  border:0 !important;
  border-bottom:1px dashed #e3ddd3 !important;
  border-radius:0 !important;
}
.jobs-overview-secondary-total span{
  font-size:.72rem !important;
  font-weight:600 !important;
  color:#8a847c !important;
}
.jobs-overview-secondary-total strong{
  font-size:.98rem !important;
  font-weight:700 !important;
  color:#625d56 !important;
}
.jobs-overview-secondary-total small{
  font-size:.68rem !important;
  color:#918b82 !important;
}
.jobs-overview-secondary{
  padding:.46rem .5rem !important;
  background:#fcfbf8 !important;
  border-color:#f0ebe3 !important;
}
.jobs-overview-secondary span{
  font-size:.64rem !important;
  font-weight:500 !important;
  color:#999289 !important;
}
.jobs-overview-secondary b{
  font-size:.88rem !important;
  font-weight:700 !important;
  color:#777168 !important;
}
.jobs-overview-secondary small{
  font-size:.64rem !important;
  color:#999289 !important;
}
.jobs-overview-important,
.jobs-overview-important-parcels{
  border:1.5px solid #cfc3ad !important;
  background:#fffaf0 !important;
}
.jobs-overview-important .jobs-overview-important-value b,
.jobs-overview-important-parcels .jobs-overview-important-value b{
  font-size:1.72rem !important;
}
.jobs-overview-important span,
.jobs-overview-important-parcels > span{
  font-size:.82rem !important;
}


/* ===== v54: day / range / month date filter ===== */
.jobs-period-switch{
  display:inline-flex;
  padding:4px;
  border:1px solid #ddd6c9;
  border-radius:12px;
  background:#f7f4ee;
  gap:3px;
}
.jobs-period-btn{
  border:0;
  background:transparent;
  color:#6f6a62;
  font-weight:700;
  font-size:.86rem;
  padding:.48rem .9rem;
  border-radius:9px;
  line-height:1;
}
.jobs-period-btn:hover{background:#fff}
.jobs-period-btn.active{
  background:#202020;
  color:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.12);
}
.jobs-date-mode{display:none}
@media(max-width:575.98px){
  .jobs-period-switch{display:grid;grid-template-columns:repeat(3,1fr);width:100%}
  .jobs-period-btn{padding:.55rem .45rem}
}

/* ===== v55 automatic jobs filters ===== */
.jobs-auto-filter-note{
  min-height:40px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:.45rem .6rem;
  border:1px solid #e4ddd1;
  border-radius:10px;
  background:#faf8f3;
  color:#777168;
  font-size:.78rem;
  font-weight:700;
  white-space:nowrap;
}


/* ===== v57: invalid Flash shipping fee ===== */
.fee.is-invalid{
  border-color:#dc3545 !important;
  box-shadow:0 0 0 .18rem rgba(220,53,69,.12) !important;
}

/* ===== v59: vertical cash denomination entry ===== */
.cash-entry-widget{border:1px solid #e7e0d5;border-radius:14px;background:#fcfbf8;padding:1rem}
.cash-entry-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.9rem}
.cash-entry-mode{display:flex;gap:.35rem;flex-wrap:wrap}
.cash-mode-btn{border:1px solid #d8d1c5;background:#fff;color:#625d55;border-radius:9px;padding:.42rem .68rem;font-size:.8rem;font-weight:700}
.cash-mode-btn.active{border-color:#2d2b28;background:#2d2b28;color:#fff}
.cash-denomination-list{display:flex;flex-direction:column;gap:.45rem}
.cash-denomination-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(260px,1.35fr);align-items:center;gap:.8rem;padding:.55rem .65rem;border:1px solid #eee8df;border-radius:10px;background:#fff}
.cash-denomination-name{color:#292724}
.cash-denomination-math{display:grid;grid-template-columns:90px 70px minmax(100px,1fr);align-items:center;gap:.5rem}
.cash-count-input{text-align:center;font-weight:700}
.cash-x{color:#817b72;font-size:.82rem;white-space:nowrap}
.cash-line-total{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.cash-count-total{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.75rem;padding:.75rem .85rem;border-radius:11px;background:#fff7d6;border:1px solid #eadb93}
.cash-count-total span{font-weight:700;color:#625b48}
.cash-count-total strong{font-size:1.35rem;font-variant-numeric:tabular-nums}
.cash-main-input{font-size:1.15rem;font-weight:800}
@media(max-width:767.98px){.cash-entry-head{flex-direction:column}.cash-denomination-row{grid-template-columns:1fr}.cash-denomination-math{grid-template-columns:80px 60px 1fr}}

/* ===== v60: cash entry = count vs denomination amount ===== */
.cash-entry-explain{
  padding:.55rem .65rem;
  border-radius:9px;
  background:#f5f2eb;
  color:#6f685f;
  font-size:.8rem;
}
.cash-denomination-amount{
  max-width:260px;
  margin-left:auto;
  width:100%;
}
.cash-amount-input{
  text-align:right;
  font-weight:700;
  font-variant-numeric:tabular-nums;
}
.cash-amount-input.is-invalid{
  border-color:#dc3545 !important;
  box-shadow:0 0 0 .15rem rgba(220,53,69,.12) !important;
}
@media(max-width:767.98px){
  .cash-denomination-amount{
    max-width:none;
    margin-left:0;
  }
}


/* ===== v62: denomination illustrations to reduce counting mistakes ===== */
.cash-visual-note{display:inline-flex;margin-top:.35rem;padding:.22rem .5rem;border-radius:999px;border:1px solid #e6dfd4;background:#f8f6f1;color:#777168;font-size:.7rem}
.cash-denomination-name{display:flex;align-items:center;gap:.7rem;min-width:0}
.cash-denomination-label{display:flex;flex-direction:column;min-width:0}
.cash-denomination-label b{line-height:1.15}
.cash-denomination-label small{margin-top:.12rem;color:#918b82;font-size:.66rem;letter-spacing:.02em}
.cash-money-visual{position:relative;flex:0 0 auto;overflow:hidden;user-select:none}
.cash-note{width:78px;height:36px;border-radius:7px;border:1px solid rgba(0,0,0,.15);display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 2px rgba(255,255,255,.35)}
.cash-note::before,.cash-note::after{content:"";position:absolute;width:12px;height:12px;border:1px solid rgba(255,255,255,.58);border-radius:50%;top:50%;transform:translateY(-50%)}
.cash-note::before{left:7px}.cash-note::after{right:7px}
.cash-note .cash-money-value{position:relative;z-index:2;font-size:.8rem;font-weight:800;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.25)}
.cash-note-mark{position:absolute;left:6px;bottom:2px;font-size:.55rem;font-weight:800;color:rgba(255,255,255,.8)}
.cash-note-orbit{position:absolute;width:27px;height:27px;border:1px solid rgba(255,255,255,.25);border-radius:50%;transform:rotate(-20deg)}
.cash-coin{width:39px;height:39px;border-radius:50%;border:2px solid rgba(0,0,0,.16);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:inset 0 0 0 3px rgba(255,255,255,.42),inset 0 0 0 5px rgba(0,0,0,.04)}
.cash-coin .cash-money-symbol{font-size:.5rem;line-height:.7;font-weight:800;opacity:.65}.cash-coin .cash-money-value{font-size:.72rem;line-height:1;font-weight:900}
.cash-note.denom-1000{background:linear-gradient(135deg,#8b6654,#b28d75)}
.cash-note.denom-500{background:linear-gradient(135deg,#6f5b8f,#9a83b8)}
.cash-note.denom-100{background:linear-gradient(135deg,#b85d63,#d68486)}
.cash-note.denom-50{background:linear-gradient(135deg,#4e799d,#79a5c7)}
.cash-note.denom-20{background:linear-gradient(135deg,#5f8465,#86a989)}
.cash-coin.denom-10{background:radial-gradient(circle at center,#d8c68d 0 48%,#b7b9bd 49% 100%);color:#554a2e}
.cash-coin.denom-5{background:radial-gradient(circle at 35% 30%,#f1f2f3,#b8bcc1 70%,#969ba1);color:#4c5157}
.cash-coin.denom-2{background:radial-gradient(circle at 35% 30%,#e2c57b,#b28f45 72%,#917136);color:#514324}
.cash-coin.denom-1{background:radial-gradient(circle at 35% 30%,#f2f2f1,#bfc2c4 72%,#989da0);color:#4c5153}
@media(max-width:767.98px){.cash-note{width:72px;height:34px}.cash-denomination-name{gap:.6rem}}


/* ===== v64: closing daily sales summary ===== */
.closing-sales-summary{
  border:1px solid #e7e0d5;
  border-radius:14px;
  background:#fbfaf7;
  overflow:hidden;
}
.closing-sales-summary-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:.9rem 1rem;
  border-bottom:1px solid #ece6dd;
}
.closing-sales-summary-title{
  font-size:.95rem;
  font-weight:800;
  color:#282623;
}
.closing-sales-summary-sub{
  margin-top:.12rem;
  font-size:.73rem;
  color:#8b847a;
}
.closing-sales-grand{
  flex:0 0 auto;
  text-align:right;
}
.closing-sales-grand span{
  display:block;
  color:#746e65;
  font-size:.72rem;
  font-weight:700;
}
.closing-sales-grand strong{
  display:block;
  margin-top:.08rem;
  font-size:1.35rem;
  line-height:1.1;
  font-variant-numeric:tabular-nums;
}
.closing-sales-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.55rem;
  padding:.75rem;
}
.closing-sales-item{
  min-width:0;
  padding:.65rem .7rem;
  border:1px solid #eee8df;
  border-radius:10px;
  background:#fff;
}
.closing-sales-item span{
  display:block;
  color:#7b746b;
  font-size:.72rem;
}
.closing-sales-item strong{
  display:block;
  margin-top:.15rem;
  font-size:1rem;
  color:#2d2a26;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.closing-sales-combined{
  background:#fff9df;
  border-color:#eadc9e;
}
.closing-cash-pull{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin:0 .75rem .45rem;
  padding:.85rem .9rem;
  border-radius:11px;
  background:#282623;
  color:#fff;
}
.closing-cash-pull-label{
  display:block;
  font-size:.82rem;
  font-weight:800;
}
.closing-cash-pull small{
  display:block;
  margin-top:.12rem;
  color:#d7d1c7;
  font-size:.69rem;
}
.closing-cash-pull strong{
  flex:0 0 auto;
  font-size:1.45rem;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.closing-cash-formula{
  padding:0 .85rem .8rem;
  color:#888178;
  font-size:.7rem;
}
@media(max-width:575.98px){
  .closing-sales-summary-head{
    align-items:flex-start;
    flex-direction:column;
  }
  .closing-sales-grand{
    width:100%;
    text-align:left;
  }
  .closing-sales-grid{
    grid-template-columns:1fr 1fr;
  }
  .closing-cash-pull{
    align-items:flex-start;
    flex-direction:column;
  }
}

/* ===== v65: compact closing components / dynamic payment methods ===== */
.closing-sales-boxservice{
  grid-column:1 / -1;
}
.closing-sales-item small{
  display:block;
  margin-top:.18rem;
  color:#8c857a;
  font-size:.68rem;
  line-height:1.25;
}


/* ===== v66: live closing float shortage / overage ===== */
.closing-count-guide{
  display:flex;
  flex-direction:column;
  gap:.18rem;
  padding:.75rem .85rem;
  border:1px solid #eadb93;
  border-radius:11px;
  background:#fff9df;
}
.closing-count-guide b{
  font-size:.86rem;
  color:#3d382c;
}
.closing-count-guide span{
  font-size:.74rem;
  color:#756d59;
}
.closing-live-diff{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-top:.75rem;
  padding:.8rem .9rem;
  border:1px solid #e6e0d7;
  border-radius:11px;
  background:#f8f7f4;
}
.closing-live-diff-label{
  display:block;
  font-size:.78rem;
  font-weight:800;
}
.closing-live-diff small{
  display:block;
  margin-top:.12rem;
  color:#817a71;
  font-size:.68rem;
}
.closing-live-diff-result{
  display:flex;
  align-items:baseline;
  gap:.55rem;
  text-align:right;
}
.closing-live-diff-result strong{
  font-size:.8rem;
}
.closing-live-diff-result span{
  font-size:1.25rem;
  font-weight:900;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.closing-live-diff.is-ok{
  border-color:#a9d8b7;
  background:#eef9f1;
}
.closing-live-diff.is-ok .closing-live-diff-result{
  color:#23753c;
}
.closing-live-diff.is-over{
  border-color:#9fd0ad;
  background:#edf8f0;
}
.closing-live-diff.is-over .closing-live-diff-result{
  color:#1f7a3b;
}
.closing-live-diff.is-short{
  border-color:#e1a5a5;
  background:#fff0f0;
}
.closing-live-diff.is-short .closing-live-diff-result{
  color:#b52d2d;
}
.closing-live-diff.is-idle .closing-live-diff-result{
  color:#777168;
}
@media(max-width:575.98px){
  .closing-live-diff{
    align-items:flex-start;
    flex-direction:column;
  }
  .closing-live-diff-result{
    width:100%;
    justify-content:space-between;
  }
}


/* ===== v67: opening float check + previous closing shortcut ===== */
.opening-count-guide{
  display:flex;
  flex-direction:column;
  gap:.18rem;
  padding:.75rem .85rem;
  border:1px solid #d9e2ec;
  border-radius:11px;
  background:#f5f8fb;
}
.opening-count-guide b{
  font-size:.86rem;
  color:#2d3742;
}
.opening-count-guide span{
  font-size:.74rem;
  color:#6f7882;
}
.use-prev-closing-btn{
  text-align:left;
  font-weight:700;
  border-style:dashed;
}
.use-prev-closing-btn.active{
  border-style:solid;
}

/* ===== v68: opening shortage/overage resolution ===== */
.opening-adjustment-panel{margin-top:.7rem;padding:.75rem;border:1px solid #e7e0d5;border-radius:11px;background:#fbfaf7}
.opening-adjustment-title{margin-bottom:.55rem;font-size:.8rem;font-weight:800;color:#3f3a34}
.opening-short-actions,.opening-over-actions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.opening-over-actions{grid-template-columns:1fr}
.opening-action-btn{text-align:left;padding:.65rem .7rem;border:1px solid #ded7cd;border-radius:10px;background:#fff;color:#35312d}
.opening-action-btn:hover{border-color:#bbb2a7;background:#f8f6f1}
.opening-action-btn b,.opening-action-btn small{display:block}
.opening-action-btn b{font-size:.78rem}
.opening-action-btn small{margin-top:.15rem;color:#7c756c;font-size:.67rem;line-height:1.25}
.opening-adjustment-selected{margin-top:.5rem;padding:.6rem .7rem;border-radius:9px;background:#f1f7f2;border:1px solid #bcd8c3;color:#31583b;font-size:.74rem}
.opening-adjustment-selected small{color:#587060}
.opening-adjustment-history{border:1px solid #e5ded4;border-radius:11px;overflow:hidden}
.opening-adjustment-history-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .75rem;background:#fff;border-bottom:1px solid #eee8df}
.opening-adjustment-history-row:last-child{border-bottom:0}
.opening-adjustment-history-row b,.opening-adjustment-history-row small{display:block}
.opening-adjustment-history-row b{font-size:.76rem}
.opening-adjustment-history-row small{margin-top:.12rem;color:#817a70;font-size:.67rem}
@media(max-width:575.98px){.opening-short-actions{grid-template-columns:1fr}.opening-adjustment-history-row{align-items:flex-start;flex-direction:column}}
\n/* ===== v70: strict closing float resolution ===== */
.closing-resolution-note{display:flex;flex-direction:column;gap:.18rem;padding:.72rem .8rem;border:1px solid #ddd6cd;border-radius:10px;background:#f8f6f2}
.closing-resolution-note b{font-size:.8rem;color:#3e3933}.closing-resolution-note span{font-size:.7rem;color:#746e66}
.closing-resolution-note.is-short{border-color:#e2aaaa;background:#fff0f0}.closing-resolution-note.is-short b,.closing-resolution-note.is-short span{color:#a92e2e}
.closing-resolution-note.is-over{border-color:#a7d3b3;background:#eef9f1}.closing-resolution-note.is-over b,.closing-resolution-note.is-over span{color:#24743b}
.closing-resolution-note.is-ok{border-color:#94cda4;background:#eaf8ee}.closing-resolution-note.is-ok b,.closing-resolution-note.is-ok span{color:#1d6e36}
#closeShopBtn:disabled{opacity:.45;cursor:not-allowed}

/* ===== v71: validate denomination amount while typing ===== */
.cash-denomination-amount .input-group{
  flex-wrap:wrap;
}
.cash-amount-error{
  width:100%;
  margin-top:.28rem;
  color:#b52d2d;
  font-size:.68rem;
  font-weight:700;
  line-height:1.25;
}
.cash-amount-input.is-invalid{
  border-color:#dc3545 !important;
  background-image:none !important;
  box-shadow:0 0 0 .15rem rgba(220,53,69,.12) !important;
}


/* ===== v73: opening cash incident actions ===== */
.opening-short-actions{
  grid-template-columns:1fr;
}
.opening-adjustment-history-row small{
  line-height:1.35;
}

/* ===== v74: reopen opening cash adjustment choice ===== */
.opening-change-choice{
  margin-top:.5rem;
  border:0;
  background:transparent;
  color:#55504a;
  text-decoration:underline;
  font-size:.72rem;
  font-weight:700;
  padding:.15rem 0;
}
.opening-change-choice:hover{
  color:#222;
}


/* ===== v75: cash adjustment management ===== */
.nav-alert-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:20px;
  height:20px;
  margin-left:.28rem;
  padding:0 .36rem;
  border-radius:999px;
  background:#e44d4d;
  color:#fff;
  font-size:.65rem;
  font-weight:800;
  line-height:1;
}
.cash-incident-tabs{
  display:flex;
  gap:.45rem;
  flex-wrap:wrap;
}
.cash-incident-tabs a{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  padding:.5rem .75rem;
  border:1px solid #ded7cd;
  border-radius:9px;
  background:#fff;
  color:#625c54;
  font-size:.78rem;
  font-weight:700;
  text-decoration:none;
}
.cash-incident-tabs a.active{
  background:#292723;
  border-color:#292723;
  color:#fff;
}
.cash-incident-tabs a span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:21px;
  height:21px;
  padding:0 .35rem;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  font-size:.67rem;
}
.cash-incident-list{
  display:flex;
  flex-direction:column;
  gap:.75rem;
}
.cash-incident-card{
  border:1px solid #e6dfd5;
  border-radius:14px;
  background:#fff;
  overflow:hidden;
}
.cash-incident-card.is-pending{
  border-left:4px solid #d8a21f;
}
.cash-incident-card.is-settled{
  border-left:4px solid #4b9c60;
}
.cash-incident-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  padding:.9rem 1rem .7rem;
  border-bottom:1px solid #eee8df;
}
.cash-incident-date{
  color:#827b72;
  font-size:.7rem;
  font-weight:700;
}
.cash-incident-title{
  margin-top:.12rem;
  font-size:1rem;
  font-weight:900;
}
.cash-incident-numbers{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.55rem;
  padding:.75rem 1rem;
}
.cash-incident-numbers>div{
  padding:.65rem .7rem;
  border:1px solid #eee8df;
  border-radius:10px;
  background:#fbfaf7;
}
.cash-incident-numbers span,
.cash-incident-detail-grid span{
  display:block;
  color:#817a71;
  font-size:.69rem;
}
.cash-incident-numbers strong{
  display:block;
  margin-top:.12rem;
  font-size:1rem;
  font-variant-numeric:tabular-nums;
}
.cash-incident-numbers .is-short{
  background:#fff0f0;
  border-color:#e6b2b2;
  color:#b52d2d;
}
.cash-incident-numbers .is-over{
  background:#eef8f0;
  border-color:#b5d9bd;
  color:#23753c;
}
.cash-incident-detail-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.65rem;
  padding:0 1rem .85rem;
}
.cash-incident-detail-grid>div{
  padding:.65rem .7rem;
  border-radius:10px;
  background:#f7f5f1;
}
.cash-incident-detail-grid b{
  display:block;
  margin-top:.15rem;
  font-size:.78rem;
}
.cash-incident-detail-grid small{
  display:block;
  margin-top:.14rem;
  color:#8b847b;
  font-size:.66rem;
  line-height:1.3;
}
.cash-incident-settle-form{
  padding:.85rem 1rem 1rem;
  border-top:1px solid #eee8df;
  background:#fffaf0;
}
.cash-incident-settle-form label{
  font-size:.76rem;
  font-weight:800;
}
.cash-incident-settled-box{
  padding:.8rem 1rem;
  border-top:1px solid #e4eee6;
  background:#f2f8f3;
  color:#335a3b;
  font-size:.76rem;
}
.cash-incident-settled-box small{
  display:block;
  margin-top:.2rem;
  color:#66806b;
}
@media(max-width:767.98px){
  .cash-incident-numbers,
  .cash-incident-detail-grid{
    grid-template-columns:1fr;
  }
}

/* ===== v76: same-staff previous closing shortcut ===== */
.same-staff-confirm-note{
  margin-top:-.15rem;
  padding:0 .2rem;
  color:#817a71;
  font-size:.68rem;
  line-height:1.35;
}
.use-prev-closing-btn.active{
  background:#edf7ef;
  border-color:#8fc29b;
  color:#2d6d3c;
}


/* ===== v78: clearer previous-cash action + read-only saved denominations ===== */
.reuse-previous-cash-btn{
  display:flex;
  align-items:center;
  gap:.75rem;
  border:2px solid #e0a800;
  border-radius:12px;
  background:#fff8dc;
  color:#3c3422;
  padding:.78rem .9rem;
  text-align:left;
  cursor:pointer;
  box-shadow:0 2px 7px rgba(0,0,0,.06);
  transition:.15s ease;
}
.reuse-previous-cash-btn:hover{
  background:#fff1b8;
  border-color:#c99500;
  transform:translateY(-1px);
}
.reuse-previous-cash-btn.confirmed{
  background:#edf8ef;
  border-color:#6faf7d;
  color:#275e34;
}
.reuse-previous-cash-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  flex:0 0 36px;
  border-radius:10px;
  background:#ffd84f;
  font-size:1.15rem;
  font-weight:900;
}
.reuse-previous-cash-btn.confirmed .reuse-previous-cash-icon{
  background:#bfe1c6;
}
.reuse-previous-cash-copy{
  display:flex;
  flex:1;
  min-width:0;
  flex-direction:column;
}
.reuse-previous-cash-copy b{
  font-size:.82rem;
  line-height:1.3;
}
.reuse-previous-cash-copy small{
  margin-top:.12rem;
  color:#776e5a;
  font-size:.68rem;
}
.reuse-previous-cash-arrow{
  flex:0 0 auto;
  font-size:.72rem;
  font-weight:800;
  white-space:nowrap;
}
.saved-cash-details{
  border:1px solid #e5dfd6;
  border-radius:12px;
  background:#faf9f6;
  overflow:hidden;
}
.saved-cash-details summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.8rem;
  padding:.72rem .85rem;
  cursor:pointer;
  list-style:none;
  font-size:.76rem;
  font-weight:800;
  color:#4d4943;
}
.saved-cash-details summary::-webkit-details-marker{display:none;}
.saved-cash-details summary:before{
  content:'▸';
  margin-right:.35rem;
  color:#8b8378;
}
.saved-cash-details[open] summary:before{content:'▾';}
.saved-cash-details summary span{flex:1;}
.saved-cash-details summary b{
  font-size:.8rem;
  font-variant-numeric:tabular-nums;
}
.saved-cash-body{
  border-top:1px solid #e5dfd6;
  padding:.75rem .85rem .85rem;
  background:#fff;
}
.saved-cash-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:.25rem;
}
.saved-cash-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:.75rem;
  align-items:center;
  padding:.42rem .1rem;
  border-bottom:1px dashed #eee8df;
  font-size:.72rem;
}
.saved-cash-row span{color:#706a62;}
.saved-cash-row b{
  min-width:70px;
  text-align:right;
  font-size:.72rem;
}
.saved-cash-row strong{
  min-width:78px;
  text-align:right;
  font-size:.74rem;
  font-variant-numeric:tabular-nums;
}
.saved-cash-total{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-top:.6rem;
  padding:.65rem .7rem;
  border-radius:9px;
  background:#f4f2ed;
  font-size:.76rem;
  font-weight:800;
}
.saved-cash-readonly-note{
  margin-top:.45rem;
  color:#91897f;
  font-size:.65rem;
  text-align:right;
}
@media(max-width:575.98px){
  .reuse-previous-cash-arrow{display:none;}
  .saved-cash-row{grid-template-columns:1fr auto;}
  .saved-cash-row strong{grid-column:2;text-align:right;}
}


/* ===== v79: easier cash incident table ===== */
.cash-incident-table-wrap{
  width:100%;
  overflow:auto;
  border:1px solid #e4ded5;
  border-radius:14px;
  background:#fff;
}
.cash-incident-table{
  width:100%;
  min-width:1180px;
  border-collapse:separate;
  border-spacing:0;
  font-size:.74rem;
}
.cash-incident-table thead th{
  position:sticky;
  top:0;
  z-index:2;
  padding:.72rem .7rem;
  background:#f4f1eb;
  color:#5d574f;
  border-bottom:1px solid #ded8cf;
  font-size:.68rem;
  font-weight:800;
  white-space:nowrap;
}
.cash-incident-table tbody td{
  padding:.72rem .7rem;
  border-bottom:1px solid #eee8df;
  vertical-align:top;
  background:#fff;
}
.cash-incident-table tbody tr.is-pending td:first-child{
  border-left:4px solid #d9a41e;
}
.cash-incident-table tbody tr.is-settled td:first-child{
  border-left:4px solid #4c9a60;
}
.cash-incident-table td small{
  display:block;
  margin-top:.16rem;
  color:#8b847b;
  font-size:.64rem;
  line-height:1.3;
}
.cash-incident-table td small.note{
  max-width:250px;
}
.cash-incident-table .money{
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
.incident-type-badge{
  display:inline-flex;
  padding:.22rem .46rem;
  border-radius:999px;
  font-size:.64rem;
  font-weight:800;
  white-space:nowrap;
}
.incident-type-badge.is-short{
  background:#fff0f0;
  color:#b52d2d;
}
.incident-type-badge.is-over{
  background:#eef8f0;
  color:#28703d;
}
.cash-incident-action-cell{
  white-space:nowrap;
}
.cash-incident-expand-row>td{
  padding:0 !important;
  background:#faf8f4 !important;
}
.cash-incident-expand-box{
  padding:.9rem 1rem 1rem;
  border-bottom:1px solid #e5dfd6;
}
.cash-incident-expand-box.pending{
  background:#fffaf0;
}
.cash-incident-expand-box.settled{
  background:#f1f8f3;
  color:#355c3d;
}
.cash-incident-expand-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.65rem;
  margin-bottom:.8rem;
}
.cash-incident-expand-summary>div{
  padding:.55rem .65rem;
  border:1px solid #eee4cb;
  border-radius:9px;
  background:#fff;
}
.cash-incident-expand-summary span{
  display:block;
  color:#847c71;
  font-size:.64rem;
}
.cash-incident-expand-summary b{
  display:block;
  margin-top:.1rem;
  font-size:.75rem;
}
.cash-incident-table .cash-incident-settle-form{
  padding:0;
  border:0;
  background:transparent;
}
@media(max-width:767.98px){
  .cash-incident-table{
    min-width:1020px;
  }
  .cash-incident-expand-summary{
    grid-template-columns:1fr 1fr;
  }
}


/* ===== v80: choose responsible staff for opening shortage ===== */
.opening-responsible-picker{
  width:100%;
  padding:.7rem .75rem;
  border:1px solid #e7d39b;
  border-radius:10px;
  background:#fffaf0;
}
.opening-responsible-picker label{
  font-size:.75rem;
  font-weight:800;
}
.opening-responsible-picker small{
  display:block;
  margin-top:.35rem;
  color:#7e7568;
  font-size:.66rem;
  line-height:1.35;
}
.opening-responsible-picker .form-select{
  font-size:.78rem;
}


/* ===== v81: quick previous/next day controls ===== */
.date-stepper{
  display:flex;
  align-items:center;
  gap:.38rem;
}
.date-stepper-form{
  margin:0;
}
.date-stepper-form .form-control{
  min-width:150px;
}
.date-stepper-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:38px;
  flex:0 0 42px;
  border:1px solid #d8d1c7;
  border-radius:9px;
  background:#fff;
  color:#403b35;
  font-size:1.55rem;
  font-weight:700;
  line-height:1;
  text-decoration:none;
  box-shadow:0 1px 3px rgba(0,0,0,.04);
}
.date-stepper-btn:hover{
  background:#f3f0ea;
  border-color:#bdb4a8;
  color:#181613;
}
@media(max-width:575.98px){
  .date-stepper{
    width:100%;
  }
  .date-stepper-form{
    flex:1;
  }
  .date-stepper-form .form-control{
    width:100%;
    min-width:0;
  }
}

/* ===== v83: visible feedback after copying previous cash counts ===== */
.previous-cash-fill-status{
  padding:.65rem .75rem;
  border:1px solid #b9d8c0;
  border-radius:10px;
  background:#eef8f0;
  color:#315e3a;
  font-size:.72rem;
  line-height:1.45;
}
.previous-cash-fill-status strong{
  display:inline-block;
  margin-top:.18rem;
  font-size:.8rem;
}
.previous-cash-fill-status small{
  color:#6f665d;
}

/* ===== v84: make auto-filled denomination rows obvious ===== */
.cash-denomination-row.cash-row-auto-filled{
  background:#f0f8f2;
  border-radius:9px;
  box-shadow:inset 0 0 0 1px #b9d8c0;
}
.cash-denomination-row.cash-row-auto-filled .cash-count-input{
  font-weight:800;
  background:#fff;
}

/* ===== v85: cancel copied previous cash ===== */
[data-cancel-prev-cash]{
  font-size:.72rem;
  font-weight:800;
}

/* ===== v89: closing shortage / overage resolution ===== */
.closing-adjustment-panel{
  padding:.8rem;
  border:1px solid #e2ddd4;
  border-radius:12px;
  background:#faf8f4;
}
.closing-short-actions,
.closing-over-actions{
  display:grid;
  gap:.55rem;
  margin-top:.55rem;
}


/* ===== v90: opening/closing cash incidents share one history ===== */
.cash-incident-table td small{
  white-space:normal;
}

/* ===== v91: cash adjustment date filters ===== */
.cash-filter-card{
  padding:.9rem 1rem;
  border:1px solid #e2ddd4;
  border-radius:14px;
  background:#fff;
}
.cash-filter-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  margin-bottom:.75rem;
}
.cash-filter-head b{
  display:block;
  font-size:.8rem;
}
.cash-filter-head small{
  display:block;
  margin-top:.1rem;
  color:#857e74;
  font-size:.68rem;
}
.cash-filter-modes{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
  margin-bottom:.75rem;
}
.cash-filter-mode{
  cursor:pointer;
}
.cash-filter-mode input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.cash-filter-mode span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:.4rem .75rem;
  border:1px solid #d8d1c7;
  border-radius:999px;
  background:#fff;
  color:#5b554d;
  font-size:.72rem;
  font-weight:700;
}
.cash-filter-mode.active span{
  border-color:#d3a51c;
  background:#fff5cf;
  color:#5b4710;
}
.cash-filter-fields label{
  display:block;
  margin-bottom:.25rem;
  color:#6f685f;
  font-size:.68rem;
  font-weight:700;
}
.cash-filter-field{
  max-width:260px;
}
.cash-filter-range{
  display:flex;
  align-items:end;
  gap:.6rem;
}
.cash-filter-range>div{
  min-width:0;
  flex:0 1 260px;
}
.cash-filter-range>span{
  padding-bottom:.55rem;
  color:#8a8176;
  font-size:.7rem;
}
@media(max-width:575.98px){
  .cash-filter-head{
    align-items:flex-start;
  }
  .cash-filter-range{
    display:grid;
    grid-template-columns:1fr;
  }
  .cash-filter-range>span{
    display:none;
  }
  .cash-filter-field,
  .cash-filter-range>div{
    max-width:none;
    width:100%;
  }
}

/* ===== v92: test data reset danger zone ===== */
.danger-zone-card{
  border-color:#e6b7b7;
}
.danger-zone-card .pro-card-header{
  background:#fff7f7;
}
.danger-zone-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.8rem;
}
.danger-zone-grid>div{
  padding:.75rem;
  border:1px solid #eadfda;
  border-radius:10px;
  background:#fff;
}
@media(max-width:767.98px){
  .danger-zone-grid{
    grid-template-columns:1fr;
  }
}


/* ===== v94: balanced opening / closing layout ===== */
.daily-summary-shell{
  margin-bottom:.9rem;
}
.daily-summary-label{
  margin:0 0 .4rem .1rem;
  color:#7d756b;
  font-size:.7rem;
  font-weight:800;
}
.daily-top-summary{
  margin-bottom:0 !important;
}
.daily-top-summary .closing-sales-summary-head{
  align-items:center;
}
.daily-top-summary .closing-sales-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.daily-top-summary .closing-cash-pull{
  margin-top:.7rem;
}
.daily-top-summary .closing-cash-formula{
  margin-top:.35rem;
}
@media(min-width:992px){
  .daily-top-summary{
    padding:.9rem 1rem;
  }
}
@media(max-width:991.98px){
  .daily-top-summary .closing-sales-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:575.98px){
  .daily-top-summary .closing-sales-grid{
    grid-template-columns:1fr;
  }
}


/* ===== v96: compact daily summary ===== */
.daily-compact-summary{
  border:1px solid #e3ded5;
  border-radius:14px;
  background:#fff;
  padding:.72rem .85rem .65rem;
}
.daily-compact-main{
  display:grid;
  grid-template-columns:minmax(220px,1.2fr) minmax(150px,.55fr) minmax(270px,.9fr);
  gap:.75rem;
  align-items:stretch;
}
.daily-compact-title,
.daily-compact-total,
.daily-compact-pull{
  min-width:0;
}
.daily-compact-title{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:.15rem .2rem;
}
.daily-compact-title>span{
  color:#81796f;
  font-size:.66rem;
  font-weight:700;
}
.daily-compact-title>b{
  margin-top:.06rem;
  font-size:.95rem;
}
.daily-compact-title>small{
  margin-top:.08rem;
  color:#938b81;
  font-size:.62rem;
}
.daily-compact-total{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-end;
  padding:.15rem .2rem;
}
.daily-compact-total span{
  color:#7d756b;
  font-size:.64rem;
  font-weight:700;
}
.daily-compact-total strong{
  margin-top:.02rem;
  font-size:1.2rem;
  line-height:1.1;
}
.daily-compact-pull{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.7rem;
  padding:.55rem .7rem;
  border-radius:10px;
  background:#292723;
  color:#fff;
}
.daily-compact-pull span{
  display:block;
  font-size:.7rem;
  font-weight:800;
}
.daily-compact-pull small{
  display:block;
  margin-top:.08rem;
  color:#d9d5ce;
  font-size:.59rem;
}
.daily-compact-pull strong{
  flex:0 0 auto;
  font-size:1.08rem;
  white-space:nowrap;
}
.daily-compact-breakdown{
  display:flex;
  flex-wrap:wrap;
  gap:.38rem;
  margin-top:.55rem;
  padding-top:.5rem;
  border-top:1px solid #eee8df;
}
.daily-compact-breakdown>span{
  display:inline-flex;
  align-items:center;
  gap:.28rem;
  padding:.28rem .5rem;
  border-radius:999px;
  background:#f5f2ed;
  color:#655e55;
  font-size:.62rem;
}
.daily-compact-foot{
  margin-top:.42rem;
  color:#8d857b;
  font-size:.6rem;
}
@media(max-width:991.98px){
  .daily-compact-main{
    grid-template-columns:1fr 1fr;
  }
  .daily-compact-pull{
    grid-column:1/-1;
  }
}
@media(max-width:575.98px){
  .daily-compact-main{
    grid-template-columns:1fr;
  }
  .daily-compact-total{
    align-items:flex-start;
  }
  .daily-compact-pull{
    grid-column:auto;
  }
}


/* ===== v98: box sales report ===== */
.box-sales-filter-card{
  padding:.85rem 1rem;
  border:1px solid #e2ddd4;
  border-radius:14px;
  background:#fff;
}
.box-sales-filter-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
}
.box-sales-filter-choice{
  cursor:pointer;
  margin:0;
}
.box-sales-filter-choice input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.box-sales-filter-choice span{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:.42rem .75rem;
  border:1px solid #d8d1c7;
  border-radius:999px;
  background:#fff;
  color:#5f584f;
  font-size:.7rem;
  font-weight:800;
}
.box-sales-filter-choice.active span{
  border-color:#d7aa20;
  background:#fff4c9;
  color:#5f4910;
}
.box-sales-filter-fields{
  margin-top:.7rem;
}
.box-sales-filter-fields>[data-period-field]{
  max-width:260px;
}
.box-sales-range{
  display:flex;
  align-items:end;
  gap:.6rem;
  max-width:560px !important;
}
.box-sales-range>div{
  flex:1;
  min-width:0;
}
.box-sales-range>span{
  padding-bottom:.55rem;
  color:#8b8378;
  font-size:.68rem;
}
.box-sales-summary{
  display:grid;
  grid-template-columns:minmax(210px,1.3fr) repeat(4,minmax(130px,.7fr));
  gap:.65rem;
}
.box-sales-summary>div{
  min-width:0;
  padding:.72rem .8rem;
  border:1px solid #e5dfd6;
  border-radius:12px;
  background:#fff;
}
.box-sales-summary span,
.box-sales-summary small{
  display:block;
}
.box-sales-summary span{
  color:#81796f;
  font-size:.64rem;
  font-weight:700;
}
.box-sales-summary b,
.box-sales-summary strong{
  display:block;
  margin-top:.1rem;
}
.box-sales-summary b{
  font-size:.8rem;
}
.box-sales-summary strong{
  font-size:1.02rem;
}
.box-sales-summary small{
  margin-top:.08rem;
  color:#91887e;
  font-size:.6rem;
}
.box-sales-summary-primary{
  background:#292723 !important;
  color:#fff;
  border-color:#292723 !important;
}
.box-sales-summary-primary span{
  color:#d9d5cd;
}
.box-sales-table td small{
  display:block;
  margin-top:.1rem;
  color:#92897e;
  font-size:.62rem;
}
.box-sales-table tfoot th{
  background:#f5f2ed;
  border-top:2px solid #ddd5ca;
}
@media(max-width:991.98px){
  .box-sales-summary{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .box-sales-summary>div:first-child,
  .box-sales-summary-primary{
    grid-column:1/-1;
  }
}
@media(max-width:575.98px){
  .box-sales-filter-tabs{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .box-sales-filter-choice span{
    width:100%;
    justify-content:center;
  }
  .box-sales-range{
    display:grid;
    grid-template-columns:1fr;
  }
  .box-sales-range>span{
    display:none;
  }
  .box-sales-filter-fields>[data-period-field]{
    max-width:none;
  }
  .box-sales-summary{
    grid-template-columns:1fr 1fr;
  }
}


/* ===== v99: mixed payment auto-balance ===== */
.mixed-autofill-note{
  margin:-.25rem 0 .8rem;
  padding:.45rem .6rem;
  border:1px solid #e6dfd4;
  border-radius:9px;
  background:#faf8f4;
  color:#776f64;
  font-size:.66rem;
}


/* ===== v101: actual Wallet cost + Flash profit ===== */
.wallet-close-box{
  padding:.8rem;
  border:1px solid #dfd9cf;
  border-radius:12px;
  background:#faf8f4;
}
.wallet-close-formula{
  display:grid;
  grid-template-columns:1fr auto 1fr auto 1.15fr;
  gap:.5rem;
  align-items:end;
}
.wallet-close-formula>div:not(.wallet-close-input-wrap){
  padding:.55rem .65rem;
  border-radius:9px;
  background:#fff;
  border:1px solid #ebe5dc;
}
.wallet-close-formula span,
.wallet-close-input-wrap label{
  display:block;
  color:#80786e;
  font-size:.63rem;
  font-weight:700;
}
.wallet-close-input-wrap .form-control{
  margin-top:.2rem;
}
.wallet-close-result{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.5rem;
  margin-top:.65rem;
}
.wallet-close-result>div{
  padding:.6rem .7rem;
  border-radius:9px;
  background:#fff;
  border:1px solid #e7e1d8;
}
.wallet-close-result span,
.wallet-profit-summary span{
  display:block;
  color:#7d756b;
  font-size:.63rem;
  font-weight:700;
}
.wallet-close-result strong,
.wallet-profit-summary strong{
  display:block;
  margin-top:.08rem;
  font-size:.9rem;
}
.wallet-close-box>small{
  display:block;
  margin-top:.55rem;
  color:#8c847a;
  font-size:.61rem;
}
.wallet-profit-live.is-profit,
.wallet-profit-summary .is-profit{
  background:#eef8f1;
  border-color:#bfdcc6;
}
.wallet-profit-live.is-loss,
.wallet-profit-summary .is-loss{
  background:#fff0f0;
  border-color:#efc7c7;
}
.wallet-profit-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.55rem;
}
.wallet-profit-summary>div{
  padding:.65rem .7rem;
  border:1px solid #e4ded5;
  border-radius:10px;
  background:#fff;
}
@media(max-width:767.98px){
  .wallet-close-formula{
    grid-template-columns:1fr;
  }
  .wallet-close-formula>span{
    text-align:center;
  }
  .wallet-close-result,
  .wallet-profit-summary{
    grid-template-columns:1fr;
  }
}


/* ===== v104: cash pull report ===== */
.cash-pull-filter-card{
  padding:.85rem 1rem;
  border:1px solid #e2ddd4;
  border-radius:14px;
  background:#fff;
}
.cash-pull-filter-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
}
.cash-pull-filter-choice{
  cursor:pointer;
  margin:0;
}
.cash-pull-filter-choice input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.cash-pull-filter-choice span{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:.42rem .75rem;
  border:1px solid #d8d1c7;
  border-radius:999px;
  background:#fff;
  color:#5f584f;
  font-size:.7rem;
  font-weight:800;
}
.cash-pull-filter-choice.active span{
  border-color:#d7aa20;
  background:#fff4c9;
  color:#5f4910;
}
.cash-pull-filter-fields{
  margin-top:.7rem;
}
.cash-pull-filter-fields>[data-cash-pull-field]{
  max-width:260px;
}
.cash-pull-range{
  display:flex;
  align-items:end;
  gap:.6rem;
  max-width:560px !important;
}
.cash-pull-range>div{
  flex:1;
  min-width:0;
}
.cash-pull-range>span{
  padding-bottom:.55rem;
  color:#8b8378;
  font-size:.68rem;
}
.cash-pull-summary{
  display:grid;
  grid-template-columns:minmax(210px,1.3fr) repeat(4,minmax(130px,.7fr));
  gap:.65rem;
}
.cash-pull-summary>div{
  min-width:0;
  padding:.72rem .8rem;
  border:1px solid #e5dfd6;
  border-radius:12px;
  background:#fff;
}
.cash-pull-summary span,
.cash-pull-summary small{
  display:block;
}
.cash-pull-summary span{
  color:#81796f;
  font-size:.64rem;
  font-weight:700;
}
.cash-pull-summary b,
.cash-pull-summary strong{
  display:block;
  margin-top:.1rem;
}
.cash-pull-summary b{font-size:.8rem}
.cash-pull-summary strong{font-size:1.02rem}
.cash-pull-summary small{
  margin-top:.08rem;
  color:#91887e;
  font-size:.6rem;
}
.cash-pull-summary-primary{
  background:#292723 !important;
  border-color:#292723 !important;
  color:#fff;
}
.cash-pull-summary-primary span{color:#d9d5cd}
.cash-pull-table td small{
  display:block;
  margin-top:.1rem;
  color:#92897e;
  font-size:.62rem;
}
.cash-pull-highlight{
  background:#fff8d9 !important;
}
.cash-pull-table tfoot th{
  background:#f5f2ed;
  border-top:2px solid #ddd5ca;
}
@media(max-width:991.98px){
  .cash-pull-summary{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .cash-pull-summary>div:first-child,
  .cash-pull-summary-primary{
    grid-column:1/-1;
  }
}
@media(max-width:575.98px){
  .cash-pull-filter-tabs{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .cash-pull-filter-choice span{
    width:100%;
    justify-content:center;
  }
  .cash-pull-range{
    display:grid;
    grid-template-columns:1fr;
  }
  .cash-pull-range>span{display:none}
  .cash-pull-filter-fields>[data-cash-pull-field]{
    max-width:none;
  }
}


/* ===== v106: unify date filters to jobs style ===== */
.cash-adjustment-date-mode,.system-date-mode{display:none}


/* ===== v107: focused cash-pull report ===== */
.cash-pull-summary-simple{
  grid-template-columns:minmax(210px,1.3fr) repeat(3,minmax(140px,.8fr));
}
@media(max-width:991.98px){
  .cash-pull-summary-simple{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .cash-pull-summary-simple>div:first-child,
  .cash-pull-summary-simple .cash-pull-summary-primary{
    grid-column:1/-1;
  }
}


/* ===== v108: stable unified date filters ===== */
.unified-date-field{display:none}
.jobs-period-switch{
  display:inline-flex;
  padding:4px;
  border:1px solid #ddd6c9;
  border-radius:12px;
  background:#f7f4ee;
  gap:3px;
}
.jobs-period-btn{
  border:0;
  background:transparent;
  color:#6f6a62;
  font-weight:700;
  font-size:.86rem;
  padding:.48rem .9rem;
  border-radius:9px;
  line-height:1;
}
.jobs-period-btn:hover{background:#fff}
.jobs-period-btn.active{
  background:#202020;
  color:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.12);
}
@media(max-width:575.98px){
  .jobs-period-switch{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    width:100%;
  }
  .jobs-period-btn{padding:.55rem .35rem}
}


/* ===== v109: fix unified date-field visibility ===== */
.unified-date-field{
  display:none;
}


/* ===== v110: date selector on the right of "ช่วงวันที่" ===== */
.unified-filter-row{
  display:flex;
  align-items:flex-end;
  gap:1rem;
  flex-wrap:wrap;
}
.unified-filter-period{
  flex:0 0 auto;
}
.unified-filter-fields{
  flex:1 1 420px;
  min-width:280px;
  display:flex;
  align-items:flex-end;
}
.unified-date-field{
  display:none;
  width:min(100%,260px);
}
.unified-range-fields{
  width:min(100%,560px);
  align-items:flex-end;
  gap:.6rem;
}
.unified-range-fields>div{
  flex:1 1 0;
  min-width:0;
}
.unified-range-fields>span{
  padding-bottom:.55rem;
  color:#8a8176;
  font-size:.7rem;
}
@media(max-width:767.98px){
  .unified-filter-row{
    display:block;
  }
  .unified-filter-fields{
    margin-top:.75rem;
    min-width:0;
  }
  .unified-date-field{
    width:100%;
  }
  .unified-range-fields{
    width:100%;
    flex-direction:column;
    align-items:stretch;
  }
  .unified-range-fields>span{
    display:none;
  }
}


/* ===== v111: keep date range on one line ===== */
.unified-range-fields{
  flex-wrap:nowrap;
}
.unified-range-fields>div{
  min-width:180px;
}
@media(max-width:767.98px){
  .unified-range-fields{
    flex-wrap:wrap;
  }
  .unified-range-fields>div{
    min-width:0;
    width:100%;
  }
}


/* ===== v113: receive job date picker ===== */
.receive-date-picker{
  min-width:170px;
}
.receive-date-picker .form-label{
  display:block;
  font-size:.68rem;
  font-weight:700;
  color:#6f685f;
}
.receive-date-picker .form-control{
  min-height:38px;
}
@media(max-width:575.98px){
  .receive-date-picker{
    width:100%;
  }
}


/* ===== v114: receive date arrows ===== */
.receive-date-stepper{
  display:grid;
  grid-template-columns:38px minmax(150px,1fr) 38px;
  align-items:stretch;
  gap:.35rem;
}
.receive-date-step-btn{
  border:1px solid #d8d1c7;
  border-radius:9px;
  background:#fff;
  color:#34312d;
  font-size:1.35rem;
  font-weight:700;
  line-height:1;
}
.receive-date-step-btn:hover{
  background:#f7f4ee;
  border-color:#c9bfae;
}
.receive-date-stepper .form-control{
  min-width:0;
}


/* ===== v115: closing summary cards ===== */
.kpi-gold{
  border-left:4px solid #d7a63b;
}


/* ===== v117: wallet close input clarity + centered operators ===== */
.wallet-close-formula{
  align-items:stretch;
}
.wallet-close-formula>span{
  display:flex;
  align-items:center;
  justify-content:center;
  align-self:stretch;
  font-size:1.2rem;
  line-height:1;
  padding:0 .1rem;
}
.wallet-close-input-wrap,
.wallet-close-formula>div:not(.wallet-close-input-wrap){
  min-height:76px;
}
.wallet-close-input-wrap{
  padding:.55rem .65rem;
  border-radius:9px;
  background:#fff;
  border:1px solid #ebe5dc;
}
.wallet-close-input-wrap .form-control{
  margin-top:.2rem;
}
.wallet-close-input-wrap small{
  display:block;
  margin-top:.3rem;
  color:#91897f;
  font-size:.6rem;
  line-height:1.35;
}
@media(max-width:767.98px){
  .wallet-close-formula>span{
    min-height:24px;
  }
  .wallet-close-input-wrap,
  .wallet-close-formula>div:not(.wallet-close-input-wrap){
    min-height:auto;
  }
}


/* ===== v118: cleaner danger-zone layout ===== */
.danger-zone-card-v118{
  overflow:hidden;
  border:1px solid #ead6d6;
  box-shadow:0 10px 28px rgba(67,48,42,.05);
}
.danger-zone-card-v118 .pro-card-header{
  background:#fffafa;
}
.danger-zone-header-v118{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
}
.danger-zone-heading-v118{
  display:flex;
  align-items:center;
  gap:.75rem;
  min-width:0;
}
.danger-zone-icon-v118{
  width:38px;
  height:38px;
  flex:0 0 38px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:11px;
  background:#fff0f0;
  border:1px solid #efcaca;
  color:#c92a34;
  font-size:1.05rem;
  font-weight:900;
}
.danger-zone-badge-v118{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:.35rem .65rem;
  border-radius:999px;
  background:#fff0f0;
  color:#b9232d;
  font-size:.65rem;
  font-weight:800;
}
.danger-zone-layout-v118{
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(270px,.7fr);
  gap:1rem;
  align-items:stretch;
}
.danger-zone-grid-v118{
  height:100%;
}
.danger-zone-grid-v118>div{
  padding:.9rem 1rem;
}
.danger-zone-info-card-v118{
  position:relative;
  background:#fff !important;
}
.danger-zone-info-card-v118.is-delete{
  border-color:#ecd6d6 !important;
}
.danger-zone-info-card-v118.is-keep{
  border-color:#dfe6df !important;
}
.danger-zone-info-title-v118{
  display:flex;
  align-items:center;
  gap:.45rem;
}
.danger-zone-dot-v118{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#d93745;
}
.is-keep .danger-zone-dot-v118{
  background:#2d9b63;
}
.danger-zone-action-v118{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:1rem;
  padding:1rem;
  border:1px solid #ecd6d6;
  border-radius:12px;
  background:#fff8f8;
}
.danger-zone-action-copy-v118 b,
.danger-zone-action-copy-v118 span{
  display:block;
}
.danger-zone-action-copy-v118 b{
  color:#342e2a;
  font-size:.82rem;
}
.danger-zone-action-copy-v118 span{
  margin-top:.35rem;
  color:#8b7777;
  font-size:.67rem;
  line-height:1.55;
}
.danger-zone-action-v118 form{
  margin:0;
}
.danger-zone-reset-btn-v118{
  width:100%;
  min-height:44px;
  font-weight:800;
}
@media(max-width:991.98px){
  .danger-zone-layout-v118{
    grid-template-columns:1fr;
  }
}
@media(max-width:575.98px){
  .danger-zone-header-v118{
    align-items:flex-start;
  }
  .danger-zone-badge-v118{
    display:none;
  }
  .danger-zone-grid-v118{
    grid-template-columns:1fr;
  }
}


/* ===== v121: keep opening/closing columns balanced when previous close exists ===== */
.opening-count-guide-balanced{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:.75rem;
  min-height:68px;
}
.opening-guide-copy{
  min-width:0;
}
.opening-count-guide-balanced .reuse-previous-cash-btn-compact{
  width:auto;
  min-width:230px;
  max-width:280px;
  margin:0 !important;
  padding:.48rem .62rem;
  gap:.5rem;
  border-width:1px;
  border-style:solid;
  box-shadow:none;
}
.opening-count-guide-balanced .reuse-previous-cash-btn-compact .reuse-previous-cash-icon{
  width:30px;
  height:30px;
  flex-basis:30px;
  border-radius:8px;
  font-size:.95rem;
}
.opening-count-guide-balanced .reuse-previous-cash-btn-compact .reuse-previous-cash-copy b{
  font-size:.73rem;
}
.opening-count-guide-balanced .reuse-previous-cash-btn-compact .reuse-previous-cash-copy small{
  font-size:.61rem;
}
.opening-count-guide-balanced .reuse-previous-cash-btn-compact .reuse-previous-cash-arrow{
  font-size:.64rem;
}
@media(max-width:767.98px){
  .opening-count-guide-balanced{
    grid-template-columns:1fr;
  }
  .opening-count-guide-balanced .reuse-previous-cash-btn-compact{
    width:100%;
    max-width:none;
  }
}


/* ===== v123: clearer transfer + end-of-day cash summary ===== */
.daily-transfer-pill{
  border-color:#b9cbe8 !important;
  background:#f2f6fc !important;
  color:#274d7a !important;
  font-weight:800;
}
.daily-compact-foot-strong{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.8rem;
  flex-wrap:wrap;
}
.daily-compact-foot-strong>span{
  display:inline-flex;
  align-items:center;
  gap:.25rem;
}
.daily-end-cash{
  padding:.42rem .62rem;
  border:1px solid #c8d5e7;
  border-radius:9px;
  background:#f6f9fd;
  color:#263f5f;
  font-weight:800;
}
.daily-end-cash strong{
  font-size:1rem;
  color:#102c4f;
}
@media(max-width:575.98px){
  .daily-compact-foot-strong{
    align-items:stretch;
    flex-direction:column;
  }
  .daily-end-cash{
    justify-content:space-between;
  }
}


/* ===== v124: transfer beside end-of-day cash ===== */
.daily-end-payment-group{
  display:flex;
  align-items:stretch;
  gap:.45rem;
  margin-left:auto;
}
.daily-end-transfer{
  display:inline-flex;
  align-items:center;
  gap:.25rem;
  padding:.42rem .62rem;
  border:1px solid #b9cbe8;
  border-radius:9px;
  background:#f2f6fc;
  color:#274d7a;
  font-weight:800;
}
.daily-end-transfer strong{
  font-size:1rem;
  color:#173d69;
}
@media(max-width:575.98px){
  .daily-end-payment-group{
    width:100%;
    margin-left:0;
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .daily-end-cash,
  .daily-end-transfer{
    justify-content:space-between;
  }
}


/* ===== v126: missing Wallet top-up during closing ===== */
.wallet-missing-topup-panel{
  margin-top:.75rem;
  padding:.75rem;
  border:1px solid #e1b85b;
  border-radius:10px;
  background:#fff8df;
}
.wallet-missing-topup-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:.8rem;
}
.wallet-missing-topup-head b{
  display:block;
  font-size:.76rem;
  color:#5d4713;
}
.wallet-missing-topup-head small{
  display:block;
  margin-top:.1rem;
  color:#806a32;
  font-size:.62rem;
}
.wallet-missing-topup-head>span{
  flex:0 0 auto;
  padding:.28rem .48rem;
  border-radius:999px;
  background:#fff0b8;
  color:#7b5905;
  font-size:.65rem;
  font-weight:800;
  white-space:nowrap;
}
.wallet-missing-topup-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:.6rem;
  margin-top:.65rem;
}
.wallet-missing-topup-form label{
  font-size:.64rem;
  font-weight:700;
}
.wallet-missing-topup-panel>small{
  display:block;
  margin-top:.5rem;
  color:#887542;
  font-size:.6rem;
}
[data-closing-wallet].is-invalid{
  border-color:#d99b18 !important;
  box-shadow:0 0 0 .16rem rgba(217,155,24,.12) !important;
}
@media(max-width:575.98px){
  .wallet-missing-topup-head{
    flex-direction:column;
  }
  .wallet-missing-topup-form{
    grid-template-columns:1fr;
  }
}


/* ===== v127: task-focused open / close flow ===== */
.daily-close-locked{
  display:flex;
  align-items:center;
  gap:.75rem;
  padding:.75rem .9rem;
  border:1px dashed #ddd5c8;
  border-radius:12px;
  background:#faf9f7;
  color:#766e64;
}
.daily-close-locked-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  flex:0 0 34px;
  border-radius:9px;
  background:#efebe5;
  font-size:.9rem;
}
.daily-close-locked>div:nth-child(2){
  min-width:0;
  flex:1 1 auto;
}
.daily-close-locked b{
  display:block;
  color:#4f4942;
  font-size:.78rem;
}
.daily-close-locked span:not(.daily-close-locked-status){
  display:block;
  margin-top:.08rem;
  font-size:.64rem;
}
.daily-close-locked-status{
  flex:0 0 auto;
  padding:.28rem .55rem;
  border-radius:999px;
  background:#eee9e2;
  color:#786f64;
  font-size:.62rem;
  font-weight:800;
  white-space:nowrap;
}
.daily-opening-card.is-saved .pro-card-body{
  padding:.85rem;
}
.daily-opening-card.is-saved .kpi-card{
  min-height:auto;
  padding:.65rem .7rem;
}
.daily-opening-card.is-saved .kpi-value{
  font-size:1rem;
}
.daily-opening-card.is-saved .saved-cash-details{
  margin-top:.7rem !important;
}
.daily-opening-card.is-saved .saved-cash-details summary{
  padding:.62rem .7rem;
}
.daily-opening-card.is-saved .saved-cash-details summary span{
  font-size:.64rem;
}
.daily-opening-card.is-saved .saved-cash-details summary b{
  display:none;
}
@media(min-width:992px){
  .daily-stage-opened .daily-opening-card.is-saved .row.g-3{
    display:grid;
    grid-template-columns:1fr;
    gap:.55rem !important;
  }
  .daily-stage-opened .daily-opening-card.is-saved .row.g-3>.col-6{
    width:100%;
  }
}
@media(max-width:767.98px){
  .daily-close-locked{
    align-items:flex-start;
    flex-wrap:wrap;
  }
  .daily-close-locked-status{
    margin-left:42px;
  }
}


/* ===== v128: restore pre-open width to the original two-column size ===== */
.daily-stage-before-open .daily-opening-card{
  width:100%;
}
.daily-close-locked-side{
  min-height:100%;
  align-items:center;
}
@media(max-width:991.98px){
  .daily-close-locked-side{
    min-height:auto;
  }
}


/* ===== v129: compact opening/top-up Wallet cards ===== */
@media(min-width:768px){
  .wallet-close-formula>div:not(.wallet-close-input-wrap){
    min-height:0;
    height:60px;
    align-self:center;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
  .wallet-close-input-wrap{
    min-height:76px;
  }
}


/* ===== v144: approved Open / Close dashboard redesign ===== */
.daily-summary-v144{
  margin-bottom:1rem;
}
.daily-summary-v144 .daily-summary-label,
.daily-summary-v144 .daily-compact-summary{
  display:none !important;
}
.daily-summary-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:1rem;
  margin:0 0 .55rem;
  padding:0 .1rem;
}
.daily-summary-head>div{
  display:flex;
  align-items:baseline;
  gap:.45rem;
}
.daily-summary-eyebrow{
  color:#6d655c;
  font-size:.68rem;
  font-weight:700;
}
.daily-summary-head b{
  color:#171512;
  font-size:.9rem;
}
.daily-summary-head>small{
  color:#978f86;
  font-size:.61rem;
}
.daily-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.7rem;
}
.daily-summary-card{
  position:relative;
  display:flex;
  align-items:center;
  gap:.72rem;
  min-height:108px;
  padding:.85rem .95rem;
  border:1px solid #e8e1d8;
  border-radius:15px;
  background:#fff;
  box-shadow:0 7px 22px rgba(47,39,29,.045);
  overflow:hidden;
}
.daily-summary-card::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:3px;
  opacity:.65;
  background:var(--summary-accent,#d4b35b);
}
.daily-summary-icon{
  flex:0 0 48px;
  width:48px;
  height:48px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  font-size:1.05rem;
  color:var(--summary-accent,#a97e13);
  background:var(--summary-soft,#fff6d7);
}
.daily-summary-card>div:last-child{
  min-width:0;
}
.daily-summary-card span{
  display:block;
  color:#5f574f;
  font-size:.68rem;
  font-weight:800;
  line-height:1.2;
}
.daily-summary-card strong{
  display:block;
  margin-top:.15rem;
  color:#111827;
  font-size:1.35rem;
  line-height:1.05;
  letter-spacing:-.025em;
}
.daily-summary-card small{
  display:block;
  margin-top:.3rem;
  color:#9a9289;
  font-size:.59rem;
  line-height:1.35;
}
.daily-summary-card.is-sales{
  --summary-accent:#e4aa00;
  --summary-soft:#fff6d6;
}
.daily-summary-card.is-pull{
  --summary-accent:#e05b4d;
  --summary-soft:#fff0ed;
}
.daily-summary-card.is-cash{
  --summary-accent:#2f88e7;
  --summary-soft:#edf6ff;
}
.daily-summary-card.is-transfer{
  --summary-accent:#239b5c;
  --summary-soft:#ecf8f1;
}
.daily-summary-extra{
  display:flex;
  gap:.45rem;
  flex-wrap:wrap;
  margin-top:.5rem;
  justify-content:flex-end;
}
.daily-summary-extra span{
  display:inline-flex;
  gap:.25rem;
  padding:.27rem .5rem;
  border:1px solid #e7e0d7;
  border-radius:999px;
  background:#fff;
  color:#736b62;
  font-size:.61rem;
}
.daily-stage-opened{
  align-items:stretch;
}
.daily-opening-card,
.daily-closing-card{
  border-radius:16px;
  border:1px solid #e7e0d8;
  overflow:hidden;
  box-shadow:0 8px 24px rgba(48,39,28,.05);
}
.daily-opening-card .pro-card-header{
  background:linear-gradient(90deg,#f1fbf5 0%,#ffffff 72%);
}
.daily-closing-card .pro-card-header{
  background:linear-gradient(90deg,#f3f8ff 0%,#ffffff 72%);
}
.daily-panel-header{
  min-height:78px;
}
.daily-panel-status{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:.25rem;
}
.daily-panel-status small{
  color:#9b938a;
  font-size:.58rem;
  white-space:nowrap;
}
.daily-opening-card.is-saved .pro-card-body{
  display:flex;
  flex-direction:column;
}
.daily-opening-card.is-saved .opening-adjustment-history{
  margin-top:auto !important;
}
.daily-saved-kpi{
  min-height:108px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.daily-opening-card.is-saved .kpi-card,
.daily-closing-card .kpi-card{
  border-radius:13px;
  border:1px solid #ebe5dd;
  box-shadow:none;
}
.daily-closing-card .kpi-card{
  min-height:105px;
}
.daily-closing-card .kpi-card .kpi-value{
  margin-top:.15rem;
}
.daily-closing-card .wallet-profit-summary{
  gap:.55rem;
}
.daily-closing-card .wallet-profit-summary>div{
  min-height:72px;
  border-radius:11px;
  padding:.58rem .68rem;
}
.daily-opening-card .saved-cash-details,
.daily-closing-card .saved-cash-details{
  border-radius:11px;
  overflow:hidden;
}
.daily-opening-card .saved-cash-details summary,
.daily-closing-card .saved-cash-details summary{
  min-height:46px;
}
.daily-opening-card .opening-adjustment-history-row{
  border-radius:11px;
  padding:.72rem .8rem;
}
.daily-opening-card .opening-adjustment-history-row b{
  font-size:.68rem;
}
.daily-opening-card .opening-adjustment-history-row small{
  font-size:.58rem;
  line-height:1.45;
}
@media(min-width:992px){
  .daily-stage-opened>.col-lg-5{
    width:41.666667%;
  }
  .daily-stage-opened>.col-lg-7{
    width:58.333333%;
  }
}
@media(max-width:1199.98px){
  .daily-summary-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:767.98px){
  .daily-summary-head{
    align-items:flex-start;
    flex-direction:column;
    gap:.2rem;
  }
  .daily-summary-grid{
    grid-template-columns:1fr;
  }
  .daily-summary-card{
    min-height:86px;
  }
  .daily-panel-status{
    align-items:flex-start;
  }
}




/* ===== v147: show Government / Other payment channels in daily summary ===== */
.daily-summary-grid-dynamic{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.daily-summary-card.is-government{
  --summary-accent:#7c6ad8;
  --summary-soft:#f2efff;
}
.daily-summary-card.is-other{
  --summary-accent:#7c746a;
  --summary-soft:#f5f3f0;
}
@media(min-width:1200px){
  .daily-summary-grid-dynamic:has(.is-government):not(:has(.is-other)),
  .daily-summary-grid-dynamic:has(.is-other):not(:has(.is-government)){
    grid-template-columns:repeat(5,minmax(0,1fr));
  }
  .daily-summary-grid-dynamic:has(.is-government):has(.is-other){
    grid-template-columns:repeat(6,minmax(0,1fr));
  }
}
@media(max-width:1199.98px){
  .daily-summary-grid-dynamic{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:767.98px){
  .daily-summary-grid-dynamic{
    grid-template-columns:1fr;
  }
}


/* ===== v148: receive job requires an open, not-yet-closed business day ===== */
.receive-day-gate{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.9rem;
  margin:-.2rem 0 1rem;
  padding:.72rem .85rem;
  border:1px solid #d7e8dc;
  border-radius:11px;
  background:#f5fbf7;
}
.receive-day-gate>div{
  min-width:0;
}
.receive-day-gate b{
  display:block;
  color:#24613e;
  font-size:.72rem;
}
.receive-day-gate span{
  display:block;
  margin-top:.08rem;
  color:#718078;
  font-size:.62rem;
}
.receive-day-gate.is-blocked{
  border-color:#ead39a;
  background:#fff8df;
}
.receive-day-gate.is-blocked b{
  color:#76570b;
}
.receive-day-gate.is-blocked span{
  color:#8a7746;
}
#jobForm.receive-day-locked .soft-panel,
#jobForm.receive-day-locked .checkout-summary{
  opacity:.56;
}
#jobForm.receive-day-locked .receive-date-picker{
  opacity:1;
}
@media(max-width:575.98px){
  .receive-day-gate{
    align-items:stretch;
    flex-direction:column;
  }
}

/* v153: ข้อความกรอบปิดร้านก่อนเปิดร้านอ่านชัดขึ้น */
.daily-close-locked-side b{
  font-size:1.2rem;
  line-height:1.45;
}
.daily-close-locked-side span:not(.daily-close-locked-status){
  font-size:1rem;
  line-height:1.6;
  margin-top:.25rem;
}
.daily-close-locked-side .daily-close-locked-status{
  font-size:.9rem;
  line-height:1.5;
}
.daily-close-locked-side{
  flex-wrap:wrap;
}

/* v156: เมนูหมวดในแถวเดียว พร้อม dropdown */
.topbar .nav-link{white-space:nowrap;line-height:1.5;}
.topbar .dropdown-menu{min-width:13rem;border-radius:12px;padding:.4rem;box-shadow:0 10px 28px rgba(0,0,0,.16);}
.topbar .dropdown-item{padding:.55rem .75rem;border-radius:8px;white-space:nowrap;}
.topbar .dropdown-item.active,.topbar .dropdown-item:active{background:var(--flash-yellow,#f4df39);color:#171717;}
.topbar .topbar-meta{margin-left:auto;flex-shrink:0;}
@media(min-width:1200px){
  .topbar > .container-fluid{flex-wrap:nowrap;gap:.5rem;}
  .topbar .navbar-collapse{flex-basis:auto;flex-grow:1;width:auto;min-width:0;gap:.5rem;}
  .topbar .navbar-nav{flex-direction:row;flex-wrap:nowrap;align-items:center;}
  .topbar .navbar-nav > *{flex:0 0 auto;}
}
@media(max-width:1199.98px){
  .topbar .topbar-meta{display:none;}
  .topbar .navbar-collapse{flex-basis:100%;}
  .topbar .navbar-nav{padding-top:.4rem;}
  .topbar .dropdown-menu{box-shadow:none;}
}
