@charset "UTF-8";
:root{color-scheme:dark;font:100%/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-optical-sizing:auto;--bg:#030304;--surface:#0d0d10;--surface-raised:#17171b;--line:#26262d;--text:#f5f5f7;--muted:#a6aab5;--accent:#b9ceff;--good:#94d6ba;--warn:#edcb95;--bad:#f2a6b4;--radius:22px;--ease-out:cubic-bezier(.23,1,.32,1);--ease-in-out:cubic-bezier(.77,0,.175,1)}
*{box-sizing:border-box}html{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--text);font-size:16px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,[role=button],summary{touch-action:manipulation}button,[role=button],.button,summary{-webkit-user-select:none;user-select:none}button{cursor:pointer}img,svg{max-width:100%}button:disabled{cursor:not-allowed;opacity:.45}input,select,textarea{min-width:0;width:100%;font-size:16px;color:var(--text);background:#0c0d11;border:1px solid #373a44;border-radius:12px;padding:13px 14px;min-height:48px}textarea{resize:vertical;line-height:1.6}input::placeholder,textarea::placeholder{color:#858a98}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:2px}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:5px;border-radius:8px}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.12;font-weight:600;letter-spacing:-.035em}h1{font-size:clamp(2rem,4vw,3rem)}h2{font-size:clamp(1.4rem,2.6vw,2rem)}h3{font-size:1.125rem}p{line-height:1.65}small{font-size:14px;line-height:1.5}.muted,.subtext{color:var(--muted)}.good{color:var(--good)}.danger{color:var(--bad)}.icon{width:20px;height:20px;flex:none;vertical-align:middle}.button{display:inline-flex;gap:9px;align-items:center;justify-content:center;min-height:46px;padding:11px 20px;border:1px solid transparent;border-radius:999px;font-size:15px;font-weight:600;line-height:1.3;white-space:normal;text-align:center;transition:transform 160ms var(--ease-out),background-color 160ms ease,color 160ms ease,border-color 160ms ease}.button.primary{background:#eff2f8;color:#10131a;box-shadow:0 1px 0 #ffffff8c inset}.button.secondary{background:#20232b;border-color:#333743;color:#eceef4}.button.ghost{border-color:var(--line);background:transparent}.button.small{padding:9px 15px;min-height:42px;font-size:14px}.button:active,.icon-button:active{transform:scale(.97)}.icon-button{display:inline-grid;place-items:center;width:44px;height:44px;flex:none;background:transparent;border:1px solid var(--line);border-radius:50%;color:var(--text);transition:transform 160ms var(--ease-out),background-color 160ms ease}.text-link{display:inline-flex;align-items:center;gap:7px;color:var(--accent);font-size:15px;min-height:36px}.brand{display:inline-flex;align-items:center;gap:10px;font-weight:600;letter-spacing:-.035em;font-size:22px}.brand img{width:35px;height:35px;border-radius:10px;object-fit:cover}.brand span{display:block}.badge{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border-radius:999px;background:#23262f;color:#ced2dc;font-size:14px;font-weight:500;line-height:1.3;white-space:nowrap}.badge-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.badge.in_corso,.badge.confermato{background:#1b2938;color:#b5d0f9}.badge.completato{background:#192e27;color:var(--good)}.badge.preventivo,.badge.in_revisione{background:#332c20;color:var(--warn)}.badge.annullato{background:#302127;color:var(--bad)}.avatar{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex:none;border-radius:50%;object-fit:cover;background:linear-gradient(135deg,#353f55,#1a1e29);color:#e3e9f6;font-weight:600;font-size:15px}.avatar.large{width:52px;height:52px;font-size:21px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:10px;left:10px;transform:translateY(-160%);z-index:100;background:var(--text);color:var(--bg);padding:12px;border-radius:10px}.skip-link:focus{transform:none}.empty-state{text-align:center;padding:44px 24px;color:var(--muted)}.empty-state .icon{width:30px;height:30px;margin-bottom:14px;color:#d0d6e4}.empty-state h3{color:var(--text);margin-bottom:8px}.empty-state p{max-width:340px;margin:0 auto 14px}.notice{display:flex;gap:14px;align-items:center;padding:18px 20px;border:1px solid #3b3d43;border-radius:16px;background:#171b23;margin-bottom:24px;font-size:15px}.notice p{color:var(--muted);margin-top:4px}.notice .text-link{margin-left:auto}.demo-banner{padding:12px 18px;border:1px solid #4b4331;border-radius:12px;color:#e4cda1;margin-bottom:24px;font-size:14px}.demo-banner a{color:inherit;text-decoration:underline;margin-left:14px}.reveal{opacity:1;transform:none}.reveal.reveal-pending{opacity:0;transform:translateY(16px)}.reveal.reveal-ready{transition:opacity 600ms var(--ease-out),transform 600ms var(--ease-out)}.reveal.reveal-pending:focus-within{opacity:1;transform:none}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.stacked-form{display:grid;gap:20px}.stacked-form label{display:grid;gap:9px;font-size:15px;font-weight:500}.stacked-form label small{font-weight:400;color:var(--muted)}.stacked-form .optional{color:var(--muted);font-weight:400}.form-footer{display:flex;justify-content:flex-end;gap:12px;padding-top:10px}.project-details{white-space:pre-wrap;overflow-wrap:anywhere;color:#c3c7d1}.project-details:empty{display:none}.table-scroll{overflow:auto;overscroll-behavior:contain;max-width:100%;border-radius:0 0 var(--radius) var(--radius)}table{width:100%;border-collapse:collapse;font-size:15px;min-width:560px}th{text-align:left;color:var(--muted);font-weight:500;font-size:14px;padding:14px 22px;border-bottom:1px solid var(--line)}td{padding:18px 22px;border-bottom:1px solid var(--line);vertical-align:top}tbody tr:last-child td{border-bottom:0}.number{font-variant-numeric:tabular-nums;white-space:nowrap}.reference{overflow-wrap:anywhere;max-width:250px}.reference small,.subtext{display:block;margin-top:5px;font-size:14px}details>summary{cursor:pointer;list-style:none;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:14px}details>summary::-webkit-details-marker{display:none}details>summary::after{content:'+';color:var(--muted);font-size:23px;font-weight:400}details[open]>summary::after{content:'−'}details .stacked-form{padding-top:20px}.fineprint{font-size:14px;color:var(--muted);line-height:1.6}.pill{font-size:14px;border:1px solid #363b47;border-radius:999px;padding:6px 11px;color:#cbd2e3;display:inline-block}.footer{color:var(--muted);font-size:14px}progress{width:100%;height:6px;appearance:none;border:0;border-radius:99px;background:#2b2e37;overflow:hidden}progress::-webkit-progress-bar{background:#2b2e37}progress::-webkit-progress-value{background:var(--accent);border-radius:99px}progress::-moz-progress-bar{background:var(--accent);border-radius:99px}
@media(hover:hover) and (pointer:fine){.button.primary:hover{background:#fff}.button.secondary:hover{background:#303541;border-color:#4c5260}.button.ghost:hover,.icon-button:hover{background:#20232b}.text-link:hover{color:#e4edff}}
@media(max-width:620px){.form-row{grid-template-columns:1fr}.notice{align-items:flex-start;flex-wrap:wrap}.notice .text-link{margin-left:34px}.button{min-height:48px}.form-footer{flex-wrap:wrap}.form-footer>.button{flex:1}.table-scroll{margin-inline:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.reveal.reveal-pending{opacity:1;transform:none}.reveal.reveal-ready{transition:opacity 150ms ease}.button,.icon-button{transition:background-color 150ms ease,color 150ms ease}.button:active,.icon-button:active{transform:none}}
@media(prefers-reduced-transparency:reduce){.glass{background:#111319!important;backdrop-filter:none!important}}
@media(prefers-contrast:more){:root{--muted:#c5c9d2;--line:#69717f}.glass{background:#101217!important;backdrop-filter:none!important}}
