/* Cortex Admin. Same design system as the owner app (design v2), a little denser. No inline styles: strict CSP.
   Only .wordmark .btn .btn-primary .chip .tag .label .muted and the shared log-in page (.login*) come from /app/app.css;
   everything else is here. */
:root {
  --page: #F5F1ED; --page-2: #EEE8E2; --surface: #FFFFFF; --tint: #FAF8F6;
  --text: #1A1A1A; --ink: #000000; --text-2: #595552;
  --line: #E6E0DA; --line-2: #CBBAAB;
  --orange: #FF5200; --action: #C73E00; --action-hover: #A93400;
  --orange-wash: #FFF1E8; --orange-line: #FFCFB5;
  --em: #B42318; --em-wash: #FDECEA; --em-line: #F2C4BE;
  --ok: #1F6B3A; --ok-wash: #E6F2EA;
  --sans: 'Inter Tight', 'Helvetica Neue', Arial, sans-serif;
  --r: 4px;
  --tabbar: 60px;
  --float: 0 8px 24px -8px rgba(26, 26, 26, .18);
}

/* ---------- base (own copy, so changes to app.css can't move things here) ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body.ad { margin: 0; background: var(--page); color: var(--text); font: 400 16px/1.5 var(--sans); overflow-x: hidden; -webkit-font-smoothing: antialiased; }
/* :where() keeps these resets at zero specificity so component classes always win. */
:where(.ad) :where(h1, h2, h3, p, ul, ol, fieldset, legend) { margin: 0; padding: 0; }
:where(.ad) :where(ul, ol) { list-style: none; }
:where(.ad) fieldset { border: 0; min-width: 0; }
:where(.ad) :where(button, input, select, textarea) { font: inherit; color: inherit; }
:where(.ad) svg { display: block; }
:where(.ad) a { color: var(--action); }
.ad :focus-visible { outline: 2px solid var(--orange); outline-offset: 2px; }
.ad [hidden] { display: none !important; }
.ad-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ad-skip { position: absolute; left: -9999px; top: 8px; z-index: 60; background: var(--ink); color: #fff; padding: 10px 14px; border-radius: var(--r); }
.ad-skip:focus { left: 8px; }
.ad .label { font: 600 12px/1.4 var(--sans); letter-spacing: .06em; text-transform: uppercase; color: var(--text-2); }
.ad .muted { color: var(--text-2); }
.ad-mono { font-variant-numeric: tabular-nums; font-size: 14px; }
.ad-num { text-align: right; font-variant-numeric: tabular-nums; }
.ad-strong { font-weight: 600; color: var(--ink); }
a.ad-strong { color: var(--ink); text-decoration: none; }
a.ad-strong:hover { text-decoration: underline; text-underline-offset: 3px; }
.ad-sub { display: block; color: var(--text-2); margin-top: 1px; }
.ad-minw { min-width: 0; }

.ad .btn { white-space: nowrap; }
.ad-btn-sm { min-height: 36px; padding: 0 14px; font-size: 14px; }
.ad-block { width: 100%; }
.ad .btn:disabled { opacity: .45; cursor: not-allowed; }
.ad-linkbtn { background: none; border: 0; padding: 6px 0; cursor: pointer; color: var(--action); font-weight: 600; font-size: 15px; text-decoration: none; }
.ad-linkbtn:hover { text-decoration: underline; text-underline-offset: 3px; }
.ad-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }

/* ---------- brand ---------- */
.ad-brand { display: flex; align-items: baseline; }
.ad-brand .wordmark { font: 700 24px/1 var(--sans); letter-spacing: -.03em; color: var(--ink); }
.ad-brand .wordmark span { color: var(--orange); }

/* ---------- log in / denied: the shared white page from app.css ---------- */
.ad-gate .login-form > .muted { margin-top: -8px; }
.ad-gate-switch { align-self: flex-start; }

/* ---------- fields ---------- */
.ad-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.ad-field > label, .ad-field .ad-note-label > label { font-weight: 600; font-size: 14px; color: var(--text); }
.ad-field > label.label, .ad-note-label > label.label { font: 600 12px/1.4 var(--sans); letter-spacing: .06em; text-transform: uppercase; color: var(--text-2); }
:where(.ad) :where(input[type="text"], input[type="email"], input[type="password"], input[type="tel"], input[type="number"], input[type="url"],
input[type="date"], input[type="time"], input[type="search"], select, textarea) {
  width: 100%; min-height: 44px; padding: 0 12px; border: 1px solid var(--line-2); border-radius: var(--r); background: #fff; font-size: 15px; }
:where(.ad) textarea { padding: 10px 12px; resize: vertical; line-height: 1.45; }
:where(.ad) select { padding-right: 34px; appearance: none; cursor: pointer;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23595552' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 12px center; }
.ad input:focus, .ad select:focus, .ad textarea:focus { border-color: var(--text); outline: 2px solid var(--orange); outline-offset: 1px; }
.ad input[aria-invalid="true"], .ad select[aria-invalid="true"], .ad textarea[aria-invalid="true"] { border-color: var(--em); box-shadow: inset 0 0 0 1px var(--em); }
.ad-gate input { min-height: 46px; font-size: 16px; }
.ad-hint { font-size: 13px; color: var(--text-2); line-height: 1.45; }
.ad-hint.is-warn { color: var(--em); font-weight: 600; }
.ad-ferr { color: var(--em); font-weight: 600; font-size: 13px; }
.ad-ferr:empty { display: none; }
.ad-err { color: var(--em); font-weight: 600; font-size: 14px; }
.ad-err:empty { display: none; }
.ad-check { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; cursor: pointer; font-weight: 500; font-size: 14px; }
.ad-check input { width: 18px; height: 18px; margin: 0; accent-color: var(--action); cursor: pointer; }
.ad-save-state { font-size: 13px; font-weight: 600; color: var(--text-2); }
.ad-save-state.is-ok { color: var(--ok); }
.ad-save-state.is-warn { color: var(--em); }

/* ---------- shell: white sidebar, warm page ---------- */
.ad-shell { position: relative; display: grid; grid-template-columns: 240px minmax(0, 1fr); min-height: 100vh; }
.ad-shell::before { content: ''; position: absolute; z-index: 0; top: 0; bottom: 0; left: 0; width: 240px; background: var(--surface); border-right: 1px solid var(--line); }
.ad-side { position: sticky; z-index: 1; top: 0; height: 100vh; overflow-y: auto; background: var(--surface); border-right: 1px solid var(--line);
  padding: 28px 16px 20px; display: flex; flex-direction: column; gap: 32px; }
.ad-side .ad-brand { padding-left: 12px; }
.ad-nav { display: flex; flex-direction: column; gap: 2px; }
.ad-nav a { position: relative; display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 0 12px; border-radius: var(--r);
  color: var(--text-2); text-decoration: none; font-weight: 500; font-size: 15px; }
.ad-nav a svg { width: 20px; height: 20px; flex: none; }
.ad-nav a:hover { background: var(--tint); color: var(--text); }
.ad-nav a[aria-current="page"] { background: var(--page); color: var(--text); font-weight: 600; }
.ad-nav a[aria-current="page"]::before { content: ''; position: absolute; left: 0; top: 8px; bottom: 8px; width: 3px; border-radius: 0 2px 2px 0; background: var(--orange); }
.ad-count { margin-left: auto; min-width: 22px; height: 22px; padding: 0 7px; border-radius: 11px; background: var(--action); color: #fff;
  font: 700 12px/22px var(--sans); font-variant-numeric: tabular-nums; text-align: center; }
.ad-side-foot { margin-top: auto; display: flex; flex-direction: column; gap: 4px; padding: 16px 12px 0; border-top: 1px solid var(--line); }
.ad-user { color: var(--text); font-weight: 600; font-size: 15px; overflow-wrap: anywhere; margin-bottom: 4px; }
.ad-side .ad-linkbtn { color: var(--text-2); align-self: flex-start; font-size: 14px; font-weight: 500; }
.ad-side .ad-linkbtn:hover { color: var(--text); }

.ad-main { position: relative; z-index: 1; padding: 32px clamp(20px, 3vw, 40px) 56px; min-width: 0; max-width: 1340px; outline: none; }
.ad-view { display: flex; flex-direction: column; gap: 24px; }
.ad-top { display: flex; justify-content: space-between; align-items: flex-end; gap: 12px 16px; }
.ad-top-wrap { flex-wrap: wrap; }
.ad-top h1 { font: 700 32px/1.1 var(--sans); letter-spacing: -.015em; color: var(--ink); margin-bottom: 6px; outline: none; overflow-wrap: anywhere; }
.ad-top .label { font-size: 14px; font-weight: 400; letter-spacing: 0; text-transform: none; }
.ad-h2 { font: 600 20px/1.25 var(--sans); letter-spacing: -.01em; color: var(--ink); margin-bottom: 14px; }
.ad-flash { position: fixed; z-index: 30; left: 50%; bottom: 84px; transform: translateX(-50%); max-width: calc(100vw - 32px);
  background: var(--surface); color: var(--text); border: 1px solid var(--line-2); padding: 12px 16px 12px 19px; border-radius: var(--r); font-weight: 600; font-size: 14px;
  box-shadow: var(--float), inset 3px 0 0 var(--text); }
.ad-flash:empty { display: none; }
.ad-back { align-self: flex-start; color: var(--action); font-weight: 600; font-size: 15px; text-decoration: none; }
.ad-back:hover { text-decoration: underline; text-underline-offset: 3px; }

/* ---------- cards ---------- */
.ad-card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); padding: 24px; }
.ad-card-flush { padding: 0; overflow: hidden; }
.ad-pad { padding: 20px 24px 6px; }
.ad-card-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.ad-more { font-size: 14px; font-weight: 600; text-decoration: none; }
.ad-more::after { content: ' →'; }
.ad-more:hover { text-decoration: underline; text-underline-offset: 3px; }
.ad-empty { padding: 40px 20px; text-align: center; color: var(--text-2); }
.ad-empty-title { font-weight: 600; font-size: 18px; color: var(--ink); margin-bottom: 4px; }

/* ---------- KPIs: one white ledger with hairline cells ---------- */
.ad-kpis { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; }
.ad-kpi { background: var(--surface); padding: 18px 20px 16px; display: flex; flex-direction: column; gap: 8px; min-width: 0; box-shadow: -1px 0 0 var(--line), 0 -1px 0 var(--line); }
.ad-kpi-n { font: 700 28px/1.05 var(--sans); font-variant-numeric: tabular-nums; letter-spacing: -.02em; color: var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ad-kpi-sub { font-size: 13px; color: var(--text-2); line-height: 1.35; }
.ad-kpi.is-hot .ad-kpi-n, .ad-kpi.is-neg .ad-kpi-n { color: var(--em); }
/* The headline number (MRR, total to bill): an orange mark on top, nothing heavier */
#kpi-money .ad-kpi:first-child, .ad-kpi.ad-kpi-dark { box-shadow: -1px 0 0 var(--line), 0 -1px 0 var(--line), inset 0 3px 0 var(--orange); }
#kpi-money .ad-kpi:first-child .label, .ad-kpi.ad-kpi-dark .label { color: var(--text); }

/* ---------- system status ---------- */
.ad-sys { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(260px, 100%), 1fr)); border-top: 1px solid var(--line); margin: 0 -25px -25px -24px; }
.ad-pill { display: flex; flex-direction: column; gap: 1px; min-height: 52px; padding: 14px 24px 12px 44px; position: relative;
  border-bottom: 1px solid var(--line); box-shadow: 1px 0 0 var(--line); font-size: 14px; min-width: 0; }
.ad-pill-dot { position: absolute; left: 24px; top: 21px; width: 8px; height: 8px; border-radius: 50%; background: var(--surface); box-shadow: inset 0 0 0 1.5px var(--line-2); }
.ad-pill-name { font-weight: 600; color: var(--text); }
.ad-pill-val { color: var(--text-2); }
.ad-pill-ok .ad-pill-dot { background: var(--ok); box-shadow: none; }
.ad-pill-ok .ad-pill-val { color: var(--ok); font-weight: 600; }
.ad-pill-warn { background: var(--orange-wash); }
.ad-pill-warn .ad-pill-dot { background: var(--orange); box-shadow: none; }
.ad-pill-warn .ad-pill-val { color: var(--text); font-weight: 600; }

/* ---------- pipeline ---------- */
.ad-due-link { font-weight: 600; font-size: 14px; color: var(--text-2); text-decoration: none; }
.ad-due-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.ad .ad-due-link.is-due { color: var(--action); }
.ad .ad-due-link.is-due::after { content: ' →'; }
.ad-pipe { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)) minmax(0, .8fr); border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; }
.ad-pipe-step + .ad-pipe-step { border-left: 1px solid var(--line); }
.ad-pipe-lost { border-left-style: dashed !important; background: var(--tint); }
.ad-pipe-a { position: relative; display: flex; flex-direction: column; gap: 6px; padding: 14px 16px 12px; text-decoration: none; color: var(--text); min-height: 76px; }
.ad-pipe-a:hover { background: var(--page); }
.ad-pipe-n { font: 700 24px/1 var(--sans); font-variant-numeric: tabular-nums; letter-spacing: -.02em; color: var(--ink); }
.ad-pipe-a.is-zero .ad-pipe-n { color: #8F8780; }
.ad-pipe-step:nth-child(6) .ad-pipe-n { color: var(--ok); }
.ad-pipe-step:nth-child(6) .ad-pipe-a.is-zero .ad-pipe-n { color: #8F8780; }

/* ---------- tables ---------- */
.ad-tablewrap { width: 100%; }
.ad-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.ad-table th { text-align: left; font: 600 12px/1.4 var(--sans); letter-spacing: .06em; text-transform: uppercase; color: var(--text-2); padding: 14px 12px 10px; border-bottom: 1px solid var(--line); white-space: nowrap; }
.ad-table th.ad-num { text-align: right; }
.ad-table td { height: 56px; padding: 8px 12px; border-top: 1px solid var(--line); vertical-align: middle; }
.ad-table tbody tr:first-child td { border-top: 0; }
.ad-table tbody tr:hover td { background: var(--tint); }
.ad-table th:first-child, .ad-table td:first-child { padding-left: 24px; }
.ad-table th:last-child, .ad-table td:last-child { padding-right: 24px; }
.ad-table td.ad-cell-main { font-size: 15px; }
.ad-usage .ad-cell-use { width: 28%; min-width: 220px; }
.ad-use { display: grid; grid-template-columns: auto minmax(60px, 1fr); align-items: center; gap: 4px 12px; }
.ad-use-n { font: 500 13px/1 var(--sans); font-variant-numeric: tabular-nums; white-space: nowrap; }
.ad-bar { height: 4px; border-radius: 2px; background: var(--page-2); overflow: hidden; }
.ad-bar-fill { display: block; height: 100%; width: 0; background: var(--text); border-radius: 2px; }
.ad-bar.is-warn .ad-bar-fill, .ad-bar.is-over .ad-bar-fill { background: var(--orange); }
.ad-over { grid-column: 1 / -1; font-size: 12px; font-weight: 600; color: var(--action); }
.ad-shops .ad-cell-act { text-align: right; white-space: nowrap; }
.ad-shops .ad-cell-act .ad-more { margin-left: 14px; }
.ad-line { display: flex; gap: 8px; align-items: baseline; white-space: nowrap; font-variant-numeric: tabular-nums; }

/* status badges */
.ad-st { display: inline-block; padding: 1px 6px; border-radius: 2px; font: 500 12px/1.5 var(--sans); white-space: nowrap; border: 1px solid var(--line-2); color: var(--text-2); }
.ad-st-active { background: var(--ok-wash); border-color: transparent; color: var(--ok); }
.ad-st-trial { border-color: var(--text); color: var(--text); }
.ad-st-paused { background: var(--orange-wash); border-color: var(--orange-line); color: var(--action-hover); }
.ad-st-cancelled { border-style: dashed; }
.ad-st-plan { background: var(--page); border-color: transparent; color: var(--text); font-weight: 600; }

/* ---------- forms ---------- */
.ad-form { display: flex; flex-direction: column; gap: 16px; }
.ad-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px 16px; }
.ad-span2 { grid-column: span 2; }
.ad-span3 { grid-column: 1 / -1; }
.ad-fs { display: flex; flex-direction: column; gap: 14px; }
.ad-fs > legend { float: left; width: 100%; }
.ad-fs > legend + * { clear: both; }
.ad-fs > legend.ad-h2 { margin-bottom: 2px; }
.ad-editor { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: start; }
.ad-editor .ad-fs:nth-of-type(4) { grid-row: span 3; }
.ad-editor .ad-fs:nth-of-type(4) .ad-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ad-editor .ad-fs:nth-of-type(1) .ad-grid, .ad-editor .ad-fs:nth-of-type(3) .ad-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ad-editor .ad-fs:nth-of-type(1) [data-field="status"] { grid-row: span 2; }
.ad-editor .ad-fs:nth-of-type(3) [data-field="retellAgentId"] { grid-column: 1 / -1; }
.ad-editor .ad-fs:nth-of-type(6) .ad-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ad-editor .ad-fs:nth-of-type(5) .ad-grid { grid-template-columns: minmax(0, 1fr); }
.ad-savebar, .ad-editor > .ad-err { grid-column: 1 / -1; }
.ad-savebar { position: relative; bottom: 0; z-index: 5; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; padding: 14px 20px;
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); }
.ad-savebar .ad-save-state { flex: 1 1 240px; }

.ad-numbers { display: flex; flex-direction: column; gap: 10px; }
.ad-numbers:empty { display: none; }
.ad-numrow { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; gap: 10px; align-items: end; }
.ad-numrow .ad-field > label { font: 600 12px/1.4 var(--sans); letter-spacing: .06em; text-transform: uppercase; color: var(--text-2); }
.ad-rm { min-height: 44px; color: var(--text-2); font-size: 14px; font-weight: 500; }

.ad-hours { display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: var(--r); }
.ad-day { display: grid; grid-template-columns: 130px minmax(0, 1fr) 12px minmax(0, 1fr); align-items: center; gap: 8px; min-height: 52px; padding: 4px 12px; border-top: 1px solid var(--line); }
.ad-day:first-child { border-top: 0; }
.ad-day .ad-closed { grid-column: 2 / -1; font-size: 14px; }
.ad-day .ad-time input { min-height: 38px; font-size: 14px; font-variant-numeric: tabular-nums; }
.ad-dash { text-align: center; color: var(--text-2); }
.ad-day:has(.ad-closed:not([hidden])) .ad-dash { display: none; }

.ad-secret { display: flex; flex-direction: column; gap: 10px; padding: 16px; border-radius: var(--r); background: var(--tint); border: 1px solid var(--text); box-shadow: inset 3px 0 0 var(--orange); }
.ad-secret-row { display: flex; gap: 8px; }
.ad .ad-secret-input { font: 600 17px/1 var(--sans); letter-spacing: .04em; background: #fff; flex: 1 1 auto; min-width: 0; }
.ad-shop-sub { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; color: var(--text-2); }

#owner-form .ad-grid { grid-template-columns: repeat(2, minmax(0, 320px)); }

/* ---------- toolbars: underline tabs + filters ---------- */
.ad-toolbar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 12px 24px; border-bottom: 1px solid var(--line); }
.ad-chips { display: flex; flex-wrap: wrap; gap: 0 4px; }
.ad .chip { min-height: 44px; padding: 0 12px; border: 0; border-radius: 0; background: transparent; cursor: pointer; font-weight: 500; font-size: 15px; color: var(--text-2);
  box-shadow: inset 0 -2px 0 transparent; }
.ad .chip:hover { color: var(--text); box-shadow: inset 0 -2px 0 var(--line-2); }
.ad .chip[aria-pressed="true"] { color: var(--ink); font-weight: 600; box-shadow: inset 0 -2px 0 var(--ink); }
.ad .ad-chips .chip:first-child { padding-left: 2px; }
.ad-chip-n { display: inline-flex; align-items: center; gap: 6px; }
.ad-chip-count { font: 500 13px/1 var(--sans); font-variant-numeric: tabular-nums; color: var(--text-2); }
.ad .chip[aria-pressed="true"] .ad-chip-count { color: var(--text); }
.ad-filters { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px 16px; flex: 1 1 auto; padding-bottom: 8px; }
.ad-inline { display: flex; align-items: center; gap: 8px; }
.ad-inline select { min-height: 40px; width: auto; max-width: 200px; font-size: 14px; }
.ad-search { flex: 0 1 280px; min-width: 180px; }
.ad-search input { min-height: 40px; padding: 0 12px; font-size: 15px; background: var(--surface); }
.ad-toolbar-leads { flex-direction: column; flex-wrap: nowrap; align-items: stretch; border-bottom: 0; }
.ad-toolbar-leads .ad-chips { border-bottom: 1px solid var(--line); }
.ad-toolbar-leads .ad-filters { justify-content: flex-start; padding-bottom: 0; }
.ad-toolbar-leads .ad-search { margin-left: auto; }

/* ---------- calls ---------- */
.ad-calls-head, .ad-call { display: grid; grid-template-columns: 76px minmax(110px, .9fr) 96px minmax(130px, 1fr) minmax(160px, 2fr) 92px 44px 48px; gap: 12px; align-items: center; }
.ad-calls-head { padding: 14px 24px 10px; border-bottom: 1px solid var(--line); font: 600 12px/1.4 var(--sans); letter-spacing: .06em; text-transform: uppercase; color: var(--text-2); }
.ad-calls li + li { border-top: 1px solid var(--line); }
.ad-call { padding: 8px 24px; color: var(--text); text-decoration: none; font-size: 14px; min-height: 56px; }
.ad-call:hover { background: var(--tint); }
.ad-call:focus-visible { outline-offset: -2px; }
.ad-call > span { min-width: 0; }
.ad-c-shop, .ad-c-prob { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ad-c-prob { color: var(--text-2); }
.ad-c-caller .ad-strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ad-c-time { display: flex; flex-direction: column; color: var(--text-2); white-space: nowrap; font-size: 13px; line-height: 1.35; font-variant-numeric: tabular-nums; }
.ad-c-day { font-weight: 600; color: var(--text); }
.ad-c-status { font-size: 13px; }
.ad-c-inc.is-hot { color: var(--em); font-weight: 700; }
.ad-call.is-spam .ad-c-caller .ad-strong { font-weight: 500; color: var(--text-2); }

/* ---------- leads ---------- */
.ad-leads { display: flex; flex-direction: column; background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; }
.ad-leads:empty { display: none; }
.ad-lead { display: grid; grid-template-columns: minmax(180px, 1.25fr) minmax(150px, .8fr) minmax(250px, 1.15fr) minmax(200px, 1.3fr); gap: 12px 24px; padding: 20px 24px; align-items: start; position: relative; }
.ad-lead + .ad-lead { border-top: 1px solid var(--line); }
.ad-lead.is-due { box-shadow: inset 3px 0 0 var(--orange); }
.ad-lead-name { font: 600 17px/1.25 var(--sans); color: var(--ink); overflow-wrap: anywhere; }
.ad-lead-meta { color: var(--text-2); font-size: 14px; margin-top: 2px; }
.ad-badges { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 8px; }
.ad-badges:empty { display: none; }
.ad-badge { display: inline-block; padding: 1px 6px; border-radius: 2px; font: 600 12px/1.5 var(--sans); letter-spacing: .04em; text-transform: uppercase; background: var(--page); color: var(--text-2); }
.ad-badge-247 { background: var(--text); color: #fff; }
.ad-badge-fr { background: transparent; box-shadow: inset 0 0 0 1px var(--line-2); }
.ad-badge-due { background: var(--orange-wash); color: var(--action-hover); box-shadow: inset 0 0 0 1px var(--orange-line); }
.ad-lead-contact { display: flex; flex-direction: column; gap: 6px; align-items: flex-start; min-width: 0; }
.ad .ad-tel { min-height: 44px; padding: 0 16px; font-weight: 600; font-size: 15px; font-variant-numeric: tabular-nums; background: #fff; }
.ad .ad-tel:hover { border-color: var(--text); }
.ad-lead-links { display: flex; flex-direction: column; gap: 2px; font-size: 14px; min-width: 0; max-width: 100%; }
.ad-lead-links a { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-decoration: none; font-weight: 500; }
.ad-lead-links a:hover { text-decoration: underline; text-underline-offset: 3px; }
.ad-lead-work { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
.ad-status-row { display: flex; gap: 6px; }
.ad-status-row select { flex: 1 1 auto; min-width: 0; min-height: 44px; font-weight: 600; }
.ad .ad-next { min-height: 44px; flex: none; }
.ad-lead-date input { min-height: 44px; }
.ad-note-label { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.ad-note-state { color: var(--ok); }
.ad-lead-notes textarea { min-height: 68px; font-size: 14px; }
.ad-research { margin-top: 2px; }

/* ---------- responsive ---------- */
@media (max-width: 1280px) {
  .ad-lead { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .ad-calls-head, .ad-call { grid-template-columns: 72px minmax(90px, .8fr) 92px minmax(120px, 1fr) minmax(120px, 1.6fr) 88px 36px 40px; gap: 10px; }
}
@media (max-width: 1100px) {
  .ad-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ad-editor { grid-template-columns: minmax(0, 1fr); }
  .ad-editor .ad-fs:nth-of-type(4) { grid-row: auto; }
  .ad-pipe { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .ad-pipe-step:nth-child(5) { border-left: 0; }
  .ad-pipe-step:nth-child(n+5) { border-top: 1px solid var(--line); }
  /* calls become two-line rows */
  .ad-calls-head { display: none; }
  .ad-call { grid-template-columns: auto minmax(0, 1fr) auto; grid-template-areas: "caller caller time" "prob prob status" "lvl shop meta"; gap: 3px 10px; padding: 12px 16px; }
  .ad-c-lvl { grid-area: lvl; }
  .ad-c-caller { grid-area: caller; display: flex; gap: 8px; align-items: baseline; overflow: hidden; }
  .ad-c-caller .ad-strong { flex: 0 0 auto; max-width: 100%; }
  .ad-c-caller .ad-sub { display: block; margin: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; flex: 0 1 auto; }
  .ad-c-time { grid-area: time; flex-direction: row; gap: 6px; justify-content: flex-end; }
  .ad-c-prob { grid-area: prob; }
  .ad-c-status { grid-area: status; text-align: right; color: var(--text-2); }
  .ad-c-shop { grid-area: shop; font-size: 13px; color: var(--text-2); }
  .ad-c-flags, .ad-c-inc { grid-area: meta; font-size: 12px; }
  .ad-c-flags { display: none; }
  .ad-c-inc:not(.is-hot) { visibility: hidden; }
  .ad-c-inc.is-hot::after { content: ' incident'; font-weight: 600; }
}
/* Phones: slim white top bar, sections in a bottom tab bar (same as the owner app) */
@media (max-width: 860px) {
  .ad-shell { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto 1fr; align-content: start; }
  .ad-shell::before { display: none; }
  .ad-side { position: sticky; top: 0; z-index: 20; height: auto; min-height: 56px; overflow: visible; flex-direction: row; align-items: center; gap: 12px;
    padding: 10px 16px; border-right: 0; border-bottom: 1px solid var(--line); }
  .ad-side .ad-brand { padding-left: 0; }
  .ad-side .ad-brand .wordmark { font-size: 22px; }
  .ad-side-foot { margin: 0 0 0 auto; flex-direction: row; align-items: center; padding: 0; border: 0; }
  .ad-side-foot .label, .ad-user { display: none; }
  .ad-nav { position: fixed; z-index: 25; left: 0; right: 0; bottom: 0; flex-direction: row; gap: 0; background: var(--surface); border-top: 1px solid var(--line);
    padding: 0 4px env(safe-area-inset-bottom); }
  .ad-nav a { flex: 1 1 0; min-width: 0; flex-direction: column; justify-content: center; gap: 3px; min-height: var(--tabbar); padding: 6px 2px 5px; border-radius: 0;
    font-size: 12px; font-weight: 500; line-height: 1.2; }
  .ad-nav a > span:not(.ad-count) { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .ad-nav a svg { width: 22px; height: 22px; }
  .ad-nav a:hover { background: transparent; }
  .ad-nav a[aria-current="page"] { background: transparent; color: var(--ink); font-weight: 600; }
  .ad-nav a[aria-current="page"]::before { left: 50%; top: 0; bottom: auto; width: 32px; height: 2px; margin-left: -16px; border-radius: 0 0 2px 2px; }
  .ad-count { position: absolute; top: 4px; left: 50%; margin-left: 6px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; font-size: 11px; line-height: 18px; }
  html { scroll-padding-bottom: calc(var(--tabbar) + 16px); }
  .ad-main { padding: 20px 16px calc(var(--tabbar) + 32px + env(safe-area-inset-bottom)); }
  .ad-view { gap: 18px; }
  .ad-top h1 { font-size: 28px; }
  .ad-card { padding: 20px; }
  .ad-card-flush { padding: 0; }
  .ad-pad { padding: 16px 20px 4px; }
  .ad-sys { margin: 0 -21px -21px -20px; }
  .ad-pill { padding-left: 40px; padding-right: 20px; }
  .ad-pill-dot { left: 20px; }
  .ad-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ad-kpi { padding: 14px 16px 12px; }
  .ad-kpi-n { font-size: 24px; }
  .ad-kpis .ad-kpi:last-child { grid-column: 1 / -1; }
  .ad-grid, .ad-editor .ad-fs .ad-grid, #owner-form .ad-grid { grid-template-columns: minmax(0, 1fr) !important; }
  .ad-span2, .ad-span3 { grid-column: auto; }
  .ad-editor .ad-fs:nth-of-type(1) [data-field="status"] { grid-row: auto; }
  /* tables become stacked cards */
  .ad-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .ad-table, .ad-table tbody, .ad-table tr, .ad-table td { display: block; width: 100%; }
  .ad-table tr { padding: 14px 20px; border-top: 1px solid var(--line); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px 12px; }
  .ad-table tbody tr:first-child { border-top: 0; }
  .ad-table td, .ad-table td:first-child, .ad-table td:last-child { height: auto; padding: 0; border: 0; text-align: left; }
  .ad-table tbody tr:hover td { background: none; }
  .ad-table td[data-label]::before { content: attr(data-label); display: block; font: 600 12px/1.5 var(--sans); letter-spacing: .06em; text-transform: uppercase; color: var(--text-2); }
  .ad-table td.ad-cell-main { grid-column: 1 / -1; font-size: 16px; }
  .ad-table td.ad-cell-main::before { display: none; }
  .ad-table td.ad-cell-use { grid-column: 1 / -1; min-width: 0; width: 100%; }
  .ad-shops .ad-cell-act { grid-column: 1 / -1; display: flex; align-items: center; gap: 16px; text-align: left; }
  .ad-shops .ad-cell-act .ad-more { margin-left: 0; }
  .ad-usage td.ad-num { text-align: left; }
  .ad-pipe { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ad-pipe-step:nth-child(4) { border-left: 0; }
  .ad-pipe-step:nth-child(5) { border-left: 1px solid var(--line); }
  .ad-pipe-step:nth-child(n+4) { border-top: 1px solid var(--line); }
  .ad-pipe-lost { grid-column: 1 / -1; border-left: 0 !important; border-top-style: dashed !important; }
  .ad-pipe-lost .ad-pipe-a { flex-direction: row; align-items: baseline; gap: 10px; min-height: 0; }
  .ad-pipe-a { min-height: 64px; padding: 12px 12px 10px; }
  .ad-toolbar { border-bottom: 0; }
  .ad-chips { flex-wrap: nowrap; overflow-x: auto; margin-inline: -16px; padding: 0 16px; scrollbar-width: none; min-width: 0; max-width: calc(100% + 32px); flex: 1 1 100%; border-bottom: 1px solid var(--line); }
  .ad-chips::-webkit-scrollbar { display: none; }
  .ad .chip { flex: none; padding: 0 10px; }
  .ad-filters { width: 100%; padding-bottom: 0; }
  .ad-search, .ad-toolbar-leads .ad-search { flex: 1 1 100%; margin-left: 0; min-width: 0; }
  .ad-search input { min-height: 44px; }
  .ad-inline { flex: 1 1 140px; }
  .ad-inline select { max-width: none; flex: 1 1 auto; min-height: 44px; }
  .ad-lead { grid-template-columns: minmax(0, 1fr); gap: 14px; padding: 18px 16px; }
  .ad-lead-contact { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 8px 14px; }
  .ad .ad-tel { min-height: 48px; font-size: 16px; flex: 1 1 100%; }
  .ad-lead-work { grid-template-columns: minmax(0, 1fr); }
  .ad-status-row select, .ad .ad-next { min-height: 48px; }
  .ad-numrow { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .ad-numrow .ad-rm { grid-column: 1 / -1; justify-self: start; min-height: 32px; }
  .ad-day { grid-template-columns: 112px minmax(0, 1fr) 10px minmax(0, 1fr); gap: 6px; padding: 6px 10px; }
  .ad-day .ad-check span { font-size: 14px; }
  .ad-savebar { margin-inline: -4px; }
  .ad-secret-row { flex-wrap: wrap; }
  .ad-secret-row .btn { flex: 1 1 100%; }
}
@media (max-width: 420px) {
  .ad-day { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .ad-day .ad-check { grid-column: 1 / -1; }
  .ad-day .ad-dash { display: none; }
  .ad-day .ad-closed { grid-column: 1 / -1; margin-top: -6px; }
}
@media (prefers-reduced-motion: reduce) { .ad * { transition: none !important; scroll-behavior: auto !important; } }

/* add lead + remove */
.ad-grid-2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); gap: 16px; }
.ad-inline-check { display: flex; gap: 8px; align-items: center; min-height: 40px; font-size: 15px; }
.ad-inline-check input { width: 18px; height: 18px; margin: 0; accent-color: var(--action); }
.ad-lead-remove { margin-top: 6px; display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.ad-rm-confirm { display: inline-flex; gap: 12px; align-items: center; flex-wrap: wrap; }

/* billing */
.ad-kpis-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ad-bill .ad-bill-total { font-weight: 700; color: var(--ink); }
.ad-select { min-height: 36px; border: 1px solid var(--line-2); border-radius: var(--r); font: inherit; }
@media (max-width: 860px) { .ad-kpis-3 .ad-kpi:last-child { grid-column: auto; } .ad-kpis-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ad-kpis-3 .ad-kpi:first-child { grid-column: 1 / -1; } }
#v-billing .ad-top .ad-row { flex-wrap: nowrap; align-items: center; gap: 10px; }
#v-billing .ad-select { width: auto; min-width: 0; min-height: 36px; font-size: 14px; }
@media (max-width: 420px) { #v-billing .ad-top .ad-row { flex-wrap: wrap; } }

/* Usability review fixes */
@media (max-width: 860px) { .ad-flash { bottom: calc(var(--tabbar) + 16px + env(safe-area-inset-bottom)); } }
/* Headings get focus from script (after navigating) so screen readers start there; they aren't controls, so no focus box. */
.ad h1[tabindex="-1"]:focus, .ad h1[tabindex="-1"]:focus-visible { outline: none; }
.ad-badge-sample { border-style: dashed; margin-left: 6px; }
.ad-aftercall { margin-top: 8px; padding: 12px 14px; border-radius: var(--r); background: var(--page); display: flex; flex-direction: column; gap: 8px; }
.ad-aftercall-q { font-weight: 600; font-size: 14px; }
.ad-warn { flex-basis: 100%; margin-top: 6px; padding: 10px 14px; border-radius: var(--r); background: var(--orange-wash); box-shadow: inset 3px 0 0 var(--orange); color: var(--text); font-weight: 600; font-size: 14px; }

/* ---------- needs attention (top of Overview) ---------- */
.ad-attention .ad-card-head { align-items: baseline; }
.ad-attention .ad-h2 { margin-bottom: 4px; }
.ad-attention .ad-card-head .label { font-size: 13px; font-weight: 500; letter-spacing: 0; text-transform: none; }
.ad-att-empty { color: var(--text-2); font-size: 15px; padding: 2px 0; }
.ad-att-list { margin: 12px -24px -24px; border-top: 1px solid var(--line); }
.ad-att { display: flex; flex-direction: column; }
.ad-att .ad-move { padding: 0 24px 14px; margin-top: -4px; }
.ad-att + .ad-att { border-top: 1px solid var(--line); }
.ad-att:last-child { border-radius: 0 0 var(--r) var(--r); }
.ad-att.is-urgent { box-shadow: inset 3px 0 0 var(--em); background: #FEF7F5; }
.ad-att-a { display: flex; flex-direction: column; gap: 3px; padding: 14px 24px; color: var(--text); text-decoration: none; min-width: 0; }
.ad-att-a:hover { background: var(--tint); }
.ad-att.is-urgent .ad-att-a:hover { background: #FDF0ED; }
.ad-att-a:hover .ad-strong { text-decoration: underline; text-underline-offset: 3px; }
.ad-att-a:focus-visible { outline-offset: -2px; }
.ad-att-top { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; min-width: 0; }
.ad-att-shop { font-weight: 600; font-size: 13px; color: var(--text); overflow-wrap: anywhere; }
.ad-att-shop.is-unrouted { color: var(--em); font-weight: 700; }
.ad-att-when { margin-left: auto; font-size: 13px; color: var(--text-2); white-space: nowrap; font-variant-numeric: tabular-nums; }
.ad-att-who { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; min-width: 0; font-size: 15px; }
.ad-att-who .ad-strong { overflow-wrap: anywhere; }
.ad-att-prob { color: var(--text); overflow-wrap: anywhere; }
.ad-att-why { font-size: 13px; color: var(--text-2); }
.ad-att.is-urgent .ad-att-why, .ad-att.is-unrouted .ad-att-why { color: var(--em); font-weight: 600; }

/* "File under [shop] Move" for unrouted calls */
.ad-move { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; min-width: 0; }
.ad-move .label { white-space: nowrap; }
.ad .ad-move select { width: auto; min-width: 0; max-width: 240px; min-height: 36px; font-size: 14px; }
.ad .ad-move .btn { min-height: 36px; }
.ad-calls li.is-unrouted { box-shadow: inset 3px 0 0 var(--em); }
.ad-calls li.is-unrouted .ad-move { padding: 0 24px 14px; justify-content: flex-end; margin-top: -4px; }
.ad-c-shop.is-unrouted { white-space: normal; }
.ad-c-unrouted { display: block; font-weight: 700; color: var(--em); }

/* paused badge next to a shop's name */
.ad-pausepill { margin-left: 8px; font-size: 12px; line-height: 1.4; vertical-align: 1px; }

/* in-page confirm (pause / cancel) and save conflict */
.ad-confirm { flex: 1 1 100%; display: flex; flex-direction: column; gap: 10px; padding: 14px 16px; border-radius: var(--r); background: var(--orange-wash); box-shadow: inset 3px 0 0 var(--orange); }
.ad-confirm-msg { font-weight: 600; font-size: 14px; color: var(--ink); }
.ad-conflict { background: var(--page); }

/* billing: opened on last month */
.ad-note { padding: 12px 16px; border-radius: var(--r); background: var(--surface); border: 1px solid var(--line); box-shadow: inset 3px 0 0 var(--text); font-size: 14px; }
.ad-note a { font-weight: 600; text-underline-offset: 3px; }

.ad select:disabled, .ad .ad-next:disabled { opacity: .55; cursor: progress; }

@media (max-width: 1100px) {
  .ad-calls li.is-unrouted .ad-move { padding: 0 16px 12px; justify-content: flex-start; margin-top: 0; }
  .ad-c-shop.is-unrouted { display: flex; gap: 8px; align-items: baseline; flex-wrap: wrap; }
  .ad-c-shop.is-unrouted .ad-sub { margin: 0; }
}
@media (max-width: 860px) {
  .ad-att-a { padding: 14px 20px; }
  .ad-att .ad-move { padding: 0 20px 14px; margin-top: 0; }
  .ad-att-list { margin: 12px -20px -20px; }
  .ad .ad-move select { flex: 1 1 140px; max-width: none; min-height: 44px; }
  .ad .ad-move .btn { min-height: 44px; }
}
.ad-nowrap { white-space: nowrap; }
.ad-c-shop.is-unrouted .ad-sub { font-size: 12px; }
@media (max-width: 1100px) {
  /* phone rows: nothing important gets cut off; the caller's number drops to its own line instead */
  .ad-c-caller { flex-wrap: wrap; row-gap: 0; }
  .ad-c-caller .ad-strong { flex: 0 1 auto; white-space: normal; overflow-wrap: anywhere; }
  .ad-c-caller .ad-sub { overflow: visible; text-overflow: clip; flex: 0 0 auto; }
  .ad-c-prob { white-space: normal; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; }
  .ad-c-shop { white-space: normal; overflow-wrap: anywhere; line-height: 1.35; }
  .ad-c-lvl { align-self: start; }
  .ad-call { align-items: start; row-gap: 4px; }
  .ad-c-time { padding-top: 2px; }
}
@media (max-width: 1100px) {
  .ad-call { grid-template-areas: "caller caller time" "prob prob status" "lvl shop shop" "inc inc inc"; }
  .ad-c-inc { grid-area: inc; }
  .ad-c-inc:not(.is-hot) { display: none; }
  .ad-c-inc.is-hot { text-align: left; }
}
@media (max-width: 860px) {
  .ad-filters { justify-content: flex-start; }
  .ad-inline { min-width: 0; }
  .ad-inline label { flex: none; }
  .ad .ad-inline select { min-width: 0; width: 100%; }
}
/* small phones: two pipeline stages per row so the labels aren't jammed against the dividers */
@media (max-width: 400px) {
  .ad-pipe { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ad-pipe-step:nth-child(odd) { border-left: 0; }
  .ad-pipe-step:nth-child(even):not(.ad-pipe-lost) { border-left: 1px solid var(--line); }
  .ad-pipe-step:nth-child(n+3) { border-top: 1px solid var(--line); }
  .ad-pipe-a { min-height: 0; flex-direction: row; align-items: baseline; gap: 10px; padding: 12px; }
}

/* ---------- day-one review ---------- */
/* Save bar: sits at the end of the form; floats over the page only while there are unsaved changes.
   While it floats, focus and scrollIntoView keep things (the phone line's Remove link) clear of it. */
.ad-savebar { box-shadow: none; }
.ad-savebar.is-dirty { position: sticky; box-shadow: var(--float), inset 3px 0 0 var(--orange); border-color: var(--line-2); }
html:has(.ad-savebar.is-dirty) { scroll-padding-bottom: 104px; }
@media (max-width: 860px) {
  .ad-savebar.is-dirty { bottom: calc(var(--tabbar) + 8px + env(safe-area-inset-bottom)); }
  html:has(.ad-savebar.is-dirty) { scroll-padding-bottom: calc(var(--tabbar) + 120px); }
}

.ad code { font: 600 13px/1.4 var(--sans); padding: 1px 5px; border-radius: 2px; background: var(--page); }
.ad-banner { padding: 14px 18px; border-radius: var(--r); background: var(--orange-wash); border: 1px solid var(--orange-line); box-shadow: inset 3px 0 0 var(--orange); font-size: 15px; line-height: 1.45; color: var(--text); }
.ad-banner strong { color: var(--ink); }
.ad-banner code { background: var(--surface); }
.ad-warn-inline { flex-basis: auto; margin-top: 0; }
.ad-warn code { background: #fff; }

.ad-h3 { font: 600 16px/1.3 var(--sans); color: var(--ink); margin-top: 6px; }
.ad-logins { display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: var(--r); background: #fff; }
.ad-login { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 6px 16px; min-height: 52px; padding: 10px 16px; }
.ad-login + .ad-login { border-top: 1px solid var(--line); }
.ad-login-who { min-width: 0; overflow-wrap: anywhere; }
.ad-login-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; }
.ad-login-note { font-size: 13px; color: var(--text-2); }

.ad-cell-alerts { white-space: nowrap; font-size: 14px; }
.ad-alerts-none { color: var(--em); font-weight: 700; }
.ad-att-database .ad-att-who, .ad-att-alerts .ad-att-who { font-size: 15px; }

.ad-lead-size { margin-top: 6px; overflow-wrap: anywhere; }
@media (max-width: 860px) {
  .ad-table td.ad-cell-alerts { white-space: normal; }
  .ad-secret-row .btn { flex: 1 1 120px; }
}

/* Hours: room for "08:00 AM" and the picker icon in narrow columns */
.ad-day .ad-time input { padding: 0 6px 0 10px; }
.ad-day .ad-time input::-webkit-calendar-picker-indicator { margin-left: 2px; }
.ad-editor .ad-fs:nth-of-type(6) .ad-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 861px) { .ad-day { grid-template-columns: 118px minmax(0, 1fr) 10px minmax(0, 1fr); gap: 6px; } }
