.layout{max-width:1200px;margin:0 auto;padding:2rem;display:flex;flex-direction:column;gap:1.5rem}header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}header h1{margin:0 0 .25rem}header p.muted{margin:0 0 1rem}.header-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.75rem}.user-info{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.benchmark-btn{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;padding:.6rem 1.2rem;font-size:.9rem;border-radius:8px;display:inline-flex;align-items:center;gap:.5rem;box-shadow:0 2px 8px #6366f14d;transition:transform .15s,box-shadow .15s;margin-top:.5rem}.benchmark-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6366f166}.card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 10px 25px #0f172a14}.login-card{max-width:420px;margin:4rem auto}label{font-weight:600;font-size:.85rem;display:flex;flex-direction:column;gap:.35rem;color:#111827}input,select{padding:.65rem .75rem;border-radius:8px;border:1px solid #d1d5db;font-size:1rem}button{border:none;border-radius:8px;padding:.65rem 1.5rem;font-weight:600;cursor:pointer;background-color:#111827;color:#fff}button.secondary{background-color:transparent;border:1px solid #e5e7eb;color:#111827}button:disabled{opacity:.5;cursor:not-allowed}.filters{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.filters .actions{display:flex;align-items:flex-end;justify-content:flex-end}.table-wrapper{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:700px}table th,table td{text-align:left;padding:.75rem;border-bottom:1px solid #f3f4f6}tr:nth-child(2n){background:#f9fafb}.muted{color:#6b7280}.error{color:#b91c1c}.results-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.pagination{display:flex;gap:.75rem;align-items:center}.pagination button{padding:.4rem 1rem}.comparison-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.comparison-inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:1rem}.chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.chart-card{border:1px solid #e5e7eb;border-radius:12px;padding:1rem}.bars{display:flex;flex-direction:column;gap:.75rem}.bar-row{display:grid;grid-template-columns:120px 1fr auto;align-items:center;gap:.75rem;font-size:.9rem}.bar-label{font-weight:600}.bar-track{background:#f3f4f6;border-radius:999px;height:12px;position:relative;overflow:hidden}.bar-fill{background:linear-gradient(90deg,#6366f1,#0ea5e9);height:100%}.bar-value{font-variant-numeric:tabular-nums;display:flex;flex-direction:column;gap:.15rem}.bar-range{font-size:.75rem;color:#6b7280}.bar-count{font-weight:400;font-size:.75rem;color:#6b7280;margin-left:.25rem}.bundle-row{display:flex;flex-direction:column;gap:.5rem;margin:1rem 0}.bundle-input input{width:100%}.bundle-actions{display:flex;gap:.75rem;flex-wrap:wrap}.bundle-list{display:flex;flex-direction:column;gap:.4rem}.bundle-chips{display:flex;flex-wrap:wrap;gap:.5rem}.bundle-chip{display:flex;align-items:center;background:#f3f4f6;border-radius:999px;padding:.15rem .35rem}.bundle-chip button{background:transparent;border:none;padding:.25rem .65rem;color:#111827}.bundle-remove{padding:0 .4rem;cursor:pointer;color:#6b7280}.bundle-remove:hover{color:#b91c1c}.autocomplete-wrapper{position:relative;width:100%}.autocomplete-wrapper input{width:100%}.autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #d1d5db;border-radius:8px;margin-top:4px;max-height:220px;overflow-y:auto;z-index:100;box-shadow:0 10px 25px #0f172a26;list-style:none;padding:.25rem 0}.autocomplete-dropdown li{padding:.6rem .75rem;cursor:pointer;font-size:.95rem}.autocomplete-dropdown li.highlighted{background:#e5e7eb}.label-with-info{display:flex;align-items:center;gap:.4rem}.info-tooltip-wrapper{position:relative;display:inline-flex;align-items:center}.info-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;font-size:.7rem;color:#6b7280;cursor:help;font-style:normal}.info-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:#1e293b;color:#fff;padding:.6rem .85rem;border-radius:8px;font-size:.8rem;font-weight:400;line-height:1.4;white-space:normal;width:220px;max-width:90vw;z-index:200;box-shadow:0 4px 12px #0003;text-align:left}.info-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#1e293b}.filter-section{grid-column:1 / -1;display:flex;flex-direction:column;gap:.5rem}.filter-section .label-text{font-weight:600;font-size:.85rem;color:#111827}.filter-chips{display:flex;flex-wrap:wrap;gap:.4rem}.filter-chip{padding:.4rem .75rem;font-size:.85rem;border:1px solid #d1d5db;border-radius:999px;background:#fff;color:#374151;cursor:pointer;transition:all .15s;font-weight:500}.filter-chip:hover{border-color:#6366f1;background:#f5f3ff}.filter-chip.selected{background:#6366f1;border-color:#6366f1;color:#fff}.benchmark-module{max-width:1400px;margin:0 auto;padding:2rem;width:100%;box-sizing:border-box;overflow-x:hidden}@media(max-width:768px){.benchmark-module{padding:1rem}}@media(max-width:1000px){.benchmark-main{overflow-x:hidden;width:100%}}.benchmark-header{display:flex;align-items:flex-start;gap:1.5rem;margin-bottom:1.5rem}@media(max-width:768px){.benchmark-header{flex-direction:column;gap:1rem}.benchmark-header h1{font-size:1.5rem}.back-btn{align-self:flex-start}}.benchmark-header h1{margin:0 0 .25rem}.back-btn{flex-shrink:0;padding:.5rem 1rem}.benchmark-layout{display:grid;grid-template-columns:380px 1fr;gap:1.5rem;align-items:start}@media(max-width:1000px){.benchmark-layout{grid-template-columns:1fr;gap:1rem}}.benchmark-sidebar{position:static;max-height:none;overflow:visible}.sidebar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.sidebar-header h3{margin:0;font-size:1rem}.add-group-btn{padding:.4rem .8rem;font-size:.85rem;background:#f3f4f6;color:#374151;border:1px solid #e5e7eb}.add-group-btn:hover{background:#e5e7eb}.groups-container{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.group-card{border:2px solid #e5e7eb;border-radius:12px;padding:1rem;background:#fafafa;width:100%;box-sizing:border-box}@media(max-width:768px){.group-card{padding:.75rem}}.group-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.group-color-picker-wrapper{position:relative;display:flex;align-items:center}.group-color-dot{width:20px;height:20px;border-radius:50%;flex-shrink:0;cursor:pointer;border:2px solid #fff;box-shadow:0 1px 3px #0003;transition:transform .15s}.group-color-dot:hover{transform:scale(1.1)}.color-picker-dropdown{position:absolute;top:100%;left:0;margin-top:.5rem;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:.5rem;box-shadow:0 4px 12px #00000026;z-index:100;display:none}.group-color-picker-wrapper:hover .color-picker-dropdown,.color-picker-dropdown:hover{display:block}@media(max-width:768px){.group-color-picker-wrapper{position:relative}.color-picker-dropdown{position:fixed;top:auto;left:50%;transform:translate(-50%);margin-top:.5rem;z-index:1000}.group-color-picker-wrapper.active .color-picker-dropdown{display:block}}.color-options{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.color-option{width:32px;height:32px;border-radius:6px;border:2px solid transparent;cursor:pointer;transition:all .15s;padding:0}.color-option:hover{transform:scale(1.1);border-color:#1e293b}.color-option.selected{border-color:#1e293b;box-shadow:0 0 0 2px #1e293b33}.group-name-input{flex:1;border:none;background:transparent;font-weight:600;font-size:.95rem;padding:.25rem;color:#111827}.group-name-input:focus{outline:none;background:#fff;border-radius:4px}.remove-group-btn{background:transparent;border:none;color:#9ca3af;font-size:1.25rem;padding:.15rem .4rem;cursor:pointer;border-radius:4px;line-height:1}.remove-group-btn:hover{background:#fee2e2;color:#b91c1c}.group-firms{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;min-height:32px}.empty-firms{font-size:.85rem;margin:0;font-style:italic}.firm-chip{display:flex;align-items:center;gap:.25rem;background:#fff;border:1px solid #d1d5db;border-radius:999px;padding:.3rem .5rem .3rem .75rem;font-size:.85rem}.firm-chip span{max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.remove-firm-btn{background:transparent;border:none;color:#9ca3af;padding:0 .25rem;font-size:1rem;cursor:pointer;line-height:1}.remove-firm-btn:hover{color:#b91c1c}.autocomplete-wrapper{position:relative}.autocomplete-wrapper input{width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem}.autocomplete-wrapper input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;margin:0;padding:0;list-style:none;background:#fff;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 4px 12px #0000001a;max-height:200px;overflow-y:auto;z-index:100}.autocomplete-dropdown li{padding:.6rem .75rem;cursor:pointer;font-size:.9rem;border-bottom:1px solid #f3f4f6}.autocomplete-dropdown li:last-child{border-bottom:none}.autocomplete-dropdown li:hover,.autocomplete-dropdown li.highlighted{background:#f3f4f6}.role-selection{border-top:1px solid #e5e7eb;padding-top:1rem;margin-bottom:1rem}.role-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.role-header h4{margin:0;font-size:.9rem;color:#374151}.role-header .required{color:#dc2626;font-weight:400}.role-count{font-size:.8rem;color:#6b7280}.role-chips{display:flex;flex-wrap:wrap;gap:.4rem}.role-chip{padding:.4rem .85rem;font-size:.85rem;border:1px solid #d1d5db;border-radius:999px;background:#fff;color:#374151;cursor:pointer;transition:all .15s;font-weight:500}.role-chip:hover{border-color:#10b981;background:#ecfdf5}.role-chip.selected{background:#10b981;border-color:#10b981;color:#fff}.year-selection{border-top:1px solid #e5e7eb;padding-top:1rem;margin-bottom:1rem}.year-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.year-header h4{margin:0;font-size:.9rem;color:#374151}.year-header .required{color:#dc2626;font-weight:400}.year-count{font-size:.8rem;color:#6b7280}.year-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem}.year-chip{padding:.35rem .7rem;font-size:.85rem;border:1px solid #d1d5db;border-radius:999px;background:#fff;color:#374151;cursor:pointer;transition:all .15s}.year-chip:hover{border-color:#6366f1;background:#f5f3ff}.year-chip.selected{background:#6366f1;border-color:#6366f1;color:#fff}.year-display-mode{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:#f9fafb;border-radius:8px}.mode-label{font-size:.8rem;color:#6b7280}.mode-toggle{display:flex;background:#e5e7eb;border-radius:6px;padding:2px}.mode-toggle button{padding:.35rem .75rem;font-size:.8rem;border:none;background:transparent;color:#6b7280;border-radius:4px;cursor:pointer}.mode-toggle button.active{background:#fff;color:#111827;box-shadow:0 1px 2px #0000001a}.chart-customization{border-top:1px solid #e5e7eb;padding-top:1rem;margin-bottom:1rem}.chart-customization h4{margin:0 0 .75rem;font-size:.9rem;color:#374151}.customization-groups{display:flex;flex-direction:column;gap:.75rem}.customization-group-item{padding:.75rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px}.customization-group-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.customization-group-name{font-size:.85rem;font-weight:600;color:#374151}.group-color-dot-display{width:20px;height:20px;border-radius:50%;border:2px solid #fff;box-shadow:0 1px 3px #0003}.color-picker-inline{margin-top:.5rem}.color-options-inline{display:grid;grid-template-columns:repeat(6,1fr);gap:.4rem}.color-option-inline{width:28px;height:28px;border-radius:6px;border:2px solid transparent;cursor:pointer;transition:all .15s;padding:0}.color-option-inline:hover{transform:scale(1.1);border-color:#1e293b}.color-option-inline.selected{border-color:#1e293b;box-shadow:0 0 0 2px #1e293b33}@media(max-width:768px){.color-options-inline{grid-template-columns:repeat(3,1fr)}}.quick-filters{border-top:1px solid #e5e7eb;padding-top:1rem;margin-bottom:1rem}.quick-filters h4{margin:0 0 .75rem;font-size:.9rem;color:#374151}.quick-filters label{margin-bottom:.75rem}.quick-filters input{padding:.5rem .6rem;font-size:.9rem}.templates-section{border-top:1px solid #e5e7eb;padding-top:1rem;margin-bottom:1rem}@media(max-width:768px){.templates-section{padding-top:.75rem}}.templates-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.templates-header h4{margin:0;font-size:.9rem;color:#374151}.save-template-btn{padding:.4rem .8rem;font-size:.85rem;background:#f3f4f6;color:#374151;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;transition:all .15s}.save-template-btn:hover{background:#e5e7eb}.templates-list{display:flex;flex-direction:column;gap:.5rem;max-height:200px;overflow-y:auto}.template-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;font-size:.85rem}.template-info{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.template-badge{font-size:.7rem;background:#dbeafe;color:#1e40af;padding:.15rem .4rem;border-radius:4px;font-weight:500}.template-type-badge{font-size:.7rem;background:#fef3c7;color:#92400e;padding:.15rem .4rem;border-radius:4px;font-weight:500;margin-left:.25rem}.template-actions{display:flex;gap:.25rem}.template-load-btn,.template-delete-btn{padding:.25rem .5rem;font-size:.75rem;border:1px solid #e5e7eb;border-radius:4px;cursor:pointer;transition:all .15s}.template-load-btn{background:#f3f4f6;color:#374151}.template-load-btn:hover{background:#e5e7eb}.template-delete-btn{background:#fee2e2;color:#991b1b;border-color:#fecaca}.template-delete-btn:hover{background:#fecaca}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 10px 25px #0003;min-width:400px;max-width:90vw}.modal-content h3{margin:0 0 1rem;font-size:1.25rem}.modal-content label{display:block;margin-bottom:.5rem;font-weight:500;font-size:.9rem}.modal-content input{width:100%;padding:.5rem;border:1px solid #e5e7eb;border-radius:6px;font-size:.9rem;margin-bottom:1rem;box-sizing:border-box}.save-type-toggle{display:flex;gap:.5rem;margin-top:.5rem}.save-type-toggle button{flex:1;padding:.6rem;border:2px solid #e5e7eb;border-radius:6px;background:#f9fafb;color:#374151;font-size:.9rem;cursor:pointer;transition:all .15s}.save-type-toggle button:hover{background:#f3f4f6;border-color:#d1d5db}.save-type-toggle button.active{background:#6366f1;color:#fff;border-color:#6366f1}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem}.modal-actions button{padding:.5rem 1rem;border-radius:6px;font-size:.9rem;cursor:pointer;border:1px solid #e5e7eb}.modal-actions button:first-child{background:#f3f4f6;color:#374151}.modal-actions button:last-child{background:#6366f1;color:#fff;border-color:#6366f1}.modal-actions button:last-child:hover{background:#4f46e5}.modal-actions button:last-child:disabled{background:#d1d5db;border-color:#d1d5db;cursor:not-allowed}.benchmark-actions{border-top:1px solid #e5e7eb;padding-top:1rem}.benchmark-actions button{width:100%;padding:.75rem;font-size:1rem}.benchmark-main{min-height:400px}.chart-controls{display:flex;justify-content:flex-end;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #f3f4f6;flex-wrap:wrap;gap:.5rem}@media(max-width:768px){.chart-controls{justify-content:center}}.view-toggle{display:flex;background:#f3f4f6;border-radius:8px;padding:4px}.view-toggle button{background:transparent;border:none;padding:.5rem 1rem;font-size:.85rem;font-weight:500;color:#6b7280;border-radius:6px;cursor:pointer}.view-toggle button.active{background:#fff;color:#111827;box-shadow:0 1px 3px #0000001a}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;text-align:center;gap:.5rem}.empty-icon{font-size:3rem;margin-bottom:.5rem}.empty-state p{margin:0}.loading-text{text-align:center;padding:3rem}.benchmark-charts{display:flex;flex-direction:column;gap:2rem}.benchmark-chart-card{border:none;border-radius:16px;padding:1.5rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);box-shadow:0 1px 3px #0000000d;position:relative;overflow:visible;width:100%;box-sizing:border-box}@media(max-width:768px){.benchmark-chart-card{padding:1rem;border-radius:12px}}.chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;position:relative;z-index:10}.benchmark-chart-card h3{margin:0;font-size:1.15rem;color:#0f172a;font-weight:700;display:flex;align-items:center;gap:.5rem}.benchmark-chart-card h3:before{content:"";width:4px;height:1.15rem;background:linear-gradient(180deg,#6366f1,#8b5cf6);border-radius:2px}.download-chart-btn{background:#f3f4f6;border:1px solid #e5e7eb;color:#374151;padding:.5rem 1rem;border-radius:8px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:.4rem;position:relative;z-index:20;white-space:nowrap}.download-chart-btn:hover{background:#e5e7eb;border-color:#d1d5db;color:#111827}.benchmark-bars{display:flex;flex-direction:column;gap:.85rem}.benchmark-bar-row{display:grid;grid-template-columns:180px 1fr 110px;gap:1rem;align-items:center;padding:.5rem .75rem;background:#fff;border-radius:10px;box-shadow:0 1px 2px #0000000a;transition:transform .15s,box-shadow .15s}.benchmark-bar-row:hover{transform:translate(2px);box-shadow:0 2px 8px #00000014}.benchmark-bar-row.group-bar{padding:.65rem .75rem;background:linear-gradient(90deg,#fff,#fafafa)}@media(max-width:800px){.benchmark-bar-row{grid-template-columns:1fr;gap:.5rem;padding:.75rem}}.bar-label-wrap{display:flex;align-items:center;gap:.6rem;min-width:0}.group-indicator{width:12px;height:12px;border-radius:4px;flex-shrink:0;box-shadow:0 1px 2px #00000026}.group-indicator.large{width:16px;height:16px;border-radius:5px}.group-label-text{display:flex;flex-direction:column;min-width:0;gap:.1rem}.group-firms-list{font-size:.7rem;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.bar-firm-name{font-weight:600;font-size:.85rem;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-count{font-weight:500;font-size:.7rem;color:#94a3b8;background:#f1f5f9;padding:.15rem .4rem;border-radius:4px;flex-shrink:0}.bar-year{font-size:.7rem;font-weight:600;color:#6366f1;background:#eef2ff;padding:.2rem .45rem;border-radius:4px;flex-shrink:0}.bar-track{background:#e2e8f0;border-radius:6px;height:24px;position:relative;overflow:hidden;min-width:100px}.bar-fill{height:100%;border-radius:6px;transition:width .4s cubic-bezier(.4,0,.2,1);position:relative}.bar-fill:after{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,#ffffff40,#fff0);border-radius:6px 6px 0 0}.bar-values{display:flex;flex-direction:column;align-items:flex-end;font-variant-numeric:tabular-nums;gap:.1rem}.bar-avg{font-weight:700;font-size:1rem;color:#0f172a}.bar-range{font-size:.7rem;color:#64748b;font-weight:500}.vertical-chart-container{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:.5rem 1rem;margin-top:1rem;width:100%;min-width:0;overflow:visible;position:relative;box-sizing:border-box;padding-top:1.5rem;padding-left:2.5rem}@media(max-width:768px){.vertical-chart-container{gap:.25rem .5rem;padding-top:1.5rem}}.chart-y-axis{display:flex;flex-direction:column;justify-content:space-between;height:400px;padding-right:.75rem;border-right:2px solid #e2e8f0;align-items:flex-end;flex-shrink:0;grid-row:1;align-self:start;overflow:visible;grid-column:1}@media(max-width:768px){.chart-y-axis{padding-right:.5rem;font-size:.85rem}}.y-axis-tick{display:flex;align-items:center;position:relative}.y-axis-tick:after{content:"";position:absolute;right:-.75rem;width:8px;height:1px;background:#cbd5e1}.y-axis-tick:last-child .y-axis-label{position:absolute;bottom:-1.4rem}.y-axis-label{font-size:.75rem;color:#64748b;font-weight:500;font-variant-numeric:tabular-nums}.chart-content{grid-column:2;grid-row:1;display:flex;flex-direction:column;width:100%;overflow:visible;position:relative;-webkit-overflow-scrolling:touch;align-self:start}.chart-bars-container{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-evenly;gap:.5rem;height:400px;padding:0;min-height:400px;min-width:0;position:relative;width:100%;box-sizing:border-box;overflow:visible;margin-top:0}@media(max-width:768px){.chart-bars-container{gap:.25rem;padding:0 .5rem}}.vertical-bar-wrapper{display:flex;flex-direction:column;align-items:center;flex:1 1 0;min-width:60px;max-width:200px;justify-content:flex-end;overflow:visible;height:100%;position:relative}@media(max-width:768px){.vertical-bar-wrapper{min-width:50px;max-width:100px}}.vertical-bar-container{width:100%;height:100%;display:flex;align-items:flex-end;justify-content:center;position:relative;min-height:0;flex-shrink:0;padding-top:0;overflow:visible}.vertical-bar{width:100%;max-width:60px;min-width:40px;min-height:0;border-radius:6px 6px 0 0;position:relative;transition:all .3s ease;cursor:pointer;box-shadow:0 2px 4px #0000001a;display:flex;align-items:flex-start;justify-content:center;padding-top:.25rem}.vertical-bar:hover{opacity:.9;transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.vertical-bar:after{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,#ffffff4d,#fff0);border-radius:6px 6px 0 0}.bar-value-label{font-size:.75rem;font-weight:700;color:#1e293b;white-space:nowrap;z-index:10;position:absolute;top:-3rem;left:50%;transform:translate(-50%);pointer-events:none;background:#fffffffa;padding:.25rem .5rem;border-radius:4px;box-shadow:0 2px 6px #0003;border:1px solid #e2e8f0;min-width:fit-content}.x-axis-label{position:absolute;bottom:-3.5rem;left:50%;transform:translate(-50%);text-align:center;font-size:.75rem;display:flex;flex-direction:column;align-items:center;gap:.2rem;width:100%;box-sizing:border-box}@media(max-width:768px){.x-axis-label{font-size:.7rem;bottom:-4rem}}.x-axis-label .firm-name{font-weight:600;color:#1e293b;word-break:break-word;line-height:1.2;text-align:center;width:100%}.x-axis-label .bar-count{font-size:.65rem;color:#94a3b8;background:#f1f5f9;padding:.1rem .3rem;border-radius:3px}.chart-x-axis{grid-column:2;grid-row:2;border-top:2px solid #e2e8f0;padding-top:1rem;padding-bottom:2rem;text-align:center;margin-top:0;position:relative}.chart-x-axis:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:#e2e8f0}.chart-y-axis-label{position:absolute;left:1.5rem;top:50%;transform:translate(-50%,-50%);writing-mode:vertical-rl;text-orientation:mixed;font-weight:600;letter-spacing:.1em;color:#475569}.axis-label{font-size:.8rem;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.05em}@media(max-width:1000px){.chart-bars-container{gap:.25rem}.vertical-bar{max-width:50px;min-width:30px}.x-axis-label .firm-name{font-size:.7rem}}.benchmark-table{margin-top:2rem}.table-header{display:flex;flex-direction:column;gap:.25rem;margin-bottom:1rem}.table-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}.benchmark-table-wrapper{overflow-x:auto}.benchmark-table-grid{width:100%;border-collapse:collapse;min-width:600px}.benchmark-table-grid th,.benchmark-table-grid td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid #e2e8f0}.benchmark-table-grid th{text-transform:uppercase;font-size:.75rem;letter-spacing:.05em;color:#64748b}.benchmark-table-grid td{font-size:.9rem;color:#0f172a}.benchmark-table-grid td.entity-cell{display:flex;align-items:center;gap:.5rem;font-weight:600}.entity-dot{width:10px;height:10px;border-radius:50%;box-shadow:0 0 4px #0f172a33}.benchmark-table-grid tbody tr:hover{background:#f8fafc}.legend-groups{display:flex;flex-wrap:wrap;gap:1.25rem}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#374151;font-weight:500}.legend-dot{width:12px;height:12px;border-radius:4px;box-shadow:0 1px 2px #00000026}.legend-count{color:#94a3b8;font-size:.75rem;font-weight:400}.legend-meta{display:flex;flex-wrap:wrap;gap:1.5rem;padding-top:.75rem;border-top:1px solid #e2e8f0}.legend-roles,.legend-years{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;font-size:.85rem}.legend-label{color:#64748b;font-weight:500;margin-right:.25rem}.legend-role{background:#ecfdf5;color:#059669;padding:.2rem .55rem;border-radius:999px;font-weight:500;font-size:.75rem}.legend-year{background:#eef2ff;color:#4f46e5;padding:.2rem .5rem;border-radius:4px;font-weight:600;font-size:.75rem}.legend-mode{color:#94a3b8;font-style:italic;font-size:.75rem}:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#111827;background-color:#f9fafb}body{margin:0;min-height:100vh;background-color:#f3f4f6}*{box-sizing:border-box}
