.layout{display:flex;min-height:100vh}.layout-content{flex:1;margin-left:var(--sidebar-width);min-height:100vh;transition:margin-left var(--transition-slow)}.sidebar{position:fixed;top:0;left:0;width:var(--sidebar-width);height:100vh;background:var(--bg-secondary);border-right:1px solid var(--border-primary);display:flex;flex-direction:column;z-index:100;transition:width var(--transition-slow);overflow:hidden}.sidebar-brand{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-6) var(--space-5);border-bottom:1px solid var(--border-primary)}.sidebar-logo{width:36px;height:36px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--green-500),var(--green-700));display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 0 16px #34d39940}.sidebar-logo svg{width:20px;height:20px}.sidebar-brand-text{display:flex;flex-direction:column}.sidebar-brand-name{font-size:var(--font-md);font-weight:var(--weight-bold);color:var(--text-primary);letter-spacing:-.02em;line-height:1.2}.sidebar-brand-label{font-size:var(--font-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;font-weight:var(--weight-medium)}.sidebar-nav{flex:1;padding:var(--space-4) var(--space-3);display:flex;flex-direction:column;gap:var(--space-1);overflow-y:auto}.sidebar-section-label{font-size:var(--font-xs);font-weight:var(--weight-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;padding:var(--space-4) var(--space-3) var(--space-2)}.sidebar-link{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-base);font-weight:var(--weight-medium);transition:all var(--transition-fast);position:relative;text-decoration:none}.sidebar-link:hover{background:var(--bg-tertiary);color:var(--text-primary)}.sidebar-link.active{background:var(--accent-muted);color:var(--accent)}.sidebar-link.active:before{content:"";position:absolute;left:-12px;top:50%;transform:translateY(-50%);width:3px;height:20px;background:var(--accent);border-radius:var(--radius-full)}.sidebar-icon{width:20px;height:20px;flex-shrink:0;opacity:.7}.sidebar-link.active .sidebar-icon{opacity:1}.sidebar-badge{margin-left:auto;background:var(--negative);color:#fff;font-size:var(--font-xs);font-weight:var(--weight-bold);padding:1px 7px;border-radius:var(--radius-full);min-width:20px;text-align:center}.sidebar-footer{padding:var(--space-4) var(--space-3);border-top:1px solid var(--border-primary)}.sidebar-footer-link{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-base);font-weight:var(--weight-medium);transition:all var(--transition-fast);text-decoration:none}.sidebar-footer-link:hover{background:var(--accent-muted);color:var(--accent)}@media (max-width: 768px){.sidebar{width:var(--sidebar-collapsed)}.layout-content{margin-left:var(--sidebar-collapsed)}.sidebar-brand-text,.sidebar-link span,.sidebar-section-label,.sidebar-badge,.sidebar-footer-link span{display:none}.sidebar-brand{justify-content:center;padding:var(--space-4)}.sidebar-nav{padding:var(--space-2)}.sidebar-link{justify-content:center;padding:var(--space-3)}.sidebar-footer-link{justify-content:center}}.dashboard-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-5);margin-bottom:var(--space-8)}.kpi-card{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--space-5);transition:all var(--transition-base);position:relative;overflow:hidden}.kpi-card:after{content:"";position:absolute;top:0;left:0;right:0;height:2px;opacity:0;transition:opacity var(--transition-base)}.kpi-card:hover{border-color:var(--border-secondary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.kpi-card:hover:after{opacity:1}.kpi-card:nth-child(1):after{background:var(--green-400)}.kpi-card:nth-child(2):after{background:var(--negative)}.kpi-card:nth-child(3):after{background:var(--info)}.kpi-card:nth-child(4):after{background:var(--purple)}.kpi-label{font-size:var(--font-sm);font-weight:var(--weight-semibold);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--space-2)}.kpi-value{font-size:var(--font-3xl);font-weight:var(--weight-extrabold);color:var(--text-primary);letter-spacing:-.03em;line-height:1;margin-bottom:var(--space-1)}.kpi-sub{font-size:var(--font-sm);color:var(--text-muted)}.kpi-sub .positive{color:var(--positive)}.kpi-sub .negative{color:var(--negative)}.dashboard-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:var(--space-6)}.signal-list{display:flex;flex-direction:column;gap:var(--space-3)}.signal-item{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-4);border-radius:var(--radius-md);background:var(--bg-tertiary);border:1px solid transparent;transition:all var(--transition-fast);cursor:pointer;text-decoration:none;color:inherit}.signal-item:hover{border-color:var(--border-secondary);background:var(--bg-elevated)}.signal-severity{width:8px;height:8px;border-radius:50%;margin-top:6px;flex-shrink:0}.signal-severity.high{background:var(--negative);box-shadow:0 0 8px #f8717180}.signal-severity.medium{background:var(--warning);box-shadow:0 0 8px #fbbf244d}.signal-severity.low{background:var(--text-tertiary)}.signal-content{flex:1;min-width:0}.signal-title{font-size:var(--font-base);font-weight:var(--weight-semibold);color:var(--text-primary);margin-bottom:var(--space-1)}.signal-meta{font-size:var(--font-sm);color:var(--text-tertiary);display:flex;gap:var(--space-4);flex-wrap:wrap}.insight-item{padding:var(--space-4);border-bottom:1px solid var(--border-primary)}.insight-item:last-child{border-bottom:none}.insight-title{font-size:var(--font-base);font-weight:var(--weight-semibold);color:var(--text-primary);margin-bottom:var(--space-1)}.insight-summary{font-size:var(--font-sm);color:var(--text-secondary);line-height:var(--leading-relaxed)}.confidence-bar{width:48px;height:4px;background:var(--bg-elevated);border-radius:var(--radius-full);margin-top:var(--space-2);overflow:hidden}.confidence-fill{height:100%;border-radius:var(--radius-full);background:var(--accent);transition:width var(--transition-slow)}@media (max-width: 1024px){.dashboard-kpis{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}}@media (max-width: 640px){.dashboard-kpis{grid-template-columns:1fr}}.radar-controls{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-6);flex-wrap:wrap}.filter-chip{padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:var(--font-sm);font-weight:var(--weight-medium);background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-primary);cursor:pointer;transition:all var(--transition-fast)}.filter-chip:hover{border-color:var(--border-secondary);color:var(--text-primary)}.filter-chip.active{background:var(--accent-muted);color:var(--accent);border-color:var(--accent)}.radar-feed{display:flex;flex-direction:column;gap:var(--space-4)}.radar-card{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--space-5);transition:all var(--transition-base);animation:fadeIn .3s ease}.radar-card:hover{border-color:var(--border-secondary);background:var(--bg-card-hover)}.radar-card-header{display:flex;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-3)}.radar-card-body{padding-left:28px}.radar-summary{font-size:var(--font-base);color:var(--text-secondary);line-height:var(--leading-relaxed);margin-bottom:var(--space-3)}.radar-tags{display:flex;gap:var(--space-2);flex-wrap:wrap}.radar-brand-link{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);background:var(--bg-elevated);color:var(--text-primary);font-size:var(--font-sm);font-weight:var(--weight-medium);text-decoration:none;transition:all var(--transition-fast)}.radar-brand-link:hover{background:var(--accent-muted);color:var(--accent)}.radar-brand-dot{width:8px;height:8px;border-radius:50%}.radar-empty{text-align:center;padding:var(--space-16) var(--space-8);color:var(--text-tertiary)}.radar-empty-icon{font-size:48px;margin-bottom:var(--space-4);opacity:.3}.brands-toolbar{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap}.search-wrapper{position:relative;flex-shrink:0}.search-icon{width:16px;height:16px;position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-muted)}.search-input{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3) var(--space-2) var(--space-8);font-size:var(--font-sm);color:var(--text-primary);width:220px;transition:border-color var(--transition-fast)}.search-input:focus{outline:none;border-color:var(--accent)}.filter-chips-scroll{display:flex;gap:var(--space-2);flex-wrap:wrap}.filter-chip{padding:5px 14px;border-radius:var(--radius-full);font-size:var(--font-xs);font-weight:var(--weight-medium);background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border-primary);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.filter-chip:hover{border-color:var(--accent);color:var(--text-primary)}.filter-chip.active{background:var(--accent);color:#fff;border-color:var(--accent)}.brands-table-wrapper{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-lg);overflow:hidden}.brands-table{width:100%;border-collapse:collapse;font-size:var(--font-sm)}.brands-table thead{background:var(--bg-elevated);border-bottom:1px solid var(--border-primary);position:sticky;top:0;z-index:1}.brands-table th{padding:10px 14px;text-align:left;font-size:var(--font-xs);font-weight:var(--weight-semibold);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--transition-fast);white-space:nowrap}.brands-table th:hover{color:var(--accent)}.th-num{text-align:right!important}.th-action{text-align:center!important;width:80px}.th-segment{width:120px}.th-trend{width:110px}.brand-row{border-bottom:1px solid var(--border-primary);transition:background var(--transition-fast)}.brand-row:last-child{border-bottom:none}.brand-row:hover{background:var(--bg-elevated)}.td-brand{padding:8px 14px}.brand-row-link{display:flex;align-items:center;gap:var(--space-3);text-decoration:none;color:var(--text-primary)}.brand-row-link:hover .brand-row-name{color:var(--accent)}.brand-row-name{font-weight:var(--weight-medium);transition:color var(--transition-fast);white-space:nowrap}.td-segment{padding:8px 14px}.segment-badge{padding:3px 10px;border-radius:var(--radius-full);font-size:11px;font-weight:var(--weight-medium);background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--border-primary)}.td-trend{padding:8px 14px}.td-num{padding:8px 14px;text-align:right;font-variant-numeric:tabular-nums;color:var(--text-secondary)}.td-action{padding:8px 14px;text-align:center}.portfolio-btn-sm{width:28px;height:28px;border-radius:50%;border:1px solid var(--border-primary);background:var(--bg-elevated);color:var(--text-tertiary);font-size:14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.portfolio-btn-sm:hover{border-color:var(--accent);color:var(--accent)}.portfolio-btn-sm.in-portfolio{background:var(--accent);border-color:var(--accent);color:#fff}@media (max-width: 768px){.brands-table-wrapper{overflow-x:auto}.brands-table{min-width:700px}}.brand-detail-header{display:flex;align-items:center;gap:var(--space-5);margin-bottom:var(--space-8);padding-bottom:var(--space-6);border-bottom:1px solid var(--border-primary)}.brand-detail-avatar{width:64px;height:64px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:var(--font-2xl);font-weight:var(--weight-bold);color:#fff;flex-shrink:0}.brand-detail-info{flex:1}.brand-detail-info h1{font-size:var(--font-2xl);font-weight:var(--weight-bold);letter-spacing:-.02em;margin-bottom:var(--space-1)}.brand-detail-info .meta{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.brand-detail-tags{display:flex;gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap}.brand-detail-tags .tag{padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--font-xs);font-weight:var(--weight-medium);background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--border-primary)}.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4);margin-bottom:var(--space-8)}.metric-card{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--space-5);text-align:center}.metric-label{font-size:var(--font-sm);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2)}.metric-value{font-size:var(--font-2xl);font-weight:var(--weight-bold);color:var(--text-primary)}.metric-change{font-size:var(--font-sm);margin-top:var(--space-1)}.metric-change.positive{color:var(--positive)}.metric-change.negative{color:var(--negative)}.sparkline{display:flex;align-items:flex-end;gap:3px;height:32px;margin-top:var(--space-2);justify-content:center}.spark-bar{width:6px;border-radius:2px;transition:height var(--transition-slow)}.detail-section{margin-bottom:var(--space-8)}.detail-section-title{font-size:var(--font-lg);font-weight:var(--weight-semibold);margin-bottom:var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-primary);color:var(--text-primary)}.timeline{position:relative;padding-left:var(--space-8)}.timeline:before{content:"";position:absolute;left:11px;top:4px;bottom:4px;width:2px;background:var(--border-primary)}.timeline-item{position:relative;padding-bottom:var(--space-5)}.timeline-dot{position:absolute;left:calc(var(--space-8) * -1 + 6px);top:4px;width:12px;height:12px;border-radius:50%;border:2px solid var(--bg-primary)}.timeline-dot.positive{background:var(--positive)}.timeline-dot.negative{background:var(--negative)}.timeline-dot.neutral{background:var(--text-tertiary)}.timeline-title{font-weight:var(--weight-semibold);color:var(--text-primary);margin-bottom:var(--space-1)}.timeline-desc{font-size:var(--font-sm);color:var(--text-secondary);line-height:var(--leading-relaxed)}.timeline-date{font-size:var(--font-xs);color:var(--text-muted);margin-top:var(--space-1)}.brand-website-link{font-size:var(--font-sm);color:var(--accent);text-decoration:none;transition:color var(--transition-fast)}.brand-website-link:hover{color:var(--info);text-decoration:underline}.trends-chart{display:flex;align-items:flex-end;gap:2px;height:120px;background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--space-4)}.trend-bar-wrapper{flex:1;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;position:relative}.trend-bar{width:100%;max-width:12px;border-radius:3px 3px 0 0;transition:height var(--transition-slow)}.trend-label{font-size:9px;color:var(--text-muted);position:absolute;bottom:-18px;white-space:nowrap}.news-list{display:flex;flex-direction:column;gap:var(--space-2)}.news-item{display:block;padding:var(--space-3) var(--space-4);background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-md);text-decoration:none;transition:border-color var(--transition-fast),background var(--transition-fast)}.news-item:hover{border-color:var(--accent);background:var(--bg-elevated)}.news-title{font-size:var(--font-sm);font-weight:var(--weight-medium);color:var(--text-primary);line-height:var(--leading-normal);margin-bottom:var(--space-1)}.news-meta{display:flex;gap:var(--space-3);font-size:var(--font-xs);color:var(--text-muted)}.news-source{font-weight:var(--weight-medium);color:var(--accent)}.reddit-list{display:flex;flex-direction:column;gap:var(--space-2)}.reddit-item{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-md);text-decoration:none;transition:border-color var(--transition-fast),background var(--transition-fast)}.reddit-item:hover{border-color:#ff4500;background:var(--bg-elevated)}.reddit-score{color:#ff4500;font-weight:var(--weight-bold);font-size:var(--font-sm);min-width:48px;text-align:center;flex-shrink:0;padding-top:2px}.reddit-content{flex:1;min-width:0}.reddit-title{font-size:var(--font-sm);font-weight:var(--weight-medium);color:var(--text-primary);line-height:var(--leading-normal);margin-bottom:var(--space-1)}.reddit-meta{font-size:var(--font-xs);color:var(--text-muted)}@media (max-width: 1024px){.metrics-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.metrics-grid{grid-template-columns:1fr}.brand-detail-header{flex-direction:column;text-align:center}}.portfolio-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.portfolio-stat-card{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-1);animation:fadeIn .3s ease}.portfolio-stat-label{font-size:var(--font-sm);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;font-weight:var(--weight-medium)}.portfolio-stat-value{font-size:var(--font-2xl);font-weight:var(--weight-bold);color:var(--text-primary)}.portfolio-stat-sub{font-size:var(--font-xs);color:var(--text-tertiary)}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--space-5)}.portfolio-card{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4);transition:all var(--transition-base);animation:fadeIn .3s ease;position:relative}.portfolio-card:hover{border-color:var(--border-secondary);background:var(--bg-card-hover);box-shadow:var(--shadow-md)}.portfolio-card-header{display:flex;align-items:flex-start;gap:var(--space-3)}.portfolio-card-header .brand-avatar{width:44px;height:44px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:var(--font-lg);font-weight:var(--weight-bold);color:#fff;flex-shrink:0}.portfolio-card-info{flex:1;min-width:0}.portfolio-card-info h3{font-size:var(--font-md);font-weight:var(--weight-semibold);color:var(--text-primary);margin-bottom:var(--space-1)}.portfolio-card-info h3 a{color:inherit;text-decoration:none;transition:color var(--transition-fast)}.portfolio-card-info h3 a:hover{color:var(--accent)}.portfolio-card-meta{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-sm);color:var(--text-tertiary)}.portfolio-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);padding:var(--space-3);background:var(--bg-secondary);border-radius:var(--radius-md)}.portfolio-metric{text-align:center}.portfolio-metric-label{font-size:var(--font-xs);color:var(--text-tertiary);margin-bottom:var(--space-1)}.portfolio-metric-value{font-size:var(--font-base);font-weight:var(--weight-semibold);color:var(--text-primary)}.portfolio-notes{font-size:var(--font-sm);color:var(--text-secondary);line-height:var(--leading-relaxed);font-style:italic;padding-left:var(--space-3);border-left:2px solid var(--border-secondary)}.portfolio-notes-input{width:100%;background:var(--bg-input);border:1px solid var(--border-primary);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-sm);padding:var(--space-2) var(--space-3);resize:vertical;min-height:40px;font-family:var(--font-family);transition:border-color var(--transition-fast)}.portfolio-notes-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-muted)}.portfolio-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:var(--space-3);border-top:1px solid var(--border-primary)}.portfolio-added-date{font-size:var(--font-xs);color:var(--text-tertiary)}.portfolio-remove-btn{background:none;border:1px solid transparent;color:var(--text-tertiary);font-size:var(--font-xs);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;gap:var(--space-1)}.portfolio-remove-btn:hover{color:var(--negative);border-color:var(--negative);background:var(--negative-bg)}.portfolio-empty{text-align:center;padding:var(--space-16) var(--space-8);animation:fadeIn .4s ease}.portfolio-empty-icon{width:64px;height:64px;margin:0 auto var(--space-6);color:var(--text-tertiary);opacity:.5}.portfolio-empty h2{font-size:var(--font-xl);color:var(--text-primary);margin-bottom:var(--space-2)}.portfolio-empty p{color:var(--text-secondary);margin-bottom:var(--space-6);max-width:400px;margin-left:auto;margin-right:auto;line-height:var(--leading-relaxed)}.portfolio-empty-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);background:var(--accent);color:var(--bg-primary);border:none;border-radius:var(--radius-md);font-size:var(--font-base);font-weight:var(--weight-semibold);cursor:pointer;transition:all var(--transition-fast);text-decoration:none}.portfolio-empty-btn:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-glow)}.portfolio-toggle-btn{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);font-size:var(--font-xs);font-weight:var(--weight-medium);cursor:pointer;transition:all var(--transition-fast);border:1px solid var(--border-secondary);background:transparent;color:var(--text-secondary);white-space:nowrap}.portfolio-toggle-btn:hover,.portfolio-toggle-btn.in-portfolio{border-color:var(--accent);color:var(--accent);background:var(--accent-bg)}.portfolio-toggle-btn.in-portfolio:hover{border-color:var(--negative);color:var(--negative);background:var(--negative-bg)}.add-source-form{max-width:560px}.form-group{margin-bottom:var(--space-6)}.form-label{display:block;font-size:var(--font-sm);font-weight:var(--weight-semibold);color:var(--text-secondary);margin-bottom:var(--space-2);text-transform:uppercase;letter-spacing:.04em}.form-input,.form-select{width:100%;padding:var(--space-3) var(--space-4);background:var(--bg-input);border:1px solid var(--border-primary);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-base);transition:border-color var(--transition-fast)}.form-input:focus,.form-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-muted)}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2394a3b8' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:var(--space-10)}.checkbox-group{display:flex;flex-wrap:wrap;gap:var(--space-2)}.checkbox-chip{padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);font-size:var(--font-sm);font-weight:var(--weight-medium);background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-primary);cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none}.checkbox-chip.selected{background:var(--accent-muted);color:var(--accent);border-color:var(--accent)}.checkbox-chip:hover:not(.selected){border-color:var(--border-secondary);color:var(--text-primary)}.form-actions{display:flex;gap:var(--space-3);margin-top:var(--space-8)}.toast{position:fixed;bottom:var(--space-8);right:var(--space-8);background:var(--positive);color:var(--bg-primary);padding:var(--space-4) var(--space-6);border-radius:var(--radius-lg);font-weight:var(--weight-semibold);box-shadow:var(--shadow-lg);animation:slideInRight .3s ease,fadeIn .3s ease;z-index:1000}.placeholder-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - 120px);text-align:center;animation:fadeIn .4s ease}.placeholder-icon{width:80px;height:80px;border-radius:var(--radius-xl);background:var(--bg-tertiary);border:1px solid var(--border-primary);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-6)}.placeholder-icon svg{width:36px;height:36px;color:var(--text-tertiary)}.placeholder-title{font-size:var(--font-2xl);font-weight:var(--weight-bold);color:var(--text-primary);margin-bottom:var(--space-3)}.placeholder-desc{font-size:var(--font-base);color:var(--text-tertiary);max-width:400px;line-height:var(--leading-relaxed)}.placeholder-badge{margin-top:var(--space-5);padding:var(--space-2) var(--space-5);border-radius:var(--radius-full);background:var(--accent-bg);color:var(--accent);font-size:var(--font-sm);font-weight:var(--weight-semibold);border:1px solid var(--accent-muted)}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-primary)}.login-card{width:100%;max-width:400px;padding:var(--space-10);background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);text-align:center;animation:fadeIn .4s ease}.login-logo{width:56px;height:56px;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--green-500),var(--green-700));display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-5);box-shadow:var(--shadow-glow)}.login-logo svg{width:28px;height:28px}.login-title{font-size:var(--font-2xl);font-weight:var(--weight-bold);color:var(--text-primary);margin-bottom:var(--space-1)}.login-subtitle{font-size:var(--font-sm);color:var(--text-tertiary);margin-bottom:var(--space-8)}.login-input{width:100%;padding:var(--space-3) var(--space-4);background:var(--bg-input);border:1px solid var(--border-primary);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-md);text-align:center;letter-spacing:.1em;margin-bottom:var(--space-4);transition:border-color var(--transition-fast)}.login-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-muted)}.login-btn{width:100%;padding:var(--space-3);background:var(--accent);color:var(--bg-primary);border:none;border-radius:var(--radius-md);font-size:var(--font-md);font-weight:var(--weight-semibold);cursor:pointer;transition:all var(--transition-fast)}.login-btn:hover{background:var(--accent-hover);box-shadow:var(--shadow-glow)}.login-btn:disabled{opacity:.5;cursor:not-allowed}.login-error{color:var(--negative);font-size:var(--font-sm);margin-top:var(--space-3)}:root{--bg-primary: #0a0e17;--bg-secondary: #0f1420;--bg-tertiary: #151b2b;--bg-card: #131926;--bg-card-hover: #1a2236;--bg-elevated: #1e2640;--bg-input: #111827;--border-primary: #1e293b;--border-secondary: #293548;--border-accent: #34d39933;--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-tertiary: #64748b;--text-muted: #475569;--green-50: #ecfdf5;--green-100: #d1fae5;--green-200: #a7f3d0;--green-300: #6ee7b7;--green-400: #34d399;--green-500: #10b981;--green-600: #059669;--green-700: #047857;--green-800: #065f46;--green-900: #064e3b;--accent: #34d399;--accent-hover: #6ee7b7;--accent-muted: #34d39926;--accent-bg: #34d39910;--positive: #34d399;--positive-bg: #34d39915;--negative: #f87171;--negative-bg: #f8717115;--warning: #fbbf24;--warning-bg: #fbbf2415;--info: #60a5fa;--info-bg: #60a5fa15;--purple: #a78bfa;--purple-bg: #a78bfa15;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-xs: .6875rem;--font-sm: .75rem;--font-base: .875rem;--font-md: 1rem;--font-lg: 1.125rem;--font-xl: 1.25rem;--font-2xl: 1.5rem;--font-3xl: 1.875rem;--font-4xl: 2.25rem;--weight-light: 300;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--weight-extrabold: 800;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.75;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--sidebar-width: 260px;--sidebar-collapsed: 72px;--header-height: 0px;--content-max-width: 1400px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .25);--shadow-lg: 0 8px 30px rgba(0, 0, 0, .3);--shadow-glow: 0 0 20px rgba(52, 211, 153, .15);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--transition-spring: .3s cubic-bezier(.34, 1.56, .64, 1)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);font-size:var(--font-base);line-height:var(--leading-normal);color:var(--text-primary);background:var(--bg-primary);min-height:100vh;overflow-x:hidden}a{color:var(--accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-hover)}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;font-size:inherit}input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}ul,ol{list-style:none}img{max-width:100%;display:block}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-secondary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}::selection{background:var(--accent-muted);color:var(--text-primary)}.page-container{padding:var(--space-8);max-width:var(--content-max-width);animation:fadeIn .3s ease}.page-header{margin-bottom:var(--space-8)}.page-title{font-size:var(--font-3xl);font-weight:var(--weight-bold);color:var(--text-primary);letter-spacing:-.02em}.page-subtitle{font-size:var(--font-base);color:var(--text-secondary);margin-top:var(--space-2)}.card{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--space-6);transition:all var(--transition-base)}.card:hover{border-color:var(--border-secondary);background:var(--bg-card-hover)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.card-title{font-size:var(--font-sm);font-weight:var(--weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--font-xs);font-weight:var(--weight-semibold);letter-spacing:.02em;white-space:nowrap}.badge-green{background:var(--positive-bg);color:var(--positive);border:1px solid rgba(52,211,153,.2)}.badge-red{background:var(--negative-bg);color:var(--negative);border:1px solid rgba(248,113,113,.2)}.badge-yellow{background:var(--warning-bg);color:var(--warning);border:1px solid rgba(251,191,36,.2)}.badge-blue{background:var(--info-bg);color:var(--info);border:1px solid rgba(96,165,250,.2)}.badge-purple{background:var(--purple-bg);color:var(--purple);border:1px solid rgba(167,139,250,.2)}.btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-base);font-weight:var(--weight-medium);transition:all var(--transition-fast);white-space:nowrap}.btn-primary{background:var(--accent);color:var(--bg-primary)}.btn-primary:hover{background:var(--accent-hover);box-shadow:var(--shadow-glow)}.btn-secondary{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-secondary)}.btn-secondary:hover{background:var(--bg-card-hover);border-color:var(--accent)}.btn-ghost{color:var(--text-secondary);background:transparent}.btn-ghost:hover{color:var(--text-primary);background:var(--bg-tertiary)}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-6)}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-6)}@media (max-width: 1024px){.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}.page-container{padding:var(--space-4)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}
