/* ============================================================
   CONTATTI

   Solo token: questa pagina nasce gia' convertita al tema scuro, e un
   colore scritto a mano qui dentro sarebbe una schermata rotta di notte.
   ============================================================ */

.ct-page{display:flex;flex-direction:column;gap:18px;}
.ct-stack{display:flex;flex-direction:column;gap:14px;}
.ct-row{display:flex;align-items:center;gap:10px;min-width:0;}
.ct-wrap{flex-wrap:wrap;}
.ct-between{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.ct-grow{flex:1;min-width:0;}
.ct-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
/* I riquadri dei consensi vanno affiancati solo se ci stanno davvero: sono
   righe etichetta-valore, e in 280px non ci stanno. */
.ct-consent{grid-template-columns:repeat(auto-fit,minmax(330px,1fr));}
.ct-grid3{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(2,minmax(0,1fr));gap:14px;align-items:start;}
.ct-cap{font-size:11.5px;color:var(--neutral-ink);}
.ct-flab{font-size:11px;font-weight:600;color:var(--neutral-ink);}
.ct-strong{font-weight:600;}
.ct-b7{font-weight:700;}
.ct-muted{color:var(--neutral-ink);}
.ct-num{text-align:right;font-variant-numeric:tabular-nums;}
.ct-ell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;}
.ct-from{color:var(--neutral-ink);text-decoration:line-through;}
.ct-t-red{color:var(--red-dark);} .ct-t-amber{color:var(--amber-dark);} .ct-t-primary{color:var(--primary-dark);}
.ct-i-red{color:var(--red-dark);} .ct-i-amber{color:var(--amber-dark);} .ct-i-dim{color:var(--dim);}
/* I toni delle scadenze vengono da `crmSpeak`: stessi nomi in tutte e due
   le pagine, cosi' «in ritardo» e' rosso ovunque. */
.crm-late{color:var(--red-dark);} .crm-soon{color:var(--amber-dark);}
.ct-linkish{border:none;background:none;padding:0;color:var(--primary-dark);font-weight:600;cursor:pointer;font-size:inherit;font-family:inherit;}
.ct-linkish:hover{text-decoration:underline;}
/* `.ct-linkish` dichiara `font-size:inherit` e sta sotto a `.ct-cap`:
   senza questa riga un link piccolo non sarebbe piccolo. */
.ct-linkish.ct-cap{font-size:11.5px;}

/* ---- avatar condivisa con Sales ---- */
/* Senza un colore assegnato l'avatar e' neutra: fondo tenue, inchiostro
   leggibile. Le persone dello studio ne ricevono uno da `crmPersonColor`. */
.crm-av{width:28px;height:28px;border-radius:50%;background:var(--track);color:var(--neutral-ink);
  display:inline-flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:700;flex-shrink:0;}
.crm-av.decide{background:var(--primary-soft);color:var(--primary-dark);}
.crm-av.sm{width:23px;height:23px;font-size:9px;}
.crm-av.none{background:transparent;border:1.5px dashed var(--dim);color:var(--muted);}

/* ---- le quattro sezioni ---- */
.ct-tabs{display:inline-flex;gap:4px;background:var(--track);border-radius:10px;padding:3px;max-width:100%;
  overflow-x:auto;overflow-y:hidden;width:fit-content;}
.ct-tab{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:8px;font-size:12.5px;
  font-weight:600;color:var(--neutral-ink);text-decoration:none;white-space:nowrap;}
.ct-tab:hover{color:var(--text);}
.ct-tab.on{background:var(--card);color:var(--text);box-shadow:var(--shadow);}
.ct-tab-n{font-size:10.5px;font-weight:700;color:var(--neutral-ink);background:var(--track);border-radius:5px;padding:1px 5px;}
.ct-tab.on .ct-tab-n{background:var(--primary-soft);color:var(--primary-dark);}

/* ---- barra degli strumenti e filtri ---- */
.ct-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.ct-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.ct-search{display:flex;align-items:center;gap:8px;width:230px;max-width:100%;height:34px;border:1px solid var(--border);
  background:var(--card);border-radius:10px;padding:0 10px;color:var(--muted);}
.ct-search:focus-within{border-color:var(--primary);}
.ct-search svg{width:14px;height:14px;flex-shrink:0;}
.ct-search input{border:none;outline:none;background:transparent;flex:1;min-width:0;font-size:12.5px;
  color:var(--text);font-family:inherit;}

/* ---- tabella ---- */
.ct-tablecard{padding:4px 6px;}
.ct-table{width:100%;border-collapse:collapse;font-size:12.5px;}
.ct-table th{text-align:left;font-size:11px;font-weight:600;color:var(--neutral-ink);padding:9px 10px;
  background:var(--field);border-bottom:1px solid var(--border);white-space:nowrap;}
.ct-table td{padding:10px;border-bottom:1px solid var(--border);vertical-align:middle;}
.ct-table tbody tr:last-child td{border-bottom:none;}
.ct-table tbody tr:hover td{background:var(--hover);}
.ct-table tr.sel td{background:var(--primary-tint);}
.ct-table tr.dim td{opacity:.62;}
.ct-table th.ct-num, .ct-table td.ct-num{text-align:right;}
.ct-table tr[data-ct="row"]{cursor:pointer;}
.ct-sortb{border:none;background:none;padding:0;font:inherit;color:inherit;cursor:pointer;
  /* Il browser azzera `text-transform` sui bottoni: senza questa riga
     l'intestazione ordinabile sarebbe l'unica in minuscolo. */
  text-transform:inherit;letter-spacing:inherit;
  display:inline-flex;align-items:center;gap:4px;}
.ct-sortb:hover{color:var(--text);}
.ct-sortb svg{width:12px;height:12px;}
.ct-pager{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 10px;flex-wrap:wrap;}

/* ---- spunte e interruttori ---- */
.ct-chk{width:18px;height:18px;border-radius:6px;border:1.5px solid var(--dim);background:var(--card);
  display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;color:var(--on-accent);flex-shrink:0;}
.ct-chk.round{border-radius:50%;}
.ct-chk svg{width:12px;height:12px;stroke-width:3;opacity:0;}
.ct-chk[aria-checked="true"], .ct-chk[aria-checked="mixed"]{background:var(--primary);border-color:var(--primary);}
.ct-chk[aria-checked="true"] svg{opacity:1;}
.ct-chk[aria-checked="mixed"]::after{content:"";width:8px;height:2px;background:var(--on-accent);border-radius:1px;}
.ct-switch{width:36px;height:20px;border-radius:10px;background:var(--dim);border:none;position:relative;
  padding:0;cursor:pointer;flex-shrink:0;}
.ct-switch::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;
  background:var(--card);transition:left .15s;}
.ct-switch[aria-checked="true"]{background:var(--primary);}
.ct-switch[aria-checked="true"]::after{left:18px;}
.ct-sw{border-top:1px solid var(--border);padding-top:12px;margin-top:12px;}

/* ---- gruppi a scelta singola ---- */
.ct-seg{display:inline-flex;border:1px solid var(--border);border-radius:10px;background:var(--card);padding:2px;gap:2px;flex-wrap:wrap;}
.ct-seg button{height:30px;display:inline-flex;align-items:center;gap:6px;padding:0 10px;border:none;border-radius:8px;
  background:transparent;font-size:12px;font-weight:600;color:var(--neutral-ink);cursor:pointer;white-space:nowrap;font-family:inherit;}
.ct-seg button svg{width:12px;height:12px;}
.ct-seg button[aria-checked="true"]{background:var(--primary-soft);color:var(--primary-dark);}
.ct-echip{height:34px;padding:0 12px;border-radius:8px;border:1px solid var(--border);background:var(--card);
  font-size:12px;font-weight:600;color:var(--text);cursor:pointer;font-family:inherit;}
.ct-echip:hover{background:var(--hover);}
.ct-echip[aria-checked="true"]{background:var(--primary);border-color:var(--primary);color:var(--on-accent);}
.ct-echip.danger{color:var(--red-dark);}
.ct-echip.danger[aria-checked="true"]{background:var(--red);border-color:var(--red);color:var(--on-accent);}
.ct-pill{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 11px;border-radius:8px;
  border:1px solid var(--border);background:var(--card);font-size:12px;font-weight:600;color:var(--neutral-ink);
  cursor:pointer;white-space:nowrap;font-family:inherit;}
.ct-pill:hover{background:var(--hover);}
.ct-pill[aria-pressed="true"]{background:var(--primary-soft);border-color:var(--primary-soft);color:var(--primary-dark);}
.ct-pill-n{min-width:18px;height:18px;border-radius:9px;padding:0 5px;font-size:10.5px;font-weight:700;
  display:inline-flex;align-items:center;justify-content:center;background:var(--track);color:var(--neutral-ink);}
.ct-pill[aria-pressed="true"] .ct-pill-n{background:var(--primary);color:var(--on-accent);}
.ct-opt{display:flex;flex-direction:column;gap:2px;text-align:left;border:1.5px solid var(--border);
  background:var(--card);border-radius:10px;padding:10px 12px;cursor:pointer;color:var(--text);
  width:100%;font-family:inherit;font-size:13px;}
.ct-opt:hover{background:var(--hover);}
.ct-opt[aria-checked="true"]{border-color:var(--primary);background:var(--primary-tint);}
.ct-opt[disabled]{opacity:.5;cursor:not-allowed;}

/* ---- pastiglie di contenuto ---- */
.ct-chip{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:3px 8px;
  border-radius:999px;background:var(--primary-tint);color:var(--primary-dark);border:1px solid var(--primary-mid);white-space:nowrap;}
.ct-chip.lg{font-size:12.5px;padding:5px 11px;}
button.ct-chip-btn{cursor:pointer;font-family:inherit;}
button.ct-chip-btn[aria-pressed="false"]{background:var(--card);color:var(--neutral-ink);border-color:var(--border);}
/* Un servizio che sulla scheda c'e' ma nel catalogo non c'e' piu': si legge
   e si toglie, ma non si confonde con quelli che si possono ancora vendere. */
.ct-chip.ct-chip-off{background:var(--amber-soft);color:var(--amber-dark);border-color:transparent;border-style:dashed;}
button.ct-chip-off[aria-pressed="false"]{background:transparent;color:var(--amber-dark);border-color:var(--amber-soft);}
.ct-tag{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:600;padding:2px 7px;
  border-radius:6px;background:var(--field);border:1px solid var(--border);color:var(--neutral-ink);white-space:nowrap;}
.ct-tag svg{width:12px;height:12px;}
.ct-key{width:12px;height:6px;border-radius:2px;display:inline-block;flex-shrink:0;}

/* ---- barre e punteggi ---- */
.ct-track{height:6px;background:var(--track);border-radius:5px;overflow:hidden;display:block;}
.ct-fill{height:100%;background:var(--primary);border-radius:5px;display:block;}
.ct-minij{display:inline-flex;gap:2px;}
.ct-minij i{width:6px;height:10px;border-radius:2px;background:var(--track);}
.ct-minij i.on{background:var(--primary);}
.ct-stiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;}
.ct-stile{border:1px solid var(--border);border-radius:12px;padding:12px 14px;background:var(--card);
  text-align:left;color:var(--text);display:block;width:100%;font-family:inherit;}
button.ct-stile{cursor:pointer;}
button.ct-stile:hover{background:var(--hover);}
.ct-stile.on{border-color:var(--primary-mid);background:var(--primary-tint);}
.ct-score{font-weight:700;font-size:22px;display:block;margin:4px 0 6px 0;letter-spacing:-.4px;}
.ct-sigrow{padding:7px 0;border-top:1px solid var(--border);}

/* ---- riquadri di avviso ---- */
.ct-box{display:flex;gap:8px;align-items:flex-start;border-radius:10px;padding:9px 11px;font-size:12px;
  font-weight:500;line-height:1.45;}
.ct-box svg{margin-top:1px;width:15px;height:15px;flex-shrink:0;}
.ct-box-warn{background:var(--amber-soft);color:var(--amber-dark);}
.ct-box-err{background:var(--red-soft);color:var(--red-dark);}
.ct-box-info{background:var(--track);color:var(--neutral-ink);}

/* ---- scheda del contatto ---- */
.ct-rec{display:grid;grid-template-columns:290px minmax(0,1fr) 290px;gap:14px;align-items:start;}
.ct-rec-l, .ct-rec-r{position:sticky;top:12px;}
.ct-crumb{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--neutral-ink);flex-wrap:wrap;}
.ct-crumb a{color:var(--primary-dark);font-weight:600;text-decoration:none;}
.ct-crumb a:hover{text-decoration:underline;}
.ct-crumb svg{width:12px;height:12px;}
.ct-bigav{width:50px;height:50px;border-radius:14px;background:var(--track);color:var(--neutral-ink);
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px;flex-shrink:0;}
.ct-cardname{font-size:17px;font-weight:700;letter-spacing:-.2px;line-height:1.25;margin:0;
  overflow:hidden;text-overflow:ellipsis;}
.ct-qa{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;}
.ct-qa button{border:none;background:none;display:flex;flex-direction:column;align-items:center;gap:4px;
  font-size:10.5px;font-weight:600;color:var(--neutral-ink);cursor:pointer;padding:4px 0;border-radius:8px;font-family:inherit;}
.ct-qa button span{width:34px;height:34px;border-radius:50%;background:var(--primary-soft);color:var(--primary-dark);
  display:flex;align-items:center;justify-content:center;}
.ct-qa button span svg{width:15px;height:15px;}
.ct-qa button:hover span{background:var(--primary);color:var(--on-accent);}
.ct-qa button:disabled{opacity:.4;cursor:not-allowed;}
.ct-qa button:disabled:hover span{background:var(--primary-soft);color:var(--primary-dark);}
.ct-dealbox{display:block;width:100%;text-align:left;color:inherit;border:1px solid var(--border);
  border-radius:12px;padding:10px 12px;background:var(--card);cursor:pointer;font-family:inherit;font-size:12.5px;}
.ct-dealbox:hover{background:var(--hover);}

/* ---- sezioni della scheda ---- */
.ct-tabcard{padding:0;overflow:hidden;}
.ct-dtabs{display:flex;gap:2px;overflow-x:auto;overflow-y:hidden;padding:0 8px;}
.ct-dtabs button{border:none;background:none;padding:11px 10px;font-size:12.5px;font-weight:600;
  color:var(--neutral-ink);cursor:pointer;white-space:nowrap;border-bottom:2px solid transparent;
  display:inline-flex;align-items:center;gap:6px;font-family:inherit;}
.ct-dtabs button:hover{color:var(--text);}
.ct-dtabs button[aria-selected="true"]{color:var(--text);border-bottom-color:var(--primary);}

/* ---- percorso ---- */
.ct-journey{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));position:relative;}
.ct-jst{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;position:relative;padding:0 4px;}
.ct-jst::before{content:"";position:absolute;top:15px;left:-50%;right:50%;height:2px;background:var(--track);}
.ct-jst:first-child::before{display:none;}
.ct-jst.done::before{background:var(--primary);}
.ct-jdot{width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;
  background:var(--track);color:var(--muted);position:relative;z-index:1;border:2px solid var(--card);}
.ct-jdot svg{width:15px;height:15px;}
.ct-jst.done .ct-jdot{background:var(--primary);color:var(--on-accent);}
.ct-jst.next .ct-jdot{background:var(--primary-soft);color:var(--primary-dark);box-shadow:0 0 0 2px var(--primary);}
.ct-jl{font-size:10.5px;font-weight:600;line-height:1.25;}
.ct-jd{font-size:10px;color:var(--neutral-ink);}

/* ---- righe, coppie, cronologia ---- */
.ct-listrow{display:flex;align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--border);}
.ct-listrow:first-of-type{border-top:none;}
.ct-kv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;}
.ct-k{font-size:11.5px;color:var(--neutral-ink);}
.ct-v{font-size:13px;font-weight:600;margin-top:2px;overflow-wrap:anywhere;}
.ct-dggrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 16px;}
.ct-tl{display:flex;flex-direction:column;}
.ct-tl-i{display:grid;grid-template-columns:32px minmax(0,1fr);gap:12px;padding:12px 0;border-top:1px solid var(--border);}
.ct-tl-i:first-child{border-top:none;}
.ct-tlic{width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;
  background:var(--track);color:var(--neutral-ink);flex-shrink:0;}
.ct-tlic svg{width:15px;height:15px;}
.ct-tlic.sm{width:24px;height:24px;border-radius:8px;}
.ct-tlic.sm svg{width:12px;height:12px;}
.ct-logrow{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;padding:9px 0;
  border-top:1px solid var(--border);font-size:12.5px;}
.ct-logrow:first-of-type{border-top:none;}
.ct-note{border:1px solid var(--border);border-radius:12px;padding:12px 14px;background:var(--field);}
.ct-notebody{margin-top:6px;line-height:1.55;white-space:pre-line;}

/* ---- barra della selezione: superficie rovesciata ---- */
.ct-bulk{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:var(--inverse);color:var(--on-inverse);
  border-radius:12px;padding:8px 8px 8px 16px;position:sticky;top:8px;z-index:20;font-size:12.5px;}
/* I bottoni stanno sopra una superficie rovesciata, quindi il loro fondo si
   ricava da quella: `var(--hover)` e' un neutro chiaro, e sulla barra scura
   dava inchiostro chiaro su fondo chiaro — le etichette sparivano. */
.ct-bulk .btn{background:color-mix(in srgb,var(--on-inverse) 16%,transparent);color:inherit;border:none;}
.ct-bulk .btn:hover{background:color-mix(in srgb,var(--on-inverse) 28%,transparent);}
.ct-bulk .btn.ct-danger{background:var(--red);color:var(--on-accent);}
.ct-bulk .btn.ct-danger:hover{background:var(--red-dark);color:var(--on-accent);}
.ct-bulk .icon-btn{background:transparent;color:inherit;border:1px solid var(--on-inverse-dim);}
.ct-bulk .icon-btn:hover{background:color-mix(in srgb,var(--on-inverse) 20%,transparent);color:inherit;}

/* ---- import ---- */
.ct-stepper{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:10px;}
.ct-stepper li{display:flex;align-items:center;gap:8px;flex:1;color:var(--neutral-ink);font-weight:500;font-size:12.5px;}
.ct-stepper li:not(:last-child)::after{content:"";flex:1;height:2px;background:var(--track);border-radius:2px;margin-left:4px;}
.ct-stepper li.done:not(:last-child)::after{background:var(--primary);}
.ct-stepper li:last-child{flex:0 0 auto;}
.ct-stp{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:700;background:var(--track);color:var(--neutral-ink);flex-shrink:0;}
.ct-stp svg{width:13px;height:13px;}
.ct-stepper .done .ct-stp{background:var(--primary);color:var(--on-accent);}
.ct-stepper .cur .ct-stp{background:var(--primary-soft);color:var(--primary-dark);box-shadow:0 0 0 2px var(--primary);}
.ct-stepper .cur, .ct-stepper .done{color:var(--text);font-weight:600;}
.ct-dropzone{border:2px dashed var(--dim);border-radius:14px;padding:34px 20px;display:flex;flex-direction:column;
  align-items:center;gap:8px;text-align:center;cursor:pointer;background:var(--field);}
.ct-dropzone:hover, .ct-dropzone.over, .ct-dropzone:focus-visible{border-color:var(--primary);background:var(--primary-tint);}
.ct-dz-ico{width:44px;height:44px;border-radius:12px;background:var(--primary-soft);color:var(--primary-dark);
  display:flex;align-items:center;justify-content:center;}
.ct-dz-ico svg{width:20px;height:20px;}
.ct-impgrid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:14px;align-items:start;}
.ct-sticky{position:sticky;top:12px;}
.ct-stackbar{display:flex;height:14px;border-radius:7px;overflow:hidden;gap:2px;}
.ct-impdone{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;padding:18px 6px;}
.ct-resgrid{display:grid;grid-template-columns:repeat(4,minmax(0,110px));gap:10px;}
.ct-rescard{border:1px solid var(--border);border-radius:12px;padding:12px;background:var(--field);}
.ct-rescard .kpi-value{margin:0;}

/* ---- finestre ---- */
.ct-dlg-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px;}
.ct-dlg-head h2{margin:0;}
.ct-colgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px;margin-bottom:18px;}
.ct-colrow{display:flex;align-items:center;gap:8px;font-size:12.5px;cursor:pointer;padding:5px 0;}

/* ---- KPI cliccabili ---- */
.ct-kpibtn{text-align:left;cursor:pointer;font-family:inherit;color:inherit;border:1px solid var(--border);width:100%;}
.ct-kpibtn:hover{background:var(--hover);border-color:var(--primary-mid);}
.ct-kpibtn.on{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary);}

@media (max-width:1380px){
  .ct-rec{grid-template-columns:270px minmax(0,1fr);}
  .ct-rec-r{grid-column:2;position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start;}
  .ct-dggrid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width:1100px){
  .ct-impgrid, .ct-grid3{grid-template-columns:minmax(0,1fr);}
  .ct-sticky{position:static;}
  .ct-stiles{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width:980px){
  .ct-rec{grid-template-columns:minmax(0,1fr);}
  .ct-rec-l{position:static;}
  .ct-rec-r{grid-column:auto;grid-template-columns:minmax(0,1fr);}
}
@media (max-width:760px){
  .ct-grid2, .ct-kv, .ct-dggrid{grid-template-columns:minmax(0,1fr);}
  .ct-stiles{grid-template-columns:repeat(2,minmax(0,1fr));}
  .ct-journey{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:14px;}
  .ct-jst:nth-child(4n+1)::before{display:none;}
  .ct-colgrid{grid-template-columns:minmax(0,1fr);}
  .ct-resgrid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .ct-stepper li>span:last-child{display:none;}
  .ct-search{width:100%;}
  .ct-bulk{top:4px;}
}

/* ============================================================
   LA TESTATA A BARRA UNICA

   Due righe invece di quattro: titolo, sezioni e azioni sulla prima; vista,
   filtri e ricerca sulla seconda, che si legge da sinistra come un imbuto.
   Le pastiglie dei filtri sono una terza riga che c'e' solo quando c'e'
   qualcosa da togliere.
   ============================================================ */
.ct-head{display:flex;flex-direction:column;margin-bottom:16px;}
.ct-hrow{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;}
/* Le sezioni si restringono e scorrono da sole quando lo schermo finisce:
   senza questo il gruppo esce dal bordo e «Import» diventa irraggiungibile. */
.ct-hleft{gap:14px;}
.ct-hleft .ct-tabs{min-width:0;flex-shrink:1;}
.ct-hact{gap:8px;justify-content:flex-end;flex-wrap:wrap;}
.ct-htitle{display:flex;align-items:center;gap:9px;margin:0;font-size:21px;letter-spacing:-.3px;}
.ct-hsub{margin:2px 0 0;font-size:12px;color:var(--muted);}
.ct-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;
  border-radius:6px;background:var(--track);color:var(--neutral-ink);
  font-size:10.5px;font-weight:700;font-variant-numeric:tabular-nums;}
.ct-count.on{background:var(--primary);color:var(--on-accent);}
.ct-htitle .ct-count{height:20px;font-size:11px;}
.ct-vsep{width:1px;height:22px;background:var(--border);flex-shrink:0;}

/* Il bottone diviso: l'azione ovvia a sinistra, i due modi di non compilarla
   sotto la freccia. Il filo che le separa e' l'inchiostro del bottone
   diluito: su un pieno primario un bordo grigio si vedrebbe come una crepa. */
.ct-split{display:inline-flex;border-radius:10px;overflow:hidden;background:var(--primary);}
.ct-split .btn{border-radius:0;}
.ct-caret{display:flex;align-items:center;padding:0 9px;border:none;background:var(--primary);color:var(--on-accent);
  border-left:1px solid color-mix(in srgb, var(--on-accent) 28%, transparent);cursor:pointer;}
.ct-caret:hover{background:var(--primary-dark);}

/* ---- la barra ---- */
.ct-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 0 0;}
.ct-bar .ct-search{height:36px;max-width:360px;}
.ct-viewbtn,.ct-filterbtn{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 12px;
  border:1px solid var(--border);border-radius:10px;background:var(--card);color:var(--text);
  font-family:inherit;font-size:12.5px;font-weight:600;white-space:nowrap;cursor:pointer;}
.ct-viewbtn:hover,.ct-filterbtn:hover{background:var(--hover);}
.ct-viewbtn svg,.ct-filterbtn svg{color:var(--muted);}
.ct-viewbtn svg:first-child{color:var(--primary);}
.ct-filterbtn.on{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-dark);}
.ct-filterbtn.on svg{color:var(--primary-dark);}
.ct-kbd{padding:2px 5px;border:1px solid var(--border);border-radius:5px;background:var(--card);
  color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.3px;flex-shrink:0;}
/* «Vista modificata» non e' un errore: e' un avviso con due vie d'uscita. */
.ct-dirty{display:inline-flex;align-items:center;gap:6px;padding:4px 5px 4px 10px;border-radius:8px;
  background:var(--primary-soft);color:var(--primary-dark);font-size:11.5px;font-weight:600;white-space:nowrap;}
.ct-dirty button{padding:2px 7px;border:none;border-radius:5px;background:var(--card);color:var(--primary-dark);
  font:inherit;font-size:11px;font-weight:700;cursor:pointer;}
.ct-dirty button:hover{background:var(--hover);}

/* ---- le pastiglie dei filtri applicati ---- */
.ct-chiprow{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:12px 0 0;}
.ct-fchip{display:inline-flex;align-items:center;gap:6px;padding:5px 7px 5px 10px;border-radius:8px;
  background:var(--primary-soft);color:var(--primary-dark);font-size:11.5px;font-weight:600;white-space:nowrap;}
.ct-fchip em{font-style:normal;opacity:.72;}
.ct-fchip .x{display:flex;padding:1px;border:none;border-radius:5px;background:none;color:inherit;opacity:.7;cursor:pointer;}
.ct-fchip .x:hover{opacity:1;background:color-mix(in srgb, var(--primary-dark) 16%, transparent);}
.ct-clearlink{padding:4px;border:none;background:none;font-family:inherit;font-size:11.5px;font-weight:600;
  color:var(--muted);text-decoration:underline;text-underline-offset:2px;cursor:pointer;}
.ct-clearlink:hover{color:var(--red-dark);}

/* ---- i riquadri della testata ---- */
#genericPopover:has(.ct-pop){width:auto;min-width:216px;padding:7px;}
.ct-pop{display:flex;flex-direction:column;}
.ct-poplabel{padding:8px 10px 4px;font-size:9.5px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--muted);}
.ct-popitem{display:flex;align-items:center;gap:9px;width:100%;padding:8px 10px;border:none;border-radius:9px;
  background:none;color:var(--text);font-family:inherit;font-size:12.5px;font-weight:500;
  text-align:left;text-decoration:none;white-space:nowrap;cursor:pointer;}
.ct-popitem:hover{background:var(--hover);}
.ct-popitem svg{color:var(--muted);}
.ct-popitem small{margin-left:auto;padding-left:12px;font-size:11px;font-weight:600;color:var(--muted);}
.ct-popitem.on{background:var(--primary-tint);color:var(--primary-dark);font-weight:600;}
.ct-popitem.on svg,.ct-popitem.on small{color:var(--primary-dark);}
/* ---- il catalogo servizi dentro al riquadro ----
   Una riga per voce del catalogo, con la spunta a sinistra e categoria e
   listino a destra: e' quello che si legge nella pagina Servizi, non una
   lista di parole. */
.ct-svcpop{min-width:300px;max-width:360px;max-height:min(70vh,440px);overflow-y:auto;}
/* Il campo di ricerca resta in vista mentre l'elenco scorre: con dieci
   servizi in catalogo scorrere e' normale, e riportarsi su per cambiare
   parola no. */
.ct-svcfind{position:sticky;top:0;z-index:1;display:flex;align-items:center;gap:7px;padding:8px 10px;
  background:var(--card);border-bottom:1px solid var(--border);margin:-1px -1px 2px;}
.ct-svcfind svg{color:var(--muted);flex-shrink:0;}
.ct-svcfind input{flex:1;min-width:0;border:none;background:transparent;font:inherit;font-size:12.5px;color:var(--text);outline:none;padding:2px 0;}
.ct-svcfind input::placeholder{color:var(--muted);font-weight:400;}
.ct-svcfind input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;}
.ct-svcitem{align-items:flex-start;text-align:left;}
.ct-svccheck{width:16px;height:16px;border-radius:5px;border:1.5px solid var(--border);display:inline-flex;
  align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;}
.ct-svcitem.on .ct-svccheck{background:var(--primary);border-color:var(--primary);}
.ct-svcitem.on .ct-svccheck svg{color:var(--on-accent);}
.ct-svcname{flex:1;min-width:0;font-size:12.5px;line-height:1.35;}
.ct-svcitem small{margin-left:auto;padding-left:10px;white-space:nowrap;flex-shrink:0;}
.ct-popempty{margin:0;padding:10px;font-size:12px;color:var(--muted);line-height:1.45;}
.ct-popfoot{margin-top:4px;border-top:1px solid var(--border);border-radius:0 0 9px 9px;color:var(--primary-dark);font-weight:600;}
.ct-popfoot svg{color:var(--primary-dark);}
.ct-popsep{height:1px;margin:6px 4px;background:var(--line-soft);}

#genericPopover:has(.ct-fpop){width:min(520px, calc(100vw - 20px));padding:16px;}
.ct-fpop h3{margin:0 0 12px;font-size:13px;font-weight:700;}
.ct-fgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;}
.ct-fgrp{grid-column:1 / -1;font-size:9.5px;font-weight:700;letter-spacing:.45px;text-transform:uppercase;color:var(--muted);}
.ct-fld{display:flex;flex-direction:column;gap:5px;min-width:0;}
.ct-fld>span{font-size:10.5px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;color:var(--muted);}
.ct-fld.on>span{color:var(--primary-dark);}
.ct-fld.on .aselect{border-color:var(--primary);background:var(--primary-soft);}
.ct-fld.on .aselect .aselect-value{color:var(--primary-dark);font-weight:600;}
.ct-fpop-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;
  margin-top:15px;padding-top:13px;border-top:1px solid var(--border);}

@media (max-width:880px){
  .ct-vsep{display:none;}
  .ct-hrow{align-items:flex-start;}
  .ct-hact{width:100%;justify-content:flex-start;}
  .ct-fgrid{grid-template-columns:1fr;}
}

/* ---- liste: i numeri in cima ---- */
/* Il fondo tenue con l'inchiostro forte sopra: di notte si rovescia da solo,
   mentre il bianco su un pieno colorato sparirebbe. */
.kpi-icon.ct-i-primary{background:var(--primary-soft);color:var(--primary-dark);}
.kpi-icon.ct-i-blue{background:var(--blue-soft);color:var(--blue);}
.kpi-icon.ct-i-violet{background:var(--violet-soft);color:var(--violet);}
.kpi-icon.ct-i-amber{background:var(--amber-soft);color:var(--amber-dark);}

/* ---- liste: registro con l'icona in mezzo ---- */
.ct-logrow.ico{grid-template-columns:120px 24px minmax(0,1fr);}

/* ---- il costruttore di criteri ---- */
.ct-qb{display:flex;flex-direction:column;gap:0;}
.ct-grp{border:1px solid var(--border);border-radius:12px;padding:12px;background:var(--field);}
.ct-grp-h{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;}
.ct-grp-t{font-size:10.5px;font-weight:700;color:var(--neutral-ink);text-transform:uppercase;letter-spacing:.04em;}
/* Campo, operatore, valore e la crocetta: quattro colonne fisse, così le
   condizioni di un gruppo restano incolonnate e si leggono scendendo. */
.ct-cond{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.95fr) minmax(0,1.3fr) 28px;
  gap:8px;align-items:center;}
.ct-cond+.ct-cond, .ct-cond+.ct-andlab{margin-top:8px;}
.ct-andlab{font-size:10.5px;font-weight:700;color:var(--muted);letter-spacing:.06em;margin:6px 0 0 2px;}
.ct-orsep{display:flex;align-items:center;gap:10px;padding:10px 2px;}
.ct-orsep::before, .ct-orsep::after{content:"";height:1px;background:var(--border);flex:1;}
.ct-orsep span{font-size:10.5px;font-weight:700;color:var(--primary-dark);background:var(--primary-soft);
  border-radius:6px;padding:3px 9px;letter-spacing:.04em;}
.ct-vcell{display:flex;align-items:center;gap:6px;min-width:0;flex-wrap:wrap;}
.ct-vcell>.aselect, .ct-vcell>.adate{flex:1 1 120px;min-width:0;}
.ct-qin{height:31px;border:1px solid var(--border);border-radius:9px;padding:0 9px;background:var(--field);
  font-size:12.5px;color:var(--text);min-width:0;width:90px;}
.ct-qin.w{flex:1 1 120px;width:auto;}
.ct-qin:focus{outline:2px solid var(--primary);outline-offset:0;background:var(--card);}

/* ---- le regole dette a pastiglie ---- */
.ct-rulesline{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.ct-rulechip{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;padding:4px 9px;
  border-radius:8px;background:var(--card);border:1px solid var(--border);color:var(--text);}
.ct-rulechip .op{color:var(--neutral-ink);font-weight:500;}
.ct-orpill{font-size:10.5px;font-weight:700;color:var(--primary-dark);background:var(--primary-soft);
  border-radius:6px;padding:3px 8px;}
.ct-andpill{font-size:10.5px;font-weight:700;color:var(--neutral-ink);background:var(--track);
  border-radius:6px;padding:3px 8px;}

/* ---- costruttore e anteprima, affiancati ---- */
.ct-buildgrid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,.9fr);gap:16px;align-items:start;}
.ct-qbprev{position:sticky;top:12px;}
.ct-qbprev .card{margin-bottom:0;}
.ct-prevn{font-size:26px;font-weight:700;letter-spacing:-.4px;}
.ct-prevn span{font-size:13px;font-weight:500;color:var(--neutral-ink);}
.ct-prevrow{display:flex;align-items:center;gap:8px;padding:6px 0;border-top:1px solid var(--border);font-size:12px;}
.ct-prevrow:first-of-type{border-top:none;}

/* ---- scegliere i contatti a mano ---- */
.ct-pickwrap{border:1px solid var(--border);border-radius:12px;max-height:320px;overflow:auto;}
.ct-pickrow{display:flex;align-items:center;gap:10px;padding:9px 11px;border-top:1px solid var(--border);
  width:100%;text-align:left;background:none;border-left:none;border-right:none;border-bottom:none;
  color:var(--text);font:inherit;cursor:pointer;}
.ct-pickrow:first-child{border-top:none;}
.ct-pickrow:hover{background:var(--hover);}
.ct-pickrow.on{background:var(--primary-tint);}
/* Dentro a un bottone la spunta non è un controllo a sé: è un disegno, e
   lo stato lo porta la riga. */
.ct-chk.on{background:var(--primary);border-color:var(--primary);}
.ct-chk.on svg{opacity:1;}

.ct-stiles.two{grid-template-columns:repeat(2,minmax(0,1fr));}

@media (max-width:1100px){
  .ct-buildgrid{grid-template-columns:minmax(0,1fr);}
  .ct-qbprev{position:static;}
}
@media (max-width:760px){
  .ct-cond{grid-template-columns:minmax(0,1fr) 28px;}
  .ct-cond>.ct-vcell{grid-column:1/2;}
  .ct-stiles.two{grid-template-columns:minmax(0,1fr);}
  .ct-logrow.ico{grid-template-columns:24px minmax(0,1fr);}
  .ct-logrow.ico>.ct-cap:first-child{grid-column:1/-1;}
}

/* ---- la testata di una lista ----
   Contenuto imbottito, poi una riga, poi le schede sul bordo di sotto:
   appiccicate al testo sembravano la continuazione della frase sopra. */
.ct-lhead{padding:0;overflow:hidden;}
.ct-lhead-top{padding:18px 18px 15px;}
.ct-lhead .ct-dtabs{border-top:1px solid var(--border);padding:0 8px;}
.ct-ltitle{font-size:19px;font-weight:700;margin:0;letter-spacing:-.2px;line-height:1.25;}
.ct-lsub{font-size:12.5px;color:var(--neutral-ink);line-height:1.45;max-width:70ch;}
.ct-lhead .ct-box{margin:2px 0 0;}

/* ---- la tabella delle liste ----
   Un numero allineato a destra tocca l’intestazione della colonna dopo:
   qui le colonne contate vogliono un dito d’aria in più. */
.ct-ltable th.ct-num, .ct-ltable td.ct-num{padding-right:24px;}
.ct-ltable th:first-child, .ct-ltable td:first-child{padding-left:14px;}
.ct-ltable tr[data-ct="l-row"]{cursor:pointer;}

/* ---- i criteri di una lista, da leggere ----
   Il numero in cima è il risultato, non un ornamento: è la sola cosa che
   le condizioni scritte sotto non dicono. Ogni condizione è una riga con
   tre pesi — il campo, l’operatore, il valore — così si legge come una
   frase invece che come una pastiglia dentro a una scatola. */
.ct-qcard{padding:0;overflow:hidden;}
.ct-qres{display:flex;align-items:center;gap:14px;padding:16px 18px;background:var(--field);
  border-bottom:1px solid var(--border);flex-wrap:wrap;}
.ct-qres-n{font-size:30px;font-weight:700;letter-spacing:-.6px;line-height:1;color:var(--primary-dark);
  font-variant-numeric:tabular-nums;}
.ct-qres-t{font-size:13.5px;font-weight:600;color:var(--text);}
.ct-qview{padding:16px 18px 6px;display:flex;flex-direction:column;align-items:flex-start;}
.ct-qgnum{align-self:stretch;font-size:10.5px;font-weight:700;color:var(--muted);text-transform:uppercase;
  letter-spacing:.06em;margin:0 0 8px;}
.ct-qgnum:not(:first-child){margin-top:4px;}
.ct-qrow{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 12px;border-radius:10px;max-width:100%;
  background:var(--card);border:1px solid var(--border);font-size:13px;}
.ct-qrow .f{font-weight:600;color:var(--text);}
.ct-qrow .o{color:var(--neutral-ink);}
.ct-qrow .v{font-weight:600;color:var(--primary-dark);background:var(--primary-soft);
  border-radius:7px;padding:2px 9px;}
/* «E» fra due condizioni: una linea con la parola in mezzo, così si vede
   che le righe stanno insieme senza doverlo leggere. */
.ct-qand{display:flex;align-items:center;gap:9px;padding:5px 0 5px 12px;align-self:stretch;}
.ct-qand::after{content:"";height:1px;background:var(--line-soft);flex:1;}
.ct-qand span{font-size:10.5px;font-weight:700;color:var(--neutral-ink);letter-spacing:.06em;}
.ct-qview .ct-orsep{padding:12px 0;align-self:stretch;}
.ct-qfoot{display:flex;align-items:center;gap:7px;padding:0 18px 15px;font-size:12px;color:var(--neutral-ink);}
.ct-qfoot svg{color:var(--muted);flex-shrink:0;}
.ct-qempty{display:flex;align-items:center;gap:10px;padding:20px 18px;font-size:13px;color:var(--neutral-ink);}
.ct-qempty svg{color:var(--dim);width:18px;height:18px;flex-shrink:0;}

/* ---- gli esclusi a mano ---- */
.ct-qexcl{padding:14px 18px 16px;border-top:1px solid var(--border);background:var(--field);}
.ct-qexcl .ct-flab{margin-bottom:8px;}
.ct-qexrow{display:flex;align-items:center;gap:12px;padding:9px 0;border-top:1px solid var(--border);font-size:13px;}
.ct-qexrow:first-of-type{border-top:none;}

/* ---- la scala dei corpi dentro alla scheda ----
   Tre misure e basta: 14 il titolo di sezione, 13 il corpo delle righe,
   11.5 quello che sta sotto. Prima le righe ereditavano il 14 della
   pagina e ogni lista sembrava composta con un carattere diverso. */
.ct-listrow, .ct-tl-i, .ct-note, .ct-dealbox, .ct-logrow, .ct-sigrow, .ct-sw{font-size:13px;}
.ct-listrow strong, .ct-tl-i strong, .ct-note strong{font-weight:600;}
.ct-rec-r .ct-strong, .ct-rec-l .ct-strong{font-size:13px;}

/* Le nove schede della scheda contatto: il componente è quello della
   scheda cliente, con il contatore attaccato all’etichetta. */
.ct-rectabs{margin-bottom:14px;width:fit-content;max-width:100%;}
.ct-rectabs button{cursor:pointer;font-family:inherit;}
.ct-rectabs button:hover{color:var(--text);}
.ct-rectabs .ct-tab-n{background:rgba(127,100,80,.12);}
.ct-rectabs button.active .ct-tab-n{background:var(--primary-soft);color:var(--primary-dark);}

/* ---- la pastiglia che si toglie, e quella che aggiunge ----
   Un servizio scelto porta la sua crocetta: toglierlo non deve passare
   per «Modifica», cercarlo fra dodici e premere «Fatto». */
.ct-chip .x{width:15px;height:15px;border-radius:50%;border:none;background:transparent;padding:0;
  display:inline-flex;align-items:center;justify-content:center;color:inherit;opacity:.55;
  cursor:pointer;flex-shrink:0;margin-right:-3px;}
.ct-chip .x:hover{opacity:1;background:var(--primary-mid);color:var(--on-accent);}
.ct-chip .x svg{width:10px;height:10px;}
.ct-chip.add{border-style:dashed;background:transparent;color:var(--neutral-ink);cursor:pointer;
  font-family:inherit;font-size:12.5px;padding:5px 11px;}
.ct-chip.add:hover{border-color:var(--primary-mid);color:var(--primary-dark);background:var(--primary-tint);}

/* ---- l’etichetta con la sua icona ---- */
.ct-kico{display:flex;align-items:center;gap:6px;}
.ct-kico svg{width:13px;height:13px;color:var(--muted);flex-shrink:0;}

/* ---- i filtri dell’attività ----
   Sono un segmentato e non sei pastiglie: in questa app un segmentato
   vuol dire «scegli fra questi», e non si confonde con un comando. */
.ct-actf{margin-bottom:14px;}
.ct-actf .ct-pill-n{font-size:10.5px;font-weight:700;background:var(--track);color:var(--neutral-ink);
  border-radius:5px;padding:0 5px;margin-left:5px;}
.ct-actf button[aria-checked="true"] .ct-pill-n{background:var(--card);color:var(--primary-dark);}

/* ---- il tipo di attività si vede dal colore ----
   Fondo tenue e inchiostro forte, la coppia che di notte si rovescia da
   sola: un pieno con l’icona bianca sopra sparirebbe a metà tinte. */
.ct-tlic.t-call{background:var(--primary-soft);color:var(--primary-dark);}
.ct-tlic.t-mail{background:var(--blue-soft);color:var(--blue);}
.ct-tlic.t-meet{background:var(--violet-soft);color:var(--violet);}
.ct-tlic.t-note{background:var(--amber-soft);color:var(--amber-dark);}
.ct-tlic.t-task{background:var(--green-soft);color:var(--green-dark);}
.ct-tlic.t-imp{background:var(--track);color:var(--neutral-ink);}
.ct-tlic.t-quote{background:var(--pink-soft);color:var(--pink);}
.ct-tlic.t-won{background:var(--primary);color:var(--on-accent);}

/* ---- una spunta con la sua parola, tutta premibile ----
   Un `<label>` non porta il clic a un `<button>`: la parola accanto alla
   casella non faceva niente. Ora sono lo stesso bottone. */
.ct-chkrow{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 13px 0 9px;
  border:1px solid var(--border);border-radius:10px;background:var(--card);cursor:pointer;
  font-size:13px;font-weight:600;color:var(--text);font-family:inherit;}
.ct-chkrow:hover{background:var(--hover);}
.ct-chkrow svg{width:13px;height:13px;color:var(--muted);}
.ct-chkrow[aria-checked="true"]{border-color:var(--primary);background:var(--primary-tint);color:var(--primary-dark);}
.ct-chkrow[aria-checked="true"] svg{color:var(--primary-dark);}
.ct-chkrow[aria-checked="true"] .ct-chk{background:var(--primary);border-color:var(--primary);}
.ct-chkrow[aria-checked="true"] .ct-chk svg{opacity:1;color:var(--on-accent);}

/* Le righe modificabili dentro alla colonna stretta di sinistra: l’etichetta
   sopra e il valore sotto, che a 290px in due colonne non ci stanno.

   Una riga qui sono due righe di testo, e con quattro pixel sopra e sotto
   il valore di una finiva attaccato all'etichetta della successiva: dieci
   voci di fila si leggevano come un blocco solo. Lo spazio fra due voci
   diverse deve essere maggiore di quello fra l'etichetta e il suo valore,
   se no le due cose non si distinguono. */
.ct-rec-l .pf-card{padding:15px 16px 16px;}
.ct-rec-l .pf-row{grid-template-columns:minmax(0,1fr) 22px;align-items:start;min-height:0;padding:7px;gap:0;}
.ct-rec-l .pf-label{grid-column:1/2;line-height:1.3;}
.ct-rec-l .pf-val{grid-column:1/2;margin-top:3px;line-height:1.3;}
.ct-rec-l .pf-editor{grid-column:1/-1;margin-top:3px;}
/* La colonna va detta, non lasciata indovinare: con la sola `grid-row` la
   matita veniva piazzata da sola nella prima colonna libera — cioe' sopra
   all'etichetta, sovrapposta alla riga. Sta a lato, in mezzo alle due
   righe di testo. */
.ct-rec-l .pf-pencil{grid-column:2/3;grid-row:1/3;align-self:center;justify-self:end;}

/* ---- la nota a destra nella testata di un riquadro modificabile ---- */
.pf-head .ct-cap{margin-left:auto;text-align:right;max-width:46%;font-size:11.5px;line-height:1.35;flex-shrink:0;}

/* Il titolo di un riquadro modificabile sta accanto a quello di una
   sezione: mezzo pixel di differenza si vede, e sembra un errore. */
.ct-rec .pf-head-title{font-size:14px;}

/* ---- Le misure che stavano nel markup della scheda ---- */
/* Un valore forte dentro a una riga tenue: il colore del testo normale
   torna esplicito perche' `color` si eredita gia' calcolato. */
.ct-ink{color:var(--text);}
.ct-nameline{gap:7px;min-width:0;}
.ct-clientbadge{height:32px;padding:0 12px;}
.ct-rowend{justify-content:flex-end;}
.ct-rowtop{align-items:flex-start;}
.ct-emptypad{padding:22px;}

/* ---- Le misure che stavano nel markup dell'elenco ---- */
.ct-csector{max-width:170px;}
.ct-cscore{width:120px;}
.ct-scoretrack{width:84px;margin-top:5px;}
.ct-cstep{min-width:150px;}
.ct-ctags{gap:4px;max-width:200px;}
.ct-cnext{min-width:170px;}
.ct-nexttxt{max-width:150px;}
.ct-nextsub{max-width:190px;}
.ct-chkcol{width:34px;}
.ct-rowcenter{justify-content:center;gap:8px;}
.ct-emptypad-lg{padding:24px;}
.ct-actbody{margin-top:6px;line-height:1.5;}

/* Il tono di un riquadro-numero: prima erano due token passati come
   stringhe alla funzione che lo disegna, e finivano in un attributo
   `style`. Sono sempre gli stessi quattro, e sono sempre la coppia fondo
   tenue / inchiostro forte, quindi stanno qui. */

/* ---- Import: le misure e le quattro tinte della barra ---- */
.ct-impdrop{font-size:15px;}
.ct-impfield{width:260px;}
.ct-impex{max-width:220px;}
.ct-imphint{margin-top:3px;max-width:560px;}
.ct-donetitle{margin:0;font-size:20px;}
/* Le quattro sorti di una riga importata: nuova, aggiornata, da guardare,
   scartata. Erano quattro token dentro a un elenco in JavaScript, che
   finivano in un attributo `style` due volte ciascuno — una nella barra e
   una nella legenda. */
.ct-imp-news{background:var(--primary);}
.ct-imp-updates{background:var(--primary-mid);}
.ct-imp-reviews{background:var(--amber);}
.ct-imp-discards{background:var(--dim);}

/* ---- Liste di contatti: le misure che stavano nel markup ---- */
.ct-footsplit{justify-content:space-between;}
.ct-titlerow{gap:7px;}
.ct-vplain{font-weight:500;}
.ct-namecol{min-width:220px;}
.ct-helptitle{font-size:13.5px;}
.ct-helptext{line-height:1.5;}
.ct-helpkv{gap:8px 14px;}
.ct-helpv{font-size:12px;}
.ct-lhead-cols{align-items:flex-start;gap:18px;}
.ct-lhead-stack{gap:8px;min-width:0;}
.ct-lhead-tags{gap:9px;}
.ct-dlgtitle{margin:0;}
.ct-chiprow{gap:10px;margin-bottom:18px;}
.ct-checkrow{gap:7px;margin-bottom:16px;cursor:pointer;}

.ct-bsep{border-top:1px solid var(--border);padding-top:9px;}
.ct-qsub{margin-top:5px;}
