/* ==========================================================================
   NOWY — Calcolatore delle ore perse (page-specific styles only)
   Requires ../assets/css/nowy-core.css (tokens, components, chrome) first.
   Contents: hero · section rhythm · assumptions · editable sheet (table →
   cards) · results (KPIs, ranking, payback) · prose · closing card ·
   compact footer · print report.
   ========================================================================== */

/* --- Shared bits ---------------------------------------------------------- */
.btn__icon--static,
.btn:hover .btn__icon--static{ transform: none; }
.btn:hover .btn__icon--down{ transform: translateY(2px); }

input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button{ -webkit-appearance: none; margin: 0; }
input[type=number]{ -moz-appearance: textfield; appearance: textfield; }

.calc-section{ scroll-margin-top: 0; }
.calc-section .section-head .t-display{ max-width: 18ch; }

/* --- Hero ----------------------------------------------------------------- */
.calc-hero{
  position: relative;
  min-height: min(100svh, 900px);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding-top: calc(var(--nav-h) + var(--space-20));
  padding-bottom: clamp(var(--space-10), 5vw, var(--space-16));
  background: var(--grad-ink);
  color: #fff;
  overflow: hidden;
  isolation: isolate;
}
.calc-hero .mesh{ z-index: -2; opacity: .85; }
.calc-hero__art{
  position: absolute;
  z-index: -1;
  right: -8vw;
  top: 40%;
  width: min(52vw, 76vh);
  transform: translateY(-50%);
  opacity: .32;
  pointer-events: none;
}
.calc-hero__art svg{ width: 100%; height: auto; overflow: visible; animation: calc-art-in 1.4s var(--ease-out) .2s both; }
@keyframes calc-art-in{ from{ opacity: 0; transform: translateX(-4%) scale(.96); } }

.calc-hero__inner{ display: grid; gap: clamp(var(--space-6), 3vw, var(--space-10)); }
.calc-hero__eyebrow{ color: rgba(255,255,255,.82); }
.calc-hero__title{
  font-size: clamp(2.625rem, 1rem + 5.2vw, 6.25rem);
  line-height: .98;
  letter-spacing: var(--tracking-hero);
  font-weight: var(--weight-medium);
  max-width: 100%;
  text-wrap: balance;
}
.calc-hero__title .line{ display: block; }
.calc-hero__title .t-tone{ color: rgba(255,255,255,.58); }
.calc-hero__title .line,
.calc-hero__foot > *{
  animation: calc-rise 1s var(--ease-out) both;
  animation-delay: calc(var(--i, 0) * 110ms + 80ms);
}
@keyframes calc-rise{ from{ opacity: .01; transform: translateY(28px); } }

.calc-hero__foot{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: var(--space-8) var(--space-16);
  padding-top: var(--space-8);
  border-top: 1px solid rgba(255,255,255,.16);
}
.calc-hero__copy{ display: grid; gap: var(--space-6); }
.calc-hero__lead{ max-width: 58ch; color: rgba(255,255,255,.8); }
.calc-hero__lead strong{ color: #fff; font-weight: var(--weight-medium); }
.calc-hero__facts .chip{
  gap: 8px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
  color: rgba(255,255,255,.9);
  height: auto;
  min-height: 32px;
  padding-block: 4px;
  white-space: normal;
}
.calc-hero__facts .chip svg{ width: 14px; height: 14px; flex: none; color: var(--brand-300); }
.calc-hero__ctas{ display: flex; flex-wrap: wrap; gap: var(--space-3); }
.calc-hero .btn--outline{ border-color: rgba(255,255,255,.4); color: #fff; }
.calc-hero .btn--outline:hover{ border-color: #fff; background: rgba(255,255,255,.08); }

@media (max-width: 899px){
  .calc-hero{ min-height: 0; padding-top: calc(var(--nav-h) + var(--space-16)); }
  .calc-hero__art{ width: 110vw; right: -48vw; top: 30%; opacity: .28; }
  .calc-hero__foot{ grid-template-columns: 1fr; }
}
@media (max-width: 479px){
  .calc-hero__ctas{ display: grid; }
  .calc-hero__ctas .btn{ width: 100%; }
}

/* --- Big numeric inputs (assumptions, investment) ------------------------- */
.big-field{
  display: flex;
  align-items: baseline;
  gap: var(--space-3);
  padding-bottom: var(--space-2);
  border-bottom: 1px solid var(--color-border-strong);
  transition: border-color var(--dur-base) var(--ease-standard);
}
.big-field:hover{ border-bottom-color: var(--color-fg-3); }
.big-field:focus-within{ border-bottom-color: var(--color-focus); }
.big-field__unit{
  font-size: var(--text-h3);
  font-weight: var(--weight-medium);
  color: var(--color-fg-3);
  letter-spacing: var(--tracking-title);
}
.big-in{
  width: 3.2ch;                /* fallback where field-sizing is unsupported */
  field-sizing: content;       /* the number hugs its unit */
  min-width: 1.2ch;
  max-width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--color-fg);
  font-size: clamp(2.5rem, 1.9rem + 2vw, 3.75rem);
  line-height: 1.05;
  font-weight: var(--weight-medium);
  letter-spacing: var(--tracking-display);
  font-variant-numeric: tabular-nums;
  border-radius: var(--radius-sm);
}
.big-in--wide{ width: 4.4ch; }
@supports (field-sizing: content){ .big-in, .big-in--wide{ width: auto; } }
.big-in:focus-visible{ outline: 2px solid var(--color-focus); outline-offset: 4px; }

/* --- 01 · Assumptions ----------------------------------------------------- */
.assump{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
  margin-bottom: var(--space-6);
}
.assump__card{
  display: grid;
  gap: var(--space-5);
  align-content: start;
  padding: clamp(var(--space-6), 3vw, var(--space-10));
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
}
.assump__card .t-small{ max-width: 46ch; }
@media (max-width: 719px){ .assump{ grid-template-columns: 1fr; } }

/* --- 01 · Editable sheet: table on desktop, stacked cards below 1080px --- */
.sheet{
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-2) clamp(var(--space-5), 2vw, var(--space-8)) var(--space-6);
}
.tbl-head,
.row{
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 1.3fr) 92px 92px 84px minmax(0, 1fr) minmax(0, 1.05fr) 40px;
  gap: var(--space-3);
  align-items: center;
}
.tbl-head{
  padding-block: var(--space-5) var(--space-4);
  border-bottom: 1px solid var(--color-border-strong);
  font-family: var(--font-mono);
  font-size: var(--text-label);
  font-weight: var(--weight-medium);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
  line-height: 1.3;
  color: var(--color-fg-3);
}
.tbl-head .r{ text-align: right; }
.tbl-head > span:first-child,
.tbl-head > span:nth-child(2){ padding-left: 12px; }
.row{
  padding-block: var(--space-3);
  border-bottom: 1px solid var(--color-border);
  transition: background-color var(--dur-base) var(--ease-standard);
}
.row:hover{ background: linear-gradient(90deg, transparent, var(--color-bg) 8%, var(--color-bg) 92%, transparent); }
.row__outs{ display: contents; }

.row .c-proc .k, .row .c-who .k, .row .num .k{ display: none; }
.row .out .k{
  position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

.cell-in{
  width: 100%;
  min-width: 0;
  height: 44px;
  padding: 0 12px;
  border: 1px solid transparent;
  border-radius: var(--radius-sm);
  background: transparent;
  color: var(--color-fg);
  font-size: var(--text-body);
  line-height: 1.3;
  text-overflow: ellipsis;
  outline: 2px solid transparent;
  transition: border-color var(--dur-base) var(--ease-standard), background-color var(--dur-base) var(--ease-standard), box-shadow var(--dur-base) var(--ease-standard);
}
.cell-in::placeholder{ color: var(--color-fg-3); }
.cell-in:hover{ border-color: var(--color-border-strong); background: var(--color-surface); }
.cell-in:focus-visible{ border-color: var(--color-focus); background: var(--color-surface); box-shadow: var(--ring); outline-offset: 0; }
.c-proc .cell-in{ font-weight: var(--weight-medium); }
.c-who .cell-in{ color: var(--color-fg-2); }
.num .cell-in{
  text-align: right;
  font-variant-numeric: tabular-nums;
  background: var(--color-bg);
}

.out{
  text-align: right;
  font-variant-numeric: tabular-nums;
  color: var(--color-fg-2);
  white-space: nowrap;
}
.out.hi{ color: var(--color-fg); font-weight: var(--weight-medium); }
.out.rec{ color: var(--color-accent); font-weight: var(--weight-medium); }

.c-del{ display: flex; justify-content: flex-end; }
.del{
  display: inline-grid;
  place-items: center;
  width: 36px; height: 36px;
  border-radius: var(--radius-full);
  color: var(--color-fg-3);
  outline: 2px solid transparent;
  transition: color var(--dur-base) var(--ease-standard), background-color var(--dur-base) var(--ease-standard);
}
.del svg{ width: 16px; height: 16px; }
.del:hover{ color: var(--color-danger); background: rgba(180,35,24,.08); }
.del:focus-visible{ box-shadow: var(--ring); outline-offset: 0; border-radius: var(--radius-full); }

.tbl-actions{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-3) var(--space-6);
  margin-top: var(--space-6);
}
.tbl-actions--end{ justify-content: flex-end; margin-top: var(--space-10); }
.link-btn{
  min-height: 40px;
  padding-inline: 2px;
  font-size: var(--text-small);
  font-weight: var(--weight-medium);
  color: var(--color-fg-2);
  background-image: linear-gradient(currentColor, currentColor);
  background-size: 100% 1px;
  background-repeat: no-repeat;
  background-position: 0 calc(100% - 10px);
  transition: color var(--dur-base) var(--ease-standard);
}
.link-btn:hover{ color: var(--color-fg); }
.link-btn:focus-visible{ outline-offset: 2px; }

/* Tablet & mobile: every process becomes a card */
@media (max-width: 1079px){
  .sheet{ background: transparent; border: 0; padding: 0; }
  .tbl-head{ display: none; }
  #rows{ display: grid; gap: var(--space-3); }
  .row{
    position: relative;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-4) var(--space-4);
    align-items: end;
    padding: var(--space-5);
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
  }
  .row:hover{ background: var(--color-surface); }
  .row .c-proc, .row .c-who, .row .num{ display: grid; gap: 6px; }
  .row .c-proc{ grid-column: 1 / -1; }
  .row .c-proc .k{ padding-right: 44px; min-height: 18px; }
  .row .c-who{ grid-column: 1 / -1; }
  .row .c-proc .k, .row .c-who .k, .row .num .k,
  .row .out .k{
    position: static; width: auto; height: auto; margin: 0; overflow: visible; clip: auto; white-space: normal;
    display: block;
    font-family: var(--font-mono);
    font-size: 11px;
    font-weight: var(--weight-medium);
    letter-spacing: .08em;
    text-transform: uppercase;
    line-height: 1.3;
    color: var(--color-fg-3);
  }
  .cell-in{ border-color: var(--color-border-strong); background: var(--color-surface); }
  .num .cell-in{ text-align: left; background: var(--color-surface); }
  .c-proc .cell-in{ font-size: var(--text-lead); }
  .row__outs{
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-3);
    padding: var(--space-4);
    background: var(--color-bg);
    border-radius: var(--radius-md);
  }
  .out{ display: grid; gap: 4px; text-align: left; font-size: var(--text-lead); white-space: normal; }
  .out .vv{ white-space: nowrap; }
  .row .c-del{ position: absolute; top: 10px; right: 10px; }
  .row .del{ width: 32px; height: 32px; }
  .tbl-actions{ margin-top: var(--space-5); }
}
@media (max-width: 419px){
  .row{ padding: var(--space-4); }
  .row__outs{ padding: var(--space-3); gap: var(--space-2); }
  .out{ font-size: var(--text-body); }
  .row .out .k{ font-size: 10px; letter-spacing: .06em; }
}

/* --- 02 · Results (dark) ------------------------------------------------- */
.calc-results{ background: var(--ink-900); }
.kpis{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
}
.kpi{
  position: relative;
  isolation: isolate;
  overflow: hidden;
  container-type: inline-size;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  padding: clamp(var(--space-6), 2.6vw, var(--space-10));
  min-height: 260px;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
}
.kpi__v{
  margin-top: auto;
  font-size: clamp(2.5rem, 1.6rem + 2.4vw, 4.25rem);
  font-size: clamp(2.25rem, 15cqi, 4.5rem);
  line-height: .95;
  letter-spacing: var(--tracking-display);
  font-weight: var(--weight-medium);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.kpi__n{ max-width: 36ch; }
.kpi--accent{ background: var(--brand-950); border-color: rgba(162,178,234,.25); }
.kpi--accent .mesh{ z-index: -1; opacity: .75; }
.kpi--accent .t-label{ color: rgba(255,255,255,.82); }
.kpi--accent .kpi__v{ color: #fff; }
.kpi--accent .kpi__n{ color: rgba(255,255,255,.8); }
@media (max-width: 899px){
  .kpis{ grid-template-columns: 1fr; }
  .kpi{ min-height: 0; }
  .kpi__v{ margin-top: var(--space-2); }
}

.results__grid{
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr);
  gap: var(--space-4);
  margin-top: var(--space-4);
  align-items: stretch;
}
.rank,
.payback__cell{
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: clamp(var(--space-6), 2.6vw, var(--space-10));
}
.rank{ display: flex; flex-direction: column; }
.rank__title{ margin-bottom: var(--space-2); }
.rank-row{ padding-block: var(--space-5); border-bottom: 1px solid var(--color-border); }
.rank-row:last-child{ border-bottom: 0; }
.rank-top{ display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-2) var(--space-6); }
.rank-name{
  display: flex;
  align-items: baseline;
  gap: var(--space-4);
  min-width: 0;
  font-size: var(--text-h3);
  line-height: 1.25;
  letter-spacing: var(--tracking-title);
  font-weight: var(--weight-medium);
}
.rank-name .pos{
  flex: none;
  font-family: var(--font-mono);
  font-size: var(--text-label);
  letter-spacing: var(--tracking-label);
  color: var(--color-accent);
}
.rank-vals{
  flex: none;
  font-size: var(--text-small);
  color: var(--color-fg-2);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.rank-vals b{ color: var(--color-accent); font-weight: var(--weight-medium); }
.rank-bar{ margin-top: var(--space-4); }
.rank-bar .timeline__bar{ background: linear-gradient(90deg, var(--brand-800), var(--grad-blue) 60%, var(--brand-400)); transition: width var(--dur-slow) var(--ease-out); }
.rank .empty{ padding-block: var(--space-6); color: var(--color-fg-3); }
.rank__hint{ margin-top: auto; padding-top: var(--space-5); }
@media (max-width: 639px){
  .rank-top{ flex-direction: column; }
  .rank-vals{ white-space: normal; padding-left: calc(var(--space-4) + 2ch); }
}

.payback{ display: grid; gap: var(--space-4); }
.payback__cell{ display: grid; gap: var(--space-5); align-content: start; }
.payback__cell--out{ background: var(--ink-800); }
.payback__v{
  font-size: clamp(2.5rem, 1.9rem + 2vw, 3.75rem);
  line-height: 1;
  letter-spacing: var(--tracking-display);
  font-weight: var(--weight-medium);
  font-variant-numeric: tabular-nums;
  color: var(--color-accent);
}
@media (max-width: 899px){ .results__grid{ grid-template-columns: 1fr; } }
@media (max-width: 479px){ .tbl-actions--end .btn{ width: 100%; } }

/* --- 03 · Prose ----------------------------------------------------------- */
.prose{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 clamp(var(--space-8), 5vw, var(--space-20));
  border-bottom: 1px solid var(--color-border-strong);
}
.prose__item{
  display: grid;
  gap: var(--space-3);
  padding-block: var(--space-8);
  border-top: 1px solid var(--color-border-strong);
}
.prose__num{
  font-family: var(--font-mono);
  font-size: var(--text-label);
  letter-spacing: var(--tracking-label);
  color: var(--color-fg-3);
}
.prose__item .t-body{ max-width: 62ch; }
@media (max-width: 819px){ .prose{ grid-template-columns: 1fr; } }

/* --- Closing CTA ---------------------------------------------------------- */
.calc-close{ background: var(--ink-900); }
.close-card{
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
  gap: var(--space-10) clamp(var(--space-10), 6vw, var(--space-24));
  align-items: end;
  padding: clamp(var(--space-8), 6vw, var(--space-20));
  background: var(--grad-ink);
  color: #fff;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: var(--radius-xl);
}
.close-card .mesh{ z-index: -1; opacity: .9; }
.close-card__main{ display: grid; gap: var(--space-6); }
.close-card .eyebrow{ color: rgba(255,255,255,.82); }
.close-card h2{ max-width: 16ch; }
.close-card h2 .t-tone{ color: rgba(255,255,255,.6); }
.close-card .t-lead{ max-width: 52ch; color: rgba(255,255,255,.82); }
.close-card__ctas{ display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-2); }
.close-card .btn--outline{ border-color: rgba(255,255,255,.4); color: #fff; }
.close-card .btn--outline:hover{ border-color: #fff; background: rgba(255,255,255,.08); }
.close-card__who{
  display: grid;
  gap: var(--space-3);
  padding: var(--space-6);
  border-radius: var(--radius-lg);
  background: rgba(7,8,18,.55);
  border: 1px solid rgba(255,255,255,.12);
}
.close-card__avatar{
  display: grid;
  place-items: center;
  width: 48px; height: 48px;
  margin-bottom: var(--space-2);
  border-radius: 50%;
  background: #fff;
  color: var(--brand-800);
}
.close-card__avatar svg{ width: 26px; height: 26px; }
.close-card__name{ font-size: var(--text-h3); font-weight: var(--weight-medium); letter-spacing: var(--tracking-title); }
.close-card__role{ color: rgba(255,255,255,.78); max-width: 40ch; }
@media (max-width: 899px){ .close-card{ grid-template-columns: 1fr; } }
@media (max-width: 479px){
  .close-card__ctas{ display: grid; }
  .close-card__ctas .btn{ width: 100%; }
  .close-card__ctas .btn--outline{ white-space: normal; height: auto; min-height: 56px; }
}

/* --- Compact footer ------------------------------------------------------- */
.footer--compact .footer__top{ grid-template-columns: minmax(0, 1.8fr) repeat(3, minmax(0, 1fr)); }
.footer--compact .footer__bottom{ margin-top: 0; }
@media (max-width: 899px){ .footer--compact .footer__top{ grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 559px){
  .footer--compact .footer__top{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer--compact .footer__col:last-child{ grid-column: 1 / -1; }
}
.footer--compact{ padding-top: clamp(var(--space-12), 6vw, var(--space-20)); }
.footer--compact .footer__legal{ margin-top: clamp(var(--space-10), 5vw, var(--space-16)); }

/* Print-only blocks are hidden on screen */
.print-head, .print-foot{ display: none; }

/* ==========================================================================
   PRINT — a clean one-page report (hero title, assumptions, table, results)
   ========================================================================== */
@media print{
  @page{ margin: 14mm; }
  :root, .theme-light, .calc-results, .calc-hero{
    --color-bg: #fff;
    --color-surface: #fff;
    --color-surface-2: #fff;
    --color-fg: #14131A;
    --color-fg-2: #14131A;
    --color-fg-3: #5A5768;
    --color-border: #E3E0D9;
    --color-border-strong: #CFCBC2;
    --color-accent: #293A81;
    --color-focus: #293A81;
    color-scheme: light;
  }
  html, body{ background: #fff !important; color: #14131A; }
  body{ font-size: 11px; }

  .nav, .menu, .skip-link, .mesh, .calc-hero__art, .calc-hero__eyebrow, .calc-hero__foot,
  .tbl-actions, .c-del, .no-print, .footer, .calc-close, #metodo, .toast-region{ display: none !important; }

  .js .reveal{ opacity: 1 !important; transform: none !important; }
  *, *::before, *::after{ animation: none !important; transition: none !important; box-shadow: none !important; }

  .print-head{
    display: flex !important;
    justify-content: space-between;
    align-items: baseline;
    border-bottom: 1px solid #14131A;
    padding-bottom: 6px;
    margin-bottom: 14px;
    font-family: var(--font-mono);
    font-size: 9px;
    letter-spacing: .1em;
    text-transform: uppercase;
  }
  .container{ padding: 0; max-width: none; }

  .calc-hero{ min-height: 0; padding: 0 0 10px; background: #fff; color: #14131A; }
  .calc-hero__title{ font-size: 24px; max-width: none; letter-spacing: -0.02em; }
  .calc-hero__title .line{ display: inline; }
  .calc-hero__title .t-tone{ color: #5A5768; }

  .section{ padding: 0 0 12px; background: #fff !important; }
  .section-head{ display: block; margin-bottom: 8px; }
  .section-head .eyebrow, .section-head .t-lead{ display: none; }
  .section-head .t-display, .calc-section .section-head .t-display{ font-size: 15px; max-width: none; letter-spacing: -0.01em; }
  .section-head .t-tone{ color: #14131A; }

  .assump{ gap: 8px; margin-bottom: 10px; }
  .assump__card, .sheet, .kpi, .rank, .payback__cell{
    background: #fff !important; border: 1px solid #CFCBC2 !important; border-radius: 6px; break-inside: avoid;
  }
  .assump__card{ padding: 8px 12px; gap: 4px; }
  .assump__card .t-small, .payback__cell .t-small{ display: none; }
  .big-field{ border-bottom: 0; padding: 0; }
  .big-field__unit{ font-size: 13px; }
  .big-in, .big-in--wide{ font-size: 20px !important; color: #14131A !important; }
  .t-label{ font-size: 8px; color: #5A5768 !important; }

  .sheet{ padding: 0 10px 4px; }
  #rows{ display: block !important; }
  .tbl-head, .row{
    display: grid !important;
    grid-template-columns: minmax(0, 2.5fr) minmax(0, 1.3fr) 44px 44px 50px minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 8px;
    align-items: center;
  }
  .tbl-head > span:last-child{ display: none; }
  .tbl-head{ font-size: 7px; padding: 6px 0 5px; border-bottom: 1px solid #CFCBC2 !important; }
  .tbl-head > span:first-child, .tbl-head > span:nth-child(2){ padding-left: 0; }
  .row{
    position: static !important; padding: 4px 0 !important; border: 0 !important;
    border-bottom: 1px solid #E3E0D9 !important; border-radius: 0 !important; background: #fff !important; break-inside: avoid;
  }
  .row:last-child{ border-bottom: 0 !important; }
  .row .c-proc, .row .c-who, .row .num{ display: block !important; grid-column: auto !important; padding-right: 0 !important; }
  .row .k{ display: none !important; }
  .row__outs{ display: contents !important; }
  .cell-in, .num .cell-in, .c-proc .cell-in{
    height: auto; padding: 1px 0; border: 0 !important; background: transparent !important;
    font-size: 9.5px !important; color: #14131A !important;
  }
  .num .cell-in{ text-align: right !important; }
  .out{ display: block !important; text-align: right !important; font-size: 9.5px !important; color: #14131A !important; }
  .out.rec{ color: #293A81 !important; }

  .kpis{ grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 8px; }
  .kpi{ min-height: 0; padding: 10px 12px; gap: 4px; container-type: normal; }
  .kpi__v{ font-size: 22px !important; color: #14131A !important; margin-top: 2px; }
  .kpi--accent .kpi__v{ color: #293A81 !important; }
  .kpi__n{ display: none; }

  .results__grid{ grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr) !important; gap: 8px; margin-top: 8px; }
  .rank, .payback__cell{ padding: 10px 12px; }
  .rank-row{ padding-block: 5px; border-color: #E3E0D9 !important; }
  .rank-top{ flex-direction: row !important; }
  .rank-name{ font-size: 11px; gap: 8px; }
  .rank-vals{ font-size: 9.5px; color: #14131A !important; white-space: nowrap !important; padding-left: 0 !important; }
  .rank-vals b, .rank-name .pos{ color: #293A81 !important; }
  .rank-bar{ margin-top: 4px; height: 3px; background: #ECEEF3 !important; }
  .rank-bar .timeline__bar{ background: #293A81 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .rank__hint{ padding-top: 6px; font-size: 9px; }
  .payback{ gap: 8px; }
  .payback__cell{ gap: 4px; }
  .payback__v{ font-size: 22px; color: #293A81 !important; }

  .print-foot{
    display: block !important;
    margin-top: 14px;
    padding-top: 8px;
    border-top: 1px solid #CFCBC2;
    font-size: 9.5px;
    line-height: 1.5;
    color: #5A5768;
  }
}

/* ==========================================================================
   Allineamento al company profile 2026: cobalto 1F48FF (solo colori)
   ========================================================================== */
:root{ --nowy-cobalt: #1F48FF; --nowy-cobalt-hover: #1A3BD6; }
.theme-light{ --color-accent: var(--nowy-cobalt); --color-primary: var(--nowy-cobalt); --color-primary-hover: var(--nowy-cobalt-hover); }
.calc-hero__title .t-tone,
.close-card h2 .t-tone,
.section-head .t-tone{ color: var(--nowy-cobalt); }
.btn.nav__cta{ background: var(--nowy-cobalt); color: #fff; }
.nav__cta > *, .nav[data-theme="light"] .nav__cta > *{ color: #fff; }
.btn.nav__cta:hover{ background: var(--nowy-cobalt-hover); }
.btn--primary{ background: var(--nowy-cobalt); color: #fff; }
.btn--primary:hover{ background: var(--nowy-cobalt-hover); }
.out.rec, .rank-vals b{ color: var(--nowy-cobalt); }
.rank-bar .timeline__bar{ background: var(--nowy-cobalt); }
@media print{
  .out.rec, .kpi--accent .kpi__v, .rank-vals b, .rank-name .pos, .payback__v{ color: #1F48FF !important; }
  .rank-bar .timeline__bar{ background: #1F48FF !important; }
}
