:root{--bg:#f5f6f8;--panel:#ffffff;--ink:#1f2733;--muted:#6b7280;--border:#e3e6ea;--accent:#2f5d8a;--accent-soft:#eaf1f8;--ok:#1d7a55;--bad:#b3402f}*{box-sizing:border-box}body,html{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg)}.layout{display:flex;min-height:100vh}.sidebar{width:220px;flex-shrink:0;background:var(--panel);border-right:1px solid var(--border);padding:20px 14px;display:flex;flex-direction:column;position:-webkit-sticky;position:sticky;top:0;align-self:flex-start;height:100vh;overflow-y:auto}.sidebar-footer{margin-top:auto;padding-top:16px;border-top:1px solid var(--border)}.sidebar-user{padding:4px 10px 10px;word-break:break-word}.sidebar-user-name{font-size:13px;font-weight:600;color:var(--ink)}.sidebar-user-roles{font-size:11px;color:var(--accent);margin-top:2px;text-transform:uppercase;letter-spacing:.03em}.login-wrap{display:flex;min-height:100vh;align-items:center;justify-content:center;background:var(--bg);padding:24px}.login-card{width:100%;max-width:360px}.login-card form.stack{max-width:none}.field>span{font-size:13px;color:var(--muted)}.brand{font-weight:600;letter-spacing:2px;font-size:15px;color:var(--accent);padding:6px 10px 18px}.brand-product{display:inline-block;margin-left:6px;font-weight:400;letter-spacing:1px;font-size:12px;color:var(--muted)}.env-badge{margin:-10px 10px 16px;padding:6px 10px;border-radius:8px;background:#d9531e;color:#fff;font-weight:800;font-size:13px;letter-spacing:3px;text-align:center;text-transform:uppercase;box-shadow:0 1px 3px rgba(0,0,0,.18)}.nav{display:flex;flex-direction:column;gap:2px}.navlink{text-decoration:none;color:var(--ink);padding:9px 12px;border-radius:8px;font-size:14px}.navlink:hover{background:var(--accent-soft);color:var(--accent)}.navlink.has-badge{display:flex;align-items:center;justify-content:space-between}.nav-badge{display:inline-block;min-width:18px;text-align:center;background:var(--accent);color:#fff;font-size:11px;font-weight:600;border-radius:10px;padding:1px 6px;margin-left:8px}.nav-group{display:flex;flex-direction:column;gap:2px}.nav-group-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;cursor:pointer;font:inherit;font-size:14px;text-align:left}.nav-caret{font-size:14px;color:var(--muted);transition:transform .15s ease}.nav-caret.open{transform:rotate(90deg)}.navlink.sub{padding-left:22px;font-size:13px}.main{flex:1 1;padding:28px 34px;max-width:1100px}h1{font-size:22px;font-weight:600;margin:0 0 4px}.subtitle{color:var(--muted);margin:0 0 22px;font-size:14px}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.btn{display:inline-block;background:var(--accent);color:#fff;border:none;border-radius:8px;padding:9px 16px;font-size:14px;cursor:pointer;text-decoration:none}.btn:hover{filter:brightness(1.07)}.btn.secondary{background:var(--panel);color:var(--ink);border:1px solid var(--border)}.card{border:1px solid var(--border);border-radius:12px;padding:18px 20px}.card,table{background:var(--panel)}table{width:100%;border-collapse:collapse;border:1px solid var(--border);border-radius:12px;overflow:hidden}td,th{text-align:left;padding:11px 14px;font-size:14px;border-bottom:1px solid var(--border)}th{background:#fafbfc;color:var(--muted);font-weight:500}tr:last-child td{border-bottom:none}.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.empty{color:var(--muted);padding:28px;text-align:center}form.stack{gap:14px;max-width:560px}.field,form.stack{display:flex;flex-direction:column}.field{gap:5px}.field label{font-size:13px;color:var(--muted)}.field input,.field select,.field textarea{border:1px solid var(--border);border-radius:8px;padding:9px 11px;font-size:14px;font-family:inherit}.row2{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.actions{display:flex;gap:10px;margin-top:8px}.grid-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:14px;gap:14px}.metric{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px 18px}.metric .label{font-size:13px;color:var(--muted)}.metric .value{font-size:22px;font-weight:600;margin-top:4px}.form-wide{display:flex;flex-direction:column;gap:18px}.righe-table{border:none}.righe-table td,.righe-table th{padding:7px 6px}.righe-table input,.righe-table select{border:1px solid var(--border);border-radius:6px;padding:5px 7px;font-size:13px;font-family:inherit;width:100%}.righe-table input[type=checkbox]{width:auto;border:none;padding:0;margin:0;flex:none}.righe-table tfoot td{border-top:2px solid var(--border);border-bottom:none}.stato-badge{display:inline-block;padding:2px 9px;border-radius:12px;font-size:12px;font-weight:500;white-space:nowrap}.stato-bozza{background:#f0f0f0;color:#555}.stato-inviata{background:#e8f0fe;color:#1a56db}.stato-accettata{background:#d1fae5;color:#065f46}.stato-persa{background:#fee2e2;color:#991b1b}.stato-scaduta{background:#fef3c7;color:#92400e}.stato-nuovo{background:#f0f0f0;color:#555}.stato-contattato{background:#e8f0fe;color:#1a56db}.stato-qualificato{background:#e0e7ff;color:#3730a3}.stato-perso{background:#fee2e2;color:#991b1b}.stato-convertito{background:#d1fae5;color:#065f46}.stato-vinto{background:#16a34a;color:#fff;font-weight:600}.stato-aperta{background:#e8f0fe;color:#1a56db}.stato-chiusa_da_incassare{background:#fef3c7;color:#92400e}.stato-in_corso{background:#d1fae5;color:#065f46}.stato-sospesa{background:#fef3c7;color:#92400e}.stato-chiusa{background:#f0f0f0;color:#555}.stato-annullata{background:#fee2e2;color:#991b1b}.stato-aperto{background:#e8f0fe;color:#1a56db}.stato-in_lavorazione{background:#fef3c7;color:#92400e}.stato-completato{background:#d1fae5;color:#065f46}.stato-annullato{background:#f0f0f0;color:#555}.stato-richiesta{background:#fef3c7;color:#92400e}.stato-approvata{background:#d1fae5;color:#065f46}.stato-rifiutata{background:#fee2e2;color:#991b1b}.settimana-sep td{padding:0;height:8px;background:var(--panel,#f6f7f9);border-top:2px solid var(--accent,#2563eb)}.help-fab{position:fixed;top:16px;right:18px;z-index:50;display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 14px 0 11px;border-radius:999px;border:1px solid var(--border);background:#fff;color:var(--accent);font-size:14px;font-weight:600;line-height:1;cursor:pointer;box-shadow:0 1px 5px rgba(0,0,0,.12);transition:background .15s ease,border-color .15s ease,transform .05s ease}.help-fab:hover{background:var(--accent-soft);border-color:var(--accent)}.help-fab:active{transform:translateY(1px)}.help-fab-icon{flex:none}.help-fab-label{white-space:nowrap}.help-overlay{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.28)}.help-drawer{position:fixed;top:0;right:0;z-index:61;width:380px;max-width:92vw;height:100vh;background:#fff;border-left:1px solid var(--border);box-shadow:-4px 0 18px rgba(0,0,0,.12);padding:18px 20px;overflow-y:auto}.help-drawer-head{display:flex;align-items:center;justify-content:space-between}.help-drawer-head h2{font-size:18px;margin:0;color:var(--ink)}.help-close{border:none;background:none;font-size:26px;line-height:1;color:var(--muted);cursor:pointer;padding:0 4px}.help-intro{color:var(--muted);font-size:13px;margin:4px 0 14px}.help-empty{color:var(--muted);font-size:14px}.help-acc{display:flex;flex-direction:column;gap:8px}.help-item{border:1px solid var(--border);border-radius:8px;overflow:hidden}.help-item.corrente{border-color:var(--accent)}.help-item-head{width:100%;display:flex;align-items:center;gap:8px;padding:10px 12px;background:#fafbfc;border:none;cursor:pointer;font-size:14px;font-weight:600;color:var(--ink);text-align:left}.help-item-head>span:first-child{flex:1 1}.help-item.corrente .help-item-head{background:var(--accent-soft)}.help-badge{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--accent);background:#fff;border:1px solid var(--accent);border-radius:999px;padding:1px 7px}.help-chevron{color:var(--muted);font-size:16px;width:14px;text-align:center}.help-item-body{padding:4px 14px 14px;font-size:13.5px;color:var(--ink)}.help-item-body h3{font-size:15px;margin:10px 0 4px}.help-item-body h4{font-size:13px;margin:12px 0 3px;color:var(--accent);text-transform:uppercase;letter-spacing:.02em}.help-item-body h5{font-size:13px;margin:10px 0 2px}.help-item-body p{margin:4px 0;line-height:1.5}.help-item-body ul{margin:4px 0;padding-left:18px}.help-item-body li{margin:3px 0;line-height:1.45}.nav-overlay,.topbar{display:none}.tabella-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}canvas,img,svg,video{max-width:100%;height:auto}@media (max-width:900px){.layout{display:block}.sidebar{position:fixed;top:0;left:0;height:100vh;height:100dvh;width:260px;max-width:84vw;z-index:70;transform:translateX(-100%);transition:transform .22s ease;box-shadow:2px 0 18px rgba(0,0,0,.18)}body.nav-open .sidebar{transform:translateX(0)}body.nav-open .nav-overlay{display:block;position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.32)}.topbar{display:flex;align-items:center;gap:12px;position:-webkit-sticky;position:sticky;top:0;z-index:40;height:52px;padding:0 56px 0 14px;background:var(--panel);border-bottom:1px solid var(--border)}.topbar-burger{flex:none;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin-left:-8px;border:none;background:none;color:var(--ink);font-size:24px;line-height:1;cursor:pointer;border-radius:8px}.topbar-burger:active{background:var(--accent-soft)}.topbar-brand{font-weight:600;letter-spacing:1px;font-size:14px;color:var(--accent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-brand .brand-product,.topbar-env{font-size:11px}.topbar-env{margin-left:auto;flex:none;padding:3px 8px;border-radius:6px;background:#d9531e;color:#fff;font-weight:800;letter-spacing:2px;text-transform:uppercase}.main{max-width:100%;padding:18px 16px}.help-fab{top:9px;right:12px}.help-fab-label{display:none}.help-fab{padding:0;width:34px;height:34px;justify-content:center}}@media (max-width:1024px){.tabella-lista td,.tabella-lista th{white-space:nowrap}}@media (max-width:640px){.main{padding:16px 12px}h1{font-size:20px}.toolbar{flex-direction:column;align-items:stretch;gap:12px}.toolbar .btn{width:100%;text-align:center}.stack,form.stack{max-width:100%!important}.row2{grid-template-columns:1fr}.field input,.field select,.field textarea{width:100%}.btn,.field input,.field select,.field textarea{font-size:16px;min-height:44px}textarea{min-height:88px}.actions{flex-direction:column}.actions .btn{width:100%;text-align:center}.grid-cards{grid-template-columns:1fr 1fr;gap:10px}.tabella-wrap{overflow-x:visible}.tabella-lista{border:none;background:none}.tabella-lista thead{display:none}.tabella-lista,.tabella-lista tbody,.tabella-lista td,.tabella-lista tr{display:block;width:auto}.tabella-lista tr{background:var(--panel);border:1px solid var(--border);border-radius:12px;margin-bottom:12px;padding:4px 2px;overflow:hidden}.tabella-lista td{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:9px 14px;border-bottom:1px solid var(--border);text-align:right;white-space:normal;min-height:0}.tabella-lista tr td:last-child{border-bottom:none}.tabella-lista td:before{content:attr(data-label);flex:0 0 42%;text-align:left;font-size:12px;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.02em}.tabella-lista td.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tabella-lista td.cella-azioni{justify-content:flex-end}.tabella-lista td.cella-azioni:before{content:none}.help-drawer{width:100%;max-width:100%}}