
/* Base layout (como 1.1.1) */
.ciae-sppr .card, .card { background:#fff; border:1px solid #e5e7eb; border-radius:16px; padding:16px; box-shadow:0 2px 12px rgba(0,0,0,.06); margin:12px 0; }
.ciae-student h2 { font-size:22px; margin:0 0 8px; }
.ciae-grid { display:grid; gap:14px; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.ciae-grid.two { grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); }
.ciae-metric { padding:12px; border-radius:12px; background:#f8fafc; }
.small { font-size:12px; color:#64748b; }
.kpi { font-size:28px; font-weight:700; }
.badge { display:inline-block; padding:4px 8px; border-radius:999px; font-size:12px; background:#eef2ff; }
.badge.soft { background:#ecfeff; border:1px solid #67e8f9; color:#155e75; }
.badge.soft2 { background:#fef9c3; border:1px solid #fde047; color:#713f12; }
.ciae-table { width:100%; border-collapse:separate; border-spacing:0; }
.ciae-table th, .ciae-table td { padding:10px 12px; border-bottom:1px solid #f1f5f9; }
.ciae-table th { text-align:left; font-weight:600; background:#f8fafc; }
/* Ring */
.ring { --p:0; --col:#16a34a; width:140px; height:140px; background: conic-gradient(var(--col) calc(var(--p)*1%), #e5e7eb 0); border-radius:50%; position:relative; flex:0 0 140px; }
.ring::after { content:''; position:absolute; inset:12px; background:#fff; border-radius:50%; box-shadow: inset 0 0 0 1px #e5e7eb; }
.ring .label { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size:22px; font-weight:800; }
/* Alertas */
.alert { padding:12px 14px; border-radius:12px; border-left:4px solid; margin-bottom:12px; }
.alert.warning { background:#fff7ed; border-color:#fdba74; color:#92400e; }
