@media (width<=768px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}}@media (width<=768px){.menu-toggle{display:block}}@media (width<=768px){.layout-main{margin-left:0}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{color:#334155;-webkit-font-smoothing:antialiased;background:#f8fafc;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px}a{color:inherit;text-decoration:none}.btn{cursor:pointer;white-space:nowrap;border:none;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{color:#fff;background:#1a1a2e}.btn-primary:hover:not(:disabled){background:#2d2d4a}.btn-secondary{color:#1a1a2e;background:#fff;border:1px solid #cbd5e1}.btn-secondary:hover:not(:disabled){background:#f1f5f9}.btn-ghost{color:#64748b;background:0 0;padding:6px 10px}.btn-ghost:hover:not(:disabled){color:#1a1a2e;background:#f1f5f9}.form-group input,.form-group select,.form-group textarea{border:1px solid #cbd5e1;border-radius:6px;padding:10px 12px;font-family:inherit;font-size:14px}.form-group input:disabled{color:#94a3b8;background:#f1f5f9}.sidebar{color:#e2e8f0;z-index:100;background:#1a1a2e;flex-direction:column;width:240px;min-height:100vh;transition:transform .3s;display:flex;position:fixed;top:0;left:0}.sidebar-brand{border-bottom:1px solid #ffffff1a;padding:24px 20px}.sidebar-brand h1{letter-spacing:3px;color:#fff;font-size:22px;font-weight:800}.sidebar-brand p{color:#94a3b8;margin-top:4px;font-size:11px}.sidebar-nav{flex:1;padding:16px 0;overflow-y:auto}.sidebar-link{color:#94a3b8;align-items:center;gap:12px;padding:10px 20px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.sidebar-link:hover{color:#fff;background:#ffffff0d}.sidebar-link.active{color:#fff;background:#ffffff1a;border-right:3px solid #fff}.sidebar-link svg{flex-shrink:0;width:18px;height:18px}.sidebar-footer{color:#64748b;border-top:1px solid #ffffff1a;padding:16px 20px;font-size:11px}@media (width<=768px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}}.header{z-index:50;background:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;height:60px;padding:0 24px;display:flex;position:sticky;top:0}.header-left{align-items:center;gap:16px;display:flex}.header-title{color:#1a1a2e;font-size:16px;font-weight:600}.menu-toggle{cursor:pointer;color:#1a1a2e;background:0 0;border:none;padding:4px;display:none}.header-right{align-items:center;gap:16px;display:flex}.header-user{color:#64748b;font-size:13px}.header-user strong{color:#1a1a2e}@media (width<=768px){.menu-toggle{display:block}}.layout{background:#f8fafc;min-height:100vh;display:flex}.layout-main{flex-direction:column;flex:1;margin-left:240px;display:flex}.layout-content{flex:1;padding:24px}@media (width<=768px){.layout-main{margin-left:0}}.sidebar-overlay{z-index:99;background:#0006;display:none;position:fixed;inset:0}.sidebar-overlay.visible{display:block}.login-page{background:linear-gradient(135deg,#1a1a2e 0%,#16213e 100%);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:#fff;border-radius:12px;width:100%;max-width:400px;padding:40px;box-shadow:0 20px 60px #0000004d}.login-brand{text-align:center;margin-bottom:32px}.login-brand h1{letter-spacing:4px;color:#1a1a2e;font-size:32px;font-weight:800}.login-brand p{color:#64748b;margin-top:4px;font-size:13px}.login-error{color:#991b1b;background:#fee2e2;border-radius:6px;margin-bottom:16px;padding:10px 14px;font-size:13px}.login-card .form-group{margin-bottom:16px}.login-card .form-group label{color:#64748b;margin-bottom:4px;font-size:12px;font-weight:600;display:block}.login-card .form-group input{border:1px solid #cbd5e1;border-radius:6px;width:100%;padding:10px 14px;font-size:14px}.btn-full{width:100%;margin-top:8px}.kpi-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;gap:8px;padding:20px 24px;display:flex}.kpi-card-label{color:#64748b;text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.kpi-card-value{color:#1a1a2e;font-size:28px;font-weight:700;line-height:1.2}.kpi-card-sub{color:#94a3b8;font-size:12px}.kpi-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;display:grid}.platform-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:4px;align-items:center;padding:2px 10px;font-size:11px;font-weight:600;display:inline-flex}.platform-badge.google{color:#1d4ed8;background:#dbeafe}.platform-badge.meta{color:#6d28d9;background:#ede9fe}.status-badge{border-radius:4px;padding:2px 10px;font-size:11px;font-weight:600;display:inline-flex}.status-badge.active,.status-badge.enabled{color:#166534;background:#dcfce7}.status-badge.paused{color:#854d0e;background:#fef9c3}.status-badge.inactive,.status-badge.removed{color:#991b1b;background:#fee2e2}.status-badge.connected{color:#166534;background:#dcfce7}.status-badge.disconnected,.status-badge.error,.status-badge.expired{color:#991b1b;background:#fee2e2}.data-table-wrapper{background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:14px}.data-table th{text-align:left;color:#64748b;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:12px 16px;font-size:11px;font-weight:600}.data-table td{color:#334155;border-bottom:1px solid #f1f5f9;padding:12px 16px}.data-table tr:hover td{background:#f8fafc}.data-table .clickable{cursor:pointer}.data-table .clickable:hover td{background:#f1f5f9}.text-right{text-align:right}.filter-bar{background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:20px;padding:16px 20px;display:flex}.filter-group{flex-direction:column;gap:4px;display:flex}.filter-group label{color:#64748b;text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.filter-group input,.filter-group select{border:1px solid #cbd5e1;border-radius:6px;min-width:140px;padding:8px 12px;font-size:14px}.filter-group input:focus,.filter-group select:focus{border-color:#1a1a2e;outline:none;box-shadow:0 0 0 2px #1a1a2e1a}.empty-state{text-align:center;color:#64748b;padding:48px 24px}.empty-state-icon{opacity:.4;margin-bottom:16px;font-size:48px}.empty-state h3{color:#334155;margin-bottom:8px;font-size:18px}.empty-state p{font-size:14px}.skeleton{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 50%,#f1f5f9 75%) 0 0/200% 100%;border-radius:6px;animation:1.5s infinite shimmer}.skeleton-card{height:100px;margin-bottom:16px}.skeleton-row{height:48px;margin-bottom:8px}.error-state{text-align:center;color:#dc2626;padding:48px 24px}.error-state h3{margin-bottom:8px}.chart-panel{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:20px 24px}.chart-panel-title{color:#1a1a2e;text-transform:uppercase;letter-spacing:.5px;margin-bottom:16px;font-size:14px;font-weight:700}.chart-panel-empty{text-align:center;color:#94a3b8;padding:40px;font-size:14px}.report-form{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:24px}.report-form-section{margin-bottom:24px}.report-form-section h3{color:#1a1a2e;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e2e8f0;margin-bottom:16px;padding-bottom:8px;font-size:13px;font-weight:700}.report-form-section.manual h3{border-bottom-color:#fde68a}.report-form-section.calculated h3{border-bottom-color:#a7f3d0}.form-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;display:grid}.form-group{flex-direction:column;gap:4px;display:flex}.form-group label{color:#64748b;font-size:12px;font-weight:600}.form-group input,.form-group select,.form-group textarea{border:1px solid #cbd5e1;border-radius:6px;padding:10px 12px;font-size:14px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#1a1a2e;outline:none}.calculated-value{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:6px;padding:10px 12px;font-size:16px;font-weight:700}.auto-metrics{background:#f8fafc;border-radius:6px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;padding:16px;display:grid}.auto-metric{text-align:center}.auto-metric-label{color:#64748b;text-transform:uppercase;font-size:11px}.auto-metric-value{color:#1a1a2e;font-size:20px;font-weight:700}.form-actions{gap:12px;margin-top:24px;display:flex}.comparison-widget{flex-direction:column;gap:24px;display:flex}.comparison-cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.comparison-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:20px}.comparison-card h4{color:#64748b;text-transform:uppercase;margin-bottom:12px;font-size:12px;font-weight:700}.comparison-values{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.comparison-period{color:#334155;font-size:13px}.comparison-period strong{color:#1a1a2e;font-size:18px;display:block}.comparison-diff{text-align:center;border-radius:6px;padding:8px;font-size:14px;font-weight:700}.comparison-diff.positive{color:#166534;background:#dcfce7}.comparison-diff.negative{color:#991b1b;background:#fee2e2}.comparison-diff.neutral{color:#64748b;background:#f1f5f9}
