:root{--color-bg:oklch(98.5% .003 250);--color-bg-muted:oklch(96.5% .005 250);--color-bg-subtle:oklch(93.5% .007 250);--color-surface:#fff;--color-surface-elevated:oklch(99% .002 250);--color-border:oklch(91% .008 250);--color-border-strong:oklch(85% .01 250);--color-text-primary:oklch(20% .012 250);--color-text-secondary:oklch(36% .011 250);--color-text-tertiary:oklch(54% .01 250);--color-text-disabled:oklch(68% .008 250);--color-text-on-accent:#fff;--color-accent:oklch(58% .15 52);--color-accent-hover:oklch(52% .15 52);--color-accent-soft:oklch(94% .045 60);--color-accent-border:oklch(82% .1 55);--color-accent-text:oklch(38% .13 50);--color-success:oklch(58% .13 155);--color-success-soft:oklch(94% .04 155);--color-success-border:oklch(82% .09 155);--color-success-text:oklch(36% .11 155);--color-warning:oklch(72% .15 82);--color-warning-soft:oklch(95% .05 85);--color-warning-border:oklch(85% .1 82);--color-warning-text:oklch(42% .12 72);--color-danger:oklch(58% .18 27);--color-danger-soft:oklch(94% .04 27);--color-danger-border:oklch(82% .1 27);--color-danger-text:oklch(40% .16 27);--color-info:oklch(54% .13 245);--color-info-soft:oklch(94% .035 245);--color-info-border:oklch(82% .09 245);--color-info-text:oklch(36% .11 245);--color-neutral-chip:oklch(93% .005 250);--color-neutral-chip-text:oklch(36% .01 250);--color-pipe-bacheca:oklch(70% .06 250);--color-pipe-scd-richiesta:oklch(62% .14 250);--color-pipe-scd-pronta:oklch(60% .16 285);--color-pipe-scd-fissate:oklch(60% .16 320);--color-pipe-attesa-esito:oklch(65% .15 50);--color-pipe-esito-pos:oklch(60% .14 130);--color-pipe-domanda-asta:oklch(58% .16 35);--color-pipe-data-vendita:oklch(58% .18 25);--color-pipe-esito-neg:oklch(62% .12 15);--color-pipe-non-aggiudicata:oklch(55% .1 25);--color-pipe-aggiudicata:oklch(58% .14 155);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-2xl:16px;--radius-pill:999px;--text-font-sans:"Inter", "Helvetica Neue", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--text-font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--text-font-serif:"Source Serif 4", "Iowan Old Style", Georgia, serif;--text-size-10:10px;--text-size-11:11px;--text-size-12:12px;--text-size-13:13px;--text-size-14:14px;--text-size-15:15px;--text-size-16:16px;--text-size-18:18px;--text-size-20:20px;--text-size-22:22px;--text-size-26:26px;--text-size-32:32px;--text-weight-regular:400;--text-weight-medium:500;--text-weight-semibold:600;--text-weight-bold:700;--text-leading-tight:1.15;--text-leading-snug:1.35;--text-leading-default:1.5;--text-leading-loose:1.7;--text-tracking-tight:-.012em;--text-tracking-normal:0;--text-tracking-wide:.04em;--text-tracking-caps:.06em;--shadow-sm:0 1px 0 #14100a0a, 0 1px 2px #14100a0a;--shadow-md:0 2px 4px #14100a0a, 0 8px 16px #14100a0f;--shadow-lg:0 4px 10px #14100a0f, 0 24px 48px #14100a14;--shadow-focus:0 0 0 3px oklch(58% .15 52/.25);--motion-ease-standard:cubic-bezier(.4, 0, .2, 1);--motion-ease-emphasized:cubic-bezier(.2, 0, 0, 1);--motion-duration-fast:.12s;--motion-duration-default:.2s;--motion-duration-slow:.32s;--layer-base:1;--layer-sticky:10;--layer-topbar:20;--layer-dropdown:30;--layer-overlay:50;--layer-modal:60;--layer-toast:80;--layer-tooltip:90;--layout-topbar-h:56px;--layout-sidebar-w:220px;--layout-content-pad-x:24px;--layout-content-pad-y:20px;--component-table-row-h:44px;--component-table-row-h-dense:36px;--component-input-h:36px;--component-button-h:36px;--component-button-h-sm:28px;--component-button-h-lg:44px;--bg:var(--color-bg);--bg-2:var(--color-bg-muted);--bg-3:var(--color-bg-subtle);--surface:var(--color-surface);--surface-2:var(--color-surface-elevated);--line:var(--color-border);--line-2:var(--color-border-strong);--ink-1:var(--color-text-primary);--ink-2:var(--color-text-secondary);--ink-3:var(--color-text-tertiary);--ink-4:var(--color-text-disabled);--ink-on-accent:var(--color-text-on-accent);--accent:var(--color-accent);--accent-hover:var(--color-accent-hover);--accent-soft:var(--color-accent-soft);--accent-line:var(--color-accent-border);--accent-ink:var(--color-accent-text);--ok:var(--color-success);--ok-soft:var(--color-success-soft);--ok-line:var(--color-success-border);--ok-ink:var(--color-success-text);--warn:var(--color-warning);--warn-soft:var(--color-warning-soft);--warn-line:var(--color-warning-border);--warn-ink:var(--color-warning-text);--risk:var(--color-danger);--risk-soft:var(--color-danger-soft);--risk-line:var(--color-danger-border);--risk-ink:var(--color-danger-text);--info:var(--color-info);--info-soft:var(--color-info-soft);--info-line:var(--color-info-border);--info-ink:var(--color-info-text);--neutral-chip:var(--color-neutral-chip);--neutral-chip-ink:var(--color-neutral-chip-text);--pipe-bacheca:var(--color-pipe-bacheca);--pipe-scd-richiesta:var(--color-pipe-scd-richiesta);--pipe-scd-pronta:var(--color-pipe-scd-pronta);--pipe-scd-fissate:var(--color-pipe-scd-fissate);--pipe-attesa-esito:var(--color-pipe-attesa-esito);--pipe-esito-pos:var(--color-pipe-esito-pos);--pipe-domanda-asta:var(--color-pipe-domanda-asta);--pipe-data-vendita:var(--color-pipe-data-vendita);--pipe-esito-neg:var(--color-pipe-esito-neg);--pipe-non-aggiudicata:var(--color-pipe-non-aggiudicata);--pipe-aggiudicata:var(--color-pipe-aggiudicata);--font-sans:var(--text-font-sans);--font-mono:var(--text-font-mono);--font-serif:var(--text-font-serif);--fs-10:var(--text-size-10);--fs-11:var(--text-size-11);--fs-12:var(--text-size-12);--fs-13:var(--text-size-13);--fs-14:var(--text-size-14);--fs-15:var(--text-size-15);--fs-16:var(--text-size-16);--fs-18:var(--text-size-18);--fs-20:var(--text-size-20);--fs-22:var(--text-size-22);--fs-26:var(--text-size-26);--fs-32:var(--text-size-32);--lh-tight:var(--text-leading-tight);--lh-snug:var(--text-leading-snug);--lh-default:var(--text-leading-default);--lh-loose:var(--text-leading-loose);--fw-regular:var(--text-weight-regular);--fw-medium:var(--text-weight-medium);--fw-semibold:var(--text-weight-semibold);--fw-bold:var(--text-weight-bold);--tracking-tight:var(--text-tracking-tight);--tracking-normal:var(--text-tracking-normal);--tracking-wide:var(--text-tracking-wide);--tracking-caps:var(--text-tracking-caps);--sp-1:var(--space-1);--sp-2:var(--space-2);--sp-3:var(--space-3);--sp-4:var(--space-4);--sp-5:var(--space-5);--sp-6:var(--space-6);--sp-8:var(--space-8);--sp-10:var(--space-10);--sp-12:var(--space-12);--sp-16:var(--space-16);--r-sm:var(--radius-sm);--r-md:var(--radius-md);--r-lg:var(--radius-lg);--r-xl:var(--radius-xl);--r-2xl:var(--radius-2xl);--r-pill:var(--radius-pill);--sh-1:var(--shadow-sm);--sh-2:var(--shadow-md);--sh-3:var(--shadow-lg);--sh-focus:var(--shadow-focus);--ease-standard:var(--motion-ease-standard);--ease-emphasized:var(--motion-ease-emphasized);--dur-fast:var(--motion-duration-fast);--dur-default:var(--motion-duration-default);--dur-slow:var(--motion-duration-slow);--z-base:var(--layer-base);--z-sticky:var(--layer-sticky);--z-topbar:var(--layer-topbar);--z-dropdown:var(--layer-dropdown);--z-overlay:var(--layer-overlay);--z-modal:var(--layer-modal);--z-toast:var(--layer-toast);--z-tooltip:var(--layer-tooltip);--topbar-h:var(--layout-topbar-h);--sidebar-w:var(--layout-sidebar-w);--content-pad:var(--layout-content-pad-x);--content-pad-y:var(--layout-content-pad-y);--table-row-h:var(--component-table-row-h);--table-row-h-dense:var(--component-table-row-h-dense);--input-h:var(--component-input-h);--button-h:var(--component-button-h);--button-h-sm:var(--component-button-h-sm);--button-h-lg:var(--component-button-h-lg)}*{box-sizing:border-box}html,body{font-family:var(--text-font-sans);font-size:var(--text-size-13);line-height:var(--text-leading-default);color:var(--color-text-primary);background:var(--color-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-feature-settings:"ss01", "cv11";margin:0;padding:0}button{cursor:pointer;color:inherit;background:0 0;border:0;padding:0;font-family:inherit}a{color:inherit;text-decoration:none}input,select,textarea{color:inherit;font-family:inherit}.num{font-variant-numeric:tabular-nums}.dim{color:var(--color-text-disabled)}.col{gap:var(--space-2);flex-direction:column;display:flex}.spacer{flex:1}.hairline{border-top:1px solid var(--color-border)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{border-radius:var(--radius-pill);border:2px solid var(--color-bg);background:oklch(85% .008 250)}::-webkit-scrollbar-thumb:hover{background:oklch(76% .01 250)}::-webkit-scrollbar-track{background:0 0}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}body{background:var(--bg);min-width:1440px}.app-shell{min-height:100vh;position:relative}.topbar{height:var(--topbar-h);background:var(--surface);border-bottom:1px solid var(--line);align-items:center;gap:var(--sp-4);padding:0 var(--sp-5);z-index:var(--z-topbar);display:flex;position:fixed;top:0;left:0;right:0}.brand{align-items:center;gap:var(--sp-2);font-weight:var(--fw-semibold);font-size:var(--fs-15);letter-spacing:var(--tracking-tight);color:var(--ink-1);min-width:calc(var(--sidebar-w) - var(--sp-5));display:flex}.brand-mark{border-radius:var(--r-md);background:var(--ink-1);width:28px;height:28px;color:var(--surface);font-weight:var(--fw-bold);font-size:var(--fs-13);place-items:center;display:grid;position:relative}.brand-mark:after{content:"";background:var(--accent);border:1.5px solid var(--surface);border-radius:2px;width:9px;height:9px;position:absolute;inset:auto -3px -3px auto}.brand small{color:var(--ink-3);font-weight:var(--fw-regular);font-size:var(--fs-11);text-transform:uppercase;letter-spacing:var(--tracking-caps);margin-left:6px}.global-search{flex:0 380px;width:100%;min-width:200px;max-width:380px;margin-left:auto;margin-right:auto;position:relative}.global-search input{width:100%;height:34px;padding:0 var(--sp-3) 0 36px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg-2);font-size:var(--fs-13);color:var(--ink-1)}.global-search input::placeholder{color:var(--ink-3)}.global-search .icon-search{color:var(--ink-3);pointer-events:none;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.global-search kbd{font-family:var(--font-mono);font-size:var(--fs-10);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--ink-3);background:var(--surface);padding:1px 6px;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.iconbtn{border-radius:var(--r-md);width:34px;height:34px;color:var(--ink-2);transition:background var(--dur-fast);place-items:center;display:grid;position:relative}.iconbtn:hover{background:var(--bg-3);color:var(--ink-1)}.iconbtn .dot-badge{background:var(--risk);border:2px solid var(--surface);border-radius:50%;width:8px;height:8px;position:absolute;top:6px;right:6px}.iconbtn .num-badge{background:var(--risk);color:var(--ink-on-accent);font-size:9px;font-weight:var(--fw-bold);border-radius:var(--r-pill);text-align:center;border:1.5px solid var(--surface);min-width:16px;padding:1px 4px;line-height:1.1;position:absolute;top:1px;right:-1px}.user-pill{align-items:center;gap:var(--sp-2);background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-pill);margin-left:var(--sp-2);padding:3px 10px 3px 3px;display:flex}.avatar{width:26px;height:26px;font-size:var(--fs-11);font-weight:var(--fw-semibold);color:var(--surface);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.avatar.sm{width:22px;height:22px;font-size:var(--fs-10)}.avatar.lg{width:36px;height:36px;font-size:var(--fs-13)}.user-pill .user-name{font-size:var(--fs-12);font-weight:var(--fw-medium)}.user-pill .user-role{font-size:var(--fs-10);color:var(--ink-3);text-transform:uppercase;letter-spacing:var(--tracking-caps)}.sidebar{top:var(--topbar-h);width:var(--sidebar-w);background:var(--surface);border-right:1px solid var(--line);padding:var(--sp-4) var(--sp-2);position:fixed;bottom:0;left:0;overflow-y:auto}.sidebar nav{flex-direction:column;display:flex}.nav-group-title{padding:var(--sp-3) var(--sp-3) var(--sp-1);font-size:var(--fs-10);font-weight:var(--fw-medium);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--ink-4)}.nav-link{align-items:center;gap:var(--sp-2);padding:7px var(--sp-3);border-radius:var(--r-md);color:var(--ink-2);font-size:var(--fs-13);transition:background var(--dur-fast);margin-bottom:1px;display:flex}.nav-link:hover{background:var(--bg-2);color:var(--ink-1)}.nav-link.active{background:var(--ink-1);color:var(--surface);font-weight:var(--fw-medium)}.nav-link .ico{flex-shrink:0;width:16px;height:16px}.nav-link .count{font-family:var(--font-mono);font-size:var(--fs-10);background:var(--bg-3);color:var(--ink-3);border-radius:var(--r-pill);font-variant-numeric:tabular-nums;margin-left:auto;padding:1px 6px}.nav-link.active .count{color:var(--surface);background:#ffffff26}.sidebar-footer{margin-top:var(--sp-3);padding:var(--sp-3) var(--sp-3) var(--sp-2);border-top:1px solid var(--line)}.sync-line{align-items:center;gap:var(--sp-2);font-size:var(--fs-11);color:var(--ink-3);padding:3px 0;display:flex}.pulse-dot{background:var(--ok);width:7px;height:7px;box-shadow:0 0 0 0 var(--ok);border-radius:50%;animation:2s infinite pulse}.pulse-dot.warn{background:var(--warn);animation:none}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.content{margin-left:var(--sidebar-w);margin-top:var(--topbar-h);padding:var(--sp-5) var(--sp-6) var(--sp-8);min-height:calc(100vh - var(--topbar-h))}.hero{padding-bottom:var(--sp-4);border-bottom:1px solid var(--line);margin-bottom:var(--sp-5);justify-content:space-between;align-items:flex-end;display:flex}.hero h1{font-size:var(--fs-22);letter-spacing:var(--tracking-tight);font-weight:var(--fw-semibold);margin:0 0 var(--sp-1)}.hero .hero-sub{color:var(--ink-3);font-size:var(--fs-13)}.hero .hero-sub .strong{color:var(--ink-2);font-weight:var(--fw-medium)}.hero-actions{align-items:center;gap:var(--sp-2);display:flex}.kpi-strip{background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);margin-bottom:var(--sp-5);grid-template-columns:repeat(4,1fr);gap:1px;display:grid;overflow:hidden}.kpi{background:var(--surface);padding:var(--sp-4) var(--sp-5);gap:var(--sp-2);flex-direction:column;min-height:110px;display:flex;position:relative}.kpi-label{align-items:center;gap:var(--sp-2);font-size:var(--fs-11);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--ink-3);font-weight:var(--fw-medium);display:flex}.kpi-label .ico{width:14px;height:14px;color:var(--ink-4)}.kpi-value-row{align-items:baseline;gap:var(--sp-2);display:flex}.kpi-value{font-family:var(--font-sans);font-size:var(--fs-26);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-tight);color:var(--ink-1);font-variant-numeric:tabular-nums}.kpi-value .unit{font-size:var(--fs-14);color:var(--ink-3);font-weight:var(--fw-medium);margin-left:2px}.kpi-target{font-size:var(--fs-12);color:var(--ink-3);font-family:var(--font-mono)}.kpi-target b{color:var(--ink-2);font-weight:var(--fw-medium)}.kpi-bar{background:var(--bg-3);border-radius:var(--r-pill);height:5px;position:relative;overflow:hidden}.kpi-bar>i{border-radius:var(--r-pill);height:100%;transition:width var(--dur-default);display:block}.kpi-bar>i.ok{background:var(--ok)}.kpi-bar>i.warn{background:var(--warn)}.kpi-bar>i.risk{background:var(--risk)}.kpi-bar .expected-marker{background:var(--ink-2);opacity:.35;width:2px;position:absolute;top:-1px;bottom:-1px}.kpi-delta{gap:var(--sp-2);font-size:var(--fs-11);color:var(--ink-3);display:flex}.kpi-delta .up{color:var(--ok);font-weight:var(--fw-medium)}.kpi-delta .down{color:var(--risk);font-weight:var(--fw-medium)}.dash-grid{gap:var(--sp-5);grid-template-columns:1fr 400px;display:grid}.dash-col{gap:var(--sp-4);flex-direction:column;display:flex}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}.card-head{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line);display:flex}.card-title{font-size:var(--fs-14);font-weight:var(--fw-semibold);letter-spacing:-.005em;align-items:center;gap:var(--sp-2);display:flex}.card-title .count-pill{font-family:var(--font-mono);font-size:var(--fs-11);background:var(--bg-3);color:var(--ink-2);border-radius:var(--r-pill);font-weight:var(--fw-medium);padding:1px 7px}.card-sub{color:var(--ink-3);font-size:var(--fs-12);margin-top:2px}.card-body{padding:var(--sp-3) var(--sp-4) var(--sp-4)}.card-body.tight{padding:0}.link-action{font-size:var(--fs-12);color:var(--ink-2);align-items:center;gap:2px;display:inline-flex}.link-action:hover{color:var(--ink-1)}.day-list{flex-direction:column;display:flex}.day-row{gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line);grid-template-columns:64px 1fr auto;align-items:center;display:grid}.day-row:last-child{border-bottom:0}.day-row:hover{background:var(--bg-2)}.day-time{font-family:var(--font-mono);font-size:var(--fs-13);font-weight:var(--fw-semibold);color:var(--ink-1);letter-spacing:-.01em}.day-time .sub{font-size:var(--fs-10);font-weight:var(--fw-regular);color:var(--ink-3);text-transform:uppercase;letter-spacing:var(--tracking-caps);margin-top:2px;display:block}.day-main{min-width:0}.day-main .title{font-size:var(--fs-13);font-weight:var(--fw-medium);margin-bottom:2px}.day-main .meta{font-size:var(--fs-11);color:var(--ink-3);gap:var(--sp-2);flex-wrap:wrap;align-items:center;display:flex}.day-main .meta .sep{color:var(--ink-4)}.day-end{align-items:center;gap:var(--sp-2);display:flex}.pipe-grid{padding:var(--sp-3) var(--sp-4) var(--sp-2);grid-template-columns:repeat(11,1fr);gap:4px;display:grid}.pipe-col{text-align:center;flex-direction:column;align-items:stretch;gap:4px;display:flex}.pipe-col .pipe-val{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--fs-18);font-weight:var(--fw-semibold);color:var(--ink-1);padding:6px 0 4px;line-height:1}.pipe-col .pipe-bar{background:var(--bg-3);border-radius:4px 4px 0 0;height:56px;position:relative;overflow:hidden}.pipe-col .pipe-bar>i{border-radius:3px 3px 0 0;position:absolute;bottom:0;left:0;right:0}.pipe-col .pipe-label{font-size:var(--fs-10);color:var(--ink-3);border-top:1px solid var(--line);padding-top:4px;line-height:1.2}.pipe-footer{padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--line);background:var(--bg-2);font-size:var(--fs-12);color:var(--ink-3);justify-content:space-between;align-items:center;display:flex}.pipe-footer .strong{color:var(--ink-1);font-weight:var(--fw-medium)}.tbl th{text-align:left;font-size:var(--fs-10);font-weight:var(--fw-medium);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--ink-3);padding:var(--sp-2) var(--sp-3);background:var(--bg-2);border-bottom:1px solid var(--line);white-space:nowrap}.tbl td{padding:var(--sp-3);border-bottom:1px solid var(--line);vertical-align:middle}.tbl tr:last-child td{border-bottom:0}.tbl tr:hover td{background:var(--bg-2)}.score{align-items:center;gap:6px;display:inline-flex}.score-ring{place-items:center;width:28px;height:28px;display:grid;position:relative}.score-ring svg{position:absolute;inset:0;transform:rotate(-90deg)}.score-ring .val{font-family:var(--font-mono);font-size:var(--fs-11);font-weight:var(--fw-semibold);position:relative}.thumb-stack{gap:var(--sp-2);align-items:center;display:flex}.thumb-stack .info .ln-1{font-size:var(--fs-12);font-weight:var(--fw-medium)}.thumb-stack .info .ln-2{font-size:var(--fs-11);color:var(--ink-3)}.notif-list{flex-direction:column;display:flex}.notif-row{gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line);grid-template-columns:32px 1fr auto;display:grid}.notif-row:last-child{border-bottom:0}.notif-row:hover{background:var(--bg-2)}.notif-row.unread{background:oklch(96% .025 245)}.notif-row.unread:hover{background:oklch(94% .03 245)}.notif-row .ico-bubble{background:var(--bg-3);border-radius:var(--r-md);width:28px;height:28px;color:var(--ink-2);place-items:center;display:grid}.notif-row .nb-info{background:var(--info-soft);color:var(--info-ink)}.notif-row .nb-ok{background:var(--ok-soft);color:var(--ok-ink)}.notif-row .nb-warn{background:var(--warn-soft);color:var(--warn-ink)}.notif-row .nb-accent{background:var(--accent-soft);color:var(--accent-ink)}.notif-row .body{font-size:var(--fs-12);line-height:var(--lh-snug)}.notif-row .body b{font-weight:var(--fw-semibold)}.notif-row .when{font-family:var(--font-mono);font-size:var(--fs-10);color:var(--ink-4);white-space:nowrap}.part-row{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line);gap:var(--sp-2);flex-direction:column;display:flex}.part-row:last-child{border-bottom:0}.part-row .head{justify-content:space-between;align-items:center;display:flex}.part-row .head .id{font-family:var(--font-mono);font-size:var(--fs-11);color:var(--ink-3)}.part-row .title{font-size:var(--fs-13);font-weight:var(--fw-medium)}.part-row .meta{align-items:center;gap:var(--sp-2);font-size:var(--fs-11);color:var(--ink-3);display:flex}.part-checklist{align-items:center;gap:var(--sp-2);font-family:var(--font-mono);font-size:var(--fs-11);display:flex}.part-progress{background:var(--bg-3);border-radius:var(--r-pill);flex:1;height:4px;overflow:hidden}.part-progress>i{height:100%;display:block}.part-foot{justify-content:space-between;align-items:center;display:flex}.team-row{gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line);grid-template-columns:22px 1fr auto;align-items:center;display:grid}.team-rank{font-family:var(--font-mono);font-size:var(--fs-12);color:var(--ink-4);text-align:center}.team-rank.gold{color:oklch(58% .16 80);font-weight:var(--fw-bold)}.team-rank.silver{color:oklch(64% .02 250);font-weight:var(--fw-bold)}.team-rank.bronze{color:oklch(55% .1 45);font-weight:var(--fw-bold)}.team-info{align-items:center;gap:var(--sp-2);min-width:0;display:flex}.team-info .name{font-size:var(--fs-13);font-weight:var(--fw-medium)}.team-info .role{font-size:var(--fs-10);color:var(--ink-3);text-transform:uppercase;letter-spacing:var(--tracking-caps)}.team-stats{align-items:center;gap:var(--sp-3);font-family:var(--font-mono);font-size:var(--fs-11);display:flex}.team-stats .stat .v{font-weight:var(--fw-semibold);color:var(--ink-1)}.team-stats .stat .l{color:var(--ink-4);font-size:var(--fs-10);display:block}.team-score{align-items:center;gap:var(--sp-2);display:flex}.team-score-bar{background:var(--bg-3);border-radius:var(--r-pill);width:50px;height:5px;overflow:hidden}.team-score-bar>i{background:var(--accent);height:100%;display:block}.team-score-val{font-family:var(--font-mono);font-size:var(--fs-12);font-weight:var(--fw-semibold)}.filter-row{gap:var(--sp-2);align-items:center;display:flex}.dash-meta-strip{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line);background:var(--bg-2);font-size:var(--fs-12);color:var(--ink-3);justify-content:space-between;align-items:center;display:flex}.divider-v{background:var(--line);width:1px;height:16px}.center-page{min-height:100vh;padding:var(--sp-6);background:var(--bg);justify-content:center;align-items:center;display:flex}.center-page .card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:var(--sp-6);width:100%;max-width:420px;box-shadow:var(--sh-1)}.center-page .card h1{margin:0 0 var(--sp-4) 0;font-size:var(--fs-20);font-weight:var(--fw-bold);letter-spacing:var(--tracking-tight)}.bell-wrap{position:relative}.bell-btn{border-radius:var(--r-md);width:34px;height:34px;color:var(--ink-2);cursor:pointer;transition:background var(--dur-fast), color var(--dur-fast);background:0 0;border:0;place-items:center;display:grid;position:relative}.bell-btn:hover{background:var(--bg-3);color:var(--ink-1)}.bell-badge{background:var(--risk);color:var(--ink-on-accent);font-size:9px;font-weight:var(--fw-bold);border-radius:var(--r-pill);text-align:center;border:1.5px solid var(--surface);min-width:16px;padding:1px 4px;line-height:1.1;position:absolute;top:1px;right:-1px}.notif-dropdown{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);width:360px;box-shadow:var(--sh-2);z-index:var(--z-dropdown);max-height:420px;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto}.notif-empty{padding:var(--sp-5);text-align:center;color:var(--ink-3);font-size:var(--fs-13)}.notif-item{padding:var(--sp-3);border-bottom:1px solid var(--line);cursor:pointer;gap:var(--sp-2);transition:background var(--dur-fast);display:flex}.notif-item:hover{background:var(--bg-2)}.notif-item.unread{background:var(--accent-soft)}.notif-item:last-child{border-bottom:0}.notif-icon{flex-shrink:0;font-size:16px;line-height:1.4}.notif-content{flex:1;min-width:0}.notif-title{font-weight:var(--fw-semibold);font-size:var(--fs-13);color:var(--ink-1)}.notif-body{font-size:var(--fs-12);color:var(--ink-3);line-height:var(--lh-default);margin-top:2px}.notif-time{font-size:var(--fs-11);color:var(--ink-4);margin-top:4px}.notif-footer{padding:var(--sp-2) var(--sp-3);border-top:1px solid var(--line);text-align:center;background:var(--bg-2)}.link-btn{color:var(--accent-ink);cursor:pointer;font-size:var(--fs-12);border-radius:var(--r-sm);font-weight:var(--fw-medium);background:0 0;border:0;padding:4px 8px}.link-btn:hover{background:var(--accent-soft)}.link-btn:disabled{opacity:.5;cursor:not-allowed;background:0 0}.modal-overlay{z-index:var(--z-modal);padding:var(--sp-6);background:#14100a73;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--surface);border-radius:var(--r-xl);width:100%;max-width:640px;max-height:calc(100vh - 48px);box-shadow:var(--sh-3);flex-direction:column;display:flex;position:relative;overflow:hidden}.modal-header{padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.modal-header h2,.modal-header h3{font-size:var(--fs-16);font-weight:var(--fw-semibold);color:var(--ink-1);margin:0}.modal-body{padding:var(--sp-4) var(--sp-5);overflow-y:auto}.modal-footer{justify-content:flex-end;gap:var(--sp-2);padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--line);background:var(--bg-2);display:flex}.modal-close{top:var(--sp-3);right:var(--sp-3);cursor:pointer;color:var(--ink-3);border-radius:var(--r-md);background:0 0;border:0;padding:4px 8px;font-size:22px;line-height:1;position:absolute}.modal-close:hover{background:var(--bg-3);color:var(--ink-1)}.modal-description{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-13);white-space:pre-wrap;word-break:break-word;color:var(--ink-2)}.hamburger{border-radius:var(--r-md);cursor:pointer;width:34px;height:34px;color:var(--ink-2);background:0 0;border:0;font-size:20px;line-height:1;display:none}.sidebar-backdrop{display:none}.modal-content label,.center-page label,.form-field label,form label{font-size:var(--fs-13);font-weight:var(--fw-medium);margin-bottom:var(--sp-1);color:var(--ink-2);display:block}.modal-content input,.modal-content select,.modal-content textarea,.center-page input,.center-page select,.center-page textarea,.form-field input,.form-field select,.form-field textarea,form>input,form>select,form>textarea,form>div>input,form>div>select,form>div>textarea,form>label+input,form>label+select,form>label+textarea{width:100%;padding:8px var(--sp-3);border:1px solid var(--line-2);border-radius:var(--r-md);font-size:var(--fs-14);margin-bottom:var(--sp-3);background:var(--surface);color:var(--ink-1);font-family:inherit;line-height:var(--lh-default);display:block}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:var(--sh-focus);outline:none}.error{color:var(--risk-ink);background:var(--risk-soft);border:1px solid var(--risk-line);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);font-size:var(--fs-13);margin-bottom:var(--sp-3)}button.secondary{height:34px;padding:0 var(--sp-3);background:var(--surface);color:var(--ink-1);border:1px solid var(--line-2);border-radius:var(--r-md);font-size:var(--fs-13);font-weight:var(--fw-medium);cursor:pointer}button.secondary:hover:not([disabled]){background:var(--bg-2)}button.secondary[disabled]{opacity:.55;cursor:not-allowed}.muted{color:var(--ink-3);font-size:var(--fs-13)}.table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--sh-1);overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:var(--fs-13)}.data-table th,.data-table td{text-align:left;padding:11px var(--sp-3);border-bottom:1px solid var(--line);white-space:nowrap;vertical-align:middle}.data-table thead th{background:var(--bg-2);font-weight:var(--fw-semibold);color:var(--ink-3);font-size:var(--fs-11);text-transform:uppercase;letter-spacing:var(--tracking-caps);border-bottom:1px solid var(--line)}.data-table tbody tr:hover{background:var(--bg-2)}.data-table tbody tr:last-child td{border-bottom:0}.data-table a{color:var(--accent-ink);text-decoration:none}.data-table a:hover{text-decoration:underline}.cell-truncate{text-overflow:ellipsis;max-width:220px;overflow:hidden}.cell-num{text-align:right;font-variant-numeric:tabular-nums}.pagination{justify-content:center;align-items:center;gap:var(--sp-4);margin-top:var(--sp-4);font-size:var(--fs-13);color:var(--ink-3);display:flex}.badge{border-radius:var(--r-pill);font-size:var(--fs-12);font-weight:var(--fw-semibold);white-space:nowrap;padding:2px 9px;line-height:1.4;display:inline-block}.badge-green{background:var(--ok-soft);color:var(--ok-ink)}.badge-blue{background:var(--info-soft);color:var(--info-ink)}.badge-orange{background:var(--warn-soft);color:var(--warn-ink)}.badge-red{background:var(--risk-soft);color:var(--risk-ink)}.badge-gray{background:var(--bg-3);color:var(--ink-2)}.role-pill{border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent-ink);font-size:var(--fs-11);text-transform:uppercase;letter-spacing:var(--tracking-caps);font-weight:var(--fw-semibold);margin-left:6px;padding:2px 8px;display:inline-block}.empty-state{text-align:center;padding:var(--sp-10) var(--sp-4);color:var(--ink-3);background:var(--surface);border:1px dashed var(--line);border-radius:var(--r-xl)}.empty-icon{margin-bottom:var(--sp-3);opacity:.7;font-size:40px}.empty-title{font-size:var(--fs-16);font-weight:var(--fw-semibold);color:var(--ink-2);margin-bottom:6px}.empty-body{font-size:var(--fs-14);max-width:420px;margin:0 auto var(--sp-4);line-height:var(--lh-default)}.empty-action{background:var(--ink-1);color:var(--surface);padding:8px var(--sp-4);border-radius:var(--r-md);cursor:pointer;font-size:var(--fs-13);font-weight:var(--fw-medium);border:0}.empty-action:hover{background:oklch(28% .012 250)}.empty-state-compact{padding:var(--sp-3) var(--sp-2);background:0 0;border:0}.skeleton{background:linear-gradient(90deg, var(--line) 0%, var(--bg-3) 50%, var(--line) 100%);border-radius:var(--r-sm);background-size:200% 100%;height:12px;animation:1.4s ease-in-out infinite skeleton-shimmer;display:inline-block}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-table{gap:var(--sp-2);padding:var(--sp-3);flex-direction:column;display:flex}.skeleton-row{gap:var(--sp-3);align-items:center;padding:6px 0;display:flex}.skeleton-row .skeleton:first-child{flex:0 0 18%;height:14px}.skeleton-row .skeleton:nth-child(2){flex:0 0 32%;height:14px}.skeleton-row .skeleton:nth-child(3){flex:0 0 18%;height:14px}.skeleton-row .skeleton:nth-child(4){flex:1;height:14px}.skeleton-card{padding:var(--sp-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);margin-bottom:var(--sp-2)}.page-header{align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-5);flex-wrap:wrap;display:flex}.page-header h1{font-size:var(--fs-22);font-weight:var(--fw-bold);letter-spacing:var(--tracking-tight);margin:0}.page-header .muted{font-size:var(--fs-14)}.page-header-actions{gap:var(--sp-2);flex-wrap:wrap;margin-left:auto;display:flex}.filters-row{gap:var(--sp-2);margin-bottom:var(--sp-4);flex-wrap:wrap;align-items:center;display:flex}.filter-input,.filter-select{padding:7px var(--sp-3);border:1px solid var(--line-2);border-radius:var(--r-md);font-size:var(--fs-14);background:var(--surface);width:auto;min-width:200px;margin-bottom:0}.filter-input:focus,.filter-select:focus{border-color:var(--accent);box-shadow:var(--sh-focus);outline:none}.filter-select{min-width:160px}.error-boundary{max-width:520px;margin:var(--sp-10) auto;padding:var(--sp-8);text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--sh-1)}.error-boundary h2{color:var(--risk-ink);margin:0 0 var(--sp-2) 0;font-size:var(--fs-20)}.error-boundary p{color:var(--ink-3);margin:0 0 var(--sp-4) 0;font-size:var(--fs-14)}.error-boundary button{margin-top:var(--sp-3);background:var(--ink-1);border:1px solid var(--ink-1);color:var(--surface);padding:8px var(--sp-5);border-radius:var(--r-md);cursor:pointer}.user-pill-text{flex-direction:column;line-height:1;display:flex}.user-pill{cursor:pointer}.user-pill:hover{background:var(--bg-3)}@media (width<=768px){.hamburger{justify-content:center;align-items:center;display:inline-flex}.topbar{padding:0 var(--sp-2);gap:var(--sp-2);height:auto;min-height:var(--topbar-h);flex-wrap:wrap;position:sticky}.brand small,.topbar-actions .user-pill-text,.topbar-actions .divider-v{display:none}.global-search{max-width:none;margin:0 0 var(--sp-2) 0;flex-basis:100%;order:99}.global-search kbd{display:none}.sidebar{height:100vh;transition:transform var(--dur-default);z-index:var(--z-overlay);box-shadow:var(--sh-3);top:0;transform:translate(-100%)}.app-shell[data-mobile-nav=open] .sidebar{transform:translate(0)}.sidebar-backdrop{z-index:calc(var(--z-overlay) - 1);opacity:0;pointer-events:none;transition:opacity var(--dur-default);background:#14100a66;display:block;position:fixed;inset:0}.app-shell[data-mobile-nav=open] .sidebar-backdrop{opacity:1;pointer-events:auto}.content{padding:var(--sp-4) var(--sp-3);margin-top:0;margin-left:0}.data-table{font-size:var(--fs-12)}.data-table th,.data-table td{padding:8px var(--sp-2)}}.topbar-actions{align-items:center;gap:var(--sp-1);display:flex}.filterbar-row+.filterbar-row{border-top:1px solid var(--line)}.fb-chip{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);height:30px;font-size:var(--fs-12);color:var(--ink-2);cursor:pointer;font-weight:var(--fw-medium);white-space:nowrap;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.bulkbar .bba.danger{color:oklch(80% .12 27);border-color:#ffffff2e}.tbl thead th .sort-ico{vertical-align:-1px;color:var(--ink-4);margin-left:3px;display:inline-block}.tbl thead th.sort.asc .sort-ico,.tbl thead th.sort.desc .sort-ico{color:var(--ink-1)}.tbl td.num,.tbl th.num{text-align:right;font-variant-numeric:tabular-nums}.thumb .photo-count{color:#fff;font-family:var(--font-mono);background:#14100a99;border-radius:2px;padding:0 3px;font-size:9px;line-height:1.3;position:absolute;bottom:2px;right:2px}.thumb-stack{gap:var(--sp-3);align-items:center;min-width:0;display:flex}.thumb-stack .info{min-width:0}.thumb-stack .info .ln-1{font-size:var(--fs-13);font-weight:var(--fw-medium);color:var(--ink-1);align-items:center;gap:6px;margin-bottom:1px;display:flex}.thumb-stack .info .ln-1 .title-text{white-space:nowrap;text-overflow:ellipsis;max-width:240px;overflow:hidden}.thumb-stack .info .ln-2{font-size:var(--fs-11);color:var(--ink-3);align-items:center;gap:6px;display:flex}.thumb-stack .info .ln-2 .sep{color:var(--ink-4)}.thumb-stack .info .ln-2 .badge-mini{border-radius:50%;width:6px;height:6px;display:inline-block}.thumb-stack .info .ln-2 .badge-mini.libero{background:var(--ok)}.thumb-stack .info .ln-2 .badge-mini.occupato{background:var(--warn)}.thumb-stack .info .ln-2 .badge-mini.esecutato{background:var(--risk)}.price{font-family:var(--font-mono);font-weight:var(--fw-semibold);color:var(--ink-1);font-variant-numeric:tabular-nums}.price .ribasso{font-family:var(--font-mono);font-weight:var(--fw-regular);font-size:var(--fs-10);color:var(--ink-3);margin-top:1px;display:block}.price .ribasso.down{color:var(--risk-ink)}.aucdate{font-family:var(--font-mono);font-size:var(--fs-12);font-variant-numeric:tabular-nums;color:var(--ink-1);white-space:nowrap}.aucdate .when{font-size:var(--fs-10);color:var(--ink-3);font-family:var(--font-sans);margin-top:1px;display:block}.aucdate.soon .when{color:var(--risk-ink);font-weight:var(--fw-medium)}.aucdate.upcoming .when{color:var(--warn-ink);font-weight:var(--fw-medium)}.match-cell .pill{border-radius:var(--r-pill);background:var(--bg-3);color:var(--ink-2);font-size:var(--fs-11);align-items:center;gap:4px;padding:1px 6px;display:inline-flex}.match-cell .pill.hi .dot{background:var(--ok)}.match-cell .pill.zero{color:var(--ink-4)}.match-cell .pill.zero .dot{background:var(--ink-4)}.scd-flags{align-items:center;gap:3px;display:inline-flex}.flag{border-radius:var(--r-sm);background:var(--bg-3);width:18px;height:18px;color:var(--ink-3);font-family:var(--font-mono);font-size:9px;font-weight:var(--fw-semibold);letter-spacing:-.02em;place-items:center;display:inline-grid}.flag.on{background:var(--ok-soft);color:var(--ok-ink)}.flag.warn{background:var(--warn-soft);color:var(--warn-ink)}.flag.off{background:var(--bg-3);color:var(--ink-4)}.between{justify-content:space-between}.bulkbar .deselect:hover{color:var(--surface)}.prio{border-radius:var(--r-sm);height:22px;font-size:10.5px;font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.05em;font-family:var(--font-sans);border:1px solid #0000;align-items:center;gap:5px;padding:0 8px;display:inline-flex}.prio.ni{background:var(--surface);color:var(--ink-4);border-color:var(--line)}.rating{border-radius:var(--r-sm);width:24px;height:24px;font-family:var(--font-mono);font-size:var(--fs-13);font-weight:var(--fw-bold);letter-spacing:-.02em;border:1.5px solid #0000;place-items:center;display:inline-grid}.rating.a{background:var(--ok-soft);color:var(--ok-ink);border-color:var(--ok-line)}.rating.b{background:var(--warn-soft);color:var(--warn-ink);border-color:var(--warn-line)}.rating.c{background:var(--risk-soft);color:var(--risk-ink);border-color:var(--risk-line)}.rating.empty{color:var(--ink-4);border-color:var(--line-2);font-weight:var(--fw-regular);font-size:var(--fs-11);background:0 0;border-style:dashed}.tag.tipo-comm{color:var(--accent-ink);background:oklch(94% .035 60)}.tag.tipo-seconda{color:var(--ok-ink);background:oklch(94% .035 130)}.tag.empty{background:var(--bg-2);color:var(--ink-4);border:1px dashed var(--line-2)}.tbl thead th{text-align:left;font-size:var(--fs-10);font-weight:var(--fw-medium);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--ink-3);padding:10px var(--sp-3);background:var(--bg-2);border-bottom:1px solid var(--line);white-space:nowrap;position:sticky;top:0}.tbl thead th.sort{cursor:pointer}.tbl thead th.sort:hover{color:var(--ink-1)}.tbl thead th .sort-ico{color:var(--ink-4);margin-left:3px;display:inline-block}.tbl thead th.sort.desc .sort-ico{color:var(--ink-1)}.tbl tbody td{padding:10px var(--sp-3);border-bottom:1px solid var(--line);vertical-align:middle}.tbl tbody tr:hover td{background:var(--bg-2)}.tbl td.mono{font-family:var(--font-mono);font-feature-settings:"tnum"}.tbl .actions-col{width:56px}.cli-cell{align-items:center;gap:var(--sp-2);min-width:0;display:flex}.cli-cell .info{min-width:0}.cli-cell .nm{font-size:var(--fs-13);font-weight:var(--fw-semibold);color:var(--ink-1);letter-spacing:-.005em;white-space:nowrap;text-overflow:ellipsis;max-width:180px;overflow:hidden}.cli-cell .em{font-size:var(--fs-11);color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;max-width:180px;overflow:hidden}.contact-cell{flex-direction:column;gap:4px;display:flex}.contact-cell .tel{font-family:var(--font-mono);font-size:var(--fs-11);color:var(--ink-2);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.contact-cell .links{gap:4px;display:flex}.contact-cell .links a{border-radius:var(--r-sm);width:20px;height:20px;color:var(--ink-3);background:var(--bg-2);place-items:center;display:grid}.contact-cell .links a:hover{background:var(--bg-3);color:var(--ink-1)}.contact-cell .links a.wa{color:oklch(50% .15 150);background:oklch(96% .03 150)}.contact-cell .links a.wa:hover{background:oklch(92% .04 150)}.budget{font-family:var(--font-mono);font-size:var(--fs-12);color:var(--ink-1);font-variant-numeric:tabular-nums;flex-direction:column;gap:4px;display:flex}.budget .range{font-weight:var(--fw-semibold);letter-spacing:-.01em;white-space:nowrap}.budget .bar{background:var(--bg-3);border-radius:var(--r-pill);width:100px;height:3px;position:relative;overflow:hidden}.budget .bar>i{background:var(--accent);border-radius:var(--r-pill);position:absolute;top:0;bottom:0}.budget.empty .range{color:var(--ink-4);font-style:italic;font-weight:var(--fw-regular);font-family:var(--font-sans);font-size:var(--fs-11)}.budget.empty .bar{display:none}.zones{font-size:var(--fs-11);color:var(--ink-2);align-items:center;gap:4px;display:inline-flex}.zones .head{font-weight:var(--fw-medium);color:var(--ink-1)}.zones .more{font-family:var(--font-mono);background:var(--bg-3);color:var(--ink-3);border-radius:var(--r-sm);cursor:help;padding:1px 5px;font-size:10px}.zones .more:hover{background:var(--bg-3);color:var(--ink-1)}.zones.empty{color:var(--ink-4);font-style:italic}.tipo-cell{flex-direction:column;align-items:flex-start;gap:2px;display:inline-flex}.match-cell{font-family:var(--font-mono);font-size:var(--fs-12);font-variant-numeric:tabular-nums;align-items:center;gap:4px;display:inline-flex}.match-cell .pill{border-radius:var(--r-pill);background:var(--bg-3);color:var(--ink-2);font-size:var(--fs-11);font-weight:var(--fw-medium);align-items:center;gap:4px;padding:2px 7px;display:inline-flex}.match-cell .pill .dot{background:var(--ok);border-radius:50%;width:5px;height:5px}.match-cell .pill.hi{background:var(--ok-soft);color:var(--ok-ink)}.match-cell .empty{color:var(--ink-4)}.assignee{font-size:var(--fs-12);color:var(--ink-2);align-items:center;gap:6px;display:inline-flex}.assignee.unassigned{color:var(--ink-4)}.assignee.unassigned .avatar{border:1px dashed var(--line-2);color:var(--ink-4);background:0 0}.last-cell{font-family:var(--font-mono);font-size:var(--fs-11);font-variant-numeric:tabular-nums;color:var(--ink-2);letter-spacing:-.01em;flex-direction:column;display:flex}.last-cell .rel{font-family:var(--font-sans);font-size:var(--fs-10);color:var(--ink-3);text-transform:uppercase;letter-spacing:var(--tracking-caps);font-weight:var(--fw-medium);margin-top:2px}.last-cell .rel.today{color:var(--ok-ink)}.last-cell .rel.recent{color:var(--ink-2)}.last-cell .rel.stale{color:var(--warn-ink)}.last-cell .rel.cold{color:var(--risk-ink)}.tag.code{background:var(--bg-2);color:var(--ink-2);border:1px solid var(--line);font-family:var(--font-mono);font-size:var(--fs-11);height:22px;padding:0 7px}.pagination .pgleft{gap:var(--sp-3);align-items:center;display:flex}.pagination select{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);height:26px;font-size:var(--fs-12);padding:0 6px}.pgnav button.disabled{color:var(--ink-4);cursor:not-allowed}.hero{gap:var(--sp-6);padding:var(--sp-5) var(--sp-6);background:var(--surface);border-bottom:1px solid var(--line);grid-template-columns:540px 1fr;display:grid}.gallery{border-radius:var(--r-lg);grid-template-rows:140px 140px;grid-template-columns:repeat(4,1fr);gap:4px;display:grid;overflow:hidden}.gallery .img{background:repeating-linear-gradient(45deg,oklch(90% .008 250),oklch(90% .008 250) 8px,oklch(93% .006 250) 8px 16px);position:relative}.gallery .img.big{grid-area:1/1/3/3}.gallery .img .corner-tag{color:#fff;border-radius:var(--r-sm);font-family:var(--font-mono);font-size:var(--fs-10);font-weight:var(--fw-medium);background:#14100aa6;padding:2px 6px;position:absolute;top:6px;left:6px}.gallery .img.more{background:var(--ink-1);color:#fff;font-family:var(--font-mono);font-size:var(--fs-13);font-weight:var(--fw-semibold);cursor:pointer;place-items:center;display:grid;position:relative}.gallery .img.more:before{content:"+10";display:block}.gallery .img.more span{font-size:var(--fs-10);font-weight:var(--fw-regular);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:oklch(78% .008 250);display:block;position:absolute;bottom:8px}.hero-sum{gap:var(--sp-3);flex-direction:column;min-width:0;display:flex}.title-row{align-items:flex-start;gap:var(--sp-3);flex-wrap:wrap;display:flex}.lot-code{font-family:var(--font-mono);font-size:var(--fs-12);background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--ink-2);letter-spacing:.02em;align-items:center;gap:6px;height:26px;padding:2px 8px;display:inline-flex}.lot-code .icon-copy{color:var(--ink-4)}.lot-title{font-size:var(--fs-26);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-tight);color:var(--ink-1);flex:1;min-width:0;margin:0;line-height:1.15}.lot-sub{align-items:center;gap:var(--sp-2);font-size:var(--fs-13);color:var(--ink-2);flex-wrap:wrap;display:flex}.lot-sub .sep{color:var(--ink-4)}.lot-sub .icon{color:var(--ink-3);margin-right:3px}.fact-strip{background:var(--line);border:1px solid var(--line);border-radius:var(--r-md);margin-top:var(--sp-2);grid-template-columns:repeat(6,1fr);gap:1px;display:grid;overflow:hidden}.fact{background:var(--surface);padding:10px var(--sp-3);flex-direction:column;gap:2px;min-width:0;display:flex}.fact .lbl{text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--ink-3);font-size:9.5px;font-weight:var(--fw-medium)}.fact .val{font-size:var(--fs-15);font-weight:var(--fw-semibold);color:var(--ink-1);font-variant-numeric:tabular-nums;font-family:var(--font-mono);letter-spacing:-.01em}.fact .val.sm{font-size:var(--fs-13);font-family:var(--font-sans);font-weight:var(--fw-medium);letter-spacing:0}.fact .val .u{font-size:var(--fs-11);color:var(--ink-3);font-weight:var(--fw-regular)}.hero-actions{align-items:center;gap:var(--sp-2);margin-top:var(--sp-2);display:flex}.hero-actions .stage-line{align-items:center;gap:var(--sp-2);margin-right:auto;display:flex}.hero-actions .stage-line .lbl{font-size:var(--fs-11);color:var(--ink-3);text-transform:uppercase;letter-spacing:var(--tracking-caps)}.anchor-nav a:hover,.anchor-nav a.on{color:var(--ink-1)}.kv-grid.cols-3{grid-template-columns:1fr 1fr 1fr}.kv:last-child,.kv.no-line{border-bottom:0}.kv .v .sec{font-size:var(--fs-11);color:var(--ink-3);font-variant-numeric:tabular-nums;margin-top:2px;display:block}.kv .v a.link{color:var(--info-ink);text-decoration:underline;-webkit-text-decoration-color:var(--info-line);text-decoration-color:var(--info-line);text-underline-offset:2px}.stage{border-radius:var(--r-sm);height:24px;font-size:var(--fs-12);font-weight:var(--fw-medium);background:var(--bg-3);color:var(--ink-2);border-left:3px solid var(--ink-4);align-items:center;gap:5px;padding:0 10px 0 8px;display:inline-flex}.stage.bacheca{border-left-color:var(--pipe-bacheca)}.stage.scd-richiesta{border-left-color:var(--pipe-scd-richiesta);color:oklch(36% .11 250);background:oklch(96% .025 250)}.stage.scd-pronta{border-left-color:var(--pipe-scd-pronta);color:oklch(36% .11 285);background:oklch(96% .025 285)}.stage.scd-fissate{border-left-color:var(--pipe-scd-fissate);color:oklch(36% .11 320);background:oklch(96% .025 320)}.stage.attesa-esito{border-left-color:var(--pipe-attesa-esito);color:oklch(40% .12 50);background:oklch(96% .03 50)}.stage.esito-pos{border-left-color:var(--pipe-esito-pos);color:oklch(36% .11 130);background:oklch(96% .03 130)}.stage.domanda-asta{border-left-color:var(--pipe-domanda-asta);color:oklch(40% .13 35);background:oklch(96% .03 35)}.stage.data-vendita{border-left-color:var(--pipe-data-vendita);color:oklch(42% .14 25);background:oklch(96% .03 25)}.stage.esito-neg{border-left-color:var(--pipe-esito-neg);color:oklch(42% .12 15);background:oklch(96% .025 15)}.stage.non-aggiudicata{border-left-color:var(--pipe-non-aggiudicata);color:oklch(40% .1 25);background:oklch(96% .02 25)}.stage.aggiudicata{border-left-color:var(--pipe-aggiudicata);background:var(--ok-soft);color:var(--ok-ink)}.stage.lg{height:28px;font-size:var(--fs-13);padding:0 12px 0 10px}.countdown{background:var(--ink-1);color:var(--surface);border-radius:var(--r-lg);padding:var(--sp-4);gap:var(--sp-3);flex-direction:column;display:flex;position:relative;overflow:hidden}.countdown:before{content:"";background:var(--accent);opacity:.25;border-radius:50%;width:120px;height:120px;position:absolute;top:-40px;right:-40px}.countdown .lbl{font-size:var(--fs-10);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:oklch(78% .008 250);font-weight:var(--fw-medium);align-items:center;gap:6px;display:flex}.countdown .lbl .pulse{background:var(--accent);border-radius:50%;width:6px;height:6px}.countdown .when{font-family:var(--font-mono);font-size:var(--fs-22);font-weight:var(--fw-semibold);letter-spacing:-.01em;line-height:1}.countdown .when .day{font-size:var(--fs-11);font-weight:var(--fw-regular);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:oklch(78% .008 250);margin-top:6px;display:block}.countdown .digits{padding-top:var(--sp-2);border-top:1px solid #ffffff1a;grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.countdown .digit{font-family:var(--font-mono);flex-direction:column;align-items:center;display:flex}.countdown .digit .n{font-size:var(--fs-18);font-weight:var(--fw-semibold);line-height:1}.countdown .digit .u{text-transform:uppercase;letter-spacing:var(--tracking-caps);color:oklch(78% .008 250);margin-top:4px;font-size:9px}.countdown .cta-row{gap:var(--sp-2);margin-top:var(--sp-2);display:flex}.countdown .cta-row .btn{flex:1;justify-content:center}.countdown .cta-row .btn.primary{background:var(--accent);border-color:var(--accent)}.countdown .cta-row .btn.primary:hover{background:var(--accent-hover)}.countdown .cta-row .btn.ghost{color:#fff;background:#ffffff14;border-color:#ffffff26}.countdown .cta-row .btn.ghost:hover{background:#ffffff29}.assignee-block .avatar{width:38px;height:38px;font-size:var(--fs-13)}.tl-row.warn .node{background:var(--warn);border-color:var(--warn)}.tl-row.now .node{background:var(--accent);border-color:var(--accent);animation:2s infinite tlpulse}.tl-row.future .node{background:var(--surface);border-color:var(--ink-4);border-style:dashed}.tl-row.future .body{opacity:.55}@keyframes tlpulse{0%{box-shadow:0 0 oklch(58% .15 52/.5)}70%{box-shadow:0 0 0 8px oklch(58% .15 52/0)}to{box-shadow:0 0 oklch(58% .15 52/0)}}.tl-row .body .head-ln{font-size:var(--fs-12);font-weight:var(--fw-medium);color:var(--ink-1);align-items:center;gap:6px;display:flex}.tl-row .body .desc .who{color:var(--ink-3);font-size:var(--fs-11);margin-left:4px;display:inline-block}.sopr-row .when-block.past .day-num,.sopr-row .when-block.past .mo,.sopr-row .when-block.past .hr{color:var(--ink-3)}.sopr-row .main .ttl{font-size:var(--fs-13);font-weight:var(--fw-medium);color:var(--ink-1);margin-bottom:4px}.sopr-row .end{align-items:flex-end;gap:var(--sp-2);flex-direction:column;display:flex}.match-row .avatar{width:32px;height:32px;font-size:var(--fs-12)}.match-row .body .top .code{font-family:var(--font-mono);font-size:var(--fs-10);color:var(--ink-3);background:var(--bg-2);border-radius:var(--r-sm);padding:1px 5px}.match-row .body .reasons .r{font-size:var(--fs-10);background:var(--bg-2);border-radius:var(--r-sm);color:var(--ink-2);border:1px solid var(--line);align-items:center;gap:4px;padding:2px 6px;display:inline-flex}.match-row .stage-mini{font-size:var(--fs-10);color:var(--ink-3);text-transform:uppercase;letter-spacing:var(--tracking-caps);font-weight:var(--fw-medium)}.part-card{gap:var(--sp-4);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line);grid-template-columns:110px 1fr 200px;align-items:center;display:grid}.part-card:last-child{border-bottom:0}.part-card .pcode .status{border-radius:var(--r-sm);height:22px;font-size:var(--fs-11);font-weight:var(--fw-medium);border-left:3px solid var(--ink-4);background:var(--bg-3);width:fit-content;color:var(--ink-2);align-items:center;gap:5px;padding:0 8px;display:inline-flex}.part-card .pcode .status.preparare{border-left-color:var(--ink-3);background:var(--bg-3);color:var(--ink-2)}.part-card .pcode .status.attesa{border-left-color:var(--pipe-data-vendita);color:oklch(42% .14 25);background:oklch(96% .03 25)}.part-card .pcode .status.aggiudicata{border-left-color:var(--pipe-aggiudicata);background:var(--ok-soft);color:var(--ok-ink)}.part-card .pcode .status.persa{border-left-color:var(--pipe-esito-neg);background:var(--risk-soft);color:var(--risk-ink)}.part-card .pmain .top{align-items:center;gap:var(--sp-2);font-size:var(--fs-13);color:var(--ink-1);display:flex}.part-card .pmain .top .avatar{width:24px;height:24px;font-size:10px}.part-card .pmain .top .cname{font-weight:var(--fw-semibold)}.part-card .pmain .top .ccode{font-family:var(--font-mono);font-size:var(--fs-10);color:var(--ink-3);background:var(--bg-2);border-radius:var(--r-sm);padding:1px 5px}.part-card .pmain .numbers .v .delta{font-size:var(--fs-10);color:var(--ok-ink);font-weight:var(--fw-regular);margin-left:4px}.empty-inline{align-items:center;gap:var(--sp-2);padding:var(--sp-6) var(--sp-4);text-align:center;flex-direction:column;display:flex}.empty-inline .ill{background:var(--bg-2);border:1px dashed var(--line-2);width:56px;height:56px;color:var(--ink-4);border-radius:50%;place-items:center;margin-bottom:2px;display:grid}.empty-inline .ttl{font-size:var(--fs-13);font-weight:var(--fw-medium);color:var(--ink-1)}.empty-inline .sub{font-size:var(--fs-12);color:var(--ink-3);max-width:320px;line-height:var(--lh-snug)}.empty-inline .cta{margin-top:var(--sp-2)}.tentativi{margin-top:var(--sp-2);padding:var(--sp-3) 0 0;border-top:1px solid var(--line);align-items:center;gap:0;display:flex}.tentativi .step{text-align:center;min-width:0;padding:0 var(--sp-2);flex:1;position:relative}.tentativi .step:before{content:"";background:var(--line);height:1px;position:absolute;top:11px;left:-50%;right:50%}.tentativi .step:first-child:before{display:none}.tentativi .step .node{background:var(--bg-3);border:1px solid var(--line);width:22px;height:22px;font-family:var(--font-mono);font-size:var(--fs-10);font-weight:var(--fw-semibold);color:var(--ink-3);z-index:1;border-radius:50%;place-items:center;margin:0 auto;display:grid;position:relative}.tentativi .step.done .node{background:var(--risk-soft);border-color:var(--risk-line);color:var(--risk-ink)}.tentativi .step.now .node{background:var(--accent);border-color:var(--accent);color:#fff}.tentativi .step.future .node{border-style:dashed}.tentativi .step .lbl-line{font-size:var(--fs-10);color:var(--ink-3);font-family:var(--font-mono);font-variant-numeric:tabular-nums;margin-top:5px}.tentativi .step .lbl-line .base{font-family:var(--font-sans);color:var(--ink-2);font-weight:var(--fw-medium);margin-top:1px;display:block}.tentativi .step.now .lbl-line .base{color:var(--accent-ink);font-weight:var(--fw-semibold)}.doc-icon.zip{color:var(--accent-ink)}.doc-row .pdf-flag.parsed{background:var(--ok-soft);color:var(--ok-ink)}.doc-row .pdf-flag.queue{background:var(--warn-soft);color:var(--warn-ink)}.scd-checklist{gap:var(--sp-3);padding:var(--sp-4);background:var(--bg-2);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.scd-block{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-3);flex-direction:column;gap:6px;display:flex}.scd-block .hd{align-items:center;gap:6px;display:flex}.scd-block .hd .lt{font-size:var(--fs-11);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--ink-3);font-weight:var(--fw-medium);flex:1}.scd-block .hd .ck{border-radius:var(--r-sm);width:18px;height:18px;font-family:var(--font-mono);font-size:10px;font-weight:var(--fw-bold);place-items:center;display:grid}.scd-block.ok .hd .ck{background:var(--ok);color:#fff}.scd-block.warn .hd .ck{background:var(--warn);color:#fff}.scd-block.off .hd .ck{background:var(--bg-3);color:var(--ink-4)}.scd-block .ttl{font-size:var(--fs-13);font-weight:var(--fw-semibold);color:var(--ink-1)}.scd-block .sub{font-size:var(--fs-11);color:var(--ink-3);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.scd-block.ok{border-color:var(--ok-line)}.scd-block.warn{border-color:var(--warn-line);background:var(--warn-soft)}.map-frame{background:linear-gradient(135deg,oklch(96% .012 130) 0%,oklch(94% .015 130) 100%);border-radius:0;width:100%;height:320px;position:relative;overflow:hidden}.map-frame .grid{opacity:.6;background-image:linear-gradient(oklch(88% .012 130) 1px,#0000 1px),linear-gradient(90deg,oklch(88% .012 130) 1px,#0000 1px);background-size:40px 40px;position:absolute;inset:0}.map-frame .road-h{background:var(--surface);border-top:1px solid oklch(82% .01 250);border-bottom:1px solid oklch(82% .01 250);height:12px;position:absolute;left:0;right:0}.map-frame .road-h.r1{top:38%}.map-frame .road-h.r2{transform-origin:0;top:70%;transform:rotate(-3deg)}.map-frame .road-v{background:var(--surface);border-left:1px solid oklch(82% .01 250);border-right:1px solid oklch(82% .01 250);width:10px;position:absolute;top:0;bottom:0}.map-frame .road-v.v1{left:32%}.map-frame .road-v.v2{left:64%}.map-frame .park{opacity:.85;background:oklch(90% .06 140);border-radius:6px;width:24%;height:26%;position:absolute;top:8%;left:70%}.map-frame .park.p2{background:oklch(90% .04 130);width:18%;height:18%;top:75%;left:6%}.map-frame .water{opacity:.8;background:oklch(88% .04 220);border-radius:50% 60% 0 0;height:32%;position:absolute;bottom:-10%;left:-8%;right:50%;transform:rotate(-4deg)}.map-pin{z-index:3;position:absolute;top:44%;left:48%;transform:translate(-50%,-100%)}.map-pin .pin-dot{background:var(--accent);width:26px;height:26px;box-shadow:var(--sh-2);font-family:var(--font-mono);font-size:var(--fs-10);color:#fff;font-weight:var(--fw-bold);border:3px solid #fff;border-radius:50%;place-items:center;display:grid}.map-pin .pin-tip{background:var(--accent);clip-path:polygon(50% 100%,0 0,100% 0);width:12px;height:12px;margin:-4px auto 0}.map-pin .pulse-ring{border:2px solid var(--accent);opacity:.45;border-radius:50%;animation:2.2s ease-out infinite pinpulse;position:absolute;inset:-8px}@keyframes pinpulse{0%{opacity:.7;transform:scale(.6)}to{opacity:0;transform:scale(1.5)}}.map-frame .poi{background:var(--surface);border:1.5px solid var(--ink-2);width:22px;height:22px;font-family:var(--font-mono);color:var(--ink-1);font-size:9px;font-weight:var(--fw-semibold);border-radius:50%;place-items:center;display:grid;position:absolute}.map-frame .poi.metro{background:var(--info-soft);border-color:var(--info-ink);color:var(--info-ink)}.map-frame .poi.school{background:var(--warn-soft);border-color:var(--warn-ink);color:var(--warn-ink)}.map-frame .poi.shop{background:var(--bg-2)}.map-overlay-top{border:1px solid var(--line);border-radius:var(--r-md);font-size:var(--fs-11);color:var(--ink-2);box-shadow:var(--sh-1);z-index:4;background:#fffffff2;align-items:center;gap:6px;padding:8px 10px;display:flex;position:absolute;top:12px;left:12px}.map-overlay-top .addr{font-family:var(--font-mono);color:var(--ink-1);font-weight:var(--fw-medium)}.map-overlay-bot{border:1px solid var(--line);border-radius:var(--r-md);font-size:var(--fs-11);box-shadow:var(--sh-1);z-index:4;background:#fffffff2;flex-direction:column;gap:4px;padding:8px;display:flex;position:absolute;bottom:12px;right:12px}.map-overlay-bot .ln{color:var(--ink-2);align-items:center;gap:6px;display:flex}.map-overlay-bot .ln .ic{width:14px;height:14px;font-family:var(--font-mono);font-size:8px;font-weight:var(--fw-bold);border-radius:3px;place-items:center;display:grid}.map-overlay-bot .ln .ic.m{background:var(--info-soft);color:var(--info-ink)}.map-overlay-bot .ln .ic.s{background:var(--warn-soft);color:var(--warn-ink)}.map-overlay-bot .ln .ic.sh{background:var(--bg-3);color:var(--ink-2)}.map-overlay-bot .ln .dt{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--ink-1);font-weight:var(--fw-medium);margin-left:auto}.map-zoom{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--sh-1);z-index:4;flex-direction:column;display:flex;position:absolute;top:12px;right:12px;overflow:hidden}.map-zoom button{width:28px;height:28px;color:var(--ink-2);font-size:var(--fs-15);font-weight:var(--fw-medium);place-items:center;display:grid}.map-zoom button+button{border-top:1px solid var(--line)}.map-zoom button:hover{background:var(--bg-2);color:var(--ink-1)}.row.gap-1{gap:var(--sp-1)}.crumb-row{padding:var(--sp-3) var(--sp-6);border-bottom:1px solid var(--line);background:var(--surface);justify-content:space-between;align-items:center;display:flex}.breadcrumb{font-size:var(--fs-12);color:var(--ink-3);align-items:center;gap:6px;display:flex}.breadcrumb a{color:var(--ink-3)}.breadcrumb a:hover{color:var(--ink-1)}.breadcrumb .sep{color:var(--ink-4)}.breadcrumb .here{color:var(--ink-1);font-weight:var(--fw-medium)}.crumb-row .lot-pager{align-items:center;gap:var(--sp-2);font-size:var(--fs-11);color:var(--ink-3);display:flex}.crumb-row .lot-pager .ix{font-family:var(--font-mono);color:var(--ink-1);font-weight:var(--fw-medium)}.crumb-row .lot-pager button{border:1px solid var(--line);border-radius:var(--r-sm);width:22px;height:22px;color:var(--ink-2);place-items:center;display:grid}.crumb-row .lot-pager button:hover{background:var(--bg-2);color:var(--ink-1)}.hero{gap:var(--sp-5);padding:var(--sp-5) var(--sp-6);background:var(--surface);border-bottom:1px solid var(--line);grid-template-columns:96px 1fr auto;align-items:flex-start;display:grid}.hero-avatar{flex-direction:column;align-items:center;gap:8px;display:flex}.hero-avatar .avatar.xl{box-shadow:var(--sh-1);background:oklch(58% .12 30);position:relative}.hero-avatar .avatar.xl:after{content:"";background:var(--ok);border:2.5px solid var(--surface);border-radius:50%;width:14px;height:14px;position:absolute;bottom:2px;right:2px}.hero-avatar .since{font-size:var(--fs-10);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--ink-3);font-weight:var(--fw-medium);font-family:var(--font-mono)}.hero-main{gap:var(--sp-3);flex-direction:column;min-width:0;display:flex}.hero-titlerow{align-items:baseline;gap:var(--sp-3);flex-wrap:wrap;display:flex}.cli-code{font-family:var(--font-mono);font-size:var(--fs-12);background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--ink-2);letter-spacing:.02em;align-self:center;align-items:center;gap:6px;height:26px;padding:4px 8px;display:inline-flex}.cli-code .icon-copy{color:var(--ink-4)}.cli-title{font-size:var(--fs-26);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-tight);color:var(--ink-1);margin:0;line-height:1.15}.hero-chips{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.chip.lg{height:26px;font-size:var(--fs-12);padding:0 11px}.prio{border-radius:var(--r-sm);height:26px;font-size:11px;font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:5px;padding:0 10px;display:inline-flex}.prio .dot{background:currentColor;border-radius:50%;width:5px;height:5px}.prio.attivo{background:var(--ok-soft);color:var(--ok-ink)}.prio.medio{background:var(--warn-soft);color:var(--warn-ink)}.prio.passivo{background:var(--bg-3);color:var(--ink-3)}.prio.ni{background:var(--surface);color:var(--ink-4);border:1px solid var(--line)}.rating-lg{border-radius:var(--r-sm);width:28px;height:28px;font-family:var(--font-mono);font-size:var(--fs-14);font-weight:var(--fw-bold);letter-spacing:-.02em;border:2px solid #0000;place-items:center;display:inline-grid}.rating-lg.a{background:var(--ok-soft);color:var(--ok-ink);border-color:var(--ok-line)}.rating-lg.b{background:var(--warn-soft);color:var(--warn-ink);border-color:var(--warn-line)}.rating-lg.c{background:var(--risk-soft);color:var(--risk-ink);border-color:var(--risk-line)}.tag.tipo-prima{color:var(--info-ink);background:oklch(94% .025 245)}.tag.tipo-inv{color:oklch(38% .13 285);background:oklch(94% .035 285)}.hero-contact{align-items:center;gap:var(--sp-3);padding-top:var(--sp-2);border-top:1px solid var(--line);flex-wrap:wrap;display:flex}.hero-contact a{font-size:var(--fs-12);color:var(--ink-2);border-radius:var(--r-sm);border:1px solid var(--line);background:var(--bg-2);align-items:center;gap:6px;padding:4px 8px;display:inline-flex}.hero-contact a:hover{background:var(--bg-3);color:var(--ink-1)}.hero-contact a .ic{color:var(--ink-3)}.hero-contact a.wa .ic{color:oklch(50% .15 150)}.hero-contact a .mono{font-family:var(--font-mono)}.hero-stage{align-items:center;gap:var(--sp-2);display:flex}.hero-stage .lbl{font-size:var(--fs-11);color:var(--ink-3);text-transform:uppercase;letter-spacing:var(--tracking-caps);font-weight:var(--fw-medium)}.cli-stage{border-radius:var(--r-sm);height:26px;font-size:var(--fs-12);font-weight:var(--fw-medium);color:oklch(40% .13 35);border-left:3px solid var(--accent);background:oklch(96% .03 35);align-items:center;gap:6px;padding:0 11px 0 9px;display:inline-flex}.cli-stage.nuovo{background:var(--bg-3);color:var(--ink-2);border-left-color:var(--ink-3)}.cli-stage.qualificato{background:var(--info-soft);color:var(--info-ink);border-left-color:var(--info)}.cli-stage.attivo{background:var(--ok-soft);color:var(--ok-ink);border-left-color:var(--ok)}.cli-stage.trattativa{color:oklch(40% .13 35);border-left-color:var(--accent);background:oklch(96% .03 35)}.cli-stage.aggiudicato{background:var(--ok-soft);color:var(--ok-ink);border-left-color:var(--ok)}.cli-stage.inattivo{background:var(--bg-3);color:var(--ink-3);border-left-color:var(--ink-4)}.hero-actions{align-items:center;gap:var(--sp-2);flex-shrink:0;display:flex}.anchor-nav{top:var(--topbar-h);z-index:var(--z-sticky);background:var(--surface);border-bottom:1px solid var(--line);padding:0 var(--sp-6);align-items:center;gap:4px;display:flex;position:sticky;overflow-x:auto}.anchor-nav a{font-size:var(--fs-12);font-weight:var(--fw-medium);color:var(--ink-3);white-space:nowrap;padding:12px;position:relative}.anchor-nav a:hover,.anchor-nav a.on{color:var(--ink-1)}.anchor-nav a.on:after{content:"";background:var(--accent);border-radius:1px;height:2px;position:absolute;bottom:-1px;left:12px;right:12px}.anchor-nav a .ct{font-family:var(--font-mono);font-size:var(--fs-10);font-variant-numeric:tabular-nums;border-radius:var(--r-sm);background:var(--bg-3);color:var(--ink-3);margin-left:5px;padding:0 5px}.anchor-nav a.on .ct{background:var(--accent-soft);color:var(--accent-ink)}.anchor-nav .nav-end{font-size:var(--fs-11);color:var(--ink-3);align-items:center;gap:var(--sp-2);margin-left:auto;display:flex}.section{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);scroll-margin-top:120px;overflow:hidden}.section-head{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.section-head .title{align-items:center;gap:var(--sp-2);font-size:var(--fs-14);font-weight:var(--fw-semibold);letter-spacing:-.005em;display:flex}.section-head .title .badge{font-family:var(--font-mono);font-size:var(--fs-10);background:var(--bg-3);color:var(--ink-2);border-radius:var(--r-pill);font-weight:var(--fw-medium);font-variant-numeric:tabular-nums;padding:1px 6px}.section-head .actions{align-items:center;gap:var(--sp-2);display:flex}.section-body{padding:var(--sp-4)}.section-body.tight{padding:0}.kv-grid{gap:0 var(--sp-6);grid-template-columns:1fr 1fr;display:grid}.kv{gap:var(--sp-3);border-bottom:1px solid var(--line);grid-template-columns:140px 1fr;align-items:baseline;min-width:0;padding:9px 0;display:grid}.kv:last-child{border-bottom:0}.kv .k{font-size:var(--fs-11);color:var(--ink-3);text-transform:uppercase;letter-spacing:var(--tracking-caps);font-weight:var(--fw-medium)}.kv .v{font-size:var(--fs-13);color:var(--ink-1);font-variant-numeric:tabular-nums;word-wrap:break-word;min-width:0}.kv .v.mono{font-family:var(--font-mono)}.kv .v.muted{color:var(--ink-3)}.kv .v.empty{color:var(--ink-4);font-style:italic}.kv .v .sec{font-size:var(--fs-11);color:var(--ink-3);margin-top:2px;display:block}.kv-sectiontitle{margin-top:var(--sp-3);padding:var(--sp-2) 0;font-size:var(--fs-10);text-transform:uppercase;letter-spacing:var(--tracking-caps);font-weight:var(--fw-semibold);color:var(--ink-3);border-bottom:1px solid var(--line-2);grid-column:1/-1}.kv-sectiontitle:first-child{margin-top:0}.prefs-grid{flex-direction:column;gap:0;display:flex}.prefs-row{gap:var(--sp-4);padding:var(--sp-3) 0;border-bottom:1px solid var(--line);grid-template-columns:180px 1fr;align-items:flex-start;display:grid}.prefs-row:last-child{border-bottom:0}.prefs-row .pk{font-size:var(--fs-11);color:var(--ink-3);text-transform:uppercase;letter-spacing:var(--tracking-caps);font-weight:var(--fw-medium);padding-top:4px}.prefs-row .pv{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.prefs-row .pv .chip,.prefs-row .pv .tag,.prefs-row .pv .pref-chip{flex-shrink:0}.pref-chip{border-radius:var(--r-sm);height:24px;font-size:var(--fs-12);background:var(--bg-2);border:1px solid var(--line);color:var(--ink-2);align-items:center;gap:5px;padding:0 9px;display:inline-flex}.pref-chip.ok{background:var(--ok-soft);border-color:var(--ok-line);color:var(--ok-ink)}.pref-chip.no{background:var(--risk-soft);border-color:var(--risk-line);color:var(--risk-ink)}.pref-chip.mute{color:var(--ink-3)}.pref-chip .lbl{color:var(--ink-3);font-weight:var(--fw-regular);margin-right:3px}.pref-chip .strong{color:var(--ink-1);font-weight:var(--fw-medium)}.range-bar{flex-direction:column;gap:6px;width:100%;max-width:320px;display:flex}.range-bar .vals{font-family:var(--font-mono);font-size:var(--fs-12);color:var(--ink-3);font-variant-numeric:tabular-nums;justify-content:space-between;display:flex}.range-bar .vals .v{color:var(--ink-1);font-weight:var(--fw-semibold)}.range-bar .track{background:var(--bg-3);border-radius:var(--r-pill);height:6px;position:relative}.range-bar .track .seg{background:var(--accent);border-radius:var(--r-pill);position:absolute;top:0;bottom:0}.range-bar .track .pin{background:var(--surface);border:2px solid var(--accent);border-radius:50%;width:12px;height:12px;position:absolute;top:-3px;transform:translate(-50%)}.range-bar .scale{font-family:var(--font-mono);color:var(--ink-4);font-variant-numeric:tabular-nums;justify-content:space-between;font-size:9.5px;display:flex}.note-block{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-3);font-size:var(--fs-12);color:var(--ink-2);width:100%;line-height:1.55;position:relative}.note-block:before{content:"✎";color:var(--ink-4);font-size:var(--fs-11);position:absolute;top:6px;right:8px}.note-block .meta{font-size:var(--fs-10);color:var(--ink-3);text-transform:uppercase;letter-spacing:var(--tracking-caps);margin-top:6px;display:block}.match-list{flex-direction:column;display:flex}.match-row{gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line);grid-template-columns:44px 1fr auto;align-items:center;display:grid}.match-row:last-child{border-bottom:0}.match-row:hover{background:var(--bg-2)}.thumb{border-radius:var(--r-sm);background:repeating-linear-gradient(45deg,oklch(92% .006 250),oklch(92% .006 250) 6px,oklch(95% .005 250) 6px 12px);flex-shrink:0;width:44px;height:44px;position:relative}.thumb .ph-ct{color:#fff;font-family:var(--font-mono);background:#14100a99;border-radius:2px;padding:0 3px;font-size:9px;line-height:1.3;position:absolute;bottom:2px;right:2px}.match-row .body{min-width:0}.match-row .body .top{font-size:var(--fs-13);font-weight:var(--fw-semibold);color:var(--ink-1);align-items:center;gap:6px;margin-bottom:2px;display:flex}.match-row .body .top .code{font-family:var(--font-mono);font-size:var(--fs-10);color:var(--ink-2);background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-sm);font-weight:var(--fw-medium);padding:1px 5px}.match-row .body .meta{font-size:var(--fs-11);color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.match-row .body .meta .sep{color:var(--ink-4)}.match-row .body .meta .mono{font-family:var(--font-mono)}.match-row .body .meta .price{font-family:var(--font-mono);font-weight:var(--fw-semibold);color:var(--ink-2)}.match-row .body .reasons{flex-wrap:wrap;gap:4px;margin-top:5px;display:flex}.match-row .body .reasons .r{font-size:var(--fs-10);background:var(--bg-2);border-radius:var(--r-sm);color:var(--ink-2);border:1px solid var(--line);padding:2px 6px}.match-row .body .reasons .r.pos{background:var(--ok-soft);border-color:var(--ok-line);color:var(--ok-ink)}.match-row .body .reasons .r.neg{background:var(--risk-soft);border-color:var(--risk-line);color:var(--risk-ink)}.match-row .end{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.match-row .score-ring{place-items:center;width:44px;height:44px;display:grid;position:relative}.match-row .score-ring svg{position:absolute;inset:0;transform:rotate(-90deg)}.match-row .score-ring .v{font-family:var(--font-mono);font-size:var(--fs-13);font-weight:var(--fw-semibold);color:var(--ink-1)}.match-row .stage{border-radius:var(--r-sm);height:20px;font-size:10.5px;font-weight:var(--fw-medium);background:var(--bg-3);color:var(--ink-2);border-left:3px solid var(--ink-4);align-items:center;padding:0 8px 0 7px;display:inline-flex}.match-row .stage.domanda-asta{color:oklch(40% .13 35);border-left-color:var(--pipe-domanda-asta);background:oklch(96% .03 35)}.match-row .stage.scd-richiesta{color:oklch(36% .11 250);border-left-color:var(--pipe-scd-richiesta);background:oklch(96% .025 250)}.match-row .stage.scd-fissate{color:oklch(36% .11 320);border-left-color:var(--pipe-scd-fissate);background:oklch(96% .025 320)}.match-row .stage.bacheca{background:var(--bg-3);color:var(--ink-2);border-left-color:var(--pipe-bacheca)}.match-row .stage.esito-pos{color:oklch(36% .11 130);border-left-color:var(--pipe-esito-pos);background:oklch(96% .03 130)}.sopr-list{flex-direction:column;display:flex}.sopr-row{gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line);grid-template-columns:76px 1fr auto;align-items:flex-start;display:grid}.sopr-row:last-child{border-bottom:0}.sopr-row:hover{background:var(--bg-2)}.sopr-row .when-block{font-family:var(--font-mono);flex-direction:column;display:flex}.sopr-row .when-block .day-num{font-size:var(--fs-18);font-weight:var(--fw-semibold);color:var(--ink-1);letter-spacing:-.01em;line-height:1}.sopr-row .when-block.past .day-num{color:var(--ink-3)}.sopr-row .when-block .mo{font-size:var(--fs-11);text-transform:uppercase;color:var(--ink-3);letter-spacing:var(--tracking-caps);font-family:var(--font-sans);font-weight:var(--fw-medium);margin-top:2px}.sopr-row .when-block .hr{font-size:var(--fs-11);color:var(--ink-2);margin-top:4px}.sopr-row .main{min-width:0}.sopr-row .main .ttl{font-size:var(--fs-13);font-weight:var(--fw-medium);color:var(--ink-1);align-items:center;gap:6px;margin-bottom:4px;display:flex}.sopr-row .main .ttl .lotmono{font-family:var(--font-mono);font-size:var(--fs-11);background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--ink-2);padding:1px 5px}.sopr-row .main .meta{font-size:var(--fs-11);color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.sopr-row .main .meta .sep{color:var(--ink-4)}.sopr-row .main .notes{font-size:var(--fs-12);color:var(--ink-2);background:var(--bg-2);border-radius:var(--r-sm);border-left:2px solid var(--line-2);margin-top:6px;padding:6px 10px;line-height:1.4}.sopr-row .end{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.sopr-row .end .att{font-family:var(--font-mono);font-size:var(--fs-10);color:var(--ink-3);align-items:center;gap:4px;display:inline-flex}.part-card{gap:var(--sp-4);padding:var(--sp-3) var(--sp-4);grid-template-columns:110px 1fr 200px;align-items:center;display:grid}.part-card:hover{background:var(--bg-2)}.part-card .pcode{flex-direction:column;gap:4px;display:flex}.part-card .pcode .code{font-family:var(--font-mono);font-size:var(--fs-13);font-weight:var(--fw-semibold);color:var(--ink-1);letter-spacing:.01em}.part-card .pcode .status{border-radius:var(--r-sm);height:22px;font-size:var(--fs-11);font-weight:var(--fw-medium);border-left:3px solid var(--ink-4);align-items:center;gap:5px;width:fit-content;padding:0 8px;display:inline-flex}.part-card .pcode .status.iscritta{border-left-color:var(--pipe-domanda-asta);color:oklch(40% .13 35);background:oklch(96% .03 35)}.part-card .pmain{flex-direction:column;gap:6px;min-width:0;display:flex}.part-card .pmain .top{font-size:var(--fs-13);color:var(--ink-1);font-weight:var(--fw-medium);align-items:center;gap:6px;display:flex}.part-card .pmain .top .lotmono{font-family:var(--font-mono);font-size:var(--fs-10);background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--ink-2);padding:1px 5px}.part-card .pmain .numbers{gap:var(--sp-4);font-size:var(--fs-12);color:var(--ink-2);align-items:baseline;display:flex}.part-card .pmain .numbers .lbl{text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--ink-3);font-size:9.5px;font-weight:var(--fw-medium);margin-bottom:1px;display:block}.part-card .pmain .numbers .v{font-family:var(--font-mono);font-size:var(--fs-13);font-weight:var(--fw-semibold);color:var(--ink-1);font-variant-numeric:tabular-nums}.part-card .pmain .numbers .v .icon-ok{color:var(--ok);margin-left:4px}.part-card .pmain .checkline{align-items:center;gap:var(--sp-2);font-size:var(--fs-11);color:var(--ink-3);display:flex}.part-card .pmain .checkline .bar{background:var(--bg-3);border-radius:var(--r-pill);flex:1;max-width:200px;height:4px;overflow:hidden}.part-card .pmain .checkline .bar>i{background:var(--ok);height:100%;display:block}.part-card .pmain .checkline .ratio{font-family:var(--font-mono);color:var(--ink-1);font-weight:var(--fw-medium);font-variant-numeric:tabular-nums}.part-card .pend{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.part-card .pend .who{font-size:var(--fs-11);color:var(--ink-3);align-items:center;gap:6px;display:flex}.part-card .pend .who .avatar{width:20px;height:20px;font-size:9px}.story-list{flex-direction:column;display:flex}.story-row{gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line);grid-template-columns:32px 60px 1fr auto;align-items:flex-start;display:grid}.story-row:last-child{border-bottom:0}.story-row:hover{background:var(--bg-2)}.story-row .ico-bubble{border-radius:var(--r-md);background:var(--bg-3);width:28px;height:28px;color:var(--ink-3);place-items:center;margin-top:1px;display:grid}.story-row .ico-bubble.call{color:var(--info-ink);background:oklch(94% .035 245)}.story-row .ico-bubble.email{color:oklch(38% .13 285);background:oklch(94% .035 285)}.story-row .ico-bubble.meet{background:var(--accent-soft);color:var(--accent-ink)}.story-row .ico-bubble.sopr{color:var(--warn-ink);background:oklch(94% .045 80)}.story-row .ico-bubble.scd{background:var(--ok-soft);color:var(--ok-ink)}.story-row .ico-bubble.part{color:oklch(38% .13 320);background:oklch(94% .035 320)}.story-row .when-block{font-family:var(--font-mono);flex-direction:column;align-items:flex-start;display:flex}.story-row .when-block .d{font-size:var(--fs-12);font-weight:var(--fw-semibold);color:var(--ink-1);font-variant-numeric:tabular-nums;line-height:1}.story-row .when-block .h{font-size:var(--fs-10);color:var(--ink-3);margin-top:2px}.story-row .body{min-width:0}.story-row .body .ttl{font-size:var(--fs-13);font-weight:var(--fw-medium);color:var(--ink-1);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:2px;display:flex}.story-row .body .ttl .ch{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:var(--tracking-caps);border-radius:var(--r-sm);background:var(--bg-2);color:var(--ink-3);font-size:9.5px;font-weight:var(--fw-semibold);padding:1px 5px}.story-row .body .preview{font-size:var(--fs-12);color:var(--ink-2);line-height:1.4}.story-row .body .meta{font-size:var(--fs-11);color:var(--ink-3);align-items:center;gap:6px;margin-top:4px;display:flex}.story-row .body .meta .sep{color:var(--ink-4)}.story-row .who-end{font-size:var(--fs-11);color:var(--ink-3);white-space:nowrap;align-items:center;gap:5px;display:flex}.story-row .who-end .avatar{width:20px;height:20px;font-size:9px}.doc-tabs{padding:var(--sp-2) var(--sp-3) 0;border-bottom:1px solid var(--line);background:var(--bg-2);gap:2px;margin-top:-1px;display:flex}.doc-tabs button{font-size:var(--fs-12);font-weight:var(--fw-medium);color:var(--ink-3);border-radius:var(--r-sm) var(--r-sm) 0 0;border:1px solid #0000;border-bottom:0;align-items:center;gap:6px;padding:7px 10px;display:inline-flex;position:relative;bottom:-1px}.doc-tabs button:hover{color:var(--ink-1)}.doc-tabs button.on{background:var(--surface);color:var(--ink-1);border-color:var(--line)}.doc-tabs button .ct{font-family:var(--font-mono);font-size:var(--fs-10);border-radius:var(--r-sm);background:var(--bg-3);padding:0 5px}.doc-tabs button.on .ct{background:var(--accent-soft);color:var(--accent-ink)}.doc-row{gap:var(--sp-3);padding:10px var(--sp-4);border-bottom:1px solid var(--line);grid-template-columns:36px 1fr 100px 90px 80px;align-items:center;display:grid}.doc-row:hover{background:var(--bg-2)}.doc-icon{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-sm);width:36px;height:44px;font-family:var(--font-mono);font-size:9px;font-weight:var(--fw-semibold);letter-spacing:.04em;color:var(--ink-3);place-items:center;display:grid;position:relative}.doc-icon:before{content:"";background:var(--bg-3);clip-path:polygon(0 0,100% 100%,0 100%);width:8px;height:8px;position:absolute;top:0;right:0}.doc-row .name{font-size:var(--fs-13);font-weight:var(--fw-medium);color:var(--ink-1);align-items:center;gap:6px;min-width:0;display:flex}.doc-row .name .meta{font-size:var(--fs-11);color:var(--ink-3);font-weight:var(--fw-regular);margin-top:2px;display:block}.doc-row .when{font-family:var(--font-mono);font-size:var(--fs-11);color:var(--ink-3);font-variant-numeric:tabular-nums}.doc-row .when .by{font-family:var(--font-sans);margin-top:2px;display:block}.doc-row .size{font-family:var(--font-mono);font-size:var(--fs-11);color:var(--ink-3);text-align:right;font-variant-numeric:tabular-nums}.doc-row .doc-actions{justify-content:flex-end;gap:2px;display:flex}.doc-row .doc-actions button{border-radius:var(--r-sm);width:28px;height:28px;color:var(--ink-3);place-items:center;display:grid}.doc-row .doc-actions button:hover{background:var(--bg-3);color:var(--ink-1)}.doc-row .pdf-flag{border-radius:var(--r-sm);background:var(--ok-soft);height:18px;color:var(--ok-ink);font-family:var(--font-mono);font-size:9px;font-weight:var(--fw-semibold);letter-spacing:.05em;align-items:center;padding:0 5px;display:inline-flex}.doc-row .pdf-flag.scaduto{background:var(--warn-soft);color:var(--warn-ink)}.scoring-card{background:var(--ink-1);color:#fff;border-radius:var(--r-lg);padding:var(--sp-4);position:relative;overflow:hidden}.scoring-card:before{content:"";background:var(--accent);opacity:.18;border-radius:50%;width:140px;height:140px;position:absolute;top:-40px;right:-40px}.scoring-card .lbl{font-size:var(--fs-10);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:oklch(78% .008 250);font-weight:var(--fw-medium);margin-bottom:var(--sp-3);align-items:center;gap:6px;display:flex}.scoring-card .score-top{align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-3);display:flex}.score-ring-lg{flex-shrink:0;place-items:center;width:86px;height:86px;display:grid;position:relative}.score-ring-lg svg{position:absolute;inset:0;transform:rotate(-90deg)}.score-ring-lg .val{font-family:var(--font-mono);font-size:28px;font-weight:var(--fw-semibold);color:#fff;letter-spacing:-.02em;line-height:1}.score-ring-lg .out{color:oklch(78% .008 250);text-transform:uppercase;letter-spacing:var(--tracking-caps);margin-top:4px;font-size:9px}.scoring-card .score-detail{flex:1;min-width:0}.scoring-card .score-detail .grade{font-size:var(--fs-15);font-weight:var(--fw-semibold);color:#fff;margin-bottom:2px}.scoring-card .score-detail .delta{font-size:var(--fs-11);color:oklch(78% .008 250);font-family:var(--font-mono);font-variant-numeric:tabular-nums;align-items:center;gap:4px;display:flex}.scoring-card .score-detail .delta .up{color:oklch(82% .15 155);font-weight:var(--fw-medium)}.scoring-card .score-grid{border-radius:var(--r-sm);margin-top:var(--sp-2);background:#ffffff1a;grid-template-columns:1fr 1fr;gap:1px;display:grid;overflow:hidden}.scoring-card .sm{background:var(--ink-1);padding:8px 10px}.scoring-card .sm .smk{text-transform:uppercase;letter-spacing:var(--tracking-caps);color:oklch(70% .01 250);font-size:9.5px;font-weight:var(--fw-medium);margin-bottom:4px}.scoring-card .sm .smv{font-family:var(--font-mono);font-size:var(--fs-14);font-weight:var(--fw-semibold);color:#fff;letter-spacing:-.01em}.scoring-card .sm .smbar{border-radius:var(--r-pill);background:#ffffff1f;height:3px;margin-top:4px;overflow:hidden}.scoring-card .sm .smbar>i{background:var(--accent);height:100%;display:block}.scoring-card .sm .smbar>i.ok{background:oklch(72% .16 155)}.sparkline-block{margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:1px solid #ffffff1a}.sparkline-row{align-items:center;gap:8px;margin-bottom:6px;display:flex}.sparkline-row .lbl{text-transform:uppercase;letter-spacing:var(--tracking-caps);color:oklch(70% .01 250);font-size:9.5px;font-weight:var(--fw-medium);flex:1;margin:0}.sparkline-row .nv{font-family:var(--font-mono);font-size:var(--fs-11);color:#fff;font-variant-numeric:tabular-nums}.sparkline-row .nv .delta{color:oklch(82% .15 155);margin-left:4px}.sparkline{width:100%;height:36px;display:block}.rail-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}.rail-card .rh{padding:10px var(--sp-3);font-size:var(--fs-11);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--ink-3);font-weight:var(--fw-semibold);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;display:flex}.rail-card .rh a{font-size:var(--fs-11);color:var(--ink-3);text-transform:none;letter-spacing:0;font-weight:var(--fw-regular)}.rail-card .rh a:hover{color:var(--ink-1)}.rail-card .rb{padding:var(--sp-3)}.rail-card .rb.tight{padding:0}.rail-stats .st .v{font-family:var(--font-mono);font-size:var(--fs-16);font-weight:var(--fw-semibold);color:var(--ink-1);font-variant-numeric:tabular-nums;line-height:1}.rail-stats .st .v.warn{color:var(--warn-ink)}.rail-stats .st .v.ok{color:var(--ok-ink)}.assignee-block .avatar.md{background:oklch(58% .12 170)}.timeline{padding:var(--sp-3) var(--sp-3) var(--sp-2);flex-direction:column;display:flex}.tl-row{gap:var(--sp-2);padding-bottom:var(--sp-3);grid-template-columns:18px 1fr;display:grid;position:relative}.tl-row:before{content:"";background:var(--line);width:1px;position:absolute;top:16px;bottom:-4px;left:9px}.tl-row:last-child:before{display:none}.tl-row .node{background:var(--surface);border:2px solid var(--ink-3);border-radius:50%;flex-shrink:0;width:14px;height:14px;margin-top:3px}.tl-row.ok .node{background:var(--ok);border-color:var(--ok)}.tl-row.accent .node{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.tl-row.info .node{background:var(--info);border-color:var(--info)}.tl-row .body{min-width:0;padding-bottom:4px}.tl-row .body .head-ln{font-size:var(--fs-12);font-weight:var(--fw-medium);color:var(--ink-1)}.tl-row .body .when{font-size:var(--fs-10);font-family:var(--font-mono);color:var(--ink-3);font-variant-numeric:tabular-nums;margin-top:2px}.tl-row .body .desc{font-size:var(--fs-11);color:var(--ink-2);margin-top:3px;line-height:1.4}.page-header{padding:var(--sp-4) var(--sp-6) var(--sp-3);background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;display:flex}.segmented button{padding:4px var(--sp-3);border-radius:var(--r-sm);font-size:var(--fs-12);font-weight:var(--fw-medium);color:var(--ink-3);align-items:center;gap:5px;display:inline-flex}.filterbar{align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-6);background:var(--surface);border-bottom:1px solid var(--line);display:flex}.fb-search{flex:0 0 280px;position:relative}.fb-end .strong{color:var(--ink-1);font-weight:var(--fw-medium);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.chip.sm{height:18px;padding:0 6px;font-size:9.5px}.tag.tab-telematica{color:var(--info-ink);background:oklch(94% .025 245)}.tag.tab-fisica{color:oklch(38% .13 30);background:oklch(94% .035 30)}.tag.tab-mista{color:oklch(38% .13 285);background:oklch(94% .035 285)}.kanban-wrap{padding:var(--sp-4) var(--sp-6) var(--sp-6);background:linear-gradient(180deg, var(--bg) 0%, oklch(97% .005 250) 100%);flex:1;overflow:auto hidden}.kanban-board{gap:var(--sp-3);min-height:100%;padding-right:var(--sp-6);align-items:flex-start;width:max-content;display:flex}.kanban-col{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-lg);width:290px;max-height:calc(100vh - var(--topbar-h) - 200px);flex-direction:column;flex:0 0 290px;display:flex}.kanban-col.drop-over{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 3px oklch(58% .15 52/.18)}.kanban-col-head{align-items:center;gap:var(--sp-2);padding:10px var(--sp-3);border-bottom:1px solid var(--line);background:var(--surface);border-radius:var(--r-lg) var(--r-lg) 0 0;display:flex;position:relative}.kanban-col-head:before{content:"";background:var(--ink-4);border-radius:var(--r-lg) var(--r-lg) 0 0;height:3px;position:absolute;top:0;left:0;right:0}.kanban-col.bacheca .kanban-col-head:before{background:var(--pipe-bacheca)}.kanban-col.scd-richiesta .kanban-col-head:before{background:var(--pipe-scd-richiesta)}.kanban-col.scd-pronta .kanban-col-head:before{background:var(--pipe-scd-pronta)}.kanban-col.scd-fissate .kanban-col-head:before{background:var(--pipe-scd-fissate)}.kanban-col.attesa-esito .kanban-col-head:before{background:var(--pipe-attesa-esito)}.kanban-col.esito-pos .kanban-col-head:before{background:var(--pipe-esito-pos)}.kanban-col.domanda-asta .kanban-col-head:before{background:var(--pipe-domanda-asta)}.kanban-col.data-vendita .kanban-col-head:before{background:var(--pipe-data-vendita)}.kanban-col.esito-neg .kanban-col-head:before{background:var(--pipe-esito-neg)}.kanban-col.non-aggiudicata .kanban-col-head:before{background:var(--pipe-non-aggiudicata)}.kanban-col.aggiudicata .kanban-col-head:before{background:var(--pipe-aggiudicata)}.kanban-col-head .ttl{font-size:var(--fs-12);font-weight:var(--fw-semibold);color:var(--ink-1);letter-spacing:-.005em;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.kanban-col-head .ttl .ct{font-family:var(--font-mono);color:var(--ink-3);font-size:11px;font-weight:var(--fw-medium);font-variant-numeric:tabular-nums;margin-left:6px}.kanban-col-head .wip{font-family:var(--font-mono);color:var(--ink-3);background:var(--bg-3);border-radius:var(--r-sm);font-variant-numeric:tabular-nums;font-size:10px;font-weight:var(--fw-medium);padding:1px 6px}.kanban-col-head .wip.near{background:var(--warn-soft);color:var(--warn-ink)}.kanban-col-head .wip.full{background:var(--risk-soft);color:var(--risk-ink)}.kanban-col-head .more-btn{border-radius:var(--r-sm);width:22px;height:22px;color:var(--ink-3);place-items:center;display:grid}.kanban-col-head .more-btn:hover{background:var(--bg-3);color:var(--ink-1)}.kanban-col-head .add-btn{border-radius:var(--r-sm);width:22px;height:22px;color:var(--ink-3);place-items:center;display:grid}.kanban-col-head .add-btn:hover{background:var(--bg-3);color:var(--ink-1)}.kanban-col-body{padding:var(--sp-2);gap:var(--sp-2);flex-direction:column;flex:1;min-height:80px;display:flex;overflow-y:auto}.kanban-col-foot{padding:6px var(--sp-3);border-top:1px solid var(--line);text-align:center;font-size:var(--fs-11);color:var(--ink-3);background:var(--bg-2);border-radius:0 0 var(--r-lg) var(--r-lg)}.kanban-col-foot a{color:var(--ink-3);font-weight:var(--fw-medium);align-items:center;gap:4px;display:inline-flex}.kanban-col-foot a:hover{color:var(--ink-1)}.kc{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);cursor:grab;box-shadow:var(--sh-1);transition:box-shadow var(--dur-fast), transform var(--dur-fast);flex-direction:column;gap:6px;padding:10px;display:flex;position:relative}.kc:hover{box-shadow:var(--sh-2);border-color:var(--line-2)}.kc:active{cursor:grabbing}.kc.dragging{opacity:.35;border-style:dashed}.kc.urgent-soon{border-top:2px solid var(--risk);border-top-left-radius:var(--r-sm);border-top-right-radius:var(--r-sm)}.kc.urgent-warn{border-top:2px solid var(--warn)}.kc-top{align-items:center;gap:6px;display:flex}.kc-code{font-family:var(--font-mono);font-size:10.5px;font-weight:var(--fw-semibold);color:var(--ink-1);letter-spacing:.02em;background:var(--bg-2);border-radius:var(--r-sm);padding:2px 5px}.kc-tags{flex-wrap:wrap;flex:1;align-items:center;gap:3px;min-width:0;display:flex}.kc-kebab{border-radius:var(--r-sm);width:18px;height:18px;color:var(--ink-4);opacity:0;transition:opacity var(--dur-fast);place-items:center;margin-left:auto;display:grid}.kc:hover .kc-kebab{opacity:1}.kc-kebab:hover{background:var(--bg-3);color:var(--ink-1)}.kc-title{font-size:var(--fs-12);font-weight:var(--fw-semibold);color:var(--ink-1);letter-spacing:-.005em;-webkit-line-clamp:2;word-break:break-word;-webkit-box-orient:vertical;line-height:1.3;display:-webkit-box;overflow:hidden}.kc-meta{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:5px;font-size:10.5px;display:flex}.kc-meta .sep{color:var(--ink-4)}.kc-meta .mono{font-family:var(--font-mono)}.kc-asta{background:var(--bg-2);border-radius:var(--r-sm);justify-content:space-between;align-items:center;gap:6px;padding:6px 8px;font-size:11px;display:flex}.kc-asta.soon{background:var(--risk-soft)}.kc-asta.upcoming{background:var(--warn-soft)}.kc-asta .when{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--ink-1);font-weight:var(--fw-medium);align-items:center;gap:5px;display:flex}.kc-asta .when .ic{color:var(--ink-3)}.kc-asta.soon .when{color:var(--risk-ink)}.kc-asta.upcoming .when{color:var(--warn-ink)}.kc-asta .when .cd{font-size:9.5px;font-family:var(--font-sans);font-weight:var(--fw-medium);border-radius:var(--r-pill);background:#fff9;margin-left:3px;padding:1px 5px}.kc-asta.soon .when .cd{color:var(--risk-ink);background:#ffffffb3}.kc-asta.upcoming .when .cd{color:var(--warn-ink);background:#ffffffb3}.kc-asta .price{font-family:var(--font-mono);font-size:11.5px;font-weight:var(--fw-semibold);color:var(--ink-1);font-variant-numeric:tabular-nums}.kc-asta.soon .price{color:var(--risk-ink)}.kc-progress{align-items:center;gap:6px;font-size:10.5px;display:flex}.kc-progress .bar{background:var(--bg-3);border-radius:var(--r-pill);flex:1;height:4px;overflow:hidden}.kc-progress .bar>i{background:var(--ok);height:100%;display:block}.kc-progress .bar>i.warn{background:var(--warn)}.kc-progress .bar>i.low{background:var(--ink-3)}.kc-progress .ratio{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--ink-2);font-weight:var(--fw-medium);white-space:nowrap}.kc-progress .label{color:var(--ink-3);text-transform:uppercase;letter-spacing:var(--tracking-caps);font-size:10px;font-weight:var(--fw-medium)}.kc-foot{align-items:center;gap:6px;font-size:10.5px;display:flex}.kc-foot .who{color:var(--ink-2);align-items:center;gap:5px;display:flex}.kc-foot .who.unassigned{color:var(--ink-4)}.kc-foot .who.unassigned .avatar{border:1px dashed var(--line-2);color:var(--ink-4);background:0 0}.kc-foot .right{align-items:center;gap:4px;margin-left:auto;display:flex}.kc-foot .match-pill{border-radius:var(--r-pill);background:var(--bg-3);color:var(--ink-2);font-size:10px;font-weight:var(--fw-medium);align-items:center;gap:3px;padding:2px 6px;display:inline-flex}.kc-foot .match-pill .dot{background:var(--ok);border-radius:50%;width:4px;height:4px}.kc-foot .match-pill.hi{background:var(--ok-soft);color:var(--ok-ink)}.kc-flag{font-size:9.5px;font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--tracking-caps);border-radius:var(--r-sm);background:var(--risk-soft);color:var(--risk-ink);align-items:center;gap:4px;padding:1px 5px;display:inline-flex}.kc-flag.warn{background:var(--warn-soft);color:var(--warn-ink)}.kc-flag.ok{background:var(--ok-soft);color:var(--ok-ink)}.kc-drop-placeholder{border:2px dashed var(--accent);border-radius:var(--r-md);height:88px;color:var(--accent-ink);font-size:11px;font-weight:var(--fw-medium);background:oklch(96% .045 60/.6);place-items:center;display:grid}.kc-empty{border:1px dashed var(--line-2);border-radius:var(--r-md);padding:var(--sp-4);text-align:center;color:var(--ink-4);font-size:var(--fs-11);margin-top:var(--sp-2);background:0 0;flex-direction:column;align-items:center;gap:6px;display:flex}.kc-floating-ghost{pointer-events:none;width:270px;box-shadow:var(--sh-3);z-index:100;border:1px solid var(--accent);position:absolute;transform:rotate(-2deg)}.btn .caret{color:var(--ink-3);margin-left:2px}.filterbar{align-items:center;gap:var(--sp-2);padding:var(--sp-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);margin-bottom:var(--sp-3);flex-wrap:wrap;display:flex}.fb-end{align-items:center;gap:var(--sp-2);font-size:var(--fs-11);color:var(--ink-3);margin-left:auto;display:flex}.matrix-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);position:relative;overflow:auto}.kpi-matrix{border-collapse:separate;border-spacing:0;font-size:var(--fs-12);table-layout:fixed;width:max-content;min-width:100%}.kpi-matrix th,.kpi-matrix td{vertical-align:middle}.kpi-matrix thead th{background:var(--bg-2);border-bottom:1px solid var(--line);padding:10px var(--sp-3);font-size:var(--fs-10);text-transform:uppercase;letter-spacing:var(--tracking-caps);font-weight:var(--fw-semibold);color:var(--ink-3);white-space:nowrap;z-index:3;vertical-align:bottom;position:sticky;top:0}.kpi-matrix thead th.metric-head{width:116px}.kpi-matrix thead th .head-row{justify-content:flex-end;align-items:center;gap:5px;display:flex}.kpi-matrix thead th .head-row .edit{border-radius:var(--r-sm);width:16px;height:16px;color:var(--ink-4);cursor:pointer;opacity:0;transition:opacity var(--dur-fast);place-items:center;display:grid}.kpi-matrix thead th:hover .edit{opacity:1}.kpi-matrix thead th .edit:hover{background:var(--bg-3);color:var(--ink-1)}.kpi-matrix thead th .target{font-family:var(--font-mono);color:var(--ink-4);font-size:9.5px;font-weight:var(--fw-medium);text-transform:none;letter-spacing:0;text-align:right;margin-top:3px;display:block}.kpi-matrix thead th .target b{color:var(--ink-2)}.kpi-matrix th.sticky-left,.kpi-matrix td.sticky-left{background:var(--surface);z-index:2;text-align:left;border-right:1px solid var(--line);width:200px;min-width:200px;position:sticky;left:0}.kpi-matrix thead th.sticky-left{background:var(--bg-2);z-index:4}.kpi-matrix tbody tr:hover td,.kpi-matrix tbody tr:hover td.sticky-left{background:var(--bg-2)}.kpi-matrix tbody td,.kpi-matrix tfoot td{padding:12px var(--sp-3);border-bottom:1px solid var(--line);text-align:right}.kpi-matrix tbody tr:last-child td{border-bottom:0}.cons-cell{align-items:center;gap:var(--sp-2);padding:4px 0;display:flex}.cons-cell .info{min-width:0}.cons-cell .nm{font-size:var(--fs-13);font-weight:var(--fw-semibold);color:var(--ink-1);letter-spacing:-.005em}.cons-cell .rl{font-size:var(--fs-10);color:var(--ink-3);text-transform:uppercase;letter-spacing:var(--tracking-caps);font-weight:var(--fw-medium);margin-top:1px}.cons-cell .badges{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.cv{cursor:pointer;flex-direction:column;align-items:flex-end;gap:4px;display:flex}.cv .big{font-family:var(--font-mono);font-size:var(--fs-16);font-weight:var(--fw-semibold);color:var(--ink-1);font-variant-numeric:tabular-nums;letter-spacing:-.01em;line-height:1}.cv .big .unit{font-size:var(--fs-11);color:var(--ink-3);font-family:var(--font-sans);font-weight:var(--fw-regular);margin-left:2px}.cv .small{font-family:var(--font-mono);color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:10px}.cv .small.up{color:var(--ok-ink)}.cv .small.down{color:var(--risk-ink)}.cv .bar{background:var(--bg-3);border-radius:var(--r-pill);width:64px;height:4px;margin-top:2px;overflow:hidden}.cv .bar>i{background:var(--ink-3);border-radius:var(--r-pill);height:100%;display:block}.cv .bar>i.ok{background:var(--ok)}.cv .bar>i.warn{background:var(--warn)}.cv .bar>i.risk{background:var(--risk)}.cv .pct{font-family:var(--font-mono);font-variant-numeric:tabular-nums;border-radius:var(--r-sm);background:var(--bg-2);color:var(--ink-2);font-size:10px;font-weight:var(--fw-medium);align-items:center;padding:1px 5px;display:inline-flex}.cv .pct.ok{background:var(--ok-soft);color:var(--ok-ink)}.cv .pct.warn{background:var(--warn-soft);color:var(--warn-ink)}.cv .pct.risk{background:var(--risk-soft);color:var(--risk-ink)}.cv.money .big{font-size:var(--fs-15)}.cv.composite{align-items:center;gap:var(--sp-2);flex-direction:row}.score-ring-inline{flex-shrink:0;place-items:center;width:36px;height:36px;display:grid;position:relative}.score-ring-inline svg{position:absolute;inset:0;transform:rotate(-90deg)}.score-ring-inline .v{font-family:var(--font-mono);font-size:var(--fs-13);font-weight:var(--fw-bold);color:var(--ink-1);letter-spacing:-.01em}.score-ring-inline .v.warn{color:var(--warn-ink)}.score-ring-inline .v.risk{color:var(--risk-ink)}.cv.composite .right{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.cv.composite .right .grade{font-size:var(--fs-11);font-weight:var(--fw-semibold);color:var(--ink-1);letter-spacing:-.005em}.cv.composite .right .delta{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--ink-3);font-size:9.5px}.cv.composite .right .delta .up{color:var(--ok-ink)}.cv.composite .right .delta .down{color:var(--risk-ink)}.cv.nps .big{color:var(--ink-1)}.cv.nps .stars{color:var(--warn);gap:1px;font-size:10px;display:inline-flex}.cv.empty{justify-content:center;align-items:center}.cv.empty .big{color:var(--ink-4);font-size:var(--fs-11);font-family:var(--font-sans);font-weight:var(--fw-regular);font-style:italic}.cv.empty .bar>i{background:var(--ink-4);width:0!important}.row-empty td,.row-empty td.sticky-left{background:oklch(98% .003 250)}.row-empty td.sticky-left .nm{color:var(--ink-2)}.cv.empty.dashed{border:1px dashed var(--line-2);border-radius:var(--r-sm);place-items:center;width:64px;height:32px;margin-left:auto;padding:4px;display:grid}.cv.empty.dashed .big{font-size:10px}.row-top td{background:oklch(99% .012 60/.4)}.row-top td.sticky-left{background:oklch(99% .012 60/.7)}.kpi-matrix tfoot tr td{background:var(--bg-2);border-top:2px solid var(--line);padding:12px var(--sp-3);border-bottom:0}.kpi-matrix tfoot tr td.sticky-left{background:var(--bg-2);font-size:var(--fs-11);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--ink-3);font-weight:var(--fw-semibold)}.kpi-matrix tfoot tr.row-team-avg td{font-weight:var(--fw-medium)}.kpi-matrix tfoot tr.row-team-total td{background:oklch(95% .005 250)}.kpi-matrix tfoot tr.row-team-total td.sticky-left{color:var(--ink-1);background:oklch(94% .008 250)}.kpi-matrix tfoot tr.row-team-total .cv .big{font-size:var(--fs-18)}.cell-popover{background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-md);width:280px;box-shadow:var(--sh-2);padding:var(--sp-3);z-index:5;font-size:var(--fs-12);position:fixed;top:360px;left:590px}.cell-popover:before{content:"";background:var(--surface);border-left:1px solid var(--line-2);border-top:1px solid var(--line-2);width:12px;height:12px;position:absolute;top:-7px;left:30px;transform:rotate(45deg)}.cell-popover .pop-head{margin-bottom:var(--sp-2);padding-bottom:var(--sp-2);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;display:flex}.cell-popover .pop-head .ttl{font-size:var(--fs-13);font-weight:var(--fw-semibold);color:var(--ink-1)}.cell-popover .pop-head .v{font-family:var(--font-mono);font-weight:var(--fw-semibold);color:var(--ink-1)}.cell-popover ul{margin:0;padding:0;list-style:none}.cell-popover ul li{font-size:var(--fs-12);color:var(--ink-2);justify-content:space-between;padding:4px 0;display:flex}.cell-popover ul li .lcode{font-family:var(--font-mono);font-size:var(--fs-11);color:var(--ink-3);background:var(--bg-2);border-radius:var(--r-sm);border:1px solid var(--line);padding:0 5px}.cell-popover .pop-foot{margin-top:var(--sp-3);padding-top:var(--sp-2);border-top:1px solid var(--line);font-size:var(--fs-11);justify-content:space-between;align-items:center;display:flex}.cell-popover .pop-foot a{color:var(--info-ink);font-weight:var(--fw-medium)}.target-edit-mock{background:var(--surface);border:1px solid var(--accent);border-radius:var(--r-md);width:220px;box-shadow:var(--sh-2);padding:var(--sp-3);z-index:6;font-size:var(--fs-12);position:fixed;top:280px;left:920px}.target-edit-mock .te-head{font-size:var(--fs-11);color:var(--ink-3);text-transform:uppercase;letter-spacing:var(--tracking-caps);font-weight:var(--fw-medium);margin-bottom:var(--sp-2);justify-content:space-between;align-items:center;display:flex}.target-edit-mock .te-input{border:1px solid var(--line-2);border-radius:var(--r-sm);height:32px;padding:0 var(--sp-2);background:var(--bg-2);font-family:var(--font-mono);font-size:var(--fs-13);font-weight:var(--fw-semibold);align-items:center;display:flex}.target-edit-mock .te-input input{font:inherit;background:0 0;border:0;outline:0;flex:1}.target-edit-mock .te-foot{margin-top:var(--sp-2);justify-content:flex-end;gap:6px;display:flex}.target-edit-mock .te-foot .btn{height:24px;font-size:var(--fs-11);padding:0 8px}.target-edit-mock .te-prev{font-size:var(--fs-10);color:var(--ink-3);font-family:var(--font-mono);justify-content:space-between;margin-top:6px;display:flex}.topbar-actions{align-items:center;gap:var(--sp-1);margin-left:auto;display:flex}.page-header{padding-bottom:var(--sp-4);border-bottom:1px solid var(--line);margin-bottom:var(--sp-3);justify-content:space-between;align-items:flex-end;display:flex}.breadcrumb{font-size:var(--fs-11);color:var(--ink-3);text-transform:uppercase;letter-spacing:var(--tracking-caps);font-weight:var(--fw-medium);margin-bottom:6px}.breadcrumb .here{color:var(--ink-2)}.page-title-row{align-items:baseline;gap:var(--sp-3);display:flex}.page-title-row h1{font-size:var(--fs-22);letter-spacing:var(--tracking-tight);font-weight:var(--fw-semibold);margin:0}.page-title-row .total{font-family:var(--font-mono);font-size:var(--fs-13);color:var(--ink-3);font-variant-numeric:tabular-nums}.page-title-row .total b{color:var(--ink-1);font-weight:var(--fw-semibold)}.page-actions{align-items:center;gap:var(--sp-2);display:flex}.btn{align-items:center;gap:var(--sp-2);padding:0 var(--sp-3);height:var(--button-h);border:1px solid var(--line);background:var(--surface);color:var(--ink-1);border-radius:var(--r-md);font-size:var(--fs-13);font-weight:var(--fw-medium);transition:background var(--dur-fast);display:inline-flex}.btn:hover{background:var(--bg-2)}.btn.primary{background:var(--ink-1);border-color:var(--ink-1);color:#fff}.btn.primary:hover{background:oklch(28% .012 250)}.btn.accent{background:var(--accent);border-color:var(--accent);color:#fff}.btn.accent:hover{background:var(--accent-hover)}.btn.ghost{color:var(--ink-2);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--bg-3);color:var(--ink-1)}.btn.sm{height:var(--button-h-sm);padding:0 var(--sp-2);font-size:var(--fs-12)}.segmented{background:var(--bg-3);border:1px solid var(--line);border-radius:var(--r-md);padding:2px;display:inline-flex}.segmented button{padding:4px var(--sp-3);border-radius:var(--r-sm);font-size:var(--fs-12);font-weight:var(--fw-medium);color:var(--ink-3)}.segmented button.on{background:var(--surface);color:var(--ink-1);box-shadow:var(--sh-1)}.savedviews{padding-bottom:var(--sp-3);border-bottom:1px solid var(--line);margin-bottom:var(--sp-3);align-items:center;gap:2px;display:flex;overflow-x:auto}.sv-tab{border-radius:var(--r-md);font-size:var(--fs-12);font-weight:var(--fw-medium);color:var(--ink-3);white-space:nowrap;border:1px solid #0000;align-items:center;gap:6px;padding:5px 10px 5px 12px;display:inline-flex}.sv-tab:hover{background:var(--bg-2);color:var(--ink-1)}.sv-tab.active{background:var(--surface);color:var(--ink-1);border-color:var(--line);box-shadow:var(--sh-1)}.sv-tab .ct{font-family:var(--font-mono);font-size:var(--fs-10);font-variant-numeric:tabular-nums;border-radius:var(--r-sm);background:var(--bg-3);color:var(--ink-3);padding:0 5px}.sv-tab.active .ct{background:var(--accent-soft);color:var(--accent-ink)}.sv-divider{background:var(--line);width:1px;height:16px;margin:0 var(--sp-2)}.sv-add{font-size:var(--fs-11);color:var(--ink-3);border-radius:var(--r-sm);border:1px dashed var(--line);padding:4px 8px}.sv-add:hover{color:var(--ink-1);border-color:var(--line-2)}.filterbar{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);margin-bottom:var(--sp-3);overflow:hidden}.filterbar-row{align-items:center;gap:var(--sp-2);padding:var(--sp-3);flex-wrap:wrap;display:flex}.fb-search{flex:1;min-width:280px;max-width:320px;position:relative}.fb-search input{width:100%;height:32px;padding:0 var(--sp-3) 0 32px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg-2);font-size:var(--fs-12)}.fb-search .ico{color:var(--ink-3);position:absolute;top:50%;left:9px;transform:translateY(-50%)}.fb-chip{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);height:30px;font-size:var(--fs-12);color:var(--ink-2);font-weight:var(--fw-medium);white-space:nowrap;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.fb-chip:hover{background:var(--bg-2)}.fb-chip .label{color:var(--ink-3);font-weight:var(--fw-regular)}.fb-chip .val{color:var(--ink-1)}.fb-chip .caret{color:var(--ink-3)}.fb-chip.has-value{border-color:var(--line-2);background:var(--bg-2)}.fb-chip.has-value .val{color:var(--accent-ink);font-weight:var(--fw-semibold)}.fb-chip .x{width:14px;height:14px;color:var(--ink-3);border-radius:50%;place-items:center;margin-left:2px;display:grid}.fb-chip .x:hover{background:var(--bg-3);color:var(--ink-1)}.fb-divider{background:var(--line);width:1px;height:22px}.fb-clear{font-size:var(--fs-12);color:var(--ink-3);padding:0 var(--sp-2);align-items:center;height:30px;display:inline-flex}.fb-clear:hover{color:var(--risk-ink)}.fb-meta{gap:var(--sp-3);font-size:var(--fs-11);color:var(--ink-3);padding:8px var(--sp-3);background:var(--bg-2);border-top:1px solid var(--line);align-items:center;display:flex}.fb-meta .strong{color:var(--ink-1);font-weight:var(--fw-medium);font-variant-numeric:tabular-nums}.fb-meta .right{gap:var(--sp-3);align-items:center;margin-left:auto;display:flex}.bulkbar{align-items:center;gap:var(--sp-3);padding:10px var(--sp-3);background:var(--ink-1);color:var(--surface);border-radius:var(--r-md);margin-bottom:var(--sp-3);font-size:var(--fs-12);display:flex}.bulkbar .selcount{font-family:var(--font-mono);font-weight:var(--fw-semibold);border-radius:var(--r-pill);background:#ffffff26;padding:2px 8px}.bulkbar .bba{border-radius:var(--r-sm);font-size:var(--fs-12);font-weight:var(--fw-medium);color:var(--surface);border:1px solid #ffffff2e;align-items:center;gap:4px;padding:4px 10px;display:inline-flex}.bulkbar .bba:hover{background:#ffffff1a}.bulkbar .bba.danger{color:oklch(80% .12 27)}.bulkbar .spacer{flex:1}.bulkbar .deselect{font-size:var(--fs-11);color:oklch(78% .008 250);cursor:pointer}.chip{border-radius:var(--r-pill);background:var(--neutral-chip);height:20px;color:var(--neutral-chip-ink);font-size:10.5px;font-weight:var(--fw-medium);white-space:nowrap;border:1px solid #0000;align-items:center;gap:5px;padding:0 7px;display:inline-flex}.chip .dot{background:currentColor;border-radius:50%;width:5px;height:5px}.chip.ok{background:var(--ok-soft);color:var(--ok-ink)}.chip.warn{background:var(--warn-soft);color:var(--warn-ink)}.chip.risk{background:var(--risk-soft);color:var(--risk-ink)}.chip.info{background:var(--info-soft);color:var(--info-ink)}.chip.accent{background:var(--accent-soft);color:var(--accent-ink)}.chip.outline{background:var(--surface);border-color:var(--line);color:var(--ink-2)}.tag{border-radius:var(--r-sm);height:18px;font-family:var(--font-mono);font-size:9.5px;font-weight:var(--fw-medium);letter-spacing:.02em;background:var(--bg-3);color:var(--ink-2);align-items:center;padding:0 5px;display:inline-flex}.tag.code{background:var(--bg-2);color:var(--ink-2);border:1px solid var(--line)}.work-grid{gap:var(--sp-3);grid-template-columns:1fr 360px;align-items:flex-start;display:grid}.table-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}.tbl{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--fs-12)}.tbl thead th{text-align:left;font-size:var(--fs-10);font-weight:var(--fw-medium);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--ink-3);background:var(--bg-2);border-bottom:1px solid var(--line);white-space:nowrap;padding:10px}.tbl tbody td{border-bottom:1px solid var(--line);vertical-align:middle;padding:10px}.tbl tbody tr:last-child td{border-bottom:0}.tbl tbody tr:hover td{background:var(--bg-2);cursor:pointer}.tbl tbody tr.selected td{background:oklch(96% .03 35)}.tbl tbody tr.selected:hover td{background:oklch(94% .035 35)}.tbl .check-col{width:28px;padding-left:var(--sp-3);padding-right:0}.cbox{border:1.5px solid var(--line-2);background:var(--surface);cursor:pointer;vertical-align:-2px;border-radius:3px;place-items:center;width:14px;height:14px;display:inline-grid;position:relative}.cbox.checked{background:var(--ink-1);border-color:var(--ink-1)}.cbox.checked:after{content:"";border-left:1.5px solid var(--surface);border-bottom:1.5px solid var(--surface);width:8px;height:4px;transform:rotate(-45deg)translateY(-1px)}.cbox.indeterminate{background:var(--ink-1);border-color:var(--ink-1)}.cbox.indeterminate:after{content:"";background:var(--surface);width:8px;height:1.5px}.date-cell{font-family:var(--font-mono);font-size:var(--fs-11);font-variant-numeric:tabular-nums;color:var(--ink-2);letter-spacing:-.01em;flex-direction:column;display:flex}.date-cell .rel{font-family:var(--font-sans);color:var(--ink-3);text-transform:uppercase;letter-spacing:var(--tracking-caps);font-size:9.5px;font-weight:var(--fw-medium);margin-top:2px}.date-cell .rel.today{color:var(--ok-ink)}.channel{border-radius:var(--r-sm);background:var(--bg-2);width:28px;height:28px;color:var(--ink-3);place-items:center;display:grid}.channel.wa{color:oklch(45% .15 150);background:oklch(94% .04 150)}.channel.mail{color:var(--info-ink);background:oklch(94% .025 245)}.channel.sms{color:oklch(40% .13 320);background:oklch(94% .03 320)}.dest-cell{align-items:center;gap:8px;min-width:0;display:flex}.dest-cell .info{min-width:0}.dest-cell .nm{font-size:var(--fs-12);font-weight:var(--fw-semibold);color:var(--ink-1);white-space:nowrap;text-overflow:ellipsis;max-width:160px;overflow:hidden}.dest-cell .role{color:var(--ink-3);text-transform:uppercase;letter-spacing:var(--tracking-caps);font-size:9.5px;font-weight:var(--fw-medium);align-items:center;gap:4px;margin-top:1px;display:flex}.dest-cell .role .dest-type{font-family:var(--font-mono);letter-spacing:.04em;background:var(--bg-3);color:var(--ink-3);border-radius:var(--r-sm);padding:0 4px;font-size:9px}.dest-cell .role .dest-type.cliente{color:var(--accent-ink);background:oklch(94% .045 60)}.dest-cell .role .dest-type.custode{color:var(--info-ink);background:oklch(94% .035 245)}.dest-cell .role .dest-type.tribunale{background:var(--ink-1);color:#fff}.dest-cell .role .dest-type.notaio{color:oklch(38% .13 285);background:oklch(94% .035 285)}.dest-cell .role .dest-type.interno{color:oklch(45% .15 150);background:oklch(94% .04 150)}.entity-chip{border-radius:var(--r-sm);height:20px;font-family:var(--font-mono);font-size:10px;font-weight:var(--fw-medium);background:var(--bg-2);color:var(--ink-2);border:1px solid var(--line);letter-spacing:.02em;white-space:nowrap;align-items:center;padding:0 6px;display:inline-flex}.entity-chip:hover{background:var(--bg-3);color:var(--ink-1)}.entity-empty{color:var(--ink-4);font-size:10px;font-style:italic}.subj-cell{min-width:0}.subj-cell .subj{font-size:var(--fs-12);font-weight:var(--fw-semibold);color:var(--ink-1);white-space:nowrap;text-overflow:ellipsis;max-width:280px;overflow:hidden}.subj-cell .subj.wa:before{content:"(WA)";font-family:var(--font-mono);font-size:9.5px;font-weight:var(--fw-regular);color:oklch(45% .15 150);margin-right:5px}.subj-cell .prev{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;max-width:280px;margin-top:2px;font-size:10.5px;overflow:hidden}.status{border-radius:var(--r-pill);height:20px;font-size:10.5px;font-weight:var(--fw-medium);white-space:nowrap;border:1px solid #0000;align-items:center;gap:5px;padding:0 8px;display:inline-flex}.status .dot{border-radius:50%;width:5px;height:5px}.status.inviato{background:var(--bg-3);color:var(--ink-2)}.status.inviato .dot{background:var(--ink-3)}.status.consegnato{background:var(--info-soft);color:var(--info-ink)}.status.consegnato .dot{background:var(--info)}.status.letto{background:var(--ok-soft);color:var(--ok-ink)}.status.letto .dot{background:var(--ok)}.status.risposto{color:oklch(36% .13 150);font-weight:var(--fw-semibold);background:oklch(94% .04 150);border-color:oklch(80% .1 150)}.status.risposto .dot{background:oklch(50% .15 150)}.status.fallito{background:var(--risk-soft);color:var(--risk-ink)}.status.fallito .dot{background:var(--risk)}.op-cell{align-items:center;gap:6px;display:flex}.op-cell .avatar{width:20px;height:20px;font-size:9px}.op-cell .nm{font-size:var(--fs-11);color:var(--ink-2)}.row-actions{opacity:0;transition:opacity var(--dur-fast);gap:2px;display:flex}.tbl tbody tr:hover .row-actions{opacity:1}.row-actions button{border-radius:var(--r-sm);width:24px;height:24px;color:var(--ink-3);place-items:center;display:grid}.row-actions button:hover{background:var(--bg-3);color:var(--ink-1)}.pagination{padding:var(--sp-3) var(--sp-4);background:var(--bg-2);border-top:1px solid var(--line);font-size:var(--fs-12);color:var(--ink-3);justify-content:space-between;align-items:center;display:flex}.pgnav{align-items:center;gap:2px;display:flex}.pgnav button{border-radius:var(--r-sm);min-width:26px;height:26px;font-size:var(--fs-12);font-family:var(--font-mono);color:var(--ink-2);padding:0 8px}.pgnav button:hover{background:var(--bg-3)}.pgnav button.on{background:var(--ink-1);color:var(--surface);font-weight:var(--fw-semibold)}.pgnav button.disabled{color:var(--ink-4)}.thread-drawer{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);top:calc(var(--topbar-h) + var(--sp-5));max-height:calc(100vh - var(--topbar-h) - var(--sp-5) - var(--sp-5));flex-direction:column;display:flex;position:sticky;overflow:hidden}.thread-drawer .td-head{align-items:center;gap:var(--sp-2);padding:var(--sp-3);border-bottom:1px solid var(--line);display:flex}.thread-drawer .td-head .info{flex:1;min-width:0}.thread-drawer .td-head .nm{font-size:var(--fs-13);font-weight:var(--fw-semibold);color:var(--ink-1);align-items:center;gap:6px;display:flex}.thread-drawer .td-head .meta{color:var(--ink-3);align-items:center;gap:5px;margin-top:2px;font-size:10.5px;display:flex}.thread-drawer .td-head .meta .sep{color:var(--ink-4)}.thread-drawer .td-head .actions{gap:2px;display:flex}.thread-drawer .td-head .actions button{border-radius:var(--r-sm);width:26px;height:26px;color:var(--ink-3);place-items:center;display:grid}.thread-drawer .td-head .actions button:hover{background:var(--bg-3);color:var(--ink-1)}.td-meta-row{padding:8px var(--sp-3);border-bottom:1px solid var(--line);background:var(--bg-2);font-size:var(--fs-11);color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.td-body{padding:var(--sp-3);gap:var(--sp-3);background:oklch(98% .005 250);flex-direction:column;flex:1;display:flex;overflow-y:auto}.bubble-day{text-align:center;text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--ink-4);font-size:9.5px;font-weight:var(--fw-medium);padding:4px 0}.bubble{border-radius:var(--r-md);max-width:80%;font-size:var(--fs-12);box-shadow:var(--sh-1);padding:8px 10px;line-height:1.4;position:relative}.bubble.out{color:var(--ink-1);background:oklch(96% .04 150);border-bottom-right-radius:2px;align-self:flex-end}.bubble.in{background:var(--surface);color:var(--ink-1);border:1px solid var(--line);border-bottom-left-radius:2px;align-self:flex-start}.bubble .ts{font-size:9.5px;font-family:var(--font-mono);color:var(--ink-3);text-align:right;font-variant-numeric:tabular-nums;margin-top:4px;display:block}.bubble.out .ts{justify-content:flex-end;align-items:center;gap:4px;display:flex}.bubble.out .ts .ok-ck{color:oklch(45% .15 150)}.bubble.in .ts{text-align:left}.bubble strong{font-weight:var(--fw-semibold)}.bubble.system{background:var(--bg-3);color:var(--ink-3);border-radius:var(--r-pill);box-shadow:none;align-self:center;padding:4px 10px;font-size:10.5px;font-style:italic}.td-composer{padding:var(--sp-3);border-top:1px solid var(--line);background:var(--surface);gap:var(--sp-2);flex-direction:column;display:flex}.td-composer .ch-toggle{gap:4px;font-size:10.5px;display:flex}.td-composer .ch-toggle button{border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface);color:var(--ink-3);font-weight:var(--fw-medium);align-items:center;gap:4px;padding:3px 8px;display:inline-flex}.td-composer .ch-toggle button.on{color:oklch(36% .13 150);background:oklch(94% .04 150);border-color:oklch(82% .1 150)}.td-composer textarea{border:1px solid var(--line);border-radius:var(--r-md);width:100%;font-family:inherit;font-size:var(--fs-12);resize:vertical;background:var(--bg-2);outline:0;min-height:56px;padding:8px 10px}.td-composer textarea:focus{background:var(--surface);border-color:var(--line-2)}.td-composer .row{justify-content:space-between;align-items:center;display:flex}.td-composer .left-tools{gap:2px;display:flex}.td-composer .left-tools button{border-radius:var(--r-sm);width:28px;height:28px;color:var(--ink-3);place-items:center;display:grid}.td-composer .left-tools button:hover{background:var(--bg-3);color:var(--ink-1)}.td-composer .template-pill{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-pill);color:var(--ink-3);padding:3px 8px;font-size:10.5px}.muted{color:var(--ink-3)}.mono{font-family:var(--font-mono);font-feature-settings:"tnum"}.row{align-items:center;gap:var(--sp-2);display:flex}.hero>div:first-child{flex:auto;min-width:0}.hero h1{white-space:nowrap}@media (width<=900px){.hero h1{white-space:normal}}.mockup-page{display:block}main.content>.hero{border-bottom:1px solid var(--line);margin-bottom:var(--sp-5);padding:0;padding-bottom:var(--sp-4);background:0 0;justify-content:space-between;align-items:flex-end;grid-template-columns:none!important;display:flex!important}main.content>.hero>div:first-child{flex:auto;min-width:0}main.content>.hero h1{font-size:var(--fs-22);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-tight);margin:0 0 var(--sp-1);white-space:nowrap}main.content>.hero .hero-sub{color:var(--ink-3);font-size:var(--fs-13);white-space:normal}main.content>.hero .hero-actions{align-items:center;gap:var(--sp-2);flex-shrink:0;display:flex}@media (width<=900px){main.content>.hero h1{white-space:normal}}.search-dropdown{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);max-height:420px;z-index:var(--z-dropdown);box-shadow:var(--sh-2);position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}.search-section{padding:var(--sp-2) 0;border-bottom:1px solid var(--line)}.search-section:last-child{border-bottom:0}.search-section-title{font-size:var(--fs-10);text-transform:uppercase;font-weight:var(--fw-bold);letter-spacing:var(--tracking-caps);color:var(--ink-3);padding:0 var(--sp-3) 4px var(--sp-3)}.search-hit{padding:6px var(--sp-3);cursor:pointer;font-size:var(--fs-13);color:var(--ink-1)}.search-hit:hover{background:var(--bg-2)}.search-empty{padding:var(--sp-4);text-align:center;color:var(--ink-3);font-size:var(--fs-13)}.tbl .link-btn{text-align:left;font-size:var(--fs-12);color:var(--ink-1);cursor:pointer;background:0 0;border:0;padding:0}.tbl .link-btn:hover{background:0 0;text-decoration:underline}.login-wrap{z-index:1;width:420px;position:relative}.brand-block{text-align:center;margin-bottom:var(--sp-5)}.brand-mark-lg{width:64px;height:64px;margin:0 auto var(--sp-3);background:var(--ink-1);color:var(--surface);border-radius:var(--r-lg);font-weight:var(--fw-bold);font-size:var(--fs-26);box-shadow:var(--sh-2);place-items:center;display:grid;position:relative}.brand-mark-lg:after{content:"";background:var(--accent);border-radius:var(--r-sm);border:2.5px solid oklch(94% .02 60);width:16px;height:16px;position:absolute;inset:auto -5px -5px auto}.brand-name{font-family:var(--font-serif);letter-spacing:-.01em;color:var(--ink-1);font-size:28px;font-weight:600;line-height:1}.brand-sub{font-family:var(--font-mono);font-size:var(--fs-10);text-transform:uppercase;letter-spacing:.18em;color:var(--ink-3);margin-top:6px}.login-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:var(--sp-6) var(--sp-6) var(--sp-5);box-shadow:var(--sh-3);position:relative}.login-card h1{font-family:var(--font-serif);letter-spacing:-.01em;margin:0 0 var(--sp-1);color:var(--ink-1);font-size:24px;font-weight:600}.login-card .h1-sub{font-size:var(--fs-12);color:var(--ink-3);margin-bottom:var(--sp-5)}.err-banner{align-items:center;gap:var(--sp-2);padding:10px var(--sp-3);background:var(--risk-soft);border:1px solid var(--risk-line);border-radius:var(--r-md);font-size:var(--fs-12);color:var(--risk-ink);margin-bottom:var(--sp-4);display:flex}.err-banner .ic{color:var(--risk);flex-shrink:0}.err-banner .txt{flex:1}.err-banner .txt b{font-weight:var(--fw-semibold)}.err-banner .txt .tries{font-family:var(--font-mono);font-size:var(--fs-11);border-radius:var(--r-sm);background:#ffffff80;margin-left:4px;padding:1px 5px}.field{margin-bottom:var(--sp-3);flex-direction:column;gap:6px;display:flex}.field label{font-size:var(--fs-11);font-weight:var(--fw-medium);color:var(--ink-2)}.field .input{border:1px solid var(--line);background:var(--bg-2);border-radius:var(--r-md);height:40px;padding:0 var(--sp-3);transition:border var(--dur-fast), background var(--dur-fast);align-items:center;display:flex}.field .input:focus-within{background:var(--surface);border-color:var(--accent);box-shadow:var(--sh-focus)}.field .input.has-value{background:var(--surface);border-color:var(--line-2)}.field .input .ic{color:var(--ink-3);margin-right:var(--sp-2)}.field .input input{font:inherit;font-size:var(--fs-13);color:var(--ink-1);background:0 0;border:0;outline:0;flex:1}.field .input input::placeholder{color:var(--ink-4)}.field .input .pwd-toggle{border-radius:var(--r-sm);width:26px;height:26px;color:var(--ink-3);place-items:center;margin-right:-6px;display:grid}.field .input .pwd-toggle:hover{background:var(--bg-3);color:var(--ink-1)}.row-line{margin:var(--sp-4) 0 var(--sp-3);justify-content:space-between;align-items:center;display:flex}.checkbox-line{align-items:center;gap:var(--sp-2);font-size:var(--fs-12);color:var(--ink-2);cursor:pointer;display:flex}.checkbox-line .cb{border:1.5px solid var(--line-2);border-radius:var(--r-sm);background:var(--surface);flex-shrink:0;place-items:center;width:16px;height:16px;display:grid}.checkbox-line .cb.checked{background:var(--accent);border-color:var(--accent)}.checkbox-line .cb.checked:after{content:"";border-bottom:2px solid #fff;border-left:2px solid #fff;width:9px;height:5px;transform:rotate(-45deg)translateY(-1px)}.link-forgot{font-size:var(--fs-12);color:var(--accent-ink);font-weight:var(--fw-medium)}.link-forgot:hover{text-underline-offset:2px;text-decoration:underline}.btn-login{background:var(--ink-1);width:100%;height:44px;color:var(--surface);border:1px solid var(--ink-1);border-radius:var(--r-md);font-size:var(--fs-14);font-weight:var(--fw-semibold);cursor:pointer;justify-content:center;align-items:center;gap:var(--sp-2);transition:background var(--dur-fast);display:inline-flex}.btn-login:hover{background:oklch(28% .012 250)}.btn-login[disabled]{opacity:.7;cursor:not-allowed}.btn-login .spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.access-note{text-align:center;margin-top:var(--sp-4);font-size:var(--fs-11);color:var(--ink-3)}.access-note svg{vertical-align:-2px;color:var(--ink-4);margin-right:4px}.card-foot{margin-top:var(--sp-5);padding-top:var(--sp-4);border-top:1px solid var(--line);font-size:var(--fs-11);color:var(--ink-3);justify-content:space-between;align-items:center;display:flex}.card-foot .ver{font-family:var(--font-mono);font-size:var(--fs-10)}.card-foot a{color:var(--ink-3);margin-left:12px}.card-foot a:hover{color:var(--ink-1)}.footnote{text-align:center;margin-top:var(--sp-4);font-size:var(--fs-11);color:var(--ink-3);z-index:1;position:relative}.footnote a{color:var(--accent-ink);font-weight:var(--fw-medium)}.tbl tbody td{padding:12px var(--sp-3)}.date-cell .d{font-family:var(--font-mono);font-size:var(--fs-13);font-weight:var(--fw-semibold);color:var(--ink-1);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.date-cell .row-meta{align-items:center;gap:6px;margin-top:3px;display:flex}.date-cell .row-meta .cd{font-size:10px;font-weight:var(--fw-medium);border-radius:var(--r-pill);font-family:var(--font-mono);font-variant-numeric:tabular-nums;align-items:center;padding:1px 6px;display:inline-flex}.date-cell .row-meta .cd.today{background:var(--ok-soft);color:var(--ok-ink)}.date-cell .row-meta .cd.soon{background:var(--risk-soft);color:var(--risk-ink)}.date-cell .row-meta .cd.upcoming{background:var(--warn-soft);color:var(--warn-ink)}.date-cell .row-meta .cd.past{background:var(--bg-3);color:var(--ink-3)}.date-cell .row-meta .dur{color:var(--ink-3);text-transform:uppercase;letter-spacing:var(--tracking-caps);font-size:9.5px;font-family:var(--font-sans);font-weight:var(--fw-medium)}.custode-cell .nm{font-size:var(--fs-12);font-weight:var(--fw-medium);color:var(--ink-1)}.custode-cell .tel{font-family:var(--font-mono);color:var(--ink-3);align-items:center;gap:4px;margin-top:2px;font-size:10.5px;display:inline-flex}.custode-cell .tel:hover{color:var(--accent-ink)}.custode-cell .tel .ic{color:oklch(50% .15 150)}.custode-cell .sollecito{border-radius:var(--r-sm);background:var(--warn-soft);height:16px;color:var(--warn-ink);font-size:9.5px;font-family:var(--font-mono);font-weight:var(--fw-semibold);align-items:center;gap:3px;margin-left:6px;padding:0 5px;display:inline-flex}.owner-cell{font-size:var(--fs-12);align-items:center;gap:6px;display:flex}.s-stato{border-radius:var(--r-sm);height:22px;font-size:10.5px;font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:5px;padding:0 8px;display:inline-flex}.s-stato .dot{background:currentColor;border-radius:50%;width:5px;height:5px}.s-stato.programmato{background:var(--info-soft);color:var(--info-ink)}.s-stato.fissato{background:var(--ok-soft);color:var(--ok-ink)}.s-stato.effettuato{background:var(--ok);color:#fff}.s-stato.effettuato .dot{background:oklch(95% .04 155)}.s-stato.annullato{background:var(--risk-soft);color:var(--risk-ink)}.s-stato.dafissare{background:var(--warn-soft);color:var(--warn-ink)}.s-stato.richiesta{background:var(--warn-soft);color:var(--warn-ink);border:1px dashed var(--warn-line)}.s-stato.noshow{background:var(--risk);color:#fff}.s-stato.noshow .dot{background:oklch(95% .04 27)}.esito{border-radius:var(--r-pill);height:20px;font-size:10.5px;font-weight:var(--fw-medium);align-items:center;gap:4px;padding:0 7px;display:inline-flex}.esito.pos{background:var(--ok-soft);color:var(--ok-ink)}.esito.neu{background:var(--bg-3);color:var(--ink-2)}.esito.neg{background:var(--risk-soft);color:var(--risk-ink)}.note-cell{min-width:0;max-width:260px}.note-cell .prev{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;max-width:220px;font-size:10.5px;overflow:hidden}.note-cell .att{color:var(--ink-3);font-size:10px;font-family:var(--font-mono);align-items:center;gap:3px;margin-top:3px;display:inline-flex}.s-hero{gap:var(--sp-5);padding:var(--sp-5) var(--sp-6);background:var(--surface);border-bottom:1px solid var(--line);grid-template-columns:160px 1fr auto;align-items:flex-start;display:grid}.day-block-lg{background:var(--ink-1);color:#fff;border-radius:var(--r-lg);padding:var(--sp-3) var(--sp-3) var(--sp-4);text-align:center;position:relative;overflow:hidden}.day-block-lg:before{content:"";background:var(--accent);opacity:.18;border-radius:50%;width:90px;height:90px;position:absolute;top:-30px;right:-30px}.day-block-lg .dow{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.18em;color:oklch(78% .008 250);font-size:10px;font-weight:var(--fw-medium);margin-bottom:var(--sp-2);border-bottom:1px solid #ffffff1f;padding-bottom:6px}.day-block-lg .num{font-family:var(--font-serif);letter-spacing:-.04em;z-index:1;font-size:56px;font-weight:600;line-height:1;position:relative}.day-block-lg .mo{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:oklch(80% .008 250);margin-top:4px;font-size:11px}.day-block-lg .hr{font-family:var(--font-mono);font-size:var(--fs-16);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;letter-spacing:-.01em;margin-top:12px}.day-block-lg .dur{text-transform:uppercase;letter-spacing:var(--tracking-caps);color:oklch(78% .008 250);font-size:10px;font-weight:var(--fw-medium);margin-top:4px}.s-sum{gap:var(--sp-3);flex-direction:column;min-width:0;display:flex}.s-title{font-size:var(--fs-22);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-tight);color:var(--ink-1);margin:0;line-height:1.2}.s-title .lot-link{font-family:var(--font-mono);font-size:var(--fs-12);background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--ink-2);vertical-align:middle;font-weight:var(--fw-regular);margin-left:8px;padding:2px 7px}.s-chips{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.s-chips .code-chip{font-family:var(--font-mono);font-size:var(--fs-12);background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--ink-2);align-items:center;gap:6px;height:26px;padding:3px 9px;display:inline-flex}.s-countdown{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--accent-soft);border-left:3px solid var(--accent);border-radius:var(--r-md);display:flex}.s-countdown .v{font-family:var(--font-serif);color:var(--accent-ink);letter-spacing:-.02em;font-size:26px;font-weight:600;line-height:1}.s-countdown .meta{font-size:var(--fs-12);color:var(--ink-2);line-height:1.4}.s-countdown .meta b{color:var(--ink-1);font-weight:var(--fw-semibold)}.s-countdown .weather{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);font-size:var(--fs-12);color:var(--ink-2);align-items:center;gap:8px;margin-left:auto;padding:6px 10px;display:flex}.s-countdown .weather .t{font-family:var(--font-mono);font-weight:var(--fw-semibold);color:var(--ink-1)}.s-actions{gap:var(--sp-2);flex-direction:column;align-items:flex-end;display:flex}.s-actions .row{gap:var(--sp-2);align-items:center;display:flex}.cli-block{gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);grid-template-columns:56px 1fr auto;align-items:center;display:grid}.cli-block .info{min-width:0}.cli-block .info .nm{font-size:var(--fs-15);font-weight:var(--fw-semibold);color:var(--ink-1)}.cli-block .info .code{font-family:var(--font-mono);font-size:var(--fs-11);color:var(--ink-3)}.cli-block .info .chips{flex-wrap:wrap;gap:5px;margin-top:6px;display:flex}.cli-block .info .contacts{align-items:center;gap:var(--sp-3);font-size:var(--fs-11);color:var(--ink-2);margin-top:6px;display:flex}.cli-block .info .contacts .item{align-items:center;gap:4px;display:inline-flex}.cli-block .info .contacts .item .ic{color:var(--ink-3)}.cli-block .info .contacts .item.wa .ic{color:oklch(50% .15 150)}.cli-block .info .contacts .item .v{font-family:var(--font-mono)}.cli-block .info .extra{gap:var(--sp-3);font-size:var(--fs-11);color:var(--ink-3);margin-top:8px;display:flex}.cli-block .info .extra b{color:var(--ink-2);font-weight:var(--fw-medium)}.lot-block{gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);grid-template-columns:72px 1fr auto;align-items:center;display:grid}.lot-block .thumb{border-radius:var(--r-md);background:repeating-linear-gradient(45deg,oklch(92% .006 250),oklch(92% .006 250) 8px,oklch(95% .005 250) 8px 16px);width:72px;height:72px}.lot-block .info{min-width:0}.lot-block .info .ttl{font-size:var(--fs-14);font-weight:var(--fw-semibold);color:var(--ink-1)}.lot-block .info .ttl .code{font-family:var(--font-mono);font-size:var(--fs-11);background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--ink-3);font-weight:var(--fw-regular);margin-left:6px;padding:1px 5px}.lot-block .info .meta{font-size:var(--fs-11);color:var(--ink-3);margin-top:3px}.lot-block .info .row2{gap:var(--sp-3);font-size:var(--fs-12);margin-top:8px;display:flex}.lot-block .info .row2 b{color:var(--ink-1);font-weight:var(--fw-semibold);font-family:var(--font-mono)}.lot-block .info .row2 span{color:var(--ink-3)}.custode-block{padding:var(--sp-4)}.custode-block .top{gap:var(--sp-3);margin-bottom:var(--sp-4);grid-template-columns:1fr auto;display:grid}.custode-block .top .nm{font-size:var(--fs-14);font-weight:var(--fw-semibold)}.custode-block .top .studio{font-size:var(--fs-12);color:var(--ink-3);margin-top:2px}.custode-block .top .contacts{font-size:var(--fs-12);flex-direction:column;gap:6px;display:flex}.custode-block .top .contacts a{color:var(--ink-2);align-items:center;gap:6px;display:inline-flex}.custode-block .top .contacts a:hover{color:var(--ink-1)}.custode-block .top .contacts a .ic{color:var(--ink-3)}.custode-block .top .contacts a.wa .ic{color:oklch(50% .15 150)}.custode-block .top .contacts a.tel{font-family:var(--font-mono)}.sollecito-tl{background:var(--bg-2);border:1px solid var(--line);border-left:3px solid var(--warn);border-radius:var(--r-md);padding:var(--sp-3)}.sollecito-tl .head{font-size:var(--fs-11);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--warn-ink);font-weight:var(--fw-semibold);margin-bottom:var(--sp-2);align-items:center;gap:6px;display:flex}.sollecito-tl .head .ct{font-family:var(--font-mono);background:var(--warn);color:#fff;border-radius:var(--r-pill);padding:1px 6px;font-size:9.5px}.sollecito-tl .items{align-items:center;gap:0;display:flex}.sollecito-tl .it{text-align:center;flex:1;padding:4px;position:relative}.sollecito-tl .it:before{content:"";background:var(--warn-line);height:2px;position:absolute;top:16px;left:-50%;right:50%}.sollecito-tl .it:first-child:before{display:none}.sollecito-tl .it .node{background:var(--warn);color:#fff;width:22px;height:22px;font-family:var(--font-mono);font-size:10px;font-weight:var(--fw-semibold);z-index:1;border-radius:50%;place-items:center;margin:0 auto;display:grid;position:relative}.sollecito-tl .it.future .node{background:var(--surface);border:2px dashed var(--warn-line);color:var(--ink-4)}.sollecito-tl .it.future:before{border-top:2px dashed var(--warn-line);background:0 0;height:0}.sollecito-tl .it .when{font-family:var(--font-mono);color:var(--ink-2);font-variant-numeric:tabular-nums;margin-top:4px;font-size:10px}.sollecito-tl .it .lbl{color:var(--ink-3);text-transform:uppercase;letter-spacing:.02em;margin-top:2px;font-size:9.5px}.custode-note{margin-top:var(--sp-3);background:var(--bg-2);border-left:2px solid var(--line-2);border-radius:var(--r-sm);font-size:var(--fs-12);color:var(--ink-2);padding:8px 10px;line-height:1.45}.notes-edit{border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg-2);padding:var(--sp-3);margin-bottom:var(--sp-3)}.notes-edit .lbl{font-size:var(--fs-11);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--ink-3);font-weight:var(--fw-medium);margin-bottom:6px}.notes-edit .body{font-size:var(--fs-13);color:var(--ink-1);line-height:var(--lh-default);background:var(--surface);border-radius:var(--r-sm);border:1px solid var(--line);min-height:80px;padding:10px}.notes-edit .body b{font-weight:var(--fw-semibold)}.notes-edit .body em{background:var(--accent-soft);color:var(--accent-ink);font-style:normal;font-family:var(--font-mono);font-size:var(--fs-11);border-radius:3px;padding:0 4px}.notes-edit .meta{color:var(--ink-3);text-align:right;margin-top:6px;font-size:10px}.esito-card{background:var(--bg-2);border:1px dashed var(--line-2);border-radius:var(--r-md);padding:var(--sp-4);text-align:center;color:var(--ink-3)}.esito-card .hint{font-size:var(--fs-12);font-style:italic}.esito-card.active{background:var(--surface);border-style:solid;border-color:var(--line-2);text-align:left}.stars{color:var(--warn);gap:4px;font-size:18px;display:inline-flex}.stars .empty{color:var(--ink-4)}.esito-flags{flex-wrap:wrap;gap:6px;display:flex}.esito-flag{border-radius:var(--r-sm);font-size:var(--fs-12);font-weight:var(--fw-medium);background:var(--bg-2);border:1px solid var(--line);color:var(--ink-2);cursor:pointer;align-items:center;gap:5px;padding:5px 10px;display:inline-flex}.esito-flag.on{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-ink)}.esito-flag.alto{background:var(--ok-soft);border-color:var(--ok-line);color:var(--ok-ink)}.esito-flag.alto.on{background:var(--ok);color:#fff}.esito-flag.medio{background:var(--warn-soft);border-color:var(--warn-line);color:var(--warn-ink)}.esito-flag.basso{background:var(--risk-soft);border-color:var(--risk-line);color:var(--risk-ink)}.esito-flag.no{background:var(--bg-3);border-color:var(--line-2);color:var(--ink-3)}.allegati-grid{padding:var(--sp-3);grid-template-columns:repeat(6,1fr);gap:6px;display:grid}.allegato{aspect-ratio:1;border-radius:var(--r-sm);cursor:pointer;background:repeating-linear-gradient(45deg,oklch(92% .006 250),oklch(92% .006 250) 6px,oklch(95% .005 250) 6px 12px);position:relative;overflow:hidden}.allegato .label{color:#fff;font-family:var(--font-mono);border-radius:var(--r-sm);letter-spacing:.02em;background:#14100ab3;padding:1px 5px;font-size:9px;position:absolute;bottom:4px;left:4px}.allegato.pdf{background:var(--risk-soft);color:var(--risk-ink);font-family:var(--font-mono);font-weight:var(--fw-bold);place-items:center;font-size:13px;display:grid}.allegato.video{color:#fff;background:linear-gradient(135deg,oklch(80% .06 250),oklch(72% .08 250));place-items:center;display:grid}.allegato.more{background:var(--ink-1);color:#fff;font-family:var(--font-mono);font-weight:var(--fw-semibold);font-size:var(--fs-13);place-items:center;display:grid}.countdown-card{background:var(--ink-1);color:#fff;border-radius:var(--r-lg);padding:var(--sp-4);position:relative;overflow:hidden}.countdown-card:before{content:"";background:var(--accent);opacity:.25;border-radius:50%;width:120px;height:120px;position:absolute;top:-40px;right:-40px}.countdown-card .lbl{font-size:var(--fs-10);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:oklch(78% .008 250);font-weight:var(--fw-semibold);margin-bottom:var(--sp-3);align-items:center;gap:6px;display:flex}.countdown-card .lbl .pulse{background:var(--accent);border-radius:50%;width:6px;height:6px}.countdown-card .when{font-family:var(--font-mono);font-size:18px;font-weight:var(--fw-semibold);letter-spacing:-.01em;margin-bottom:var(--sp-2)}.countdown-card .digits{padding-top:var(--sp-3);border-top:1px solid #ffffff1a;grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.countdown-card .digit{font-family:var(--font-mono);flex-direction:column;align-items:center;display:flex}.countdown-card .digit .n{font-size:var(--fs-18);font-weight:var(--fw-semibold)}.countdown-card .digit .u{text-transform:uppercase;letter-spacing:var(--tracking-caps);color:oklch(78% .008 250);margin-top:4px;font-size:9px}.codecell .code{font-family:var(--font-mono);font-size:var(--fs-11);background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--ink-2);font-weight:var(--fw-medium);padding:2px 7px}.client-cell{align-items:center;gap:8px;min-width:0;display:flex}.client-cell .info{min-width:0}.client-cell .nm{font-size:var(--fs-12);font-weight:var(--fw-semibold);color:var(--ink-1);white-space:nowrap;text-overflow:ellipsis;max-width:140px;overflow:hidden}.client-cell .ccode{font-family:var(--font-mono);color:var(--ink-3);font-size:10px}.lot-cell{align-items:center;gap:8px;min-width:0;display:flex}.lot-cell .thumb{border-radius:var(--r-sm);background:repeating-linear-gradient(45deg,oklch(92% .006 250),oklch(92% .006 250) 5px,oklch(95% .005 250) 5px 10px);flex-shrink:0;width:36px;height:36px}.lot-cell .info{min-width:0}.lot-cell .info .ln1{font-size:var(--fs-12);font-weight:var(--fw-medium);color:var(--ink-1);align-items:center;gap:5px;display:flex}.lot-cell .info .ln1 .code{font-family:var(--font-mono);background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--ink-3);font-size:9.5px;font-weight:var(--fw-regular);padding:1px 4px}.lot-cell .info .ln2{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;max-width:200px;font-size:10.5px;overflow:hidden}.date-cell{flex-direction:column;display:flex}.date-cell .d{font-family:var(--font-mono);font-size:var(--fs-12);font-weight:var(--fw-semibold);color:var(--ink-1)}.date-cell .cd{border-radius:var(--r-pill);height:18px;font-family:var(--font-mono);font-size:10px;font-weight:var(--fw-medium);align-items:center;width:fit-content;margin-top:3px;padding:0 6px;display:inline-flex}.date-cell .cd.today,.date-cell .cd.soon{background:var(--risk-soft);color:var(--risk-ink)}.date-cell .cd.upcoming{background:var(--warn-soft);color:var(--warn-ink)}.date-cell .cd.future{background:var(--bg-3);color:var(--ink-2)}.date-cell .cd.past{background:var(--bg-3);color:var(--ink-3)}.offer-cell{font-family:var(--font-mono);text-align:right;font-variant-numeric:tabular-nums}.offer-cell .v{font-size:var(--fs-13);font-weight:var(--fw-semibold);color:var(--ink-1);letter-spacing:-.01em}.offer-cell .delta{font-size:10px;font-weight:var(--fw-medium);margin-top:2px}.offer-cell .delta.up{color:var(--ok-ink)}.offer-cell .delta.down{color:var(--risk-ink)}.offer-cell .delta.flat{color:var(--ink-3)}.checklist-cell{flex-direction:column;gap:4px;min-width:100px;display:flex}.checklist-cell .top{justify-content:space-between;font-size:10.5px;display:flex}.checklist-cell .top .pct{color:var(--ink-3);font-family:var(--font-mono)}.checklist-cell .top .ratio{font-family:var(--font-mono);color:var(--ink-1);font-weight:var(--fw-medium);font-variant-numeric:tabular-nums}.checklist-cell .bar{background:var(--bg-3);border-radius:var(--r-pill);height:4px;overflow:hidden}.checklist-cell .bar>i{background:var(--ok);border-radius:var(--r-pill);height:100%;display:block}.checklist-cell .bar>i.warn{background:var(--warn)}.checklist-cell .bar>i.risk{background:var(--risk)}.cauz{border-radius:var(--r-sm);height:20px;font-size:10.5px;font-weight:var(--fw-medium);align-items:center;gap:5px;padding:0 7px;display:inline-flex}.cauz .dot{background:currentColor;border-radius:50%;width:5px;height:5px}.cauz.daversare{background:var(--warn-soft);color:var(--warn-ink)}.cauz.transito{background:var(--info-soft);color:var(--info-ink)}.cauz.versata{background:var(--ok-soft);color:var(--ok-ink)}.cauz.rimborsata{background:var(--bg-3);color:var(--ink-3)}.cauz.persa{background:var(--risk-soft);color:var(--risk-ink)}.p-stato{border-radius:var(--r-sm);height:22px;font-size:10.5px;font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.04em;border-left:3px solid var(--ink-4);align-items:center;gap:5px;padding:0 8px 0 7px;display:inline-flex}.p-stato.daprep{background:var(--bg-3);color:var(--ink-2);border-left-color:var(--ink-3)}.p-stato.iscritta{color:oklch(40% .13 35);border-left-color:var(--pipe-domanda-asta);background:oklch(96% .03 35)}.p-stato.attesa{color:oklch(42% .14 25);border-left-color:var(--pipe-data-vendita);background:oklch(96% .03 25)}.p-stato.aggiudicata{background:var(--ok-soft);color:var(--ok-ink);border-left-color:var(--pipe-aggiudicata)}.p-stato.persa{background:var(--risk-soft);color:var(--risk-ink);border-left-color:var(--pipe-esito-neg)}.p-stato.annullata{background:var(--bg-3);color:var(--ink-3);border-left-color:var(--ink-4);text-decoration:line-through}.consul-cell{font-size:var(--fs-12);align-items:center;gap:6px;display:flex}.p-hero{gap:var(--sp-5);padding:var(--sp-5) var(--sp-6);background:var(--surface);border-bottom:1px solid var(--line);grid-template-columns:1fr auto;align-items:flex-start;display:grid}.p-hero .left{gap:var(--sp-3);flex-direction:column;min-width:0;display:flex}.p-chip-row{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.code-chip-lg{font-family:var(--font-mono);font-size:var(--fs-14);background:var(--ink-1);color:#fff;border-radius:var(--r-sm);font-weight:var(--fw-semibold);letter-spacing:.01em;align-items:center;gap:6px;height:30px;padding:4px 10px;display:inline-flex}.code-chip-lg .ic{color:oklch(78% .008 250)}.p-title{font-size:var(--fs-22);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-tight);margin:0;line-height:1.2}.p-title .lot{font-family:var(--font-mono);font-size:var(--fs-12);background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--ink-2);vertical-align:middle;font-weight:var(--fw-regular);margin-left:8px;padding:2px 7px}.cli-line{align-items:center;gap:var(--sp-2);display:flex}.cli-line .nm{font-size:var(--fs-13);font-weight:var(--fw-semibold)}.cli-line .ccode{font-family:var(--font-mono);font-size:var(--fs-11);color:var(--ink-3)}.cd-big{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--risk-soft);border-left:3px solid var(--risk);border-radius:var(--r-md);display:flex}.cd-big .v{font-family:var(--font-serif);color:var(--risk-ink);letter-spacing:-.02em;font-size:28px;font-weight:600;line-height:1}.cd-big .meta{font-size:var(--fs-13);color:var(--ink-2);line-height:1.4}.cd-big .meta b{font-family:var(--font-mono);color:var(--ink-1);font-weight:var(--fw-semibold)}.p-actions{gap:var(--sp-2);flex-direction:column;align-items:flex-end;display:flex}.p-actions .row{gap:var(--sp-2);display:flex}.offer-card{background:var(--ink-1);color:#fff;border-radius:var(--r-lg);padding:var(--sp-5);position:relative;overflow:hidden}.offer-card:before{content:"";background:var(--accent);opacity:.2;border-radius:50%;width:140px;height:140px;position:absolute;top:-40px;right:-40px}.offer-card .head{margin-bottom:var(--sp-4);z-index:1;justify-content:space-between;align-items:center;display:flex;position:relative}.offer-card .head .ttl{font-size:var(--fs-11);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:oklch(78% .008 250);font-weight:var(--fw-semibold);align-items:center;gap:6px;display:flex}.offer-card .head .ttl .ic{color:var(--accent)}.offer-card .head .ver{font-family:var(--font-mono);color:oklch(78% .008 250);border-radius:var(--r-sm);background:#ffffff1a;padding:2px 6px;font-size:10px}.offer-row{border-radius:var(--r-md);z-index:1;background:#ffffff1a;grid-template-columns:1fr 1fr;gap:1px;display:grid;position:relative;overflow:hidden}.offer-row .item{background:var(--ink-1);padding:var(--sp-3) var(--sp-4);flex-direction:column;gap:4px;display:flex}.offer-row .item .lbl{text-transform:uppercase;letter-spacing:var(--tracking-caps);color:oklch(78% .008 250);font-size:10px;font-weight:var(--fw-medium)}.offer-row .item .v{font-family:var(--font-mono);font-size:var(--fs-22);font-weight:var(--fw-semibold);color:#fff;letter-spacing:-.01em;font-variant-numeric:tabular-nums;line-height:1.1}.offer-row .item .v.sm{font-size:var(--fs-16)}.offer-row .item .sub{color:oklch(82% .008 250);font-size:10.5px}.offer-row .item .sub .up{color:oklch(82% .15 155);font-weight:var(--fw-medium)}.offer-row .item .sub .down{color:oklch(82% .18 27);font-weight:var(--fw-medium)}.offer-row .item.status .badge{color:var(--ink-1);border-radius:var(--r-sm);font-size:11px;font-weight:var(--fw-semibold);background:oklch(72% .16 155);align-items:center;gap:5px;width:fit-content;padding:3px 9px;display:inline-flex}.offer-row .item.status .ricevuta{font-family:var(--font-mono);color:oklch(78% .008 250);margin-top:6px;font-size:10.5px;text-decoration:underline}.offer-card .iban{margin-top:var(--sp-3);padding-top:var(--sp-3);gap:var(--sp-4);z-index:1;border-top:1px solid #ffffff1a;grid-template-columns:1fr 1fr 1fr;display:grid;position:relative}.offer-card .iban .it .lbl{text-transform:uppercase;letter-spacing:var(--tracking-caps);color:oklch(70% .01 250);font-size:9.5px;font-weight:var(--fw-medium);margin-bottom:2px}.offer-card .iban .it .v{font-family:var(--font-mono);font-size:var(--fs-12);color:#fff;word-break:break-all}.offer-history{margin-top:var(--sp-3);padding-top:var(--sp-3);z-index:1;border-top:1px solid #ffffff1a;position:relative}.offer-history .h{text-transform:uppercase;letter-spacing:var(--tracking-caps);color:oklch(70% .01 250);font-size:10px;font-weight:var(--fw-medium);margin-bottom:var(--sp-2)}.offer-history .vlog{gap:var(--sp-3);font-size:11px;display:flex}.offer-history .v-entry{border-radius:var(--r-sm);font-family:var(--font-mono);font-variant-numeric:tabular-nums;background:#ffffff0f;padding:4px 8px}.offer-history .v-entry .d{color:oklch(78% .008 250);margin-right:4px}.offer-history .v-entry .x{color:#fff;font-weight:var(--fw-semibold)}.offer-history .v-entry.curr{background:var(--accent);color:#fff}.offer-history .v-entry.curr .d{color:oklch(96% .05 60)}.cl-bar{padding:var(--sp-4) var(--sp-4) 0;flex-direction:column;gap:6px;display:flex}.cl-bar .top{font-size:var(--fs-12);justify-content:space-between;align-items:baseline;display:flex}.cl-bar .top .lbl{color:var(--ink-3)}.cl-bar .top .pct{font-family:var(--font-mono);font-size:var(--fs-18);font-weight:var(--fw-semibold);color:var(--ink-1);font-variant-numeric:tabular-nums}.cl-bar .top .ratio{font-family:var(--font-mono);color:var(--ink-2);font-size:var(--fs-13)}.cl-bar .bar{background:var(--bg-3);border-radius:var(--r-pill);height:8px;overflow:hidden}.cl-bar .bar>i{background:var(--ok);border-radius:var(--r-pill);height:100%;display:block}.cl-list{padding:var(--sp-3) 0 var(--sp-2);flex-direction:column;display:flex}.checklist-step{gap:var(--sp-3);padding:10px var(--sp-4);border-bottom:1px solid var(--line);grid-template-columns:28px 1fr auto auto;align-items:center;display:grid}.checklist-step:last-child{border-bottom:0}.checklist-step .cb{border-radius:var(--r-sm);border:1.5px solid var(--line-2);background:var(--surface);flex-shrink:0;place-items:center;width:18px;height:18px;display:grid}.checklist-step.done .cb{background:var(--ok);border-color:var(--ok)}.checklist-step.done .cb:after{content:"";border-bottom:2px solid #fff;border-left:2px solid #fff;width:9px;height:5px;transform:rotate(-45deg)translateY(-1px)}.checklist-step.due-soon .cb{border-color:var(--warn)}.checklist-step .body{min-width:0}.checklist-step .body .ttl{font-size:var(--fs-13);font-weight:var(--fw-medium);color:var(--ink-1)}.checklist-step.done .body .ttl{color:var(--ink-2)}.checklist-step .body .meta{color:var(--ink-3);margin-top:2px;font-size:10.5px}.checklist-step .due{font-size:10.5px;font-family:var(--font-mono);color:var(--ink-3);border-radius:var(--r-pill);background:var(--bg-3);padding:2px 7px}.checklist-step.due-soon .due{background:var(--warn-soft);color:var(--warn-ink);font-weight:var(--fw-medium)}.checklist-step .when{font-size:10.5px;font-family:var(--font-mono);color:var(--ink-3)}.vault{color:#fff;border-radius:var(--r-lg);padding:var(--sp-5);background:linear-gradient(135deg,oklch(28% .05 60) 0%,oklch(22% .04 50) 100%);position:relative;overflow:hidden}.vault:before{content:"";border:1px dashed #ffffff1a;border-radius:50%;width:160px;height:160px;position:absolute;top:-50px;right:-50px}.vault:after{content:"";border:1px dashed #ffffff14;border-radius:50%;width:220px;height:220px;position:absolute;top:-80px;right:-80px}.vault-head{margin-bottom:var(--sp-4);z-index:1;justify-content:space-between;align-items:center;display:flex;position:relative}.vault-head .ttl{font-size:var(--fs-11);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:oklch(80% .04 60);font-weight:var(--fw-semibold);align-items:center;gap:6px;display:flex}.vault-head .ttl .ic{color:var(--accent)}.vault-countdown{border-radius:var(--r-pill);font-size:10.5px;font-family:var(--font-mono);color:oklch(82% .05 60);font-variant-numeric:tabular-nums;background:#0000004d;border:1px solid #ffffff1f;align-items:center;gap:6px;padding:4px 9px;display:inline-flex}.vault-countdown .ic{color:var(--accent);animation:2s infinite pulse}.vault-countdown .t{color:#fff;font-weight:var(--fw-semibold)}.vault-row{gap:var(--sp-3);z-index:1;border-bottom:1px solid #ffffff14;grid-template-columns:130px 1fr auto;align-items:center;padding:12px 0;display:grid;position:relative}.vault-row:last-of-type{border-bottom:0}.vault-row .lbl{text-transform:uppercase;letter-spacing:var(--tracking-caps);color:oklch(72% .04 60);font-size:10px;font-weight:var(--fw-medium)}.vault-row .v{font-family:var(--font-mono);font-size:var(--fs-13);color:#fff;font-variant-numeric:tabular-nums;word-break:break-all}.vault-row .v.masked{letter-spacing:.18em;color:oklch(80% .04 60)}.vault-row .vbtn{border-radius:var(--r-sm);color:#fff;font-size:10.5px;font-weight:var(--fw-medium);cursor:pointer;background:#ffffff1a;border:1px solid #ffffff26;align-items:center;gap:4px;padding:4px 8px;display:inline-flex}.vault-row .vbtn:hover{background:#ffffff2e}.vault-row .vbtn.accent{background:var(--accent);border-color:var(--accent)}.vault-row .v.url{color:var(--accent);text-underline-offset:2px;cursor:pointer;text-decoration:underline}.vault-foot{margin-top:var(--sp-3);padding-top:var(--sp-3);z-index:1;border-top:1px solid #ffffff1a;position:relative}.vault-foot .last{color:oklch(80% .04 60);margin-bottom:var(--sp-2);align-items:center;gap:6px;font-size:11px;display:flex}.vault-foot .last .ava{width:18px;height:18px;font-size:9px;font-weight:var(--fw-semibold);color:#fff;background:oklch(58% .12 170);border-radius:50%;place-items:center;display:grid}.vault-foot .last b{color:#fff;font-weight:var(--fw-semibold)}.vault-audit{flex-direction:column;gap:0;display:flex}.vault-audit .au{color:oklch(75% .04 60);font-size:10.5px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;grid-template-columns:16px 1fr auto;align-items:center;gap:8px;padding:4px 0;display:grid}.vault-audit .au .dot{background:var(--accent);border-radius:50%;justify-self:center;width:5px;height:5px}.vault-audit .au .who{color:#fff;font-weight:var(--fw-medium);font-family:var(--font-sans)}.vault-audit .au .when{text-align:right}.rail-lot,.rail-cli{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--sp-3);cursor:pointer;transition:background var(--dur-fast);align-items:center;gap:10px;display:flex}.rail-lot:hover,.rail-cli:hover{background:var(--bg-2)}.rail-lot .thumb{border-radius:var(--r-sm);background:repeating-linear-gradient(45deg,oklch(92% .006 250),oklch(92% .006 250) 5px,oklch(95% .005 250) 5px 10px);flex-shrink:0;width:44px;height:44px}.rail-lot .info,.rail-cli .info{flex:1;min-width:0}.rail-lot .info .ln1,.rail-cli .info .ln1{font-size:var(--fs-12);font-weight:var(--fw-semibold)}.rail-lot .info .ln2,.rail-cli .info .ln2{color:var(--ink-3);margin-top:2px;font-size:10.5px}.rail-lot .info .ln3{color:var(--ink-2);margin-top:4px;font-size:11px}.rail-lot .info .ln3 .price{font-family:var(--font-mono);font-weight:var(--fw-semibold);color:var(--ink-1)}.rail-arrow{color:var(--ink-4)}.assignee-block{align-items:center;gap:var(--sp-3);padding:var(--sp-3);display:flex}.assignee-block+.assignee-block{border-top:1px solid var(--line)}.assignee-block .info{flex:1;min-width:0}.assignee-block .info .nm{font-size:var(--fs-13);font-weight:var(--fw-semibold)}.assignee-block .info .rl{font-size:var(--fs-11);color:var(--ink-3);text-transform:uppercase;letter-spacing:var(--tracking-caps)}.assignee-block .actions{gap:2px;display:flex}.assignee-block .actions button{border-radius:var(--r-sm);width:28px;height:28px;color:var(--ink-3);place-items:center;display:grid}.assignee-block .actions button:hover{background:var(--bg-3);color:var(--ink-1)}.profile-wrap{gap:var(--sp-4);flex-direction:column;width:720px;display:flex}.profile-hero{gap:var(--sp-5);padding:var(--sp-5);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);grid-template-columns:120px 1fr auto;align-items:center;display:grid}.profile-hero .avatar-wrap{position:relative}.profile-hero .avatar-wrap .av{color:#fff;letter-spacing:-.02em;width:100px;height:100px;font-size:32px;font-weight:var(--fw-bold);background:oklch(58% .12 230);border-radius:50%;place-items:center;display:grid}.profile-hero .avatar-wrap .change{background:var(--ink-1);color:#fff;border:2px solid var(--surface);cursor:pointer;border-radius:50%;place-items:center;width:30px;height:30px;display:grid;position:absolute;bottom:0;right:0}.profile-hero .info{min-width:0}.profile-hero .info .nm{font-family:var(--font-serif);letter-spacing:-.01em;margin:0 0 4px;font-size:26px;font-weight:600;line-height:1.1}.profile-hero .info .em{font-family:var(--font-mono);font-size:var(--fs-12);color:var(--ink-3);margin-bottom:var(--sp-2)}.profile-hero .info .chips{flex-wrap:wrap;gap:6px;display:flex}.profile-hero .info .role-pill{border-radius:var(--r-pill);background:var(--ink-1);color:#fff;height:22px;font-size:10.5px;font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:5px;padding:0 9px;display:inline-flex}.profile-hero .actions{flex-direction:column;gap:6px;display:flex}.psection{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}.psection.danger{border-color:var(--risk-line)}.psection.danger .psection-head{background:var(--risk-soft)}.psection.danger .psection-head .ttl{color:var(--risk-ink)}.pf{margin-bottom:var(--sp-3);flex-direction:column;gap:4px;display:flex}.pf:last-child{margin-bottom:0}.pf label{font-size:var(--fs-11);color:var(--ink-2);font-weight:var(--fw-medium)}.pf .input{border:1px solid var(--line);background:var(--bg-2);border-radius:var(--r-md);height:36px;padding:0 var(--sp-3);font-size:var(--fs-13);align-items:center;display:flex}.pf .input.filled{background:var(--surface);border-color:var(--line-2)}.pf .input input{font:inherit;background:0 0;border:0;outline:0;flex:1}.pf .helper{color:var(--ink-3);font-size:10.5px}.pf .helper.ok{color:var(--ok-ink)}.pf .helper.warn{color:var(--warn-ink)}.strength-meter{flex-direction:column;gap:4px;display:flex}.strength-meter .label{font-size:10.5px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;justify-content:space-between;display:flex}.strength-meter .label .grade{font-weight:var(--fw-semibold)}.strength-meter .label .grade.weak{color:var(--risk-ink)}.strength-meter .label .grade.fair{color:var(--warn-ink)}.strength-meter .label .grade.good{color:oklch(38% .11 130)}.strength-meter .label .grade.strong{color:var(--ok-ink)}.toggle-row .info .ttl{font-size:var(--fs-13);font-weight:var(--fw-medium);color:var(--ink-1)}.toggle-row .info .sub{color:var(--ink-3);margin-top:2px;font-size:10.5px}.sess-row .discon{color:var(--risk-ink);font-size:10.5px;font-weight:var(--fw-medium);cursor:pointer}.act-row .ic-bubble.delete{background:var(--risk-soft);color:var(--risk-ink)}.danger-item{padding:var(--sp-3) 0;border-bottom:1px solid var(--risk-line);justify-content:space-between;align-items:center;display:flex}.crumb-row{padding:var(--sp-3) var(--sp-6)}.profile-hero{gap:var(--sp-5);padding:var(--sp-5) var(--sp-6);background:var(--surface);border-bottom:1px solid var(--line);grid-template-columns:140px 1fr 280px;align-items:flex-start;display:grid;position:relative}.profile-hero:before{content:"";pointer-events:none;background:linear-gradient(135deg,#0000 0%,oklch(95% .025 60/.4) 100%);width:320px;position:absolute;top:0;bottom:0;right:0}.avatar-upload{color:#fff;letter-spacing:-.02em;width:120px;height:120px;font-size:38px;font-weight:var(--fw-bold);box-shadow:var(--sh-2);border:4px solid var(--surface);cursor:pointer;background:oklch(58% .12 200);border-radius:50%;place-items:center;display:grid;position:relative;overflow:hidden}.avatar-upload:before{content:"";opacity:0;transition:opacity var(--dur-fast);background:#14100a80;border-radius:50%;position:absolute;inset:0}.avatar-upload:after{content:"✎ Cambia foto";font-family:var(--font-sans);text-transform:uppercase;letter-spacing:var(--tracking-caps);font-size:9.5px;font-weight:var(--fw-semibold);color:#fff;white-space:nowrap;opacity:0;transition:opacity var(--dur-fast);pointer-events:none;position:absolute;bottom:30%;left:50%;transform:translate(-50%)}.avatar-upload:hover:before,.avatar-upload:hover:after{opacity:1}.avatar-upload .upload-pen{background:var(--ink-1);border:3px solid var(--surface);color:#fff;z-index:2;border-radius:50%;place-items:center;width:32px;height:32px;display:grid;position:absolute;bottom:4px;right:4px}.hero-center{gap:var(--sp-3);z-index:1;flex-direction:column;min-width:0;display:flex;position:relative}.hero-name{font-family:var(--font-serif);letter-spacing:-.012em;color:var(--ink-1);margin:0;font-size:28px;font-weight:600;line-height:1.05}.hero-name .sub-role{font-family:var(--font-sans);font-size:var(--fs-13);font-weight:var(--fw-regular);color:var(--ink-3);letter-spacing:0;margin-top:5px;font-style:italic;display:block}.badge-row{gap:var(--sp-2);flex-wrap:wrap;align-items:center;display:flex}.badge-lg{border-radius:var(--r-pill);height:26px;font-size:var(--fs-12);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:6px;padding:0 11px;display:inline-flex}.badge-lg.role-primary{background:var(--accent);color:#fff}.badge-lg.role-secondary{background:var(--bg-2);color:var(--ink-2);border:1px solid var(--line);font-weight:var(--fw-medium);letter-spacing:.02em;text-transform:none}.badge-lg.status-active{background:var(--ok-soft);color:var(--ok-ink)}.badge-lg.status-active .dot{background:var(--ok);border-radius:50%;width:7px;height:7px;animation:2s infinite pulse-dot}.badge-lg.status-ferie{background:var(--warn-soft);color:var(--warn-ink)}.badge-lg.location{background:var(--ink-1);color:#fff;font-family:var(--font-mono);letter-spacing:.02em}@keyframes pulse-dot{0%,to{box-shadow:0 0 0 0 var(--ok)}50%{box-shadow:0 0 0 4px #0000}}.hero-contacts{align-items:center;gap:var(--sp-4);font-size:var(--fs-12);flex-wrap:wrap;display:flex}.hero-contacts a{color:var(--ink-2);align-items:center;gap:5px;display:inline-flex}.hero-contacts a:hover{color:var(--accent-ink)}.hero-contacts a .ic{color:var(--ink-3)}.hero-contacts a.wa .ic{color:oklch(50% .15 150)}.hero-contacts a .v{font-family:var(--font-mono)}.spec-tags{flex-wrap:wrap;gap:5px;display:flex}.spec-tag{border-radius:var(--r-pill);background:var(--accent-soft);height:22px;color:var(--accent-ink);font-size:11px;font-weight:var(--fw-medium);border:1px solid #0000;align-items:center;padding:0 9px;display:inline-flex}.spec-tag.removable{padding-right:4px}.spec-tag.removable .x{width:14px;height:14px;color:var(--accent-ink);background:oklch(86% .05 55);border-radius:50%;place-items:center;margin-left:5px;display:grid}.spec-tag-add{border-radius:var(--r-pill);background:var(--surface);border:1px dashed var(--line-2);height:22px;color:var(--ink-3);font-size:11px;font-weight:var(--fw-medium);align-items:center;gap:3px;padding:0 9px;display:inline-flex}.hero-score{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--sp-3);gap:var(--sp-3);z-index:1;box-shadow:var(--sh-1);flex-direction:column;display:flex;position:relative}.hero-score .label-row{text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--ink-3);font-size:10px;font-weight:var(--fw-semibold);justify-content:space-between;align-items:center;display:flex}.hero-score .label-row .top-badge{background:var(--accent);color:#fff;font-family:var(--font-mono);border-radius:var(--r-pill);padding:2px 7px;font-size:9.5px}.hero-score .ring-row{align-items:center;gap:var(--sp-3);display:flex}.score-ring-86{flex-shrink:0;place-items:center;width:86px;height:86px;display:grid;position:relative}.score-ring-86 svg{position:absolute;inset:0;transform:rotate(-90deg)}.score-ring-86 .v{font-family:var(--font-mono);font-size:28px;font-weight:var(--fw-bold);color:var(--ink-1);letter-spacing:-.02em;line-height:1}.hero-score .right-of-ring{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.hero-score .grade{font-size:var(--fs-13);font-weight:var(--fw-semibold);color:var(--ink-1)}.hero-score .delta{color:var(--ok-ink);font-size:11px;font-family:var(--font-mono);font-weight:var(--fw-medium);font-variant-numeric:tabular-nums}.hero-score .delta .arrow{color:var(--ok);margin-right:3px}.hero-score .spark{padding-top:var(--sp-2);border-top:1px solid var(--line);flex-direction:column;gap:2px;display:flex}.hero-score .spark .lbl{text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--ink-3);font-size:9.5px;font-weight:var(--fw-medium)}.hero-score .spark svg{width:100%;height:28px;display:block}.hero-actions{align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-6);background:var(--bg-2);border-bottom:1px solid var(--line);display:flex}.hero-actions .spacer{flex:1}.hero-actions .meta{color:var(--ink-3);font-size:11px}.detail-grid{gap:var(--sp-5);padding:var(--sp-5) var(--sp-6) 0;grid-template-columns:1fr 320px;align-items:flex-start;display:grid}.detail-main{gap:var(--sp-4);flex-direction:column;min-width:0;display:flex}.detail-rail{gap:var(--sp-4);top:calc(var(--topbar-h) + 48px + var(--sp-5));flex-direction:column;display:flex;position:sticky}.kv.editable{position:relative}.kv.editable .v{border-radius:var(--r-sm);cursor:pointer;align-items:center;gap:6px;margin:-3px -6px;padding:3px 6px;display:flex}.kv.editable .v:hover{background:var(--bg-2)}.kv.editable .v .pen{opacity:0;color:var(--ink-3);transition:opacity var(--dur-fast);margin-left:auto}.kv.editable .v:hover .pen{opacity:1}.kv.editable.editing .v{background:var(--surface);border:1px solid var(--accent);box-shadow:var(--sh-focus);padding:5px 8px}.kv.editable.editing .v input{font-family:inherit;font-size:var(--fs-13);font-variant-numeric:tabular-nums;background:0 0;border:0;outline:0;width:100%}.kv.editable.editing .save-tag{text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--accent-ink);background:var(--accent-soft);border-radius:var(--r-sm);font-size:9.5px;font-weight:var(--fw-semibold);align-items:center;gap:3px;padding:2px 6px;display:inline-flex}.kv.error .v{border-color:var(--risk);background:oklch(99% .012 27/.4)}.kv.error .helper{color:var(--risk-ink);grid-column:2;align-items:center;gap:4px;margin-top:3px;font-size:10.5px;display:flex}.save-bar{margin:var(--sp-4) 0 0;padding:10px var(--sp-4);background:var(--ink-1);color:#fff;border-radius:var(--r-md);align-items:center;gap:var(--sp-3);font-size:var(--fs-13);box-shadow:var(--sh-2);z-index:5;display:flex;position:sticky;bottom:0;left:0;right:0}.save-bar .count{font-family:var(--font-mono);border-radius:var(--r-pill);font-weight:var(--fw-semibold);background:#ffffff26;padding:2px 8px}.save-bar .spacer{flex:1}.save-bar .btn-ghost-w{color:#fff;font-size:var(--fs-12);cursor:pointer;background:0 0;border:0;padding:5px 10px}.save-bar .btn-ghost-w:hover{color:var(--accent)}.save-bar .btn-save{background:var(--accent);color:#fff;border-radius:var(--r-md);font-size:var(--fs-13);font-weight:var(--fw-semibold);border:0;align-items:center;gap:5px;padding:7px 14px;display:inline-flex}.toast-saved{background:var(--ink-1);color:#fff;padding:10px var(--sp-3) 10px var(--sp-2);border-radius:var(--r-md);font-size:var(--fs-12);box-shadow:var(--sh-3);z-index:100;align-items:center;gap:var(--sp-2);border-left:3px solid var(--ok);min-width:240px;display:flex;position:fixed;top:76px;right:24px}.toast-saved .ic-circle{background:var(--ok);color:#fff;border-radius:50%;place-items:center;width:22px;height:22px;display:grid}.toast-saved .body strong{font-weight:var(--fw-semibold)}.toast-saved .body .sub{color:oklch(78% .008 250);margin-top:1px;font-size:10.5px;display:block}.strength-meter{flex-direction:column;gap:5px;margin-top:5px;display:flex}.strength-meter .bars{grid-template-columns:repeat(5,1fr);gap:3px;display:grid}.strength-meter .bars .seg{background:var(--bg-3);border-radius:2px;height:5px}.strength-meter .bars .seg.on.weak{background:var(--risk)}.strength-meter .bars .seg.on.fair{background:var(--warn)}.strength-meter .bars .seg.on.good{background:oklch(72% .15 100)}.strength-meter .bars .seg.on.strong{background:var(--ok)}.strength-meter .label-row{justify-content:space-between;align-items:center;font-size:10.5px;display:flex}.strength-meter .label-row .label-l{color:var(--ink-3);font-family:var(--font-mono)}.strength-meter .label-row .grade{font-family:var(--font-mono);font-weight:var(--fw-semibold);border-radius:var(--r-pill);padding:1px 7px}.strength-meter .label-row .grade.weak{background:var(--risk-soft);color:var(--risk-ink)}.strength-meter .label-row .grade.fair{background:var(--warn-soft);color:var(--warn-ink)}.strength-meter .label-row .grade.good{color:oklch(38% .11 130);background:oklch(94% .04 130)}.strength-meter .label-row .grade.strong{background:var(--ok-soft);color:var(--ok-ink)}.toggle-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:11px 0;display:flex}.toggle-row:last-child{border-bottom:0}.toggle-row .info{min-width:0;padding-right:var(--sp-3)}.toggle-row .info .ttl{font-size:var(--fs-13);font-weight:var(--fw-medium);color:var(--ink-1);align-items:center;gap:6px;display:flex}.toggle-row .info .sub{color:var(--ink-3);margin-top:2px;font-size:11px;line-height:1.4}.toggle-row .toggle{border-radius:var(--r-pill);background:var(--bg-3);border:1px solid var(--line-2);cursor:pointer;flex-shrink:0;width:38px;height:22px;position:relative}.toggle-row .toggle:after{content:"";background:var(--surface);width:18px;height:18px;box-shadow:var(--sh-1);transition:transform var(--dur-fast);border-radius:50%;position:absolute;top:1px;left:1px}.toggle-row .toggle.on{background:var(--ok);border-color:var(--ok)}.toggle-row .toggle.on:after{transform:translate(16px)}.toggle-row .toggle.accent.on{background:var(--accent);border-color:var(--accent)}.toggle-row.sub-toggle{padding:7px 0 7px var(--sp-5);border-bottom:1px dashed var(--line)}.toggle-row.sub-toggle .info .ttl{font-weight:var(--fw-regular);color:var(--ink-2);font-size:12px}.pref-seg{background:var(--bg-3);border:1px solid var(--line);border-radius:var(--r-md);padding:2px;display:inline-flex}.pref-seg button{border-radius:var(--r-sm);font-size:11px;font-weight:var(--fw-medium);color:var(--ink-3);padding:5px 10px}.pref-seg button.on{background:var(--surface);color:var(--ink-1);box-shadow:var(--sh-1)}.pref-seg button[disabled]{opacity:.35}.select-pref{border:1px solid var(--line);background:var(--bg-2);border-radius:var(--r-md);height:28px;color:var(--ink-1);font-size:12px;font-weight:var(--fw-medium);align-items:center;gap:5px;padding:0 10px;display:inline-flex}.select-pref .caret{color:var(--ink-3);margin-left:4px}.sess-list{flex-direction:column;display:flex}.sess-row{gap:var(--sp-3);border-bottom:1px solid var(--line);grid-template-columns:36px 1fr auto auto;align-items:center;padding:11px 0;display:grid}.sess-row:last-child{border-bottom:0}.sess-row .ic-bubble{border-radius:var(--r-md);background:var(--bg-2);width:32px;height:32px;color:var(--ink-2);place-items:center;display:grid}.sess-row.curr .ic-bubble{background:var(--ok-soft);color:var(--ok-ink)}.sess-row .info .nm{font-size:var(--fs-12);font-weight:var(--fw-medium);align-items:center;gap:6px;display:flex}.sess-row .info .nm .badge{background:var(--ok);color:#fff;border-radius:var(--r-pill);font-size:9px;font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.04em;padding:1px 6px}.sess-row .info .meta{color:var(--ink-3);font-size:10.5px;font-family:var(--font-mono);margin-top:1px}.sess-row .when{color:var(--ink-3);font-size:10.5px;font-family:var(--font-mono);white-space:nowrap}.sess-row .discon-btn{color:var(--risk-ink);font-size:10.5px;font-weight:var(--fw-medium);border-radius:var(--r-sm);background:0 0;padding:4px 8px}.sess-row .discon-btn:hover{background:var(--risk-soft)}.log-row{gap:var(--sp-2);grid-template-columns:18px 1fr auto auto;align-items:center;padding:6px 0;font-size:11px;display:grid}.log-row .ic-dot{background:var(--ok);border-radius:50%;justify-self:center;width:8px;height:8px}.log-row .ic-dot.fail{background:var(--risk)}.log-row .when{font-family:var(--font-mono);color:var(--ink-2);font-variant-numeric:tabular-nums}.log-row .from{color:var(--ink-2)}.log-row .from .ip{font-family:var(--font-mono);color:var(--ink-3);margin-left:4px}.log-row .esito{font-family:var(--font-mono);border-radius:var(--r-sm);font-size:9.5px;font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.04em;padding:1px 6px}.log-row .esito.ok{background:var(--ok-soft);color:var(--ok-ink)}.log-row .esito.fail{background:var(--risk-soft);color:var(--risk-ink)}.act-list{flex-direction:column;display:flex}.act-row{gap:var(--sp-3);border-bottom:1px solid var(--line);grid-template-columns:30px 1fr auto;align-items:center;padding:11px 0;display:grid}.act-row:last-child{border-bottom:0}.act-row .ic-bubble{border-radius:var(--r-md);background:var(--bg-2);width:28px;height:28px;color:var(--ink-3);place-items:center;display:grid}.act-row .ic-bubble.login{background:var(--ok-soft);color:var(--ok-ink)}.act-row .ic-bubble.edit{background:var(--info-soft);color:var(--info-ink)}.act-row .ic-bubble.create{background:var(--accent-soft);color:var(--accent-ink)}.act-row .ic-bubble.lot{color:oklch(38% .13 285);background:oklch(94% .025 285)}.act-row .ic-bubble.match{color:oklch(38% .11 130);background:oklch(94% .04 130)}.act-row .ic-bubble.msg{color:oklch(45% .15 150);background:oklch(94% .04 150)}.act-row .body .ttl{font-size:var(--fs-12);color:var(--ink-1)}.act-row .body .ttl b{font-weight:var(--fw-semibold)}.act-row .body .ttl .code-link{font-family:var(--font-mono);background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--ink-2);padding:1px 5px;font-size:10.5px}.act-row .body .meta{color:var(--ink-3);font-size:10px;font-family:var(--font-mono);margin-top:1px}.act-row .when{color:var(--ink-3);font-size:10.5px;font-family:var(--font-mono);white-space:nowrap}.kpi-mini-grid{background:var(--line);border:1px solid var(--line);border-radius:var(--r-md);grid-template-columns:repeat(3,1fr);gap:1px;display:grid;overflow:hidden}.kpi-mini-grid .kpi{background:var(--surface);padding:var(--sp-3);flex-direction:column;gap:4px;min-height:90px;display:flex}.kpi-mini-grid .kpi .lbl{text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--ink-3);font-size:9.5px;font-weight:var(--fw-medium)}.kpi-mini-grid .kpi .v{font-family:var(--font-mono);font-size:22px;font-weight:var(--fw-semibold);color:var(--ink-1);font-variant-numeric:tabular-nums;letter-spacing:-.01em;line-height:1}.kpi-mini-grid .kpi .v .u{font-family:var(--font-sans);color:var(--ink-3);font-size:11px;font-weight:var(--fw-medium);margin-left:2px}.kpi-mini-grid .kpi .delta{color:var(--ink-3);font-size:10.5px;font-family:var(--font-mono)}.kpi-mini-grid .kpi .delta .up{color:var(--ok-ink);font-weight:var(--fw-medium)}.kpi-mini-grid .kpi .delta .down{color:var(--risk-ink);font-weight:var(--fw-medium)}.kpi-mini-grid .kpi.has-spark{padding-bottom:var(--sp-2)}.kpi-mini-grid .kpi .mini-spark{margin-top:auto}.kpi-mini-grid .kpi .mini-spark svg{width:100%;height:16px;display:block}.kpi-mini-grid .kpi .stars{color:var(--warn);font-size:13px;line-height:1}.kpi-mini-grid .kpi .stars .em{color:var(--ink-4)}.doc-list{flex-direction:column;display:flex}.doc-row{gap:var(--sp-3);border-bottom:1px solid var(--line);grid-template-columns:36px 1fr auto auto;align-items:center;padding:10px 0;display:grid}.doc-row:last-child{border-bottom:0}.doc-icon{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-sm);width:36px;height:44px;font-family:var(--font-mono);font-size:9px;font-weight:var(--fw-semibold);letter-spacing:.04em;color:var(--ink-3);place-items:center;display:grid}.doc-icon.pdf{color:var(--risk-ink)}.doc-icon.doc{color:var(--info-ink)}.doc-icon.img{color:var(--ok-ink)}.doc-row .body .nm{font-size:var(--fs-13);font-weight:var(--fw-medium)}.doc-row .body .meta{color:var(--ink-3);margin-top:2px;font-size:10.5px}.doc-row .size{font-family:var(--font-mono);color:var(--ink-3);font-size:11px}.doc-row .actions-mini{gap:2px;display:flex}.doc-row .actions-mini button{border-radius:var(--r-sm);width:26px;height:26px;color:var(--ink-3);place-items:center;display:grid}.doc-row .actions-mini button:hover{background:var(--bg-3);color:var(--ink-1)}.doc-row.private .body .nm:after{content:" 🔒";font-size:11px}.drop-zone{margin-top:var(--sp-3);padding:var(--sp-4);border:1.5px dashed var(--line-2);border-radius:var(--r-md);background:var(--bg-2);text-align:center;cursor:pointer}.drop-zone:hover{background:var(--bg-3);border-color:var(--accent-line)}.drop-zone .ic{color:var(--ink-3);margin-bottom:6px}.drop-zone .ttl{font-size:var(--fs-13);font-weight:var(--fw-medium);color:var(--ink-1)}.drop-zone .sub{color:var(--ink-3);margin-top:3px;font-size:10.5px}.psection{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);scroll-margin-top:120px;overflow:hidden}.psection-head{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;display:flex}.psection-head .ttl{font-size:var(--fs-14);font-weight:var(--fw-semibold);letter-spacing:-.005em;align-items:center;gap:8px;display:flex}.psection-head .ttl .ic{color:var(--ink-3)}.psection-head .ttl .badge{font-family:var(--font-mono);background:var(--bg-3);color:var(--ink-2);border-radius:var(--r-pill);font-size:10px;font-weight:var(--fw-medium);padding:1px 6px}.psection-head .actions{gap:var(--sp-2);display:flex}.psection-body{padding:var(--sp-4)}.psection-body .sub-head{font-size:var(--fs-11);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--ink-3);font-weight:var(--fw-semibold);border-bottom:1px solid var(--line-2);margin-bottom:var(--sp-3);padding-bottom:6px}.psection-body .sub-head:not(:first-child){margin-top:var(--sp-5)}.danger-section{border-color:var(--risk-line)}.danger-section .psection-head{background:var(--risk-soft)}.danger-section .psection-head .ttl{color:var(--risk-ink)}.danger-section .psection-head .ttl .ic{color:var(--risk)}.danger-item{padding:var(--sp-3) 0;border-bottom:1px solid var(--risk-line);justify-content:space-between;align-items:center;gap:var(--sp-4);display:flex}.danger-item:last-child{border-bottom:0;padding-bottom:0}.danger-item .info .ttl{font-size:var(--fs-13);font-weight:var(--fw-medium);color:var(--ink-1)}.danger-item .info .sub{color:var(--ink-3);max-width:460px;margin-top:3px;font-size:10.5px;line-height:1.4}.rail-card-dark{background:var(--ink-1);color:#fff;border-radius:var(--r-lg);padding:var(--sp-4);position:relative;overflow:hidden}.rail-card-dark:before{content:"";background:var(--accent);opacity:.2;border-radius:50%;width:140px;height:140px;position:absolute;top:-40px;right:-40px}.rail-card-dark .top-row{align-items:center;gap:var(--sp-2);text-align:center;z-index:1;flex-direction:column;display:flex;position:relative}.rail-card-dark .top-row .av{width:64px;height:64px;font-size:22px;font-weight:var(--fw-bold);color:#fff;border:3px solid var(--surface);letter-spacing:-.02em;box-shadow:var(--sh-1);background:oklch(58% .12 200);border-radius:50%;place-items:center;display:grid}.rail-card-dark .top-row .nm{font-family:var(--font-serif);font-size:var(--fs-15);font-weight:600;line-height:1.1}.rail-card-dark .top-row .rl{color:oklch(78% .008 250);text-transform:uppercase;letter-spacing:var(--tracking-caps);font-size:10px;font-weight:var(--fw-medium);margin-top:3px}.rail-card-dark .score-block{margin-top:var(--sp-4);z-index:1;flex-direction:column;align-items:center;display:flex;position:relative}.score-ring-96{place-items:center;width:96px;height:96px;display:grid;position:relative}.score-ring-96 svg{position:absolute;inset:0;transform:rotate(-90deg)}.score-ring-96 .v{font-family:var(--font-mono);font-size:32px;font-weight:var(--fw-bold);color:#fff;letter-spacing:-.02em}.rail-card-dark .score-block .grade{color:oklch(80% .008 250);text-transform:uppercase;letter-spacing:var(--tracking-caps);font-size:11px;font-weight:var(--fw-medium);margin-top:6px}.rail-card-dark .submetrics{margin-top:var(--sp-4);border-radius:var(--r-sm);z-index:1;background:#ffffff1a;grid-template-columns:1fr 1fr;gap:1px;display:grid;position:relative;overflow:hidden}.rail-card-dark .sm{background:var(--ink-1);padding:9px 10px}.rail-card-dark .sm .smk{text-transform:uppercase;letter-spacing:var(--tracking-caps);color:oklch(72% .01 250);font-size:9.5px;font-weight:var(--fw-medium)}.rail-card-dark .sm .smv{font-family:var(--font-mono);font-size:14px;font-weight:var(--fw-semibold);color:#fff;letter-spacing:-.01em;margin-top:3px}.rail-stats{background:var(--line);grid-template-columns:1fr 1fr 1fr;gap:1px;display:grid}.rail-stats .st{background:var(--surface);padding:10px var(--sp-2);text-align:center}.rail-stats .st .v{font-family:var(--font-mono);font-size:var(--fs-16);font-weight:var(--fw-semibold);color:var(--ink-1);font-variant-numeric:tabular-nums;letter-spacing:-.01em;line-height:1}.rail-stats .st .l{text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--ink-3);margin-top:4px;font-size:9.5px}.team-row{padding:8px var(--sp-3);border-bottom:1px solid var(--line);cursor:pointer;grid-template-columns:32px 1fr auto;align-items:center;gap:8px;display:grid}.team-row:last-child{border-bottom:0}.team-row:hover{background:var(--bg-2)}.team-row .info{min-width:0}.team-row .info .nm{font-size:12px;font-weight:var(--fw-semibold)}.team-row .info .rl{color:var(--ink-3);text-transform:uppercase;letter-spacing:var(--tracking-caps);font-size:10px;font-weight:var(--fw-medium)}.team-row .arrow{color:var(--ink-4)}.qlink-list{flex-direction:column;display:flex}.qlink{align-items:center;gap:var(--sp-2);padding:9px var(--sp-3);font-size:var(--fs-12);color:var(--ink-2);border-bottom:1px solid var(--line);cursor:pointer;display:flex}.qlink:last-child{border-bottom:0}.qlink:hover{background:var(--bg-2);color:var(--ink-1)}.qlink .ic{color:var(--ink-3)}.qlink .ext{color:var(--ink-4);margin-left:auto}
