@import url(https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap);@import url(https://rsms.me/inter/inter.css);:root{--color-primary:#355d98;--color-primary-hover:#305489;--color-primary-active:#2a4a7a;--bg-main:#fafafa;--bg-sidebar:#ebebeb;--bg-card:#fff;--bg-hover:#d7dfea;--background-message-user:#ddd;--text-main:#111827;--text-muted:#6c757d;--text-inverse:#fff;--text-sidebar-logo:#355d98;--title-popup:#333;--border-color:#e0e0e0;--border-color-user:#666;--font-family-main:"Inter var",sans-serif}body{background-color:#fafafa;background-color:var(--bg-main);display:flex;flex-direction:column;font-family:Inter var,sans-serif;font-family:var(--font-family-main);font-weight:400;height:100vh;margin:0;overflow:auto;overflow-x:hidden;padding:0;width:100%}*,:after,:before{box-sizing:border-box}.app-container{background-color:#fafafa;background-color:var(--bg-main);overflow:auto}.app-container,.chat-sidebar{display:flex;height:100vh;overflow-x:hidden}.chat-sidebar{background:#ebebeb;background:var(--bg-sidebar);border-bottom-right-radius:12px;border-top-right-radius:12px;box-shadow:2px 0 10px #0000004d;flex-direction:column;flex-shrink:0;left:0;overflow-y:auto;padding:20px 4px 0 15px;position:fixed;top:0;transform:translateX(0);transition:transform .7s ease-in-out;width:280px;z-index:100}.sidebar-header{align-items:center;display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:10px}.sidebar-logo-container{align-items:center;display:flex;height:auto;max-width:135px;padding-left:0}.sidebar-logo{display:block;height:auto;width:100%}.chat-history{color:#111827;color:var(--text-main);cursor:default;font-family:Inter var,sans-serif;font-family:var(--font-family-main);font-size:.9em;font-weight:700;letter-spacing:.05em;margin-left:4px;margin-top:0;text-transform:uppercase;white-space:nowrap}.toggle-sidebar i{margin-right:5px}.chat-sidebar.closed{transform:translateX(-100%)}.sidebar-top-buttons-floating{display:flex;flex-direction:column;gap:10px;left:10px;position:fixed;top:20px;z-index:1000}.hidden-floating{opacity:0;pointer-events:none;visibility:hidden}.visible-floating{opacity:1;visibility:visible}.chat-sidebar.closed .toggle-sidebar{position:absolute;right:-40px;top:10px;z-index:1000}.chat-sidebar.closed .new-chat-button{position:absolute;right:-40px;top:60px;z-index:1000}.chat-content{background-color:#fff;background-color:var(--bg-card);border:1px solid #ddd;border-radius:8px;display:flex;flex-direction:column;flex-grow:1;min-width:0;overflow-x:hidden;overflow-y:auto;padding:20px}.message.assistant,.message.user{word-wrap:break-word;cursor:default;max-width:60%;width:fit-content}.message{background-color:#f1f1f1;border-radius:8px;box-shadow:0 2px 5px #0000001a;font-family:Inter var,sans-serif;font-family:var(--font-family-main);font-size:16px;line-height:1.5;margin-bottom:10px;padding:15px}.message.user{word-wrap:break-word;align-self:flex-end;background:#ddd;background:var(--background-message-user);border-radius:20px 20px 20px 4px;border-right:5px solid #666;border-right:5px solid var(--border-color-user);color:#111827;color:var(--text-main);margin-left:auto;max-width:60%;text-align:left;width:fit-content}.chat-sidebar.closed~.main-content .message.assistant{margin-left:55px}.main-content .message:first-child{margin-top:20px}.main-content{flex-grow:1;margin-left:280px;overflow-x:hidden;transition:margin-left .7s ease-in-out;width:100%}.chat-sidebar.closed~.main-content{margin-left:0}.chart-container{background-color:#fafafa;background-color:var(--bg-main);box-sizing:border-box;margin:20px auto 50px;max-width:1600px;padding:0 2rem;text-align:center}.message{animation:fadeIn .5s ease-in-out forwards}.bottom-padding{flex-shrink:0;height:32px}.input-bar{align-items:center;background-color:initial;border-radius:25px;bottom:20px;box-shadow:none;display:flex;left:50%;padding:10px 20px;position:fixed;transform:translateX(calc(-50% + 150px));transition:transform 1.1s ease;width:clamp(300px,60%,1500px);will-change:transform;z-index:1000}.chat-sidebar.closed~.main-content .input-bar{transform:translateX(-50%)}.input-field{background-color:#fff;background-color:var(--bg-card);border:2px solid #355d98;border:2px solid var(--color-primary);border-radius:20px;box-shadow:none;flex:1 1;outline:none;padding:12px 20px}.input-field,.submit-button{box-sizing:border-box;font-family:Inter var,sans-serif;font-family:var(--font-family-main);font-size:16px;height:48px}.submit-button{background:#355d98;background:var(--color-primary);border:none;border-radius:20px;color:#fff;color:var(--text-inverse);cursor:pointer;margin-left:12px;padding:12px 24px;transition:background-color .3s ease}.submit-button:hover{background:#305489;background:var(--color-primary-hover)}.submit-button:disabled,.submit-button:disabled:active,.submit-button:disabled:hover{background:#355d98;background:var(--color-primary);box-shadow:none;cursor:not-allowed;transform:none}.submit-button:active{background-color:#305489;background-color:var(--color-primary-hover);box-shadow:0 2px 3px #0003;transform:translateY(2px) scale(.98)}.chart-container button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;margin:5px;padding:8px 16px}.chart-container button:hover{background-color:#0056b3}.new-chat-button,.toggle-sidebar{align-items:center;background:none;border:none;border-radius:50%;cursor:pointer;display:flex;font-family:Inter var,sans-serif;font-family:var(--font-family-main);height:36px;justify-content:center;padding:0;transition:transform .2s ease;width:36px}.new-chat-button,.toggle-sidebar{color:#355d98;color:var(--color-primary)}.plus-icon{align-items:center;display:inline-flex;justify-content:center}.sidebar-top-buttons{align-items:center;display:flex;gap:4px;justify-content:flex-end}.new-chat-button:hover,.toggle-sidebar:hover{transform:scale(1.15)}.new-chat-icon{height:20px;width:20px}.session-list{display:flex;flex-direction:column;gap:8px;margin-top:0}.session-item{align-items:center;background:#fafafa;background:var(--bg-main);border-radius:12px;box-shadow:0 2px 5px #0000000d;color:#000;cursor:pointer;display:flex;font-family:Inter var,sans-serif;font-family:var(--font-family-main);font-size:14px;justify-content:space-between;margin-bottom:8px;max-width:100%;overflow:hidden;padding:12px 8px 12px 12px;text-overflow:ellipsis;transition:all .3s;white-space:nowrap}.session-group .session-item:last-child{margin-bottom:0}.session-item:hover{background:#d7dfea;background:var(--bg-hover);color:#000;transform:translateX(5px)}.session-item.selected{background:#355d98;background:var(--color-primary);color:#111827;color:var(--text-main);font-weight:700}.session-item.selected .session-name{color:#fff;color:var(--text-inverse)}.session-scroll-container{flex-grow:1;margin-top:4px;overflow-x:hidden;overflow-y:auto;padding-right:12px}.session-scroll-container::-webkit-scrollbar{width:8px}.session-scroll-container::-webkit-scrollbar-thumb{background-color:#355d98;background-color:var(--color-primary);border-radius:4px}.session-group{margin-bottom:-10px}.session-group:last-child{margin-bottom:0}.session-group-title{border-bottom:1px solid #6c757d;color:#111827;color:var(--text-main);cursor:default;font-size:.7rem;font-weight:600;margin-bottom:8px;padding:4px;text-transform:uppercase}.chart-card{background-color:#fff;background-color:var(--bg-card);border:2px solid #0000;border-radius:12px;box-shadow:0 4px 12px #0000000d;box-sizing:border-box;cursor:default;margin:20px auto;max-width:clamp(600px,90%,1200px);overflow:hidden;padding:10px;position:relative;transition:border-color .3s ease,box-shadow .3s ease,background-color .5s ease-in-out;width:100%}.chart-card:hover{border-color:#355d98;border-color:var(--color-primary)}.chart-card.selected{border-color:#d7dfea;border-color:var(--bg-hover);box-shadow:0 4px 16px #28a74533}.explanation-toggle{align-items:center;background-color:#f0f2f5;border:1px solid #dcdfe6;border-bottom:none;border-radius:22px 22px 0 0;bottom:0;box-shadow:0 -4px 12px #00000014;cursor:pointer;display:flex;height:22px;justify-content:center;left:50%;opacity:0;position:absolute;transform:translateX(-50%);transition:all .3s cubic-bezier(.25,1,.5,1);visibility:hidden;width:44px;z-index:10}.chart-card.selected .explanation-toggle,.chart-card:hover .explanation-toggle{opacity:1;visibility:visible}.explanation-toggle:hover{background-color:#e4e6eb;border-color:#cdd1d9;transform:translateX(-50%) scale(1.05)}.explanation-arrow{border-bottom:2px solid #606770;border-right:2px solid #606770;display:inline-block;height:8px;transform:translateY(-3px) rotate(45deg);transition:transform .3s ease-in-out;width:8px}.explanation-toggle.open .explanation-arrow{transform:translateY(0) rotate(-135deg)}.explanation-panel{max-height:0;overflow:hidden;transition:max-height .4s ease-in-out}.explanation-panel.open{max-height:1000px}.explanation-content{background-color:initial;border-top:1px solid #eef0f2;margin-top:0;padding:25px 20px 20px}.explanation-content h4{color:#333;margin-top:0}.explanation-content p{color:#555;font-family:Inter var,sans-serif;font-family:var(--font-family-main);line-height:1.7;margin-bottom:0;text-align:justify}.explanation-toggle:disabled{cursor:not-allowed;opacity:.5}.content{max-height:calc(100vh - 60px);overflow-x:hidden;overflow-y:auto;padding:1rem}.message.assistant{word-wrap:break-word;background:#d7dfea;background:var(--bg-hover);border-left:5px solid #355d98;border-left:5px solid var(--color-primary);border-radius:20px 20px 4px 20px;color:#111827;color:var(--text-main);display:inline-table;margin:10px auto 10px 0;max-width:60%;padding:15px;position:relative;text-align:left;white-space:pre-line}.message.assistant .favorite-button{align-self:center;margin:-5px 0 -5px auto;opacity:1;position:static}.message-header{align-items:baseline;display:flex;gap:16px;justify-content:space-between}.refresh-message{align-items:center;display:inline-flex;gap:4px;white-space:nowrap}.refresh-message:not(:has(.refresh-message-time)){align-self:center}.refresh-message-time{color:#4b5563;font-size:.8rem}.refresh-message-button{align-items:center;background:#0000;border:none;border-radius:50%;color:#374151;cursor:pointer;display:inline-flex;font-size:20px;height:30px;justify-content:center;padding:0;transition:background-color .2s ease,color .2s ease;width:30px}.refresh-message-button:hover:not(:disabled){background:#0000000f;color:#111827;color:var(--text-main)}.refresh-message-button:disabled{cursor:default}.refresh-message-button.spinning svg{animation:spin 1s linear infinite}.chart-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:10px}.action-button{align-items:center;border:none;border-radius:1rem;box-shadow:0 4px 10px #00000026;cursor:pointer;display:inline-flex;gap:.3rem;padding:.5rem 1.2rem;transition:all .3s ease}.action-button,.action-button.download{font-family:Inter var,sans-serif;font-family:var(--font-family-main)}.action-button.download{background:#355d98;background:var(--color-primary);color:#fff;color:var(--text-inverse);font-weight:400}.action-button.download:hover{background:#305489;background:var(--color-primary-hover)}.action-button.download:active{background-color:#305489;background-color:var(--color-primary-hover);box-shadow:0 2px 3px #0003;transform:translateY(2px) scale(.98)}.action-button.edit{background:#355d98;background:var(--color-primary);color:#fff;color:var(--text-inverse);font-family:Inter var,sans-serif;font-family:var(--font-family-main);font-weight:400}.action-button.edit:hover{background:#305489;background:var(--color-primary-hover)}.action-button.edit:active{background-color:#305489;background-color:var(--color-primary-hover);box-shadow:0 2px 3px #0003;transform:translateY(2px) scale(.98)}.action-button.table{background:#355d98;background:var(--color-primary);color:#fff;color:var(--text-inverse);font-family:Inter var,sans-serif;font-family:var(--font-family-main);font-weight:400}.action-button.table:hover{background:#305489;background:var(--color-primary-hover)}.action-button.table:active{background-color:#305489;background-color:var(--color-primary-hover);box-shadow:0 2px 3px #0003;transform:translateY(2px) scale(.98)}.sidebar-icon{height:32px;transition:transform .5s ease-in-out;width:32px}.rotated-open{transform:rotate(0deg)}.rotated-closed{transform:rotate(180deg)}.inline-loading-box{background-color:#fafafa;background-color:var(--bg-main);border-radius:12px;margin:1rem auto;max-width:500px;padding:1.5rem;text-align:center}.progress-bar-container{background-color:#e5e7eb;border:none;border-radius:10px;height:14px;outline:none;overflow:hidden;width:100%}.progress-bar-value{background:#355d98;background:var(--color-primary);border-radius:10px;height:100%;transition:width .3s ease-in-out}.loading-message{color:#333;color:var(--title-popup);font-family:Inter var,sans-serif;font-family:var(--font-family-main);font-weight:500;margin-bottom:.5rem}.user-menu-container{bottom:15px;position:fixed;right:20px;z-index:1000}.logout-menu{animation:fadeIn .2s ease-out;background-color:#fff;border-radius:8px;bottom:120%;box-shadow:0 4px 12px #00000026;padding:4px;position:absolute;right:0}.logout-button{align-items:center;background-color:initial;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:.3rem;padding:8px 12px;text-align:left;transition:background-color .2s ease;width:100%}.logout-button:hover{background-color:#d7dfea;background-color:var(--bg-hover)}.user-menu-button{align-items:center;background-color:#355d98;background-color:var(--color-primary);border:none;border-radius:50%;box-shadow:0 2px 6px #00000026;color:#fff;color:var(--text-inverse);cursor:pointer;display:flex;font-size:20px;height:32px;justify-content:center;line-height:32px;transition:transform .2s ease,background-color .2s ease;width:32px}.user-menu-button:hover{background-color:#2a4a7a;background-color:var(--color-primary-active);transform:scale(1.05)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.favorite-button{background:none;border:none;border-radius:50%;cursor:pointer;left:15px;padding:5px;position:absolute;top:0;transition:color .2s ease;z-index:10}.star-icon{align-items:center;display:inline-flex}.favorite-button .star-icon{color:#9ca3af;font-size:24px;transition:color .3s ease,transform .2s ease}.favorite-button:hover .star-icon{color:#facc15;transform:scale(1.15)}.favorite-button.is-favorite .star-icon,.star-icon.is-favorite{color:#facc15}.favorite-star.filled{stroke:#eab308;filter:drop-shadow(0 1px 1px rgba(0,0,0,.15))}.chart-card .favorite-button{align-items:center;display:flex;height:22px;justify-content:center;left:12px;opacity:0;padding:0 4px;top:12px;transition:opacity .3s ease}.chart-card .favorite-button.is-favorite,.chart-card:hover .favorite-button{opacity:1}.chart-card .modebar-container{opacity:0!important;pointer-events:none;transition:opacity .3s ease}.chart-card:hover .modebar-container{opacity:1!important;pointer-events:auto}.chart-card .modebar-btn svg{height:20px!important;transition:transform .2s ease;width:20px!important}.chart-card .modebar-btn svg path{fill:#acafb5!important;transition:fill .3s ease}.chart-card .modebar-btn:hover svg path{fill:#acafb5!important}.chart-card .modebar-btn:hover svg{transform:scale(1.2)}.chart-card .modebar-btn:after,.chart-card .modebar-btn:before{display:none!important}.js-plotly-plot .plotly .zoombox{fill:#3b82f626!important}.session-item-container{margin-bottom:8px;position:relative}.session-name{flex-grow:1;overflow:hidden;padding-right:10px;text-overflow:ellipsis;white-space:nowrap}.session-menu-button{background:none;border:none;color:#fff;color:var(--text-inverse);cursor:pointer;flex-shrink:0;font-size:20px;font-weight:700;line-height:1;opacity:0;transition:opacity .2s;visibility:hidden}.session-item-container:hover .session-menu-button{color:#111827;color:var(--text-main);opacity:1;visibility:visible}.session-item-container:hover .session-item.selected .session-menu-button{color:#fff;color:var(--text-inverse)}.session-dropdown-menu{animation:fadeIn .15s ease-out;background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:150px;padding:8px;position:absolute;right:10px;top:100%;z-index:1010}.session-dropdown-item{align-items:center;background-color:initial;border:none;border-radius:6px;color:#333;cursor:pointer;display:flex;font-family:Inter var,sans-serif;font-family:var(--font-family-main);font-size:14px;gap:.5rem;padding:8px 12px;text-align:left;transition:background-color .2s ease;width:100%}.session-dropdown-item:hover{background-color:#f0f0f0;background:#d7dfea;background:var(--bg-hover);color:#111}.session-dropdown-item.delete-action{color:#d9534f}.session-dropdown-item .star-icon{font-size:18px;line-height:0}.popup-overlay{align-items:center;animation:fadeIn .3s ease-out;background-color:#0009;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:2000}.popup-content{animation:popup-scale-in .3s ease-out forwards;background-color:#fafafa;background-color:var(--bg-main);border-radius:16px;box-shadow:0 10px 30px #0003;display:flex;flex-direction:column;max-height:85vh;max-width:1200px;overflow-y:auto;padding:0 3rem 2rem;position:relative;transform:scale(.95);width:80%}@keyframes popup-scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.popup-content h2{color:#333;color:var(--title-popup);cursor:default;font-family:Inter var,sans-serif;font-family:var(--font-family-main);font-size:2rem;margin-bottom:1.5rem;text-align:center}.popup-close-button{background:none;border:none;color:#999;cursor:pointer;font-size:32px;line-height:1;position:absolute;right:20px;top:15px;transition:color .2s}.popup-close-button:hover{color:#333}.charts-gallery{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr}.popup-content .chart-card{cursor:pointer;margin:0 auto;transition:transform .2s ease,box-shadow .2s ease,border-color .3s ease}.popup-content .chart-card:hover{border-color:#355d98;border-color:var(--color-primary);box-shadow:0 8px 20px #0000001a;transform:translateY(-5px)}.thumbnail-actions{padding-bottom:.5rem}.chart-card .action-button.download,.popup-footer .action-button.download{border-radius:14px;box-shadow:0 2px 6px #0000001a;font-size:13px;padding:6px 14px}.thumbnail-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:10px;padding-right:1rem}.chart-thumbnail .action-button.download,.popup-footer .action-button.download{border-radius:14px;box-shadow:0 2px 6px #0000001a;font-size:13px;padding:6px 14px}.popup-footer{border-top:1px solid #e5e7eb;display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1.5rem}.no-saved-charts-message{color:#777;font-family:Inter var,sans-serif;font-family:var(--font-family-main);font-size:1.2rem;padding:2rem 0;text-align:center}.chart-card.highlight{background-color:#d7dfea;background-color:var(--bg-hover);border-radius:12px;box-shadow:0 0 15px #fef9c3cc}.rename-input{background-color:initial;border:none;box-sizing:border-box;color:inherit;cursor:text;font-family:inherit;font-size:inherit;font-weight:inherit;outline:none;width:100%}.session-item.is-editing{padding-left:12px;padding-right:12px}.session-item .session-name{flex-grow:1;overflow:hidden;padding-right:8px;text-overflow:ellipsis;white-space:nowrap}.popup-title{background-color:#fafafa;background-color:var(--bg-main);color:#333;color:var(--title-popup);font-family:Inter var,sans-serif;font-family:var(--font-family-main);font-size:1.8rem;margin-bottom:0;margin-top:0;padding-bottom:1rem;padding-top:2rem;position:sticky;text-align:center;top:0;z-index:10}.table-filter-controls{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem;padding:1rem 1.5rem}.filter-inputs{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.filter-inputs label{color:#495057;font-size:.9rem;font-weight:600}.table-control-input{background-color:#fff;border:2px solid #ced4da;border-radius:8px;cursor:pointer;font-family:Inter var,sans-serif;font-family:var(--font-family-main);font-size:14px;min-width:150px;outline:none;padding:8px 12px;transition:border-color .2s ease,box-shadow .2s ease}.filter-inputs input.table-control-input{cursor:text;flex-grow:1}.table-control-input:focus{border-color:#355d98;border-color:var(--color-primary);box-shadow:0 0 0 3px #6be60026}.filter-actions{display:flex;gap:.75rem;justify-content:flex-end}.action-button.filter{background:#355d98;background:var(--color-primary);color:#fff;color:var(--text-inverse)}.action-button.filter:hover{background:#305489;background:var(--color-primary-hover)}.action-button.filter:active{background-color:#305489;background-color:var(--color-primary-hover);box-shadow:0 2px 3px #0003;transform:translateY(2px) scale(.98)}.action-button.reset{background:#6c757d;color:#fff}.action-button.reset:hover{background:#616971}.action-button.reset:active{background-color:#616971;box-shadow:0 2px 3px #0003;transform:translateY(2px) scale(.98)}.interactive-table-container{background-color:#fff;border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:8px;box-shadow:inset 0 2px 4px #0000000d;max-height:60vh;overflow:auto}.interactive-data-table{border-collapse:collapse;width:100%}.interactive-data-table td,.interactive-data-table th{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color);font-family:Inter var,sans-serif;font-family:var(--font-family-main);padding:12px 15px;text-align:left;white-space:nowrap}.interactive-data-table th{background-color:#f1f3f5;color:#343a40;cursor:pointer;font-weight:600;position:sticky;top:0;-webkit-user-select:none;user-select:none;z-index:1}.interactive-data-table .sort-icon{color:#adb5bd;display:inline-block;margin-left:8px;transition:color .2s;width:1em}.interactive-data-table th:hover .sort-icon{color:#343a40}.interactive-data-table tbody tr:nth-child(2n){background-color:#f8f9fa}.interactive-data-table tbody tr:hover{background-color:#d7dfea;background-color:var(--bg-hover)}.interactive-table-container::-webkit-scrollbar{height:10px;width:10px}.interactive-table-container::-webkit-scrollbar-thumb{background-color:#355d98;background-color:var(--color-primary);border:2px solid #f1f1f1;border-radius:5px}.interactive-table-container::-webkit-scrollbar-track{background:#f1f1f1}.no-data-message{color:#6c757d;color:var(--text-muted);font-family:Inter var,sans-serif;font-family:var(--font-family-main);font-size:1.1rem;font-style:italic;padding:3rem 1rem;text-align:center}.action-button:disabled,.action-button:disabled:active{cursor:default;opacity:.6;transform:none}.loading-dots:after{animation:loading-dots 1.2s infinite;content:"...";display:inline-block}@keyframes loading-dots{0%,24%{clip-path:inset(0 100% 0 0)}25%,49%{clip-path:inset(0 66.6% 0 0)}50%,74%{clip-path:inset(0 33.3% 0 0)}75%,to{clip-path:inset(0 0 0 0)}}.interactive-table-wrapper{display:flex;flex-direction:column;min-height:0;position:relative}.table-loading-overlay{align-items:center;animation:comparsa-caricamento .2s ease;background:#ffffffb3;border-radius:8px;color:#495057;display:flex;flex-direction:column;font-family:Inter var,sans-serif;font-family:var(--font-family-main);font-size:.95rem;gap:.75rem;inset:0;justify-content:center;position:absolute;z-index:2}.table-spinner{animation:spin .8s linear infinite;border:4px solid #00000014;border-radius:50%;border-top:4px solid var(--color-primary);height:40px;width:40px}@keyframes comparsa-caricamento{0%{opacity:0}to{opacity:1}}.table-error-message{background-color:#f8d7da;border:1px solid #f5c2c7;border-radius:8px;color:#842029;margin-bottom:1rem;padding:.75rem 1rem}.table-error-message,.table-pagination{font-family:Inter var,sans-serif;font-family:var(--font-family-main)}.table-pagination{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem 1rem;justify-content:space-between;margin-top:.75rem}.table-pagination-info{color:#495057;font-size:.9rem}.table-pagination-pages{align-items:center;display:flex;flex-wrap:wrap;gap:.35rem}.page-button{background:#fff;border:1px solid #ced4da;border-radius:8px;color:#343a40;cursor:pointer;font-family:Inter var,sans-serif;font-family:var(--font-family-main);font-size:.9rem;min-width:2.25rem;padding:.35rem .6rem}.page-button:hover:not(:disabled){background:#d7dfea;background:var(--bg-hover)}.page-button.active{background:#355d98;background:var(--color-primary);border-color:#355d98;border-color:var(--color-primary);color:#fff;color:var(--text-inverse);font-weight:600}.page-button:disabled{cursor:default;opacity:.45}.page-button.active:disabled{opacity:1}.page-ellipsis{color:#868e96;padding:0 .25rem}.page-jump{display:inline-flex;margin-left:.5rem}.table-control-input.page-jump-input{cursor:text;min-width:0;padding:6px 8px;width:5.5rem}.elenco-tabella{background-color:#fff;border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:8px;box-shadow:inset 0 2px 4px #0000000d;margin:.5rem 0;max-width:100%;overflow-x:auto;white-space:normal}.elenco-tabella table{border-collapse:collapse;font-size:.9rem;width:100%}.elenco-tabella td,.elenco-tabella th{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color);font-family:Inter var,sans-serif;font-family:var(--font-family-main);padding:10px 15px;text-align:left;white-space:nowrap}.elenco-tabella th{background-color:#f1f3f5;color:#343a40;font-weight:600}.elenco-tabella .numero{text-align:right}.elenco-tabella tbody tr:nth-child(2n){background-color:#f8f9fa}.message .elenco-tabella tbody tr:hover{background-color:#d7dfea;background-color:var(--bg-hover)}.elenco-tabella tbody tr:last-child td{border-bottom:none}.elenco-tabella tbody tr.elenco-altre td{background-color:#f8f9fa;color:#6c757d;color:var(--text-muted);font-size:.78rem;font-weight:600;letter-spacing:.02em;padding:7px 15px;text-align:center}.message .elenco-tabella tbody tr.elenco-altre:hover td{background-color:#f8f9fa}.elenco-tabella td:empty:before,.interactive-data-table td:empty:before{color:#b8bec6;content:"—"}.elenco-tabella::-webkit-scrollbar{height:10px}.elenco-tabella::-webkit-scrollbar-thumb{background-color:#355d98;background-color:var(--color-primary);border:2px solid #f1f1f1;border-radius:5px}.elenco-tabella::-webkit-scrollbar-track{background:#f1f1f1}.message .elenco-tabella{max-width:60vw}.operator-select{flex-grow:0;flex-shrink:0;padding-left:10px;padding-right:10px;text-align-last:center;-moz-text-align-last:center;width:100px}.filter-rows-container{display:flex;flex-direction:column;gap:.75rem}.add-filter-button,.remove-filter-button{align-items:center;border:none;border-radius:50%;box-shadow:0 4px 10px #00000026;cursor:pointer;display:flex;flex-shrink:0;height:34px;justify-content:center;transition:all .3s ease;width:34px}.add-filter-button{background:#355d98;background:var(--color-primary);color:#fff;color:var(--text-inverse);margin-left:4px}.add-filter-button svg{fill:currentColor}.add-filter-button:hover{background:#2a4a7a;background:var(--color-primary-active)}.add-filter-button:active{box-shadow:0 2px 3px #0003;transform:translateY(2px) scale(.98)}.remove-filter-button{background:#6c757d;margin-left:8px}.remove-filter-button:hover{background:#5a6268}.remove-filter-button:active{box-shadow:0 2px 3px #0003;transform:translateY(2px) scale(.98)}.confirmation-popup{max-width:500px;text-align:center}.confirmation-message-container{color:#555;font-family:Inter var,sans-serif;font-family:var(--font-family-main);font-size:1.1rem;line-height:1.6;margin-bottom:2rem}.confirmation-message-container p{line-height:1.6;margin:0}.confirmation-actions{display:flex;gap:1rem;justify-content:center;width:100%}.confirmation-actions .action-button{font-family:Inter var,sans-serif;font-family:var(--font-family-main)}.confirmation-actions .action-button.filter{background-color:#355d98;background-color:var(--color-primary)}.confirmation-actions .action-button.filter:hover{background-color:#305489;background-color:var(--color-primary-hover)}.confirmation-actions .action-button.discard{background-color:#d9544fe7;color:#fff}.confirmation-actions .action-button.discard:hover{background-color:#c34b47e1}.confirmation-actions .action-button.reset{background-color:#6c757d;color:#fff}.confirmation-actions .action-button.reset:hover{background-color:#5a6268}.fuzzy-select{background-color:#ddd;background-color:var(--background-message-user);border:1px solid #666;border:1px solid var(--border-color-user);border-radius:6px;cursor:pointer;font-family:inherit;font-size:1em;margin:0 8px;padding:6px 10px}.fuzzy-select:focus{border-color:#666;border-color:var(--border-color-user);outline:none}.explanation-toggle.puntuale{background-color:#d7dfea;background-color:var(--bg-hover);border:1px solid #355d98;border:1px solid var(--color-primary);border-bottom:none;bottom:auto;box-shadow:0 -4px 8px #0000000f;display:block;left:auto;margin:5px auto -15px;opacity:1;position:relative;transform:none;visibility:visible;z-index:5}.message.assistant:hover .explanation-toggle.puntuale{opacity:1;visibility:visible}.explanation-panel.puntuale{background-color:initial;caption-side:bottom;display:table-caption;margin-top:0;max-height:0;overflow:hidden;transition:max-height .4s ease-in-out,margin-top .4s ease-in-out;white-space:normal}.explanation-panel.puntuale.open{margin-top:15px;max-height:1000px}.explanation-panel.puntuale .explanation-content{background-color:initial;border-top:1px solid #355d98;border-top:1px solid var(--color-primary);margin:0;padding:15px}.explanation-panel.puntuale .explanation-content h4{color:#333;margin-top:0}.explanation-panel.puntuale .explanation-content p{color:#555;font-family:Inter var,sans-serif;font-family:var(--font-family-main);line-height:1.7;margin-bottom:0;text-align:justify}.popup-card.is-punctual-card{background-color:#d7dfea;background-color:var(--bg-hover);border:1px solid #0000;border-radius:20px 20px 4px 20px;display:flex;flex-direction:column;margin-bottom:1rem;max-width:65%;padding:15px 20px;width:fit-content}.popup-card.is-punctual-card .punctual-favorite-content{background-color:initial;color:#111827;color:var(--text-main);font-size:1rem;justify-content:flex-start;line-height:1.5;padding:0;text-align:left;white-space:pre-line}.popup-card.is-punctual-card .elenco-tabella{margin-bottom:0;margin-top:.75rem;max-width:100%}.popup-card.is-punctual-card .thumbnail-actions{margin-top:0;padding:0}.popup-card.is-punctual-card .punctual-favorite-content p{margin:0}.popup-card.is-punctual-card:hover{border-color:#355d98;border-color:var(--color-primary);transform:none}.sidebar-powered-by{align-items:center;background:#ebebeb;background:var(--bg-sidebar);color:#65676b;cursor:default;display:flex;font-size:14px;justify-content:center;margin-left:-15px;margin-right:-4px;margin-top:auto;padding:10px 0 8px;width:280px}.sidebar-powered-by .powered-by-logo-icon{margin-left:2px}.sidebar-powered-by .powered-by-logo-text{height:25px;margin-left:0;transform:translateY(3px)}.sidebar-powered-by .powered-by-logo-icon{height:25px;margin-left:0}.chat-sidebar.closed .sidebar-powered-by{display:none}.dashboard-main-area{color:#333;padding:2rem 3rem;text-align:center}.dashboard-main-area h1{color:#355d98;color:var(--color-primary);cursor:default;font-weight:700}.dashboard-favorites-list{display:flex;flex-direction:column;gap:8px;margin-top:0;padding-top:0}.dashboard-thumbnail{background-color:#fff;border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:12px;box-shadow:0 2px 6px #00000012;display:block;margin-bottom:0;overflow:hidden;padding:0;position:relative;transition:all .2s ease-in-out;width:100%}.dashboard-thumbnail:hover{border-color:#355d98;border-color:var(--color-primary);box-shadow:0 6px 12px #0000001a;transform:translateY(-3px)}.dashboard-thumbnail:active{box-shadow:0 4px 12px #00000026;transform:scale(.98)}.dashboard-remove-fav-btn{--star-nudge:-0.0198em;-webkit-tap-highlight-color:transparent;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);background:#1118279e;border:1px solid #ffffff40;border-radius:50%;box-shadow:0 2px 6px #00000047,inset 0 1px 0 #ffffff1f;box-sizing:border-box;color:#facc15;cursor:pointer;display:grid;font-size:20px;height:26px;line-height:1;opacity:0;padding:0;place-items:center;position:absolute;right:8px;top:8px;transform:scale(.88);transition:opacity .2s ease,transform .18s cubic-bezier(.34,1.4,.64,1),background-color .2s ease,box-shadow .2s ease;-webkit-user-select:none;user-select:none;width:26px;z-index:20}.dashboard-remove-fav-btn .favorite-star{stroke:#eab308;stroke-width:1.8;display:block;filter:drop-shadow(0 1px 1.5px rgba(0,0,0,.35));transform:translateY(var(--star-nudge))}.dashboard-remove-fav-btn:focus-visible,.dashboard-thumbnail:hover .dashboard-remove-fav-btn{opacity:1;transform:scale(1)}.dashboard-thumbnail .dashboard-remove-fav-btn:hover{background:#111827cc;box-shadow:0 4px 10px #00000052,inset 0 1px 0 #ffffff2e;color:#fde047;transform:scale(1.1)}.dashboard-thumbnail .dashboard-remove-fav-btn:active{transform:scale(.94)}.dashboard-remove-fav-btn:focus-visible{outline:2px solid #355d98;outline:2px solid var(--color-primary);outline-offset:2px}.dashboard-loading-msg,.dashboard-no-items-msg{color:#555;font-style:italic;padding:1rem;text-align:center}.dashboard-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));padding-top:1rem}.dashboard-box{background-color:#d7dfea;background-color:var(--bg-hover);border:1px solid #d1e4a3;border-radius:16px;box-shadow:0 6px 15px #00000014;cursor:pointer;display:flex!important;flex-direction:column!important;min-height:250px;padding:1.5rem;position:relative;transition:transform .2s ease-in-out,box-shadow .2s ease-in-out}.dashboard-box:hover{box-shadow:0 10px 20px #0000001f;transform:translateY(-5px)}.dashboard-date{align-self:flex-end;bottom:auto!important;color:#6c757d;color:var(--text-muted);display:flex;flex-direction:column;font-family:Inter var,sans-serif;font-family:var(--font-family-main);font-size:.75rem;font-weight:500;line-height:1.3;margin-top:auto;opacity:.8;pointer-events:none;position:relative!important;right:auto!important;text-align:right;width:100%}.dashboard-box-title-input{border:none;border-bottom:2px solid #ccc;color:#222;flex-shrink:0;font-size:1.25rem;font-weight:700;padding-bottom:10px}.dashboard-box-subtitle-input,.dashboard-box-title-input{background-color:initial;cursor:pointer;font-family:Inter var,sans-serif;font-family:var(--font-family-main);margin-bottom:.5rem;outline:none;resize:none;transition:border-bottom-color .3s ease;width:100%}.dashboard-box-subtitle-input{border:none;border-bottom:1px solid #0000;color:#555;flex-grow:1;font-size:14px;font-weight:400;overflow:auto;padding-bottom:5px;position:relative;z-index:1}.dashboard-box-subtitle-input.editing{border-bottom-color:#355d98;border-bottom-color:var(--color-primary);cursor:text}.dashboard-box-subtitle-input::placeholder{color:#999;font-style:italic}.dashboard-box-subtitle-input::-webkit-scrollbar{width:6px}.dashboard-box-subtitle-input::-webkit-scrollbar-track{background:#0000}.dashboard-box-subtitle-input::-webkit-scrollbar-thumb{background-color:#305489;background-color:var(--color-primary-hover);border-radius:10px}.dashboard-box-title-input.editing{border-bottom-color:#355d98;border-bottom-color:var(--color-primary);cursor:text}.dashboard-box-title-input::placeholder{color:#6c757d;color:var(--text-muted);font-weight:500;opacity:.8}.dashboard-menu-button{align-items:center;background:#0000;border:none;border-radius:50%;color:#555;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;line-height:1;opacity:0;position:absolute;right:10px;top:10px;transition:opacity .2s,background-color .2s;visibility:hidden;width:32px;z-index:20}.dashboard-box:hover .dashboard-menu-button{opacity:1;visibility:visible}.dashboard-dropdown-menu{animation:fadeIn .15s ease-out;background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #0003;cursor:default;min-width:140px;padding:8px;position:absolute;right:10px;top:40px;z-index:100}.dashboard-box-link{border-radius:inherit;bottom:0;color:inherit;left:0;position:absolute;right:0;text-decoration:none;top:0}.back-arrow-button{align-items:center;background-color:#f0f2f5;border:none;border-radius:50%;color:#333;cursor:pointer;display:inline-flex;height:44px;justify-content:center;transition:background-color .2s ease,transform .2s ease;width:44px}.back-arrow-button:hover{background-color:#e4e6eb;transform:scale(1.05)}.edit-save-button{background:#355d98;background:var(--color-primary);border:none;border-radius:20px;color:#fff;color:var(--text-inverse);cursor:pointer;font-family:Inter var,sans-serif;font-family:var(--font-family-main);font-size:1rem;font-weight:600;padding:10px 24px;transition:background-color .3s ease,transform .2s ease}.edit-save-button:hover{background:#2a4a7a;background:var(--color-primary-active);transform:translateY(-2px)}.worksheet-container{margin-bottom:50px;min-height:1123px;position:relative;width:794px}.worksheet-backdrop{display:flex;flex-direction:column;left:0;position:absolute;top:0;width:100%;z-index:0}.page-sheet{background-color:#fff;border:1px solid #d0d0d0;box-shadow:0 4px 15px #0000001a;position:relative;width:100%}.page-number{bottom:10px;color:#e0e0e0;color:var(--border-color);font-size:12px;font-weight:700;pointer-events:none;position:absolute;right:20px}.worksheet-overlay{position:relative;width:100%;z-index:1}.worksheet-overlay .react-grid-layout{background:#0000}.worksheet-overlay .layout{height:100%!important}.worksheet-overlay.is-dragging,.worksheet-overlay.is-dragging .worksheet-box{cursor:grabbing!important}.react-grid-placeholder{background:#00e6081a!important;border:2px dashed #355d98!important;border:2px dashed var(--color-primary)!important;border-radius:4px;opacity:.6!important;z-index:2}.layout{height:100%!important}.header-left-group{align-items:center;display:flex;gap:20px}.dashboard-view-title{color:#111827;color:var(--text-main);cursor:default;font-size:1.5rem;font-weight:700;margin:0}.dashboard-view-title,.toolbar-dashboard-title-input{font-family:Inter var,sans-serif;font-family:var(--font-family-main)}.toolbar-dashboard-title-input{background-color:#f9f9f9;border:1px solid #0000;border-radius:6px;color:#333;font-size:14px;font-weight:600;outline:none;padding:6px 10px;transition:all .2s ease;width:200px}.toolbar-dashboard-title-input:hover{background-color:#f0f0f0}.toolbar-dashboard-title-input:focus{background-color:#fff;border-color:#355d98;border-color:var(--color-primary);box-shadow:0 0 0 2px #3ae6001a}.toolbar-dashboard-title-input::placeholder{color:#aaa;font-weight:400}.dashboard-detail-header{align-items:center;display:flex;height:80px;justify-content:space-between;padding:1rem 3rem;transition:padding-left .7s ease-in-out;width:100%}.chat-sidebar.closed~.main-content .dashboard-detail-header{padding-left:100px}.sidebar-navigation-tabs{border-bottom:2px solid #e0e0e0;border-bottom:2px solid var(--border-color);display:flex;margin:-10px 11px 20px 0}.nav-tab{align-items:center;color:#6c757d;color:var(--text-muted);cursor:pointer;display:flex;flex:1 1;font-weight:600;gap:8px;justify-content:center;padding:12px 0;position:relative;text-decoration:none;transition:color .3s ease}.nav-tab svg{fill:currentColor}.nav-tab:not(.active):hover{color:#989ea4}.nav-tab.active{color:#111827;color:var(--text-main)}.nav-tab.active:after{background-color:#111827;background-color:var(--text-main);border-radius:2px;bottom:-2px;content:"";height:2px;left:0;position:absolute;width:100%}.dashboard-floating-buttons .user-menu-container{bottom:auto;position:relative;right:auto}.dashboard-floating-buttons{align-items:flex-end;bottom:15px;display:flex;flex-direction:column;gap:12px;position:fixed;right:20px;z-index:1000}.main-content{display:flex;flex-direction:column;height:100vh}.worksheet-area .tox-tinymce{height:100%!important}.dashboard-session-group{margin-bottom:8px}.dashboard-session-group .session-item{margin-bottom:0}.dashboard-nested-charts{border-radius:0 0 12px 12px;display:flex;flex-direction:column;gap:10px;margin-top:0;padding:8px 0 5px}.dashboard-favorites-list .session-item{cursor:pointer;-webkit-user-select:none;user-select:none}.worksheet-area{align-items:flex-start;background-color:#f0f2f5;display:flex;flex-grow:1;justify-content:center;overflow-y:auto;padding:2rem;position:relative;width:100%}.react-grid-item{position:absolute!important}.worksheet-box{border:1px solid #0000;box-sizing:border-box;display:flex;flex-direction:column;height:100%;overflow:visible;padding:4px;position:relative;transition:all .2s ease;width:100%}.worksheet-box:hover{z-index:100}.grid-drag-handle:active{background-color:#dcdcdc;cursor:grabbing}.worksheet-overlay.editing .grid-drag-handle{display:block}.worksheet-overlay.editing .worksheet-box{background-color:#ffffff1a;border:1px dashed #ccc;cursor:default}.worksheet-overlay.editing .worksheet-box:hover{border-color:#999;z-index:100}.worksheet.is-dragging,.worksheet.is-dragging .text-content,.worksheet.is-dragging .worksheet-box{cursor:grabbing!important}.worksheet.editing .worksheet-box:active{border-color:#666}.text-content{border:1px solid #0000;cursor:text;flex-grow:1;font-family:Inter var,sans-serif;font-family:var(--font-family-main);font-size:16px;outline:none;overflow-wrap:break-word;padding:10px;transition:border .2s;white-space:pre-wrap;width:100%}.worksheet.editing .text-content:focus{background-color:#e6f0ff0d;border:1px solid #e6f0ff}.text-content:empty:before{content:"\200b"}.no-selection-highlight ::selection,.no-selection-highlight::selection{background:#0000!important;color:inherit!important}.no-selection-highlight ::-moz-selection,.no-selection-highlight::-moz-selection{background:#0000!important;color:inherit!important}.react-resizable-handle{opacity:0}.worksheet-overlay.editing .react-resizable-handle{background-color:#e6e6e6;background-image:none;border-top-left-radius:4px;bottom:0;cursor:se-resize;height:16px;opacity:1;right:0;width:16px;z-index:20}.worksheet-overlay.editing .react-resizable-handle:after{border-bottom:2px solid #666;border-right:2px solid #666;bottom:3px;content:"";height:6px;position:absolute;right:3px;width:6px}.editor-toolbar{align-items:center;background-color:#fff;background-color:var(--bg-card);border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;gap:2px;padding:4px 10px;-webkit-user-select:none;user-select:none}.toolbar-group{display:flex;gap:1px}.toolbar-select-wrapper{align-items:center;display:flex;outline:none;position:relative}.toolbar-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:#444;cursor:pointer;display:flex;font-size:14px;height:34px;justify-content:center;min-width:34px;padding:6px 10px;transition:all .2s cubic-bezier(.4,0,.2,1)}.toolbar-btn:hover{background-color:#f5f5f5;color:#000}.toolbar-btn.add-btn:hover{color:#fff;color:var(--text-inverse)}.toolbar-btn.active{background-color:#e6f0ff;box-shadow:inset 0 1px 2px #0000001a;color:#355d98;color:var(--color-primary)}.add-btn{background-color:#355d98!important;background-color:var(--color-primary)!important;border-radius:20px;color:#fff;color:var(--text-inverse);font-weight:600;margin-right:5px;padding:0 15px}.add-btn:hover{background-color:#305489!important;background-color:var(--color-primary-hover)!important}.toolbar-separator{background-color:#e0e0e0;background-color:var(--border-color);height:24px;margin:0 8px;width:1px}.toolbar-select{appearance:none;background-color:initial;border:1px solid #0000;border-radius:4px;color:#333;cursor:pointer;font-family:Inter var,sans-serif;font-family:var(--font-family-main);font-size:13px;padding:4px 24px 4px 8px;transition:all .2s}.toolbar-select-wrapper:after{color:#888;content:"▼";font-size:8px;pointer-events:none;position:absolute;right:8px}.font-family{width:140px}.font-size{width:70px}.toolbar-select:hover{background-color:#f0f0f0}.color-picker-wrapper{border-radius:4px;cursor:pointer;height:34px;justify-content:center;transition:background .2s;width:36px}.color-display-container,.color-picker-wrapper{align-items:center;display:flex;flex-direction:column}.color-display-container{line-height:1}.color-icon-text{color:#333;font-family:serif;font-size:16px;font-weight:700}.color-bar{border:.5px solid #0000001a;border-radius:1px;height:3px;margin-top:1px;width:16px}.hidden-color-input{height:0;opacity:0;pointer-events:none;position:absolute;width:0}.color-picker-wrapper:hover{background-color:#f0f0f0}.color-input{background:none;border:none;cursor:pointer;height:20px;padding:0;width:20px}.remove-box-btn{align-items:center;background-color:#e6e6e6;border:none;border-bottom-left-radius:4px;color:#666;cursor:pointer;display:none;font-size:16px;font-weight:700;height:18px;justify-content:center;line-height:1;padding:0 0 2px;position:absolute;right:0;top:0;transition:all .2s ease;width:18px;z-index:30}.remove-box-btn:hover{background-color:#ff4d4d;color:#fff}.worksheet-overlay.editing .remove-box-btn{display:flex}.grid-drag-handle-icon{align-items:center;background-color:#e6e6e6;border:1px solid #ccc;border-bottom-left-radius:8px;border-bottom-right-radius:8px;border-top:none;box-shadow:0 1px 3px #0000001a;cursor:grab;display:flex;height:10px;justify-content:center;left:50%;position:absolute;top:0;transform:translateX(-50%);transition:background-color .2s,box-shadow .2s;width:80px;z-index:50}.grid-drag-handle-icon svg{color:#666;height:auto;pointer-events:none;width:50px}.grid-drag-handle-icon:hover{background-color:#dcdcdc;box-shadow:0 2px 5px #00000026}.grid-drag-handle-icon:active{cursor:grabbing}.grid-drag-handle-icon:active svg{color:#111827;color:var(--text-main)}.chart-worksheet-wrapper{align-items:center;background-color:#fff;display:flex;flex-direction:column;height:100%;justify-content:center;overflow:visible;position:relative;width:100%}.dashboard-thumbnail[draggable=true]{cursor:grab}.dashboard-thumbnail[draggable=true]:active{cursor:grabbing}.js-plotly-plot,.plot-container{height:100%!important;width:100%!important}.header-right-group{align-items:center;display:flex;gap:15px}.pdf-download-button{align-items:center;background:#0000;border:none;border-radius:50%;cursor:pointer;display:flex;justify-content:center;padding:8px;transition:transform .2s ease,background-color .2s ease}.pdf-download-button:hover{background-color:#003de61a;transform:scale(1.1)}.pdf-download-button:active{transform:scale(.95)}.action-circle-button{align-items:center;background:#0000;border:none;border-radius:50%;cursor:pointer;display:flex;justify-content:center;padding:8px;transition:all .2s ease}.action-circle-button:hover{background-color:#003de61a;color:#355d98;color:var(--color-primary);transform:scale(1.1)}@keyframes spin{to{transform:rotate(1turn)}}.action-circle-button.spinning svg{animation:spin 1s linear infinite;color:#355d98;color:var(--color-primary);cursor:wait}@media print{*{-webkit-print-color-adjust:exact;print-color-adjust:exact}.app-container,.worksheet-area,body{background-color:#fff}body *{visibility:hidden}.worksheet-container,.worksheet-container *{visibility:visible}.worksheet-container{background-color:initial;border:none;box-shadow:none;left:0;margin:0;padding:0;position:absolute;top:0;width:100%}@page{size:A4;margin:0}.chat-sidebar,.dashboard-detail-header,.item-error-badge-container,.sidebar-top-buttons-floating,.worksheet-area::-webkit-scrollbar{display:none!important}.page-sheet{border:none;box-shadow:none;break-after:page;margin-bottom:0!important;page-break-after:always}.page-sheet,.worksheet-overlay{height:100%!important}}.dashboard-thumbnail.punctual{background-color:#d7dfea;background-color:var(--bg-hover);border:1px solid #d1e4a3;display:flex;flex-direction:column;height:auto!important;padding:10px}.dashboard-thumbnail.punctual:hover{border-color:#355d98;border-color:var(--color-primary);box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.dashboard-punctual-preview{color:#111827;color:var(--text-main);display:flex;font-family:Inter var,sans-serif;font-family:var(--font-family-main);min-width:0;overflow:hidden}.elenco-preview{display:flex;flex:1 1;flex-direction:column;gap:7px;min-width:0}.elenco-preview-intro{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;color:#111827;color:var(--text-main);display:-webkit-box;font-size:12px;font-weight:600;line-height:1.35;margin:0;overflow:hidden}.elenco-preview-tabella{background-color:#fff;background-color:var(--bg-card);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:8px;display:grid;font-size:10px;line-height:1.3;overflow:hidden}.elenco-preview-cella{border-top:1px solid #e0e0e0;border-top:1px solid var(--border-color);min-width:0;overflow:hidden;padding:4px 8px;text-overflow:ellipsis;white-space:nowrap}.elenco-preview-cella.intestazione{background-color:#f1f3f5;border-top:none;color:#6c757d;color:var(--text-muted);font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.elenco-preview-cella.numero{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.elenco-preview-cella.vuota{color:#c4c9d0}.elenco-preview-cella.altre{background-color:#f8f9fa;color:#6c757d;color:var(--text-muted);font-size:9px;font-weight:600;grid-column:1/-1;letter-spacing:.03em;padding:3px 8px;text-align:center}.text-content.drop-active{background-color:#b2e8361a!important;border:2px solid #355d98!important;border:2px solid var(--color-primary)!important;box-shadow:0 0 8px #0000001a}.locked-value{-webkit-user-select:text;user-select:text}.worksheet-area .locked-value{cursor:default}.toast-notification{align-items:center;background-color:#222;border-radius:50px;bottom:30px;box-shadow:0 10px 25px #0003;color:#fff;display:flex;font-family:Inter var,sans-serif;font-family:var(--font-family-main);font-size:14px;font-weight:500;gap:12px;opacity:0;padding:12px 24px;position:fixed;transform:translateX(-50%) translateY(20px);transition:opacity .4s cubic-bezier(.16,1,.3,1),transform .4s cubic-bezier(.16,1,.3,1),visibility .4s,left .7s ease-in-out,background-color .3s;visibility:hidden;z-index:3000}.toast-notification.visible{opacity:1;transform:translateX(-50%) translateY(0);visibility:visible}.toast-notification.success{background-color:#355d98;background-color:var(--color-primary);color:#fff;color:var(--text-inverse);font-weight:600}.toast-spinner{animation:spin 1s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top:2px solid var(--color-primary);height:18px;width:18px}.toast-check-icon{height:20px;width:20px}.item-error-badge-container,.toast-check-icon{align-items:center;display:flex;justify-content:center}.item-error-badge-container{cursor:help;position:absolute;right:5px;top:5px;z-index:50}.item-error-icon{animation:pulse-warning 2s infinite;height:24px;width:24px}@keyframes pulse-warning{0%{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.item-error-tooltip{word-wrap:break-word;background-color:#333;border-radius:6px;box-shadow:0 4px 10px #00000040;color:#fff;font-family:Inter var,sans-serif;font-family:var(--font-family-main);font-size:12px;line-height:1.4;margin-top:8px;max-width:250px;opacity:0;padding:8px 12px;pointer-events:none;position:absolute;right:0;text-align:left;top:100%;transition:opacity .2s ease-in-out,visibility .2s;visibility:hidden;white-space:pre-wrap;width:250px;z-index:1000}.item-error-tooltip:after{border:5px solid;border-color:#0000 #0000 #333;bottom:100%;content:"";position:absolute;right:8px}.item-error-badge-container:hover .item-error-tooltip{opacity:1;visibility:visible}.toast-notification.warning{background-color:#faad14;color:#111827;color:var(--text-main);font-weight:600}.toast-notification.warning .toast-check-icon svg{fill:#111827;fill:var(--text-main)}.content-clipper{display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative;width:100%}.spinner svg{animation:flipHourglass 1.5s ease-in-out infinite}@keyframes flipHourglass{0%{transform:rotate(0deg)}40%{transform:rotate(180deg)}50%{transform:rotate(180deg)}90%{transform:rotate(1turn)}to{transform:rotate(1turn)}}.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;will-change:width,height;z-index:1}.react-grid-item.react-draggable-dragging{transition:none;will-change:transform;z-index:3}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;-webkit-user-select:none;user-select:none;z-index:2}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{height:20px;opacity:0;position:absolute;width:20px}.react-grid-item:hover>.react-resizable-handle{opacity:1}.react-grid-item>.react-resizable-handle:after{border-bottom:2px solid #0006;border-right:2px solid #0006;bottom:3px;content:"";height:5px;position:absolute;right:3px;width:5px}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;cursor:sw-resize;left:0;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;cursor:se-resize;right:0}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{cursor:nw-resize;left:0;top:0;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{cursor:ne-resize;right:0;top:0;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e,.react-grid-item>.react-resizable-handle.react-resizable-handle-w{cursor:ew-resize;margin-top:-10px;top:50%}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{cursor:ns-resize;left:50%;margin-left:-10px}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.react-resizable{position:relative}.react-resizable-handle{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgd2lkdGg9IjYiIGhlaWdodD0iNiI+PHBhdGggZD0iTTYgNkgwVjQuMmg0LjJWMEg2djZaIiBvcGFjaXR5PSIuMzAyIi8+PC9zdmc+);background-origin:content-box;background-position:100% 100%;background-repeat:no-repeat;box-sizing:border-box;height:20px;padding:0 3px 3px 0;position:absolute;width:20px}.react-resizable-handle-sw{bottom:0;cursor:sw-resize;left:0;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;cursor:se-resize;right:0}.react-resizable-handle-nw{cursor:nw-resize;left:0;top:0;transform:rotate(180deg)}.react-resizable-handle-ne{cursor:ne-resize;right:0;top:0;transform:rotate(270deg)}.react-resizable-handle-e,.react-resizable-handle-w{cursor:ew-resize;margin-top:-10px;top:50%}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{cursor:ns-resize;left:50%;margin-left:-10px}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.login-page-container{align-items:center;background:var(--bg-main);display:flex;flex-direction:column;font-family:var(--font-family-main);justify-content:center;min-height:100vh}.login-box{background:var(--bg-hover);border-radius:20px;box-shadow:0 10px 30px #0000004d;max-width:400px;padding:40px 50px;text-align:center;transform:scale(1);transition:transform .3s ease-in-out,box-shadow .3s ease-in-out;width:100%}.login-box:hover{box-shadow:0 15px 40px #0006;transform:scale(1.02)}.login-logo{color:#fff;font-size:3rem;font-weight:800;letter-spacing:-1px;margin-bottom:10px;margin-top:0}.login-box h2,.login-logo{cursor:default;font-family:var(--font-family-main)}.login-box h2{color:var(--text-main);font-size:1.2rem;font-weight:500;margin-bottom:35px}.login-box form input{border:1px solid #ddd;border-radius:12px;box-sizing:border-box;font-size:1rem;margin-bottom:20px;transition:all .3s ease}.login-box form button,.login-box form input{font-family:var(--font-family-main);padding:15px;width:100%}.login-box form button{background-color:var(--color-primary);border:none;border-radius:12px;color:var(--text-inverse);cursor:pointer;font-size:1.1rem;font-weight:700;transition:background-color .3s ease,transform .2s ease}.login-box form button:hover{background-color:var(--color-primary-hover);transform:translateY(-2px)}.error-message{color:var(--text-main);font-size:.9rem;font-weight:500;margin-top:15px}.login-icon{animation:popIn .6s ease-out forwards;height:auto;margin-bottom:0;transition:transform .3s ease-in-out;width:120px}.login-icon:hover{cursor:default;transform:scale(1.1) rotate(10deg)}@keyframes popIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.form-footer{color:#555;font-family:var(--font-family-main);font-size:.9rem;margin-top:25px}.form-footer a{color:#fff;font-weight:600;text-decoration:none;transition:all .2s ease-in-out}.form-footer a:hover{filter:brightness(1.1);text-decoration:underline}.success-message{color:#fff;font-size:.9rem;font-weight:500;margin-top:15px}.powered-by-container{align-items:center;color:#65676b;cursor:default;display:flex;font-size:14px;justify-content:center;margin-top:7px}.powered-by-logo-text{transform:translateY(3px)}.powered-by-logo-icon,.powered-by-logo-text{height:25px;margin-left:0}