/* Nazorat door. Prefix nz-. Colours only through W2W tokens. */
.nz-head { align-items: flex-end; flex-wrap: wrap; }
.nz-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.nz-foot { gap: 8px; }
.nz-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.nz-kpis-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.nz-kpis .ny-kpi small { display: block; margin-top: 4px; font-size: 13px; color: var(--green); }
html[data-theme="light"] .nz-kpis .ny-kpi small { color: var(--green-deep); }
.nz-two { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 16px; align-items: start; }
.nz-two > .ny-card { display: grid; gap: 14px; min-width: 0; }
.nz-two-eq { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.nz-stick { position: sticky; top: 88px; }
.nz-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.nz-pair-3 { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); }
.nz-pair .ny-kpi b { font-size: clamp(21px, 2vw, 28px); }
.nz-up { color: var(--danger); font-weight: 600; }
.nz-dn { color: var(--green); font-weight: 600; }
html[data-theme="light"] .nz-dn { color: var(--green-deep); }

/* tables */
.nz-tw { min-width: 0; overflow-x: auto; }
.nz-t { width: 100%; border-collapse: collapse; font-size: 14.5px; }
.nz-t th { text-align: right; font-size: 13px; font-weight: 600; color: var(--label-2); padding: 8px 8px; white-space: nowrap; }
.nz-t td { text-align: right; padding: 11px 8px; box-shadow: inset 0 1px 0 var(--sep); }
.nz-t th:first-child, .nz-t td:first-child { text-align: left; padding-left: 0; }
.nz-t th:last-child, .nz-t td:last-child { padding-right: 0; }
.nz-t td b { font-weight: 600; }
.nz-t .ny-spark { margin-left: auto; }

/* legend */
.nz-legend { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 13px; color: var(--label-2); }
.nz-legend span { display: inline-flex; align-items: center; gap: 7px; }
.nz-legend span::before { content: ""; width: 14px; height: 3px; border-radius: 3px; background: var(--brand); }
.nz-legend .nz-l-b::before { background: var(--green); }
.nz-legend .nz-l-c::before { background: var(--warn); }
.nz-legend .nz-l-band::before { height: 10px; background: rgba(var(--brand-rgb), .25); }

/* regional bars */
.nz-rbs { display: grid; gap: 2px; }
.nz-rb { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 5px 12px; width: 100%; padding: 9px 10px; border-radius: 12px; text-align: left; color: var(--ink); transition: background-color var(--t-fast) ease; }
@media (hover: hover) { .nz-rb:hover { background: var(--fill); } }
.nz-rb[aria-pressed="true"] { background: var(--fill-2); }
.nz-rb-n { display: flex; align-items: center; gap: 8px; min-width: 0; font-size: 14.5px; font-weight: 600; }
.nz-rb-n .tag { padding: 2px 8px; font-size: 12px; }
.nz-rb-v { font-size: 14.5px; font-weight: 700; display: inline-flex; gap: 8px; align-items: baseline; }
.nz-rb-v small { min-width: 52px; text-align: right; font-size: 12.5px; font-weight: 500; color: var(--label-2); }
.nz-rb-b { grid-column: 1 / -1; height: 6px; border-radius: 6px; background: var(--fill); overflow: hidden; }
.nz-rb-b i { display: block; height: 100%; border-radius: 6px; background: var(--brand); transform-origin: 0 50%; transition: transform .5s var(--ease-out); }
.nz-rb-b i.is-dear { background: var(--danger); }
.nz-rb-b i.is-cheap { background: var(--green); }

/* balance */
.nz-shock { display: grid; gap: 4px; }
.nz-shock-v { font-size: 20px; font-weight: 800; letter-spacing: -0.03em; }
.nz-alert { display: flex; align-items: center; gap: 12px; padding: 14px 18px; border-radius: var(--r-md); font-size: 15px; font-weight: 600; }
.nz-alert .i { flex: none; }
.nz-alert.is-warn { background: rgba(255, 176, 32, .14); color: var(--warn); }
.nz-alert.is-ok { background: rgba(var(--green-rgb), .14); color: var(--green); }
html[data-theme="light"] .nz-alert.is-warn { color: #8a5a00; }
html[data-theme="light"] .nz-alert.is-ok { color: var(--green-deep); }

/* signals */
.nz-sigs { display: grid; gap: 10px; }
.nz-sig { display: flex; align-items: center; gap: 14px; padding: 16px 18px; border-radius: var(--r-md); color: var(--ink); text-decoration: none; }
.nz-sig-m { flex: 1; min-width: 0; display: grid; gap: 5px; }
.nz-sig-m b { font-size: 16.5px; letter-spacing: -0.015em; line-height: 1.25; }
.nz-sig-m small { font-size: 13.5px; color: var(--label-2); }
.nz-sig-top { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.nz-sig-top .tag { padding: 3px 9px; font-size: 12px; }
.nz-chev { flex: none; opacity: .5; }
.nz-empty { display: flex; align-items: center; gap: 10px; color: var(--label-2); }
.nz-back { display: inline-flex; align-items: center; gap: 8px; font-size: 14.5px; font-weight: 600; color: var(--link); text-decoration: none; }
.nz-back .i { width: 18px; height: 18px; }
.nz-case, .nz-ev { display: grid; gap: 14px; }
.nz-lead { font-size: 16.5px; color: var(--ink-soft); max-width: 70ch; }
.nz-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; padding-top: 14px; box-shadow: inset 0 1px 0 var(--sep); }
.nz-facts span { display: block; font-size: 13px; color: var(--label-2); margin-bottom: 3px; }
.nz-facts b { font-size: 14.5px; font-weight: 600; }
.nz-acts { display: flex; flex-wrap: wrap; gap: 10px; }
.nz-hb { display: grid; gap: 14px; font-size: 14.5px; }
.nz-hb .ny-bar { margin-top: 6px; }
.nz-hb .ny-bar i.is-warn { background: var(--warn); }
.nz-g-l { fill: none; stroke: var(--brand); stroke-width: 2; opacity: .8; }
.nz-g-l.is-a { stroke: var(--warn); }
.nz-g-n { fill: var(--fill-2); stroke: var(--sep); }
.nz-g-n.is-inn { fill: rgba(229, 72, 77, .2); stroke: var(--danger); }
.nz-g-n.is-addr { fill: rgba(255, 176, 32, .18); stroke: var(--warn); }
.nz-g-t { fill: var(--ink); font-size: 13px; font-family: inherit; font-weight: 500; }
.nz-g-t.is-b { font-weight: 700; fill: var(--label-2); font-size: 12px; }

/* ask */
.nz-chat { display: grid; gap: 14px; padding: 18px; }
.nz-thread { display: grid; align-content: start; gap: 12px; max-height: min(58vh, 560px); min-height: 280px; overflow-y: auto; padding-right: 4px; overscroll-behavior: contain; }
.nz-m { display: flex; min-width: 0; }
.nz-m > div { max-width: min(92%, 640px); min-width: 0; padding: 12px 16px; border-radius: 20px; background: var(--fill); font-size: 15px; line-height: 1.45; }
.nz-m.is-u { justify-content: flex-end; }
.nz-m.is-u > div { background: var(--brand); color: var(--on-brand); font-weight: 600; }
.nz-m-x { display: grid; gap: 8px; margin-top: 10px; min-width: min(260px, 100%); }
.nz-srcs { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.nz-src { display: inline-flex; align-items: center; gap: 6px; padding: 5px 11px; border-radius: 99px; background: rgba(var(--brand-rgb), .16); color: var(--brand-ink); font-size: 13px; font-weight: 600; text-align: left; }
.nz-src .i { width: 15px; height: 15px; flex: none; }
.nz-src:active { transform: scale(.96); }
.nz-dots { display: inline-flex; gap: 5px; align-items: center; height: 44px; }
.nz-dots i { width: 7px; height: 7px; border-radius: 50%; background: var(--label-2); animation: nz-dot 1s ease-in-out infinite; }
.nz-dots i:nth-child(2) { animation-delay: .15s; }
.nz-dots i:nth-child(3) { animation-delay: .3s; }
@keyframes nz-dot { 0%, 60%, 100% { opacity: .35; transform: translateY(0); } 30% { opacity: 1; transform: translateY(-3px); } }
.nz-sug { display: flex; flex-wrap: wrap; gap: 6px; }
.nz-sug .chip { font-size: 13.5px; padding: 7px 12px; }
.nz-in { display: flex; gap: 8px; min-width: 0; }
.nz-in input { flex: 1; min-width: 0; padding: 13px 18px; border: 1px solid transparent; border-radius: var(--r-pill); background: var(--bg-sunk); color: var(--ink); font: inherit; font-size: 16px; }
.nz-in input:focus { outline: 0; background: var(--bg-elev); border-color: var(--brand); box-shadow: 0 0 0 4px rgba(var(--brand-rgb), .16); }
.nz-send { flex: none; width: 50px; padding: 0; }
.nz-sql { margin: 0; padding: 14px 16px; border-radius: var(--r-sm); background: var(--bg-sunk); color: var(--ink); white-space: pre-wrap; word-break: break-word; line-height: 1.5; }

@media (max-width: 1180px) { .nz-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } .nz-kpis-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 1100px) { .nz-two, .nz-two-eq { grid-template-columns: minmax(0, 1fr); } .nz-stick { position: static; } }
@media (max-width: 720px) {
  .nz-t-idx th:nth-child(4), .nz-t-idx td:nth-child(4), .nz-t-idx th:nth-child(5), .nz-t-idx td:nth-child(5) { display: none; }
  .nz-t { font-size: 13.5px; }
  .nz-t th, .nz-t td { padding-inline: 5px; }
  .nz-t-bal th:last-child, .nz-t-bal td:last-child { display: none; }
  .nz-kpis-3 { grid-template-columns: minmax(0, 1fr); }
  .nz-kpis-3 .ny-kpi { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 14px 18px; }
  .nz-facts { grid-template-columns: minmax(0, 1fr); }
  .nz-sug { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-inline: -18px; padding-inline: 18px; }
  .nz-sug::-webkit-scrollbar { display: none; }
  .nz-sug .chip { flex: none; white-space: nowrap; }
  .nz-acts .btn { flex: 1 1 100%; }
  .nz-m > div { max-width: 100%; }
}
