/* Estilo "portal": menú lateral oscuro con grupos, buscador y recientes; ítem activo con degradé de la marca.
   Se carga después de tema.css. Los colores salen de --sidebar (marca del espacio) y --acento. */
.side{background:var(--sidebar,#12141A);color:#E7E5E4;padding:14px 12px;border-right:0}
.app{background:color-mix(in srgb,var(--sidebar,#12141A) 88%,#fff)}
.contenido{margin:0;border-radius:0;border:0;min-height:100vh;box-shadow:none}
.side-marca{padding:4px 6px 14px}
.side-nombre{color:#fff}
.side-marca .monograma{background:linear-gradient(135deg,var(--acento-claro),var(--acento));color:var(--acento-txt,#fff)}
.side-sub{display:block;font:600 10px var(--f-texto);letter-spacing:.14em;text-transform:uppercase;color:color-mix(in srgb,#fff 50%,transparent);padding:0 6px 10px}
.side-toggle{color:#fff;background:var(--acento);border:0;box-shadow:0 2px 8px rgba(0,0,0,.3)}
/* buscador */
.side-buscar{position:relative;margin:0 2px 12px}
.side-buscar input{width:100%;height:36px;border-radius:9px;border:1px solid color-mix(in srgb,#fff 12%,transparent);background:color-mix(in srgb,#fff 6%,transparent);color:#fff;padding:0 56px 0 32px;font:500 13px var(--f-texto)}
.side-buscar input::placeholder{color:color-mix(in srgb,#fff 45%,transparent)}
.side-buscar input:focus{outline:0;border-color:var(--acento);box-shadow:0 0 0 3px color-mix(in srgb,var(--acento) 25%,transparent)}
.side-buscar .ico-svg{position:absolute;left:10px;top:10px;color:color-mix(in srgb,#fff 50%,transparent)}
.side-buscar kbd{position:absolute;right:8px;top:8px;font:600 10px var(--f-texto);color:color-mix(in srgb,#fff 60%,transparent);border:1px solid color-mix(in srgb,#fff 18%,transparent);border-radius:5px;padding:2px 6px}
/* grupos */
.nav{gap:0;overflow:auto;scrollbar-width:thin}
.nav-grupo{margin:6px 0 2px}
.nav-grupo-cab{display:flex;align-items:center;gap:6px;width:100%;background:none;border:0;padding:8px 8px 6px;font:700 10.5px var(--f-texto);letter-spacing:.14em;text-transform:uppercase;color:color-mix(in srgb,#fff 55%,transparent);cursor:pointer;border-radius:6px}
.nav-grupo-cab:hover{color:#fff}
.nav-grupo-cab .flecha{display:inline-block;transition:transform .15s;font-size:9px}
.nav-grupo.cerrado .nav-grupo-cab .flecha{transform:rotate(-90deg)}
.nav-grupo-cab .cuenta{margin-left:auto;background:color-mix(in srgb,var(--acento) 35%,transparent);color:#fff;font-size:10px;font-weight:700;padding:1px 7px;border-radius:999px}
.nav-grupo.cerrado .nav-grupo-items{display:none}
.nav-grupo-items{display:flex;flex-direction:column;gap:2px}
.nav a{height:38px;padding:0 12px;gap:10px;border-radius:9px;color:#E7E5E4;font:500 14px var(--f-texto)}
.nav a:hover{background:color-mix(in srgb,#fff 8%,transparent);color:#fff}
.nav .ico{color:color-mix(in srgb,#fff 60%,transparent)}
.nav a[aria-current="page"]{background:linear-gradient(90deg,var(--acento-claro),var(--acento));color:var(--acento-txt,#fff);box-shadow:0 6px 16px -6px color-mix(in srgb,var(--acento) 70%,transparent) !important;outline:0}
.nav a[aria-current="page"] .ico{color:var(--acento-txt,#fff)}
.nav a .pin{margin-left:auto;font-size:11px;opacity:0;color:#fff}
.nav a:hover .pin{opacity:.6}
.nav-vacio{padding:10px 8px;font-size:12px;color:color-mix(in srgb,#fff 50%,transparent)}
/* pie del menú */
.side-pie{border-top:1px solid color-mix(in srgb,#fff 10%,transparent);padding-top:10px}
.usuario-btn{color:#fff}
.usuario-btn:hover,.usuario-btn[aria-expanded="true"]{background:color-mix(in srgb,#fff 8%,transparent)}
.usuario-txt strong{color:#fff}
.usuario-txt span,.usuario-mas{color:color-mix(in srgb,#fff 55%,transparent)}
.menu-usuario{background:var(--superficie);color:var(--tinta)}
.side-tarjeta{display:block;margin:10px 2px 6px;padding:12px 14px;border-radius:12px;background:linear-gradient(135deg,var(--acento),var(--acento-fuerte));color:var(--acento-txt,#fff);text-decoration:none}
.side-tarjeta small{display:block;font:700 10px var(--f-texto);letter-spacing:.12em;text-transform:uppercase;opacity:.85}
.side-tarjeta strong{display:block;font-size:17px;margin-top:2px}
/* cabecera de contenido tipo portal */
.topbar{height:auto;padding:14px 24px 0;border-bottom:0;background:transparent;backdrop-filter:none;position:static;flex-wrap:wrap}
#topNombre{display:none}.miga-sep{display:none}
#topSeccion{font:600 12px var(--f-texto);color:var(--acento);letter-spacing:.02em}
.main{padding-top:6px}
/* Inicio: tarjetas de resumen */
.inicio-tarjetas{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px;margin:4px 0 20px}
.inicio-tarjeta{background:var(--superficie);border:1px solid var(--linea);border-radius:14px;padding:18px 20px;box-shadow:var(--sombra);text-decoration:none;color:inherit;display:block}
.inicio-tarjeta:hover{border-color:var(--acento-borde)}
.inicio-tarjeta h3{display:flex;align-items:center;gap:8px;font:600 14px var(--f-texto);margin:0 0 12px}
.inicio-tarjeta h3 .ico-svg{color:var(--acento)}
.inicio-cifras{display:flex;flex-wrap:wrap;gap:18px 26px}
.inicio-cifra strong{display:block;font:700 26px/1.1 var(--f-texto);letter-spacing:-.02em}
.inicio-cifra strong.alerta{color:#DC2626}
.inicio-cifra span{font-size:12px;color:var(--tinta-suave)}
.inicio-pie{margin:12px 0 0;font-size:13px;color:var(--tinta-suave)}
.inicio-pie b{color:var(--tinta)}
.hero{padding:0 0 6px;border:0;box-shadow:none;background:none}
.hero h1{font-size:26px;margin:0}
.hero .hero-kicker{display:none}
.hero .btn-sec{display:none}
/* Lightbox de imágenes */
.lb{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.82);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;cursor:zoom-out;animation:lb .15s ease-out}
@keyframes lb{from{opacity:0}}
.lb img{max-width:min(92vw,1100px);max-height:78vh;border-radius:10px;box-shadow:0 30px 80px rgba(0,0,0,.5);background:#fff;cursor:default}
.lb figcaption{color:#fff;margin-top:14px;text-align:center;font:600 14px var(--f-texto);max-width:900px}
.lb figcaption a{color:#fff;opacity:.8;font-weight:400;font-size:12px;display:block;margin-top:4px}
.lb .lb-cerrar{position:absolute;top:18px;right:22px;width:36px;height:36px;border-radius:50%;border:0;background:#fff;color:#111;font-size:20px;cursor:pointer;display:grid;place-items:center}
.ti-mini{cursor:zoom-in}
.ti-foto img,.remito-img{cursor:zoom-in}
@media(max-width:860px){.contenido{margin:0}.topbar{padding:10px 16px 0}.topbar button{display:inline-flex;color:var(--tinta)}}
.acceso-mod .ico .ico-svg{color:var(--acento)}
