:root{--text:#2b2b2b;--text-muted:#6b6b6b;--bg:#f5f6f8;--panel-bg:#fff;--border:#e0e0e0;color:var(--text);background:var(--bg);font:16px/1.5 system-ui,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0}.dashboard{max-width:1200px;margin:0 auto;padding:24px}.dashboard-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.dashboard-header h1{margin:0;font-size:28px}.date-range-control{gap:16px;display:flex}.date-range-control label{color:var(--text-muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.date-range-control input{font:inherit;border:1px solid var(--border);border-radius:6px;padding:6px 8px}.site-selector{flex-wrap:wrap;gap:16px;margin-bottom:24px;display:flex}.site-selector label{color:var(--text-muted);flex-direction:column;flex:200px;gap:4px;font-size:13px;display:flex}.site-selector input{font:inherit;border:1px solid var(--border);border-radius:6px;padding:6px 8px}.dashboard-grid{grid-template-columns:1fr;gap:24px;display:grid}.panel{background:var(--panel-bg);border:1px solid var(--border);border-radius:12px;padding:20px}.panel h2{margin:0 0 16px;font-size:20px}.panel h3{margin:20px 0 8px;font-size:16px}.panel ul{margin:0;padding-left:18px}.metric-row{flex-wrap:wrap;gap:12px;margin-bottom:16px;display:flex}.metric-card{background:var(--bg);border-radius:8px;flex:140px;padding:12px 16px}.metric-card-label{color:var(--text-muted);font-size:13px}.metric-card-value{font-size:22px;font-weight:600}.two-column{grid-template-columns:1fr 1fr;gap:24px;display:grid}.skeleton{background:linear-gradient(90deg,#eceef1 25%,#f5f6f8 50%,#eceef1 75%) 0 0/200% 100%;border-radius:8px;animation:1.4s ease-in-out infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-title{width:200px;height:24px;margin-bottom:16px}.skeleton-card{flex:140px;height:60px}.skeleton-chart{width:100%;height:250px}.error-state{color:#9b2c2c;background:#fdecea;border:1px solid #f5c2c0;border-radius:8px;padding:16px}.error-state strong{margin-bottom:4px;display:block}.error-state p{margin:0;font-size:14px}.connect-prompt{text-align:center;padding:32px 16px}.connect-button{color:#fff;background:#1a73e8;border-radius:6px;margin-top:12px;padding:10px 20px;font-weight:600;text-decoration:none;display:inline-block}
