/* Analytics uses the existing light workspace tokens. */
.analytics-head { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; }
.analytics-source, .analytics-tabs { display:inline-flex; align-items:center; gap:4px; padding:4px; border:1px solid var(--line); border-radius:9px; background:#f0f2f7; }
.analytics-source button, .analytics-tabs button { min-height:34px; padding:7px 13px; border:1px solid transparent; background:transparent; color:#616d80; font-size:13px; box-shadow:none; }
.analytics-source button.active, .analytics-tabs button.active { background:#fff; color:#4338ca; border-color:#e0dff0; box-shadow:0 1px 3px #20293808; }
.analytics-query { padding:20px 22px 14px; }
.analytics-query fieldset { min-width:0; padding:0; margin:0; border:0; }
.analytics-query-grid { display:grid; grid-template-columns:repeat(5,minmax(120px,1fr)); gap:12px; align-items:end; }
.analytics-query-grid label { font-size:12px; margin:0; }
.analytics-query-grid input, .analytics-query-grid select { min-height:39px; padding:8px 10px; font-size:13px; }
.analytics-query-actions { grid-column:1/-1; display:flex; justify-content:flex-end; gap:8px; margin-top:2px; }
.analytics-query-actions button { min-height:36px; padding:7px 14px; font-size:12px; }
.analytics-query-foot { display:flex; justify-content:space-between; gap:14px; flex-wrap:wrap; margin-top:15px; padding-top:12px; border-top:1px solid #edf0f5; color:var(--muted); font-size:11px; }
#analyticsPreviewNote { margin:0 0 18px; }
#analyticsMessage:empty { display:none; }
#analyticsMessage { padding:11px 14px; border:1px solid #ede1bd; border-radius:8px; background:#fff9eb; color:#805610; font-size:12px; line-height:1.7; margin-bottom:17px; }
#analyticsMessage.is-error { background:#fff4f4; border-color:#efd4d4; color:#963c3c; }
.analytics-filterbar { display:flex; gap:12px; flex-wrap:wrap; align-items:flex-end; margin:23px 0 18px; }
.analytics-filterbar label { flex:1 1 150px; min-width:120px; margin:0; font-size:12px; }
.analytics-filterbar label:nth-child(2) { flex:0 1 130px; }
.analytics-filterbar input,.analytics-filterbar select { min-height:39px; padding:8px 10px; font-size:13px; }
.analytics-filterbar button { min-height:39px; padding:8px 12px; font-size:12px; }
.analytics-metrics { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; margin-bottom:22px; }
.analytics-metric { min-width:0; padding:19px 18px; border:1px solid var(--line); border-radius:10px; background:#fff; box-shadow:var(--shadow); }
.analytics-metric>span { display:block; color:var(--muted); font-size:12px; margin-bottom:10px; }
.analytics-metric>strong { display:block; color:#29344c; font-size:28px; font-weight:750; line-height:1.25; overflow-wrap:anywhere; letter-spacing:-.6px; }
.analytics-metric>strong>small { margin-left:6px; font-size:12px; font-weight:500; letter-spacing:0; }
.analytics-metric:first-child { background:#f4f2ff; border-color:#ded9fb; }
.analytics-metric:first-child>strong { color:#493eb4; }
.analytics-results { padding:22px; }
.analytics-result-head { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:16px; }
.analytics-result-head>button { min-height:36px; font-size:12px; padding:7px 12px; }
.analytics-tabs { padding:3px; background:#f7f8fb; border-color:#e5e7ef; }
.analytics-tabs button { min-height:33px; font-size:12px; }
#analyticsCountNote { font-size:12px; margin-bottom:15px; }
.analytics-tablewrap { max-height:650px; border:1px solid #e1e5ed; border-radius:7px; }
.analytics-tablewrap table { border-collapse:separate; border-spacing:0; min-width:850px; }
.analytics-tablewrap th { position:sticky; top:0; z-index:1; border-bottom:1px solid #dce1ea; background:#f3f5fa; font-size:11px; padding:11px 12px; }
.analytics-tablewrap td { padding:12px; font-size:12px; vertical-align:top; line-height:1.7; }
.analytics-tablewrap tbody tr:last-child td { border-bottom:0; }
.analytics-tablewrap td small { display:block; max-width:260px; white-space:normal; overflow-wrap:anywhere; margin-top:3px; color:#616d80; font-size:10px; line-height:1.6; }
.analytics-tablewrap td strong { color:#34415a; font-weight:650; }
.analytics-tablewrap .num { font-variant-numeric:tabular-nums; text-align:right; }
.analytics-tablewrap td button { min-height:29px; padding:4px 8px; font-size:11px; }
.analytics-tablewrap .analytics-part-link { display:inline; min-height:0; padding:0; border:0; border-radius:2px; background:transparent; color:#5146bd; font-size:12px; font-weight:700; text-align:left; }
.analytics-part-link:hover { text-decoration:underline; }
.analytics-pagination { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px; margin-top:17px; color:#616d80; font-size:12px; }
.analytics-pagination>div { display:flex; align-items:center; gap:12px; }
.analytics-pagination button { min-height:31px; padding:5px 11px; font-size:11px; }
#analyticsSelectedPart { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 12px; margin-bottom:15px; border:1px solid #dbd6f8; border-radius:7px; background:#f4f2ff; color:#5146ad; font-size:12px; }
#analyticsSelectedPart button { padding:3px 7px; min-height:26px; font-size:11px; border:0; color:#5146ad; background:transparent; }
.analytics-detail .section-heading { margin-bottom:14px; }
.analytics-detail .section-heading button { min-height:31px; padding:5px 11px; font-size:12px; }
.analytics-detail-meta { display:flex; gap:8px 18px; flex-wrap:wrap; font-size:12px; color:#616d80; padding-bottom:16px; border-bottom:1px solid #e8ebf2; }
.analytics-detail dl { margin:18px 0; }
.analytics-detail dl>div { display:grid; grid-template-columns:90px minmax(0,1fr); gap:12px; margin:10px 0; font-size:13px; }
.analytics-detail dt { color:#616d80; }
.analytics-detail dd { margin:0; color:#344155; overflow-wrap:anywhere; }
.analytics-mail-body { white-space:pre-wrap; overflow-wrap:anywhere; padding:20px; margin:21px 0; border:1px solid #e4e7ee; border-radius:8px; background:#fafbfe; line-height:1.8; font-size:14px; }
@media (max-width:1279px) {
 .analytics-query-grid { grid-template-columns:repeat(3,minmax(120px,1fr)); }
 .analytics-query-actions { grid-column:auto; }
 .analytics-metric { padding:16px 13px; }
 .analytics-metric>strong { font-size:24px; }
}
@media (max-width:1000px) {
 .analytics-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .analytics-query-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .analytics-head { flex-wrap:wrap; }
 .analytics-filterbar label { flex-basis:180px; }
}
@media (max-width:720px) {
 .analytics-head { gap:12px; }
 .analytics-source { width:100%; }
 .analytics-source button { flex:1; font-size:12px; padding:7px 10px; }
 .analytics-query { padding:17px; }
 .analytics-query-grid { gap:12px 10px; }
 .analytics-query-actions { flex-wrap:wrap; }
 .analytics-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 .analytics-metric:first-child { grid-column:1/-1; display:flex; justify-content:space-between; align-items:center; }
 .analytics-metric:first-child>span { margin:0; }
 .analytics-results { padding:16px; }
 .analytics-tabs { flex:1; }
 .analytics-tabs button { flex:1; padding:7px 9px; }
 .analytics-filterbar label,.analytics-filterbar label:nth-child(2) { flex:1 1 40%; min-width:120px; }
 .analytics-filterbar>button { margin-left:auto; }
 .analytics-pagination { font-size:11px; }
 .analytics-detail dl>div { grid-template-columns:66px minmax(0,1fr); }
 .analytics-mail-body { padding:15px; font-size:13px; }
}
