:root{--sidebar-width: 260px;--header-height: 56px;--primary-color: #2c3e50;--primary-hover: #34495e;--accent-color: #3498db;--success-color: #27ae60;--warning-color: #f39c12;--danger-color: #e74c3c;--text-muted: #6c757d;--border-color: #dee2e6;--bg-light: #f8f9fa}.sidebar{position:fixed;top:0;left:0;height:100vh;width:var(--sidebar-width);background:linear-gradient(135deg, var(--primary-color) 0%, #1a252f 100%);color:#fff;z-index:1040;transition:all 0.3s ease;overflow-y:auto;overflow-x:hidden}.sidebar-header{padding:1.25rem 1rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,0.1);min-height:70px}.sidebar-brand{display:flex;align-items:center;text-decoration:none;color:#fff}.sidebar-brand img{height:24px;margin-right:10px}.sidebar-brand span{font-weight:700;font-size:1.25rem;transition:opacity 0.3s}.sidebar-nav{padding:1rem 0}.nav-section{margin-bottom:1.5rem}.section-title{font-size:0.7rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:rgba(255,255,255,0.5);padding:0 1rem;margin-bottom:0.5rem;white-space:nowrap}.nav-link-sidebar{display:flex;align-items:center;padding:0.75rem 1rem;color:rgba(255,255,255,0.8);text-decoration:none;transition:all 0.2s;border-left:3px solid transparent;white-space:nowrap}.nav-link-sidebar:hover{background:rgba(255,255,255,0.1);color:#fff}.nav-link-sidebar.active{background:rgba(255,255,255,0.15);color:#fff;border-left-color:var(--accent-color)}.nav-link-sidebar i{width:24px;font-size:1rem;margin-right:12px;text-align:center;flex-shrink:0}.nav-text{transition:opacity 0.3s;white-space:nowrap}.nav-submenu{list-style:none;padding:0;margin:0;max-height:0;overflow:hidden;transition:max-height 0.3s ease}.nav-submenu.show{max-height:500px}.nav-submenu .nav-link-sidebar{padding-left:3rem;font-size:0.9rem}.main-content{margin-left:var(--sidebar-width);min-height:100vh;transition:margin-left 0.3s ease;background:var(--bg-light)}.top-header{position:sticky;top:0;z-index:1030;background:#fff;border-bottom:1px solid var(--border-color);padding:0.75rem 1.5rem;display:flex;align-items:center;justify-content:space-between}.search-box{position:relative;max-width:400px;flex:1}.search-box input{padding-left:2.5rem;border-radius:25px;border:1px solid var(--border-color);background:var(--bg-light)}.search-box input:focus{background:#fff;box-shadow:0 0 0 3px rgba(52,152,219,0.15);border-color:var(--accent-color)}.search-box i{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--text-muted)}.content-wrapper{padding:1.5rem}.card{border:none;border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,0.06);margin-bottom:1.5rem}.card-header{background:#fff;border-bottom:1px solid var(--border-color);padding:1rem 1.25rem;font-weight:600}.table{margin-bottom:0}.table th{font-weight:600;font-size:0.85rem;text-transform:uppercase;letter-spacing:0.03em;color:var(--text-muted);border-top:none}.table td{vertical-align:middle}.badge{font-weight:500;padding:0.4em 0.8em}.score-badge{display:inline-flex;align-items:center;justify-content:center;width:45px;height:45px;border-radius:10px;font-weight:700;font-size:1rem}.score-badge.excellent{background:#d4edda;color:#155724}.score-badge.good{background:#cce5ff;color:#004085}.score-badge.average{background:#fff3cd;color:#856404}.score-badge.poor{background:#f8d7da;color:#721c24}.score-breakdown{background:#fff;border-radius:10px;padding:1.25rem;box-shadow:0 2px 8px rgba(0,0,0,0.06)}.score-breakdown-title{font-weight:600;margin-bottom:1rem;display:flex;align-items:center;justify-content:space-between}.score-component{display:flex;align-items:center;margin-bottom:0.75rem}.score-component-label{width:120px;font-size:0.85rem;color:var(--text-muted)}.score-component-bar{flex:1;height:8px;background:#e9ecef;border-radius:4px;margin:0 1rem;overflow:hidden}.score-component-fill{height:100%;border-radius:4px;transition:width 0.5s ease}.score-component-fill.expert{background:var(--accent-color)}.score-component-fill.user{background:var(--success-color)}.score-component-fill.article{background:var(--warning-color)}.score-component-value{width:40px;text-align:right;font-weight:600;font-size:0.9rem}.stat-card{background:#fff;border-radius:10px;padding:1.25rem;display:flex;align-items:center}.stat-icon{width:50px;height:50px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-right:1rem;font-size:1.25rem}.stat-icon.primary{background:rgba(52,152,219,0.1);color:var(--accent-color)}.stat-icon.success{background:rgba(39,174,96,0.1);color:var(--success-color)}.stat-icon.warning{background:rgba(243,156,18,0.1);color:var(--warning-color)}.stat-icon.danger{background:rgba(231,76,60,0.1);color:var(--danger-color)}.stat-content h3{font-size:1.5rem;font-weight:700;margin:0;line-height:1}.stat-content p{color:var(--text-muted);font-size:0.85rem;margin:0.25rem 0 0}@media (max-width: 991.98px){.sidebar{transform:translateX(-100%)}.sidebar.show{transform:translateX(0)}.main-content{margin-left:0}.sidebar-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.5);z-index:1035}.sidebar.show+.sidebar-overlay{display:block}}.text-truncate-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.hover-lift{transition:transform 0.2s, box-shadow 0.2s}.hover-lift:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,0.1)}.empty-state{text-align:center;padding:3rem 1rem;color:var(--text-muted)}.empty-state i{font-size:3rem;margin-bottom:1rem;opacity:0.5}.btn-action{padding:0.25rem 0.5rem;font-size:0.8rem;border-radius:5px}.live-indicator{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:0.5rem}.live-indicator.live{background:var(--success-color)}.live-indicator.not-live{background:var(--danger-color)}.search-trigger{display:flex;align-items:center;padding:0.5rem 1rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-light);color:var(--text-muted);cursor:pointer;transition:all 0.2s;min-width:280px;max-width:400px;flex:1}.search-trigger:hover{background:#fff;border-color:var(--accent-color);color:var(--primary-color)}.search-trigger kbd{background:#fff;border:1px solid var(--border-color);border-radius:4px;padding:0.15rem 0.4rem;font-size:0.7rem;color:var(--text-muted);font-family:inherit}.search-modal-content{border:none;border-radius:12px;overflow:hidden;box-shadow:0 25px 50px -12px rgba(0,0,0,0.25)}.search-modal-header{display:flex;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color);background:#fff}.search-modal-icon{color:var(--text-muted);margin-right:0.75rem;font-size:1.1rem}.search-modal-input{flex:1;border:none;outline:none;font-size:1.1rem;background:transparent;color:var(--primary-color)}.search-modal-input::placeholder{color:var(--text-muted)}.search-modal-kbd{background:var(--bg-light);border:1px solid var(--border-color);border-radius:4px;padding:0.2rem 0.5rem;font-size:0.7rem;color:var(--text-muted);font-family:inherit}.search-modal-results{max-height:400px;overflow-y:auto;background:#fff}.search-modal-empty,.search-modal-loading{padding:2rem;text-align:center;color:var(--text-muted)}.search-result-item{display:flex;align-items:center;padding:0.75rem 1.25rem;text-decoration:none;color:inherit;transition:background 0.15s;border-bottom:1px solid var(--border-color)}.search-result-item:last-child{border-bottom:none}.search-result-item:hover,.search-result-item.selected{background:var(--bg-light)}.search-result-item.selected{background:rgba(52,152,219,0.1)}.search-result-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;margin-right:1rem;background:var(--bg-light);flex-shrink:0}.search-result-content{flex:1;min-width:0}.search-result-name{font-weight:500;color:var(--primary-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-result-subtitle{font-size:0.85rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-result-type{font-size:0.7rem;text-transform:uppercase;letter-spacing:0.05em;color:var(--text-muted);background:var(--bg-light);padding:0.25rem 0.5rem;border-radius:4px;margin-left:1rem;flex-shrink:0}#searchModal .modal-dialog{margin-top:10vh}#searchModal .modal-backdrop{background:rgba(0,0,0,0.5)}
