/* === agent b5: navigation, Today, record first screen, quieter cards === */
/* Shared values for this file. */
:root { --nv-gap: 0.75rem; --nv-r: var(--r-card, 22px); --nv-row-h: 2.75rem; }

/* ---------------------------------------------------------------- top bar: four tabs, utility menu, one New */
.tb-apps.on { background: var(--top-hover); color: var(--on-strong); box-shadow: inset 0 -2px 0 var(--on-strong); }
.tb-link[aria-current="page"] { font-weight: 600; }
.nv-new { position: relative; display: flex; margin-right: var(--sp-2); }
.nv-new-btn { display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 14px 0 10px; border: 0; border-radius: var(--r-pill); cursor: pointer;
  background: var(--accent); color: var(--accent-ink); font: inherit; font-size: 13px; font-weight: 600; transition: background .15s, transform .1s; }
.nv-new-btn:hover { background: var(--accent-hover); }
.nv-new-btn:active { transform: scale(.97); }
.nv-new-btn .ico { width: 16px; height: 16px; stroke-width: 2.25; }
.nv-new-btn:focus-visible { outline: 2px solid var(--focus-on-dark); outline-offset: 2px; }
.nv-new .menu { min-width: 250px; }
.nv-new .menu .menu-head { max-width: 280px; }

/* The utility menu: grouped columns on a wide screen, one scrolling column on a phone. */
.menu:has(> .nv-util) { padding: var(--sp-2); max-height: calc(100vh - 64px); overflow-y: auto; overscroll-behavior: contain; }
.nv-util { display: grid; grid-template-columns: repeat(3, minmax(190px, 1fr)); gap: 0 var(--sp-2); }
.nv-util-g { min-width: 0; padding-bottom: var(--sp-2); }
.nv-util-g .menu-head { font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding-top: var(--sp-3); }
.nv-util a { border-radius: 10px; min-height: 34px; }
.nv-util a.on { background: rgb(var(--mod-rgb, 53 82 181) / .1); font-weight: 600; }
.nv-util a .ico { color: var(--muted); }
.nv-util-main { display: none; }
@media (max-width: 980px) { .nv-util { grid-template-columns: repeat(2, minmax(170px, 1fr)); } }
@media (max-width: 700px) {
  .nv-util { grid-template-columns: minmax(0, 1fr); }
  .menu:has(> .nv-util) { left: 8px !important; right: 8px; width: auto; max-width: none; }
  .nv-util-main { display: block; }
  .nv-new-btn span { display: none; }
  .nv-new-btn { width: 34px; padding: 0; justify-content: center; }
}

/* ---------------------------------------------------------------- Work: Tickets / Deals switch, lanes as a layout */
.dk-seg a { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-width: 32px; height: 30px; padding: 0 8px; border-radius: var(--r-md); color: var(--muted);
  text-decoration: none; transition: background .15s, color .15s, transform .1s; }
.dk-seg a:hover { color: var(--ink); text-decoration: none; }
.dk-seg a:active { transform: scale(.97); }
.dk-seg a.on, .dk-seg a[aria-current="page"] { background: var(--panel); color: var(--ink); box-shadow: var(--sh-hover); font-weight: 600; }
.dk-seg a:focus-visible, .dk-seg button:focus-visible { outline: 2px solid var(--focus); outline-offset: 1px; }
.nv-work { flex: none; }
.nv-work a { padding: 0 12px; font-size: 13px; }
.nv-work a .ico { color: var(--mod); }
.dk-head .nv-work { margin-right: var(--sp-2); }
.gx-head .nv-work { margin-right: var(--sp-1); }
.sh-head .nv-work, .sh-head .nv-lanes-seg { align-self: center; flex: none; }
.sh-head .nv-lanes-seg { margin-right: var(--sp-2); }
.nv-lanes { width: 32px; padding: 0 !important; }

/* ---------------------------------------------------------------- Reports bar (Service Board + Dashboards) */
.nv-board { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.nv-board > .sb-host { flex: 1; min-height: 0; }
.nv-reports { display: flex; align-items: center; gap: var(--nv-gap); flex-wrap: wrap; padding: var(--sp-2) var(--sp-4); }
.main:not(.flush) > .nv-reports { padding: 0 0 var(--sp-3); }
.nv-reports .mod-tile { width: 28px; height: 28px; border-radius: 9px; }
.nv-reports-t { font-size: 1.0625rem; letter-spacing: -.02em; }
.nv-reports .dk-seg a { padding: 0 12px; font-size: 13px; }
.nv-reports-hint { font-size: 12px; color: var(--muted); }
.nv-pin { height: 32px; font-size: 12.5px; }
@media (max-width: 700px) { .nv-reports-hint { display: none; } }

/* ---------------------------------------------------------------- Today */
.nv-today { max-width: 1180px; margin: 0 auto; padding-bottom: 6rem; }
.nv-today-head { display: flex; align-items: center; gap: var(--nv-gap); flex-wrap: wrap; margin: var(--sp-1) 0 var(--sp-4); }
.nv-today-head .mod-tile { width: 40px; height: 40px; border-radius: 12px; }
.nv-today-t { min-width: 0; }
.nv-today-t h1 { margin: 0; font-size: 1.625rem; line-height: 1.15; letter-spacing: -.025em; }
.nv-eyebrow { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); margin-bottom: 2px; }
.nv-seg button { width: auto; padding: 0 12px; font: inherit; font-size: 13px; font-weight: 500; }
.nv-seg button[aria-pressed="true"] { font-weight: 600; }
.nv-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: var(--nv-gap); align-items: start; transition: opacity .15s; }
.nv-stale { opacity: .6; }
.nv-card { background: var(--panel); border-radius: var(--nv-r); box-shadow: var(--glass-edge), var(--sh-1); padding: var(--sp-3) var(--sp-2) var(--sp-2); min-width: 0; }
.nv-card h2 { display: flex; align-items: baseline; gap: var(--sp-2); margin: 0 var(--sp-2) var(--sp-2); font-size: 0.9375rem; letter-spacing: -.012em; line-height: 1.3; }
.nv-card h2 span { flex: 1; min-width: 0; }
.nv-card h2 b { font-size: 12px; font-weight: 700; color: var(--mod, var(--sg-blue)); font-variant-numeric: tabular-nums; }
.nv-card ul { list-style: none; margin: 0; padding: 0; }
.nv-row { display: flex; align-items: center; gap: 10px; min-height: var(--nv-row-h); padding: 6px var(--sp-2); border-radius: 12px; color: var(--ink); text-decoration: none; transition: background .12s, transform .1s; }
.nv-row:hover { background: var(--soft); text-decoration: none; }
.nv-row:active { transform: scale(.985); background: var(--hover); }
.nv-row:focus-visible { outline: 2px solid var(--focus); outline-offset: -2px; background: var(--soft); }
.nv-row > .ico { color: var(--faint); flex: none; }
.nv-row-t { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.nv-row-m { font-size: 13.5px; line-height: 1.35; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.nv-row-s { font-size: 12px; color: var(--muted); line-height: 1.35; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.nv-dot { width: 8px; height: 8px; border-radius: 50%; flex: none; background: rgb(var(--sg-blue-rgb, 36 61 144) / .22); }
.nv-row.t-late .nv-dot { background: var(--bad, #c2410c); }
.nv-row.t-warn .nv-dot { background: var(--sg-gold-deep, #E39A17); }
.nv-card footer { display: flex; align-items: center; gap: var(--sp-2); padding: var(--sp-2) var(--sp-2) 2px; }
.nv-link { display: inline-flex; align-items: center; gap: 4px; font-size: 12.5px; font-weight: 600; color: var(--link); border-radius: 8px; padding: 2px 4px; }
.nv-link:focus-visible { outline: 2px solid var(--focus); outline-offset: 1px; }
.nv-err { margin: 0 var(--sp-2) var(--sp-2); font-size: 12.5px; color: var(--warn); display: flex; gap: 6px; align-items: center; }
.nv-clear p { margin: 0 var(--sp-2) var(--sp-2); color: var(--muted); }
.nv-clear .nv-link { margin: 0 var(--sp-2); }
.nv-quiet { display: flex; align-items: center; gap: 6px; margin: var(--sp-4) var(--sp-1) 0; font-size: 12.5px; color: var(--muted); }
.nv-quiet .ico { color: var(--good, #0f8a6b); }
.nv-msg { display: flex; align-items: center; gap: 8px; padding: var(--sp-3) var(--sp-4); border-radius: var(--nv-r); background: var(--panel); box-shadow: var(--glass-edge), var(--sh-1); color: var(--warn); }
.nv-skel { min-height: 9rem; }
.nv-card.nv-skel > div { height: 12px; margin: 14px var(--sp-2); border-radius: 6px; background: rgb(var(--sg-blue-rgb, 36 61 144) / .07); }
.nv-card.nv-skel > div:first-child { width: 40%; }
body:has(main[data-module="today"]) { --mod: #D98A0B; --mod-rgb: 217 138 11; }
@media (max-width: 700px) {
  .nv-today-head { gap: var(--sp-2); }
  .nv-today-head .nv-seg { order: 3; width: 100%; overflow-x: auto; scrollbar-width: none; }
  .nv-today-head .nv-seg::-webkit-scrollbar { display: none; }
  .nv-today-head .nv-seg button { flex: 1 0 auto; }
  .nv-today-t h1 { font-size: 1.375rem; }
}

/* ---------------------------------------------------------------- record first screen: four answers */
.tk.gx .tk-head:has(.nv-brief) { grid-template-areas: "eye eye" "h1 h1" "meta act" "brief brief"; }
.tk.gx .tk-title > .nv-brief { grid-area: brief; }
@media (max-width: 980px) { .tk.gx .tk-head:has(.nv-brief) { grid-template-areas: "eye" "h1" "meta" "brief" "act"; } }
.nv-brief { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--line); min-width: 0; }
.nv-brief-g { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) minmax(0, .8fr) minmax(0, 1.15fr); gap: 10px 18px; margin: 0; }
.nv-b { min-width: 0; }
.nv-b dt { font-size: 10.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); margin-bottom: 3px; }
.nv-b dd { margin: 0; font-size: 13.5px; line-height: 1.4; display: flex; flex-direction: column; gap: 2px; min-width: 0; overflow-wrap: anywhere; }
.nv-b dd small { font-size: 12px; color: var(--muted); line-height: 1.35; }
.nv-b dd .ctx { font-size: 13px; }
.nv-b dd .ctx a span { max-width: 22ch; }
.nv-b.unset dd { color: var(--muted); }
.nv-b.late dd > span:first-child { color: var(--ink); }
.nv-late { color: var(--bad, #c2410c) !important; font-weight: 600; }
.nv-none { color: var(--muted); }
.nv-days { color: var(--muted); font-weight: 400; }
.nv-block { display: inline-flex; align-items: center; gap: 4px; color: var(--warn) !important; font-weight: 600; }
.nv-needs-l { color: var(--warn) !important; }
.nv-contact { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 4px 8px; font-size: 12.5px; color: var(--ink-2); }
.nv-contact .ico { color: var(--mod); }
.nv-skel { display: inline-block; width: 70%; height: 10px; border-radius: 6px; background: rgb(var(--sg-blue-rgb, 36 61 144) / .08); }
.nv-sunline { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; margin-top: 10px; font-size: 12.5px; color: var(--muted); }
.nv-sunline > .ico { color: var(--sg-gold-deep, #E39A17); align-self: center; flex: none; }
.nv-sunline-t { min-width: 0; flex: 1; }
.nv-sunline ul { flex-basis: 100%; margin: 2px 0 0 20px; padding: 0; }
@media (max-width: 1180px) { .nv-brief-g { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) {
  .nv-brief-g { gap: 10px 14px; }
  .nv-b-for, .nv-b-what { grid-column: 1 / -1; }
  .nv-b dd { font-size: 13px; }
}
.lc-now-q .lc-eye { margin: 0; }

/* named folds below the main tab */
.nv-sections { display: flex; flex-direction: column; gap: 8px; margin: 12px 0 0; }
.nv-fold { background: var(--panel); border-radius: 16px; box-shadow: var(--glass-edge), var(--sh-1); }
.nv-fold > summary { display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 0 16px; cursor: pointer; list-style: none; border-radius: 16px; }
.nv-fold > summary::-webkit-details-marker { display: none; }
.nv-fold > summary:focus-visible { outline: 2px solid var(--focus); outline-offset: -2px; }
.nv-fold > summary:active { background: var(--soft); }
.nv-fold > summary .ico { color: var(--muted); flex: none; transition: transform .2s var(--ease-out, ease); }
.nv-fold[open] > summary .ico { transform: rotate(180deg); }
.nv-fold-t { font-weight: 600; font-size: 13.5px; flex: none; }
.nv-fold-s { flex: 1; min-width: 0; font-size: 12.5px; color: var(--muted); overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.nv-fold-b { padding: 0 16px 14px; }
.nv-fold-b > .tcard:first-child, .nv-fold-b > div > .tcard:first-child { margin-top: 0; }
.nv-list { list-style: none; margin: 0 0 8px; padding: 0; }
.nv-list li { display: flex; align-items: center; gap: 10px; min-height: 32px; justify-content: space-between; }
.nv-list a { display: inline-flex; align-items: center; gap: 6px; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nv-kv { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 4px 16px; margin: 0; font-size: 13px; }
.nv-kv dt { color: var(--muted); }
.nv-kv dd { margin: 0; }
.nv-linkfold { margin-top: 8px; }

/* ---------------------------------------------------------------- deal cards: quiet "needs" only when it blocks */
.nv-needs { align-self: flex-start; font-size: 11.5px; font-weight: 600; color: var(--warn); background: rgb(227 154 23 / .1); border-radius: var(--r-pill); padding: 1px 8px; }

@media (prefers-reduced-motion: reduce) {
  .nv-row, .nv-new-btn, .dk-seg a, .nv-fold > summary .ico, .nv-grid { transition: none; }
  .nv-row:active, .nv-new-btn:active, .dk-seg a:active { transform: none; }
}
@media (prefers-contrast: more) {
  .nv-card, .nv-fold { box-shadow: none; border: 1px solid var(--ink-2); }
  .nv-row-s, .nv-b dd small, .nv-fold-s { color: var(--ink-2); }
}
/* === end agent b5 === */
