/* Principal CC — barra y menú comunes. Todo lleva prefijo cc- para no chocar con el CSS de cada módulo. */
:root{
  --cc-navy:#002060; --cc-navy-2:#0b2f7a; --cc-oro:#c9a227; --cc-verde:#43862B; --cc-rojo:#D7262E;
  --cc-bg:#f2f4f8; --cc-surface:#fff; --cc-ink:#101828; --cc-muted:#5b6478; --cc-line:#d9dfe9;
  --cc-f:"Manrope",system-ui,"Segoe UI",sans-serif;
  --cc-alto-barra:52px; --cc-alto-menu:64px;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --cc-navy:#001844; --cc-navy-2:#0d2a66; --cc-bg:#0a1020; --cc-surface:#121a2e; --cc-ink:#e9edf5;
  --cc-muted:#9aa5bd; --cc-line:#253150; --cc-verde:#6cbf4f; --cc-rojo:#ff6b70}}
:root[data-theme="dark"]{
  --cc-navy:#001844; --cc-navy-2:#0d2a66; --cc-bg:#0a1020; --cc-surface:#121a2e; --cc-ink:#e9edf5;
  --cc-muted:#9aa5bd; --cc-line:#253150; --cc-verde:#6cbf4f; --cc-rojo:#ff6b70}

body.cc-con-barra{padding-bottom:calc(var(--cc-alto-menu) + env(safe-area-inset-bottom))}
.cc-barra{position:sticky;top:0;z-index:50;background:var(--cc-navy);color:#fff;font-family:var(--cc-f);
  box-shadow:0 1px 0 rgba(255,255,255,.08),0 2px 10px rgba(0,0,0,.18)}
.cc-barra-in{max-width:1320px;margin:0 auto;height:var(--cc-alto-barra);display:flex;align-items:center;gap:12px;padding:0 16px}
.cc-logo{display:flex;align-items:center;gap:8px;color:#fff;text-decoration:none;font-weight:800;font-size:15px;white-space:nowrap}
.cc-logo img{width:auto;display:block}
.cc-logo-ancho{height:24px}
.cc-logo-corto{height:22px;display:none!important}
@media (max-width:600px){ .cc-logo-ancho{display:none!important} .cc-logo-corto{display:block!important} }
.cc-sep{width:1px;height:22px;background:rgba(255,255,255,.3)}
.cc-modulo{font-weight:800;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cc-quien{margin-left:auto;display:flex;align-items:center;gap:10px;font-size:13px;min-width:0}
.cc-quien span{opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:22vw}
.cc-quien button{background:transparent;border:1px solid rgba(255,255,255,.45);color:#fff;border-radius:8px;
  padding:4px 11px;font:700 12px var(--cc-f);cursor:pointer}
.cc-quien button:hover{background:rgba(255,255,255,.12)}

/* menú de abajo en el celular: Inicio · módulo actual · Módulos */
.cc-menu{position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--cc-surface);border-top:1px solid var(--cc-line);
  display:flex;justify-content:space-around;padding:4px 4px env(safe-area-inset-bottom);font-family:var(--cc-f);
  box-shadow:0 -2px 12px rgba(0,0,0,.06)}
.cc-menu a,.cc-menu button{flex:1;max-width:140px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 2px;
  color:var(--cc-muted);text-decoration:none;font:700 11.5px var(--cc-f);border-radius:10px;min-width:0;background:none;border:0;cursor:pointer}
.cc-menu span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.cc-menu svg{width:24px;height:24px}
.cc-menu a[aria-current="page"],.cc-menu button[aria-expanded="true"]{color:var(--cc-navy);background:rgba(0,32,96,.08)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .cc-menu a[aria-current="page"],:root:not([data-theme="light"]) .cc-menu button[aria-expanded="true"]{color:#9db8ff;background:rgba(157,184,255,.12)}}
.cc-apagado{opacity:.45}

/* barra de arriba */
.cc-modulo{display:flex;align-items:center;gap:7px}
.cc-modulo svg{width:18px;height:18px;flex:none;opacity:.9}
.cc-nav{display:flex;gap:4px;margin-left:10px}
.cc-nav a,.cc-nav button{display:flex;align-items:center;gap:7px;padding:7px 12px;border-radius:9px;color:rgba(255,255,255,.8);
  text-decoration:none;font:700 13.5px var(--cc-f);background:none;border:0;cursor:pointer;white-space:nowrap}
.cc-nav svg{width:18px;height:18px}
.cc-nav a:hover,.cc-nav button:hover{background:rgba(255,255,255,.1);color:#fff}
.cc-nav a[aria-current="page"],.cc-nav button[aria-expanded="true"]{background:rgba(255,255,255,.16);color:#fff}
.cc-nav button::after{content:"";width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);margin-left:2px}

/* panel con todos los módulos */
.cc-panel{position:fixed;inset:0;z-index:60;font-family:var(--cc-f)}
.cc-panel[hidden]{display:none}
.cc-panel-velo{position:absolute;inset:0;background:rgba(10,16,32,.35)}
.cc-panel-caja{position:absolute;top:calc(var(--cc-alto-barra) + 8px);left:50%;transform:translateX(-50%);width:min(760px,calc(100vw - 32px));
  max-height:calc(100vh - var(--cc-alto-barra) - 24px);overflow-y:auto;background:var(--cc-surface);color:var(--cc-ink);
  border:1px solid var(--cc-line);border-radius:16px;box-shadow:0 18px 50px rgba(10,16,32,.28);padding:14px}
.cc-panel-cab{display:flex;align-items:center;gap:10px;margin:0 2px 10px}
.cc-panel-cab b{font-size:15px;font-weight:800}
.cc-panel-buscar{flex:1;max-width:280px;margin-left:auto;border:1px solid var(--cc-line);border-radius:9px;padding:7px 10px;
  font:600 13px var(--cc-f);background:var(--cc-bg);color:var(--cc-ink)}
.cc-panel-buscar:focus{outline:2px solid var(--cc-navy);outline-offset:1px}
.cc-panel-x{border:0;background:none;font-size:24px;line-height:1;color:var(--cc-muted);cursor:pointer;padding:2px 6px;margin-left:auto}
.cc-panel-buscar + .cc-panel-x{margin-left:0}
.cc-panel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.cc-mod{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:12px;border:1px solid var(--cc-line);
  color:var(--cc-ink);text-decoration:none;font-weight:700;font-size:13.5px;line-height:1.25;min-width:0}
.cc-mod[hidden]{display:none}
.cc-mod svg{width:20px;height:20px;flex:none;padding:7px;box-sizing:content-box;border-radius:10px;background:var(--cc-navy);color:#fff}
.cc-mod span{overflow:hidden;text-overflow:ellipsis}
.cc-mod:hover,.cc-mod:focus-visible{border-color:var(--cc-navy);background:rgba(0,32,96,.04)}
.cc-mod[aria-current="page"]{border-color:var(--cc-navy);box-shadow:inset 0 0 0 1px var(--cc-navy)}
.cc-modulo small{font-weight:700;opacity:.7;font-size:13px;margin-right:2px}
.cc-panel-grid{grid-auto-flow:dense}
.cc-grupo{grid-column:span 2;border:1px solid var(--cc-line);border-radius:12px;padding:9px 10px;display:flex;align-items:center;gap:10px;min-width:0}
.cc-grupo[hidden]{display:none}
.cc-grupo.cc-ancho{grid-column:1/-1}
.cc-grupo-cab{display:flex;align-items:center;gap:11px;flex:none;padding-right:6px}
.cc-grupo-cab svg{width:20px;height:20px;flex:none;padding:7px;box-sizing:content-box;border-radius:10px;background:var(--cc-navy);color:#fff}
.cc-grupo-cab b{font-size:13.5px;font-weight:800}
.cc-grupo-hijos{display:flex;gap:6px;flex-wrap:wrap;flex:1;justify-content:flex-end}
.cc-sub{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:9px;background:var(--cc-bg);color:var(--cc-ink);
  text-decoration:none;font-weight:700;font-size:13px;border:1px solid transparent}
.cc-sub[hidden]{display:none}
.cc-sub svg{width:16px;height:16px;color:var(--cc-navy)}
.cc-sub:hover,.cc-sub:focus-visible{border-color:var(--cc-navy)}
.cc-sub[aria-current="page"]{border-color:var(--cc-navy);background:rgba(0,32,96,.06)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .cc-grupo-cab svg{background:#2a4a9a} :root:not([data-theme="light"]) .cc-sub svg{color:#9db8ff}}
@media (max-width:899px){ .cc-grupo{grid-column:1/-1;flex-direction:column;align-items:stretch} .cc-grupo-hijos{justify-content:flex-start} .cc-sub{flex:1} }
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .cc-mod svg{background:#2a4a9a}}

@media (min-width:900px){ body.cc-con-barra{padding-bottom:0} #cc-menu{display:none} }
@media (max-width:899px){
  .cc-nav{display:none}
  .cc-panel-caja{top:auto;bottom:calc(var(--cc-alto-menu) + env(safe-area-inset-bottom));left:0;right:0;transform:none;width:auto;
    border-radius:18px 18px 0 0;max-height:72vh;padding:14px 12px}
  .cc-panel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cc-mod{padding:10px;font-size:13px}
}
@media (max-width:420px){ .cc-quien span{display:none} }
