:root{font-family:Inter,-apple-system,Segoe UI,sans-serif;color:#f0f0f0;background:#0a0a0a;--ink: #F0F0F0;--ink-2: #A6A6A6;--ink-3: #6E6E6E;--void: #0A0A0A;--surface: #141414;--surface-2: #1C1C1C;--wire: rgba(240,240,240,.12);--wire-2: rgba(240,240,240,.07);--brand: #173d4e;--brand-light: #295468;--signal: #7CFFB2;--signal-dim: rgba(124,255,178,.14);--ok: #4ADE9A;--warn: #E0A542;--danger: #F0665A;--radius-s: 6px;--radius-m: 10px;--shadow-card: 0 1px 0 rgba(240,240,240,.04), 0 2px 8px rgba(0,0,0,.35);--shadow-elevated: 0 1px 0 rgba(240,240,240,.06), 0 8px 24px rgba(0,0,0,.45);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--serif: "Fraunces", Georgia, serif;--sans: "Inter", -apple-system, sans-serif;--mono: "Geist Mono", "SF Mono", monospace}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button{border:1px solid var(--wire);border-radius:var(--radius-s);background:var(--surface);color:var(--ink);cursor:pointer;padding:9px 12px}button:disabled{cursor:not-allowed;opacity:.5}button:not(:disabled):hover{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 6%,var(--surface))}.tabs button:hover,.role-switch button:hover,.chips button:hover{background:color-mix(in srgb,var(--brand) 8%,transparent)}.service-card:hover{border-color:color-mix(in srgb,var(--signal) 45%,var(--wire));box-shadow:var(--shadow-elevated),0 0 0 1px var(--signal-dim)}.row-button:hover{background:color-mix(in srgb,var(--brand) 4%,var(--surface))}.btn-primary{border-color:var(--brand);background:var(--brand);color:#fff;font-weight:700}.btn-primary:hover{background:var(--brand-light);border-color:var(--brand-light)}.empty-state{display:grid;gap:6px;justify-items:center;padding:var(--space-6) var(--space-4);color:var(--ink-2);text-align:center;font-size:.88rem}.log-ok{color:var(--signal);font-weight:600}.log-error{color:var(--danger);font-weight:600}input,select{width:100%;border:1px solid var(--wire);border-radius:var(--radius-s);background:var(--surface-2);color:var(--ink);padding:9px 10px}.app{min-height:100vh;padding-bottom:48px}.topbar{position:sticky;top:0;z-index:5;display:grid;grid-template-columns:220px 1fr auto;gap:var(--space-4);align-items:center;border-bottom:1px solid var(--wire);background:color-mix(in oklch,var(--surface) 88%,transparent);backdrop-filter:blur(8px);padding:var(--space-3) var(--space-5);box-shadow:var(--shadow-elevated)}.eyebrow{margin:0 0 4px;font-family:var(--mono);color:var(--signal);font-size:.66rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase}h1,h2,h3,p{margin:0}h1{font-family:var(--serif);font-weight:600;font-size:1.7rem;letter-spacing:-.01em;line-height:1.15}h2{font-family:var(--serif);font-weight:600;font-size:1.05rem;letter-spacing:-.005em;line-height:1.2}h3{font-family:var(--mono);color:var(--ink-2);font-size:.72rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.tabs,.role-switch,.chips,.actions,.inline,.status-row{display:flex;flex-wrap:wrap;gap:8px}.tabs button,.role-switch button,.chips button{background:transparent}.chips button{border-radius:999px;padding:5px 12px;font-size:.82rem}.active,.tabs .active,.role-switch .active,.chips .active{border-color:var(--brand-light);background:var(--brand);color:#fff;font-weight:600;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--signal) 30%,transparent)}main{padding:var(--space-5)}.builder-grid{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(420px,1.2fr);gap:16px}.panel,.quote{border:1px solid var(--wire);border-radius:var(--radius-m);background:var(--surface);padding:var(--space-4);box-shadow:var(--shadow-card)}.panel-head,.quote-head,.timeline-item,.service-card,.quote-day article,.profit-row,.row-button{display:flex;gap:14px;align-items:center;justify-content:space-between}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-top:14px}label{display:grid;gap:5px;color:var(--ink-2);font-size:.82rem;font-weight:700}.catalog,.logs,.timeline,.quote,.dashboard,.integrations{display:grid;gap:12px}.catalog{max-height:620px;overflow:auto;margin-top:12px}.service-card,.timeline-item{border:1px solid var(--wire);border-radius:var(--radius-m);padding:12px}.service-card{box-shadow:var(--shadow-card)}.service-card div,.timeline-item div,.row-button span{display:grid;gap:4px}small,.service-card span,.timeline-item span,.quote-head span,.logs span{color:var(--ink-2)}.money{min-width:180px;text-align:right}.money em{color:var(--warn);font-style:normal;font-weight:800}.money em.esaurito{color:var(--danger);font-weight:800}.money b{font-size:1.05rem;font-weight:700;font-variant-numeric:tabular-nums}.money span{font-variant-numeric:tabular-nums;font-size:.78rem}.badge{display:inline-flex;align-items:center;gap:5px;width:fit-content;border-radius:4px;padding:4px 9px;background:var(--surface-2);color:var(--ink-2);border:1px solid var(--wire);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.badge.confermata{background:color-mix(in srgb,var(--ok) 16%,var(--surface-2));color:var(--ok);border:1px solid color-mix(in srgb,var(--ok) 40%,transparent)}.badge.annullata,.issue.errore{background:color-mix(in srgb,var(--danger) 16%,var(--surface-2));color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 40%,transparent)}.issue.warning{background:color-mix(in srgb,var(--warn) 16%,var(--surface-2));color:var(--warn);border:1px solid color-mix(in srgb,var(--warn) 40%,transparent)}.issue,.ok{border-radius:var(--radius-m);padding:12px}.ok{background:var(--signal-dim);color:var(--ok);font-weight:800}.timeline{grid-column:1 / 2}.coherence{align-self:start;border:1px solid var(--wire);border-left:3px solid var(--warn);background:var(--surface);box-shadow:var(--shadow-elevated)}.coherence h2:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--warn);box-shadow:0 0 8px color-mix(in srgb,var(--warn) 60%,transparent);margin-right:8px}.coherence:has(.issue.errore){border-left-color:var(--danger)}.coherence:has(.issue.errore) h2:before{background:var(--danger);box-shadow:0 0 8px color-mix(in srgb,var(--danger) 60%,transparent)}.coherence:has(.ok):not(:has(.issue)){border-left-color:var(--signal)}.day{display:grid;gap:8px}.quote{max-width:900px;margin:0 auto;border-top:3px solid var(--brand)}.quote-day{display:grid;gap:8px;padding-top:12px}.quote-day article{border-bottom:1px solid var(--wire);padding:8px 0}.quote-total{display:grid;justify-items:end;gap:6px;padding-top:18px;font-size:1.1rem}.table{display:grid;gap:8px;margin-top:14px}.row-button{width:100%;text-align:left}.dashboard{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.metric b{display:block;margin-top:8px;color:var(--ink);font-size:2.25rem;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.chart{display:grid;gap:10px}.bar-row{display:grid;grid-template-columns:110px 1fr 110px;gap:10px;align-items:center;font-size:.88rem}.bar-row div{height:12px;border-radius:999px;background:var(--surface-2);overflow:hidden}.bar-row i{display:block;height:100%;border-radius:inherit;background:var(--brand-light)}.bar-row.bar-peak i{background:var(--signal)}.integrations,.logs{background:var(--surface);border:1px solid var(--wire);border-radius:var(--radius-m);padding:var(--space-4)}.logs article{display:grid;gap:6px;background:var(--surface-2);border:1px solid var(--wire-2);border-radius:7px;padding:12px}code{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}footer{position:fixed;right:0;bottom:0;left:0;border-top:1px solid var(--wire);background:var(--void);color:var(--ink-3);padding:8px 24px;font-size:.72rem;text-align:center;letter-spacing:.01em}:focus-visible{outline:2px solid var(--signal);outline-offset:2px}@media(max-width:980px){.topbar,.builder-grid{grid-template-columns:1fr}.timeline{grid-column:auto}.panel-head,.service-card,.timeline-item,.row-button{align-items:stretch;flex-direction:column}.money{text-align:left}}@media print{.topbar,footer,button,.coherence{display:none!important}main{padding:0}.quote{border:0}body,.quote{background:#fff!important;color:#1c1f22!important}.quote *{color:#1c1f22!important;background:transparent!important}.quote{border-top-color:#173d4e!important}}
