.analysis-month-summary { display:flex; gap:8px; overflow:auto; margin-bottom:14px; padding-bottom:4px; }
.analysis-month-card { min-width:150px; display:grid; gap:2px; padding:10px 12px; border:1px solid var(--line-strong); border-radius:9px; background:#fff; color:var(--ink); text-align:left; }
.analysis-month-card.is-selected { border-color:var(--green); box-shadow:0 0 0 2px rgba(22,107,84,.1); }
.analysis-month-card span,.analysis-month-card small { color:var(--ink-soft); font-size:10px; }
.analysis-month-card strong { font-size:18px; }
.analysis-month-empty { padding:16px; color:var(--ink-soft); }
.analysis-filters { display:grid; grid-template-columns:minmax(260px,1fr) 160px 150px auto; gap:10px; align-items:end; margin-bottom:14px; padding:12px; border:1px solid var(--line-strong); border-radius:10px; background:#fff; }
.analysis-filters label { display:grid; gap:5px; color:var(--ink-soft); font-size:10px; font-weight:800; }
.analysis-filters input,.analysis-filters select,.analysis-filters button { min-height:36px; border:1px solid var(--line-strong); border-radius:7px; background:#fff; padding:0 10px; }
.analysis-table-wrap { overflow:auto; border:1px solid var(--line-strong); border-radius:10px; background:#fff; }
.analysis-table { width:100%; min-width:1220px; border-collapse:collapse; font-size:11px; }
.analysis-table th { padding:9px 10px; background:#edf2ef; color:var(--ink-soft); text-align:left; white-space:nowrap; }
.analysis-table td { max-width:220px; padding:10px; border-top:1px solid var(--line); vertical-align:top; }
.analysis-table td strong,.analysis-table td small { display:block; overflow:hidden; text-overflow:ellipsis; }
.analysis-table td small { margin-top:3px; color:var(--ink-soft); }
.analysis-table tr.is-selected td { background:#eef7f3; }
.analysis-status { display:inline-flex; padding:3px 7px; border-radius:999px; font-weight:900; white-space:nowrap; }
.analysis-status.is-success { background:#e4f3ed; color:#176b54; }
.analysis-status.is-error { background:#fde9e6; color:#b43b32; }
.analysis-status.is-running,.analysis-status.is-pending { background:#fff2d8; color:#805b0b; }
.analysis-status.is-neutral { background:#eef0ef; color:#5e6964; }
.analysis-error-label { color:#9c3c32; }
.analysis-row-actions { display:flex; flex-wrap:wrap; gap:5px; }
.analysis-row-actions button,.analysis-row-actions a { min-height:30px; display:inline-flex; align-items:center; padding:0 8px; border:1px solid var(--line-strong); border-radius:6px; background:#fff; color:var(--ink); font-size:10px; text-decoration:none; }
.analysis-row-actions .analysis-retry-button { border-color:#b45d22; color:#98470e; }
.analysis-retry-blocked { max-width:150px; color:var(--ink-soft); }
.analysis-pagination { display:flex; justify-content:flex-end; align-items:center; gap:10px; margin:12px 0; }
.analysis-pagination button { min-height:34px; padding:0 12px; border:1px solid var(--line-strong); border-radius:7px; background:#fff; }
.analysis-pagination button:disabled { opacity:.45; }
.analysis-detail { margin-top:14px; border:1px solid var(--line-strong); border-radius:10px; background:#fff; }
.analysis-detail[hidden] { display:none; }
.analysis-detail > header { display:flex; justify-content:space-between; align-items:center; padding:13px 16px; border-bottom:1px solid var(--line); }
.analysis-detail > header span { color:var(--ink-soft); font-size:10px; }
.analysis-detail > header h3 { margin:2px 0 0; }
.analysis-detail > header button { width:32px; height:32px; border:0; background:transparent; font-size:20px; }
.analysis-detail-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; background:var(--line); }
.analysis-detail-grid > div { min-width:0; display:grid; gap:4px; padding:11px 13px; background:#fff; }
.analysis-detail-grid span { color:var(--ink-soft); font-size:9px; }
.analysis-detail-grid strong { overflow-wrap:anywhere; font-size:11px; }
.analysis-hash { font-family:ui-monospace,monospace; }
.analysis-detail > footer { display:flex; justify-content:flex-end; gap:8px; padding:12px 16px; border-top:1px solid var(--line); }
.analysis-retry-dialog { display:grid; gap:10px; }
.analysis-dialog-error { min-height:18px; color:#b43b32; }
@media (max-width:1100px) { .analysis-filters { grid-template-columns:1fr 1fr; } .analysis-detail-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
