*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-weight:var(--fw-semibold)}:root{--app-bg: #f4f6f9;--surface: #ffffff;--surface-2:#f7f8fa;--border: #e5e7eb;--accent: #2563eb;--text: #1f2430;--muted: #5d6470;--danger: #dc2626;--reason: #7c5cbf;--reason-soft: #f2eefb;--ok: #0f9d63;--ok-text: #07794b;--warn: #c98a13;--warn-text: #946305;--warn-bg: #fdf6e7;--fs-1: .6875rem;--fs-2: .75rem;--fs-3: .8125rem;--fs-4: .875rem;--fs-5: 1rem;--fs-6: 1.25rem;--fs-7: 1.75rem;--fs-8: 2.25rem;--fw-normal: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--radius-sm: 6px;--radius: 10px;--radius-lg: 14px;--radius-full: 999px;--z-raised: 10;--z-dropdown: 20;--z-overlay: 30;--z-modal: 40;--z-toast: 50;--z-tooltip: 60;--z-tour: 10000}body{background:var(--app-bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100vh;display:flex;flex-direction:column}#root{flex:1;min-height:0;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;gap:14px;padding:14px 28px;border-bottom:1px solid var(--border);background:var(--surface)}.app-header .logo{width:34px;height:34px;background:var(--accent);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-weight:var(--fw-bold);font-size:var(--fs-5);color:#fff;flex-shrink:0}.app-header h1{font-size:var(--fs-6);font-weight:var(--fw-semibold);letter-spacing:.2px}.app-header h1 span{color:var(--accent)}.app-header .app-build{display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin-left:-8px;align-self:flex-end;padding-bottom:1px}.app-header .app-version{font-size:var(--fs-1);font-weight:var(--fw-medium);color:var(--muted);letter-spacing:.2px}.env-banner{height:3px;background:#f59e0b}.app-header .env-chip{padding:0 6px;border-radius:var(--radius-sm);font-size:var(--fs-1);font-weight:var(--fw-semibold);letter-spacing:.4px;line-height:1.45;background:#f59e0b;color:#1a1200;text-decoration:none;cursor:help}.nav-tabs{display:flex;gap:4px;margin-left:18px}.nav-tab{background:none;border:none;color:var(--muted);font-size:var(--fs-3);font-weight:var(--fw-semibold);padding:7px 13px;border-radius:var(--radius-sm);cursor:pointer;text-decoration:none;transition:background .15s,color .15s}.nav-tab:hover{background:var(--surface-2);color:var(--text)}.nav-tab.active{background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent)}.auth-box{margin-left:auto;display:flex;align-items:center;gap:10px;font-size:var(--fs-3)}.auth-box .auth-email{color:var(--muted)}.auth-box .role-badge{font-size:var(--fs-1);font-weight:var(--fw-semibold);letter-spacing:.3px;text-transform:uppercase;padding:2px 8px;border-radius:var(--radius);background:color-mix(in srgb,var(--accent) 10%,var(--surface));color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 30%,var(--surface))}.auth-box button,.btn-secondary,.btn-danger{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 12px;font-size:var(--fs-3);cursor:pointer;color:var(--text);font-family:inherit}.auth-box button:hover,.btn-secondary:hover{border-color:var(--accent);color:var(--accent)}.auth-box .btn-help{background:color-mix(in srgb,#2563eb 12%,var(--surface));border-color:color-mix(in srgb,#2563eb 40%,var(--surface));color:#2563eb;font-weight:var(--fw-semibold)}.auth-box .btn-help:hover{background:color-mix(in srgb,#2563eb 20%,var(--surface))}select{appearance:none;-webkit-appearance:none;background-color:var(--surface);color:var(--text);background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 15px) 52%,calc(100% - 10px) 52%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 30px 7px 10px;font-family:inherit;font-size:var(--fs-3);line-height:1.2;cursor:pointer}input[type=text],input[type=number],input[type=email],input[type=password],input[type=search],input[type=url],input[type=tel],input:not([type]){background-color:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:9px 12px;font-family:inherit;font-size:var(--fs-4);line-height:1.2}input:hover:not(:disabled):not([type=checkbox]):not([type=radio]):not([type=file]){border-color:var(--accent)}input:disabled{opacity:.55;cursor:not-allowed}input:focus-visible:not([type=checkbox]):not([type=radio]){outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:1px}textarea{background-color:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:9px 12px;font-family:inherit;font-size:var(--fs-4);line-height:1.4}textarea:hover:not(:disabled){border-color:var(--accent)}textarea:disabled{opacity:.55;cursor:not-allowed}textarea:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:1px}select:hover:not(:disabled){border-color:var(--accent)}select:disabled{opacity:.55;cursor:not-allowed}select:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:1px}.usage-range select{max-width:200px}.member-list select{padding:4px 26px 4px 8px;font-size:var(--fs-3)}.page{flex:1;overflow-y:auto;overflow-x:auto;padding:36px 44px}.page-inner{max-width:1280px;margin:0 auto}.page h2{font-size:var(--fs-6);font-weight:var(--fw-bold);margin-bottom:6px}.page .page-sub{color:var(--muted);font-size:var(--fs-4);margin-bottom:24px}.page-empty{color:var(--muted);font-size:var(--fs-4);padding:24px 0;display:block}.page-error{color:var(--danger);font-size:var(--fs-4);padding:12px 0;display:block}.btn-primary{background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);padding:9px 16px;font-size:var(--fs-4);font-weight:var(--fw-semibold);cursor:pointer;font-family:inherit}.btn-primary:hover{background:color-mix(in srgb,var(--accent) 88%,#000)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.login-card{max-width:360px;margin:60px auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:28px}.login-card h3{font-size:var(--fs-5);margin-bottom:4px}.login-card p{color:var(--muted);font-size:var(--fs-3);margin-bottom:18px}.login-card .field{margin-bottom:12px}.login-card label{display:block;font-size:var(--fs-2);font-weight:var(--fw-medium);color:var(--muted);margin-bottom:4px}.login-card input{width:100%;padding:9px 11px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--fs-4);font-family:inherit}.login-card input:focus{outline:none;border-color:var(--accent)}.login-card .btn-primary{width:100%;margin-top:6px}.login-error{color:var(--danger);font-size:var(--fs-3);margin-top:10px;min-height:1em}.login-info{color:var(--ok-text);font-size:var(--fs-3);margin-top:10px}.login-card .btn-link{display:block;width:100%;margin-top:10px;background:none;border:none;color:var(--accent);font-size:var(--fs-3);cursor:pointer;padding:0;text-align:center}.login-card .btn-link:hover{text-decoration:underline}.session-status{display:flex;align-items:center;gap:10px;font-size:var(--fs-3);color:var(--muted);margin-bottom:18px;padding:10px 14px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius)}.session-status strong{color:var(--text)}.session-status button{margin-left:auto}.proj-toolbar{display:flex;gap:10px;align-items:center;margin-bottom:20px}.proj-toolbar input{flex:1;padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--fs-4);font-family:inherit}.proj-list{display:flex;flex-direction:column;gap:8px;margin-bottom:28px}.proj-card{display:flex;align-items:center;gap:6px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:6px 10px 6px 16px;transition:border-color .15s}.proj-card:hover{border-color:var(--accent)}.proj-card.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--surface))}.proj-open{flex:1;min-width:0;background:none;border:none;cursor:pointer;text-align:left;font-family:inherit;padding:8px 0}.proj-card .proj-name{font-weight:var(--fw-semibold);font-size:var(--fs-5);display:flex;align-items:center}.proj-card .proj-meta{color:var(--muted);font-size:var(--fs-2);margin-top:2px}.proj-card-tools{display:flex;gap:2px;opacity:0;transition:opacity .12s;flex-shrink:0}.proj-card:hover .proj-card-tools,.proj-card.active .proj-card-tools{opacity:1}.proj-card-tools button{background:none;border:none;cursor:pointer;color:var(--muted);font-size:var(--fs-3);padding:5px 6px}.proj-card-tools button:hover{color:var(--accent)}.proj-card.editing{padding:6px 16px}.proj-card.editing input{width:100%;font-family:inherit;font-size:var(--fs-4);padding:6px 9px;border:1px solid var(--accent);border-radius:var(--radius-sm)}.proj-detail{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.proj-detail-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}.proj-detail-head h3{font-size:var(--fs-5)}.proj-file-row{display:flex;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid var(--border)}.proj-file-row:last-child{border-bottom:none}.proj-file-row .pf-name{font-weight:var(--fw-semibold);font-size:var(--fs-4)}.proj-file-row .pf-meta{color:var(--muted);font-size:var(--fs-2)}.pf-actions{margin-left:auto;display:flex;gap:8px;flex-shrink:0}.btn-danger{color:var(--danger)}.btn-danger:hover:not(:disabled){border-color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,var(--surface))}.proj-upload{margin-top:16px;padding-top:16px;border-top:1px dashed var(--border)}.proj-upload label{font-size:var(--fs-3);font-weight:var(--fw-medium);display:block;margin-bottom:6px}.proj-upload input[type=file]{font-size:var(--fs-3)}.usage-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:30px}.usage-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.usage-card .uc-val{font-size:var(--fs-7);font-weight:var(--fw-bold)}.usage-card .uc-label{color:var(--muted);font-size:var(--fs-2);margin-top:2px}.usage-table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin-bottom:30px}.cell-muted{color:var(--muted)}.usage-table th.num,.usage-table td.num{text-align:right;font-variant-numeric:tabular-nums}.usage-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.usage-table th.sortable:hover{color:var(--text)}.usage-table th .sort-arrow{display:inline-block;width:1em;opacity:.6}.usage-table th,.usage-table td{text-align:left;padding:11px 16px;font-size:var(--fs-3);border-bottom:1px solid var(--border)}.usage-table th{color:var(--muted);font-weight:var(--fw-medium);font-size:var(--fs-2);text-transform:uppercase;letter-spacing:.3px;background:var(--surface-2)}.usage-table tr:last-child td{border-bottom:none}.usage-row-expandable{cursor:pointer}.usage-row-expandable:hover{background:var(--surface-2)}.usage-row-expandable td:first-child:before{content:"▸";display:inline-block;width:1em;color:var(--muted)}.usage-row-expandable.aperta td:first-child:before{content:"▾"}.usage-row-child{background:var(--surface-2);font-size:var(--fs-3)}.usage-row-child td:first-child{padding-left:34px}.usage-range{display:flex;gap:8px;align-items:center;margin-bottom:20px;font-size:var(--fs-4);flex-wrap:wrap}.usage-range input[type=date]{padding:6px 9px;border:1px solid var(--border);border-radius:var(--radius-sm);font-family:inherit}h3.section-title{font-size:var(--fs-5);margin-bottom:14px}h3.section-title:not(:first-child){margin-top:30px}.quota-form input[type=email]{flex:1;padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--fs-4);font-family:inherit}.quota-form input[type=number]{width:160px;padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--fs-4);font-family:inherit}.guardrail-toggle{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-4);cursor:pointer}.guardrail-toggle input[type=checkbox]{width:16px;height:16px;cursor:pointer}.analisi-layout{flex:1;min-height:0;display:grid;grid-template-columns:340px 1fr 440px}.panel-left,.panel-chat{background:var(--surface);display:flex;flex-direction:column;min-height:0}.panel-left{border-right:1px solid var(--border);position:relative}.panel-left-scroll{flex:1;min-height:0;overflow-y:auto;padding:18px}.panel-chat{border-left:1px solid var(--border);position:relative}.panel-center{display:flex;flex-direction:column;min-height:0;background:var(--app-bg)}.panel-toggle-left{position:absolute;top:16px;right:-11px;z-index:var(--z-raised);flex-shrink:0;width:22px;height:22px;background:var(--surface);border:1px solid var(--border);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:var(--fs-2);color:var(--muted);line-height:1;padding:0}.panel-toggle-left:hover{color:var(--accent);background:var(--surface-2)}.panel-left.collapsed .panel-left-scroll{padding:18px 12px}.panel-left.collapsed .session-actions,.panel-left.collapsed .fi-meta{display:none}.panel-left.collapsed .fi-name{font-size:var(--fs-2)}.chat-resize-handle{position:absolute;left:0;top:0;bottom:0;width:5px;cursor:col-resize;z-index:var(--z-raised);background:transparent;transition:background .15s}.chat-resize-handle:hover{background:color-mix(in srgb,var(--accent) 25%,transparent)}.session-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:8px}.session-head h2{font-size:var(--fs-5)}.session-actions{display:flex;gap:6px;margin-left:auto}.session-actions button{font-size:var(--fs-2);padding:5px 9px}.count{color:var(--muted);font-size:var(--fs-3);display:block;margin-bottom:12px}.ctx-warn{color:var(--danger)}.session-status-msg{font-size:var(--fs-3);color:var(--muted);margin-bottom:10px;display:flex;align-items:center;gap:7px}.dropzone{border:2px dashed var(--border);border-radius:var(--radius);padding:28px 16px;text-align:center;cursor:pointer;color:var(--muted)}.dropzone:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 5%,var(--surface))}.panel-left.drag-over{background:color-mix(in srgb,var(--accent) 7%,var(--surface));outline:2px dashed var(--accent);outline-offset:-6px}.panel-left.drag-over .dropzone{border-color:var(--accent)}.panel-left.drag-over *{pointer-events:none}.proj-detail.drag-over{background:color-mix(in srgb,var(--accent) 7%,var(--surface));outline:2px dashed var(--accent);outline-offset:-6px}.proj-detail.drag-over *{pointer-events:none}.dropzone-more{margin-top:4px;width:100%;border:1px dashed var(--border);border-radius:var(--radius);background:none;color:var(--muted);font-family:inherit;font-size:var(--fs-2);padding:9px 11px;cursor:pointer;transition:border-color .15s,color .15s}.dropzone-more:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.dropzone-more:disabled{opacity:.5;cursor:not-allowed}.dropzone .icon{font-size:var(--fs-7);display:block;margin-bottom:8px}.dropzone p{font-size:var(--fs-4)}.dropzone .hint{font-size:var(--fs-2);margin-top:6px}.file-list{display:flex;flex-direction:column;gap:6px;margin-bottom:18px}.file-group-sep{display:flex;align-items:center;gap:8px;font-size:var(--fs-1);color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:2px 0}.file-group-sep:before,.file-group-sep:after{content:"";flex:1;height:1px;background:var(--border)}.file-item{display:flex;align-items:center;gap:9px;border:1px solid var(--border);border-radius:var(--radius);padding:10px 13px;cursor:pointer;transition:border-color .15s,background .15s}.file-item:hover{border-color:var(--accent)}.file-item.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--surface))}.fi-icon{font-size:var(--fs-5)}.fi-body{flex:1;min-width:0}.fi-name{font-size:var(--fs-3);font-weight:var(--fw-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fi-meta{font-size:var(--fs-1);color:var(--muted);text-transform:uppercase;letter-spacing:.3px}.fi-btn{background:none;border:none;color:var(--muted);cursor:pointer;font-size:var(--fs-3);padding:2px 4px}.fi-btn:hover{color:var(--accent)}.file-item.processing{cursor:default;opacity:.82;border-color:color-mix(in srgb,var(--accent) 55%,var(--border));animation:fi-loading-pulse 1.6s ease-in-out infinite}.file-item.processing:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--border))}.file-item.errored{cursor:default;border-color:color-mix(in srgb,var(--danger) 55%,var(--border))}.file-item.errored:hover{border-color:color-mix(in srgb,var(--danger) 55%,var(--border))}.fi-progress{display:flex;flex-direction:column;gap:3px;margin-top:3px}.fi-progress-track{width:100%;height:4px;border-radius:var(--radius-full);background:color-mix(in srgb,var(--muted) 25%,transparent);overflow:hidden}.fi-progress-fill{height:100%;background:var(--accent);border-radius:var(--radius-full);transition:width .3s;width:22%}.fi-progress-track.indeterminate .fi-progress-fill{width:35%;transition:none;animation:progress-slide 1.3s ease-in-out infinite}.fi-progress-label{font-size:var(--fs-1);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fi-progress-time{opacity:.75;font-variant-numeric:tabular-nums}.fi-error{font-size:var(--fs-1);color:var(--danger);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fi-warn-icon{color:var(--warn-text);cursor:default}.fi-chip{display:inline-block;padding:0 5px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);font-size:var(--fs-1);font-weight:var(--fw-semibold);letter-spacing:.04em;color:var(--muted);vertical-align:1px}.missing-hint{font-size:var(--fs-2);color:var(--muted);margin-bottom:2px}.file-item.missing{cursor:default;opacity:.82;border-style:dashed}.file-item.missing:hover{border-color:var(--border)}.file-item.missing.loading{border-style:solid;border-color:var(--accent);animation:fi-loading-pulse 1.6s ease-in-out infinite}@keyframes fi-loading-pulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--accent) 35%,transparent)}50%{box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 0%,transparent)}}.file-item.missing.loading .fi-body .progress{min-width:0;margin-top:3px}.file-item.locked{cursor:not-allowed;opacity:.55}.file-item.locked:hover{border-color:var(--border)}.fi-load{flex-shrink:0;font-size:var(--fs-2);padding:5px 9px;display:inline-flex;align-items:center;gap:5px}.crash-toast{position:fixed;bottom:20px;right:20px;z-index:var(--z-toast);max-width:320px;padding:12px 16px;border-radius:var(--radius);background:var(--surface);color:var(--text);border:1px solid var(--border);box-shadow:0 4px 16px #0000002e;font-size:var(--fs-3)}.dialog-backdrop{position:fixed;inset:0;background:#0f141e59;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal)}.dialog-card{background:var(--surface);border-radius:var(--radius);padding:22px;width:min(420px,92vw)}.dialog-card h3{font-size:var(--fs-5);margin-bottom:14px}.dialog-card .field{margin-bottom:12px}.dialog-card label{display:block;font-size:var(--fs-2);font-weight:var(--fw-medium);color:var(--muted);margin-bottom:4px}.dialog-card input:not([type=checkbox]):not([type=radio]),.dialog-card textarea{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--fs-4);font-family:inherit}.dialog-card select{width:100%}.dialog-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.center-tabs{display:flex;align-items:center;gap:4px;flex-wrap:wrap;padding:12px 18px;border-bottom:1px solid var(--border);background:var(--surface)}.center-tab{background:none;border:none;color:var(--muted);font-family:inherit;font-size:var(--fs-3);font-weight:var(--fw-semibold);padding:7px 12px;border-radius:var(--radius-sm);cursor:pointer;text-decoration:none}.center-tab:hover{background:var(--surface-2);color:var(--text)}.center-tab.active{background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent)}.tab-download{margin-left:auto;font-size:var(--fs-3);text-decoration:none}.center-body{flex:1;min-height:0;position:relative;display:flex;flex-direction:column;overflow:hidden}.center-body>*{flex:1;min-height:0;overflow-y:auto}.viewer-wrap{flex-direction:column;position:relative;overflow:hidden!important}.viewer-toolbar{display:flex;align-items:center;gap:5px;flex-wrap:wrap;padding:9px 14px;border-bottom:1px solid var(--border);background:var(--surface)}.viewer-toolbar button{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px 10px;font-size:var(--fs-2);cursor:pointer;font-family:inherit;color:var(--text)}.viewer-toolbar button:hover{border-color:var(--accent);color:var(--accent)}.viewer-toolbar button.on{background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent);border-color:var(--accent)}.viewer-toolbar .tb-sep{width:1px;height:18px;background:var(--border);margin:0 4px}.viewer-toolbar .tb-info{margin-left:auto;font-size:var(--fs-2);color:var(--muted)}#viewer-pane{flex:1;min-height:0;position:relative}#viewer-canvas{position:absolute;inset:0}#viewer-status{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:none;align-items:center;gap:8px;font-size:var(--fs-4);color:var(--muted)}.viewer-overlay{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 22px;font-size:var(--fs-4);color:var(--muted);text-align:center;max-width:420px}.viewer-overlay.error{color:var(--danger)}.viewer-overlay p{margin-bottom:10px}.spinner,.viewer-spinner{display:inline-block;flex-shrink:0;width:13px;height:13px;border:2px solid color-mix(in srgb,var(--accent) 25%,transparent);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}.loading-row{display:flex;align-items:center;gap:8px}.progress{display:flex;flex-direction:column;gap:5px;font-size:var(--fs-3);min-width:190px}.progress-head{display:flex;align-items:baseline;gap:8px}.progress-label{color:var(--text)}.progress-pct{margin-left:auto;font-variant-numeric:tabular-nums;font-weight:var(--fw-medium);color:var(--accent)}.progress-track{height:6px;border-radius:var(--radius-sm);background:var(--surface-2);overflow:hidden}.progress-fill{height:100%;background:var(--accent);border-radius:var(--radius-sm);transition:width .25s ease-out}.progress-meta{color:var(--muted);font-size:var(--fs-2);font-variant-numeric:tabular-nums}.progress-track.indeterminate .progress-fill{width:35%;transition:none;animation:progress-slide 1.3s ease-in-out infinite}@keyframes progress-slide{0%{transform:translate(-100%)}to{transform:translate(320%)}}@media(prefers-reduced-motion:reduce){.progress-track.indeterminate .progress-fill,.fi-progress-track.indeterminate .fi-progress-fill{animation-duration:3s}.file-item.processing,.file-item.missing.loading{animation-duration:4s}}.btn-with-spinner{display:inline-flex;align-items:center;gap:7px}.proj-pending{background:color-mix(in srgb,var(--accent) 7%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 25%,var(--surface));border-radius:var(--radius);padding:10px 14px;font-size:var(--fs-4);margin-bottom:14px}.btn-primary .spinner{border-color:color-mix(in srgb,#fff 35%,transparent);border-top-color:#fff}.loading-row.panel-note{display:flex}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner,.viewer-spinner{animation-duration:2s}}.data-pane,.md-pane{padding:20px 24px}.panel-note{padding:20px 24px;color:var(--muted);font-size:var(--fs-4)}.panel-note.small{font-size:var(--fs-3);padding:10px 0}.elaborazione-nota{display:flex;align-items:flex-start;gap:12px}.elaborazione-nota .spinner{margin-top:3px}.panel-ok{color:var(--ok-text);font-size:var(--fs-4);padding:10px 0}.md-body{font-size:var(--fs-4);line-height:1.55}.md-body h1,.md-body h2,.md-body h3{margin:16px 0 8px}.md-body table{border-collapse:collapse;margin:10px 0}.md-body th,.md-body td{border:1px solid var(--border);padding:5px 9px;font-size:var(--fs-3)}.md-body code{background:var(--surface-2);padding:1px 5px;border-radius:var(--radius-sm);font-size:.82em}.score-head{display:flex;align-items:center;gap:16px;margin-bottom:20px}.score-val{font-size:var(--fs-8);font-weight:var(--fw-bold)}.score-val span{font-size:var(--fs-5);color:var(--muted)}.score-val.ok{color:var(--ok-text)}.score-val.warn{color:var(--warn-text)}.score-val.bad{color:var(--danger)}.score-label{font-weight:var(--fw-semibold);font-size:var(--fs-3);text-transform:uppercase;letter-spacing:.4px}.score-sub{color:var(--muted);font-size:var(--fs-3)}.dim-list{display:flex;flex-direction:column;gap:7px;margin-bottom:22px}.dim-row{display:grid;grid-template-columns:130px 1fr 46px auto auto;gap:10px;align-items:center;font-size:var(--fs-3)}.dim-label{font-weight:var(--fw-medium)}.dim-bar{background:var(--surface-2);border-radius:var(--radius-sm);height:7px;overflow:hidden}.dim-bar span{display:block;height:100%;background:var(--accent)}.dim-pct{font-weight:var(--fw-semibold);text-align:right}.dim-detail,.dim-weight{color:var(--muted);font-size:var(--fs-2)}.finding{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);padding:10px 14px;margin-bottom:8px}.finding .finding-badge{border:1px solid transparent}.finding.sev-warn,.finding.sev-warning{border-color:color-mix(in srgb,var(--warn) 40%,var(--border))}.finding.sev-warn .finding-badge,.finding.sev-warning .finding-badge{color:var(--warn-text);background:color-mix(in srgb,var(--warn) 14%,var(--surface));border-color:color-mix(in srgb,var(--warn) 40%,var(--surface))}.finding.sev-critical{border-color:color-mix(in srgb,var(--danger) 40%,var(--border))}.finding.sev-critical .finding-badge{color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,var(--surface));border-color:color-mix(in srgb,var(--danger) 35%,var(--surface))}.finding.sev-info .finding-badge{color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--surface));border-color:color-mix(in srgb,var(--accent) 30%,var(--surface))}.finding.sev-ok{border-color:color-mix(in srgb,var(--ok) 40%,var(--border))}.finding.sev-ok .finding-badge{color:var(--ok-text);background:color-mix(in srgb,var(--ok) 12%,var(--surface));border-color:color-mix(in srgb,var(--ok) 35%,var(--surface))}.finding-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px;font-size:var(--fs-3)}.finding-badge{font-size:var(--fs-1);font-weight:var(--fw-semibold);background:var(--surface-2);border-radius:var(--radius-sm);padding:2px 7px;letter-spacing:.3px}.finding-ref,.finding-file{color:var(--muted);font-size:var(--fs-2)}.finding-file{margin-left:auto}.finding-msg{font-size:var(--fs-3)}.cmp-els{font-size:var(--fs-2);color:var(--muted);margin-top:4px}.cmp-bar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:16px;font-size:var(--fs-3)}.cmp-info-btn{font-size:var(--fs-3);padding:6px 10px}.cmp-counts{margin-left:auto;font-size:var(--fs-3)}.cmp-counts .ok{color:var(--ok-text)}.cmp-counts .bad{color:var(--danger)}.cmp-counts .warn{color:var(--warn-text)}.cmp-counts .muted{color:var(--muted)}.dialog-card.wide{width:min(720px,94vw);max-height:85vh;display:flex;flex-direction:column}.dialog-card.wide.changelog{width:min(1100px,94vw)}.dialog-scroll{overflow-y:auto;flex:1}.schema-prompt-text{white-space:pre-wrap;font-family:Consolas,Menlo,monospace;font-size:var(--fs-2);line-height:1.6;margin:0}.markdown-body{font-size:var(--fs-4);line-height:1.55;padding-right:6px}.markdown-body h1{font-size:var(--fs-5);margin:14px 0 6px}.markdown-body h2{font-size:var(--fs-5);margin:16px 0 6px}.markdown-body h3{font-size:var(--fs-4);margin:14px 0 4px}.markdown-body p,.markdown-body ul,.markdown-body ol{margin:6px 0}.markdown-body ul,.markdown-body ol{padding-left:20px}.markdown-body hr{border:0;border-top:1px solid var(--border);margin:14px 0}.markdown-body code{background:var(--surface-2);border-radius:var(--radius-sm);padding:1px 4px;font-size:var(--fs-3)}.markdown-body blockquote{border-left:3px solid var(--border);padding-left:10px;color:var(--muted)}.markdown-body table{border-collapse:collapse;width:100%;margin:8px 0;font-size:var(--fs-3)}.markdown-body th,.markdown-body td{border:1px solid var(--border);padding:4px 7px;text-align:left;vertical-align:top}.markdown-body th{background:var(--surface-2)}.btn-inline{margin-left:10px}.ci-check{border-top:1px solid var(--border);padding:10px 0;font-size:var(--fs-3)}.ci-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:5px}.ci-id{font-size:var(--fs-1);font-weight:var(--fw-semibold);background:var(--surface-2);border-radius:var(--radius-sm);padding:2px 7px;white-space:nowrap}.ci-title{font-weight:var(--fw-semibold)}.ci-domain{color:var(--muted);font-size:var(--fs-2);margin-left:auto}.ci-field{margin-top:3px;font-size:var(--fs-3)}.seg{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.seg button{background:var(--surface);border:none;padding:6px 12px;font-size:var(--fs-3);cursor:pointer;font-family:inherit;color:var(--muted)}.seg button.on{background:var(--accent);color:#fff}.seg.small{margin-bottom:12px}.chat-head{display:flex;flex-direction:column;gap:9px;padding:14px 18px;border-bottom:1px solid var(--border)}.chat-head-riga{display:flex;align-items:center;gap:10px;min-width:0}.chat-head-riga h2{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-head-azioni{flex:none}.chat-head-chip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.chat-head h2{font-size:var(--fs-3);text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}.chat-mode{font-size:var(--fs-1);font-weight:var(--fw-semibold);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 40%,#fff);border-radius:var(--radius-full);padding:2px 9px}.chat-context{font-size:var(--fs-2);font-weight:var(--fw-medium);color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,#fff);border:1px solid color-mix(in srgb,var(--accent) 30%,#fff);border-radius:var(--radius-full);padding:3px 10px;max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-context.multi{color:var(--ok-text);background:color-mix(in srgb,var(--ok) 8%,var(--surface));border-color:color-mix(in srgb,var(--ok) 30%,var(--surface))}.chat-context.none{color:var(--muted);background:var(--surface-2);border-color:var(--border);font-weight:var(--fw-medium)}.msg-context-switch{align-self:stretch;text-align:center;font-size:var(--fs-1);color:var(--muted);margin:6px 0 2px;padding-top:8px;border-top:1px dashed var(--border)}.chat-messages{flex:1;min-height:0;overflow-y:auto;padding:16px 18px;display:flex;flex-direction:column;gap:14px}.chat-empty{margin:auto;text-align:center;color:var(--muted);font-size:var(--fs-4)}.chat-empty .ce-icon{font-size:var(--fs-7);margin-bottom:8px}.msg{display:flex;flex-direction:column;gap:6px}.msg.user{align-items:flex-end}.msg.user .msg-bubble{background:var(--accent);color:#fff;border-radius:var(--radius-lg) var(--radius-lg) var(--radius-sm) var(--radius-lg);padding:9px 14px;max-width:85%}.msg.assistant .msg-bubble{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg) var(--radius-lg) var(--radius-lg) var(--radius-sm);padding:11px 14px;font-size:var(--fs-4);line-height:1.5}.msg-bubble table{border-collapse:collapse;margin:8px 0;font-size:var(--fs-3)}.msg-bubble th,.msg-bubble td{border:1px solid var(--border);padding:4px 8px}.msg-bubble code{background:color-mix(in srgb,var(--accent) 8%,var(--surface));padding:1px 5px;border-radius:var(--radius-sm)}.msg-status{font-size:var(--fs-3);color:var(--muted)}.msg-error{font-size:var(--fs-3);color:var(--danger)}.query-ref-chip{display:inline-flex;align-items:center;gap:3px;font-size:var(--fs-2);font-weight:var(--fw-semibold);padding:1px 8px;border-radius:var(--radius);background:color-mix(in srgb,var(--accent) 10%,var(--surface-2));color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 28%,var(--surface-2))}.doc-ref-chip{display:inline-flex;align-items:center;gap:3px;font-size:var(--fs-2);font-weight:var(--fw-semibold);padding:1px 8px;margin-left:4px;border-radius:var(--radius);cursor:pointer;background:color-mix(in srgb,var(--warn) 10%,var(--surface-2));color:var(--warn-text);border:1px solid color-mix(in srgb,var(--warn) 28%,var(--surface-2))}.activity-ticker{display:flex;flex-direction:column;gap:6px;margin-bottom:9px}.activity-ticker .tick{display:flex;align-items:center;gap:9px;font-size:var(--fs-3);color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:7px 11px;animation:tick-in .25s ease-out;transition:transform .28s ease,color .2s ease,border-color .2s ease}.activity-ticker .tick .dot{width:7px;height:7px;border-radius:50%;background:var(--border);flex-shrink:0}.activity-ticker .tick.top{color:var(--text);border-color:color-mix(in srgb,var(--accent) 35%,var(--border))}.activity-ticker .tick.top .dot{background:var(--accent);animation:pulse 1.1s ease-in-out infinite}.activity-ticker .tick.top.reasoning{border-color:color-mix(in srgb,var(--reason) 40%,var(--border))}.activity-ticker .tick.top.reasoning .dot{background:var(--reason)}@keyframes tick-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.7)}}.agent-steps{font-size:var(--fs-3);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin-bottom:9px;overflow:hidden}.agent-steps summary{cursor:pointer;color:var(--muted);font-weight:var(--fw-medium);padding:8px 10px;list-style:none}.agent-steps summary::-webkit-details-marker{display:none}.agent-steps .as-count{font-weight:var(--fw-normal)}.as-timeline{padding:0 10px 8px;display:flex;flex-direction:column}.as-row{display:flex;gap:9px;padding:8px 0;border-top:1px dashed var(--border)}.as-row:first-child{border-top:none}.as-trail{padding-top:3px}.as-node{display:block;width:8px;height:8px;border-radius:50%;background:var(--accent)}.as-row.as-tool_error .as-node{background:var(--danger)}.as-row.as-reasoning .as-node{background:var(--reason)}.as-content{flex:1;min-width:0}.as-label{font-weight:var(--fw-semibold);color:var(--text)}.as-cypher{display:block;font-size:var(--fs-2);background:var(--surface-2);padding:5px 7px;border-radius:var(--radius-sm);white-space:pre-wrap;word-break:break-word;margin-top:4px}.as-rows{color:var(--muted);font-size:var(--fs-2);margin-top:3px;font-variant-numeric:tabular-nums}.as-error{color:var(--danger);font-size:var(--fs-2);margin-top:3px}.as-reasoning{margin-top:4px;background:var(--reason-soft);border:1px solid var(--reason);border-radius:var(--radius-sm);padding:6px 8px;font-size:var(--fs-3);font-style:italic;color:var(--text)}.msg-results-wrap{margin-top:9px}.msg-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.msg-hl-btn{background:color-mix(in srgb,var(--accent) 12%,#fff);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 35%,#fff);border-radius:var(--radius-sm);padding:5px 11px;font-size:var(--fs-3);cursor:pointer}.msg-hl-btn:hover{background:color-mix(in srgb,var(--accent) 20%,#fff)}.msg-results{font-size:var(--fs-2);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:6px 10px}.msg-results summary{cursor:pointer;color:var(--muted);font-weight:var(--fw-medium)}.msg-results-group{margin-top:7px;padding-top:7px;border-top:1px dashed var(--border)}.msg-results-label{font-weight:var(--fw-semibold);margin-bottom:4px}.msg-el-chip{display:inline-block;margin:2px 4px 2px 0;padding:2px 8px;border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--border);font-size:var(--fs-2);cursor:pointer}.msg-el-chip:hover{border-color:var(--accent);color:var(--accent)}.chat-actions{display:flex;gap:8px;padding:10px 18px;border-top:1px solid var(--border)}.chat-actions button{font-size:var(--fs-2);padding:5px 10px}.chat-actions button.on{background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent);border-color:var(--accent)}.chat-input-area{display:flex;gap:9px;padding:13px 18px;border-top:1px solid var(--border)}.chat-input-area textarea{flex:1;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);font-size:var(--fs-4);padding:9px 12px;resize:none;font-family:inherit;line-height:1.4;max-height:120px}.chat-input-area textarea:focus{outline:none;border-color:var(--accent)}.btn-send{background:var(--accent);border:none;border-radius:var(--radius);color:#fff;font-size:var(--fs-5);width:38px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.btn-send:disabled{opacity:.4;cursor:not-allowed}.btn-send .spinner{border-color:color-mix(in srgb,#fff 40%,transparent);border-top-color:#fff}@media(max-width:1300px){.analisi-layout{grid-template-columns:300px 1fr 380px}}.graph-pane{position:absolute;inset:0;flex-direction:column}.graph-info{padding:8px 14px;border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:5px 8px;align-items:center;font-size:var(--fs-2);color:var(--muted);flex-shrink:0}.graph-info .gi-tot{color:var(--text);font-weight:var(--fw-medium)}.gi-chip{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px 7px;font-size:var(--fs-2);color:var(--muted);cursor:pointer;font-family:inherit}.gi-chip:hover{border-color:var(--accent);color:var(--accent)}.graph-query{display:flex;gap:6px;align-items:center;padding:6px 10px;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0}.graph-query input{flex:1;font-family:Consolas,Menlo,monospace;font-size:var(--fs-2);height:28px;padding:3px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text)}.graph-query input:focus{outline:none;border-color:var(--accent)}.graph-query .btn-primary{flex-shrink:0;height:28px;padding:0 12px;font-size:var(--fs-2)}.gq-hint{font-size:var(--fs-2);color:var(--muted);flex-shrink:0}.graph-canvas-wrap{flex:1;min-height:0;position:relative}.graph-canvas{position:absolute;inset:0;background:var(--surface-2)}.graph-empty{position:absolute;inset:0;margin:auto;max-width:420px;height:max-content;text-align:center;color:var(--muted);font-size:var(--fs-4);line-height:1.5;padding:0 16px}.graph-props{position:absolute;top:10px;right:10px;width:250px;max-height:84%;overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;font-size:var(--fs-3);box-shadow:0 3px 12px #0000001f;z-index:var(--z-raised)}.graph-props .gp-head{display:flex;align-items:baseline;gap:6px;margin-bottom:7px}.graph-props .gp-kind{font-size:var(--fs-1);color:var(--muted)}.graph-props .gp-close{margin-left:auto;background:none;border:none;cursor:pointer;color:var(--muted);font-size:var(--fs-3)}.graph-props table{width:100%;border-collapse:collapse}.graph-props td{padding:3px 0;border-bottom:1px solid var(--border);word-break:break-word}.graph-props td:first-child{color:var(--muted);padding-right:10px;white-space:nowrap}.graph-props td:last-child{text-align:right}.graph-table-wrap{flex-shrink:0;max-height:190px;overflow:auto;border-top:1px solid var(--border)}.graph-table-wrap .usage-table{margin-bottom:0;border:none;border-radius:0}.graph-table-wrap th{position:sticky;top:0;z-index:var(--z-raised)}.graph-table-wrap td{font-family:Consolas,Menlo,monospace;font-size:var(--fs-2);max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gq-reason{color:var(--muted);font-style:italic}.graph-query .btn-secondary{height:28px;padding:0 10px;font-size:var(--fs-2);flex-shrink:0}.graph-props .gp-hl{width:100%;margin-top:10px;font-size:var(--fs-2);padding:4px 8px}.chat-threads-btn{background:none;border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px 8px;cursor:pointer;color:var(--muted);font-size:var(--fs-3)}.chat-threads-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.chat-threads-btn:disabled{opacity:.4;cursor:not-allowed}.thread-panel{border-bottom:1px solid var(--border);background:var(--surface-2);max-height:45%;overflow-y:auto;flex-shrink:0}.thread-head{display:flex;align-items:center;gap:8px;padding:9px 14px;font-size:var(--fs-3);position:sticky;top:0;background:var(--surface-2);border-bottom:1px solid var(--border)}.thread-head .btn-secondary{margin-left:auto;font-size:var(--fs-2);padding:3px 9px}.thread-close{background:none;border:none;cursor:pointer;color:var(--muted);font-size:var(--fs-3)}.thread-list{list-style:none;margin:0;padding:4px 0}.thread-row{display:flex;align-items:center;gap:4px;padding:0 8px 0 14px}.thread-row:hover{background:color-mix(in srgb,var(--accent) 6%,transparent)}.thread-row.active{background:color-mix(in srgb,var(--accent) 11%,transparent)}.thread-open{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;align-items:flex-start;background:none;border:none;cursor:pointer;padding:7px 0;text-align:left;font-family:inherit}.thread-title{font-size:var(--fs-3);color:var(--text);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thread-row.active .thread-title{font-weight:var(--fw-semibold);color:var(--accent)}.thread-meta{font-size:var(--fs-1);color:var(--muted)}.thread-tools{display:flex;gap:2px;opacity:0;transition:opacity .12s}.thread-row:hover .thread-tools,.thread-row.active .thread-tools{opacity:1}.thread-tools button{background:none;border:none;cursor:pointer;color:var(--muted);font-size:var(--fs-2);padding:3px 4px}.thread-tools button:hover{color:var(--accent)}.thread-confirm{display:flex;gap:3px;align-items:center}.tc-yes{background:var(--danger);color:#fff;border:none;border-radius:var(--radius-sm);font-size:var(--fs-1);padding:3px 8px;cursor:pointer}.tc-no{background:none;border:none;color:var(--muted);cursor:pointer;font-size:var(--fs-2)}.thread-row.editing{padding:5px 14px}.thread-row.editing input{width:100%;font-family:inherit;font-size:var(--fs-3);padding:4px 7px;border:1px solid var(--accent);border-radius:var(--radius-sm)}.ctx-bar{display:flex;align-items:center;gap:8px;padding:5px 18px;font-size:var(--fs-1);color:var(--muted);flex-shrink:0}.ctx-track{flex:1;height:4px;background:var(--surface-2);border-radius:var(--radius-full);overflow:hidden}.ctx-fill{height:100%;background:var(--accent);transition:width .3s}.ctx-bar.lvl-warn .ctx-fill{background:var(--warn)}.ctx-bar.lvl-over .ctx-fill{background:var(--danger)}.ctx-label{white-space:nowrap}.ctx-new{background:none;border:none;cursor:pointer;color:var(--accent);font-size:var(--fs-1);font-family:inherit;text-decoration:underline;white-space:nowrap}.ctx-bar.lvl-over .ctx-new{color:var(--danger)}.project-banner{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 12px;padding:8px 11px;border:1px solid var(--border);border-radius:var(--radius);background:color-mix(in srgb,var(--accent) 8%,var(--surface));font-size:var(--fs-3)}.project-banner.compatto{padding:7px 9px;font-size:var(--fs-2);flex-wrap:nowrap}.project-banner .pb-nome{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.project-banner.empty{border-color:var(--warn);background:var(--warn-bg)}.project-banner .btn-secondary{margin-left:auto;font-size:var(--fs-2);padding:3px 9px}.msg-notice{font-size:var(--fs-2);color:var(--muted);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:5px 9px}.model-default-badge{margin-left:8px;font-size:var(--fs-1);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.3px;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 40%,var(--surface));border-radius:var(--radius);padding:1px 7px}.users-table td{vertical-align:middle}.users-table td.user-actions input{width:110px;padding:5px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--fs-3)}.role-tag{font-size:var(--fs-1);font-weight:var(--fw-semibold);border-radius:var(--radius-full);padding:2px 9px;text-transform:uppercase;letter-spacing:.3px}.role-tag.admin{color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,#fff);border:1px solid color-mix(in srgb,var(--accent) 35%,#fff)}.role-tag.standard{color:var(--muted);background:var(--surface-2);border:1px solid var(--border)}.user-self,.user-pending{font-size:var(--fs-1);font-weight:var(--fw-semibold);border-radius:var(--radius);padding:1px 7px;margin-left:7px}.user-self{color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,#fff)}.user-pending{color:var(--warn-text);background:color-mix(in srgb,var(--warn) 12%,var(--surface))}.quota-nolimit{font-size:var(--fs-3);font-variant-numeric:tabular-nums;white-space:nowrap}.quota-nolimit em{color:var(--muted);font-style:normal;font-size:var(--fs-2);margin-left:5px}.quota-meter{display:flex;flex-direction:column;align-items:flex-end;gap:3px;min-width:150px}.qm-tetto{color:var(--muted);font-weight:var(--fw-normal)}.qm-bar{width:100%;max-width:130px;height:3px;border-radius:var(--radius-full);background:color-mix(in srgb,var(--muted) 22%,var(--surface-2));overflow:hidden}.qm-fill{height:100%;border-radius:var(--radius-full);background:var(--accent);transition:width .3s ease}.quota-meter.warn .qm-fill{background:var(--warn)}.quota-meter.over .qm-fill{background:var(--danger)}.qm-text{font-size:var(--fs-3);color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap}.qm-text em{font-style:normal}.quota-meter.warn .qm-text strong{color:var(--warn-text)}.quota-meter.over .qm-text strong{color:var(--danger)}.page-ok{color:var(--ok-text);font-size:var(--fs-3)}.proj-members{border-top:1px solid var(--border);margin-top:16px;padding-top:14px}.proj-members h4{font-size:var(--fs-3);text-transform:uppercase;letter-spacing:.4px;color:var(--muted);margin-bottom:10px}.member-list{list-style:none;display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.member-list li{display:flex;align-items:center;gap:9px;font-size:var(--fs-4)}.member-list .member-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-tag.editor{color:var(--ok-text);background:color-mix(in srgb,var(--ok) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--ok) 35%,var(--surface))}.role-tag.viewer{color:var(--muted);background:var(--surface-2);border:1px solid var(--border)}.role-tag.owner{color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,#fff);border:1px solid color-mix(in srgb,var(--accent) 35%,#fff)}.admin-msg{border-top:1px solid var(--border);padding:10px 0}.admin-msg .am-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:5px;font-size:var(--fs-2)}.admin-msg .am-role{font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.3px;color:var(--muted)}.admin-msg .am-time{color:var(--muted)}.admin-msg.user .am-role{color:var(--accent)}.admin-msg .am-files{color:var(--ok-text);background:color-mix(in srgb,var(--ok) 8%,var(--surface));border-radius:var(--radius);padding:1px 8px}.admin-msg .am-model{color:var(--muted);margin-left:auto}.admin-msg .am-text{font-size:var(--fs-4);line-height:1.5;white-space:pre-wrap}.admin-msg .am-error{font-size:var(--fs-4);color:var(--danger)}.am-steps{margin-bottom:6px;font-size:var(--fs-2)}.am-steps summary{cursor:pointer;color:var(--muted)}.am-steps pre{margin-top:6px;padding:8px;background:var(--surface-2);border-radius:var(--radius-sm);max-height:260px;overflow:auto;white-space:pre-wrap;word-break:break-word}.member-invite{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px}.member-invite label{font-size:var(--fs-3);font-weight:var(--fw-medium);color:var(--muted)}.user-cell{display:flex;flex-direction:column;gap:4px}.user-cell .user-email{font-weight:var(--fw-semibold)}.user-meta{font-size:var(--fs-2);color:var(--muted)}.user-meta .um-admin{color:var(--accent);font-weight:var(--fw-medium)}.user-meta .um-attesa{color:var(--warn-text);font-weight:var(--fw-medium)}.user-cell .user-tags{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.user-cell .user-self,.user-cell .user-pending{margin-left:0}.dialog-card .field-unit{display:flex;align-items:center;gap:8px}.dialog-card .field-unit input{flex:1}.dialog-card .field-unit span{font-size:var(--fs-3);color:var(--muted);min-width:56px}.usage-table td{vertical-align:middle}.usage-table td.user-actions{white-space:nowrap;vertical-align:middle}.usage-table td.user-actions>*{vertical-align:middle}.usage-table td.user-actions>*+*{margin-left:6px}.usage-table td .user-actions{display:inline-flex;align-items:center;gap:6px;flex-wrap:nowrap;white-space:nowrap}.users-table td{padding-top:12px;padding-bottom:12px}.users-table td:first-child{min-width:240px}.btn-secondary:disabled,.btn-danger:disabled{opacity:.45;cursor:not-allowed}.btn-secondary:disabled:hover,.btn-danger:disabled:hover{border-color:var(--border);color:var(--text)}input[type=file]{font-family:inherit;font-size:var(--fs-3);color:var(--muted);max-width:100%}input[type=file]::file-selector-button{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 12px;margin-right:10px;font-family:inherit;font-size:var(--fs-3);color:var(--text);cursor:pointer}input[type=file]::file-selector-button:hover{border-color:var(--accent);color:var(--accent)}input[type=file]:disabled::file-selector-button{opacity:.5;cursor:not-allowed}.doc-wrap{display:flex;flex-direction:column;height:100%;min-height:0}.doc-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 14px;border-bottom:1px solid var(--border);background:var(--surface-2)}.doc-bar .doc-nome{font-weight:var(--fw-semibold);font-size:var(--fs-4)}.doc-bar .doc-meta{font-size:var(--fs-2);color:var(--muted)}.doc-bar .btn-primary{margin-left:auto}.doc-frame{flex:1;width:100%;border:0;min-height:0;background:var(--surface)}.doc-overlay{margin:auto;text-align:center;color:var(--muted);font-size:var(--fs-4);line-height:1.6;max-width:460px;padding:28px;display:flex;flex-direction:column;align-items:center;gap:14px}.chat-docs{font-size:var(--fs-2);font-weight:var(--fw-medium);border-radius:var(--radius-full);padding:3px 10px;border:1px solid var(--border);background:var(--surface-2);color:var(--muted);cursor:pointer;font-family:inherit;white-space:nowrap}.chat-docs.attivo{color:var(--ok-text);background:color-mix(in srgb,var(--ok) 8%,var(--surface));border-color:color-mix(in srgb,var(--ok) 35%,var(--surface))}.chat-docs.vuoto{border-style:dashed}.chat-docs:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.chat-docs:disabled{opacity:.5;cursor:not-allowed}.doc-scelta{list-style:none;display:flex;flex-direction:column;gap:6px;margin:0}.doc-scelta label{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;margin:0;font-size:var(--fs-4);font-weight:var(--fw-normal);color:var(--text);transition:border-color .12s,background .12s}.doc-scelta label:hover{border-color:color-mix(in srgb,var(--accent) 25%,var(--border));background:var(--surface-2)}.doc-scelta label:has(input:checked){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--surface))}.doc-scelta label:has(input:disabled){opacity:.55;cursor:not-allowed}.doc-scelta input[type=checkbox]{width:15px;height:15px;margin-top:1px;flex:none;accent-color:var(--accent);cursor:inherit}.doc-scelta .ds-testo{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.doc-scelta .ds-nome{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-scelta .ds-costo{font-size:var(--fs-2);color:var(--muted);white-space:nowrap}.doc-totale{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:14px;padding-top:12px;border-top:1px solid var(--border);font-size:var(--fs-3)}.doc-totale .dt-cifra{font-weight:var(--fw-medium);white-space:nowrap}.doc-totale.vuoto{color:var(--muted)}.doc-nota{font-size:var(--fs-2);color:var(--muted);line-height:1.5;margin-top:8px}.doc-azioni{margin-left:auto;display:inline-flex;gap:8px;white-space:nowrap}.riepilogo{height:100%;overflow-y:auto;padding:26px 30px}.riepilogo.vuoto{display:flex;align-items:center;justify-content:center}.rp-testa{border-bottom:1px solid var(--border);padding-bottom:16px;margin-bottom:18px}.rp-titolo{font-size:var(--fs-6);font-weight:var(--fw-semibold);margin-bottom:6px;overflow-wrap:anywhere}.rp-file{font-size:var(--fs-3);color:var(--muted);word-break:break-word}.rp-desc{font-size:var(--fs-4);margin-top:10px;line-height:1.55}.rp-meta{display:grid;grid-template-columns:minmax(120px,max-content) 1fr;gap:8px 18px}.rp-riga{display:contents}.rp-meta dt{font-size:var(--fs-2);font-weight:var(--fw-medium);color:var(--muted)}.rp-meta dd{font-size:var(--fs-4);word-break:break-word}.rp-azioni{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.rp-alert{display:flex;align-items:flex-start;gap:10px;margin:20px 0;padding:12px 14px;background:color-mix(in srgb,var(--warn) 12%,var(--surface-2));border:1px solid color-mix(in srgb,var(--warn) 35%,var(--border));border-radius:var(--radius-sm);font-size:var(--fs-3);line-height:1.55}.rp-alert-icon{flex-shrink:0;color:var(--warn-text);font-size:var(--fs-5);line-height:1.4}.rp-alert-body{flex:1;min-width:0}.rp-check-list{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.rp-check{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:var(--fs-4)}.rp-check-icon{font-weight:var(--fw-semibold)}.rp-check-ok .rp-check-icon{color:var(--ok-text)}.rp-check-warn .rp-check-icon{color:var(--warn-text)}.rp-check .btn-secondary{flex-shrink:0;padding:4px 10px;font-size:var(--fs-3)}.rp-doc-stato{border-top:1px solid var(--border);margin-top:26px;padding-top:20px}.rp-doc-stato .progress{margin-top:10px}.chat-messages{overflow-x:hidden}.msg{min-width:0;max-width:100%}.msg-bubble{min-width:0;max-width:100%;overflow-wrap:anywhere}.msg-bubble .table-scroll{max-width:100%;overflow-x:auto}.msg-bubble table{width:max-content;min-width:100%}.msg-bubble th,.msg-bubble td{overflow-wrap:normal}.msg-bubble th{white-space:nowrap}.msg-bubble pre{max-width:100%;overflow-x:auto}.msg-bubble code{overflow-wrap:anywhere}.agent-steps,.agent-steps pre{max-width:100%;overflow-x:auto}.chat-head-azioni{display:flex;gap:6px}.chat-threads-btn{white-space:nowrap}.cc-etichetta{font-size:var(--fs-1);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.4px;margin-right:5px}.chat-barra-invio{display:flex;align-items:center;gap:10px;padding:8px 18px;border-top:1px solid var(--border);min-width:0}.model-select{flex:0 0 auto;max-width:118px;font-size:var(--fs-1);color:var(--muted);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-full);padding:3px 8px}.chat-barra-invio .ctx-bar{flex:1;min-width:0;margin:0}.md-azioni{display:flex;justify-content:flex-end;margin-bottom:14px}.rp-nostri,.rp-sezione{margin-bottom:22px}.rp-nostri h3,.rp-sezione h3{display:flex;align-items:center;gap:6px;font-size:var(--fs-3);font-weight:var(--fw-medium);text-transform:uppercase;letter-spacing:.4px;color:var(--muted);margin-bottom:10px}.rp-vuoto{color:var(--muted);font-style:italic}.rp-errore h3{color:var(--danger)}.rp-errore-testo{font-size:var(--fs-3);line-height:1.5;color:var(--danger);background:color-mix(in srgb,var(--danger) 7%,var(--surface));border:1px solid color-mix(in srgb,var(--danger) 25%,var(--border));border-radius:var(--radius);padding:10px 12px;margin-bottom:8px;white-space:pre-wrap;word-break:break-word}.rp-lettura{border-top:1px solid var(--border);margin-top:26px;padding-top:20px}.rp-lettura-riga{font-size:var(--fs-3);line-height:1.5;margin-bottom:8px}.rp-avvertenza{color:var(--warn-text)}.rp-lettura-scroll{margin-bottom:10px;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.rp-lettura-tab{font-size:var(--fs-3);margin-bottom:0}.rp-lettura-tab th:last-child,.rp-lettura-tab td:last-child{min-width:140px}.rp-lettura-tab th:last-child{white-space:nowrap}.rp-lettura-tab th .info-hint{margin-left:4px;vertical-align:middle}.rp-lettura-tab td:nth-child(3){max-width:320px;word-break:break-word}.rp-lettura-tab code{font-size:var(--fs-2)}.rp-mappata{color:var(--ok-text)}.rp-lettura-oltre{font-size:var(--fs-3);color:var(--muted)}.rp-lettura-oltre summary{cursor:pointer}.rp-lettura-oltre p{margin-top:6px;word-break:break-word}.info-wrap{position:relative;display:inline-flex}.fi-info{display:inline-flex;align-items:center;justify-content:center}.info-hint{background:none;border:none;padding:0;font:inherit;cursor:help;color:var(--accent);font-size:var(--fs-4);line-height:1}.info-hint:hover{opacity:.7}.info-pop{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);z-index:var(--z-tooltip);width:max-content;max-width:min(340px,70vw);background:var(--text);color:#fff;border-radius:var(--radius);padding:10px 12px;font-size:var(--fs-2);font-weight:var(--fw-normal);line-height:1.5;text-transform:none;letter-spacing:normal;white-space:normal;box-shadow:0 6px 20px #0f141e38;opacity:0;visibility:hidden;transition:opacity .12s;pointer-events:none}.info-wrap:hover .info-pop,.info-wrap.aperto .info-pop,.info-hint:focus-visible+.info-pop,.info-wrap:focus-within .info-pop{opacity:1;visibility:visible}.info-pop.a-destra{left:auto;right:0;transform:none;max-width:min(260px,70vw)}.info-pop.a-destra:before{left:auto;right:8px;transform:none}.info-pop.a-sinistra{left:0;transform:none;max-width:min(300px,70vw)}.info-pop.a-sinistra:before{left:20px;transform:none}.info-pop:before{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-bottom-color:var(--text)}.msg-bubble ul,.msg-bubble ol,.md-body ul,.md-body ol{padding-left:1.5em;margin:7px 0}.msg-bubble li>ul,.msg-bubble li>ol,.md-body li>ul,.md-body li>ol{margin:4px 0}.msg-bubble li,.md-body li{margin:3px 0}.msg-bubble ol,.md-body ol{list-style-position:outside}.msg-bubble p+ul,.msg-bubble p+ol{margin-top:5px}.graph-table-wrap tr.riga-nodo{cursor:pointer}.graph-table-wrap tr.riga-nodo:hover td{background:var(--surface-2)}.graph-table-wrap tr.riga-nodo.scelta td{background:color-mix(in srgb,var(--accent) 10%,var(--surface));box-shadow:inset 3px 0 0 var(--accent)}.gp-azioni{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.gp-azioni .btn-secondary{font-size:var(--fs-2);padding:4px 9px}.fascia-demo{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:16px;padding:9px 12px;border:1px solid color-mix(in srgb,var(--warn) 45%,var(--warn-bg));border-radius:var(--radius);background:var(--warn-bg);font-size:var(--fs-3);line-height:1.5;color:var(--warn-text)}.fascia-demo strong{font-size:var(--fs-1);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.5px;color:var(--warn-text);white-space:nowrap}.audit-periodo{display:flex;align-items:center;gap:9px;margin-bottom:12px}.audit-periodo label{font-size:var(--fs-2);font-weight:var(--fw-medium);color:var(--muted)}.scope-nota{background:color-mix(in srgb,var(--accent) 6%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));border-radius:var(--radius-sm);padding:8px 11px;margin-top:-4px}.tour-riavvia{position:fixed;left:24px;bottom:20px;z-index:calc(var(--z-tour) - 1);background:var(--accent);color:#fff;border:none;border-radius:var(--radius-full);padding:10px 16px;font-size:var(--fs-3);font-weight:var(--fw-medium);cursor:pointer;box-shadow:0 4px 14px #2563eb59}.tour-riavvia:hover{filter:brightness(1.08)}.section-head{margin-bottom:12px}.section-head:not(:first-child){margin-top:36px}.sh-riga{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.sh-titolo{font-size:var(--fs-5);font-weight:var(--fw-semibold)}.sh-count{font-size:var(--fs-2);color:var(--muted);font-variant-numeric:tabular-nums}.sh-azioni{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sh-desc{color:var(--muted);font-size:var(--fs-3);margin-top:4px;max-width:88ch;line-height:1.5}.stato-vuoto{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:26px 22px;text-align:center}.sv-titolo{font-size:var(--fs-4);font-weight:var(--fw-semibold)}.sv-testo{font-size:var(--fs-3);color:var(--muted);margin-top:4px;line-height:1.5}.sv-azione{margin-top:12px;display:flex;justify-content:center;gap:8px}.stato-errore{display:flex;gap:11px;align-items:flex-start;border:1px solid color-mix(in srgb,var(--danger) 35%,var(--border));border-radius:var(--radius);background:var(--surface);padding:14px 16px;margin-bottom:14px}.se-tag{flex:none;font-size:var(--fs-1);font-weight:var(--fw-semibold);letter-spacing:.04em;text-transform:uppercase;padding:2px 8px;border-radius:var(--radius-sm);color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--danger) 30%,var(--surface))}.se-corpo{flex:1;min-width:0}.se-titolo{font-size:var(--fs-4);font-weight:var(--fw-semibold)}.se-testo{font-size:var(--fs-3);color:var(--muted);margin-top:3px;line-height:1.5}.se-riprova{margin-top:10px}.se-dettaglio{margin-top:9px;font-size:var(--fs-2);color:var(--muted)}.se-dettaglio summary{cursor:pointer}.se-dettaglio code{display:block;margin-top:5px;padding:7px 9px;background:var(--surface-2);border-radius:var(--radius-sm);font-size:var(--fs-2);word-break:break-word;white-space:pre-wrap}.setting-list{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:0 18px}.setting-list+.proj-toolbar{margin-top:24px}.setting-row{display:flex;gap:20px;align-items:flex-start;padding:18px 0}.setting-row+.setting-row{border-top:1px solid var(--border)}.sr-testo{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.sr-label{font-size:var(--fs-4);font-weight:var(--fw-semibold)}.sr-desc{font-size:var(--fs-3);color:var(--muted);line-height:1.5}.sr-controllo{flex:none;display:flex;align-items:center;gap:8px;min-height:24px;max-width:60%}.sr-controllo .sr-valore{font-size:var(--fs-4)}.sr-controllo .quota-meter{min-width:200px}.model-status-list{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.model-status-item{display:flex;align-items:center;gap:8px;font-size:var(--fs-3)}.model-status-dot{width:9px;height:9px;border-radius:var(--radius-full);background:var(--muted);flex-shrink:0}.model-status-dot.ok{background:var(--ok)}.model-status-dot.down{background:var(--danger)}.model-status-label{min-width:140px}.model-status-latency{color:var(--muted)}.switch{display:inline-flex;align-items:center;gap:9px;cursor:pointer;font-size:var(--fs-4)}.switch.disabilitato{cursor:not-allowed;opacity:.55}.switch input{position:absolute;opacity:0;width:0;height:0}.sw-pista{position:relative;flex:none;width:38px;height:22px;border-radius:var(--radius-full);background:color-mix(in srgb,var(--muted) 40%,var(--surface-2));transition:background .15s}.sw-pomello{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--surface);box-shadow:0 1px 2px #0f141e40;transition:transform .15s}.switch input:checked+.sw-pista{background:var(--accent)}.switch input:checked+.sw-pista .sw-pomello{transform:translate(16px)}.switch input:focus-visible+.sw-pista{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:2px}@media(prefers-reduced-motion:reduce){.sw-pista,.sw-pomello{transition:none}}.skeleton-tabella{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}.sk-riga{display:flex;gap:20px;padding:12px 14px;align-items:center}.sk-riga+.sk-riga{border-top:1px solid var(--border)}.sk-testa{background:var(--surface-2)}.sk-cella{height:9px;border-radius:var(--radius-full);background:color-mix(in srgb,var(--muted) 18%,var(--surface-2));flex:1}.sk-cella:first-child{flex:2.4}.sk-cella:last-child{flex:.7}.sk-testa .sk-cella{background:color-mix(in srgb,var(--muted) 28%,var(--surface-2))}.skeleton-tabella{animation:sk-pulse 1.5s ease-in-out infinite}@keyframes sk-pulse{0%,to{opacity:1}50%{opacity:.62}}@media(prefers-reduced-motion:reduce){.skeleton-tabella{animation:none}}.dialog-testo{font-size:var(--fs-4);line-height:1.55;color:var(--text)}.dialog-testo p+p{margin-top:9px}.dialog-testo strong{font-weight:var(--fw-medium)}.dialog-testo .nota{color:var(--muted);font-size:var(--fs-3)}.form-stretto{max-width:380px;display:flex;flex-direction:column;gap:12px}.form-stretto .campo{display:flex;flex-direction:column;gap:4px}.form-stretto label{font-size:var(--fs-2);font-weight:var(--fw-medium);color:var(--muted)}.form-stretto input{width:100%;padding:9px 11px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--fs-4);font-family:inherit;background:var(--surface);color:var(--text)}.form-stretto input:focus-visible{outline:none;border-color:var(--accent)}.campo-nota{font-size:var(--fs-2);color:var(--muted)}.form-azioni{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:2px}.carica-altre{display:flex;justify-content:center;margin:12px 0 4px}.center-tabs-anteprima{display:flex;align-items:center;gap:4px}.center-tabs-anteprima:before{content:"";width:1px;height:20px;background:var(--border);margin:0 6px}.btn-ghost{background:none;border:1px solid transparent;border-radius:var(--radius-sm);padding:6px 10px;font-size:var(--fs-3);font-family:inherit;color:var(--muted);cursor:pointer}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.btn-ghost.btn-danger{color:var(--danger)}.btn-ghost.btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 8%,var(--surface));border-color:transparent}.btn-ghost:disabled{opacity:.45;cursor:not-allowed}.btn-ghost:disabled:hover{background:none}.actions-menu{display:inline-block}.am-toggle{min-width:32px;padding:6px 9px;line-height:1}.am-panel{position:fixed;z-index:var(--z-dropdown);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 6px 20px #0f141e2e;display:flex;flex-direction:column;min-width:160px;padding:4px}.am-item{background:none;border:none;border-radius:var(--radius-sm);text-align:left;padding:7px 10px;font-size:var(--fs-3);font-family:inherit;color:var(--text);cursor:pointer;white-space:nowrap}.am-item:hover:not(:disabled){background:var(--surface-2)}.am-item:disabled{opacity:.45;cursor:not-allowed}.am-item.am-danger{color:var(--danger)}.am-item.am-danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 8%,var(--surface))}.dim-row.liv-ok .dim-bar span{background:var(--ok)}.dim-row.liv-warn .dim-bar span{background:var(--warn)}.dim-row.liv-bad .dim-bar span{background:var(--danger)}.dim-row.liv-warn .dim-pct{color:var(--warn-text)}.dim-row.liv-bad .dim-pct{color:var(--danger)}.riepilogo-consumi{display:flex;flex-wrap:wrap;align-items:flex-end;gap:24px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px 22px;margin-bottom:30px}.rc-etichetta{font-size:var(--fs-1);font-weight:var(--fw-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.rc-cifra{font-size:var(--fs-8);font-weight:var(--fw-bold);letter-spacing:-.02em;line-height:1.1;font-variant-numeric:tabular-nums}.rc-nota{font-size:var(--fs-2);color:var(--muted);margin-top:2px;font-variant-numeric:tabular-nums}.rc-sostegno{flex:0 1 auto;display:grid;grid-template-columns:repeat(3,minmax(88px,auto));gap:28px;border-left:1px solid var(--border);padding-left:22px}.rc-val{font-size:var(--fs-5);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}.rc-lab{font-size:var(--fs-2);color:var(--muted)}@media(max-width:700px){.rc-sostegno{border-left:none;padding-left:0}}.periodi{display:inline-flex;gap:4px;margin-right:6px}.periodi .btn-secondary{padding:6px 11px;font-size:var(--fs-2)}.periodi .btn-secondary.on{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:var(--fw-medium)}.periodi .btn-secondary.on:hover{background:color-mix(in srgb,var(--accent) 88%,#000);color:#fff}.proj-layout{display:grid;gap:20px;align-items:start}@media(min-width:1000px){.proj-layout.con-dettaglio{grid-template-columns:minmax(220px,300px) minmax(0,1fr)}.proj-layout.con-dettaglio .proj-list{max-height:calc(100vh - 320px);overflow-y:auto}}.proj-layout .proj-list{margin-bottom:0}.proj-layout .proj-detail{min-width:0}.pannello{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin-bottom:30px}.pannello-testa{padding:14px 18px;border-bottom:1px solid var(--border);background:var(--surface-2)}.pt-riga{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.pt-filtri{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:var(--fs-3)}.pt-filtri label{color:var(--muted)}.pt-filtri select{padding:5px 26px 5px 9px;font-size:var(--fs-2)}.pt-filtri .btn-secondary{padding:5px 11px;font-size:var(--fs-2)}.pannello-testa .sh-desc{margin-top:5px}.pannello .usage-table{border:none;border-radius:0;margin-bottom:0}.pannello .usage-table th{background:var(--surface)}.pannello-piede{padding:10px;border-top:1px solid var(--border);display:flex;justify-content:center}.pannello .stato-vuoto,.pannello .skeleton-tabella{border:none;border-radius:0}.pannello .audit-periodo{margin:0}.pager{display:flex;gap:6px;align-items:center}.pager .btn-secondary{padding:4px 10px;font-size:var(--fs-2);min-width:30px}.pager .pager-attuale{background:var(--accent);color:#fff;border-color:var(--accent)}.striscia-stato{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px;margin-bottom:30px;font-size:var(--fs-3)}.ss-punto{width:7px;height:7px;border-radius:50%;flex:none;background:var(--ok)}.striscia-stato.attenzione{border-color:color-mix(in srgb,var(--warn) 45%,var(--border))}.striscia-stato.attenzione .ss-punto{background:var(--warn)}.striscia-stato.critico{border-color:color-mix(in srgb,var(--danger) 45%,var(--border))}.striscia-stato.critico .ss-punto{background:var(--danger)}.ss-nota{color:var(--muted)}.striscia-stato.critico .ss-nota{color:var(--danger)}.ss-bar{flex:1;min-width:90px;max-width:180px;height:4px;border-radius:var(--radius-full);background:color-mix(in srgb,var(--muted) 22%,var(--surface-2));overflow:hidden;margin-left:auto}.ss-bar i{display:block;height:100%;background:var(--muted)}.striscia-stato.attenzione .ss-bar i{background:var(--warn)}.striscia-stato.critico .ss-bar i{background:var(--danger)}.ss-pct{font-variant-numeric:tabular-nums;color:var(--muted);font-size:var(--fs-2);white-space:nowrap}.pm-page{min-width:0}.pm-alert-azioni{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:9px}.pm-azioni{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:16px;position:sticky;bottom:0;z-index:var(--z-raised);padding:12px 0;background:var(--surface);border-top:1px solid var(--border)}.pm-pset-bar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:12px}.pm-pset-azioni{display:flex;gap:7px}.pm-src{display:flex;flex-direction:column;gap:2px;min-width:0}.pm-key{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--fs-3);font-weight:var(--fw-medium)}.pm-pset,.pm-ex{font-size:var(--fs-2);color:var(--muted)}.pm-proposta{align-self:flex-start;font-size:var(--fs-2);color:var(--accent);border:1px solid var(--border);border-radius:var(--radius-full);padding:0 7px;cursor:help}.qs-box{margin-top:18px;border-top:1px solid var(--border);padding-top:12px}.qs-box>summary{cursor:pointer;font-weight:var(--fw-medium)}.qs-rows{display:flex;flex-direction:column;gap:6px;margin:10px 0}.qs-row{display:grid;grid-template-columns:1fr 84px auto;align-items:center;gap:10px}.qs-label{font-size:var(--fs-3)}.qs-default{font-size:var(--fs-2);color:var(--muted)}.qs-azioni{display:flex;gap:8px;align-items:center}.pm-ctl{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.seg.mini button{padding:3px 9px;font-size:var(--fs-2)}input.pm-scala{width:84px;padding:6px 8px;font-size:var(--fs-3)}.pm-cella-ctl{min-width:360px}input.pm-desc{width:100%;max-width:420px;margin-top:6px;padding:6px 9px;font-size:var(--fs-3)}.pm-valori{margin-top:7px;font-size:var(--fs-2)}.pm-valori>summary{cursor:pointer;color:var(--muted)}.pm-valori-righe{display:flex;flex-direction:column;gap:6px;margin-top:7px}.pm-valore-riga{display:grid;grid-template-columns:1fr auto 1fr auto;gap:6px;align-items:center}.pm-valore-riga input[type=text]{padding:5px 8px;font-size:var(--fs-3);min-width:0}.pm-origin{font-size:var(--fs-1);font-weight:var(--fw-semibold);border-radius:var(--radius-full);padding:2px 9px;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.pm-origin.seme{color:var(--muted);background:var(--surface-2);border:1px solid var(--border)}.pm-origin.utente{color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 35%,var(--surface))}.pm-origin.vuota{color:var(--warn-text);background:color-mix(in srgb,var(--warn) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--warn) 35%,var(--surface))}.pm-riga-da-decidere{background:color-mix(in srgb,var(--warn) 5%,var(--surface))}.pm-riga-evidenziata{background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.rp-motivi{margin:7px 0 0;padding-left:17px;display:grid;gap:3px}.rp-mappa-questa{padding:2px 8px}.rl-altrove{margin-left:auto;font-size:var(--fs-3);color:var(--muted)}.rl-azioni,.rl-modificata{white-space:nowrap}.rl-spenta{background:var(--surface-2);color:var(--muted)}.st-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px;background:var(--muted)}.st-dot.off{background:color-mix(in srgb,var(--danger) 55%,var(--surface))}input.rl-motivo{width:100%;margin-top:10px}.finding-badge.sev-critical{color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,var(--surface))}.finding-badge.sev-warning{color:var(--warn-text);background:color-mix(in srgb,var(--warn) 14%,var(--surface))}.finding-badge.sev-info{color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--surface))}.rl-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:22px;align-items:start}@media(max-width:1100px){.rl-grid{grid-template-columns:minmax(0,1fr)}}.rl-stack{display:flex;flex-direction:column;gap:22px;min-width:0}.rl-campi{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px}.rl-code{grid-column:1}.rl-largo{grid-column:1 / -1}.rl-meta{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:12px}.fld{display:flex;flex-direction:column;gap:5px;min-width:0}.fld>label{font-size:var(--fs-2);font-weight:var(--fw-medium);color:var(--muted)}.fld>input,.fld>select,.fld>textarea{width:100%}textarea.cypher{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--fs-3);line-height:1.5;background:var(--surface-2);resize:vertical}.val-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px}.val-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:12px}.val-head select{min-width:140px;max-width:200px}.val-nums{display:flex;gap:18px;margin-bottom:10px}.val-num{display:flex;flex-direction:column}.val-num>b{font-size:var(--fs-7);font-weight:var(--fw-bold)}.val-num>b.bad{color:var(--danger)}.val-num>span{font-size:var(--fs-2);color:var(--muted)}.rl-provata{color:var(--ok-text)}.assist{background:color-mix(in srgb,var(--accent) 5%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 25%,var(--surface));border-radius:var(--radius);padding:14px;margin-bottom:8px}.assist-head{font-weight:var(--fw-semibold);font-size:var(--fs-4);margin-bottom:9px}.assist>textarea{width:100%}.assist-foot{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:9px;font-size:var(--fs-2);color:var(--muted)}.par-row{display:grid;grid-template-columns:minmax(140px,240px) minmax(0,1fr) auto;gap:9px 9px;align-items:center;margin-bottom:9px}.par-name{display:flex;flex-direction:column;font-size:var(--fs-3);min-width:0}.par-name>b{font-weight:var(--fw-medium);color:var(--text)}.par-name>code{color:var(--accent);font-size:var(--fs-2)}.par-hint{grid-column:1 / -1;font-size:var(--fs-2);color:var(--muted);margin-top:-4px}.tpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}.tpl{display:flex;flex-direction:column;gap:4px;text-align:left;cursor:pointer;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;font-family:inherit;color:var(--text)}.tpl:hover{border-color:var(--accent)}.tpl>b{font-size:var(--fs-4);font-weight:var(--fw-semibold)}.tpl>span{font-size:var(--fs-2);color:var(--muted)}.tpl>code{font-size:var(--fs-1);color:var(--muted)}.rl-tpl-vuota{border-style:dashed}.rl-xml{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--fs-2);line-height:1.5;margin-top:9px;padding:10px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);max-height:340px;overflow:auto;white-space:pre-wrap;word-break:break-word}.cmp-3d{margin-left:6px;padding:1px 8px}.rl-regola-testa{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}.rl-rigenera{margin-bottom:12px;font-size:var(--fs-2)}.rl-rigenera>summary{cursor:pointer;color:var(--accent)}.rl-rigenera>textarea{width:100%;margin-top:8px}.rl-ids-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.rl-ids-esito{margin-bottom:8px}
