/* Colores: cambia --p (principal) y --q (segundo color de la cabecera) */
.cclcal{--p:#4f46e5;--q:#06b6d4;--t:#0f172a;--m:#64748b;--b:#e2e8f0;--c:#fff;--h:#ef4444;--r:#f59e0b;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--t);max-width:1100px;margin:0 auto;line-height:1.5}
.cclcal *{box-sizing:border-box}.cclcal h2,.cclcal h3{margin:0;font-weight:700}
.cclcal .hero{background:linear-gradient(135deg,var(--p),var(--q));color:#fff;border-radius:24px;padding:36px 20px;text-align:center;box-shadow:0 20px 40px -20px rgba(79,70,229,.6)}
.cclcal .hero small{display:block;opacity:.85;letter-spacing:.12em;text-transform:uppercase;font-size:13px}
.cclcal .big{font-size:clamp(64px,16vw,150px);font-weight:800;line-height:1;margin:8px 0}
.cclcal .ttl{font-size:clamp(22px,4vw,34px);font-weight:700}
.cclcal .clock{display:inline-block;margin-top:14px;background:rgba(255,255,255,.18);padding:6px 16px;border-radius:99px;font-variant-numeric:tabular-nums}
.cclcal .sto{margin:16px auto 0;background:rgba(255,255,255,.18);border-radius:16px;padding:12px 18px;max-width:520px}
.cclcal .sg{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin:22px 0}
.cclcal .st,.cclcal .box{background:var(--c);border:1px solid var(--b);border-radius:18px;padding:18px;box-shadow:0 4px 14px -8px rgba(15,23,42,.2)}
.cclcal .st b{display:block;font-size:30px;color:var(--p)}.cclcal .st span{color:var(--m);font-size:14px}
.cclcal .two{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}
.cclcal .mg{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px;margin:22px 0}
.cclcal .mo{background:var(--c);border:1px solid var(--b);border-radius:18px;padding:14px;box-shadow:0 4px 14px -8px rgba(15,23,42,.2)}
.cclcal .mo h3{text-align:center;color:var(--p);margin-bottom:8px;font-size:17px}
.cclcal .g{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center;font-size:13px}
.cclcal .g b{color:var(--m);font-size:11px;padding:3px 0}.cclcal .g span{padding:6px 0;border-radius:8px;cursor:default}
.cclcal .g span:hover{background:#eef2ff}.cclcal .we{color:var(--h)}
.cclcal .ho{background:var(--h);color:#fff!important;font-weight:700}.cclcal .rg{background:#fde68a;color:#78350f!important}
.cclcal .td{background:var(--p);color:#fff!important;font-weight:700;box-shadow:0 0 0 3px #c7d2fe}
.cclcal .lg{display:flex;flex-wrap:wrap;gap:14px;font-size:13px;color:var(--m);justify-content:center;margin:14px 0}
.cclcal .lg i{display:inline-block;width:12px;height:12px;border-radius:4px;margin-right:5px;vertical-align:middle}
.cclcal ul{list-style:none;margin:10px 0 0;padding:0}.cclcal li{padding:8px 0;border-bottom:1px dashed var(--b);display:flex;justify-content:space-between;gap:10px}
.cclcal li:last-child{border:0}.cclcal li em{color:var(--m);font-style:normal;white-space:nowrap}
.cclcal .bt{border:0;background:var(--p);color:#fff;padding:10px 18px;border-radius:12px;font-size:15px;cursor:pointer;margin:4px}
.cclcal .bt.o{background:#fff;color:var(--p);border:1px solid var(--p)}.cclcal input[type=date]{padding:9px;border-radius:12px;border:1px solid var(--b);font-size:15px}
.cclcal .nav{text-align:center;margin:18px 0}.cclcal .nav a{display:inline-block;margin:4px;padding:8px 16px;border-radius:99px;background:#eef2ff;color:var(--p);text-decoration:none;font-weight:600}
.cclcal .nav a.on{background:var(--p);color:#fff}
@media print{.cclcal .hero{box-shadow:none}.cclcal .nav,.cclcal .bt{display:none}}
