@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";.sidebar{flex-direction:column;width:260px;height:calc(100vh - 40px);margin:20px 0 20px 20px;display:flex;position:sticky;top:20px}.sidebar-logo{text-align:center;border-bottom:1px solid var(--glass-border);padding:30px 20px}.gradient-text{background:var(--accent-gradient);-webkit-text-fill-color:transparent;letter-spacing:1px;-webkit-background-clip:text;margin-bottom:4px;font-weight:800}.subtitle{color:var(--text-secondary);letter-spacing:2px;font-size:.75rem}.sidebar-nav{flex-direction:column;flex:1;gap:8px;padding:20px 10px;display:flex}.nav-item{color:var(--text-secondary);border-left:3px solid #0000;border-radius:10px;align-items:center;gap:12px;padding:12px 16px;font-size:.95rem;font-weight:500;text-decoration:none;display:flex}.nav-item:hover{color:var(--text-primary);background:#ffffff08}.nav-item.active{color:var(--text-primary);border-left-color:var(--accent-blue);background:#4267b21a}.sidebar-footer{border-top:1px solid var(--glass-border);padding:20px}.api-status{color:var(--text-secondary);align-items:center;gap:8px;font-size:.8rem;display:flex}.status-dot{border-radius:50%;width:8px;height:8px}.status-dot.connected{background:var(--success);box-shadow:0 0 8px var(--success);animation:2s infinite pulse}.header{justify-content:space-between;align-items:center;height:80px;margin:20px 20px 0 0;padding:0 24px;animation:.5s fadeIn;display:flex}.page-title{color:var(--text-primary);font-size:1.5rem;font-weight:700}.header-right{align-items:center;gap:16px;display:flex}.search-bar{border-radius:20px;align-items:center;gap:8px;padding:8px 16px;display:flex}.search-icon{color:var(--text-secondary)}.search-bar input{color:var(--text-primary);background:0 0;border:none;outline:none;width:200px;font-size:.9rem}.search-bar input::placeholder{color:var(--text-secondary)}.date-selector{color:var(--text-primary);cursor:pointer;background:0 0;border:none;border-radius:8px;outline:none;padding:8px 16px}.date-selector option{background:var(--bg-primary);color:var(--text-primary)}.icon-btn{cursor:pointer;width:40px;height:40px;color:var(--text-primary);border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative}.icon-btn:hover{background:#ffffff1a}.badge{background:var(--danger);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:.65rem;font-weight:700;display:flex;position:absolute;top:0;right:0}.user-profile{cursor:pointer;border-radius:50%;width:40px;height:40px;padding:2px;overflow:hidden}.user-profile img{border-radius:50%;width:100%;height:100%}.layout-container{gap:20px;min-height:100vh;display:flex}.main-content{flex-direction:column;flex:1;display:flex;overflow:hidden}.page-container{flex:1;padding:24px 20px 24px 0;overflow-y:auto}.metric-card{padding:20px;transition:transform .3s,box-shadow .3s;animation:.5s backwards slideUp}.metric-card:hover{transform:translateY(-5px);box-shadow:0 12px 40px #4267b233}.metric-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.metric-label{color:var(--text-secondary);font-size:.9rem;font-weight:500}.metric-icon-wrapper{color:var(--accent-blue);background:#4267b21a;border-radius:10px;padding:8px}.metric-content{flex-direction:column;gap:8px;display:flex}.metric-value{color:var(--text-primary);font-size:1.8rem;font-weight:700}.metric-trend{align-items:center;gap:4px;font-size:.85rem;font-weight:600;display:flex}.trend-up{color:var(--success)}.trend-down{color:var(--danger)}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:24px;display:grid}.kpi-wrapper{animation:.5s backwards slideUp}.chart-container{margin-bottom:24px;padding:24px;animation:.6s backwards slideUp}.chart-title{color:var(--text-primary);margin-bottom:20px;font-size:1.1rem;font-weight:600}.chart-wrapper{width:100%;height:300px}.table-container{overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;width:100%}.data-table th{color:var(--text-secondary);text-transform:uppercase;border-bottom:1px solid var(--glass-border);cursor:pointer;padding:16px;font-size:.85rem;font-weight:600}.data-table td{color:var(--text-primary);border-bottom:1px solid #ffffff05;padding:16px;font-size:.9rem}.data-table tbody tr:hover{background:#ffffff08}.campaign-table-section{padding:24px;animation:.7s backwards slideUp}.section-header{margin-bottom:20px}.campaign-name{color:var(--text-primary);font-weight:500}.action-btns{gap:8px;display:flex}.action-btn{border:1px solid var(--glass-border);color:var(--text-primary);cursor:pointer;background:#ffffff0d;border-radius:6px;padding:6px;transition:all .2s}.action-btn:hover{background:#ffffff1a}.campaigns-page{animation:.4s fadeIn}.filters{gap:12px;margin-bottom:24px;padding:16px;display:flex}.filter-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:8px 16px;font-weight:500;transition:all .2s}.filter-btn:hover{background:#ffffff0d}.filter-btn.active{color:var(--accent-blue);background:#4267b233;border-color:#4267b280}.optimizer-page{animation:.4s fadeIn}.recommendations-list{flex-direction:column;gap:16px;display:flex}.rec-card{align-items:center;gap:20px;padding:20px;transition:transform .2s;display:flex}.rec-card:hover{transform:translate(5px)}.rec-content{flex:1}.rec-content h4{color:var(--text-primary);margin-bottom:4px}.rec-campaign{color:var(--text-secondary);margin-bottom:4px;font-size:.9rem}.rec-value{color:#fff;font-size:.85rem;font-weight:600}.rec-actions{flex-direction:column;align-items:flex-end;gap:12px;display:flex}.rec-action-text{color:var(--success);font-weight:600}.btn-group{gap:8px;display:flex}.btn-apply{background:var(--success);color:#000;cursor:pointer;border:none;border-radius:6px;align-items:center;gap:6px;padding:8px 16px;font-weight:600;display:flex}.btn-reject{color:#fff;cursor:pointer;background:#ffffff1a;border:none;border-radius:6px;padding:8px 16px}.audiences-page{animation:.4s fadeIn}.audience-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.p-24{padding:24px}.p-24 h3{color:var(--text-primary);margin-bottom:20px}.placeholder-chart{height:200px;color:var(--text-secondary);border:1px dashed var(--glass-border);background:#0003;border-radius:12px;justify-content:center;align-items:center;display:flex}.settings-page{max-width:600px;animation:.4s fadeIn}.settings-card{padding:30px}.settings-card h3{border-bottom:1px solid var(--glass-border);margin-bottom:24px;padding-bottom:12px}.form-group{margin-bottom:20px}.form-group label{color:var(--text-secondary);margin-bottom:8px;font-size:.9rem;display:block}.glass-input{border:1px solid var(--glass-border);color:#fff;background:#0003;border-radius:8px;width:100%;padding:12px;font-family:monospace}.save-btn{background:var(--accent-blue);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;padding:12px 24px;font-weight:600;transition:all .2s}.save-btn:hover{background:#365899}:root{--bg-primary:#0a0a1a;--bg-secondary:#12122a;--glass:#ffffff0d;--glass-border:#ffffff1a;--accent-blue:#4267b2;--accent-gradient:linear-gradient(135deg, #4267b2, #9b59b6, #e94560);--text-primary:#fff;--text-secondary:#fff9;--success:#00d4aa;--danger:#e94560;--warning:#f39c12}*{box-sizing:border-box;margin:0;padding:0;font-family:Inter,sans-serif}body{background:var(--bg-primary);color:var(--text-primary);background-image:radial-gradient(circle at 15%,#4267b226,#0000 25%),radial-gradient(circle at 85% 30%,#9b59b626,#0000 25%);min-height:100vh;overflow-x:hidden}.glass-card{background:var(--glass);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:16px;box-shadow:0 8px 32px #0000004d}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.transition-all{transition:all .3s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.5)}to{opacity:1;transform:scale(1)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-spinner{border:4px solid var(--glass-border);border-top:4px solid var(--accent-blue);border-radius:50%;width:40px;height:40px;margin:0 auto 20px;animation:1s linear infinite spin}
