:root{
  --crcs-purple:#571580;
  --crcs-border:#e8e8ee;
  --crcs-text:#1f2330;
  --crcs-muted:#5d6473;
  --crcs-bg:#fafbff;
}
.crcs-wrap{max-width:1050px;margin:24px auto;padding:0 16px;}
.crcs-card{background:#fff;border:1px solid var(--crcs-border);border-radius:14px;padding:16px 16px 12px;box-shadow:0 1px 0 rgba(0,0,0,.02);}
.crcs-title{font-size:20px;margin:0 0 10px;color:var(--crcs-text);}
.crcs-sub{color:var(--crcs-muted);margin:0 0 14px;font-size:13px;}
.crcs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
@media (max-width: 920px){ .crcs-grid{grid-template-columns:1fr;} }
.crcs-card label{display:grid;gap:6px;font-size:13px;color:var(--crcs-muted);}
.crcs-card input,.crcs-card select{
  font-size:14px;color:var(--crcs-text);
  border:1px solid #dadde6;border-radius:10px;
  padding:10px 10px;background:#fff;
}
.crcs-row{margin-bottom:12px;}
.crcs-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:2px 0 12px;}
.crcs-tabbtn{
  border:1px solid var(--crcs-purple);
  color:var(--crcs-purple);
  background:#fff;
  padding:9px 12px;
  border-radius:12px;
  cursor:pointer;
  font-size:13px;
  user-select:none;
}
.crcs-tabbtn[aria-selected="true"]{background:var(--crcs-purple);color:#fff;}
.crcs-chips{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.crcs-chip input{display:none}
.crcs-chip label{
  display:inline-block; padding:7px 10px; border-radius:999px;
  border:1px solid var(--crcs-purple); color:var(--crcs-purple);
  cursor:pointer; user-select:none; font-size:13px;
}
.crcs-chip input:checked + label{background:var(--crcs-purple);color:#fff;}
.crcs-inline{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.crcs-pill{padding:5px 8px;border-radius:999px;background:#f2f3fb;border:1px solid var(--crcs-border);font-size:12px;color:var(--crcs-muted)}
.crcs-section-title{margin:10px 0 8px;font-size:13px;color:var(--crcs-muted);font-weight:700}
.crcs-hidden{display:none !important;}
.crcs-chart-card{margin-top:14px;}
.crcs-chart-wrap{height:380px;}
.crcs-summary{margin-top:10px;border-left:4px solid var(--crcs-purple);padding:8px 10px;color:var(--crcs-text);font-weight:600;}
.crcs-note{margin:8px 0 0;color:var(--crcs-muted);font-size:12px;line-height:1.35}
.crcs-warn{margin-top:10px;color:#8a1d1d;background:#fff5f5;border:1px solid #ffd1d1;padding:10px;border-radius:10px;display:none}
