/* Clinic Performance report - styles scoped with the cp- prefix so they don't clash with Bootstrap 3 / Site.css */
.cp-wrap{font-family:inherit;color:#2b2f33;margin-bottom:10px}
.cp-hero{background:linear-gradient(135deg,#2c5aa0 0%,#1f3f73 100%);color:#fff;border-radius:8px;padding:24px 28px 20px;margin:24px 0 24px}
.cp-hero h1{margin:0 0 6px;font-size:28px;font-weight:600;color:#fff}
.cp-hero .cp-sub{margin:0;font-size:14px;color:rgba(255,255,255,.9)}
.cp-controls{display:flex;flex-wrap:wrap;gap:18px;align-items:flex-end;margin-top:18px}
.cp-ctl label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:rgba(255,255,255,.85);margin-bottom:6px;font-weight:700}
.cp-select{font-size:15px;font-weight:600;color:#1f3f73;padding:9px 12px;border-radius:12px;border:1px solid #dcdce4;background:#fff;min-width:240px;box-shadow:0 1px 2px rgba(0,0,0,.05),0 4px 10px rgba(0,0,0,.06);height:auto}
.cp-pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px;background:rgba(255,255,255,.12);padding:4px;border-radius:12px}
.cp-pill{color:#fff!important;text-decoration:none!important;padding:8px 13px;border-radius:9px;font-size:13.5px;font-weight:600;display:inline-flex;align-items:center;gap:7px}
.cp-pill:hover{background:rgba(255,255,255,.16)}
.cp-pill.cp-active{background:#fff;color:#1f3f73!important;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.cp-pill.cp-dim{opacity:.55}
.cp-dot{width:9px;height:9px;border-radius:50%;display:inline-block}
.cp-share{margin-left:auto;font-size:12px;color:rgba(255,255,255,.9);display:flex;gap:8px;align-items:center}
.cp-share a,.cp-share button{border:1px solid rgba(255,255,255,.55);background:transparent;color:#fff;border-radius:10px;padding:7px 11px;font-size:12px;cursor:pointer;text-decoration:none}
.cp-sechead{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;margin:6px 0 14px}
.cp-sechead h2{margin:0;font-size:21px;font-weight:600;color:#1f3f73}
.cp-tag{font-size:12px;font-weight:600;padding:3px 9px;border-radius:999px;background:#eef3fb;color:#1f3f73}
.cp-tag.cp-mtd{background:#fef3c7;color:#92400e}
.cp-hint{font-size:12px;color:#6b7280}
.cp-grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.cp-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.cp-card{background:#fff;border:1px solid #e2e6ea;border-radius:8px;box-shadow:0 1px 3px rgba(0,0,0,.06);padding:16px 18px}
.cp-kpi{border-top:4px solid #2c5aa0}
.cp-kpi.k-active{border-top-color:#0369a1}.cp-kpi.k-newpt{border-top-color:#2f8f5b}.cp-kpi.k-recall{border-top-color:#b7791f}.cp-kpi.k-rebook{border-top-color:#6b46c1}
.cp-kpi .t{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;font-weight:700}
.cp-kpi .v{font-size:30px;font-weight:700;margin:6px 0 4px;color:#1f2937}
.cp-kpi .v.na{font-size:17px;color:#6b7280;font-weight:600}
.cp-kpi .s{font-size:12px;color:#6b7280;margin-bottom:8px}
.cp-cmp{font-size:13px;line-height:1.6}
.cp-up{color:#15803d;font-weight:700}.cp-down{color:#b91c1c;font-weight:700}.cp-flat{color:#6b7280}
.cp-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;border-top:1px dashed #e2e6ea;padding-top:9px}
.cp-chip{font-size:12px;background:#f3f5f8;border-radius:7px;padding:3px 7px;display:inline-flex;align-items:center;gap:5px}
.cp-chart h3{margin:0 0 2px;font-size:16px;font-weight:600;color:#1f3f73}
.cp-chart .cp-hint{margin-bottom:8px;min-height:17px}
.cp-cbox{position:relative;height:280px}
.cp-cbox.tall{height:320px}
.cp-section{margin-bottom:28px}
.cp-foot{font-size:11.5px;color:#6b7280;line-height:1.55;border-top:1px solid #e2e6ea;padding-top:10px}
.cp-error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;border-radius:8px;padding:12px 16px;margin:12px 0}
@media (max-width:1100px){.cp-grid4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.cp-grid4,.cp-grid2{grid-template-columns:1fr}.cp-share{margin-left:0}.cp-hero{padding:20px}}
