.cos-muted{color:#64748b;font-size:12px;font-weight:600;}
.cos-mt-12{margin-top:12px;}

.cos-hero{
  background:linear-gradient(135deg,#f5f7ff 0%,#f1f5ff 40%,#eef6ff 100%);
  border:1px solid rgba(24,144,255,0.14);
  border-radius:16px;
  padding:20px 18px;
  position:relative;
  overflow:hidden;
  margin-bottom:16px;
}
.cos-hero::after{
  content:'';
  position:absolute;
  right:-70px;
  top:-70px;
  width:220px;
  height:220px;
  background:radial-gradient(circle at 30% 30%,rgba(24,144,255,0.24),rgba(24,144,255,0));
  border-radius:50%;
}
.cos-hero-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.cos-hero-title{display:flex;align-items:center;gap:10px;font-weight:900;color:#0f172a;}
.cos-hero-title i{color:var(--primary-color);}
.cos-hero-title-text{font-size:22px;letter-spacing:.3px;}
.cos-badge{
  display:inline-flex;align-items:center;justify-content:center;
  padding:2px 10px;border-radius:999px;font-size:11px;font-weight:900;
  border:1px solid rgba(15,23,42,0.18);background:rgba(15,23,42,0.06);color:#0f172a;
}
.cos-hero-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;}
.cos-hero-sub{margin-top:10px;color:#64748b;font-size:13px;line-height:1.75;font-weight:600;max-width:1000px;}

.cos-card{
  background:#fff;border-radius:16px;border:1px solid #f0f0f0;
  box-shadow:0 2px 10px rgba(0,0,0,0.04);
  padding:16px;margin-bottom:16px;
}
.cos-card-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;}
.cos-card-title-left{font-weight:900;color:#0f172a;display:flex;align-items:center;gap:8px;font-size:14px;}
.cos-card-title-left i{color:var(--primary-color);}

.cos-label{display:block;font-size:12px;color:var(--text-secondary);margin-bottom:6px;font-weight:800;}
.cos-inline{display:flex;align-items:center;gap:8px;}
.cos-filter-grid{
  display:grid;
  grid-template-columns:180px 1fr 220px 1fr 180px 180px 180px 150px auto;
  gap:10px;align-items:end;
}
.cos-filter-actions{display:flex;justify-content:flex-end;gap:10px;}
.cos-check{
  display:flex;align-items:center;gap:10px;
  padding:10px 12px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;height:40px;box-sizing:border-box;
}
.cos-check input{width:16px;height:16px;}
.cos-check-text{display:flex;flex-direction:column;line-height:1.2;}
.cos-check-text b{color:#0f172a;font-weight:900;font-size:12px;}

.cos-kpi-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;}
.cos-kpi{border:1px solid #e2e8f0;border-radius:14px;padding:12px;background:linear-gradient(180deg,#fff,#fbfdff);min-width:0;}
.cos-kpi-label{color:#64748b;font-size:12px;font-weight:900;white-space:nowrap;}
.cos-kpi-value{margin-top:6px;font-size:20px;font-weight:900;color:#0f172a;}
.cos-kpi-sub{margin-top:6px;font-size:12px;color:#64748b;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

.cos-insight-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.cos-insight{border:1px solid #e2e8f0;border-radius:14px;padding:12px;background:#fff;}
.cos-insight-t{font-weight:900;color:#0f172a;font-size:13px;display:flex;align-items:center;gap:8px;margin-bottom:6px;}
.cos-insight-t i{color:var(--primary-color);}
.cos-insight-d{color:#334155;font-size:12px;line-height:1.75;font-weight:600;}

.cos-ai-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.cos-ai-card{border:1px solid #e2e8f0;border-radius:14px;padding:12px;background:#fff;}
.cos-ai-title{font-weight:900;color:#0f172a;font-size:13px;display:flex;align-items:center;gap:8px;margin-bottom:6px;}
.cos-ai-title i{color:var(--primary-color);}
.cos-ai-body{color:#334155;font-size:12px;line-height:1.85;font-weight:600;}
.cos-ai-body b{color:#0f172a;}

.cos-chart-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.cos-chart-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;}
.cos-chart-card{border:1px solid #e2e8f0;border-radius:14px;background:#fff;overflow:hidden;}
.cos-chart-head{padding:12px;border-bottom:1px solid #f1f5f9;background:#fbfdff;display:flex;align-items:center;justify-content:space-between;gap:10px;}
.cos-chart-name{font-weight:900;color:#0f172a;font-size:13px;}
.cos-chart{height:320px;}
.cos-chart-short{height:260px;}
.cos-chart-tall{height:360px;}

.cos-table-wrap{border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;}
.cos-table{width:100%;border-collapse:collapse;font-size:12px;}
.cos-table th,.cos-table td{border-bottom:1px solid #f1f5f9;padding:10px 10px;text-align:left;vertical-align:top;}
.cos-table th{background:#fbfdff;color:#0f172a;font-weight:900;}

.cos-pill{
  display:inline-flex;align-items:center;justify-content:center;
  padding:2px 8px;border-radius:999px;font-size:11px;font-weight:900;
  border:1px solid #e2e8f0;background:#f8fafc;color:#0f172a;
}
.cos-pill.h{background:#fff1f2;border-color:#fecdd3;color:#9f1239;}
.cos-pill.m{background:#fff7ed;border-color:#fed7aa;color:#9a3412;}
.cos-pill.l{background:#f0fdf4;border-color:#bbf7d0;color:#166534;}

.cos-modal-overlay{
  position:fixed;top:0;left:0;width:100%;height:100%;
  background:rgba(15,23,42,0.55);display:none;align-items:center;justify-content:center;z-index:9999;
}
.cos-modal{
  width:1080px;max-width:calc(100vw - 48px);
  background:#fff;border-radius:14px;overflow:hidden;
  box-shadow:0 18px 40px rgba(0,0,0,0.28);
}
.cos-modal-header{padding:14px 16px;border-bottom:1px solid #f1f5f9;display:flex;align-items:center;justify-content:space-between;gap:10px;}
.cos-modal-title{font-size:14px;font-weight:900;color:#0f172a;}
.cos-modal-body{padding:14px 16px;max-height:72vh;overflow:auto;}
.cos-modal-footer{padding:12px 16px;border-top:1px solid #f1f5f9;display:flex;justify-content:flex-end;gap:10px;}

@media (max-width: 1440px){
  .cos-filter-grid{grid-template-columns:180px 1fr 220px 1fr 180px 180px;}
}
@media (max-width: 1120px){
  .cos-kpi-grid{grid-template-columns:repeat(2,1fr);}
  .cos-chart-grid-2{grid-template-columns:1fr;}
  .cos-chart-grid-3{grid-template-columns:1fr;}
  .cos-filter-grid{grid-template-columns:1fr 1fr;}
  .cos-insight-grid{grid-template-columns:1fr;}
  .cos-ai-grid{grid-template-columns:1fr;}
}

