:root{--red:#d30f0f;--red-soft:#fbdcdc;--green:#18bf13;--green-soft:#dff5df;--amber:#c98a12;--amber-soft:#fff3d6;--blue:#1a4fbf;--blue-soft:#e3edff;--purple:#6b21a8;--purple-soft:#ede3fb;--magenta:#a21caf;--magenta-soft:#fce7f3;--teal:#0f766e;--teal-soft:#d6f5f0;--bg:#fafafa;--card-bg:#fff;--border:#e2e2e2;--text:#1a1a1a;--text-muted:#6b6b6b;--surface-muted:#eee;--hover-bg:#f5f5f5;--link:#1a56db;--font-main:"Poppins", system-ui, -apple-system, sans-serif}:root[data-theme=dark]{--red:#ff5c4d;--red-soft:#511f1f;--green:#3ddc35;--green-soft:#1e3e1e;--amber:#e0a83e;--amber-soft:#4a3b1c;--blue:#6ea8fe;--blue-soft:#1f3051;--purple:#b48ce6;--purple-soft:#3f244c;--magenta:#e879c7;--magenta-soft:#402145;--teal:#4dd0c4;--teal-soft:#1c403b;--bg:#14151a;--card-bg:#1c1e24;--border:#33353d;--text:#ececec;--text-muted:#9a9ca3;--surface-muted:#2a2c33;--hover-bg:#24262d;--link:#6ea8fe}*{box-sizing:border-box}body{font-family:var(--font-main);background:var(--bg);color:var(--text);margin:0}a{color:var(--link)}h1,h2,h3{margin:0 0 12px}.page-title{font-size:22px;font-weight:700}.section-title{margin-top:24px;font-size:16px;font-weight:600}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;overflow:auto hidden;box-shadow:0 1px 2px #0000000a}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;border-bottom:1px solid var(--border);padding:8px 10px}th.sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0;display:flex}.spacer{flex:1}.btn{cursor:pointer;background:var(--surface-muted);color:var(--text);border:1px solid #0000;border-radius:6px;padding:6px 12px;font-family:inherit;font-size:13px}.btn-primary{background:var(--red);color:#fff}.btn-secondary{background:var(--surface-muted)}.btn-danger{background:var(--card-bg);border-color:var(--red);color:var(--red)}.btn-sm{padding:3px 8px;font-size:12px}.input,select.input,textarea.input{border:1px solid var(--border);background:var(--card-bg);color:var(--text);border-radius:6px;padding:6px 8px;font-family:inherit;font-size:13px}textarea.input{min-height:60px}.badge{background:var(--surface-muted);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.badge.status-completato{background:var(--green-soft);color:#147a13}.badge.status-cancellato{background:var(--red-soft);color:var(--red)}.badge.status-incorso{background:var(--blue-soft);color:var(--blue)}.badge.status-darevisione,.badge.status-inrevisione{background:var(--amber-soft);color:var(--amber)}.badge.status-dafare,.badge.status-daavviare{background:var(--surface-muted);color:var(--text-muted)}.badge.status-inpausa,.badge.status-sospeso{background:var(--amber-soft);color:var(--amber)}.badge.prio-urgente{background:var(--red-soft);color:var(--red)}.badge.prio-alta{background:var(--amber-soft);color:var(--amber)}.badge.prio-media,.badge.prio-bassa{background:var(--surface-muted);color:var(--text-muted)}.badge.status-chiuso,.badge.status-incassata,.badge.status-pagata,.badge.status-pagato,.badge.status-confermato{background:var(--green-soft);color:#147a13}.badge.status-daincassare,.badge.status-daemettere,.badge.status-daricevere{background:var(--surface-muted);color:var(--text-muted)}.badge.status-dapagare{background:var(--red-soft);color:var(--red)}.badge.status-inpagamento{background:var(--amber-soft);color:var(--amber)}.badge.status-previsto{background:var(--surface-muted);color:var(--text-muted)}.badge.status-emessa,.badge.status-ricevuta{background:var(--amber-soft);color:var(--amber)}.badge.status-rifiutato{background:var(--red-soft);color:var(--red)}.badge.status-won{background:var(--green-soft);color:#147a13}.badge.status-interno{background:var(--purple-soft);color:var(--purple)}.badge.status-icmc{background:var(--amber-soft);color:var(--amber)}.badge.status-esterno{background:var(--surface-muted);color:var(--text-muted)}.badge.status-contattato{background:var(--blue-soft);color:var(--blue)}.badge.status-inconversazione{background:var(--purple-soft);color:var(--purple)}.badge.status-propostainviata{background:var(--amber-soft);color:var(--amber)}.badge.status-dacontattare,.badge.status-standby,.badge.status-talkstage{background:var(--surface-muted);color:var(--text-muted)}.status-select{cursor:pointer;font:inherit;border:none}.badge.role-none{background:var(--surface-muted);color:var(--text-muted)}.badge.role-readonly{background:var(--blue-soft);color:var(--blue)}.badge.role-admin{background:var(--green-soft);color:#147a13}.chip.category-projectmanagement{background:var(--blue-soft);color:var(--blue)}.chip.category-talentmanagement{background:var(--purple-soft);color:var(--purple)}.chip.category-prodotto{background:var(--amber-soft);color:var(--amber)}.chip.chip-agency{background:var(--purple-soft);color:var(--purple)}.chip.management-interna{background:var(--surface-muted);color:var(--text-muted)}.chip.management-esterna{background:var(--teal-soft);color:var(--teal)}.chip.management-scambiomerce{background:var(--magenta-soft);color:var(--magenta)}.chip.role-owner{background:var(--green-soft);color:#147a13}.chip.role-talent{background:var(--amber-soft);color:var(--amber)}.chip.role-fornitore{background:var(--surface-muted);color:var(--text-muted)}.row-delete-btn{color:var(--red);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 8px;font-size:18px;line-height:1}.row-delete-btn:hover{background:#dc26261f}.link-button{font:inherit;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;padding:0}.link-button:hover{text-decoration:underline}.badge.margin-good{background:var(--green-soft);color:#147a13}.badge.margin-ok{background:var(--amber-soft);color:var(--amber)}.badge.margin-low{background:var(--red-soft);color:var(--red)}.badge.count-attenzione{background:var(--amber-soft);color:var(--amber)}.badge.count-critico{background:var(--red-soft);color:var(--red)}.badge.dir-entrata{background:var(--green-soft);color:#147a13}.badge.dir-uscita{background:var(--red-soft);color:var(--red)}.badge.status-idea{background:var(--surface-muted);color:var(--text-muted)}.badge.status-dagirare{background:var(--amber-soft);color:var(--amber)}.badge.status-damontare{background:var(--purple-soft);color:var(--purple)}.badge.status-programmato{background:var(--blue-soft);color:var(--blue)}.badge.status-pubblicato{background:var(--green-soft);color:#147a13}.kpi-row{flex-wrap:wrap;gap:12px;margin-bottom:20px;display:flex}.compact-table{font-size:11px}.compact-table th,.compact-table td{padding:4px 6px}.cost-cell-empty{text-align:center}.cost-cell-add{border:1px dashed var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:4px;width:22px;height:22px}.cost-cell-amount{color:var(--text);cursor:pointer;font:inherit;background:0 0;border:none;font-weight:600}.cost-cell-delete{color:var(--text-muted);cursor:pointer;background:0 0;border:none;margin-left:4px}.kpi-card{background:var(--card-bg);border:1px solid var(--border);border-top:3px solid var(--border);border-radius:8px;min-width:150px;padding:14px 18px;box-shadow:0 1px 2px #0000000a}.kpi-card.kpi-money{border-top-color:var(--green)}.kpi-card.kpi-warn{border-top-color:var(--amber)}.kpi-card .kpi-label{color:var(--text-muted);margin-bottom:4px;font-size:12px}.kpi-card .kpi-value{font-variant-numeric:tabular-nums;font-size:20px;font-weight:700}.chip{background:var(--surface-muted);border-radius:999px;margin:1px;padding:2px 8px;font-size:12px;display:inline-block}.deadline-overdue{color:var(--red);font-weight:600}.deadline-soon{color:var(--amber);font-weight:600}tr.row-overdue td:first-child,tr.row-soon td:first-child{position:relative}tr.row-overdue td:first-child:before,tr.row-soon td:first-child:before{content:"";width:3px;position:absolute;top:0;bottom:0;left:0}tr.row-overdue td:first-child:before{background:var(--red)}tr.row-soon td:first-child:before{background:var(--amber)}.empty-state{text-align:center;color:var(--text-muted);padding:24px}.skel-block{background:linear-gradient(90deg, var(--surface-muted) 25%, var(--hover-bg) 50%, var(--surface-muted) 75%);background-size:200% 100%;border-radius:8px;animation:1.4s ease-in-out infinite skel-pulse}@keyframes skel-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skel-block{animation:none}}.row-actions{gap:6px;display:flex}.row-link{cursor:pointer}.row-link:hover{background:var(--hover-bg);box-shadow:inset 2px 0 0 var(--text-muted)}.field{margin-bottom:12px;display:block}.field .lbl{color:var(--text-muted);margin-bottom:4px;font-size:12px;font-weight:600;display:block}.field .input,.field select,.field textarea{width:100%}.checkbox-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:4px;font-size:13px;display:grid}.modal-overlay{z-index:50;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--card-bg);border-radius:10px;width:480px;max-width:92vw;max-height:88vh;padding:20px;position:relative;overflow-y:auto}.modal-wide{width:720px}.modal-close{color:var(--text);cursor:pointer;background:0 0;border:none;font-size:16px;position:absolute;top:12px;right:12px}.modal-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.settings-menu-panel{z-index:50;background:var(--card-bg);border:1px solid var(--border);border-radius:10px;width:300px;max-width:calc(100vw - 24px);padding:14px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 24px #00000026}.settings-menu-section{flex-direction:column;gap:6px;display:flex}.settings-menu-section+.settings-menu-section{border-top:1px solid var(--border);margin-top:4px;padding-top:12px}.crm-menu-item{color:var(--text);border-radius:6px;padding:8px 10px;font-size:13px;text-decoration:none;display:block}.crm-menu-item:hover{background:var(--surface-muted)}.crm-menu-item.active{color:var(--red);font-weight:600}.hamburger-btn{cursor:pointer;color:var(--text);background:0 0;border:none;margin-left:auto;padding:2px 6px;font-size:22px;line-height:1;display:none}.mobile-nav-overlay{z-index:100;background:#0006;position:fixed;inset:0}.mobile-nav-drawer{background:var(--card-bg);border-right:1px solid var(--border);z-index:101;flex-direction:column;gap:2px;width:260px;max-width:80vw;padding:16px 12px;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.mobile-nav-close{cursor:pointer;color:var(--text);background:0 0;border:none;align-self:flex-end;margin-bottom:8px;padding:4px;font-size:16px}.mobile-nav-link{color:var(--text);cursor:pointer;border-radius:6px;padding:10px 12px;font-size:14px;text-decoration:none;display:block}.mobile-nav-link:hover{background:var(--surface-muted)}.mobile-nav-link.active{color:var(--red);font-weight:600}.mobile-nav-divider{background:var(--border);height:1px;margin:8px 4px}.view-switch{border:1px solid var(--border);border-radius:6px;max-width:100%;display:inline-flex;overflow:auto hidden}.view-switch-btn{background:var(--card-bg);color:var(--text);cursor:pointer;border:none;padding:5px 10px;font-family:inherit;font-size:12px}.view-switch-btn.active{background:var(--red);color:#fff}.app-header{border-bottom:1px solid var(--border);background:var(--card-bg);align-items:center;gap:16px;padding:12px 24px;display:flex}.app-logo{width:auto;height:28px;display:block}.app-tabs{gap:4px;display:flex}.app-tab{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 14px;font-family:inherit;font-size:13px}.app-tab.active{color:var(--text);border-bottom-color:var(--red);font-weight:600}.tab-badge{background:var(--red);color:#fff;vertical-align:middle;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;margin-left:6px;padding:0 4px;font-size:10px;font-weight:700;display:inline-flex}.bulk-bar{background:var(--surface-muted);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;padding:10px 14px;font-size:13px;display:flex}.main-content{max-width:1400px;margin:0 auto;padding:20px 24px}.back-link{color:var(--text-muted);cursor:pointer;background:0 0;border:none;margin-bottom:12px;padding:0;font-size:13px}.detail-header{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.detail-header-meta{text-align:right}.kpi-compact .kpi-row{justify-content:flex-end;gap:8px}.kpi-compact .kpi-card{min-width:0;padding:6px 10px}.kpi-compact .kpi-card .kpi-label{margin-bottom:2px;font-size:10px}.kpi-compact .kpi-card .kpi-value{font-size:14px}.talent-tag{cursor:pointer;font:inherit;border:none}.talent-c0{color:#931f1f;background:#f8dddd}.talent-c1{color:#8b5218;background:#f7e6d4}.talent-c2{color:#7e651b;background:#f4eacd}.talent-c3{color:#476827;background:#e0eed3}.talent-c4{color:#246042;background:#d3eee0}.talent-c5{color:#246060;background:#d3eeee}.talent-c6{color:#215a83;background:#d6e8f5}.talent-c7{color:#412e9e;background:#e3dff6}.talent-c8{color:#6a297a;background:#f1e0f5}.talent-c9{color:#8b2357;background:#f7deeb}.field-error{color:var(--red);margin-top:4px;font-size:12px}:root[data-theme=dark] .badge.status-completato,:root[data-theme=dark] .badge.status-chiuso,:root[data-theme=dark] .badge.status-incassata,:root[data-theme=dark] .badge.status-pagata,:root[data-theme=dark] .badge.status-pagato,:root[data-theme=dark] .badge.status-won,:root[data-theme=dark] .badge.margin-good,:root[data-theme=dark] .badge.dir-entrata,:root[data-theme=dark] .badge.status-pubblicato,:root[data-theme=dark] .badge.status-confermato{color:#81da81;background:#1e3e1e}:root[data-theme=dark] .badge.status-incorso,:root[data-theme=dark] .badge.status-contattato,:root[data-theme=dark] .badge.status-programmato,:root[data-theme=dark] .chip.category-projectmanagement{color:#8fafef;background:#1f3051}:root[data-theme=dark] .badge.status-inconversazione,:root[data-theme=dark] .badge.status-damontare,:root[data-theme=dark] .badge.status-interno,:root[data-theme=dark] .chip.category-talentmanagement,:root[data-theme=dark] .chip.chip-agency{color:#d1a8e6;background:#3f244c}:root[data-theme=dark] .badge.status-darevisione,:root[data-theme=dark] .badge.status-inrevisione,:root[data-theme=dark] .badge.status-inpausa,:root[data-theme=dark] .badge.status-propostainviata,:root[data-theme=dark] .badge.prio-alta,:root[data-theme=dark] .badge.margin-ok,:root[data-theme=dark] .badge.status-dagirare,:root[data-theme=dark] .badge.status-sospeso,:root[data-theme=dark] .badge.status-emessa,:root[data-theme=dark] .badge.status-ricevuta,:root[data-theme=dark] .badge.status-icmc,:root[data-theme=dark] .badge.status-inpagamento,:root[data-theme=dark] .chip.category-prodotto{color:#ebc270;background:#4a3b1c}:root[data-theme=dark] .badge.prio-urgente,:root[data-theme=dark] .badge.status-rifiutato,:root[data-theme=dark] .badge.status-cancellato,:root[data-theme=dark] .badge.margin-low,:root[data-theme=dark] .badge.status-dapagare,:root[data-theme=dark] .badge.dir-uscita{color:#ef8f8f;background:#511f1f}:root[data-theme=dark] .talent-c0{color:#eba2a2;background:#4f2222}:root[data-theme=dark] .talent-c1{color:#ecbf93;background:#47331f}:root[data-theme=dark] .talent-c2{color:#e6cf89;background:#40371c}:root[data-theme=dark] .talent-c3{color:#b3d590;background:#2e3c20}:root[data-theme=dark] .talent-c4{color:#89d2ad;background:#1d3529}:root[data-theme=dark] .talent-c5{color:#89d2d2;background:#1d3535}:root[data-theme=dark] .talent-c6{color:#99c6e6;background:#1f3647}:root[data-theme=dark] .talent-c7{color:#b9b0e8;background:#2f2853}:root[data-theme=dark] .talent-c8{color:#d8abe3;background:#43264a}.toast-stack{z-index:1000;flex-direction:column;gap:8px;max-width:360px;display:flex;position:fixed;bottom:20px;right:20px}.toast{background:var(--card-bg);border:1px solid var(--border);border-left:4px solid var(--text-muted);border-radius:6px;padding:12px 16px;font-size:13px;animation:.18s ease-out toast-in;box-shadow:0 4px 16px #0000002e}.toast-error{border-left-color:var(--red)}.toast-success{border-left-color:var(--green)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}:root[data-theme=dark] .talent-c9{color:#e9a5c7;background:#4d2338}.app-header-desktop-only{display:contents}.editable-avatar{cursor:pointer;border-radius:50%;line-height:0;display:inline-block;position:relative}.editable-avatar-overlay{color:#fff;opacity:0;background:#00000073;border-radius:50%;justify-content:center;align-items:center;font-size:1.1em;transition:opacity .15s;display:flex;position:absolute;inset:0}.editable-avatar:hover .editable-avatar-overlay{opacity:1}.editable-avatar-remove{background:var(--red);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;padding:0;font-size:12px;line-height:1;display:flex;position:absolute;top:-3px;right:-3px}@media (width<=768px){.main-content{padding:16px 14px}.app-header-desktop-only{display:none}.hamburger-btn{display:block}.app-header{position:relative}.app-logo{position:absolute;left:50%;transform:translate(-50%)}.page-title{text-align:center}.mobile-hide{display:none}.settings-menu-panel{width:auto;max-width:none;max-height:70vh;position:fixed;inset:auto 12px 12px;overflow-y:auto}}@media (width<=480px){.main-content{padding:12px 10px}th,td{padding:6px 8px}.kpi-card{min-width:130px;padding:10px 12px}.kpi-card .kpi-value{font-size:17px}.modal{padding:16px}.detail-header{text-align:center;flex-direction:column;align-items:center;gap:10px}.detail-header-meta{text-align:center}}
