body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}body{background-color:#f4f7f6;margin:0;max-width:100vw;overflow-x:hidden;width:100%}*,body{box-sizing:border-box}.App{color:#333;display:flex;flex-direction:column;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100vh;text-align:center}.modern-header{background:#fff;box-shadow:0 2px 20px #00000014;position:-webkit-sticky;position:sticky;top:0;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:1000}.modern-header.scrolled{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 30px #00000026}.brand-bar{background:linear-gradient(135deg,#0078d4,#005a9e 50%,#1a3a5e);color:#fff;overflow:hidden;position:relative}.brand-bar:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3Cpattern id='a' width='10' height='10' patternUnits='userSpaceOnUse'%3E%3Cpath d='M10 0H0v10' fill='none' stroke='rgba(255,255,255,0.05)' stroke-width='.5'/%3E%3C/pattern%3E%3C/defs%3E%3Cpath fill='url(%23a)' d='M0 0h100v100H0z'/%3E%3C/svg%3E");bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.brand-container{margin:0 auto;max-width:1400px;padding:0 20px}.brand-content{justify-content:space-between;padding:20px 0;position:relative;z-index:1}.brand-content,.brand-logo{align-items:center;display:flex}.brand-logo{gap:16px}.logo-icon{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:1px solid #fff3;border-radius:12px;font-size:2.5em;padding:12px}.brand-text{display:flex;flex-direction:column;gap:4px}.brand-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#fff,#e8f4fd);-webkit-background-clip:text;background-clip:text;font-size:2.2em;font-weight:700;line-height:1.2;margin:0}.brand-tagline{color:#e8f4fd;font-size:1.1em;font-style:italic;font-weight:400;margin:0;opacity:.9}.header-actions{align-items:center;display:flex;gap:16px}.status-indicator{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:1px solid #fff3;border-radius:20px;display:flex;font-size:.9em;font-weight:500;gap:8px;padding:8px 16px}.status-dot{animation:pulse 2s infinite;background:#0f8}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.status-text{color:#ffffffe6}.help-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:1px solid #fff3;border-radius:10px;color:#fff;cursor:pointer;font-size:1.2em;padding:10px;transition:all .3s ease}.help-button:hover{background:#ffffff40;box-shadow:0 4px 15px #0003;transform:translateY(-2px)}.sister-site-link{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:1px solid #fff3;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:.9em;font-weight:500;gap:8px;padding:8px 12px;text-decoration:none;transition:all .3s ease}.sister-site-link:hover{background:#ffffff40;box-shadow:0 4px 15px #0003;color:#fff;text-decoration:none;transform:translateY(-2px)}.sister-site-link .link-text{white-space:nowrap}.navigation-bar{background:#fff;border-bottom:1px solid #e9ecef;position:relative}.nav-container{margin:0 auto;max-width:1400px;padding:0 20px}.nav-content{align-items:center;display:flex;justify-content:space-between;position:relative}.nav-items-desktop{display:flex;gap:0}.nav-item{align-items:center;background:none;border:none;border-radius:0;color:#495057;cursor:pointer;display:flex;font-size:1em;font-weight:600;gap:10px;overflow:hidden;padding:18px 24px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.nav-item:before{background:linear-gradient(135deg,#0078d40d,#005a9e0d);bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.nav-item:hover:before{opacity:1}.nav-item:hover{color:#0078d4;transform:translateY(-2px)}.nav-item.active{background:linear-gradient(135deg,#0078d414,#005a9e14);color:#0078d4}.nav-indicator{background:linear-gradient(135deg,#0078d4,#005a9e);border-radius:2px 2px 0 0;bottom:0;height:3px;left:50%;position:absolute;transform:translateX(-50%) scaleX(0);transition:transform .3s cubic-bezier(.4,0,.2,1);width:80%}.nav-item.active .nav-indicator{transform:translateX(-50%) scaleX(1)}.nav-icon{font-size:1.3em;transition:transform .3s ease}.nav-item:hover .nav-icon{transform:scale(1.1)}.nav-label{font-weight:600;letter-spacing:.02em}.mobile-menu-toggle{background:none;border:none;border-radius:6px;cursor:pointer;display:none;flex-direction:column;gap:4px;padding:8px;transition:all .3s ease}.mobile-menu-toggle span{background:#495057;border-radius:2px;height:3px;transition:all .3s cubic-bezier(.4,0,.2,1);width:24px}.mobile-menu-toggle.open span:first-child{transform:rotate(45deg) translate(6px,6px)}.mobile-menu-toggle.open span:nth-child(2){opacity:0}.mobile-menu-toggle.open span:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}.nav-items-mobile{background:#fff;border-top:1px solid #e9ecef;box-shadow:0 8px 30px #0000001f;left:0;opacity:0;position:absolute;right:0;top:100%;transform:translateY(-100%);transition:all .3s cubic-bezier(.4,0,.2,1);visibility:hidden;z-index:1000}.nav-items-mobile.open{opacity:1;transform:translateY(0);visibility:visible}.nav-item-mobile{align-items:center;background:none;border:none;border-bottom:1px solid #f8f9fa;color:#495057;cursor:pointer;display:flex;font-size:1em;gap:16px;padding:16px 20px;text-align:left;transition:all .3s ease;width:100%}.nav-item-mobile:hover{background:#f8f9fa;color:#0078d4}.nav-item-mobile.active{background:linear-gradient(135deg,#0078d414,#005a9e14);border-left:4px solid #0078d4;color:#0078d4}.nav-text{display:flex;flex-direction:column;gap:2px}.nav-description{color:#6c757d;font-size:.85em;font-weight:400}main{background-color:#fff;border-radius:12px;box-shadow:0 8px 32px #00000014;margin:20px auto;max-width:1400px;min-height:calc(100vh - 200px);overflow-x:hidden;padding:20px}.selection-screen,main{align-items:center;box-sizing:border-box;display:flex;flex-direction:column;flex-grow:1;width:100%}.selection-screen{height:calc(100vh - 160px);justify-content:flex-start;max-width:100%;overflow:hidden;padding:10px}.selection-header{align-items:center;display:flex;flex-direction:column;gap:10px;margin-bottom:15px;width:100%}.selection-screen h2{color:#1a3a5e;font-size:1.5em;margin:10px 0 0}.selection-counter{align-items:center;animation:slideIn .3s ease-out;background:linear-gradient(135deg,#0078d4,#005a9e);border-radius:20px;box-shadow:0 2px 8px #0078d44d;color:#fff;display:flex;font-size:.9em;gap:8px;padding:8px 16px}.counter-badge{background:#fff3;border-radius:12px;font-weight:600;min-width:20px;padding:2px 8px;text-align:center}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.view-dashboard-button{align-items:center;background:linear-gradient(135deg,#0078d4,#005a9e);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1.05em;font-weight:600;gap:8px;margin-bottom:10px;margin-top:15px;overflow:hidden;padding:12px 24px;position:relative;transition:all .2s ease-in-out}.view-dashboard-button:hover:not(:disabled){background:linear-gradient(135deg,#005a9e,#004578);box-shadow:0 6px 16px #0078d44d;transform:translateY(-2px)}.view-dashboard-button:disabled{background:#ccc;box-shadow:none;cursor:not-allowed;transform:none}.button-icon{font-size:1.1em}.button-badge{background:#fff3;border-radius:10px;font-size:.8em;font-weight:700;min-width:18px;padding:2px 6px;text-align:center}.back-button{background-color:#6c757d;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:.9em;margin-right:auto;padding:10px 15px;transition:background-color .2s ease-in-out}.back-button:hover{background-color:#5a6268}.controls-container{display:flex;flex-direction:column;gap:25px;justify-content:center;margin-bottom:30px;width:100%}@media (min-width:768px){.controls-container{flex-direction:row}}.search-bar{flex-grow:1;min-width:280px;width:100%}.search-bar input{border:1px solid #d0d0d0;border-radius:6px;box-sizing:border-box;font-size:1em;padding:12px 15px;transition:border-color .2s ease-in-out,box-shadow .2s ease-in-out;width:100%}.search-bar input:focus{border-color:#0078d4;box-shadow:0 0 0 2px #0078d433;outline:none}.license-selector{background-color:#fdfdfd;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 6px #0000000d;box-sizing:border-box;display:flex;flex-direction:column;flex-grow:1;max-height:calc(100vh - 280px);max-width:100%;min-height:0;min-width:0;overflow-x:hidden;overflow-y:auto;padding:0;text-align:left;width:100%}.license-selector-header{background:#f8f9fa;border-bottom:1px solid #e9ecef;border-radius:8px 8px 0 0;flex-shrink:0;padding:10px 12px}.select-all-button{align-items:center;background:linear-gradient(135deg,#17a2b8,#138496);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.9em;font-weight:500;gap:6px;padding:8px 12px;transition:all .2s ease-in-out}.select-all-button:hover{background:linear-gradient(135deg,#138496,#117a8b);box-shadow:0 4px 12px #17a2b84d;transform:translateY(-1px)}.license-selector-content{box-sizing:border-box;max-width:100%;overflow-x:hidden;padding:12px}.license-category{box-sizing:border-box;flex-shrink:0;margin-bottom:12px;max-width:100%;width:100%}.license-category h3{border-bottom:1px solid #e0e0e0;color:#1a3a5e;font-size:1.05em;margin-bottom:6px;margin-top:0;padding-bottom:3px}.checkbox-group{grid-gap:6px;box-sizing:border-box;display:grid;gap:6px;grid-template-columns:repeat(auto-fit,minmax(min(110px,100%),1fr));margin-bottom:8px;width:100%}.license-selector-content{flex-grow:1;overflow-y:auto;width:100%}.checkbox-group label{word-wrap:break-word;align-items:center;background-color:#fff;border:2px solid #e0e0e0;border-radius:6px;box-sizing:border-box;cursor:pointer;display:flex;font-size:.9em;min-width:0;overflow:hidden;padding:8px 10px;position:relative;transition:all .2s ease-in-out}.checkbox-group label:hover{background-color:#f8f9fa;border-color:#0078d4;box-shadow:0 2px 8px #0078d426;transform:translateY(-1px)}.checkbox-group label.selected{background:linear-gradient(135deg,#e3f2fd,#f0f8ff);border-color:#0078d4;box-shadow:0 2px 8px #0078d433}.checkbox-group label.selected:before{background:linear-gradient(180deg,#0078d4,#005a9e);bottom:0;content:"";left:0;position:absolute;top:0;width:3px}.license-name{flex:1 1;font-weight:500;margin-left:8px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.checkbox-group input[type=checkbox]{-webkit-appearance:none;appearance:none;border:2px solid #555;border-radius:4px;cursor:pointer;height:18px;margin-right:10px;outline:none;position:relative;top:1px;transition:background-color .2s ease-in-out,border-color .2s ease-in-out;width:18px}.checkbox-group input[type=checkbox]:checked{background-color:#0078d4;border-color:#0078d4}.checkbox-group input[type=checkbox]:checked:before{color:#fff;content:"✔";display:block;font-size:14px;line-height:16px;text-align:center}.legend-container{display:inline-block;margin-bottom:30px;position:relative}.legend-toggle{background-color:#0078d4;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1.05em;font-weight:500;padding:12px 20px;transition:background-color .2s ease-in-out,box-shadow .2s ease-in-out}.legend-toggle:hover{background-color:#005a9e;box-shadow:0 4px 8px #00000026}.legend{background-color:#fdfdfd;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 6px 15px #0000001a;display:none;left:50%;max-width:450px;padding:20px;position:absolute;text-align:left;top:calc(100% + 10px);transform:translateX(-50%);width:-webkit-max-content;width:max-content;z-index:10}.legend-container:hover .legend{display:block}.legend h3{color:#1a3a5e;font-size:1.1em;margin-bottom:15px;margin-top:0}.legend ul{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.legend li{color:#555;font-size:.95em}.table-container{margin-top:20px;overflow-x:auto;width:100%}table{border-collapse:initial;border-radius:8px;border-spacing:0;box-shadow:0 2px 8px #0000000d;font-size:.9em;margin:0 auto;overflow:hidden;width:100%}table td,table th{border:none;padding:12px 15px;text-align:center;white-space:nowrap}table thead th{background-color:#e9ecef;border-bottom:2px solid #dee2e6;color:#495057;font-weight:600}table tbody tr:nth-child(odd){background-color:#f8f9fa}table tbody tr:nth-child(2n){background-color:#fff}table tbody tr:hover{background-color:#e2f0ff}td:first-child{background-color:inherit;color:#333;font-weight:500;text-align:left;z-index:1}td:first-child,th:first-child{left:0;position:-webkit-sticky;position:sticky}th:first-child{background-color:#e9ecef;z-index:2}@media (max-height:700px){.App-header{margin-bottom:10px;padding:15px 10px}.App-header h1{font-size:1.8em}.selection-screen h2{font-size:1.3em;margin-bottom:10px;margin-top:5px}.license-selector{max-height:calc(100vh - 220px);padding:10px}.license-category{margin-bottom:10px}.license-category h3{font-size:1em;margin-bottom:4px}.checkbox-group{gap:4px}.checkbox-group label{font-size:.85em;padding:4px 6px}.view-dashboard-button{font-size:1em;margin-bottom:5px;margin-top:10px;padding:8px 16px}}@media (max-width:768px){.checkbox-group{grid-template-columns:repeat(auto-fit,minmax(min(100px,100%),1fr))}}@media (max-width:480px){.checkbox-group{gap:4px;grid-template-columns:1fr 1fr}.selection-header{gap:8px}.selection-screen h2{font-size:1.3em}.selection-counter{font-size:.8em;padding:6px 12px}.feature-grid{gap:8px;grid-template-columns:1fr;padding:10px}.feature-checkbox-label{font-size:.85em;padding:10px}.feature-buttons{flex-direction:column;width:100%}.feature-buttons button{width:100%}}.feature-selection-screen,.selection-screen{animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.back-button:focus,.checkbox-group input[type=checkbox]:focus,.clear-features-button:focus,.feature-checkbox-label input[type=checkbox]:focus,.feature-search-button:focus,.find-licenses-button:focus,.view-dashboard-button:focus{outline:2px solid #0078d4;outline-offset:2px}.selection-buttons{flex-shrink:0;gap:15px;margin-top:20px}.alternative-option,.selection-buttons{align-items:center;display:flex;flex-direction:column}.alternative-option{gap:8px}.or-text{color:#666;font-size:.9em;font-style:italic}.feature-search-button{align-items:center;background:linear-gradient(135deg,#28a745,#20c997);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1em;font-weight:500;gap:8px;padding:12px 20px;transition:all .2s ease-in-out}.feature-search-button:hover{background:linear-gradient(135deg,#218838,#1e7e34);box-shadow:0 6px 16px #28a7454d;transform:translateY(-2px)}.feature-selection-screen{box-sizing:border-box;flex-grow:1;height:100%;overflow:hidden;padding:10px}.feature-header,.feature-selection-screen{align-items:center;display:flex;flex-direction:column;width:100%}.feature-header{position:relative}.feature-header .back-button{left:0;position:absolute;top:0}.feature-selection-screen h2{color:#1a3a5e;font-size:1.5em;margin-bottom:10px;margin-top:10px}.feature-selection-description{color:#666;font-size:1em;margin-bottom:20px;text-align:center}.feature-search-container{margin-bottom:20px;max-width:400px;width:100%}.feature-search-input{border:1px solid #d0d0d0;border-radius:6px;box-sizing:border-box;font-size:1em;padding:12px 15px;transition:border-color .2s ease-in-out,box-shadow .2s ease-in-out;width:100%}.feature-search-input:focus{border-color:#0078d4;box-shadow:0 0 0 2px #0078d433;outline:none}.feature-selector{background-color:#fdfdfd;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 6px #0000000d;flex-grow:1;max-height:calc(100vh - 350px);min-height:250px;overflow-y:auto;width:100%}.feature-category-section{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:25px}.feature-category-title{background-color:#f8f9fa;border-bottom:1px solid #e0e0e0;border-radius:8px 8px 0 0;color:#1a3a5e;font-size:1.1em;font-weight:600;margin:0;padding:12px 15px}.feature-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));padding:15px}.feature-checkbox-label{align-items:center;background-color:#fff;border:2px solid #e9ecef;border-radius:8px;box-shadow:0 2px 4px #0000000d;cursor:pointer;display:flex;font-size:.9em;overflow:hidden;padding:12px 14px;position:relative;transition:all .2s ease-in-out}.feature-checkbox-label:hover{background-color:#f8f9fa;border-color:#0078d4;box-shadow:0 4px 12px #0078d426;transform:translateY(-1px)}.feature-checkbox-label input[type=checkbox]:checked+.feature-name{color:#0078d4;font-weight:600}.feature-checkbox-label:has(input[type=checkbox]:checked){background:linear-gradient(135deg,#e3f2fd,#f0f8ff);border-color:#0078d4;box-shadow:0 4px 12px #0078d433}.feature-checkbox-label:has(input[type=checkbox]:checked):before{background:linear-gradient(180deg,#0078d4,#005a9e);bottom:0;content:"";left:0;position:absolute;top:0;width:4px}.feature-checkbox-label input[type=checkbox]{-webkit-appearance:none;appearance:none;border:2px solid #555;border-radius:3px;cursor:pointer;height:16px;margin-right:10px;outline:none;transition:all .2s ease-in-out;width:16px}.feature-checkbox-label input[type=checkbox]:checked{background-color:#0078d4;border-color:#0078d4}.feature-checkbox-label input[type=checkbox]:checked:before{color:#fff;content:"✔";display:block;font-size:12px;line-height:14px;text-align:center}.feature-name{flex-grow:1;text-align:left}.feature-selection-controls{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;display:flex;flex-direction:column;gap:15px;margin-top:20px;max-width:600px;padding:20px;width:100%}.selected-count{align-items:center;animation:slideIn .3s ease-out;background:linear-gradient(135deg,#28a745,#20c997);border-radius:20px;box-shadow:0 2px 8px #28a7454d;color:#fff;display:flex;font-size:.9em;gap:8px;padding:8px 16px}.count-badge{background:#fff3;border-radius:12px;font-weight:600;min-width:20px;padding:2px 8px;text-align:center}.feature-buttons{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.clear-features-button{align-items:center;background:linear-gradient(135deg,#6c757d,#5a6268);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.9em;font-weight:500;gap:6px;padding:10px 16px;transition:all .2s ease-in-out}.clear-features-button:hover:not(:disabled){background:linear-gradient(135deg,#5a6268,#495057);box-shadow:0 4px 12px #6c757d4d;transform:translateY(-1px)}.clear-features-button:disabled{background:#ccc;box-shadow:none;cursor:not-allowed;transform:none}.find-licenses-button{align-items:center;background:linear-gradient(135deg,#0078d4,#005a9e);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1em;font-weight:600;gap:8px;padding:12px 20px;transition:all .2s ease-in-out}.find-licenses-button:hover:not(:disabled){background:linear-gradient(135deg,#005a9e,#004578);box-shadow:0 6px 16px #0078d44d;transform:translateY(-2px)}.find-licenses-button:disabled{background:#ccc;box-shadow:none;cursor:not-allowed;transform:none}.license-recommendations-screen{align-items:center;box-sizing:border-box;display:flex;flex-direction:column;flex-grow:1;overflow-y:auto;padding:10px;width:100%}.license-recommendations-screen h2{color:#1a3a5e;font-size:1.5em;margin-bottom:10px}.recommendations-description{color:#666;margin-bottom:20px;text-align:center}.selected-features-summary{background-color:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:25px;max-width:1200px;padding:15px;width:100%}.selected-features-summary h3{color:#1a3a5e;font-size:1.1em;margin:0 0 10px}.features-tags{display:flex;flex-wrap:wrap;gap:8px}.feature-tag{background-color:#0078d4;border-radius:4px;color:#fff;font-size:.85em;font-weight:500;padding:6px 10px}.recommendations-container{margin-bottom:25px;max-width:1200px;width:100%}.recommendations-summary{margin-bottom:30px}.recommendations-summary h3{color:#1a3a5e;font-size:1.2em;margin-bottom:15px}.recommendations-table{background-color:#fff;border-collapse:initial;border-radius:8px;border-spacing:0;box-shadow:0 2px 8px #0000001a;overflow:hidden;width:100%}.recommendations-table th{background-color:#1a3a5e;color:#fff;font-size:.9em;font-weight:600;padding:12px 15px;text-align:left}.recommendations-table td{border-bottom:1px solid #e0e0e0;padding:12px 15px;vertical-align:middle}.recommendation-row:hover{background-color:#f8f9fa}.license-cell{color:#1a3a5e;font-weight:600}.match-badge{border-radius:4px;display:inline-block;font-size:.8em;font-weight:600;min-width:80px;padding:4px 8px;text-align:center}.match-badge.perfect{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.match-badge.excellent{background-color:#d1ecf1;border:1px solid #bee5eb;color:#0c5460}.match-badge.good{background-color:#fff3cd;border:1px solid #ffeaa7;color:#856404}.match-badge.partial{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.coverage-container{align-items:center;display:flex;gap:10px}.percentage-text{color:#1a3a5e;font-weight:600;min-width:35px}.progress-bar{background-color:#e0e0e0;border-radius:4px;flex-grow:1;height:8px;overflow:hidden}.progress-fill{height:100%;transition:width .3s ease-in-out}.progress-fill.perfect{background-color:#28a745}.progress-fill.excellent{background-color:#17a2b8}.progress-fill.good{background-color:#ffc107}.progress-fill.partial{background-color:#dc3545}.feature-support-matrix{margin-top:30px}.feature-support-matrix h3{color:#1a3a5e;font-size:1.2em;margin-bottom:15px}.feature-matrix-table{background-color:#fff;border-collapse:initial;border-radius:8px;border-spacing:0;box-shadow:0 2px 8px #0000001a;overflow:hidden;width:100%}.feature-matrix-table th{background-color:#6c757d;color:#fff;font-size:.85em;font-weight:600;padding:10px 12px;text-align:center}.feature-matrix-table th:first-child{background-color:#495057;text-align:left}.feature-matrix-table td{border-bottom:1px solid #e0e0e0;padding:8px 12px;text-align:center}.feature-name-cell{background-color:#f8f9fa;color:#1a3a5e;font-weight:500;text-align:left!important}.support-indicator{font-size:1.1em;font-weight:700}.support-indicator.supported{color:#28a745}.support-indicator.not-supported{color:#dc3545}.recommendations-controls{display:flex;gap:15px;justify-content:center;width:100%}.back-to-features-button,.compare-top-licenses-button{border:none;border-radius:6px;cursor:pointer;font-size:1em;font-weight:500;padding:12px 20px;transition:all .2s ease-in-out}.back-to-features-button{background-color:#6c757d;color:#fff}.back-to-features-button:hover{background-color:#5a6268}.compare-top-licenses-button{background-color:#0078d4;color:#fff}.compare-top-licenses-button:hover{background-color:#005a9e;box-shadow:0 4px 8px #00000026}.no-recommendations{color:#666;padding:40px;text-align:center}.feature-details-section{margin-top:30px;width:100%}.feature-details-section h3{color:#1a3a5e;font-size:1.2em;margin-bottom:10px}.feature-details-description{color:#666;font-style:italic;margin-bottom:20px;text-align:center}.license-feature-details{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:25px;overflow:hidden}.license-details-title{background-color:#1a3a5e;color:#fff;font-size:1.1em;font-weight:600;margin:0;padding:12px 20px}.feature-details-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));padding:15px 20px}.feature-detail-item{align-items:center;background-color:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px;display:flex;justify-content:space-between;padding:10px 15px}.feature-detail-item.supported{background-color:#d4edda;border-color:#28a745}.feature-detail-item.not-supported{background-color:#f8d7da;border-color:#dc3545}.feature-detail-name{color:#1a3a5e;flex-grow:1;font-weight:500;text-align:left}.feature-detail-value{border-radius:4px;font-size:.9em;font-weight:600;min-width:80px;padding:4px 8px;text-align:center}.feature-detail-value.supported{background-color:#28a745;color:#fff}.feature-detail-value.not-supported{background-color:#dc3545;color:#fff}@media (max-height:700px){.feature-selector{max-height:calc(100vh - 280px)}.feature-list{gap:6px;padding:10px}.feature-checkbox-label{font-size:.85em;padding:6px 10px}}@media (max-width:768px){.feature-list{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.recommendations-controls{flex-direction:column}.selected-features-summary{padding:10px}.feature-details-grid{grid-template-columns:1fr;padding:10px 15px}.license-details-title{font-size:1em;padding:10px 15px}.feature-detail-item{padding:8px 12px}.feature-detail-name{font-size:.9em}.feature-detail-value{font-size:.8em;min-width:70px}}@media (max-width:480px){.feature-list{grid-template-columns:1fr}.mode-tab{font-size:1em;padding:10px 16px}.feature-tag{font-size:.8em}.checkbox-group{grid-template-columns:1fr}.checkbox-group label{font-size:.8em;padding:4px 5px}}table tbody tr:hover td:first-child{background-color:#e2f0ff}@media (max-width:1200px){.brand-content{padding:16px 0}.brand-title{font-size:1.9em}.brand-tagline{font-size:1em}.nav-item{font-size:.95em;padding:16px 20px}.nav-icon{font-size:1.2em}}@media (max-width:900px){.nav-items-desktop{display:none}.mobile-menu-toggle{display:flex}.brand-content{padding:14px 0}.brand-title{font-size:1.7em}.logo-icon{font-size:2.2em;padding:10px}.header-actions{gap:12px}.status-indicator{font-size:.85em;padding:6px 12px}.help-button{font-size:1.1em;padding:8px}}@media (max-width:600px){.brand-container,.nav-container{padding:0 15px}.brand-content{gap:12px;padding:12px 0}.brand-logo{gap:12px}.logo-icon{font-size:2em;padding:8px}.brand-title{font-size:1.5em}.brand-tagline{font-size:.9em}.header-actions{flex-direction:column;gap:8px}.status-indicator{font-size:.8em;padding:4px 8px}.help-button{font-size:1em;padding:6px}.nav-item-mobile{padding:14px 15px}.nav-item-mobile .nav-icon{font-size:1.2em}}@media (max-width:480px){.brand-content{align-items:flex-start;flex-direction:column;gap:16px}.brand-logo{width:100%}.header-actions{flex-direction:row;justify-content:space-between;width:100%}.brand-title{font-size:1.3em;line-height:1.3}.brand-tagline{font-size:.85em}.logo-icon{font-size:1.8em}}@media (prefers-reduced-motion:no-preference){.mobile-menu-toggle span,.modern-header,.nav-item,.nav-item-mobile{transition:all .3s cubic-bezier(.4,0,.2,1)}}@media (prefers-contrast:high){.modern-header{border-bottom:2px solid #000}.brand-bar{background:#000}.nav-item{border:1px solid #0000}.nav-item.active,.nav-item:hover{border-color:#0078d4}}.eol-dates-container{margin:0 auto;max-width:1400px;padding:20px;width:100%}.eol-header{margin-bottom:30px;text-align:center}.eol-header h2{color:#1a3a5e;font-size:2em;font-weight:600;margin:0 0 10px}.eol-description{color:#6c757d;font-size:1.1em;margin:0 auto;max-width:600px}.eol-filters{display:flex;flex-wrap:wrap;justify-content:center}.search-filter{flex:1 1;max-width:400px;min-width:250px}.eol-search-input{border:1px solid #d0d0d0;border-radius:6px;font-size:1em;padding:12px 15px;transition:border-color .2s ease-in-out,box-shadow .2s ease-in-out;width:100%}.eol-search-input:focus{border-color:#0078d4;box-shadow:0 0 0 2px #0078d433;outline:none}.category-filter{min-width:200px}.eol-category-select{background-color:#fff;border:1px solid #d0d0d0;border-radius:6px;cursor:pointer;font-size:1em;padding:12px 15px;transition:border-color .2s ease-in-out;width:100%}.eol-category-select:focus{border-color:#0078d4;outline:none}.eol-stats{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin-bottom:30px}.stat-card{background:linear-gradient(135deg,#fff,#f8f9fa);border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 8px #0000000d;min-width:120px;padding:20px;text-align:center;transition:transform .2s ease-in-out,box-shadow .2s ease-in-out}.stat-card:hover{box-shadow:0 4px 16px #0000001a;transform:translateY(-2px)}.stat-number{color:#0078d4;font-size:2em;font-weight:700;margin-bottom:5px}.stat-label{color:#6c757d;font-size:.9em;font-weight:500}.eol-table-container{border-radius:8px;box-shadow:0 2px 8px #0000000d;margin-bottom:20px;overflow:hidden}.eol-table{background-color:#fff;border-collapse:initial;border-spacing:0;font-size:.85em;table-layout:fixed;width:100%}.eol-table th{background-color:#1a3a5e;border:none;color:#fff;font-weight:600;overflow:hidden;padding:12px 8px;text-align:left;text-overflow:ellipsis;white-space:nowrap}.eol-table th:first-child{border-top-left-radius:8px}.eol-table th:last-child{border-top-right-radius:8px}.eol-table td{word-wrap:break-word;border-bottom:1px solid #e9ecef;max-width:0;padding:10px 8px;vertical-align:top}.eol-row:hover{background-color:#f8f9fa}.eol-row.status-ending-soon{border-left:4px solid #ffc107}.eol-row.status-ended{background-color:#fff5f5;border-left:4px solid #dc3545}.eol-row.status-active{border-left:4px solid #28a745}.product-name{color:#1a3a5e;font-weight:600;min-width:150px}.version{background-color:#f8f9fa;border-radius:4px;font-family:Courier New,monospace;font-size:.85em;padding:4px 8px}.category{color:#6c757d;font-size:.9em}.eol-date{font-weight:500;white-space:nowrap}.days-until{text-align:center}.days-badge{border-radius:12px;color:#fff;font-size:.8em;font-weight:600;padding:4px 8px;white-space:nowrap}.days-badge.safe{background-color:#28a745}.days-badge.warning{background-color:#ffc107;color:#212529}.days-badge.expired{background-color:#dc3545}.support-type{color:#495057;font-size:.9em}.status{text-align:center}.status-badge{border-radius:12px;color:#fff;font-size:.8em;font-weight:600;padding:4px 8px;white-space:nowrap}.notes{word-wrap:break-word;color:#6c757d;font-size:.8em;-webkit-hyphens:auto;hyphens:auto;line-height:1.3;overflow-wrap:break-word}.no-results{color:#6c757d;font-size:1.1em;padding:40px;text-align:center}@media (max-width:1200px){.eol-table{font-size:.8em}.eol-table td,.eol-table th{padding:8px 6px}.notes{font-size:.8em;max-width:200px}}@media (max-width:768px){.eol-filters{align-items:stretch;flex-direction:column}.category-filter,.search-filter{max-width:none;min-width:auto}.eol-stats{gap:10px}.stat-card{min-width:100px;padding:15px}.stat-number{font-size:1.5em}.eol-table-container{border-radius:0;margin:0 -20px}.eol-table{font-size:.75em}.eol-table td,.eol-table th{padding:6px 4px}.notes{font-size:.75em;max-width:150px}.nav-container{flex-direction:column;gap:0}.nav-item{border-bottom:1px solid #e0e0e0;border-right:none;padding:12px 15px}.nav-item.active{border-bottom-color:#e0e0e0;border-left:4px solid #0078d4}}.service-name{color:#0078d4;font-size:.9em;font-weight:500}.replacement,.replacement-badge{word-wrap:break-word;overflow-wrap:break-word}.replacement-badge{background:linear-gradient(135deg,#28a745,#20c997);border-radius:10px;box-shadow:0 2px 4px #28a74533;color:#fff;display:inline-block;font-size:.75em;font-weight:500;line-height:1.2;max-width:100%;padding:3px 6px;white-space:normal}.service-filter{min-width:200px}.eol-filters{grid-gap:20px;align-items:center;display:grid;gap:20px;grid-template-columns:2fr 1fr 1fr;margin-bottom:30px}@media (max-width:1024px){.eol-filters{gap:15px;grid-template-columns:1fr 1fr}.search-filter{grid-column:1/-1}}@media (max-width:768px){.eol-filters{gap:10px;grid-template-columns:1fr}.category-filter,.search-filter,.service-filter{max-width:none;min-width:auto}}@media (max-width:1400px){.replacement{font-size:.8em;max-width:150px}.replacement-badge{font-size:.75em;padding:3px 6px}}@media (max-width:1200px){.service-name{font-size:.8em}.replacement{font-size:.75em;max-width:120px}}@media (max-width:768px){.replacement{font-size:.7em;max-width:100px}.replacement-badge{font-size:.7em;padding:2px 4px}.service-name{font-size:.75em}}.impact-level{text-align:center}.impact-badge{border-radius:12px;box-shadow:0 2px 4px #0003;color:#fff;display:inline-block;font-size:.8em;font-weight:600;padding:4px 8px;white-space:nowrap}.impact-filter{min-width:200px}@media (max-width:1200px){.nav-item{font-size:.9em;padding:12px 15px}.nav-label{font-size:.85em}}@media (max-width:900px){.nav-container{flex-wrap:wrap;justify-content:center}.nav-item{flex:1 1;font-size:.8em;min-width:120px;padding:10px 8px}.nav-label{font-size:.75em}}@media (max-width:600px){.nav-container{flex-direction:column;gap:0}.nav-item{border-bottom:1px solid #e0e0e0;border-right:none;font-size:.9em;padding:12px 15px}.nav-item.active{border-bottom-color:#e0e0e0;border-left:4px solid #0078d4}.nav-label{font-size:.9em}}.eol-table td:first-child,.eol-table th:first-child{width:18%}.eol-table td:nth-child(2),.eol-table th:nth-child(2){width:12%}.eol-table td:nth-child(3),.eol-table th:nth-child(3){width:10%}.eol-table td:nth-child(4),.eol-table th:nth-child(4){width:8%}.eol-table td:nth-child(5),.eol-table th:nth-child(5){width:10%}.eol-table td:nth-child(6),.eol-table th:nth-child(6){width:8%}.eol-table td:nth-child(7),.eol-table td:nth-child(8),.eol-table th:nth-child(7),.eol-table th:nth-child(8){width:12%}.eol-table td:nth-child(9),.eol-table th:nth-child(9){width:10%}.eol-table td{-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;white-space:normal;word-break:break-word}.eol-table td:nth-child(8):last-child,.eol-table th:nth-child(8):last-child{width:22%}.eol-table td:nth-child(8):not(:last-child),.eol-table th:nth-child(8):not(:last-child){width:12%}@media (max-width:1200px){.eol-table{font-size:.75em}.eol-table td,.eol-table th{padding:8px 4px}}@media (max-width:900px){.eol-table{font-size:.7em}.eol-table td,.eol-table th{padding:6px 3px}.eol-table td:nth-child(3),.eol-table td:nth-child(5),.eol-table th:nth-child(3),.eol-table th:nth-child(5){display:none}.eol-table td:first-child,.eol-table th:first-child{width:25%}.eol-table td:nth-child(2),.eol-table th:nth-child(2){width:15%}.eol-table td:nth-child(4),.eol-table td:nth-child(6),.eol-table th:nth-child(4),.eol-table th:nth-child(6){width:12%}.eol-table td:nth-child(7),.eol-table td:nth-child(8),.eol-table th:nth-child(7),.eol-table th:nth-child(8){width:18%}}@media (max-width:600px){.eol-table{font-size:.65em}.eol-table td:nth-child(7),.eol-table th:nth-child(7){display:none}.eol-table td:first-child,.eol-table th:first-child{width:35%}.eol-table td:nth-child(2),.eol-table th:nth-child(2){width:20%}.eol-table td:nth-child(4),.eol-table td:nth-child(6),.eol-table td:nth-child(8),.eol-table th:nth-child(4),.eol-table th:nth-child(6),.eol-table th:nth-child(8){width:15%}}.app-footer{background-color:#1a3a5e;box-shadow:0 -2px 4px #0000001a;color:#fff;margin-top:auto;padding:20px 15px}.footer-content{margin:0 auto;max-width:1200px;text-align:center}.footer-content p{color:#e8f4fd;font-size:.9em;margin:0;opacity:.9}.chat-toggle-btn{align-items:center;background:linear-gradient(135deg,#0078d4,#005a9e);border:none;border-radius:50px;bottom:30px;box-shadow:0 4px 20px #0078d44d;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:10px;justify-content:center;min-width:60px;padding:15px 20px;position:fixed;right:30px;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:1000}.chat-toggle-btn:hover{background:linear-gradient(135deg,#106ebe,#004578);box-shadow:0 6px 25px #0078d466;transform:translateY(-2px)}.chat-toggle-btn.active{background:linear-gradient(135deg,#dc3545,#c82333);box-shadow:0 4px 20px #dc35454d}.chat-toggle-btn.active:hover{background:linear-gradient(135deg,#c82333,#a71e2a);box-shadow:0 6px 25px #dc354566}.chat-icon{font-size:20px}.chat-label{white-space:nowrap}.chat-notification-dot{animation:pulse-notification 2s infinite;background:#28a745;border:2px solid #fff;border-radius:50%;height:12px;position:absolute;right:8px;top:8px;width:12px}@keyframes pulse-notification{0%{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.chat-window{background:#fff;border-radius:16px;bottom:100px;box-shadow:0 10px 40px #00000026;display:flex;flex-direction:column;height:600px;max-height:calc(100vh - 150px);max-width:calc(100vw - 60px);overflow:hidden;position:fixed;right:30px;transition:all .3s cubic-bezier(.4,0,.2,1);width:400px;z-index:1001}.chat-window.minimized{height:60px}.chat-header{background:linear-gradient(135deg,#0078d4,#005a9e);border-radius:16px 16px 0 0;color:#fff;flex-shrink:0;justify-content:space-between;padding:15px 20px}.chat-header,.chat-header-info{align-items:center;display:flex}.chat-header-info{gap:12px}.chat-avatar{align-items:center;background:#fff3;border-radius:50%;display:flex;font-size:24px;height:40px;justify-content:center;padding:8px;width:40px}.chat-title h3{font-size:16px;font-weight:600;margin:0}.chat-status{align-items:center;display:flex;font-size:12px;gap:6px;margin-top:2px;opacity:.9}.status-dot{border-radius:50%;height:8px;width:8px}.status-dot.online{animation:pulse-online 2s infinite;background:#28a745}@keyframes pulse-online{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.chat-controls{display:flex;gap:8px}.chat-control-btn{align-items:center;background:#fff3;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;height:32px;justify-content:center;transition:background-color .2s ease;width:32px}.chat-control-btn:hover{background:#ffffff4d}.chat-control-btn.close:hover{background:#dc3545cc}.chat-messages{background:#f8f9fa;display:flex;flex:1 1;flex-direction:column;gap:16px;overflow-y:auto;padding:20px}.message{display:flex;gap:12px;max-width:85%}.message.user{align-self:flex-end;flex-direction:row-reverse}.message.assistant{align-self:flex-start}.message-avatar{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:16px;height:32px;justify-content:center;margin-top:4px;width:32px}.message.user .message-avatar{background:linear-gradient(135deg,#0078d4,#005a9e);color:#fff}.message.assistant .message-avatar{background:linear-gradient(135deg,#28a745,#20c997);color:#fff}.message.error .message-avatar{background:linear-gradient(135deg,#dc3545,#c82333)}.message-content{display:flex;flex-direction:column;gap:4px}.message-text{word-wrap:break-word;background:#fff;border-radius:18px;box-shadow:0 1px 3px #0000001a;font-size:14px;line-height:1.4;padding:12px 16px;text-align:left}.message-text h1,.message-text h2,.message-text h3,.message-text h4,.message-text h5,.message-text h6{font-weight:600;margin:8px 0 4px}.message-text h1{font-size:1.2em}.message-text h2{font-size:1.15em}.message-text h3{font-size:1.1em}.message-text h4,.message-text h5,.message-text h6{font-size:1em}.message-text p{margin:4px 0}.message-text ol,.message-text ul{margin:8px 0;padding-left:20px}.message-text li{margin:2px 0}.message-text code{background:#0000001a;border-radius:3px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9em;padding:2px 4px}.message-text pre{background:#0000000d;border-left:3px solid #0078d4;border-radius:6px;margin:8px 0;overflow-x:auto;padding:8px 12px}.message-text pre code{background:none;padding:0}.message-text blockquote{border-left:3px solid #0078d4;color:#6c757d;font-style:italic;margin:8px 0;padding-left:12px}.message-text strong{font-weight:600}.message-text em{font-style:italic}.message-text a{color:#0078d4;text-decoration:none}.message-text a:hover{text-decoration:underline}.message-text table{border-collapse:collapse;font-size:.9em;margin:8px 0;width:100%}.message-text td,.message-text th{border:1px solid #e9ecef;padding:6px 8px;text-align:left}.message-text th{background:#f8f9fa;font-weight:600}.message.user .message-text code{background:#fff3}.message.user .message-text pre{background:#ffffff1a;border-left-color:#ffffff80}.message.user .message-text blockquote{border-left-color:#ffffff80;color:#fffc}.message.user .message-text{background:linear-gradient(135deg,#0078d4,#005a9e);border-bottom-right-radius:6px;color:#fff}.message.assistant .message-text{border-bottom-left-radius:6px}.message.error .message-text{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.message-time{color:#6c757d;font-size:11px;padding:0 4px}.message.user .message-time{text-align:right}.typing-indicator{background:#fff;border-radius:18px;border-bottom-left-radius:6px;display:flex;gap:4px;padding:12px 16px}.typing-indicator span{animation:typing 1.4s ease-in-out infinite;background:#6c757d;border-radius:50%;height:8px;width:8px}.typing-indicator span:first-child{animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{opacity:.5;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.chat-input-container{background:#fff;border-top:1px solid #e9ecef;flex-shrink:0;padding:16px 20px}.chat-input-wrapper{align-items:flex-end;display:flex;gap:12px;margin-bottom:12px}.chat-input{border:1px solid #d0d0d0;border-radius:20px;box-sizing:border-box;flex:1 1;font-family:inherit;font-size:14px;line-height:1.4;max-height:100px;min-height:20px;padding:12px 16px;resize:none;transition:border-color .2s ease;width:100%}.chat-input:focus{border-color:#0078d4;box-shadow:0 0 0 3px #0078d41a;outline:none}.chat-input:disabled{background:#f8f9fa;color:#6c757d}.chat-send-btn{align-items:center;background:linear-gradient(135deg,#0078d4,#005a9e);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:16px;height:40px;justify-content:center;transition:all .2s ease;width:40px}.chat-send-btn:hover:not(:disabled){background:linear-gradient(135deg,#106ebe,#004578);transform:scale(1.05)}.chat-send-btn:disabled{background:#6c757d;cursor:not-allowed;transform:none}@media (max-width:768px){.chat-toggle-btn{bottom:20px;padding:12px 16px;right:20px}.chat-label{display:none}.chat-window{bottom:80px;left:20px;max-width:none;right:20px;width:auto}.chat-messages{padding:16px}.message{max-width:90%}.chat-input-container{padding:12px 16px}}@media (max-width:480px){.chat-window{height:500px}.chat-header{padding:12px 16px}.chat-title h3{font-size:14px}}
/*# sourceMappingURL=main.91016c9b.css.map*/