/* NOWY — Controllo anagrafiche (page-specific). Requires nowy-core.css + strumenti.css. */
.ca-step{
  display: inline-grid; place-items: center;
  width: 28px; height: 28px; margin-right: 12px;
  border-radius: 50%;
  background: var(--color-primary); color: var(--color-on-primary);
  font-family: var(--font-mono); font-size: 13px; vertical-align: 3px;
}
.ca-text{ font-family: var(--font-mono); font-size: 13.5px; line-height: 1.55; min-height: 220px; }
.ca-check{ display: inline-flex; align-items: center; gap: 10px; min-height: 40px; font-size: var(--text-small); color: var(--color-fg-2); cursor: pointer; }
.ca-check input{ width: 18px; height: 18px; accent-color: var(--brand-800); }
select.input{ appearance: none; -webkit-appearance: none; padding-right: 40px; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235A6074' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 16px center; }
.ca-sheetpick{ display: flex; flex-wrap: wrap; align-items: end; gap: var(--space-4); }
.ca-sheetpick .field{ min-width: 220px; }
#ca-input-msg:not(:empty){ margin-top: var(--space-4); }

.ca-cols{ display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 230px), 1fr)); gap: var(--space-3); margin-bottom: var(--space-6); }
.ca-col{ display: grid; gap: var(--space-3); align-content: start; padding: var(--space-4); background: var(--color-bg); border-radius: var(--radius-md); border: 1px solid transparent; transition: opacity var(--dur-base) var(--ease-standard); }
.ca-col.is-skip{ opacity: .6; }
.ca-col .field__label{ overflow-wrap: anywhere; }
.ca-col .input{ min-height: 44px; padding-block: 10px; }
.ca-col__sample{ overflow-wrap: anywhere; line-height: 1.6; }

.ca-kpis{ display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-3); margin-bottom: var(--space-5); }
.ca-kpi{ display: grid; gap: var(--space-2); padding: var(--space-4) var(--space-5); background: var(--color-bg); border-radius: var(--radius-md); }
.ca-kpi__v{ font-size: clamp(1.75rem, 1.3rem + 1.4vw, 2.5rem); line-height: 1; letter-spacing: var(--tracking-display); font-weight: var(--weight-medium); font-variant-numeric: tabular-nums; }
.ca-kpi--ok .ca-kpi__v{ color: #146B3E; }
.ca-kpi--warn .ca-kpi__v{ color: #8A4B00; }
.ca-kpi--err .ca-kpi__v{ color: #A41F15; }
@media (max-width: 639px){ .ca-kpis{ grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.ca-filters{ margin-bottom: var(--space-4); }
.ca-filters .tab[aria-pressed="true"]{ background: var(--color-primary); color: var(--color-on-primary); }
#ca-table{ min-width: 860px; }
#ca-table .ca-val{ font-size: 12.5px; white-space: nowrap; }
#ca-table tr.is-err td:first-child{ box-shadow: inset 3px 0 0 #B42318; }
#ca-table tr.is-warn td:first-child{ box-shadow: inset 3px 0 0 #B26A00; }
#ca-results .table-wrap{ max-height: 640px; overflow: auto; }
