:root{--direzione:#1c2944;--staff-bar:#8a8475;--staff-area:#e3ded3;--staff-card:#f4f1ea;--line-bar:#5f6b7a;--line-area:#ced6de;--line-card:#fff;--service-bar:#6d7f86;--service-area:#d6e2e4;--service-card:#f3f8f9;--ink:#1c2944;--ink-soft:#5b6577;--line:#9aa4b2;--conn:#3a4a66;--bg:#fff;--panel:#f6f7f9;--border:#e2e6ec;--b-company:#2ea7e0;--b-baco:#6cbf3f;--b-novamobili:#fff;--b-battistella:#f47b20}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.4}button{cursor:pointer;font-family:inherit}header.topbar{align-items:center;background:#fff;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:14px 22px;position:sticky;top:0;z-index:30}.brandtitle{display:flex;flex-direction:column}.brandtitle b{font-size:18px;font-weight:800;letter-spacing:-.2px}.brandtitle span{color:var(--ink-soft);font-size:12px}.viewpicker{align-items:center;display:flex;gap:8px}.viewpicker label{color:var(--ink-soft);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.viewpicker select{background:#fff;border:1px solid var(--border);border-radius:8px;color:var(--ink);cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;min-width:280px;padding:9px 12px}.viewpicker select:focus{border-color:var(--direzione);outline:none}.header-right{align-items:center;display:flex;gap:12px}#add-person-cta{background:var(--direzione);border:0;border-radius:8px;color:#fff;font-size:13px;font-weight:700;padding:10px 16px}#add-person-cta:hover{background:#16223b}.menu-wrap{position:relative}#hamburger{background:#fff;border:1px solid var(--border);border-radius:8px;display:flex;flex-direction:column;gap:4px;height:40px;justify-content:center;padding:0 10px;width:42px}#hamburger span{background:var(--ink);border-radius:2px;display:block;height:2px}#hamburger.open{background:var(--direzione);border-color:var(--direzione)}#hamburger.open span,.menu-dd{background:#fff}.menu-dd{border:1px solid var(--border);border-radius:12px;box-shadow:0 16px 40px #141c2e2e;display:flex;flex-direction:column;gap:2px;min-width:230px;padding:8px;position:absolute;right:0;top:48px;z-index:50}.menu-dd[hidden]{display:none}.menu-cap{color:var(--ink-soft);font-size:10px;font-weight:700;letter-spacing:.1em;padding:8px 12px 4px;text-transform:uppercase}.menu-dd button{background:none;border:0;border-radius:8px;color:var(--ink);font-size:13px;font-weight:600;padding:10px 12px;text-align:left}.menu-dd button:hover{background:var(--panel)}.menu-dd #dl-pdf{color:var(--direzione)}.menu-sep{background:var(--border);height:1px;margin:6px 4px}.topactions{display:flex;gap:8px}.topactions button{background:#fff;border:1px solid var(--border);border-radius:8px;color:var(--ink-soft);font-size:12px;font-weight:600;padding:8px 12px}.legend{align-items:center;background:#fbfcfd;border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:28px;padding:14px 22px}.legend-date{margin-left:auto}.legend-date .item{font-variant-numeric:tabular-nums}.legend .grp{align-items:center;display:flex;gap:14px}.legend .grp h4{color:var(--ink-soft);font-size:11px;font-weight:700;letter-spacing:.08em;margin:0;text-transform:uppercase}.legend .item{align-items:center;color:var(--ink);display:flex;font-size:12px;font-weight:600;gap:7px}.sw{border-radius:4px;height:16px;width:16px}.brand-sw{border-radius:3px;display:inline-block;flex:0 0 auto}.legend .brand-sw{height:15px;width:15px}main{padding:30px 22px 80px}.viewtitle{font-size:24px;font-weight:800;margin:0 0 4px}.viewsub{color:var(--ink-soft);font-size:14px;margin:0 0 26px}.gen-stage{margin:0 auto;max-width:1240px;position:relative}.connlayer{inset:0;overflow:visible;pointer-events:none;position:absolute;z-index:0}.gen-content{position:relative;z-index:1}.dir-col{align-items:center;display:flex;flex-direction:column;gap:20px;margin:0 auto 42px}.dirbox{background:var(--direzione);border-radius:4px;color:#fff;padding:15px 10px;text-align:center;width:240px}.dirbox .nm{font-size:13px;font-weight:700;letter-spacing:.02em}.dirbox .rl{border-top:1px solid hsla(0,0%,100%,.25);font-size:12px;margin-top:7px;opacity:.85;padding-top:7px}.gen-mid{align-items:flex-start;display:flex;gap:26px;justify-content:space-between;margin-bottom:58px;padding:0 6%}.gen-mid.solo-staff{justify-content:flex-end}.service-stack,.staff-stack{display:flex;flex-direction:column;gap:18px}.line-row{flex-wrap:wrap;gap:38px 34px}.areacard,.line-row{display:flex;justify-content:center}.areacard{align-items:center;border:1px solid transparent;border-radius:6px;cursor:pointer;font-size:13px;font-weight:700;min-height:66px;padding:18px 16px;position:relative;text-align:center;transition:transform .12s,box-shadow .12s;width:226px}.areacard:hover{box-shadow:0 8px 22px #1c294429;transform:translateY(-2px)}.areacard.staff{background:var(--staff-area);color:var(--ink)}.areacard.line{background:var(--line-area);color:var(--ink)}.areacard.service{background:var(--service-area);color:var(--ink)}.areacard .sigla{color:var(--ink-soft);font-size:10px;font-weight:800;left:10px;letter-spacing:.06em;position:absolute;top:8px}.areacard .brandrow{display:flex;gap:3px;position:absolute;right:9px;top:8px}.areacard .cnt{bottom:7px;color:var(--ink-soft);font-size:10px;font-weight:600;position:absolute;right:10px}.area-head{align-items:center;display:flex;gap:14px;margin-bottom:6px}.backbtn{background:#fff;border:1px solid var(--border);border-radius:8px;color:var(--ink-soft);font-weight:600;padding:8px 12px}.area-scroll{overflow-x:auto;padding-bottom:6px}.area-band{border-radius:8px;display:inline-block;min-width:100%;padding-bottom:38px}.area-band.staff{background:var(--staff-area)}.area-band.line{background:var(--line-area)}.area-band.service{background:var(--service-area)}.area-bar{align-items:center;border-radius:8px 8px 0 0;color:#fff;display:flex;font-size:14px;font-weight:700;justify-content:space-between;letter-spacing:.04em;padding:13px 20px}.area-bar.staff{background:var(--staff-bar)}.area-bar.line{background:var(--line-bar)}.area-bar.service{background:var(--service-bar)}.area-canvas{padding:6px 34px}.tree{padding-top:10px;position:relative}.tree,.tree ul{display:flex;justify-content:center}.tree ul{padding-top:28px}.tree li{align-items:center;display:flex;flex-direction:column;list-style:none;padding:28px 20px 0;position:relative}.tree>ul>li{padding-top:0}.tree-conn{height:100%;left:0;overflow:visible;pointer-events:none;position:absolute;top:0;width:100%;z-index:0}.tree .rolecard{z-index:1}.rolecard{background:var(--line-card);border:1.5px solid var(--ink);border-radius:10px;cursor:pointer;min-height:62px;padding:9px 12px 11px;position:relative;text-align:left;transition:box-shadow .12s;width:198px}.rolecard:hover{box-shadow:0 6px 18px #1c29442e}.rolecard.staff{background:var(--staff-card)}.rolecard.service{background:var(--service-card)}.rc-head{align-items:center;display:flex;gap:6px;justify-content:space-between;margin-bottom:5px;min-height:14px}.rc-mini{color:var(--ink-soft);font-size:13px;font-weight:800;line-height:1}.rolecard .brandrow{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end;margin-left:auto;position:static}.rolecard .rtitle{font-size:12.5px;font-weight:700;line-height:1.25}.rolecard .rpeople{color:var(--ink-soft);font-size:11px;font-weight:600;margin-top:6px}.rolecard .rpeople.empty{font-style:italic;font-weight:500;opacity:.6}.rolecard.merged{border-width:1.5px;box-shadow:inset 0 0 0 1px #1c294421}.rolecard .rc-count{background:var(--direzione);border-radius:999px;color:#fff;display:inline-block;font-size:9.5px;font-weight:800;margin-left:5px;padding:1px 5px;vertical-align:1px}.rolecard .rpeople .pickable{border-radius:4px;cursor:pointer;margin:0 -4px;padding:0 4px}.rolecard .rpeople .pickable:hover{background:#1c294417;color:var(--ink)}.chip{background:var(--direzione);border-radius:4px;color:#fff;font-size:9px;font-weight:800;letter-spacing:.04em;padding:2px 5px}.chip.x{background:#fff;border:1px solid var(--direzione);color:var(--direzione)}.editpencil{bottom:6px;color:var(--ink-soft);font-size:11px;opacity:0;position:absolute;right:8px}.rolecard:hover .editpencil{opacity:.7}.brandrow .brand-sw{border-radius:2px;height:11px;width:11px}.brandrow.labeled{align-items:center;display:inline-flex;flex-wrap:wrap;gap:4px 10px}.brandrow.labeled .brand-item{align-items:center;display:inline-flex;gap:5px}.brandrow.labeled .brand-name{color:var(--ink);font-size:12px;white-space:nowrap}.rc-doc{font-size:11px;margin-left:5px;vertical-align:middle}#dnd-toggle{background:#fff;border:1px solid var(--border);border-radius:8px;color:var(--ink-soft);font-size:13px;font-weight:700;padding:9px 12px}#dnd-toggle.active{background:#2ea7e0;border-color:#2ea7e0;color:#fff}.rolecard.dnd-on{cursor:grab}.rolecard.dnd-on:active{cursor:grabbing}.rolecard.dragging{box-shadow:0 12px 28px #1c294447;pointer-events:none;transition:none;z-index:60}.rolecard.dnd-over{outline:2px dashed var(--direzione);outline-offset:2px}.area-bar.dnd-over{outline:2px dashed #fff;outline-offset:-3px}.areacard .brandrow{flex-wrap:wrap;justify-content:flex-end;max-width:96px}.int-scroll{overflow-x:auto;padding:6px 2px 14px}.int-stage{display:inline-block;min-width:100%;position:relative}.int-content{position:relative;z-index:1}.int-content .dir-col{margin:0 auto 34px}.fam-row{align-items:flex-start;display:flex;gap:26px;padding:0 6px}.int-main{flex:0 0 auto}.fam-row .area-band{min-width:520px}.int-content.sidebus{align-items:flex-start;display:flex;gap:50px;padding:0 6px}.dir-col-left{display:flex;flex:0 0 auto;flex-direction:column;gap:20px;padding-top:8px}.staff-bands{display:flex;flex:1;flex-direction:column;gap:30px;min-width:0}.empty-area{border:2px dashed var(--border);border-radius:12px;color:var(--ink-soft);padding:50px;text-align:center}.mgmt-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}.mgmt-tabs button{background:#fff;border:1px solid var(--border);border-radius:8px;color:var(--ink-soft);font-size:13px;font-weight:600;padding:8px 14px}.mgmt-tabs button.active{background:var(--panel);border-color:var(--line);color:var(--ink)}.panel{background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden}.panel-head{align-items:center;background:var(--panel);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:14px 18px}.panel-head h3{font-size:15px;margin:0}.btn-primary{background:var(--direzione);border:0;border-radius:8px;color:#fff;font-size:13px;font-weight:600;padding:9px 15px}table{border-collapse:collapse;font-size:13px;width:100%}th{color:var(--ink-soft);font-size:11px;letter-spacing:.05em;padding:10px 18px;text-align:left;text-transform:uppercase}td,th{border-bottom:1px solid var(--border)}td{padding:11px 18px;vertical-align:middle}tr:last-child td{border-bottom:0}.search-input{border:1px solid var(--border);border-radius:8px;font-family:inherit;font-size:13px;min-width:260px;padding:8px 12px}.search-input:focus{border-color:var(--direzione);outline:none}tr.rowlink{cursor:pointer}tr.rowlink:hover td{background:var(--panel)}.pill{border-radius:999px;display:inline-block;font-size:11px;font-weight:700;padding:2px 9px}.pill.direzione{background:var(--direzione);color:#fff}.pill.staff{background:var(--staff-area);color:var(--ink)}.pill.line{background:var(--line-area);color:var(--ink)}.pill.service{background:var(--service-area);color:var(--ink)}.rowbtns{display:flex;gap:6px;justify-content:flex-end}.rowbtns button{background:#fff;border:1px solid var(--border);border-radius:7px;color:var(--ink-soft);font-size:12px;padding:5px 9px}.rowbtns button.del:hover{border-color:#e3b4ad;color:#c0392b}.brandrow-inline{align-items:center;display:flex;gap:4px}.muted{color:var(--ink-soft)}.overlay{align-items:flex-start;background:#141c2e73;display:none;inset:0;justify-content:center;overflow-y:auto;padding:40px 16px;position:fixed;z-index:60}.overlay.open{display:flex}.modal{background:#fff;border-radius:14px;box-shadow:0 24px 60px #0000004d;max-width:100%;width:520px}.modal-head{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:18px 22px}.modal-head h3{font-size:17px;margin:0}.modal-head button{background:none;border:0;color:var(--ink-soft);font-size:22px;line-height:1}.modal-body{display:flex;flex-direction:column;gap:15px;padding:20px 22px}.modal-foot{border-top:1px solid var(--border);display:flex;gap:8px;justify-content:flex-end;padding:14px 22px}.field label{color:var(--ink);display:block;font-size:12px;font-weight:700;margin-bottom:6px}.field input[type=text],.field select,.field textarea{border:1px solid var(--border);border-radius:8px;font-family:inherit;font-size:13px;padding:9px 11px;width:100%}.field textarea{min-height:60px;resize:vertical}.checks{display:flex;flex-wrap:wrap;gap:8px}.checks label{align-items:center;background:#fff;border:1px solid var(--border);border-radius:8px;cursor:pointer;display:flex;font-size:12.5px;font-weight:600;gap:6px;padding:7px 11px}.checks label.on{background:#eef1f7;border-color:var(--direzione)}.checks input{display:none}.btn-ghost{background:#fff;border:1px solid var(--border);border-radius:8px;color:var(--ink-soft)}.btn-ghost,.danger{font-size:13px;font-weight:600;padding:9px 15px}.danger{background:#c0392b;border:0;border-radius:8px;color:#fff}.hint{color:var(--ink-soft);font-size:11.5px}.colorinput{align-items:center;display:flex;gap:10px}.colorinput input[type=color]{background:#fff;height:38px;padding:2px;width:46px}.colorinput input[type=color],.wysiwyg{border:1px solid var(--border);border-radius:8px}.wysiwyg{overflow:hidden}.wys-toolbar{background:var(--panel);border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:2px;padding:6px}.wys-toolbar button{background:none;border:1px solid transparent;border-radius:6px;color:var(--ink);font-size:13px;font-weight:700;height:28px;width:30px}.wys-toolbar button:hover{background:#fff;border-color:var(--border)}.wys-editor{font-size:13px;line-height:1.5;max-height:300px;min-height:150px;outline:none;overflow-y:auto;padding:12px 14px}.wys-editor:empty:before{color:var(--ink-soft);content:attr(data-ph);opacity:.7}.wys-editor h3{font-size:14px;margin:.6em 0 .3em}.wys-editor ol,.wys-editor ul{margin:.3em 0;padding-left:22px}.modal.wide{width:680px}.modal-foot .spacer{flex:1}.pdfmask{align-items:center;background:#141c2e8c;color:#fff;display:none;font-size:15px;font-weight:700;inset:0;justify-content:center;position:fixed;z-index:90}.pdfmask.on{display:flex}.pdf-stage{background:#fff;left:-99999px;position:fixed;top:0}.mans-drop{align-items:center;background:#fcfdfe;border:2px dashed var(--border);border-radius:10px;cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:20px 16px;text-align:center}.mans-drop.over,.mans-drop:hover{background:#f2f5fa;border-color:var(--direzione)}.mans-drop.busy{opacity:.6;pointer-events:none}.mans-drop b{font-size:13px}.mans-file{align-items:center;background:#fcfdfe;border:1px solid var(--border);border-radius:10px;display:flex;gap:11px;padding:11px 13px}.mans-ico{font-size:20px;line-height:1}.mans-meta{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}.mans-name{color:var(--ink);font-size:13px;font-weight:700;overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.mans-name:hover{text-decoration:underline}.mans-err{background:#fdf1ef;border:1px solid #e9c4bd;border-radius:8px;color:#c0392b;font-size:12px;font-weight:600;margin-top:8px;padding:8px 10px}.mans-legacy{background:var(--panel);border:1px solid var(--border);border-radius:8px;margin-top:10px;padding:8px 11px}.mans-legacy summary{color:var(--ink-soft);cursor:pointer;font-size:12px;font-weight:700}.mans-legacy-body{background:#fff;border-radius:6px;font-size:12.5px;line-height:1.5;margin:9px 0;max-height:220px;overflow-y:auto;padding:10px 12px}.mans-cell{display:inline-block;font-size:12px;max-width:210px;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap}.bk-state{background:var(--panel);border:1px solid var(--border);border-radius:10px;display:flex;flex-direction:column;gap:3px;padding:11px 13px}.bk-state.off{background:#fdf8ec;border-color:#e6c98f}.bk-state.on{background:#f2f9f2;border-color:#bcd9bc}.bk-state b{font-size:13px}.bk-ok{background:#f0f8f2;border:1px solid #bcd9bc;border-radius:8px;color:#1f7a3d;font-size:12px;font-weight:600;margin-top:8px;padding:8px 10px}.bp-list{border:1px solid var(--border);border-radius:10px;max-height:360px;overflow:hidden;overflow-y:auto}.bp-list,.bp-row{display:flex;flex-direction:column}.bp-row{border-bottom:1px solid var(--border);cursor:pointer;gap:2px;padding:9px 12px}.bp-row:last-child{border-bottom:0}.bp-row:hover{background:var(--panel)}.bp-row b{font-size:13px}.bp-row{align-items:center;cursor:default;flex-direction:row;gap:10px}.bp-main{cursor:pointer;display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}.bp-del{background:#fff;border:1px solid var(--border);border-radius:7px;color:var(--ink-soft);flex:0 0 auto;font-size:15px;font-weight:800;height:26px;line-height:1;width:26px}.bp-del:hover{border-color:#e3b4ad;color:#c0392b}.gate{align-items:center;background:var(--panel);display:flex;justify-content:center;min-height:100vh;padding:24px}.gate-box{background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:0 18px 50px #141c2e1a;max-width:420px;padding:28px 30px;width:100%}.gate-head{border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:2px;margin-bottom:18px;padding-bottom:18px}.gate-head b{font-size:16px;font-weight:800;letter-spacing:-.2px}.gate-head span{color:var(--ink-soft);font-size:12px}.gate-box h2{font-size:20px;margin:0 0 8px}.gate-txt{color:var(--ink-soft);font-size:13.5px;line-height:1.55;margin:0 0 18px}.gate-box form{display:flex;flex-direction:column;gap:10px}.gate-box input{border:1px solid var(--border);border-radius:8px;font-family:inherit;font-size:14px;padding:11px 12px;width:100%}.gate-box input:focus{border-color:var(--direzione);outline:none}.gate-box .btn-primary{font-size:14px;padding:11px 15px}.gate-domini{border-top:1px solid var(--border);margin:16px 0 0;padding-top:14px}.modal-fs{border:0;margin:0;min-width:0;padding:0}.modal-fs[disabled]{opacity:1}.modal-fs[disabled] .modal-foot{opacity:.5}.ro-badge{background:var(--panel);border:1px solid var(--border);border-radius:999px;color:var(--ink-soft);display:inline-block;font-size:10px;font-weight:800;letter-spacing:.06em;margin-left:9px;padding:2px 8px;text-transform:uppercase;vertical-align:2px}.userbox{align-items:center;border-left:1px solid var(--border);display:flex;gap:8px;margin-left:4px;padding-left:12px}.userbox .who{display:flex;flex-direction:column;line-height:1.25}.userbox .who b{font-size:12px;font-weight:700;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.userbox .who span{color:var(--ink-soft);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.userbox button{background:#fff;border:1px solid var(--border);border-radius:8px;color:var(--ink-soft);font-size:12px;font-weight:600;padding:7px 10px}.modal-fs[disabled] input,.modal-fs[disabled] select,.modal-fs[disabled] textarea{background:var(--panel);color:var(--ink-soft);cursor:not-allowed}.modal-fs[disabled] .checks label{background:var(--panel);color:var(--ink-soft);cursor:default}.modal-fs[disabled] .checks label span{display:none}.modal-fs[disabled] button{cursor:not-allowed}.mans-panel{display:flex;flex-direction:column;gap:12px}.mans-corrente{align-items:center;background:#fcfdfe;border:1px solid var(--border);border-radius:10px;display:flex;gap:11px;padding:11px 13px}.mans-badge{background:var(--direzione);border-radius:999px;color:#fff;flex:0 0 auto;font-size:11px;font-weight:800;letter-spacing:.03em;padding:4px 9px}.mans-corrente .mans-meta b{font-size:13px}.mans-corrente .btn-ghost{flex:0 0 auto;font-size:12px;padding:6px 11px;text-decoration:none}.mans-modi{display:flex;gap:6px}.mans-modi button{background:#fff;border:1px solid var(--border);border-radius:8px;color:var(--ink-soft);font-size:12.5px;font-weight:600;padding:7px 13px}.mans-modi button.on{background:var(--panel);border-color:var(--line);color:var(--ink)}.mans-salva{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.mans-salva select{background:#fff;border:1px solid var(--border);border-radius:8px;font-family:inherit;font-size:12.5px;padding:8px 10px}.mans-panel .bp-row .rowbtns{flex:0 0 auto}.mans-panel .bp-list{max-height:260px}#guide-allineamento{inset:0;pointer-events:none;position:fixed;z-index:70}#guide-allineamento .guida{background:#2ea7e0;box-shadow:0 0 0 .5px #2ea7e059;position:fixed}#guide-allineamento .guida.v{width:1px}#guide-allineamento .guida.h{height:1px}.areacard.dnd-on{cursor:grab}.areacard.dnd-on:active{cursor:grabbing}.areacard.dragging{box-shadow:0 12px 28px #1c294447;pointer-events:none;transition:none;z-index:60}.areacard.dnd-over{outline:2px dashed var(--direzione);outline-offset:3px}.famiglia-vuota{align-items:center;border:2px dashed var(--border);border-radius:6px;color:var(--ink-soft);display:flex;font-size:12px;font-weight:700;justify-content:center;letter-spacing:.06em;min-height:66px;text-transform:uppercase;width:226px}
