*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#e3f6ff;font-family:Arial,Helvetica Neue,sans-serif;min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.login-container{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:20px}.login-card{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0000001a;max-width:480px;padding:48px;text-align:center;width:100%}.login-logo{height:48px;margin-bottom:24px;max-width:100%}.login-title{color:#00326d;font-family:Arial Nova Light,Arial,sans-serif;font-size:24px;font-weight:400;margin-bottom:12px}.login-subtitle{color:#7c7c7c;font-size:15px;line-height:1.6;margin-bottom:32px}.login-btn{font-size:16px;justify-content:center;margin-bottom:24px;padding:16px;width:100%}.login-footer{color:#7c7c7c;font-size:13px;margin-top:24px}:root{--color-navy:#00326d;--color-blue:#0082de;--color-blue-light:#85c9fc;--color-blue-pale:#e3f6ff;--color-gray-dark:#303030;--color-gray:#7c7c7c;--color-gray-light:#f0f0f0;--color-white:#fff;--color-score-critical:#f14827;--color-score-warning:#f4a806;--color-score-caution:#ecd16a;--color-score-good:#aabf5d;--color-score-excellent:#6d973e;--color-score-info:#046dbc;--font-heading:"Arial Nova Light","Arial",sans-serif;--font-body:"Arial","Helvetica Neue",sans-serif;--sidebar-width:280px;--navbar-height:60px;--color-category-tool:#0082de;--color-category-tool-pale:#e3f6ff;--color-category-tool-tint:#f5faff;--color-category-tool-dark:#00326d;--color-category-resource:#ea580c;--color-category-resource-pale:#fff7ed;--color-category-resource-tint:#fffbf7;--color-category-resource-dark:#c2410c;--color-role-practitioner:#0082de;--color-role-practitioner-pale:#c9e8fb;--color-role-practitioner-tint:#e3f2fd;--color-role-business:#e05252;--color-role-business-pale:#f9caca;--color-role-business-tint:#fde8e8;--color-role-engineering:#059669;--color-role-engineering-pale:#b2dfce;--color-role-engineering-tint:#d7f0e5;--color-status-live:#6d973e;--color-status-live-pale:#f0f9e8;--color-status-live-tint:#f8fcf4;--color-status-beta:#7c3aed;--color-status-beta-pale:#f3e8ff;--color-status-beta-tint:#faf5ff;--color-status-indev:#f4a806;--color-status-indev-pale:#fef9e7;--color-status-indev-tint:#fffdf5}.App{min-height:100vh}.layout{flex-direction:column;min-height:100vh}.layout,.layout-body{display:flex;width:100%}.layout-body{flex:1 1}.layout-content{background:#f0f0f0;background:var(--color-gray-light);flex:1 1;margin-left:280px;margin-left:var(--sidebar-width);min-width:0;overflow-y:auto;padding:84px 24px 24px;padding-top:calc(var(--navbar-height) + 24px);transition:margin-left .3s ease}.layout-content.sidebar-hidden{margin-left:0}.sidebar{background:#fff;background:var(--color-white);border-right:1px solid #f0f0f0;border-right:1px solid var(--color-gray-light);bottom:0;display:flex;flex-direction:column;left:0;overflow:hidden;position:fixed;top:60px;top:var(--navbar-height);transition:width .3s ease,transform .3s ease;width:280px;width:var(--sidebar-width);z-index:90}.sidebar.mobile-closed{transform:translateX(-100%)}.sidebar.mobile-open{box-shadow:4px 0 24px #00000026;transform:translateX(0)}.sidebar-overlay{background:#00000080;bottom:0;left:0;position:fixed;right:0;top:60px;top:var(--navbar-height);z-index:85}.sidebar-content{display:flex;flex:1 1;flex-direction:column;overflow-y:auto;padding:16px 0}.sidebar-loading{color:#7c7c7c;color:var(--color-gray);font-size:13px;padding:16px;text-align:center}.sidebar-home-link{align-items:center;border-radius:6px;color:#303030;color:var(--color-gray-dark);display:flex;font-size:14px;font-weight:600;gap:12px;margin:0 8px;padding:12px 16px;text-decoration:none;transition:background-color .2s,color .2s}.sidebar-home-link:hover{background:#f0f0f0;background:var(--color-gray-light)}.sidebar-home-link.active{background:#e3f6ff;background:var(--color-blue-pale);color:#0082de;color:var(--color-blue)}.sidebar-home-link svg{flex-shrink:0}.sidebar-section{margin-bottom:8px}.sidebar-section-header{align-items:center;background:none;border:none;color:#7c7c7c;color:var(--color-gray);cursor:pointer;display:flex;font-size:11px;font-weight:600;justify-content:space-between;letter-spacing:.5px;padding:10px 16px;text-transform:uppercase;transition:background-color .2s;width:100%}.sidebar-section-header:hover{background:#f0f0f0;background:var(--color-gray-light)}.sidebar-section-title{flex:1 1;text-align:left}.sidebar-section-initial{align-items:center;background:#f0f0f0;background:var(--color-gray-light);border-radius:4px;color:#303030;color:var(--color-gray-dark);display:flex;font-size:12px;font-weight:600;height:28px;justify-content:center;margin:0 auto;width:28px}.sidebar-section-content,.sidebar-section-content-collapsed{padding:4px 0}.sidebar-tool-item{align-items:center;color:#303030;color:var(--color-gray-dark);display:flex;font-size:13px;overflow:hidden;padding:8px 16px 8px 24px;text-decoration:none;text-overflow:ellipsis;transition:background-color .2s,color .2s;white-space:nowrap}.sidebar-tool-item:hover{background:#f0f0f0;background:var(--color-gray-light)}.sidebar-tool-item.active{background:#e3f6ff;background:var(--color-blue-pale);color:#0082de;color:var(--color-blue);font-weight:500}.sidebar-tool-name{overflow:hidden;text-overflow:ellipsis}.sidebar-tool-initial{align-items:center;background:#f0f0f0;background:var(--color-gray-light);border-radius:4px;color:#303030;color:var(--color-gray-dark);display:flex;font-size:11px;font-weight:600;height:28px;justify-content:center;margin:0 auto;transition:background-color .2s,color .2s;width:28px}.sidebar-tool-item.active .sidebar-tool-initial{background:#0082de;background:var(--color-blue);color:#fff;color:var(--color-white)}.sidebar-tool-item:hover .sidebar-tool-initial{background:#e3f6ff;background:var(--color-blue-pale);color:#0082de;color:var(--color-blue)}.filter-section{margin-bottom:4px;padding:8px 12px}.filter-section-title{color:#0082de;color:var(--color-blue);font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:10px;padding-left:4px;text-transform:uppercase}.filter-items{display:flex;flex-direction:column;gap:4px}.filter-item{align-items:center;background:#0000;border:none;border-left:3px solid #0000;border-radius:0 6px 6px 0;color:#7c7c7c;color:var(--color-gray);cursor:pointer;display:flex;font-size:13px;font-weight:400;gap:10px;padding:8px 12px;text-align:left;transition:all .15s ease;width:100%}.filter-item.selected,.filter-item:hover{background:#f0f0f0;background:var(--color-gray-light);color:#303030;color:var(--color-gray-dark)}.filter-item.selected{border-left-color:#00326d;border-left-color:var(--color-navy);font-weight:600}.filter-item-role[data-role=practitioner]:hover{background:#e3f2fd;background:var(--color-role-practitioner-tint)}.filter-item-role[data-role=practitioner].selected,.filter-item-role[data-role=practitioner]:hover{border-left-color:#0082de;border-left-color:var(--color-role-practitioner);color:#0082de;color:var(--color-role-practitioner)}.filter-item-role[data-role=practitioner].selected{background:#c9e8fb;background:var(--color-role-practitioner-pale)}.filter-item-role[data-role=business]:hover{background:#fde8e8;background:var(--color-role-business-tint)}.filter-item-role[data-role=business].selected,.filter-item-role[data-role=business]:hover{border-left-color:#e05252;border-left-color:var(--color-role-business);color:#e05252;color:var(--color-role-business)}.filter-item-role[data-role=business].selected{background:#f9caca;background:var(--color-role-business-pale)}.filter-item-role[data-role=engineering]:hover{background:#d7f0e5;background:var(--color-role-engineering-tint)}.filter-item-role[data-role=engineering].selected,.filter-item-role[data-role=engineering]:hover{border-left-color:#059669;border-left-color:var(--color-role-engineering);color:#059669;color:var(--color-role-engineering)}.filter-item-role[data-role=engineering].selected{background:#b2dfce;background:var(--color-role-engineering-pale)}.status-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.category-icon{align-items:center;color:inherit;display:inline-flex;flex-shrink:0;justify-content:center}.filter-item-label{flex:1 1}.clear-filters-btn{align-items:center;background:#0000;border:1px solid #f14827;border:1px solid var(--color-score-critical);border-radius:6px;color:#f14827;color:var(--color-score-critical);cursor:pointer;display:flex;font-size:12px;gap:6px;justify-content:center;margin:0 12px;padding:8px 12px;transition:all .15s ease;width:calc(100% - 24px)}.clear-filters-btn:hover{background:#f14827;background:var(--color-score-critical);color:#fff;color:var(--color-white)}.sidebar-spacer{flex:1 1;min-height:20px}.sidebar-feedback{border-top:1px solid #f0f0f0;border-top:1px solid var(--color-gray-light);padding:12px 16px}.feedback-link{align-items:center;border-radius:6px;color:#7c7c7c;color:var(--color-gray);display:flex;font-size:13px;gap:8px;padding:8px 12px;text-decoration:none;transition:all .15s ease}.feedback-link:hover{background:#f0f0f0;background:var(--color-gray-light);color:#303030;color:var(--color-gray-dark)}.empty-filter-state{align-items:center;color:#7c7c7c;color:var(--color-gray);display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.empty-filter-state svg{margin-bottom:16px;opacity:.5}.empty-filter-state h3{color:#303030;color:var(--color-gray-dark);font-size:18px;font-weight:500;margin:0 0 8px}.empty-filter-state p{font-size:14px;margin:0 0 20px;max-width:300px}.navbar{background:#fff;background:var(--color-white);box-shadow:0 2px 4px #00000014;height:60px;height:var(--navbar-height);left:0;padding:12px 0;position:fixed;right:0;top:0;z-index:100}.navbar,.navbar-content{align-items:center;display:flex}.navbar-content{justify-content:space-between;padding:0 20px;position:relative;width:100%}.navbar-left{gap:12px}.navbar-hamburger,.navbar-left{align-items:center;display:flex}.navbar-hamburger{background:none;border:none;border-radius:6px;color:#303030;color:var(--color-gray-dark);cursor:pointer;height:40px;justify-content:center;transition:background-color .2s;width:40px}.navbar-hamburger:hover{background:#f0f0f0;background:var(--color-gray-light)}.navbar-brand{align-items:center;display:flex}.navbar-brand img{height:36px;position:relative;top:-4px;width:auto}.navbar-links{align-items:center;display:flex;gap:20px}.navbar-links a{color:#303030;color:var(--color-gray-dark);font-weight:500;text-decoration:none;transition:color .2s ease}.navbar-links a:hover{color:#0082de;color:var(--color-blue)}.navbar-search{align-items:center;display:flex;left:324px;left:calc(var(--sidebar-width) + 44px);position:absolute;width:640px}.navbar-search-icon{color:#7c7c7c;color:var(--color-gray);left:12px;pointer-events:none;position:absolute}.navbar-search-input{background:#f0f0f0;background:var(--color-gray-light);border:1px solid #f0f0f0;border:1px solid var(--color-gray-light);border-radius:8px;color:#303030;color:var(--color-gray-dark);font-family:Arial,Helvetica Neue,sans-serif;font-family:var(--font-body);font-size:14px;outline:none;padding:8px 40px 8px 36px;transition:border-color .2s,background-color .2s;width:100%}.navbar-search-input::placeholder{color:#7c7c7c;color:var(--color-gray)}.navbar-search-input:focus{background:#fff;background:var(--color-white);border-color:#85c9fc;border-color:var(--color-blue-light);box-shadow:0 0 0 3px #0082de1a}.navbar-search-clear{align-items:center;background:none;border:none;border-radius:50%;color:#7c7c7c;color:var(--color-gray);cursor:pointer;display:flex;height:22px;justify-content:center;padding:0;position:absolute;right:6px;width:22px}.navbar-search-clear:hover{background:#00000014;color:#303030;color:var(--color-gray-dark)}.navbar-search-shortcut{align-items:center;display:flex;pointer-events:none;position:absolute;right:10px}.navbar-search-shortcut kbd{align-items:center;background:#fff;background:var(--color-white);border:1px solid #0000001f;border-radius:4px;color:#7c7c7c;color:var(--color-gray);display:inline-flex;font-family:Arial,Helvetica Neue,sans-serif;font-family:var(--font-body);font-size:12px;height:22px;justify-content:center;min-width:22px;padding:0 5px}.home-content{padding-top:0}.container{padding:20px;width:100%}.card{background:#fff;background:var(--color-white);border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:20px;padding:24px}.btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;letter-spacing:.5px;padding:10px 20px;text-decoration:none;text-transform:uppercase;transition:all .2s ease}.btn-primary{background:#0082de;background:var(--color-blue);color:#fff;color:var(--color-white)}.btn-primary:hover{background:#00326d;background:var(--color-navy);box-shadow:0 4px 8px #00326d33;transform:translateY(-1px)}.btn-secondary{background:#f0f0f0;background:var(--color-gray-light);color:#303030;color:var(--color-gray-dark)}.btn-secondary:hover{background:#e0e0e0}.btn-outline{background:#0000;border:2px solid #0082de;border:2px solid var(--color-blue);color:#0082de;color:var(--color-blue)}.btn-outline:hover{background:#0082de;background:var(--color-blue);color:#fff;color:var(--color-white)}.btn:disabled,.btn[disabled]{cursor:not-allowed;opacity:.6}.btn-large{font-size:15px;padding:14px 28px}.user-menu{position:relative}.user-button{align-items:center;background:none;border:none;border-radius:.5rem;color:#303030;color:var(--color-gray-dark);cursor:pointer;display:flex;gap:.75rem;padding:.5rem;transition:background-color .2s}.user-button:hover{background-color:#f0f0f0;background-color:var(--color-gray-light)}.user-avatar{align-items:center;background-color:#0082de;background-color:var(--color-blue);border-radius:50%;color:#fff;display:flex;font-size:.875rem;font-weight:600;height:36px;justify-content:center;width:36px}.user-info-text{align-items:flex-start;display:flex;flex-direction:column;text-align:left}.user-name{font-size:.8125rem;font-weight:500;line-height:1.25rem}.user-email{font-size:.75rem;line-height:1rem}.chevron,.user-email{color:#7c7c7c;color:var(--color-gray)}.chevron{transition:transform .2s}.chevron.open{transform:rotate(180deg)}.dropdown-menu{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;margin-top:.5rem;min-width:160px;padding:.5rem 0;position:absolute;right:0;top:100%;z-index:50}.menu-item{align-items:center;background:none;border:none;color:#303030;color:var(--color-gray-dark);cursor:pointer;display:flex;font-size:.875rem;gap:.75rem;padding:.5rem 1rem;text-align:left;transition:background-color .2s;width:100%}.menu-item:hover{background-color:#f0f0f0;background-color:var(--color-gray-light)}.menu-item svg{color:#7c7c7c;color:var(--color-gray)}.table{border-collapse:collapse;width:100%}.table td,.table th{border-bottom:1px solid #f0f0f0;border-bottom:1px solid var(--color-gray-light);padding:12px;text-align:left}.table th{color:#7c7c7c;color:var(--color-gray);font-weight:600}.table th,.table tr:hover{background:#f8fafc}.loading{color:#7c7c7c;color:var(--color-gray);padding:40px;text-align:center}.error{background:#fee;border:1px solid #fcc;border-radius:8px;color:#f14827;color:var(--color-score-critical);margin-bottom:20px;padding:16px}.portal-header{padding:40px 20px 20px;text-align:center}.portal-header h1{color:#00326d;color:var(--color-navy);font-family:Arial Nova Light,Arial,sans-serif;font-family:var(--font-heading);font-size:28px;font-weight:400}.portal-section{margin-bottom:48px}.portal-section+.portal-section{margin-top:12px}.portal-section:first-of-type{margin-top:0}.section-title{border-bottom:1px solid var(--color-border);color:#303030;color:var(--color-gray-dark);font-family:Arial Nova Light,Arial,sans-serif;font-family:var(--font-heading);font-size:14px;font-weight:600;letter-spacing:1.5px;margin-bottom:24px;padding-bottom:12px;padding-left:20px;padding-right:20px;text-transform:uppercase}.section-title:has(+.section-description){border-bottom:none;margin-bottom:8px;padding-bottom:0}.section-description{color:#7c7c7c;color:var(--color-gray);font-size:14px;line-height:1.6;margin:0 0 24px;padding:0 20px}.tool-grid-featured{align-items:stretch;grid-template-columns:repeat(3,1fr);margin-bottom:20px}.tool-grid-featured .tool-card{border-left-width:5px;box-shadow:0 4px 12px #0000001a;padding:16px 18px}.tool-grid-featured .tool-card .tool-name{font-size:16px}.tool-grid-featured .tool-card .tool-description{-webkit-line-clamp:2;min-height:36.25px}@media (max-width:900px){.tool-grid-featured{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}.portal-section h2:not(.section-title){color:#303030;color:var(--color-gray-dark);font-family:Arial Nova Light,Arial,sans-serif;font-family:var(--font-heading);font-size:20px;font-weight:400;margin-bottom:20px;text-align:center}.tool-grid{grid-gap:16px;align-items:stretch;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));padding:0 20px}.tool-card{background:#fff;background:var(--color-white);border-left:4px solid #0000;border-radius:12px;box-shadow:0 2px 8px #0000000f;cursor:pointer;display:flex;flex-direction:column;padding:14px 16px;position:relative;transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease}.tool-card-practitioner{border-left-color:#0082de;border-left-color:var(--color-role-practitioner)}.tool-card-business{border-left-color:#e05252;border-left-color:var(--color-role-business)}.tool-card-engineering{border-left-color:#059669;border-left-color:var(--color-role-engineering)}.tool-card:hover{box-shadow:0 4px 16px #0000001a;transform:translateY(-2px)}.tool-card-top-row{align-items:flex-start;display:flex;gap:10px;justify-content:space-between;margin-bottom:10px}.tool-card-top-right{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:4px}.tool-card-icon-square{align-items:center;background:#f0f0f0;background:var(--color-gray-light);border-radius:8px;color:#fff;color:var(--color-white);display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.tool-card-icon-square.role-practitioner{background:#c9e8fb;background:var(--color-role-practitioner-pale);color:#0082de;color:var(--color-role-practitioner)}.tool-card-icon-square.role-business{background:#f9caca;background:var(--color-role-business-pale);color:#e05252;color:var(--color-role-business)}.tool-card-icon-square.role-engineering{background:#b2dfce;background:var(--color-role-engineering-pale);color:#059669;color:var(--color-role-engineering)}.tool-card-icon-square.icon-image{background:#f0f0f0;background:var(--color-gray-light)}.tool-card-icon-square.icon-image.role-practitioner{background:#c9e8fb;background:var(--color-role-practitioner-pale)}.tool-card-icon-square.icon-image.role-business{background:#f9caca;background:var(--color-role-business-pale)}.tool-card-icon-square.icon-image.role-engineering{background:#b2dfce;background:var(--color-role-engineering-pale)}.tool-card-icon-square.small{border-radius:8px;height:36px;width:36px}.tool-card-icon-square .tool-icon-svg{color:inherit}.star-btn{align-items:center;background:#0000;border:none;border-radius:4px;color:#7c7c7c;color:var(--color-gray);cursor:pointer;display:flex;height:28px;justify-content:center;padding:0;transition:all .15s ease;width:28px}.star-btn:hover{color:#f4a806;transform:scale(1.15)}.star-btn.starred{color:#f4a806}.tool-card-body{flex:1 1;margin-bottom:0;position:relative}.tool-icon{font-size:24px;line-height:1}.tool-card-icon{flex-shrink:0}.tool-icon-img{display:inline-block;object-fit:contain;vertical-align:middle}.tool-icon-svg{align-items:center;color:#7c7c7c;color:var(--color-gray);display:inline-flex;justify-content:center}.tool-icon-svg svg{height:100%;width:100%}.tool-name{color:#303030;color:var(--color-gray-dark);display:block;font-family:Arial,Helvetica Neue,sans-serif;font-family:var(--font-body);font-size:15px;font-weight:700;line-height:1.3;margin-bottom:4px}.tool-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#7c7c7c;color:var(--color-gray);display:-webkit-box;font-size:12.5px;line-height:1.45;margin-bottom:0;min-height:36.25px;overflow:hidden}.tool-description b{color:#303030;color:var(--color-gray-dark);font-weight:600}.status-badge{align-items:center;border-radius:10px;display:inline-flex;font-size:11px;font-weight:500;gap:3px;padding:2px 6px}.status-badge.live{background:#f0f9e8;background:var(--color-status-live-pale);color:#6d973e;color:var(--color-status-live)}.status-badge.beta{background:#f3e8ff;background:var(--color-status-beta-pale);color:#7c3aed;color:var(--color-status-beta)}.status-badge.in-dev{background:#fef9e7;background:var(--color-status-indev-pale);color:#e65100}.tool-action{margin-top:auto}.tool-action .btn{font-size:11px;padding:8px 12px;text-align:center;width:100%}.tool-action .btn-launch{background:#0082de;background:var(--color-blue);color:#fff;color:var(--color-white)}.tool-action .btn-launch:hover{background:#00326d;background:var(--color-navy)}.tool-action .btn-guide{background:#f0f0f0;background:var(--color-gray-light);color:#303030;color:var(--color-gray-dark)}.tool-action .btn-guide:hover{background:#e0e0e0}.tool-card-backdrop{animation:fadeIn .2s ease;background:#0006;bottom:0;left:0;position:fixed;right:0;top:0;z-index:100}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.tool-card-backdrop.fading-out{animation:fadeOut .25s ease-in forwards}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.tool-card.expanded{animation:expandFromOrigin .3s cubic-bezier(.34,1.56,.64,1);box-shadow:0 20px 60px #0000004d;cursor:default;left:50%;max-height:80vh;max-width:500px;overflow-y:auto;position:fixed;top:50%;transform:translate(-50%,-50%);width:90%;z-index:101}@keyframes expandFromOrigin{0%{left:var(--expand-origin-x);max-width:var(--expand-origin-width);opacity:.8;top:var(--expand-origin-y);transform:translate(-50%,-50%) scale(.5);width:var(--expand-origin-width)}to{left:50%;max-width:500px;opacity:1;top:50%;transform:translate(-50%,-50%) scale(1);width:90%}}.tool-card.expanded.collapsing{animation:collapseToOrigin .25s ease-in forwards}@keyframes collapseToOrigin{0%{left:50%;max-width:500px;opacity:1;top:50%;transform:translate(-50%,-50%) scale(1);width:90%}to{left:var(--expand-origin-x);max-width:var(--expand-origin-width);opacity:0;top:var(--expand-origin-y);transform:translate(-50%,-50%) scale(.5);width:var(--expand-origin-width)}}.tool-card.expanded .tool-card-body{min-height:auto}.tool-card.expanded .tool-description{-webkit-line-clamp:unset;min-height:auto;overflow:visible}.tool-card-close{align-items:center;background:none;border:none;border-radius:4px;color:#7c7c7c;color:var(--color-gray);cursor:pointer;display:flex;justify-content:center;padding:4px;transition:all .15s ease}.tool-card-close:hover{background:#f0f0f0;background:var(--color-gray-light);color:#303030;color:var(--color-gray-dark)}.tool-card-expanded-content{border-top:1px solid #f0f0f0;border-top:1px solid var(--color-gray-light);margin-top:16px;padding-top:16px}.tool-expanded-links h4{color:#7c7c7c;color:var(--color-gray);font-size:12px;font-weight:600;letter-spacing:.5px;margin:0 0 12px;text-transform:uppercase}.tool-links-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,1fr);margin-bottom:16px}.tool-expanded-link{align-items:center;background:#f0f0f0;background:var(--color-gray-light);border:none;border-radius:6px;color:#303030;color:var(--color-gray-dark);cursor:pointer;display:flex;font-size:13px;justify-content:space-between;padding:10px 12px;text-align:left;transition:all .15s ease}.tool-expanded-link:hover{background:#e3f6ff;background:var(--color-blue-pale);color:#0082de;color:var(--color-blue)}.tool-expanded-link svg{flex-shrink:0;opacity:.5}.tool-expanded-link:hover svg{opacity:1}.suggest-listing-update{color:#7c7c7c;color:var(--color-gray);display:block;font-size:12px;margin-top:10px;text-align:center;text-decoration:none;transition:color .15s ease}.suggest-listing-update:hover{color:#0082de;color:var(--color-blue);text-decoration:underline}.btn-launch-full{align-items:center;background:#0082de;background:var(--color-blue);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;justify-content:center;padding:14px 20px;transition:all .15s ease;width:100%}.btn-launch-full:hover{background:#00326d;background:var(--color-navy)}.tool-card-practitioner .btn-launch-full{background:#0082de;background:var(--color-role-practitioner)}.tool-card-practitioner .btn-launch-full:hover{background:#00326d;background:var(--color-navy)}.tool-card-business .btn-launch-full{background:#e05252;background:var(--color-role-business)}.tool-card-business .btn-launch-full:hover{background:#c73e3e}.tool-card-engineering .btn-launch-full{background:#059669;background:var(--color-role-engineering)}.tool-card-engineering .btn-launch-full:hover{background:#047857}.drag-handle{align-items:center;border-radius:0 12px 0 8px;color:#f0f0f0;color:var(--color-gray-light);cursor:grab;display:flex;height:40px;justify-content:center;pointer-events:none;position:absolute;right:0;top:0;transition:color .15s ease,background-color .15s ease;width:40px;z-index:2}.drag-handle:hover{background:#f0f0f0;background:var(--color-gray-light);color:#7c7c7c;color:var(--color-gray)}.starred-section{margin-bottom:32px}.starred-row{-webkit-overflow-scrolling:touch;display:flex;gap:16px;overflow-x:auto;padding:0 20px 8px;scrollbar-width:thin}.starred-row::-webkit-scrollbar{height:4px}.starred-row::-webkit-scrollbar-track{background:#0000}.starred-row::-webkit-scrollbar-thumb{background:#f0f0f0;background:var(--color-gray-light);border-radius:2px}.starred-card{align-items:center;background:#fff;background:var(--color-white);border:1px solid #f0f0f0;border:1px solid var(--color-gray-light);border-radius:10px;box-shadow:0 2px 8px #0000000f;cursor:pointer;display:flex;flex-shrink:0;gap:12px;max-width:260px;min-width:180px;padding:12px 16px;transition:box-shadow .2s ease,transform .2s ease}.starred-card:hover{box-shadow:0 4px 16px #0000001a;transform:translateY(-2px)}.tool-card-icon-square.starred-icon{border-radius:8px;height:36px;width:36px}.starred-card-info{align-items:center;display:flex;min-width:0}.starred-card-name{color:#303030;color:var(--color-gray-dark);font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-footer{color:#7c7c7c;color:var(--color-gray);font-size:13px;padding:40px 20px;text-align:center}@media (max-width:768px){.layout-content{margin-left:0;padding:64px 16px 16px;padding-top:calc(var(--navbar-height) + 4px)}.sidebar{transform:translateX(-100%);width:280px;width:var(--sidebar-width)}.tool-grid{padding:0 16px}.tool-grid,.tool-grid-featured{grid-template-columns:1fr}.section-description{padding:0 16px}.portal-header{padding:24px 16px 16px}.portal-header h1{font-size:22px}.navbar-content{padding:0 16px}.navbar-brand img{height:28px}.navbar-search{flex:1 1;margin:0 12px;min-width:0;position:static;width:auto}.navbar-search-shortcut,.user-info-text{display:none}}@media (max-width:480px){.tool-card{padding:12px 14px}.btn{padding:12px 16px}.tool-card.expanded{max-height:90vh;width:95%}.tool-links-grid{grid-template-columns:1fr}}.year-trigger{cursor:default;-webkit-user-select:none;user-select:none}.admin-mode-active{position:relative}.admin-mode-active:before{border:3px solid #0082de;border:3px solid var(--color-blue);bottom:0;content:"";left:0;pointer-events:none;position:fixed;right:0;top:0;z-index:9998}.error-banner{background:#fff3e0;color:#e65100;font-size:13px;margin-bottom:16px;padding:8px 16px;text-align:center}.admin-panel-overlay{background:#00000080;bottom:0;display:flex;justify-content:flex-end;left:0;position:fixed;right:0;top:0;z-index:10000}.admin-panel{animation:slideIn .3s ease-out;background:#fff;background:var(--color-white);box-shadow:-4px 0 24px #00000026;display:flex;flex-direction:column;height:100%;max-width:600px;width:100%}@keyframes slideIn{0%{transform:translateX(100%)}to{transform:translateX(0)}}.admin-panel-header{align-items:center;background:#00326d;background:var(--color-navy);border-bottom:1px solid #f0f0f0;border-bottom:1px solid var(--color-gray-light);color:#fff;color:var(--color-white);display:flex;justify-content:space-between;padding:16px 20px}.admin-panel-header h2{font-size:18px;font-weight:500;margin:0}.admin-close-btn{align-items:center;background:none;border:none;border-radius:4px;color:#fff;color:var(--color-white);cursor:pointer;display:flex;justify-content:center;padding:4px;transition:background-color .2s}.admin-close-btn:hover{background:#ffffff1a}.admin-panel-content{flex:1 1;overflow-y:auto;padding:20px}.admin-panel-content h3{color:#303030;color:var(--color-gray-dark);font-size:14px;font-weight:600;letter-spacing:.5px;margin:0 0 12px;text-transform:uppercase}.admin-edit-header{border-bottom:1px solid #f0f0f0;border-bottom:1px solid var(--color-gray-light);justify-content:space-between;margin-bottom:12px;padding-bottom:12px}.admin-edit-header,.btn-back{align-items:center;display:flex}.btn-back{background:none;border:none;border-radius:4px;color:#0082de;color:var(--color-blue);cursor:pointer;font-size:13px;gap:6px;padding:4px 8px;transition:background-color .2s}.btn-back:hover{background:#e3f6ff;background:var(--color-blue-pale)}.btn-delete-tool{align-items:center;background:none;border:1px solid #f14827;border:1px solid var(--color-score-critical);border-radius:4px;color:#f14827;color:var(--color-score-critical);cursor:pointer;display:flex;font-size:12px;gap:6px;padding:6px 12px;transition:all .2s}.btn-delete-tool:hover{background:#f14827;background:var(--color-score-critical);color:#fff}.btn-delete-tool:disabled{cursor:not-allowed;opacity:.5}.admin-actions-bar{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}.admin-sort-controls{align-items:center;display:flex;gap:8px;margin-left:auto}.admin-sort-controls label{color:#7c7c7c;color:var(--color-gray);font-size:13px}.admin-sort-select{font-size:13px;padding:6px 10px}.admin-sort-dir,.admin-sort-select{background:#fff;border:1px solid #f0f0f0;border:1px solid var(--color-gray-light);border-radius:6px}.admin-sort-dir{cursor:pointer;padding:6px}.admin-sort-dir:hover{background:#f0f0f0;background:var(--color-gray-light)}.admin-empty-state{color:#7c7c7c;color:var(--color-gray);padding:40px 20px;text-align:center}.admin-empty-state p{margin:0 0 12px}.admin-tool-section{margin-bottom:24px}.admin-tool-list{display:flex;flex-direction:column;gap:8px}.admin-tool-item{align-items:center;background:#f0f0f0;background:var(--color-gray-light);border-radius:6px;display:flex;justify-content:space-between;padding:12px 16px;transition:background-color .2s}.admin-tool-item:hover{background:#e8e8e8}.admin-tool-info{align-items:center;display:flex;flex:1 1;gap:12px;min-width:0}.admin-tool-name{color:#303030;color:var(--color-gray-dark);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-tool-status{border-radius:10px;font-size:11px;font-weight:500;padding:2px 8px;white-space:nowrap}.admin-tool-status.status-live{background:#e8f5e9;color:#2e7d32}.admin-tool-status.status-beta{background:#f3e5f5;color:#7b1fa2}.admin-tool-status.status-in-dev{background:#fff3e0;color:#e65100}.admin-tool-id{color:#7c7c7c;color:var(--color-gray);font-family:monospace;font-size:12px}.admin-tool-indicators{display:flex;gap:4px;margin-left:auto;margin-right:8px;position:relative}.indicator{border-radius:50%;cursor:default;height:8px;width:8px}.indicator.filled{background:#4caf50}.indicator.empty{background:#e0e0e0;border:1px solid #bdbdbd}.indicators-tooltip{background:#303030;background:var(--color-gray-dark);border-radius:6px;bottom:100%;box-shadow:0 2px 8px #0003;color:#fff;font-size:12px;margin-bottom:8px;opacity:0;padding:8px 10px;pointer-events:none;position:absolute;right:0;transition:opacity .15s,visibility .15s;visibility:hidden;white-space:nowrap;z-index:100}.admin-tool-indicators:hover .indicators-tooltip{opacity:1;visibility:visible}.tooltip-row{align-items:center;display:flex;gap:8px;padding:3px 0}.tooltip-dot{border-radius:50%;flex-shrink:0;height:6px;width:6px}.tooltip-dot.filled{background:#4caf50}.tooltip-dot.empty{background:#e0e0e0}.tooltip-label{flex:1 1}.tooltip-status{font-weight:500}.tooltip-row.set .tooltip-status{color:#81c784}.tooltip-row.missing .tooltip-status{color:#ffab91}.admin-tool-actions{display:flex;gap:8px}.btn-icon{align-items:center;background:none;border:none;border-radius:4px;color:#7c7c7c;color:var(--color-gray);cursor:pointer;display:flex;justify-content:center;padding:8px;transition:all .2s}.btn-icon:hover{background:#fff;background:var(--color-white);color:#0082de;color:var(--color-blue)}.btn-icon-danger:hover{color:#f14827;color:var(--color-score-critical)}.btn-icon-sm{padding:2px}.btn-icon:disabled{cursor:default;opacity:.25}.btn-icon:disabled:hover{background:none;color:#7c7c7c;color:var(--color-gray)}.admin-tool-order-controls{align-items:center;display:flex;flex-direction:column;gap:0;margin-right:8px;min-width:32px}.admin-tool-order-num{color:#7c7c7c;color:var(--color-gray);font-size:10px;line-height:1}.role-checkbox-group{display:flex;flex:1 1;gap:6px;min-width:0}.role-checkbox{align-items:center;background:#fff;background:var(--color-white);border:1.5px solid #ddd;border-radius:4px;color:#7c7c7c;color:var(--color-gray);cursor:pointer;display:flex;flex:1 1;font-size:12px;font-weight:500;justify-content:center;min-width:0;padding:5px 0;text-align:center;transition:all .15s;-webkit-user-select:none;user-select:none}.role-checkbox input[type=checkbox],.role-checkbox-dot{display:none}.role-checkbox:hover{background:#f5f5f5;border-color:#bbb}.role-checked-practitioner{color:#fff;color:var(--color-white)}.role-checked-practitioner,.role-checked-practitioner:hover{background:#0082de;background:var(--color-role-practitioner);border-color:#0082de;border-color:var(--color-role-practitioner)}.role-checked-practitioner:hover{opacity:.9}.role-checked-business{color:#fff;color:var(--color-white)}.role-checked-business,.role-checked-business:hover{background:#e05252;background:var(--color-role-business);border-color:#e05252;border-color:var(--color-role-business)}.role-checked-business:hover{opacity:.9}.role-checked-engineering{color:#fff;color:var(--color-white)}.role-checked-engineering,.role-checked-engineering:hover{background:#059669;background:var(--color-role-engineering);border-color:#059669;border-color:var(--color-role-engineering)}.role-checked-engineering:hover{opacity:.9}.admin-message{border-radius:6px;font-size:14px;margin:0 20px 16px;padding:12px 16px}.admin-message.success{background:#e8f5e9;color:#2e7d32}.admin-message.error{background:#ffebee;color:#c62828}.tool-edit-form{display:flex;flex-direction:column;gap:12px}.form-section{background:#f0f0f0;background:var(--color-gray-light);border-radius:6px;overflow:hidden;padding:10px 12px}.form-section h4{color:#7c7c7c;color:var(--color-gray);font-size:11px;font-weight:600;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.form-grid{grid-gap:8px 12px;display:grid;gap:8px 12px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.form-group{align-items:center;display:flex;gap:8px}.form-group label{color:#303030;color:var(--color-gray-dark);flex-shrink:0;font-size:12px;font-weight:500;text-align:right;width:60px}.form-group input,.form-group select,.form-group textarea{background:#fff;background:var(--color-white);border:1px solid #d0d0d0;border-radius:4px;box-sizing:border-box;flex:1 1;font-size:13px;min-width:0;padding:6px 10px;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#0082de;border-color:var(--color-blue);box-shadow:0 0 0 2px #0082de1a;outline:none}.form-group input:disabled{background:#f5f5f5;color:#7c7c7c;color:var(--color-gray);cursor:not-allowed}.form-group textarea{min-height:44px;resize:vertical}.form-group-wide{grid-column:1/-1}.form-group-wide label{align-self:flex-start;padding-top:6px}.form-row{grid-gap:8px 12px;display:grid;gap:8px 12px;grid-template-columns:1fr 1fr}.form-row .form-group{margin-bottom:0}.rich-text-editor{word-wrap:break-word;background:#fff;background:var(--color-white);border:1px solid #d0d0d0;border-radius:4px;box-sizing:border-box;flex:1 1;font-size:13px;max-height:100px;min-height:44px;min-width:0;overflow-wrap:break-word;overflow-x:hidden;overflow-y:auto;padding:6px 10px;white-space:pre-wrap}.rich-text-editor:focus{border-color:#0082de;border-color:var(--color-blue);box-shadow:0 0 0 2px #0082de1a;outline:none}.rich-text-editor:empty:before{color:#999;content:attr(data-placeholder);pointer-events:none}.rich-text-editor b,.rich-text-editor strong{font-weight:600}.form-group-checkbox{align-items:center;display:flex;gap:8px}.form-group-checkbox input[type=checkbox]{cursor:pointer;flex:0 0 auto;height:18px;width:18px}.form-group-checkbox .checkbox-label{color:#7c7c7c;color:var(--color-gray);flex:1 1;font-size:12px}.form-group-roles{align-items:flex-start;flex-direction:column;gap:8px}.form-group-roles label{text-align:left;width:auto}.form-roles-checkboxes{display:flex;flex-wrap:wrap;gap:16px 24px;width:100%}.form-checkbox-label{align-items:center;cursor:pointer;display:flex;font-size:14px;gap:8px}.form-checkbox-label input[type=checkbox]{accent-color:#0082de;accent-color:var(--color-blue,#0082de);cursor:pointer;flex-shrink:0;height:18px;width:18px}.form-hint{display:block;font-size:12px;margin-top:6px}.form-group-with-toggle{min-width:0;position:relative}.input-with-toggle{align-items:center;display:flex;gap:6px}.input-with-toggle,.input-with-toggle input{flex:1 1;min-width:0}.icon-picker{display:flex;flex:1 1;flex-direction:column;gap:6px;min-width:0}.icon-picker-header{align-items:center;display:flex;gap:8px}.icon-picker-search{border:1px solid #d0d0d0;border-radius:4px;flex:1 1;font-size:12px;min-width:0;outline:none;padding:5px 8px}.icon-picker-search:focus{border-color:#0082de;border-color:var(--color-blue);box-shadow:0 0 0 2px #0082de1a}.icon-picker-grid{background:#fafafa;background:var(--color-background,#fafafa);border:1px solid #e0e0e0;border:1px solid var(--color-border,#e0e0e0);border-radius:6px;display:flex;flex-wrap:wrap;gap:3px;max-height:160px;overflow-y:auto;padding:2px}.icon-picker-item{align-items:center;background:#fff;background:var(--color-surface,#fff);border:1.5px solid #0000;border-radius:5px;color:#555;color:var(--text-secondary,#555);cursor:pointer;display:flex;height:32px;justify-content:center;padding:0;transition:all .12s ease;width:32px}.icon-picker-item:hover{background:#0066cc0f}.icon-picker-item.selected,.icon-picker-item:hover{border-color:#06c;border-color:var(--color-primary,#06c);color:#06c;color:var(--color-primary,#06c)}.icon-picker-item.selected{background:#0066cc1f;box-shadow:0 0 0 1px #06c;box-shadow:0 0 0 1px var(--color-primary,#06c)}.icon-picker-none{color:#999;color:var(--text-muted,#999);font-size:10px;font-weight:600}.icon-picker-empty{color:#888;color:var(--text-muted,#888);font-size:12px;padding:8px}.icon-picker-selected-label{align-items:center;color:#06c;color:var(--color-primary,#06c);display:flex;flex-shrink:0;font-size:11px;font-weight:500;gap:4px;white-space:nowrap}.visibility-toggle{align-items:center;background:#0000;border:none;border-radius:4px;cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;padding:0;transition:all .15s ease;width:28px}.visibility-toggle:hover{background:var(--color-background)}.visibility-toggle.visible{color:var(--color-primary)}.visibility-toggle.visible:hover{background:#0066cc14}.visibility-toggle.hidden{color:#f0f0f0;color:var(--color-gray-light)}.visibility-toggle.hidden:hover{color:#7c7c7c;color:var(--color-gray)}.form-group-wide.form-group-with-toggle{grid-column:1/-1}.form-group-wide .input-with-toggle input{flex:1 1}.form-error{color:#f14827;color:var(--color-score-critical);display:block;margin-top:2px}.form-error,.form-hint{font-size:11px;margin-left:98px}.form-hint{background:#fff;background:var(--color-white);border-radius:3px;color:#7c7c7c;color:var(--color-gray);margin-top:4px;padding:4px 8px}.form-hint span{color:#303030;color:var(--color-gray-dark)}.form-actions{border-top:1px solid #f0f0f0;border-top:1px solid var(--color-gray-light);display:flex;gap:8px;justify-content:flex-end;padding-top:12px}.form-actions .btn{font-size:12px;padding:8px 16px}@media (max-width:640px){.admin-panel{max-width:100%}.form-row{grid-template-columns:1fr}.admin-tool-info{flex-wrap:wrap}.admin-tool-id{flex-basis:100%;margin-top:4px}}.feedback-modal-overlay{align-items:center;animation:fadeIn .2s ease;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10001}.feedback-modal{animation:modalSlideUp .25s ease-out;background:#fff;background:var(--color-white);border-radius:12px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:85vh;max-width:560px;width:90%}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.feedback-modal-header{align-items:center;border-bottom:1px solid #f0f0f0;border-bottom:1px solid var(--color-gray-light);display:flex;justify-content:space-between;padding:16px 20px}.feedback-modal-header h2{color:#303030;color:var(--color-gray-dark);font-size:18px;font-weight:600;margin:0}.feedback-modal-close{align-items:center;background:none;border:none;border-radius:4px;color:#7c7c7c;color:var(--color-gray);cursor:pointer;display:flex;justify-content:center;padding:4px;transition:all .15s ease}.feedback-modal-close:hover{background:#f0f0f0;background:var(--color-gray-light);color:#303030;color:var(--color-gray-dark)}.feedback-tabs{border-bottom:1px solid #f0f0f0;border-bottom:1px solid var(--color-gray-light);display:flex;padding:0 20px}.feedback-tab{background:none;border:none;border-bottom:2px solid #0000;color:#7c7c7c;color:var(--color-gray);cursor:pointer;font-size:13px;font-weight:500;padding:10px 16px;transition:all .15s ease;white-space:nowrap}.feedback-tab:hover{color:#303030;color:var(--color-gray-dark)}.feedback-tab.active{border-bottom-color:#0082de;border-bottom-color:var(--color-blue);color:#0082de;color:var(--color-blue)}.feedback-modal-body{flex:1 1;overflow-y:auto;padding:20px}.feedback-form{gap:16px}.feedback-field,.feedback-form{display:flex;flex-direction:column}.feedback-field{gap:6px}.feedback-label{color:#303030;color:var(--color-gray-dark);font-size:13px;font-weight:500}.feedback-input,.feedback-select,.feedback-textarea{background:#fff;background:var(--color-white);border:1px solid #d0d0d0;border-radius:6px;font-family:Arial,Helvetica Neue,sans-serif;font-family:var(--font-body);font-size:14px;padding:8px 12px;transition:border-color .2s,box-shadow .2s}.feedback-input:focus,.feedback-select:focus,.feedback-textarea:focus{border-color:#0082de;border-color:var(--color-blue);box-shadow:0 0 0 2px #0082de1a;outline:none}.feedback-textarea{min-height:80px;resize:vertical}.feedback-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.feedback-checkboxes{display:flex;gap:16px}.feedback-checkbox-label{align-items:center;color:#303030;color:var(--color-gray-dark);cursor:pointer;display:flex;font-size:14px;gap:6px}.feedback-checkbox-label input[type=checkbox]{cursor:pointer;height:16px;width:16px}.feedback-tool-badge{align-items:center;background:#e3f6ff;background:var(--color-blue-pale);border-radius:6px;color:#0082de;color:var(--color-blue);display:inline-flex;font-size:14px;font-weight:500;padding:6px 12px}.feedback-error{background:#ffebee;border-radius:6px;color:#c62828;font-size:13px;margin-top:8px;padding:10px 14px}.feedback-success{align-items:center;display:flex;flex-direction:column;gap:12px;padding:32px 20px;text-align:center}.feedback-success h3{color:#303030;color:var(--color-gray-dark);font-size:20px;font-weight:600;margin:0}.feedback-success p{color:#7c7c7c;color:var(--color-gray);font-size:14px;margin:0}.feedback-success .btn{margin-top:8px}.feedback-actions{border-top:1px solid #f0f0f0;border-top:1px solid var(--color-gray-light);display:flex;gap:8px;justify-content:flex-end;margin-top:16px;padding-top:16px}@media (max-width:600px){.feedback-modal{max-height:90vh;width:95%}.feedback-row{grid-template-columns:1fr}.feedback-tabs{padding:0 12px}.feedback-tab{font-size:12px;padding:10px}}
/*# sourceMappingURL=main.19c759b9.css.map*/