/*
 * PORTAL METALCOF - CSS GENERADO
 * Fuentes, en orden de cascada:
 *   1. styles.css
 *   2. agora-theme.css
 *   3. project-showcase.css
 *
 * No editar este archivo directamente.
 * Ejecutar tools/build-portal-css.ps1 despuÃ©s de cambiar una hoja fuente.
 */

/* ===== styles.css ===== */

@font-face {
    font-family: "Manrope";
    src: url("fonts/manrope-latin.woff2") format("woff2");
    font-style: normal;
    font-weight: 400 800;
    font-display: swap;
}

:root {
    --ink: #07120f;
    --ink-soft: #0d1c18;
    --panel: #10231e;
    --line: rgba(255, 255, 255, .11);
    --muted: #9aa29d;
    --paper: #f7f8f3;
    --green: #87c63f;
    --green-dark: #0a5f57;
    --orange: #ee8a22;
    --teal: #00a896;
    --ease: cubic-bezier(.22, 1, .36, 1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    color: var(--paper);
    background: var(--ink);
    font-family: "Montserrat", "Manrope", "Segoe UI Variable", "Segoe UI", Arial, sans-serif;
    font-size: 16px;
    -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { color: inherit; }
svg { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
::selection { color: var(--ink); background: var(--green); }

.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .2em;
    text-transform: uppercase;
}
.eyebrow i {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--green);
    box-shadow: 0 0 12px var(--green);
}
em { color: var(--green); font-family: inherit; font-style: normal; font-weight: 800; }

/* Acceso */
.auth-page {
    min-height: 100vh;
    background: #e9ebe5;
    color: #141814;
}
.auth-shell { display: grid; min-height: 100vh; grid-template-columns: minmax(420px, 1.08fr) minmax(430px, .92fr); }
.auth-brand {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 100vh;
    padding: clamp(32px, 5vw, 76px);
    overflow: hidden;
    color: var(--paper);
    background:
        radial-gradient(circle at 70% 52%, rgba(0, 168, 150, .18), transparent 25%),
        radial-gradient(circle at 24% 84%, rgba(238, 138, 34, .14), transparent 28%),
        linear-gradient(145deg, #0f3d38, #06110f 72%);
}
.auth-brand::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .32;
    background-image: linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px);
    background-size: 58px 58px;
    mask-image: linear-gradient(to bottom right, #000, transparent 78%);
}
.auth-brand::after {
    content: "";
    position: absolute;
    width: min(40vw, 580px);
    aspect-ratio: 1;
    left: 58%;
    top: 55%;
    border: 1px solid rgba(183,239,84,.2);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    box-shadow: 0 0 100px rgba(183,239,84,.06), inset 0 0 80px rgba(183,239,84,.03);
}
.brand-mark, .auth-copy, .auth-brand-footer { position: relative; z-index: 2; }
.brand-mark {
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    color: #111;
    background: var(--green);
    border-radius: 3px 16px 3px 3px;
    box-shadow: 0 15px 50px rgba(183,239,84,.14);
}
.brand-mark-duo {
    display: flex;
    align-items: center;
    gap: 12px;
    width: min(330px, 46vw);
    height: 72px;
    padding: 10px 14px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 8px;
    background:
        linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.02)),
        rgba(7, 12, 10, .68);
    box-shadow: 0 22px 60px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.08);
    backdrop-filter: blur(12px);
}
.brand-mark-duo span {
    width: 1px;
    height: 34px;
    background: rgba(255,255,255,.16);
}
.brand-duo-metalcof {
    width: 46px;
    height: 38px;
    object-fit: contain;
    filter: drop-shadow(0 10px 16px rgba(0,0,0,.34));
}
.brand-duo-stoves {
    width: min(210px, 32vw);
    max-height: 46px;
    object-fit: contain;
    filter: drop-shadow(0 10px 16px rgba(0,0,0,.3));
}
.brand-m { font-size: 28px; font-weight: 900; letter-spacing: -.1em; transform: translateX(-1px); }
.brand-spark { position: absolute; top: 8px; right: 8px; width: 5px; height: 5px; border-radius: 50%; background: #111; }
.auth-copy { max-width: 660px; margin-top: auto; margin-bottom: auto; }
.auth-copy h1 {
    margin: 22px 0;
    max-width: 700px;
    font-size: clamp(55px, 6.2vw, 104px);
    font-weight: 850;
    letter-spacing: -.04em;
    line-height: .94;
}
.auth-copy p { max-width: 420px; color: #aeb5b0; font-size: 17px; line-height: 1.65; }
.auth-company-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 28px;
}
.auth-company-strip span {
    padding: 9px 12px;
    border: 1px solid rgba(183,239,84,.16);
    border-radius: 6px;
    color: #e8f6df;
    background: rgba(135,198,63,.08);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.auth-brand-footer { color: #79807b; font-size: 10px; font-weight: 700; letter-spacing: .25em; }
.auth-brand-footer span { color: var(--green); }
.auth-orbit {
    position: absolute;
    z-index: 1;
    right: -3vw;
    bottom: -10vw;
    width: min(34vw, 520px);
    aspect-ratio: 1;
    border: 1px solid rgba(135,198,63,.22);
    border-radius: 50%;
    animation: orbitSpin 22s linear infinite;
}
.auth-orbit span { position: absolute; width: 8px; height: 8px; border-radius: 50%; background: var(--green); box-shadow: 0 0 24px var(--green); }
.auth-orbit span:nth-child(1) { left: 13%; top: 16%; }
.auth-orbit span:nth-child(2) { right: 2%; top: 45%; width: 4px; height: 4px; }
.auth-orbit span:nth-child(3) { left: 47%; bottom: -3px; width: 5px; height: 5px; }
.auth-orbit .auth-logo-planet {
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.16);
    background: radial-gradient(circle at 32% 24%, rgba(255,255,255,.18), rgba(18,61,55,.96) 45%, rgba(5,8,6,.98));
    box-shadow: inset -18px -22px 40px rgba(0,0,0,.58), 0 22px 54px rgba(0,0,0,.35), 0 0 42px rgba(0,168,150,.13);
}
.auth-orbit .auth-logo-planet img {
    position: relative;
    z-index: 2;
    max-width: 78%;
    max-height: 52%;
    object-fit: contain;
    filter: drop-shadow(0 8px 12px rgba(0,0,0,.4));
}
.auth-orbit .auth-logo-planet-metalcof {
    left: 0;
    top: 4%;
    width: clamp(110px, 11vw, 170px);
    height: clamp(110px, 11vw, 170px);
}
.auth-orbit .auth-logo-planet-stoves {
    right: 3%;
    bottom: 5%;
    width: clamp(120px, 12vw, 190px);
    height: clamp(120px, 12vw, 190px);
}
.auth-orbit .auth-logo-planet-stoves img {
    max-width: 86%;
    max-height: 58%;
}
.auth-orbit .auth-orbit-dot {
    left: 47%;
    bottom: -3px;
    width: 7px;
    height: 7px;
}

.auth-panel { display: grid; place-items: center; padding: 48px; background: #f2f5ee; }
.auth-card {
    position: relative;
    width: min(100%, 430px);
    padding: 34px;
    border: 1px solid rgba(17, 21, 18, .08);
    border-radius: 12px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.95), rgba(255,255,255,.78)),
        radial-gradient(circle at 0% 0%, rgba(0,168,150,.16), transparent 34%);
    box-shadow: 0 28px 80px rgba(11, 16, 12, .16);
    backdrop-filter: blur(16px);
    animation: enterUp .8s var(--ease) both;
}
.shield-emblem {
    display: grid;
    place-items: center;
    width: 64px;
    height: 64px;
    margin: 0 0 18px;
    color: #111512;
    background: radial-gradient(circle at 32% 25%, #f7ffea, var(--green) 58%, #86bd32);
    border: 1px solid rgba(17, 21, 18, .08);
    border-radius: 8px;
    box-shadow: 0 18px 42px rgba(117, 169, 43, .24);
}
.shield-emblem svg { width: 32px; height: 32px; stroke-width: 2.2; }
.mobile-brand { display: none; }
.status-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 11px;
    border: 1px solid #cdd3c7;
    border-radius: 50px;
    color: #626961;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.status-pill i { width: 6px; height: 6px; border-radius: 50%; background: #78b22e; box-shadow: 0 0 0 4px rgba(120,178,46,.1); }
.auth-card h2 { margin: 30px 0 8px; font-size: 42px; font-weight: 850; letter-spacing: -.035em; }
.form-intro { margin: 0 0 34px; color: #747b73; line-height: 1.6; }
.auth-card label { display: block; margin: 0 0 20px; }
.auth-card label > span:first-child { display: block; margin-bottom: 9px; color: #373d37; font-size: 12px; font-weight: 700; }
.auth-card input {
    width: 100%;
    height: 56px;
    padding: 0 17px;
    border: 1px solid #cdd1ca;
    border-radius: 4px;
    outline: 0;
    color: #171a17;
    background: rgba(255,255,255,.48);
    transition: border .2s, box-shadow .2s, background .2s;
}
.auth-card input:focus { border-color: var(--green-dark); background: #fff; box-shadow: 0 0 0 4px rgba(0,168,150,.1); }
.password-field { position: relative; display: block; }
.password-field input { padding-right: 55px; }
.password-toggle {
    position: absolute;
    right: 4px;
    top: 4px;
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border: 0;
    cursor: pointer;
    color: #717870;
    background: transparent;
}
.password-toggle svg { width: 20px; }
.primary-button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: 58px;
    margin-top: 12px;
    padding: 0 8px 0 20px;
    border: 0;
    border-radius: 4px;
    cursor: pointer;
    color: #f4f6f1;
    background: linear-gradient(135deg, #0a5f57, #0f3d38);
    box-shadow: 0 16px 34px rgba(16, 22, 18, .14);
    transition: transform .2s, background .2s, box-shadow .2s;
}
.primary-button:hover { transform: translateY(-2px); background: #00a896; box-shadow: 0 22px 46px rgba(16, 22, 18, .2); }
.primary-button span { display: grid; place-items: center; width: 42px; height: 42px; color: #111; background: var(--green); border-radius: 3px; font-size: 20px; }
.security-note { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 22px; color: #899087; font-size: 11px; }
.security-note svg { width: 15px; }
.alert { margin: 0 0 20px; padding: 12px 14px; border-radius: 4px; font-size: 13px; line-height: 1.45; }
.alert.error { color: #772b24; border: 1px solid #dcb8b2; background: #f4dedb; }
.alert.success { color: #3f6320; border: 1px solid #bed2a5; background: #e3ecd7; }

/* Navegación */
.topbar {
    position: fixed;
    z-index: 50;
    top: 0;
    left: 0;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    width: 100%;
    height: 84px;
    padding: 0 clamp(22px, 4.5vw, 72px);
    border-bottom: 1px solid rgba(255,255,255,.08);
    background: rgba(7,18,15,.82);
    backdrop-filter: blur(18px);
}
.logo { display: inline-flex; align-items: center; gap: 13px; justify-self: start; font-size: 16px; font-weight: 850; letter-spacing: .08em; }
.logo small { display: block; margin-top: 2px; color: #7b847e; font-size: 8px; letter-spacing: .18em; }
.logo-symbol { display: grid; place-items: center; width: 34px; height: 34px; color: #111; background: var(--green); border-radius: 2px 9px 2px 2px; font-weight: 950; }
.portal-wordmark { color: #f3f5f1; font-size: 15px; font-weight: 800; letter-spacing: .14em; }
.portal-wordmark small { color: #788079; font-size: 7px; letter-spacing: .2em; }
.topbar nav { display: flex; align-self: stretch; gap: 38px; }
.topbar nav a { position: relative; display: flex; align-items: center; color: #7e8780; font-size: 13px; font-weight: 650; transition: color .2s; }
.topbar nav a:hover, .topbar nav a.active { color: #f4f5f1; }
.topbar nav a.active::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--green); }
.user-menu { position: relative; display: flex; align-items: center; justify-self: end; gap: 22px; }
.availability { display: flex; align-items: center; gap: 8px; color: #858d87; font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.availability i, .project-status i { width: 6px; height: 6px; border-radius: 50%; background: var(--green); box-shadow: 0 0 10px rgba(183,239,84,.8); }
.project-status.offline i { background: #7c837e; box-shadow: none; }
.user-button { display: flex; align-items: center; gap: 10px; padding: 0; border: 0; cursor: pointer; text-align: left; background: transparent; }
.avatar { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid #596159; border-radius: 50%; color: var(--green); background: #1d231e; font-size: 12px; }
.user-label { font-size: 12px; font-weight: 650; }
.user-label small { display: block; margin-top: 2px; color: #7e867f; font-size: 9px; font-weight: 500; }
.user-button svg { width: 14px; color: #7e867f; transition: transform .2s; }
.user-button[aria-expanded="true"] svg { transform: rotate(180deg); }
.user-dropdown {
    position: absolute;
    right: 0;
    top: calc(100% + 15px);
    width: 170px;
    padding: 6px;
    visibility: hidden;
    opacity: 0;
    border: 1px solid var(--line);
    border-radius: 5px;
    background: #171c18;
    box-shadow: 0 18px 50px rgba(0,0,0,.35);
    transform: translateY(-8px);
    transition: .2s;
}
.user-menu.open .user-dropdown { visibility: visible; opacity: 1; transform: translateY(0); }
.user-dropdown a { display: flex; justify-content: space-between; padding: 11px; color: #cbd0cc; border-radius: 3px; font-size: 11px; }
.user-dropdown a:hover { color: var(--green); background: rgba(255,255,255,.05); }

/* Hero */
.hero {
    position: relative;
    display: grid;
    grid-template-columns: .94fr 1.06fr;
    align-items: center;
    min-height: 100svh;
    padding: 120px clamp(22px, 6vw, 96px) 70px;
    overflow: hidden;
    background:
        radial-gradient(circle at 72% 48%, rgba(0,168,150,.13), transparent 25%),
        radial-gradient(circle at 20% 76%, rgba(238,138,34,.1), transparent 30%),
        linear-gradient(180deg, #0f3d38, #06110f);
}
.grid-lines {
    position: absolute;
    inset: 0;
    opacity: .38;
    background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
    background-size: 72px 72px;
    mask-image: radial-gradient(circle at 70% 50%, #000 5%, transparent 65%);
}
.hero-copy { position: relative; z-index: 3; padding-bottom: 3vh; }
.hero-ergonatura-badge {
    width: clamp(190px, 22vw, 310px);
    margin: 20px 0 18px;
    padding: 10px 12px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 8px;
    background:
        linear-gradient(135deg, rgba(255,255,255,.055), rgba(255,255,255,.01)),
        rgba(8, 28, 24, .62);
    box-shadow: 0 18px 48px rgba(0,0,0,.26), 0 0 42px rgba(183,239,84,.06);
    backdrop-filter: blur(10px);
    animation: logoBreath 5.8s ease-in-out infinite;
}
.hero-ergonatura-badge img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
    filter: drop-shadow(0 10px 16px rgba(0,0,0,.48));
}
.hero h1 { margin: 24px 0 30px; font-size: clamp(57px, 7.2vw, 118px); font-weight: 850; letter-spacing: -.045em; line-height: .9; }
.hero h1 em { display: inline-block; font-size: .91em; letter-spacing: -.035em; }
.hero-copy > p { max-width: 560px; margin: 0 0 38px; color: #d3ddd6; font-size: clamp(15px, 1.35vw, 19px); line-height: 1.65; }
.hero-cta, .project-link {
    display: inline-flex;
    align-items: center;
    gap: 25px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .05em;
}
.hero-cta span {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border: 1px solid #3e463f;
    border-radius: 6px;
    color: var(--green);
    transition: color .25s, background .25s, transform .25s;
}
.hero-cta:hover span { color: #111; background: var(--green); transform: translateY(3px); }
.hero-visual { position: relative; z-index: 2; display: grid; place-items: center; width: 100%; height: min(73vh, 760px); perspective: 1000px; }
.hero-eco-showcase {
    display: none !important;
}
.hero-eco-showcase::before {
    content: "";
    position: absolute;
    inset: 12px;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 22px;
    pointer-events: none;
}
.hero-eco-showcase img {
    position: relative;
    z-index: 2;
    display: block;
    width: 100%;
    height: auto;
    filter: drop-shadow(0 18px 24px rgba(0,0,0,.45));
}
.hero-eco-showcase span {
    position: relative;
    z-index: 2;
    display: inline-flex;
    margin-top: 14px;
    padding: 8px 11px;
    border: 1px solid rgba(45,219,215,.18);
    border-radius: 999px;
    color: #a6b4b2;
    background: rgba(0,0,0,.18);
    font-size: clamp(9px, .78vw, 12px);
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.hero-metalcof-module {
    position: absolute;
    z-index: 7;
    right: 6%;
    bottom: 17%;
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 230px;
    padding: 13px 15px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 18px;
    color: #edf2ee;
    background: rgba(8, 11, 10, .72);
    box-shadow: 0 24px 56px rgba(0,0,0,.36);
    backdrop-filter: blur(12px);
    animation: moduleFloat 6.4s ease-in-out infinite;
}
.hero-metalcof-module img {
    width: 42px;
    height: 34px;
    object-fit: contain;
}
.hero-metalcof-module strong {
    display: block;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .18em;
}
.hero-metalcof-module small {
    display: block;
    margin-top: 3px;
    color: #9ca6a0;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.metal-core {
    position: relative;
    z-index: 3;
    display: grid;
    place-items: center;
    width: clamp(180px, 21vw, 330px);
    aspect-ratio: 1;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 50%;
    background:
        radial-gradient(circle at 35% 28%, #424944, #161a17 38%, #080a09 68%);
    box-shadow: inset -30px -35px 70px #000, inset 15px 20px 40px rgba(255,255,255,.08), 0 40px 100px rgba(0,0,0,.55), 0 0 70px rgba(183,239,84,.06);
    animation: coreFloat 6s ease-in-out infinite;
}
.metal-core::before {
    content: "";
    position: absolute;
    inset: 8%;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 50%;
}
.metal-core::after {
    content: "";
    position: absolute;
    top: 18%;
    left: 22%;
    width: 28%;
    height: 12%;
    border-radius: 50%;
    background: rgba(255,255,255,.13);
    filter: blur(12px);
    transform: rotate(-25deg);
}
.core-m { color: #b7ef54; font-size: clamp(66px, 8vw, 130px); font-weight: 950; letter-spacing: -.1em; text-shadow: 0 0 40px rgba(183,239,84,.23); transform: translateX(-4%); }
.core-ring { position: absolute; inset: -15%; border: 1px dashed rgba(183,239,84,.18); border-radius: 50%; animation: orbitSpin 30s linear infinite; }
.planet-track {
    position: absolute;
    z-index: 4;
    left: 50%;
    top: 50%;
    width: clamp(390px, 45vw, 620px);
    aspect-ratio: 1;
    pointer-events: none;
    animation: brandOrbitTrack 22s linear infinite;
}
.planet-position {
    position: absolute;
    top: 50%;
    pointer-events: auto;
    animation: brandCounterOrbit 22s linear infinite;
}
.planet-metalcof-track .planet-position { right: 0; }
.planet-stoves-track .planet-position { left: 0; }
.hero-visual.has-planet-focus .planet-track,
.hero-visual.has-planet-focus .planet-position { animation-play-state: paused; }
.brand-planet {
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 50%;
    overflow: hidden;
    outline: none;
    cursor: pointer;
    transform: translate(-50%, -50%);
    transform-style: preserve-3d;
    transition: transform .55s var(--ease), box-shadow .55s var(--ease), border-color .55s, opacity .35s, filter .35s;
}
.hero-visual.has-planet-focus .brand-planet:not(.is-hovered) { opacity: .42; filter: blur(1px) saturate(.5); }
.brand-planet::before {
    content: "";
    position: absolute;
    inset: 7%;
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 50%;
}
.brand-planet::after {
    content: "";
    position: absolute;
    top: 12%;
    left: 22%;
    width: 35%;
    height: 13%;
    border-radius: 50%;
    background: rgba(255,255,255,.11);
    filter: blur(9px);
    transform: rotate(-28deg);
}
.brand-planet:hover, .brand-planet:focus-visible {
    border-color: rgba(255,255,255,.34);
    transform: translate(-50%, -50%) scale(1.09) rotateY(-7deg);
}
.planet-metalcof {
    width: clamp(190px, 17vw, 270px);
    height: clamp(190px, 17vw, 270px);
    background: radial-gradient(circle at 34% 27%, #414641, #161a17 45%, #080a09 74%);
    box-shadow: inset -30px -30px 65px #000, inset 12px 15px 30px rgba(255,255,255,.07), 0 40px 80px rgba(0,0,0,.48), 0 0 60px rgba(238,132,0,.07);
}
.planet-metalcof:hover { box-shadow: inset -30px -30px 65px #000, inset 12px 15px 30px rgba(255,255,255,.07), 0 45px 90px rgba(0,0,0,.55), 0 0 75px rgba(238,132,0,.22); }
.planet-stoves {
    width: clamp(165px, 14vw, 220px);
    height: clamp(165px, 14vw, 220px);
    color: #8c9493;
    background: radial-gradient(circle at 35% 27%, #223435, #101b1b 50%, #071010 76%);
    box-shadow: inset -24px -26px 55px #020606, inset 10px 12px 25px rgba(255,255,255,.055), 0 35px 75px rgba(0,0,0,.45), 0 0 50px rgba(0,172,177,.06);
}
.planet-stoves:hover { box-shadow: inset -24px -26px 55px #020606, inset 10px 12px 25px rgba(255,255,255,.055), 0 40px 85px rgba(0,0,0,.52), 0 0 70px rgba(0,172,177,.2); }
.brand-planet img {
    position: relative;
    z-index: 2;
    max-width: 70%;
    max-height: 44%;
    object-fit: contain;
    filter: drop-shadow(0 12px 18px rgba(0,0,0,.48));
}
.planet-stoves img {
    max-width: 88%;
    max-height: 46%;
}
.planet-label { position: relative; z-index: 2; color: #c8cec9; font-size: clamp(10px, 1vw, 14px); font-weight: 800; letter-spacing: .18em; }
.orbital { position: absolute; border: 1px solid rgba(255,255,255,.11); border-radius: 50%; transform: rotateX(68deg) rotateZ(-12deg); }
.orbital::after { content: ""; position: absolute; width: 7px; height: 7px; left: 10%; top: 22%; border-radius: 50%; background: var(--green); box-shadow: 0 0 18px var(--green); }
.orbital-one { width: 73%; aspect-ratio: 1; animation: orbitWobble 11s ease-in-out infinite alternate; }
.orbital-two { width: 95%; aspect-ratio: 1; opacity: .38; transform: rotateX(72deg) rotateZ(43deg); animation: orbitWobbleTwo 15s ease-in-out infinite alternate; }
.floating-tag {
    position: absolute;
    z-index: 5;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 11px 15px;
    border: 1px solid rgba(255,255,255,.12);
    color: #aab1ac;
    background: rgba(16,20,17,.72);
    backdrop-filter: blur(12px);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    animation: tagFloat 5s ease-in-out infinite alternate;
}
.floating-tag i { width: 4px; height: 4px; border-radius: 50%; background: var(--green); }
.tag-one { left: 9%; top: 21%; }
.tag-two { right: 3%; top: 34%; animation-delay: -2s; }
.tag-three { left: 18%; bottom: 17%; animation-delay: -3.2s; }
.scroll-note { position: absolute; bottom: 30px; left: 50%; display: flex; align-items: center; gap: 13px; color: #565e58; font-size: 8px; font-weight: 700; letter-spacing: .2em; transform: translateX(-50%); }
.scroll-note span { position: relative; width: 1px; height: 31px; overflow: hidden; background: #343a35; }
.scroll-note span::after { content: ""; position: absolute; inset: 0; background: var(--green); animation: scrollLine 2s ease-in-out infinite; }
.reveal { animation: enterUp .9s var(--ease) both; }
.hero h1.reveal { animation-delay: .1s; }
.hero p.reveal { animation-delay: .2s; }
.hero-cta { animation: enterUp .9s .3s var(--ease) both; }

/* Proyectos */
.projects { padding: 120px clamp(22px, 6vw, 96px); background: #e8e9e4; color: #111512; }
.section-heading { display: grid; grid-template-columns: 1fr .7fr; align-items: end; gap: 50px; margin-bottom: 64px; }
.section-heading .eyebrow, .projects .eyebrow { color: #707870; }
.section-heading h2 { margin: 14px 0 0; font-size: clamp(52px, 6vw, 90px); font-weight: 420; letter-spacing: -.065em; line-height: .95; }
.section-heading h2 em { color: #69992b; }
.section-heading p { max-width: 510px; justify-self: end; margin: 0; color: #6f766f; line-height: 1.7; }
.project-card {
    display: grid;
    grid-template-columns: .76fr 1.24fr;
    min-height: 650px;
    overflow: hidden;
    color: var(--paper);
    background: #0d1c18;
    box-shadow: 0 40px 80px rgba(12,18,12,.16);
    transform-style: preserve-3d;
    transition: transform .12s linear;
}
.project-info { display: flex; flex-direction: column; justify-content: space-between; padding: clamp(32px, 4.5vw, 70px); border-right: 1px solid rgba(255,255,255,.08); }
.project-meta { display: flex; justify-content: space-between; color: #778079; font-size: 11px; font-weight: 700; letter-spacing: .12em; }
.project-status { display: flex; align-items: center; gap: 8px; color: #9ba39c; }
.project-kicker { color: var(--green); font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.project-info h3 { margin: 17px 0 24px; font-size: clamp(52px, 5.5vw, 86px); font-weight: 370; letter-spacing: -.07em; line-height: .88; }
.project-info h3 { font-weight: 850; letter-spacing: -.045em; line-height: .94; }
.project-info p { max-width: 430px; margin: 0; color: #9ba39d; font-size: 16px; line-height: 1.7; }
.project-link { justify-content: space-between; width: 100%; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.13); }
.project-link > span { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; color: #111; background: var(--green); transition: transform .35s var(--ease); }
.project-link > span svg { width: 19px; }
.project-link:hover > span { transform: rotate(45deg) scale(1.08); }

.stove-stage {
    position: relative;
    display: grid;
    place-items: center;
    min-height: 650px;
    overflow: hidden;
    perspective: 1000px;
    background:
        radial-gradient(circle at 53% 45%, rgba(0,168,150,.14), transparent 21%),
        radial-gradient(circle at 20% 70%, rgba(238,138,34,.1), transparent 24%),
        linear-gradient(135deg, #123d37, #0d100e 70%);
}
.stove-stage, .wallet-stage { touch-action: none; }
.stove, .wallet-scene { cursor: grab; user-select: none; }
.stove.is-dragging, .wallet-scene.is-dragging { cursor: grabbing; transition: none; }
.stove-stage::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .33;
    background-image: linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px);
    background-size: 55px 55px;
    transform: perspective(500px) rotateX(5deg);
}
.stove-anchor {
    position: absolute;
    z-index: 5;
    left: 50%;
    top: 52%;
    width: min(94%, 900px);
    transform: translate(-50%, -50%);
    transform-style: preserve-3d;
    pointer-events: none;
}
.stove-anchor::before {
    content: "";
    position: absolute;
    z-index: -1;
    left: 50%;
    bottom: 3%;
    width: 82%;
    height: 22%;
    border-radius: 50%;
    background: radial-gradient(ellipse, rgba(0,0,0,.72), rgba(112,168,49,.13) 42%, transparent 72%);
    filter: blur(18px);
    transform: translateX(-50%) translateZ(-35px);
}
.stove {
    position: relative;
    z-index: 5;
    width: 100%;
    height: auto;
    transform: rotateY(-5deg) rotateX(1.5deg);
    transform-style: preserve-3d;
    transition: transform .18s ease-out;
    filter: drop-shadow(0 34px 24px rgba(0,0,0,.68)) drop-shadow(0 0 1px rgba(255,255,255,.34));
    pointer-events: auto;
    will-change: transform;
}
.stove-product-image {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
    pointer-events: none;
    user-select: none;
    -webkit-user-drag: none;
}
.stove-product-picture {
    display: block;
    width: 100%;
}
.stove-top {
    position: absolute;
    z-index: 3;
    top: 39px;
    left: 2%;
    width: 96%;
    height: 58px;
    border: 1px solid #5d655f;
    background: linear-gradient(150deg, #737a73, #252a26 45%, #0e100f);
    clip-path: polygon(9% 0, 92% 0, 100% 100%, 0 100%);
    transform: rotateX(49deg);
    transform-origin: bottom;
    box-shadow: inset 0 4px 8px rgba(255,255,255,.12);
}
.stove-top span { position: absolute; top: 15px; width: 60px; height: 27px; border: 4px solid #101310; border-radius: 50%; background: radial-gradient(ellipse, #3e463f 0 20%, #0a0b0a 23% 43%, #4c534d 45% 49%, #131613 51%); box-shadow: inset 0 2px 3px #000; }
.stove-top span:nth-child(1) { left: 11%; }
.stove-top span:nth-child(2) { left: 42%; width: 68px; }
.stove-top span:nth-child(3) { right: 8%; }
.stove-body {
    position: absolute;
    top: 90px;
    left: 8%;
    width: 84%;
    height: 238px;
    border: 1px solid #505751;
    border-top-color: #777e78;
    border-radius: 1px 1px 7px 7px;
    background: linear-gradient(115deg, #4c534d 0%, #222723 25%, #101310 63%, #2d332e 100%);
    box-shadow: inset 10px 0 20px rgba(255,255,255,.025), inset -18px -15px 25px rgba(0,0,0,.35);
}
.stove-body::before, .stove-body::after { content: ""; position: absolute; inset: 0; pointer-events: none; }
.stove-body::before { opacity: .18; background: repeating-linear-gradient(89deg, transparent 0 5px, rgba(255,255,255,.025) 6px, transparent 7px); }
.stove-body::after { left: auto; right: -10px; width: 10px; background: #0a0c0a; transform: skewY(-38deg); transform-origin: left top; }
.stove-brand { position: absolute; top: 26px; left: 50%; color: #cfd3ce; font-size: 12px; font-weight: 850; letter-spacing: .18em; transform: translateX(-50%); text-shadow: 0 2px 3px #000; }
.oven {
    position: absolute;
    top: 60px;
    left: 13%;
    width: 59%;
    height: 120px;
    overflow: hidden;
    border: 8px solid #0b0d0b;
    border-top-color: #303631;
    border-radius: 3px;
    background: linear-gradient(#0a0806, #191009);
    box-shadow: 0 0 0 1px #606660, inset 0 0 35px rgba(255,99,24,.1);
}
.oven::after { content: ""; position: absolute; inset: 0; background: linear-gradient(120deg, rgba(255,255,255,.13), transparent 27% 100%); }
.fire { position: absolute; left: 50%; bottom: 8px; display: flex; align-items: end; gap: -3px; transform: translateX(-50%); filter: blur(.3px) drop-shadow(0 0 12px #ff722d); }
.fire i { display: block; width: 27px; height: 56px; border-radius: 80% 12% 55% 55%; background: linear-gradient(to top, #ffd45b, #e65520 65%, transparent); transform: rotate(7deg); animation: flame .75s ease-in-out infinite alternate; transform-origin: bottom; }
.fire i:nth-child(2) { height: 76px; width: 31px; margin-left: -9px; animation-delay: -.3s; transform: rotate(-5deg); }
.fire i:nth-child(3) { height: 45px; width: 24px; margin-left: -7px; animation-delay: -.55s; }
.stove-knobs { position: absolute; right: 6%; top: 71px; display: flex; flex-direction: column; gap: 18px; }
.stove-knobs i { width: 19px; height: 19px; border: 3px solid #0b0e0c; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #9ca29d, #303531 48%, #0f110f); box-shadow: 0 0 0 1px #6f766f; }
.stove-legs { position: absolute; top: 322px; left: 15%; display: flex; justify-content: space-between; width: 70%; }
.stove-legs span { width: 25px; height: 50px; background: linear-gradient(90deg, #121512, #3a403a, #101210); clip-path: polygon(0 0,100% 0,75% 100%,20% 100%); }
.chimney { position: absolute; z-index: 1; right: 11%; top: -58px; width: 38px; height: 145px; border: 1px solid #525953; background: linear-gradient(90deg, #111411, #545a55 45%, #181b18); transform: translateZ(-10px); }
.chimney i { position: absolute; left: -9px; top: -12px; width: 56px; height: 16px; border: 1px solid #5f665f; background: #2e332f; clip-path: polygon(14% 0,86% 0,100% 100%,0 100%); }
.stage-floor { position: absolute; z-index: 2; left: 50%; bottom: 15%; width: 70%; height: 15%; border-radius: 50%; background: radial-gradient(ellipse, rgba(183,239,84,.12), rgba(0,0,0,.42) 44%, transparent 70%); transform: translateX(-50%) rotateX(72deg); filter: blur(2px); }
.smoke { position: absolute; z-index: 4; top: 19%; right: 34%; width: 25px; height: 25px; border: 2px solid rgba(200,206,200,.13); border-radius: 50%; filter: blur(5px); animation: smokeRise 4.5s ease-out infinite; }
.smoke-two { animation-delay: -1.5s; }
.smoke-three { animation-delay: -3s; }
.heat-haze { position: absolute; z-index: 4; left: 50%; top: 34%; width: 220px; height: 200px; background: radial-gradient(ellipse, rgba(255,123,46,.06), transparent 65%); filter: blur(18px); animation: heat 2s ease-in-out infinite alternate; }
.feature-label { position: absolute; z-index: 7; display: flex; align-items: center; gap: 9px; padding: 10px 13px; border: 1px solid rgba(255,255,255,.12); color: #9ca49e; background: rgba(10,13,11,.68); backdrop-filter: blur(10px); font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.feature-label span { color: var(--green); }
.feature-one { left: 6%; top: 24%; }
.feature-two { right: 5%; bottom: 28%; }
.interaction-hint { position: absolute; z-index: 5; right: 26px; bottom: 20px; display: flex; align-items: center; gap: 7px; margin: 0; color: #707872; font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.interaction-hint span { color: var(--green); }

.expenses-project {
    min-height: 520px;
    margin-top: 18px;
    grid-template-columns: .76fr 1.24fr;
    background: #10231e;
    box-shadow: 0 30px 65px rgba(12,18,12,.12);
}
.expenses-project .project-info { padding-top: 48px; padding-bottom: 48px; }
.expenses-project .project-info h3 { font-size: clamp(50px, 5vw, 76px); }
.expenses-project .project-info h3 em { color: #c2c8c2; }
.expenses-project .project-kicker { color: #9ca59d; }
.expenses-project .project-link > span { background: #d7dbd5; }
.wallet-stage {
    position: relative;
    display: grid;
    place-items: center;
    min-height: 520px;
    overflow: hidden;
    perspective: 1000px;
    background:
        radial-gradient(circle at 54% 48%, rgba(203,211,204,.08), transparent 26%),
        linear-gradient(145deg, #242a26, #121512 72%);
}
.expenses-ledger-stage {
    position: relative;
    display: grid;
    place-items: center;
    min-height: 520px;
    overflow: hidden;
    perspective: 1000px;
    background:
        radial-gradient(circle at 54% 44%, rgba(238,138,34,.15), transparent 24%),
        radial-gradient(circle at 20% 70%, rgba(0,168,150,.16), transparent 28%),
        linear-gradient(145deg, #17362f, #0b1512 72%);
}
.expenses-ledger-stage::after {
    content: "";
    position: absolute;
    left: 16%;
    right: 16%;
    bottom: 14%;
    height: 10%;
    border-radius: 50%;
    background: rgba(0,0,0,.45);
    filter: blur(19px);
}
.expenses-ledger-card {
    align-self: start;
    margin-top: 42px;
    position: relative;
    z-index: 5;
    width: min(76%, 620px);
    padding: 18px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 18px;
    background:
        linear-gradient(135deg, rgba(255,255,255,.12), rgba(255,255,255,.035)),
        rgba(245,248,242,.96);
    box-shadow: 0 35px 50px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.85);
    transform: rotateY(-7deg) rotateX(3deg);
    transform-style: preserve-3d;
}
.expenses-ledger-stage .wallet-scene {
    display: block;
    height: 300px;
    opacity: 1;
    position: relative;
    right: auto;
    bottom: auto;
    width: clamp(310px, 35vw, 470px);
    z-index: 4;
}
.expenses-project .finance-label,
.expenses-project .expenses-ledger-card {
    display: none !important;
}

.sigedo-project {
    min-height: 540px;
    margin-top: 18px;
    background: #0f2a25;
    box-shadow: 0 30px 65px rgba(12,18,12,.13);
}
.sigedo-project .project-info { padding-top: 48px; padding-bottom: 48px; }
.sigedo-project .project-info h3 { font-size: clamp(50px, 5vw, 76px); }
.sigedo-project .project-info h3 em { color: #83d8c9; }
.sigedo-project .project-kicker { color: #8bd7c9; }
.sigedo-project .project-link > span { background: #76d7c4; }
.sigedo-stage {
    position: relative;
    display: grid;
    place-items: center;
    min-height: 540px;
    overflow: hidden;
    background:
        radial-gradient(circle at 52% 42%, rgba(0,168,150,.2), transparent 25%),
        radial-gradient(circle at 78% 70%, rgba(135,198,63,.13), transparent 26%),
        linear-gradient(145deg, #123d37, #0d1416 74%);
}
.sigedo-grid {
    position: absolute;
    inset: 0;
    opacity: .35;
    background-image: linear-gradient(rgba(255,255,255,.065) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.065) 1px, transparent 1px);
    background-size: 46px 46px;
}
.sigedo-mark {
    position: relative;
    z-index: 4;
    display: grid;
    place-items: center;
    width: min(60%, 390px);
    height: 390px;
    min-height: 390px;
    padding: 0;
    overflow: hidden;
    border: 1px solid rgba(119,226,207,.24);
    border-radius: 28px;
    color: #d6f8f2;
    background:
        radial-gradient(circle at 50% 38%, rgba(30,198,173,.16), transparent 42%),
        linear-gradient(150deg, rgba(13,38,39,.92), rgba(5,13,17,.9));
    box-shadow: 0 34px 64px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.09);
    text-align: center;
}

.sigedo-mark::after {
    content: "";
    position: absolute;
    inset: 10px;
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 21px;
    pointer-events: none;
}

.sigedo-brand-logo {
    position: absolute;
    z-index: 2;
    top: 54%;
    left: 50%;
    display: block;
    width: min(92%, 350px);
    max-width: none;
    height: auto;
    transform: translate3d(-50%, -50%, 18px);
    filter: drop-shadow(0 20px 26px rgba(0,0,0,.38));
    pointer-events: none;
    user-select: none;
}
.sigedo-module {
    position: absolute;
    z-index: 5;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 11px 14px;
    border: 1px solid rgba(255,255,255,.16);
    color: #d6f8f2;
    background: rgba(8,18,20,.74);
    backdrop-filter: blur(12px);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    pointer-events: none;
}
.sigedo-module span {
    display: grid;
    place-items: center;
    min-width: 34px;
    height: 26px;
    color: #102020;
    background: #76d7c4;
    font-size: 10px;
}
.sigedo-module-one { left: 8%; top: 22%; }
.sigedo-module-two { right: 7%; top: 27%; }
.sigedo-module-three { left: 9%; bottom: 25%; }
.sigedo-module-four { right: 8%; bottom: 19%; }

.order-project {
    min-height: 520px;
    margin-top: 18px;
    background: #211b12;
    box-shadow: 0 30px 65px rgba(12,18,12,.13);
}
.order-project .project-info { padding-top: 48px; padding-bottom: 48px; }
.order-project .project-info h3 { font-size: clamp(50px, 5vw, 76px); }
.order-project .project-info h3 em { color: #f0bd65; }
.order-project .project-kicker { color: #f2c980; }
.order-project .project-link > span { background: #f0bd65; }
.order-stage {
    position: relative;
    display: grid;
    place-items: center;
    min-height: 520px;
    overflow: hidden;
    background:
        radial-gradient(circle at 30% 25%, rgba(240,189,101,.22), transparent 25%),
        radial-gradient(circle at 74% 72%, rgba(0,168,150,.16), transparent 28%),
        linear-gradient(145deg, #3a2a17, #101512 74%);
}
.order-grid {
    position: absolute;
    inset: 0;
    opacity: .28;
    background-image:
        linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
    background-size: 48px 48px;
}
.order-sheet {
    position: relative;
    z-index: 4;
    display: grid;
    gap: 14px;
    width: min(68%, 420px);
    padding: 26px;
    color: #121512;
    background:
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(250,244,232,.96));
    border: 1px solid rgba(255,255,255,.55);
    border-radius: 22px;
    box-shadow: 0 34px 58px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.9);
    transform: rotateY(-8deg) rotateX(3deg);
}
.order-sheet header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 14px;
    border-bottom: 1px solid #dfd3bd;
}
.order-sheet header span {
    color: #6d5835;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.order-sheet header strong {
    color: #0c413b;
    font-size: 18px;
    font-weight: 950;
}
.order-row {
    display: grid;
    grid-template-columns: 12px 1fr auto;
    gap: 10px;
    align-items: center;
    min-height: 42px;
    padding: 10px 12px;
    background: #f5ead6;
    border: 1px solid #e3d3b8;
    border-radius: 12px;
}
.order-row i {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #0d766f;
    box-shadow: 0 0 0 4px rgba(13,118,111,.12);
}
.order-row b {
    color: #1a211c;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}
.order-row span {
    color: #6a5f4f;
    font-size: 11px;
    font-weight: 850;
}
.order-row-main {
    background: #e9f5ef;
    border-color: #c9dfd5;
}
.order-total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px;
    color: #ffffff;
    background: #0d766f;
    border-radius: 14px;
}
.order-total small {
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
    opacity: .76;
}
.order-total strong {
    font-size: 20px;
    font-weight: 950;
    font-variant-numeric: tabular-nums;
}
.order-chip {
    position: absolute;
    z-index: 5;
    padding: 10px 13px;
    color: #fff5df;
    background: rgba(20,16,11,.72);
    border: 1px solid rgba(255,255,255,.14);
    backdrop-filter: blur(12px);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.order-chip-one { left: 9%; top: 24%; }
.order-chip-two { right: 8%; top: 31%; }
.order-chip-three { right: 11%; bottom: 22%; }

.yukeinsi-project {
    min-height: 520px;
    margin-top: 18px;
    background: #102034;
    box-shadow: 0 30px 65px rgba(12,18,12,.13);
}
.yukeinsi-project .project-info { padding-top: 48px; padding-bottom: 48px; }
.yukeinsi-project .project-info h3 { font-size: clamp(50px, 5vw, 76px); }
.yukeinsi-project .project-info h3 em { color: #9fc7ff; }
.yukeinsi-project .project-kicker { color: #9fc7ff; }
.yukeinsi-project .project-link > span { background: #9fc7ff; }
.yukeinsi-stage {
    position: relative;
    display: grid;
    place-items: center;
    min-height: 520px;
    overflow: hidden;
    background:
        radial-gradient(circle at 25% 28%, rgba(159,199,255,.22), transparent 26%),
        radial-gradient(circle at 78% 70%, rgba(0,168,150,.14), transparent 27%),
        linear-gradient(145deg, #152f4f, #0e141d 74%);
}
.yukeinsi-grid {
    position: absolute;
    inset: 0;
    opacity: .3;
    background-image:
        linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
    background-size: 46px 46px;
}
.yukeinsi-library {
    position: relative;
    z-index: 4;
    display: grid;
    gap: 14px;
    width: min(66%, 430px);
    padding: 30px;
    color: #f4f8ff;
    background: rgba(7, 16, 28, .72);
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 24px;
    box-shadow: 0 34px 58px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.08);
    transform: rotateY(-8deg) rotateX(3deg);
}
.yukeinsi-library span {
    color: #9fc7ff;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .18em;
}
.yukeinsi-library strong {
    font-size: clamp(32px, 4vw, 54px);
    font-weight: 850;
    letter-spacing: -.05em;
    line-height: .95;
}
.yukeinsi-library div {
    display: grid;
    gap: 9px;
    margin-top: 8px;
}
.yukeinsi-library i {
    display: block;
    height: 14px;
    border-radius: 999px;
    background: rgba(159,199,255,.32);
}
.yukeinsi-library i:nth-child(2) { width: 78%; background: rgba(0,168,150,.28); }
.yukeinsi-library i:nth-child(3) { width: 58%; }
.yukeinsi-doc {
    position: absolute;
    z-index: 5;
    padding: 10px 13px;
    color: #edf5ff;
    background: rgba(7,16,28,.74);
    border: 1px solid rgba(255,255,255,.14);
    backdrop-filter: blur(12px);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.yukeinsi-doc-one { left: 9%; top: 24%; }
.yukeinsi-doc-two { right: 8%; top: 32%; }
.yukeinsi-doc-three { right: 11%; bottom: 22%; }

.ledger-window-bar {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 14px;
    color: #3f4841;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.ledger-window-bar span {
    width: 10px;
    height: 10px;
    border-radius: 4px;
    background: #ffbf56;
}
.ledger-window-bar span:nth-child(2) { background: #91d951; }
.ledger-window-bar span:nth-child(3) { background: #87a1ff; margin-right: 8px; }
.ledger-mini-grid {
    display: grid;
    grid-template-columns: 1.55fr .34fr 1fr;
    overflow: hidden;
    border: 2px solid #111;
    background: #111;
    gap: 1px;
    font-family: "Montserrat", Arial, sans-serif;
}
.ledger-cell {
    min-height: 52px;
    display: flex;
    align-items: center;
    padding: 0 16px;
    color: #101512;
    font-weight: 900;
    letter-spacing: .02em;
}
.ledger-cell.label {
    font-size: 12px;
    text-transform: uppercase;
}
.ledger-cell.currency {
    justify-content: center;
    font-size: 18px;
}
.ledger-cell.value {
    justify-content: flex-end;
    font-size: clamp(15px, 1.6vw, 22px);
    font-variant-numeric: tabular-nums;
}
.ledger-cell.available { background: #f5b47e; }
.ledger-cell.scheduled { background: #8bd84d; }
.ledger-cell.final { background: #dbe4f5; }
.ledger-foot {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 16px;
    color: #6b746e;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.ledger-foot i {
    width: 24px;
    height: 8px;
    border-radius: 99px;
    background: rgba(0,128,116,.16);
}
.ledger-foot i:nth-child(3) { width: 42px; background: rgba(139,216,77,.38); }
.ledger-foot i:nth-child(4) { width: 32px; background: rgba(245,180,126,.42); }
.ledger-foot i:nth-child(5) { width: 52px; background: rgba(219,228,245,.9); }
.ledger-foot i:nth-child(6) { width: 20px; }
.wallet-stage::after {
    content: "";
    position: absolute;
    left: 17%;
    right: 17%;
    bottom: 13%;
    height: 9%;
    border-radius: 50%;
    background: rgba(0,0,0,.48);
    filter: blur(18px);
}
.ledger-grid {
    position: absolute;
    inset: 0;
    opacity: .22;
    background-image:
        linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
    background-size: 58px 58px;
    mask-image: linear-gradient(135deg, #000, transparent 82%);
}
.wallet-scene {
    position: relative;
    z-index: 4;
    width: clamp(310px, 35vw, 470px);
    height: 300px;
    transform: rotateY(-7deg) rotateX(3deg);
    transform-style: preserve-3d;
    transition: transform .2s ease-out;
    filter: drop-shadow(0 35px 30px rgba(0,0,0,.38));
}
.wallet {
    position: absolute;
    z-index: 3;
    left: 8%;
    bottom: 24px;
    width: 84%;
    height: 185px;
    overflow: visible;
    border: 1px solid #575e58;
    border-radius: 14px 14px 20px 20px;
    background:
        linear-gradient(112deg, rgba(255,255,255,.08), transparent 20%),
        repeating-linear-gradient(96deg, transparent 0 4px, rgba(255,255,255,.012) 5px, transparent 7px),
        linear-gradient(145deg, #3e4540, #1d221e 48%, #101310);
    box-shadow: 12px 13px 0 #0b0e0c, 18px 20px 28px rgba(0,0,0,.24), inset 0 2px 2px rgba(255,255,255,.09), inset 0 -20px 40px rgba(0,0,0,.3);
}
.wallet-stitch {
    position: absolute;
    inset: 11px;
    border: 1px dashed rgba(202,208,202,.24);
    border-radius: 9px 9px 14px 14px;
}
.wallet-fold {
    position: absolute;
    top: -20px;
    left: 0;
    width: 100%;
    height: 80px;
    border-bottom: 1px solid rgba(255,255,255,.11);
    border-radius: 0 0 50% 50%;
    background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(0,0,0,.12));
}
.wallet-clasp {
    position: absolute;
    z-index: 3;
    top: 58px;
    right: -3px;
    width: 76px;
    height: 55px;
    border: 1px solid #626963;
    border-radius: 8px 0 0 8px;
    background: linear-gradient(135deg, #3b413c, #171b18);
    box-shadow: -5px 6px 14px rgba(0,0,0,.25);
}
.wallet-clasp i {
    position: absolute;
    left: 18px;
    top: 16px;
    width: 18px;
    height: 18px;
    border: 1px solid #899089;
    border-radius: 50%;
    background: radial-gradient(circle at 35% 30%, #aeb4ae, #3d433e 55%, #191c1a);
}
.bank-card {
    position: absolute;
    z-index: 2;
    top: 8px;
    left: 19%;
    width: 62%;
    height: 170px;
    padding: 25px;
    border: 1px solid #606760;
    border-radius: 12px;
    color: #d7dcd7;
    background:
        radial-gradient(circle at 85% 20%, rgba(183,239,84,.08), transparent 24%),
        linear-gradient(135deg, #2b312d, #111411);
    box-shadow: 0 18px 35px rgba(0,0,0,.35);
    transform: translateZ(-18px) rotate(-3deg);
}
.bank-card span { font-size: 11px; font-weight: 850; letter-spacing: .17em; }
.bank-card small { position: absolute; left: 25px; bottom: 23px; color: #747d76; font-size: 7px; letter-spacing: .14em; }
.bank-card i {
    position: absolute;
    right: 24px;
    top: 24px;
    width: 30px;
    height: 22px;
    border-radius: 4px;
    background: linear-gradient(135deg, #7d857e, #3a403b);
}
.bank-card i::before, .bank-card i::after {
    content: "";
    position: absolute;
    background: rgba(20,24,21,.5);
}
.bank-card i::before { left: 9px; top: 0; width: 1px; height: 100%; }
.bank-card i::after { left: 0; top: 10px; width: 100%; height: 1px; }
.coin {
    position: absolute;
    z-index: 5;
    display: grid;
    place-items: center;
    width: 49px;
    height: 49px;
    border: 3px double #858c86;
    border-radius: 50%;
    color: #969e97;
    background: radial-gradient(circle at 35% 28%, #59615b, #252a26 64%, #111411);
    box-shadow: 0 10px 20px rgba(0,0,0,.35);
    font-family: "Montserrat", Arial, sans-serif;
    font-size: 18px;
}
.coin-one { right: 8%; bottom: 36px; transform: rotateY(34deg) rotateZ(12deg); }
.coin-two { right: 1%; bottom: 77px; width: 38px; height: 38px; opacity: .65; transform: rotateY(48deg); }
.finance-label {
    position: absolute;
    z-index: 7;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 10px 13px;
    border: 1px solid rgba(255,255,255,.1);
    color: #858e87;
    background: rgba(14,17,15,.7);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.finance-label span { color: #b7bdb8; }
.finance-label-one { left: 6%; top: 18%; }
.finance-label-two { right: 5%; top: 30%; }
.expense-summary {
    position: absolute;
    z-index: 6;
    left: 6%;
    bottom: 8%;
    width: 130px;
    color: #6f7771;
    font-size: 7px;
    font-weight: 700;
    letter-spacing: .12em;
}
.expense-summary > div { display: flex; align-items: end; gap: 5px; height: 34px; margin-top: 8px; }
.expense-summary i { display: block; flex: 1; height: 35%; background: #505751; }
.expense-summary i:nth-child(2) { height: 55%; }
.expense-summary i:nth-child(3) { height: 42%; }
.expense-summary i:nth-child(4) { height: 75%; background: #737b74; }
.expense-summary i:nth-child(5) { height: 63%; }
.expense-summary i:nth-child(6) { height: 88%; background: #8b938c; }

.future-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 18px; }
.future-card {
    position: relative;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    min-height: 225px;
    padding: 34px;
    overflow: hidden;
    border: 1px solid #cfd2ca;
    background: #dfe1da;
    transition: background .25s, transform .25s;
}
.future-card:hover { background: #e6e8e1; transform: translateY(-3px); }
.future-number { position: absolute; top: 18px; left: 20px; color: #969d95; font-size: 9px; font-weight: 700; }
.future-icon { display: grid; place-items: center; width: 80px; height: 80px; margin-right: 26px; border: 1px solid #bfc4bb; border-radius: 50%; }
.future-icon svg { width: 40px; color: #727a73; }
.future-card > div:nth-of-type(2) span { color: #75993e; font-size: 10px; font-weight: 800; letter-spacing: .14em; }
.future-card h3 { margin: 8px 0; font-size: 25px; font-weight: 500; letter-spacing: -.035em; }
.future-card p { margin: 0; color: #707870; font-size: 14px; line-height: 1.55; }
.future-card button { width: 43px; height: 43px; border: 1px solid #bfc4bb; border-radius: 50%; color: #7d847d; background: transparent; font-size: 20px; }
.future-card.outlined { background: transparent; border-style: dashed; }

/* Propuestas */
.proposals {
    padding: 125px clamp(22px, 6vw, 96px);
    color: var(--paper);
    background:
        radial-gradient(circle at 14% 22%, rgba(183,239,84,.055), transparent 24%),
        #111512;
}
.proposal-heading {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: end;
    gap: 30px 70px;
    margin-bottom: 58px;
}
.proposal-heading .eyebrow { grid-column: 1 / -1; }
.proposal-heading h2 { margin: 0; font-size: clamp(50px, 6vw, 88px); font-weight: 380; letter-spacing: -.065em; line-height: .9; }
.proposal-heading p { max-width: 530px; justify-self: end; margin: 0 0 7px; color: #8e9790; line-height: 1.7; }
.proposal-workspace { display: grid; grid-template-columns: .88fr 1.12fr; min-height: 620px; border: 1px solid rgba(255,255,255,.1); }
.proposal-form { padding: clamp(30px, 4.4vw, 65px); color: #161a17; background: #e7e9e3; }
.form-heading, .inbox-heading { display: flex; align-items: center; gap: 14px; margin-bottom: 35px; }
.form-heading > span { color: #6d9d2e; font-size: 11px; font-weight: 800; letter-spacing: .16em; }
.form-heading h3, .inbox-heading h3 { margin: 0; font-size: 25px; font-weight: 520; letter-spacing: -.035em; }
.proposal-form label { display: block; margin-bottom: 20px; }
.proposal-form label > span { display: block; margin-bottom: 8px; color: #414741; font-size: 13px; font-weight: 700; }
.proposal-form input, .proposal-form select, .proposal-form textarea {
    width: 100%;
    border: 1px solid #c4c9c0;
    border-radius: 3px;
    outline: none;
    color: #171b18;
    background: rgba(255,255,255,.52);
    transition: border-color .2s, box-shadow .2s, background .2s;
}
.proposal-form input, .proposal-form select { height: 52px; padding: 0 15px; }
.proposal-form textarea { min-height: 130px; padding: 15px; resize: vertical; line-height: 1.55; }
.proposal-form input:focus, .proposal-form select:focus, .proposal-form textarea:focus { border-color: #799f44; background: #fff; box-shadow: 0 0 0 4px rgba(121,159,68,.09); }
.proposal-submit {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: 55px;
    margin-top: 10px;
    padding: 0 9px 0 18px;
    border: 0;
    border-radius: 3px;
    cursor: pointer;
    color: #f3f5f1;
    background: #171b18;
}
.proposal-submit > span { display: grid; place-items: center; width: 38px; height: 38px; color: #111; border-radius: 2px; background: var(--green); font-size: 18px; transition: transform .25s; }
.proposal-submit:hover > span { transform: translateX(3px); }
.privacy-copy { display: flex; align-items: center; justify-content: center; gap: 7px; margin: 17px 0 0; color: #818880; font-size: 11px; }
.privacy-copy svg { width: 14px; }
.proposal-inbox { position: relative; overflow: hidden; padding: clamp(30px, 4.4vw, 65px); background: #0a0d0b; }
.inbox-heading { justify-content: space-between; padding-bottom: 22px; border-bottom: 1px solid rgba(255,255,255,.1); }
.inbox-heading > div > span { display: block; margin-bottom: 7px; color: #667068; font-size: 10px; font-weight: 800; letter-spacing: .15em; }
.inbox-heading strong { color: var(--green); font-size: 11px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.proposal-list { max-height: 470px; overflow: auto; padding-right: 7px; scrollbar-color: #414941 transparent; scrollbar-width: thin; }
.proposal-item { padding: 22px 2px; border-bottom: 1px solid rgba(255,255,255,.09); }
.proposal-item-top, .proposal-item-footer { display: flex; align-items: center; justify-content: space-between; }
.proposal-item-top span { color: var(--green); font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.proposal-item-top time { color: #747d75; font-size: 10px; }
.proposal-item h4 { margin: 12px 0 8px; color: #e9ece8; font-size: 18px; font-weight: 500; }
.proposal-item > p { margin: 0 0 15px; color: #929b93; font-size: 14px; line-height: 1.6; }
.proposal-item-footer { color: #747d75; font-size: 10px; }
.proposal-item-footer i { padding: 5px 7px; color: #adb5ae; border: 1px solid #394039; border-radius: 30px; font-style: normal; text-transform: uppercase; }
.empty-proposals { display: grid; place-items: center; min-height: 340px; color: #667068; text-align: center; }
.empty-proposals i { display: grid; place-items: center; width: 58px; height: 58px; border: 1px solid #333a34; border-radius: 50%; color: var(--green); font-size: 25px; font-style: normal; }
.empty-proposals p { max-width: 260px; line-height: 1.6; }
.private-view { display: grid; place-items: center; }
.private-message { position: relative; z-index: 2; max-width: 430px; text-align: center; }
.private-message > span { color: var(--green); font-size: 10px; font-weight: 800; letter-spacing: .18em; }
.private-message h3 { margin: 16px 0; font-size: clamp(31px, 3vw, 46px); font-weight: 400; letter-spacing: -.055em; line-height: 1; }
.private-message p { color: #7f8881; line-height: 1.65; }
.private-orbit { position: relative; width: 120px; height: 120px; margin: 0 auto 35px; border: 1px solid #29302a; border-radius: 50%; animation: orbitSpin 12s linear infinite; }
.private-orbit::after { content: ""; position: absolute; inset: 23px; border: 1px solid #3e463f; border-radius: 50%; }
.private-orbit span { position: absolute; left: 50%; top: 50%; width: 28px; height: 36px; border: 1px solid #626b63; border-radius: 4px; transform: translate(-50%,-42%); }
.private-orbit span::before { content: ""; position: absolute; left: 5px; top: -15px; width: 16px; height: 17px; border: 1px solid #626b63; border-bottom: 0; border-radius: 12px 12px 0 0; }
.private-orbit i { position: absolute; top: 8px; left: 23px; width: 6px; height: 6px; border-radius: 50%; background: var(--green); box-shadow: 0 0 13px var(--green); }

/* Novedades y footer */
.updates { position: relative; padding: 140px 6vw 155px; overflow: hidden; text-align: center; background: #0b0e0c; }
.updates h2 { margin: 23px auto; font-size: clamp(50px, 6.5vw, 96px); font-weight: 350; letter-spacing: -.065em; line-height: .92; }
.updates p { max-width: 580px; margin: 0 auto; color: #858e87; line-height: 1.7; }
.marquee { position: absolute; left: 0; right: 0; bottom: 12px; overflow: hidden; color: rgba(255,255,255,.035); font-size: 74px; font-weight: 800; white-space: nowrap; }
.marquee div { width: max-content; animation: marquee 26s linear infinite; }
footer { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 36px 6vw; border-top: 1px solid var(--line); color: #777f79; background: #080a09; font-size: 12px; }
footer > p:last-child { justify-self: end; }
footer a { color: #c5cbc6; }
footer p a { border-bottom: 1px solid #515852; }

.cursor-glow { position: fixed; z-index: 100; width: 350px; height: 350px; border-radius: 50%; pointer-events: none; background: radial-gradient(circle, rgba(183,239,84,.035), transparent 67%); transform: translate(-50%,-50%); }

@keyframes enterUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } }
@keyframes orbitSpin { to { transform: rotate(360deg); } }
@keyframes coreFloat { 50% { transform: translateY(-14px) rotate(1deg); } }
@keyframes orbitWobble { to { transform: rotateX(63deg) rotateZ(22deg); } }
@keyframes orbitWobbleTwo { to { transform: rotateX(76deg) rotateZ(14deg); } }
@keyframes tagFloat { to { transform: translateY(-10px); } }
@keyframes logoBreath {
    0%, 100% { transform: translateY(0); box-shadow: 0 18px 48px rgba(0,0,0,.26), 0 0 42px rgba(183,239,84,.06); }
    50% { transform: translateY(-7px); box-shadow: 0 24px 58px rgba(0,0,0,.3), 0 0 58px rgba(183,239,84,.11); }
}
@keyframes showcaseFloat {
    0%, 100% { transform: translate(-50%, -50%) rotateY(-8deg) rotateX(3deg); }
    50% { transform: translate(-50%, calc(-50% - 12px)) rotateY(-4deg) rotateX(1deg); }
}
@keyframes moduleFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(10px); }
}
@keyframes scrollLine { 0% { transform: translateY(-110%); } 55%, 100% { transform: translateY(110%); } }
@keyframes flame { from { transform: scaleX(.88) scaleY(.92) rotate(-5deg); opacity: .8; } to { transform: scaleX(1.1) scaleY(1.08) rotate(7deg); opacity: 1; } }
@keyframes smokeRise { 0% { opacity: 0; transform: translate(0, 0) scale(.4); } 20% { opacity: .7; } 100% { opacity: 0; transform: translate(-45px, -170px) scale(4); } }
@keyframes heat { to { opacity: .35; transform: scale(1.14); } }
@keyframes marquee { to { transform: translateX(-50%); } }
@keyframes brandOrbitTrack {
    from { transform: translate(-50%, -50%) rotate(0deg); }
    to { transform: translate(-50%, -50%) rotate(360deg); }
}
@keyframes brandCounterOrbit {
    from { transform: translateY(-50%) rotate(0deg); }
    to { transform: translateY(-50%) rotate(-360deg); }
}

@media (max-width: 1050px) {
    .availability, .user-label { display: none; }
    .hero { grid-template-columns: 1fr 1fr; }
    .project-card { grid-template-columns: .85fr 1.15fr; }
    .project-info { padding: 42px; }
}
@media (max-width: 800px) {
    .auth-shell { display: block; }
    .auth-brand { display: none; }
    .auth-panel { min-height: 100vh; padding: 28px; }
    .mobile-brand { display: block; margin-bottom: 42px; font-size: 15px; font-weight: 850; letter-spacing: .08em; }
    .mobile-brand span { color: #6d9e2c; font-size: 8px; }
    .topbar { grid-template-columns: 1fr auto; height: 72px; }
    .topbar nav { display: none; }
    .hero { display: block; min-height: 850px; padding-top: 150px; }
    .hero-copy { position: relative; z-index: 8; }
    .hero-visual { position: absolute; left: 0; bottom: 0; width: 100%; height: 47%; opacity: .9; }
    .hero-ergonatura-badge { width: min(240px, 68vw); }
    .hero-eco-showcase {
        top: 44%;
        width: min(78vw, 430px);
        padding: 18px;
    }
    .hero-metalcof-module {
        right: 50%;
        bottom: 5%;
        min-width: 220px;
        transform: translateX(50%);
        animation: none;
    }
    .scroll-note { display: none; }
    .section-heading { display: block; }
    .section-heading p { margin-top: 25px; }
    .project-card { display: flex; flex-direction: column; }
    .project-info { min-height: 560px; }
    .stove-stage { min-height: 570px; }
    .expenses-project .project-info { min-height: 490px; }
    .wallet-stage { min-height: 500px; }
    .future-grid { grid-template-columns: 1fr; }
    .proposal-heading { display: block; }
    .proposal-heading p { margin-top: 26px; }
    .proposal-workspace { grid-template-columns: 1fr; }
    .proposal-inbox { min-height: 520px; }
    footer { grid-template-columns: 1fr; gap: 22px; text-align: center; }
    footer .logo, footer > p:last-child { justify-self: center; }
}
@media (max-width: 520px) {
    .auth-card h2 { font-size: 35px; }
    .topbar { padding: 0 18px; }
    .logo { font-size: 13px; }
    .hero { min-height: 760px; }
    .hero h1 { font-size: 55px; }
    .hero-visual { left: 0; width: 100%; height: 42%; }
    .brand-mark-duo { width: min(290px, 84vw); }
    .brand-duo-stoves { width: min(190px, 52vw); }
    .hero-eco-showcase span,
    .hero-metalcof-module { display: none; }
    .planet-track { width: 275px; }
    .planet-metalcof { width: 145px; height: 145px; }
    .planet-stoves { width: 122px; height: 122px; }
    .floating-tag { display: none; }
    .brand-lockup { width: 174px; gap: 7px; }
    .brand-lockup > i { height: 24px; }
    .header-stoves-logo { width: 72px; height: 31px; }
    .header-metalcof-logo { width: 88px; height: 28px; }
    .platform-label { display: none; }
    .projects { padding-top: 85px; padding-bottom: 85px; }
    .section-heading { margin-bottom: 40px; }
    .section-heading h2 { font-size: 52px; }
    .project-info { min-height: 525px; padding: 29px; }
    .project-info h3 { font-size: 55px; }
    .stove-stage { min-height: 500px; }
    .stove-anchor { top: 50%; width: 96%; }
    .stove { transform: rotateY(-4deg) rotateX(1deg); }
    .feature-label { display: none; }
    .wallet-stage { min-height: 430px; }
    .wallet-scene { transform: scale(.78) rotateY(-7deg) rotateX(3deg); }
    .finance-label { display: none; }
    .future-card { grid-template-columns: auto 1fr; padding: 28px 20px; }
    .future-card button { display: none; }
    .future-icon { width: 60px; height: 60px; margin-right: 16px; }
    .future-icon svg { width: 30px; }
    .proposals { padding-top: 85px; padding-bottom: 85px; }
    .proposal-heading h2 { font-size: 50px; }
    .proposal-form, .proposal-inbox { padding: 28px 22px; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
    .cursor-glow { display: none; }
}

/* Ajuste final portal: limpia elementos montados y deja una composición estable */
.auth-brand .brand-mark-duo {
    width: min(430px, 70vw);
    min-height: 82px;
    padding: 13px 16px;
}

.auth-brand .brand-duo-metalcof {
    width: 58px;
    height: 48px;
}

.auth-brand .brand-duo-stoves {
    flex: 1;
    width: auto;
    max-width: 300px;
    max-height: 58px;
}

.hero {
    grid-template-columns: minmax(420px, .88fr) minmax(480px, 1.12fr);
    gap: clamp(32px, 5vw, 82px);
}

.hero-ergonatura-badge {
    width: clamp(210px, 19vw, 330px);
    margin: 18px 0 24px;
    padding: 13px 16px;
    background: rgba(4, 18, 16, .76);
    border-color: rgba(45, 219, 215, .26);
}

.hero-ergonatura-badge img {
    max-height: 76px;
}

.hero-visual {
    height: min(66vh, 650px);
    align-items: center;
}

.hero-system-panel {
    position: absolute;
    z-index: 6;
    left: 50%;
    top: 54%;
    transform: translate(-50%, -50%);
    display: grid;
    gap: 18px;
    width: min(78%, 560px);
    min-height: 330px;
    padding: clamp(24px, 3vw, 38px);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 12px;
    background:
        radial-gradient(circle at 78% 20%, rgba(0,168,150,.22), transparent 30%),
        radial-gradient(circle at 18% 82%, rgba(135,198,63,.15), transparent 32%),
        linear-gradient(135deg, rgba(9,31,27,.94), rgba(4,9,8,.86));
    box-shadow: 0 44px 120px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.08);
    overflow: hidden;
}

.hero-system-panel::before {
    content: "";
    position: absolute;
    inset: 18px;
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 8px;
    pointer-events: none;
}

.hero-system-logos {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: .55fr 1fr;
    gap: 14px;
    align-items: center;
}

.hero-system-logos span {
    display: grid;
    place-items: center;
    min-height: 96px;
    padding: 15px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 8px;
    background: rgba(255,255,255,.045);
}

.hero-system-logos img {
    max-width: 100%;
    max-height: 74px;
    object-fit: contain;
    filter: drop-shadow(0 16px 24px rgba(0,0,0,.42));
}

.hero-system-panel > div:last-child {
    position: relative;
    z-index: 2;
}

.hero-system-chip {
    display: inline-flex;
    margin-bottom: 14px;
    padding: 7px 10px;
    color: var(--green);
    border: 1px solid rgba(183,239,84,.18);
    border-radius: 4px;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.hero-system-panel h2 {
    max-width: 520px;
    margin: 0;
    color: #f3f5f1;
    font-size: clamp(28px, 3vw, 46px);
    font-weight: 850;
    letter-spacing: -.04em;
    line-height: 1;
}

.hero-system-panel p {
    max-width: 520px;
    margin: 18px 0 0;
    color: #97a39d;
    line-height: 1.65;
}

.admin-project {
    grid-template-columns: minmax(380px, .86fr) minmax(420px, 1.14fr);
    min-height: 610px;
    border-color: rgba(17, 21, 18, .16);
    background:
        radial-gradient(circle at 82% 20%, rgba(0,168,150,.22), transparent 24%),
        radial-gradient(circle at 70% 80%, rgba(238,138,34,.14), transparent 28%),
        linear-gradient(135deg, #f0f3ed 0%, #dfe7dd 42%, #0f3d38 42.2%, #06110f 100%);
}

.admin-project .project-info {
    min-height: auto;
    padding: clamp(34px, 4vw, 58px);
}

.admin-project .admin-card {
    width: min(100%, 500px);
    padding: 30px;
    background: rgba(255,255,255,.94);
}

.admin-project .admin-card select {
    width: 100%;
    min-height: 52px;
    padding: 0 14px;
    border: 1px solid #cdd1ca;
    border-radius: 7px;
    color: #171a17;
    background: #fff;
}

.admin-visual {
    position: relative;
    display: grid;
    align-content: center;
    gap: 18px;
    padding: clamp(38px, 5vw, 72px);
    color: #eef4ef;
    overflow: hidden;
}

.admin-visual::before {
    content: "";
    position: absolute;
    width: 520px;
    height: 520px;
    right: -120px;
    top: 50%;
    border: 1px solid rgba(183,239,84,.16);
    border-radius: 50%;
    transform: translateY(-50%);
    box-shadow: inset 0 0 90px rgba(183,239,84,.05);
}

.admin-shield {
    position: relative;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 104px;
    height: 104px;
    color: #0e1511;
    background: linear-gradient(135deg, #d8ff88, var(--green));
    border-radius: 8px;
    box-shadow: 0 22px 60px rgba(183,239,84,.22);
}

.admin-shield svg {
    width: 54px;
    height: 54px;
    stroke-width: 2.1;
}

.admin-visual > span,
.admin-visual h3,
.admin-visual p,
.admin-visual-tags {
    position: relative;
    z-index: 2;
}

.admin-visual > span {
    color: #9de15f;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.admin-visual h3 {
    max-width: 520px;
    margin: 0;
    font-size: clamp(40px, 4.4vw, 74px);
    font-weight: 850;
    letter-spacing: -.045em;
    line-height: .98;
}

.admin-visual p {
    max-width: 470px;
    margin: 0;
    color: #9ca69f;
    line-height: 1.65;
}

.admin-visual-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 8px;
}

.admin-visual-tags i,
.proposal-delete-form button {
    font-style: normal;
}

.admin-visual-tags i {
    padding: 8px 10px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 4px;
    color: #d8dfda;
    background: rgba(255,255,255,.05);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.admin-authorization-box {
    padding: 14px;
    border: 1px solid rgba(183, 239, 84, .34);
    border-radius: 12px;
    background: rgba(183, 239, 84, .08);
}

.admin-authorization-box small {
    display: block;
    margin-top: 8px;
    color: #6e766f;
    font-size: 11px;
    line-height: 1.45;
}

.user-management-panel {
    margin-top: 28px;
    padding: clamp(24px, 3vw, 34px);
    border: 1px solid rgba(17, 21, 18, .12);
    background: rgba(255,255,255,.72);
    box-shadow: 0 24px 60px rgba(12, 18, 12, .08);
}

.user-management-heading {
    display: grid;
    grid-template-columns: 1fr minmax(240px, .46fr);
    gap: 24px;
    align-items: end;
    margin-bottom: 22px;
}

.user-management-heading h3 {
    margin: 8px 0 0;
    font-size: clamp(32px, 3vw, 48px);
    font-weight: 430;
    letter-spacing: -.055em;
}

.user-management-heading p {
    margin: 0;
    color: #667066;
    line-height: 1.6;
}

.portal-users-list {
    display: grid;
    gap: 12px;
}

.portal-user-row {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 10px;
    align-items: stretch;
    padding: 14px;
    border: 1px solid #d4dad1;
    border-radius: 16px;
    background: rgba(248, 250, 246, .94);
}

.portal-user-form {
    display: grid;
    grid-template-columns: minmax(150px, 1.1fr) minmax(145px, .8fr) minmax(170px, 1fr) minmax(190px, 1fr) auto auto;
    gap: 12px;
    align-items: end;
}

.portal-user-form label {
    display: grid;
    gap: 7px;
    margin: 0;
}

.portal-user-form label > span,
.portal-user-identity span {
    color: #59635b;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.portal-user-identity {
    display: grid;
    align-content: center;
    gap: 5px;
}

.portal-user-identity strong {
    font-size: 17px;
}

.portal-user-form input,
.portal-user-form select {
    min-height: 44px;
    border: 1px solid #c9d0c6;
    border-radius: 9px;
    padding: 0 12px;
    color: #121712;
    background: #fff;
}

.portal-user-active {
    justify-items: center;
}

.portal-user-active input {
    min-height: auto;
    width: 22px;
    height: 22px;
}

.portal-user-save,
.portal-user-delete button {
    min-height: 44px;
    border: 0;
    border-radius: 10px;
    cursor: pointer;
    font-size: 12px;
    font-weight: 850;
}

.portal-user-save {
    padding: 0 16px;
    color: #101510;
    background: var(--green);
}

.portal-user-delete button {
    height: 100%;
    padding: 0 14px;
    color: #fff;
    background: #bd3d34;
}

.proposal-delete-form {
    margin: 0;
}

.proposal-delete-form button {
    padding: 7px 10px;
    border: 1px solid rgba(255,111,98,.35);
    border-radius: 999px;
    color: #ffd1cc;
    cursor: pointer;
    background: rgba(255,111,98,.11);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.proposal-delete-form button:hover {
    color: #1a0b09;
    background: #ff7b6f;
}

@media (max-width: 900px) {
    .hero {
        display: block;
        min-height: auto;
    }

    .hero-visual {
        position: relative;
        height: auto;
        margin-top: 34px;
    }

    .hero-system-panel {
        min-height: auto;
    }

    .admin-project {
        display: grid;
        grid-template-columns: 1fr;
        background: #111713;
    }

    .admin-project .project-info {
        background: #e9ebe5;
    }
}

/* Se retira la tarjeta grande del hero; las escenas 3D de proyectos quedan intactas. */
.hero-eco-showcase {
    display: none !important;
}

/* En el hero principal se dejan solo los elementos orbitales/giratorios. */
.hero-system-panel,
.hero-metalcof-module,
.floating-tag {
    display: none !important;
}

/* Refresh corporativo Metalcof / Ergonatura / Estufas Ecoeficientes */
.auth-brand {
    background:
        radial-gradient(circle at 72% 42%, rgba(135, 198, 63, .2), transparent 22%),
        radial-gradient(circle at 18% 78%, rgba(238, 138, 34, .16), transparent 27%),
        linear-gradient(145deg, #0f3a33 0%, #0b1916 48%, #050806 100%);
}

.auth-brand::before {
    opacity: .24;
    background-image:
        linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
    background-size: 42px 42px;
}

.brand-mark-duo {
    width: min(390px, 48vw);
    border-radius: 22px;
    border-color: rgba(183, 239, 84, .18);
    background:
        linear-gradient(135deg, rgba(255,255,255,.12), rgba(255,255,255,.025)),
        rgba(7, 15, 12, .78);
}

.auth-copy .eyebrow {
    color: #d9ead4;
}

.auth-copy h1 {
    max-width: 760px;
    letter-spacing: -.055em;
}

.auth-company-strip span {
    border-radius: 999px;
    border-color: rgba(183,239,84,.22);
    background: linear-gradient(135deg, rgba(135,198,63,.14), rgba(0,168,150,.07));
}

.auth-brand-footer span {
    color: var(--orange);
}

.auth-orbit {
    border-color: rgba(183,239,84,.18);
    animation-duration: 30s;
}

.auth-orbit .auth-logo-planet {
    animation: authPlanetBreath 6.8s ease-in-out infinite;
}

.auth-orbit .auth-logo-planet-stoves {
    animation-delay: -2.4s;
}

.shield-emblem {
    width: 78px;
    height: 78px;
    border-radius: 24px;
    color: #102018;
    background:
        radial-gradient(circle at 28% 18%, #ffffff 0 13%, #dff6b6 14% 24%, transparent 25%),
        linear-gradient(145deg, #b9ef5b, #73bd37 58%, #0d766f);
    box-shadow:
        0 22px 48px rgba(78, 132, 38, .3),
        inset 0 1px 0 rgba(255,255,255,.54),
        inset 0 -18px 32px rgba(8, 69, 55, .18);
}

.shield-logo {
    width: 48px;
    height: 48px;
    filter: drop-shadow(0 8px 10px rgba(0,0,0,.16));
}

.shield-logo-outline {
    fill: rgba(255,255,255,.34);
    stroke: #0f241b;
    stroke-width: 2;
}

.shield-logo-m,
.shield-logo-spark {
    fill: none;
    stroke: #0f241b;
    stroke-width: 3;
}

.shield-logo-m {
    stroke-linecap: round;
    stroke-linejoin: round;
}

.shield-logo-leaf {
    fill: rgba(15, 36, 27, .92);
    stroke: rgba(255,255,255,.46);
    stroke-width: .8;
}

.auth-card {
    border-radius: 24px;
    border-color: rgba(16, 31, 24, .1);
    box-shadow: 0 34px 90px rgba(8, 20, 13, .18);
}

.hero {
    background:
        radial-gradient(circle at 76% 30%, rgba(135,198,63,.13), transparent 26%),
        radial-gradient(circle at 20% 78%, rgba(238,138,34,.1), transparent 24%),
        linear-gradient(135deg, #080d0b 0%, #0d211c 46%, #050806 100%);
}

.hero-company-line {
    width: fit-content;
    margin: 18px 0 0;
    padding: 8px 12px;
    border: 1px solid rgba(183,239,84,.18);
    border-radius: 999px;
    color: #d7e9d1;
    background: rgba(183,239,84,.07);
    font-size: clamp(10px, .86vw, 12px);
    font-weight: 850;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.hero-ergonatura-badge {
    border-color: rgba(0,168,150,.22);
    border-radius: 20px;
    background:
        linear-gradient(135deg, rgba(255,255,255,.95), rgba(226,244,238,.88)),
        radial-gradient(circle at 15% 20%, rgba(135,198,63,.18), transparent 36%);
    box-shadow: 0 24px 62px rgba(0,0,0,.18);
}

.hero-copy h1 {
    letter-spacing: -.06em;
}

.hero-visual {
    --system-x: 0px;
    --system-y: 0px;
    --system-tilt-x: 0deg;
    --system-tilt-y: 0deg;
    transform: rotateX(var(--system-tilt-x)) rotateY(var(--system-tilt-y));
    transform-style: preserve-3d;
    transition: transform .45s var(--ease);
}

.hero-system-panel {
    display: grid !important;
    border-radius: 28px;
    border-color: rgba(183,239,84,.16);
    background:
        linear-gradient(145deg, rgba(255,255,255,.11), rgba(255,255,255,.03)),
        rgba(5, 10, 8, .72);
}

.hero-metalcof-module,
.floating-tag {
    display: flex !important;
}

.hero-system-chip,
.project-kicker {
    color: #b7ef54;
}

.planet-track {
    animation-duration: 31s;
    filter: drop-shadow(0 28px 46px rgba(0,0,0,.38));
}

.planet-stoves-track {
    animation-duration: 36s;
    animation-direction: reverse;
}

.hero-visual.has-planet-focus .planet-track,
.hero-visual.has-planet-focus .planet-position {
    animation-play-state: running !important;
}

.brand-planet {
    border-color: rgba(255,255,255,.2);
    backdrop-filter: blur(10px);
}

.planet-metalcof {
    background:
        radial-gradient(circle at 33% 22%, rgba(255,255,255,.18), transparent 16%),
        radial-gradient(circle at 50% 50%, #39413a 0%, #151a16 50%, #070908 76%);
    box-shadow:
        inset -30px -30px 70px rgba(0,0,0,.9),
        inset 12px 15px 30px rgba(255,255,255,.08),
        0 42px 86px rgba(0,0,0,.52),
        0 0 70px rgba(238,132,0,.12);
}

.planet-stoves {
    background:
        radial-gradient(circle at 34% 24%, rgba(255,255,255,.16), transparent 17%),
        radial-gradient(circle at 50% 52%, #214141 0%, #0f1d1c 52%, #06100f 78%);
    box-shadow:
        inset -26px -28px 62px rgba(0,0,0,.88),
        inset 10px 12px 26px rgba(255,255,255,.065),
        0 38px 82px rgba(0,0,0,.5),
        0 0 68px rgba(0,168,150,.12);
}

.brand-planet img {
    animation: brandLogoDrift 6.5s ease-in-out infinite;
}

.planet-stoves img {
    animation-delay: -2.2s;
}

.planet-label {
    margin-top: 10px;
    padding: 6px 9px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 999px;
    background: rgba(0,0,0,.18);
    color: #eef6ef;
}

.projects {
    background:
        radial-gradient(circle at 12% 0%, rgba(13,118,111,.08), transparent 32%),
        linear-gradient(180deg, #f1f3ee, #e5e8e1);
}

.project-card {
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 30px;
    box-shadow: 0 36px 86px rgba(12,18,12,.18);
}

.project-card + .project-card,
.future-grid {
    margin-top: 26px;
}

.project-meta {
    color: rgba(234,241,235,.62);
}

.project-info {
    background:
        linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.012)),
        rgba(6, 12, 10, .28);
}

@keyframes brandOrbitTrack {
    from {
        transform: translate(calc(-50% + var(--system-x)), calc(-50% + var(--system-y))) rotate(0deg);
    }
    to {
        transform: translate(calc(-50% + var(--system-x)), calc(-50% + var(--system-y))) rotate(360deg);
    }
}

@keyframes brandLogoDrift {
    0%, 100% { transform: translateY(0) scale(1); }
    50% { transform: translateY(-7px) scale(1.025); }
}

@keyframes authPlanetBreath {
    0%, 100% { filter: saturate(1) brightness(1); }
    50% { filter: saturate(1.12) brightness(1.08); }
}

/* Ajuste de precision: acceso limpio y hero corporativo sin elementos montados */
@media (min-width: 801px) {
    html:has(body.auth-page),
    body.auth-page {
        width: 100%;
        height: 100%;
        overflow: hidden;
    }

    .auth-page .auth-shell,
    .auth-page .auth-brand,
    .auth-page .auth-panel {
        height: 100dvh;
        min-height: 0;
    }
}

.auth-page .auth-shell {
    grid-template-columns: minmax(560px, 1.08fr) minmax(430px, .92fr);
    background: #edf0e9;
}

.auth-page .auth-brand {
    justify-content: initial;
    padding: clamp(30px, 3.2vw, 58px) clamp(34px, 4vw, 72px);
    background:
        radial-gradient(circle at 86% 16%, rgba(0, 168, 150, .13), transparent 25%),
        radial-gradient(circle at 12% 92%, rgba(238, 138, 34, .11), transparent 28%),
        linear-gradient(142deg, #103a34 0%, #0a211c 44%, #050a08 100%);
}

.auth-page .auth-brand::before {
    opacity: .15;
    background-size: 64px 64px;
    mask-image: linear-gradient(135deg, #000 0%, rgba(0,0,0,.3) 58%, transparent 84%);
}

.auth-page .auth-brand::after {
    left: auto;
    right: clamp(-240px, -11vw, -120px);
    top: 50%;
    width: min(48vw, 720px);
    border-color: rgba(183, 239, 84, .12);
    box-shadow:
        0 0 0 70px rgba(183, 239, 84, .018),
        0 0 0 140px rgba(0, 168, 150, .014);
    transform: translateY(-50%);
}

.auth-page .brand-mark-duo {
    flex: 0 0 auto;
    gap: 14px;
    width: min(310px, 42vw);
    min-height: 0;
    height: 64px;
    padding: 10px 14px;
    border-color: rgba(255,255,255,.13);
    border-radius: 15px;
    background: rgba(5, 15, 12, .54);
    box-shadow: 0 16px 44px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.06);
}

.auth-page .brand-duo-metalcof {
    width: 46px;
    height: 40px;
}

.auth-page .brand-duo-stoves {
    width: min(205px, 29vw);
    max-width: 205px;
    max-height: 42px;
}

.auth-page .auth-copy {
    z-index: 3;
    display: grid;
    align-content: center;
    flex: 1 1 auto;
    width: min(100%, 760px);
    max-width: 760px;
    margin: 0;
    padding: clamp(26px, 5vh, 70px) 0 clamp(20px, 3vh, 44px);
}

.auth-page .auth-copy .eyebrow {
    color: rgba(226, 238, 229, .76);
    font-size: 10px;
    letter-spacing: .18em;
}

.auth-page .auth-copy h1 {
    max-width: 720px;
    margin: clamp(17px, 2.4vh, 28px) 0 20px;
    font-size: clamp(48px, 4.15vw, 78px);
    font-weight: 790;
    letter-spacing: -.058em;
    line-height: .98;
}

.auth-page .auth-copy p {
    max-width: 520px;
    margin: 0;
    color: rgba(222, 231, 225, .68);
    font-size: clamp(14px, 1.05vw, 17px);
    line-height: 1.7;
}

.auth-page .auth-company-strip {
    gap: 0;
    margin-top: clamp(22px, 3vh, 34px);
}

.auth-page .auth-company-strip span {
    position: relative;
    padding: 0 14px;
    border: 0;
    border-radius: 0;
    color: rgba(237, 245, 239, .75);
    background: transparent;
    font-size: 9px;
    letter-spacing: .13em;
}

.auth-page .auth-company-strip span:first-child {
    padding-left: 0;
}

.auth-page .auth-company-strip span + span::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: var(--orange);
    transform: translate(-50%, -50%);
}

.auth-page .auth-brand-footer {
    flex: 0 0 auto;
    color: rgba(206, 220, 210, .38);
    font-size: 8px;
    letter-spacing: .24em;
}

.auth-page .auth-orbit {
    display: none;
}

.auth-page .auth-panel {
    padding: clamp(24px, 4vw, 70px);
    background:
        radial-gradient(circle at 50% 44%, rgba(255,255,255,.92), transparent 38%),
        #edf0e9;
}

.auth-page .auth-card {
    width: min(100%, 410px);
    padding: clamp(28px, 3vw, 38px);
    border: 1px solid rgba(18, 33, 25, .1);
    border-radius: 20px;
    background: rgba(255,255,255,.88);
    box-shadow: 0 28px 70px rgba(17, 31, 23, .14);
    backdrop-filter: blur(18px);
}

.auth-page .shield-emblem {
    position: relative;
    display: grid;
    width: 62px;
    height: 62px;
    margin: 0 0 18px;
    place-items: center;
    overflow: visible;
    border: 1px solid rgba(241, 153, 0, .34);
    border-radius: 19px;
    color: #fff;
    background: linear-gradient(145deg, #17342b, #07120f);
    box-shadow: 0 15px 34px rgba(7, 27, 21, .2), inset 0 1px 0 rgba(255,255,255,.1);
}

.auth-page .shield-emblem::before {
    content: "";
    position: absolute;
    inset: 6px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 14px;
}

.auth-page .shield-emblem-ring {
    position: absolute;
    inset: -7px;
    border: 1px solid rgba(13, 118, 111, .16);
    border-radius: 24px;
}

.auth-page .shield-emblem img {
    position: relative;
    z-index: 2;
    width: 38px;
    height: 31px;
    object-fit: contain;
    filter: drop-shadow(0 7px 8px rgba(0,0,0,.3));
}

.auth-page .shield-emblem i {
    position: absolute;
    z-index: 3;
    right: -4px;
    bottom: -4px;
    width: 12px;
    height: 12px;
    border: 3px solid #fff;
    border-radius: 50%;
    background: var(--green);
    box-shadow: 0 0 0 1px rgba(17, 30, 23, .12);
}

.auth-page .status-pill {
    padding: 7px 10px;
    border-color: #d4d9d0;
    color: #647068;
    background: rgba(248,250,246,.72);
    font-size: 9px;
}

.auth-page .auth-card h2 {
    margin: 22px 0 7px;
    color: #101511;
    font-size: clamp(34px, 2.6vw, 42px);
    line-height: 1;
}

.auth-page .form-intro {
    margin: 0 0 26px;
    font-size: 13px;
    line-height: 1.65;
}

.auth-page .auth-card label {
    margin-bottom: 16px;
}

.auth-page .auth-card input {
    height: 52px;
    border-radius: 9px;
    background: #fbfcfa;
}

.auth-page .password-toggle {
    width: 44px;
    height: 44px;
}

.auth-page .primary-button {
    height: 54px;
    border-radius: 9px;
    background: linear-gradient(135deg, #0c6d64, #103c35);
}

.auth-page .primary-button span {
    width: 38px;
    height: 38px;
    border-radius: 7px;
}

.auth-page .security-note {
    margin: 18px 0 0;
}

/* Hero principal: una sola pieza central y dos orbitas legibles */
.dashboard-page .hero {
    grid-template-columns: minmax(420px, .92fr) minmax(520px, 1.08fr);
    gap: clamp(34px, 5vw, 88px);
    min-height: 100svh;
    padding: 122px clamp(32px, 5.6vw, 92px) 62px;
    background:
        radial-gradient(circle at 78% 35%, rgba(0, 168, 150, .12), transparent 24%),
        radial-gradient(circle at 18% 82%, rgba(238, 138, 34, .08), transparent 27%),
        linear-gradient(135deg, #08130f 0%, #0b211b 48%, #050907 100%);
}

.portal-runtime-warning {
    position: fixed;
    z-index: 1200;
    right: 22px;
    top: 92px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 5px 14px;
    align-items: center;
    width: min(480px, calc(100vw - 44px));
    padding: 14px 16px;
    color: #f1faf4;
    border: 1px solid rgba(168,232,108,.36);
    border-radius: 12px;
    background: rgba(12,45,33,.96);
    box-shadow: 0 18px 48px rgba(0,0,0,.28);
    backdrop-filter: blur(14px);
}

.portal-runtime-warning strong,
.portal-runtime-warning span {
    min-width: 0;
}

.portal-runtime-warning span {
    color: #b9ccc0;
    font-size: 12px;
    line-height: 1.45;
}

.portal-runtime-warning button {
    grid-column: 2;
    grid-row: 1 / span 2;
    min-height: 38px;
    padding: 0 13px;
    color: #10251b;
    font-weight: 850;
    border: 0;
    border-radius: 8px;
    background: #a8e86c;
    cursor: pointer;
}

.dashboard-page .hero-copy {
    max-width: 690px;
    padding: 0;
}

.dashboard-page .hero-copy .eyebrow {
    color: rgba(220, 232, 223, .62);
    font-size: 10px;
}

.dashboard-page .hero-ergonatura-badge {
    width: clamp(195px, 16vw, 255px);
    margin: 22px 0 18px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    animation: none;
}

.dashboard-page .hero-ergonatura-badge img {
    max-height: 62px;
    filter: drop-shadow(0 10px 18px rgba(0,0,0,.28));
}

.dashboard-page .hero-company-line {
    display: none;
}

.dashboard-page .hero-copy h1 {
    max-width: 690px;
    margin: 26px 0 25px;
    font-size: clamp(62px, 5.35vw, 98px);
    font-weight: 790;
    letter-spacing: -.064em;
    line-height: .91;
}

.dashboard-page .hero-copy > p {
    max-width: 530px;
    margin-bottom: 30px;
    color: rgba(222, 233, 225, .74);
    font-size: clamp(14px, 1.06vw, 17px);
    line-height: 1.7;
}

.dashboard-page .hero-cta {
    gap: 16px;
}

.dashboard-page .hero-visual {
    --system-x: 0px;
    --system-y: 0px;
    --system-tilt-x: 0deg;
    --system-tilt-y: 0deg;
    height: min(68vh, 680px);
    min-height: 500px;
    transform: rotateX(var(--system-tilt-x)) rotateY(var(--system-tilt-y));
}

.dashboard-page .hero-visual::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: min(66%, 450px);
    aspect-ratio: 1;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(135,198,63,.09), rgba(0,168,150,.035) 42%, transparent 70%);
    filter: blur(12px);
    transform: translate(-50%, -50%);
}

.dashboard-page .hero-system-panel {
    left: 50%;
    top: 50%;
    z-index: 5;
    display: grid !important;
    gap: 19px;
    width: min(67%, 440px);
    min-height: 272px;
    padding: 28px 30px;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 22px;
    background:
        linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.018)),
        rgba(5, 14, 11, .82);
    box-shadow: 0 34px 82px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.06);
    transform: translate(-50%, -50%);
    backdrop-filter: blur(18px);
}

.dashboard-page .hero-system-panel::before {
    inset: 10px;
    border-radius: 16px;
}

.dashboard-page .hero-system-logos {
    display: flex;
    gap: 10px;
}

.dashboard-page .hero-system-logos span {
    width: 58px;
    min-height: 52px;
    padding: 9px;
    border-radius: 12px;
}

.dashboard-page .hero-system-logos img {
    width: 100%;
    max-height: 37px;
}

.dashboard-page .hero-system-chip {
    margin-bottom: 12px;
    padding: 6px 9px;
    border-radius: 999px;
    color: #b9ec69;
    font-size: 8px;
}

.dashboard-page .hero-system-panel h2 {
    max-width: 370px;
    font-size: clamp(26px, 2.05vw, 36px);
    font-weight: 760;
    letter-spacing: -.045em;
    line-height: 1.04;
}

.dashboard-page .hero-system-panel p {
    max-width: 370px;
    margin-top: 12px;
    color: rgba(201, 215, 205, .58);
    font-size: 12px;
    line-height: 1.6;
}

.dashboard-page .hero-metalcof-module,
.dashboard-page .hero-eco-showcase,
.dashboard-page .floating-tag {
    display: none !important;
}

.dashboard-page .orbital {
    border-color: rgba(183,239,84,.1);
}

.dashboard-page .orbital::after {
    width: 5px;
    height: 5px;
    background: rgba(183,239,84,.78);
}

.dashboard-page .orbital-one {
    width: 74%;
}

.dashboard-page .orbital-two {
    width: 91%;
    opacity: .28;
}

.dashboard-page .planet-track {
    --orbit-duration: 29s;
    width: min(79%, 540px);
    filter: none;
    animation-duration: var(--orbit-duration);
}

.dashboard-page .planet-position {
    animation-duration: var(--orbit-duration);
}

.dashboard-page .planet-stoves-track {
    --orbit-duration: 36s;
    width: min(70%, 480px);
    animation-direction: reverse;
}

.dashboard-page .planet-stoves-track .planet-position {
    animation-direction: reverse;
}

.dashboard-page .brand-planet {
    border-color: rgba(255,255,255,.16);
    transition: transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s;
}

.dashboard-page .brand-planet:hover,
.dashboard-page .brand-planet:focus-visible {
    transform: translate(-50%, -50%) scale(1.045);
}

.dashboard-page .planet-metalcof {
    width: clamp(112px, 8.5vw, 145px);
    height: clamp(112px, 8.5vw, 145px);
    box-shadow: inset -18px -18px 40px rgba(0,0,0,.78), 0 22px 45px rgba(0,0,0,.36), 0 0 38px rgba(238,132,0,.1);
}

.dashboard-page .planet-stoves {
    width: clamp(96px, 7.2vw, 124px);
    height: clamp(96px, 7.2vw, 124px);
    box-shadow: inset -15px -17px 34px rgba(0,0,0,.76), 0 20px 40px rgba(0,0,0,.34), 0 0 34px rgba(0,168,150,.11);
}

.dashboard-page .brand-planet img {
    max-width: 67%;
    max-height: 50%;
    animation: brandLogoDrift 7.5s ease-in-out infinite;
}

.dashboard-page .planet-stoves img {
    max-width: 76%;
    max-height: 54%;
}

.dashboard-page .planet-label {
    display: none;
}

@media (max-height: 780px) and (min-width: 801px) {
    .auth-page .auth-brand {
        padding-top: 26px;
        padding-bottom: 26px;
    }

    .auth-page .brand-mark-duo {
        height: 56px;
    }

    .auth-page .auth-copy {
        padding: 22px 0 18px;
    }

    .auth-page .auth-copy h1 {
        margin: 14px 0 14px;
        font-size: clamp(42px, 3.8vw, 64px);
    }

    .auth-page .auth-company-strip {
        margin-top: 19px;
    }

    .auth-page .auth-card {
        padding: 26px 30px;
    }

    .auth-page .shield-emblem {
        width: 54px;
        height: 54px;
        margin-bottom: 14px;
    }

    .auth-page .auth-card h2 {
        margin-top: 18px;
        font-size: 35px;
    }

    .auth-page .form-intro {
        margin-bottom: 20px;
    }

    .auth-page .auth-card label {
        margin-bottom: 13px;
    }

    .auth-page .auth-card input,
    .auth-page .primary-button {
        height: 49px;
    }

    .auth-page .security-note {
        margin-top: 14px;
    }

    .dashboard-page .hero {
        padding-top: 108px;
        padding-bottom: 40px;
    }

    .dashboard-page .hero-copy h1 {
        font-size: clamp(58px, 4.8vw, 82px);
    }

    .dashboard-page .hero-visual {
        height: min(65vh, 560px);
        min-height: 450px;
    }
}

@media (max-width: 1120px) and (min-width: 901px) {
    .dashboard-page .hero {
        grid-template-columns: minmax(360px, .92fr) minmax(430px, 1.08fr);
        gap: 24px;
        padding-inline: 38px;
    }

    .dashboard-page .hero-system-panel {
        width: min(72%, 410px);
    }
}

@media (max-width: 900px) {
    .dashboard-page .hero {
        display: grid;
        grid-template-columns: 1fr;
        gap: 28px;
        min-height: auto;
        padding: 118px 24px 66px;
    }

    .dashboard-page .hero-copy {
        max-width: 640px;
    }

    .dashboard-page .hero-visual {
        position: relative;
        left: auto;
        bottom: auto;
        width: 100%;
        height: min(72vw, 560px);
        min-height: 430px;
        margin: 0;
        opacity: 1;
    }

    .dashboard-page .hero-system-panel {
        min-height: 240px;
    }
}

@media (max-width: 800px) {
    .auth-page {
        min-height: 100dvh;
        overflow-x: hidden;
    }

    .auth-page .auth-panel {
        min-height: 100dvh;
        padding: 22px;
    }

    .auth-page .auth-card {
        padding: 28px;
    }
}

@media (max-width: 560px) {
    .dashboard-page .hero-copy h1 {
        font-size: clamp(52px, 16vw, 72px);
    }

    .dashboard-page .hero-ergonatura-badge {
        width: 205px;
    }

    .dashboard-page .hero-visual {
        height: 400px;
        min-height: 400px;
    }

    .dashboard-page .hero-system-panel {
        width: min(78%, 330px);
        min-height: 218px;
        padding: 22px;
    }

    .dashboard-page .hero-system-panel h2 {
        font-size: 25px;
    }

    .dashboard-page .hero-system-panel p {
        display: none;
    }

    .dashboard-page .hero-system-logos span {
        width: 50px;
        min-height: 46px;
    }

    .dashboard-page .planet-track {
        width: 360px;
    }

    .dashboard-page .planet-stoves-track {
        width: 340px;
    }

    .dashboard-page .planet-metalcof {
        width: 96px;
        height: 96px;
    }

    .dashboard-page .planet-stoves {
        width: 82px;
        height: 82px;
    }

    .dashboard-page .orbital-one {
        width: 82%;
    }

    .dashboard-page .orbital-two {
        width: 104%;
    }
}

/* Intranet Metalcof 2026: navegación lateral, aprendizaje y acceso directo */
.auth-page .access-brand-symbol {
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    flex: 0 0 auto;
    border: 1px solid rgba(183,239,84,.26);
    border-radius: 16px;
    background: linear-gradient(145deg, #173d34, #081b16);
    box-shadow: 0 18px 35px rgba(6,22,17,.22), inset 0 1px 0 rgba(255,255,255,.1);
}
.auth-page .access-brand-symbol img { width: 34px; height: 34px; object-fit: contain; }
.auth-page .access-brand-row { margin-bottom: 28px; }
.auth-page .auth-card { overflow: visible; }

.dashboard-page {
    --intranet-sidebar-width: 286px;
    color: #111a17;
    background: #edf1ec;
}
.intranet-sidebar {
    position: fixed;
    z-index: 90;
    inset: 0 auto 0 0;
    display: flex;
    flex-direction: column;
    width: var(--intranet-sidebar-width);
    padding: 22px 18px 18px;
    overflow-y: auto;
    color: #e9f0eb;
    background:
        radial-gradient(circle at 18% 5%, rgba(0,168,150,.16), transparent 30%),
        linear-gradient(180deg, #081b16 0%, #06120f 58%, #050d0b 100%);
    border-right: 1px solid rgba(255,255,255,.08);
    box-shadow: 22px 0 60px rgba(7,20,16,.12);
}
.intranet-sidebar::-webkit-scrollbar { width: 5px; }
.intranet-sidebar::-webkit-scrollbar-thumb { background: rgba(183,239,84,.22); border-radius: 20px; }
.intranet-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 4px 5px 22px;
    border-bottom: 1px solid rgba(255,255,255,.08);
}
.intranet-brand-icon {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border: 1px solid rgba(183,239,84,.2);
    border-radius: 13px;
    background: rgba(183,239,84,.08);
}
.intranet-brand-icon img { width: 29px; height: 29px; object-fit: contain; }
.intranet-brand strong { display: block; color: #f5f8f5; font-size: 15px; letter-spacing: .14em; }
.intranet-brand small { display: block; margin-top: 3px; color: #7f9188; font-size: 8px; font-weight: 800; letter-spacing: .22em; }
.sidebar-label {
    display: block;
    margin: 24px 10px 10px;
    color: #667970;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .16em;
    text-transform: uppercase;
}
.intranet-navigation { display: grid; gap: 5px; }
.intranet-navigation > a {
    display: grid;
    grid-template-columns: 22px 1fr auto;
    align-items: center;
    gap: 11px;
    min-height: 46px;
    padding: 0 12px;
    border: 1px solid transparent;
    border-radius: 12px;
    color: #9baba3;
    font-size: 12px;
    font-weight: 680;
    transition: .22s ease;
}
.intranet-navigation > a svg { width: 19px; height: 19px; }
.intranet-navigation > a:hover,
.intranet-navigation > a.active {
    color: #f7fbf8;
    border-color: rgba(183,239,84,.14);
    background: linear-gradient(90deg, rgba(183,239,84,.13), rgba(183,239,84,.035));
    transform: translateX(2px);
}
.intranet-navigation > a.active svg { color: #a7e75a; }
.intranet-navigation > a i {
    display: grid;
    place-items: center;
    min-width: 22px;
    height: 22px;
    border-radius: 999px;
    color: #cceea6;
    background: rgba(183,239,84,.11);
    font-size: 9px;
    font-style: normal;
}
.intranet-navigation > a b {
    padding: 4px 6px;
    border-radius: 999px;
    color: #062019;
    background: #92d94b;
    font-size: 7px;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.sidebar-projects { display: grid; gap: 4px; }
.sidebar-projects > a {
    position: relative;
    display: grid;
    grid-template-columns: 9px 1fr;
    gap: 3px 10px;
    padding: 10px 12px;
    border-radius: 11px;
    transition: background .2s, transform .2s;
}
.sidebar-projects > a:hover { background: rgba(255,255,255,.055); transform: translateX(2px); }
.sidebar-projects strong { color: #d6dfda; font-size: 11px; font-weight: 700; }
.sidebar-projects small { grid-column: 2; color: #60736a; font-size: 8px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.project-dot { align-self: center; width: 7px; height: 7px; border-radius: 2px; background: #87c63f; box-shadow: 0 0 9px currentColor; }
.project-dot-orange { color: #ee8a22; background: #ee8a22; }
.project-dot-teal { color: #62d8c9; background: #62d8c9; }
.project-dot-yellow { color: #e5b631; background: #e5b631; }
.project-dot-blue { color: #86b9f5; background: #86b9f5; }
.sidebar-account {
    display: grid;
    grid-template-columns: 38px 1fr 30px;
    align-items: center;
    gap: 10px;
    margin-top: auto;
    padding: 16px 8px 2px;
    border-top: 1px solid rgba(255,255,255,.08);
}
.sidebar-account .avatar { width: 38px; height: 38px; }
.sidebar-account strong { display: block; overflow: hidden; color: #f1f5f2; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-account small { display: block; margin-top: 3px; color: #71847a; font-size: 8px; }
.sidebar-account > a { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 8px; color: #83948b; }
.sidebar-account > a:hover { color: #fff; background: rgba(255,255,255,.07); }
.sidebar-account svg { width: 17px; }

.dashboard-page .topbar {
    left: var(--intranet-sidebar-width);
    width: calc(100% - var(--intranet-sidebar-width));
    height: 74px;
    grid-template-columns: auto 1fr auto auto;
    gap: 24px;
    padding: 0 34px;
    border-bottom-color: #dce4de;
    color: #101915;
    background: rgba(248,250,247,.92);
    box-shadow: 0 8px 25px rgba(10,25,19,.055);
}
.dashboard-page .topbar nav { gap: 24px; }
.dashboard-page .topbar nav a { color: #66736c; }
.dashboard-page .topbar nav a:hover,
.dashboard-page .topbar nav a.active { color: #0a5f57; }
.dashboard-page .topbar .availability { color: #65746c; }
.dashboard-page .topbar .user-label { color: #152019; }
.dashboard-page .topbar .avatar { color: #0f6f64; background: #e6f1e9; border-color: #bfd1c4; }
.topbar-context { display: grid; gap: 2px; }
.topbar-context span { color: #7a877f; font-size: 8px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.topbar-context strong { color: #172019; font-size: 13px; }
.sidebar-toggle { display: none; width: 40px; height: 40px; place-items: center; border: 1px solid #d7e0da; border-radius: 10px; color: #173229; background: #fff; cursor: pointer; }
.sidebar-toggle svg { width: 20px; }
.dashboard-page .user-dropdown { border-color: #d9e1dc; color: #172019; background: #fff; box-shadow: 0 18px 50px rgba(10,25,19,.15); }
.dashboard-page .user-dropdown a { color: #26352d; }

.dashboard-page .intranet-main,
.dashboard-page footer { margin-left: var(--intranet-sidebar-width); }
.dashboard-page .intranet-main { padding-top: 74px; }
.dashboard-page .hero {
    min-height: 660px;
    padding: 72px clamp(34px, 5vw, 78px) 54px;
    border-bottom: 1px solid rgba(255,255,255,.08);
}
.dashboard-page .hero h1 { margin: 22px 0 26px; font-size: clamp(53px, 5.5vw, 90px); }
.dashboard-page .hero-actions { display: flex; align-items: center; gap: 22px; }
.hero-secondary { padding: 13px 18px; border: 1px solid rgba(255,255,255,.16); border-radius: 8px; color: #c9d5cd; font-size: 11px; font-weight: 750; }
.hero-secondary:hover { color: #fff; border-color: rgba(183,239,84,.42); background: rgba(183,239,84,.07); }
.dashboard-page .scroll-note { left: clamp(34px,5vw,78px); }
.dashboard-page .portal-runtime-warning { left: calc(var(--intranet-sidebar-width) + 20px); }

#proyectos.projects { padding-top: 76px; }
#proyectos .section-heading { padding-left: clamp(34px,5vw,78px); padding-right: clamp(34px,5vw,78px); }
#proyectos .project-card { min-height: min(72vh, 690px); }
#proyectos .stove-stage,
#proyectos .expenses-ledger-stage,
#proyectos .sigedo-stage,
#proyectos .order-stage,
#proyectos .yukeinsi-stage { min-height: min(72vh, 690px); }

.yukeinsi-mascot-card {
    position: relative;
    width: min(61%, 500px);
    height: min(77%, 560px);
    overflow: hidden;
    border: 1px solid rgba(134,185,245,.28);
    border-radius: 32px;
    background: #061713;
    box-shadow: 0 46px 90px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.08);
    transform: translateZ(58px) rotateY(-7deg) rotateX(2deg);
}
.yukeinsi-mascot-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 50%, rgba(2,10,8,.96) 100%);
    pointer-events: none;
}
.yukeinsi-mascot-card > img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.yukeinsi-identity { position: absolute; z-index: 3; right: 24px; bottom: 22px; left: 24px; }
.yukeinsi-identity span { display: block; margin-bottom: 6px; color: #91c2ff; font-size: 9px; font-weight: 850; letter-spacing: .2em; }
.yukeinsi-identity strong { display: block; color: #fff; font-size: clamp(24px,2.2vw,36px); letter-spacing: -.04em; }
.yukeinsi-identity small { display: block; margin-top: 6px; color: #a9bab2; font-size: 9px; font-weight: 650; letter-spacing: .05em; }
.interactive-scene.is-dragging .yukeinsi-mascot-card { box-shadow: 0 58px 110px rgba(0,0,0,.58), inset 0 1px 0 rgba(255,255,255,.12); }

.learning-hub {
    position: relative;
    padding: 100px clamp(34px,5vw,78px) 110px;
    overflow: hidden;
    color: #132019;
    background:
        radial-gradient(circle at 92% 0%, rgba(0,168,150,.12), transparent 27%),
        linear-gradient(180deg, #f5f7f2, #e7ece6);
}
.learning-hub::before { content: ""; position: absolute; inset: 0; opacity: .34; background-image: linear-gradient(#cfd9d1 1px,transparent 1px),linear-gradient(90deg,#cfd9d1 1px,transparent 1px); background-size: 64px 64px; mask-image: linear-gradient(to bottom,transparent,#000 30%,transparent); pointer-events: none; }
.learning-heading { position: relative; z-index: 2; display: grid; grid-template-columns: 1.2fr .8fr; gap: 50px; align-items: end; max-width: 1420px; margin: 0 auto 44px; }
.learning-heading h2 { margin: 14px 0 0; font-size: clamp(42px,5vw,76px); letter-spacing: -.06em; line-height: .98; }
.learning-heading p { max-width: 520px; margin: 0; color: #647169; font-size: 15px; line-height: 1.75; }
.learning-dashboard { position: relative; z-index: 2; display: grid; grid-template-columns: 220px 1fr; gap: 22px; max-width: 1420px; margin: 0 auto; }
.learning-catalog { align-self: start; display: grid; gap: 6px; padding: 20px 12px; border: 1px solid #d5ded6; border-radius: 20px; background: rgba(255,255,255,.72); box-shadow: 0 24px 55px rgba(15,35,26,.07); backdrop-filter: blur(14px); }
.learning-catalog > span { padding: 0 10px 12px; color: #718078; font-size: 9px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.learning-catalog button { display: flex; justify-content: space-between; align-items: center; min-height: 42px; padding: 0 11px; border: 0; border-radius: 10px; color: #5f6d65; background: transparent; cursor: pointer; font-size: 11px; font-weight: 700; text-align: left; }
.learning-catalog button:hover,
.learning-catalog button.active { color: #fff; background: #0b5f57; }
.learning-catalog button b { display: grid; place-items: center; min-width: 21px; height: 21px; border-radius: 999px; color: inherit; background: rgba(127,145,135,.12); font-size: 8px; }
.learning-content { min-width: 0; }
.learning-summary { display: grid; grid-template-columns: 1fr auto auto; gap: 24px; align-items: center; min-height: 145px; margin-bottom: 20px; padding: 25px 28px; border-radius: 22px; color: #eef8f2; background: radial-gradient(circle at 80% 20%,rgba(183,239,84,.16),transparent 26%),linear-gradient(135deg,#123a31,#071b16); box-shadow: 0 30px 70px rgba(8,31,23,.2); }
.learning-summary > div:first-child span { display: block; margin-bottom: 8px; color: #9fca88; font-size: 9px; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.learning-summary > div:first-child strong { display: block; font-size: 25px; letter-spacing: -.035em; }
.learning-summary > div:first-child small { display: block; max-width: 540px; margin-top: 8px; color: #9fb1a8; line-height: 1.55; }
.learning-progress-ring { display: grid; place-items: center; width: 84px; height: 84px; border: 7px solid rgba(255,255,255,.12); border-top-color: #a6e45c; border-radius: 50%; }
.learning-progress-ring strong { font-size: 17px; }
.learning-progress-ring span { color: #879b90; font-size: 7px; text-transform: uppercase; }
.learning-summary > button { min-height: 44px; padding: 0 17px; border: 0; border-radius: 10px; color: #112014; background: #a6e45c; cursor: pointer; font-size: 10px; font-weight: 850; }
.course-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.course-card { overflow: hidden; border: 1px solid #d3ddd5; border-radius: 18px; background: rgba(255,255,255,.86); box-shadow: 0 22px 55px rgba(15,35,26,.07); transition: transform .25s var(--ease), box-shadow .25s ease, opacity .2s; }
.course-card:hover { transform: translateY(-5px); box-shadow: 0 30px 65px rgba(15,35,26,.13); }
.course-card[hidden] { display: none !important; }
.course-cover { position: relative; display: grid; place-items: center; height: 145px; overflow: hidden; color: #dff7e5; background: linear-gradient(135deg,#0d5a4f,#09251f); }
.course-cover::after { content: ""; position: absolute; width: 180px; height: 180px; border: 1px solid rgba(255,255,255,.13); border-radius: 50%; transform: translate(40%,-20%); }
.course-cover > span { position: absolute; top: 14px; left: 15px; color: rgba(255,255,255,.55); font-size: 9px; font-weight: 850; letter-spacing: .12em; }
.course-cover svg { width: 58px; height: 58px; stroke-width: 1.2; }
.course-production .course-cover { background: linear-gradient(135deg,#553110,#161109); color: #ffc66b; }
.course-sales .course-cover { background: linear-gradient(135deg,#153858,#091521); color: #9fcaff; }
.course-admin .course-cover { background: linear-gradient(135deg,#5b231f,#1f0d0c); color: #ffaca5; }
.course-docs .course-cover { background: linear-gradient(135deg,#0a5250,#071c1b); color: #84e1da; }
.course-orders .course-cover { background: linear-gradient(135deg,#59460c,#1b1608); color: #f2d55e; }
.course-body { padding: 20px; }
.course-area { color: #0d766f; font-size: 8px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.course-body h3 { min-height: 48px; margin: 8px 0; color: #16231c; font-size: 17px; letter-spacing: -.025em; line-height: 1.25; }
.course-body p { min-height: 60px; margin: 0; color: #69766f; font-size: 11px; line-height: 1.6; }
.course-body > div { display: flex; gap: 14px; margin: 15px 0; color: #7c8982; font-size: 8px; font-weight: 750; text-transform: uppercase; }
.course-body > button { display: flex; justify-content: space-between; width: 100%; padding: 12px 0 0; border: 0; border-top: 1px solid #e2e8e3; color: #163b31; background: transparent; cursor: pointer; font-size: 10px; font-weight: 850; }
.course-body > button:hover { color: #0d766f; }
.course-dialog { width: min(580px,calc(100% - 32px)); padding: 34px; border: 1px solid rgba(183,239,84,.24); border-radius: 24px; color: #edf6f0; background: radial-gradient(circle at 85% 10%,rgba(135,198,63,.14),transparent 30%),#092019; box-shadow: 0 40px 100px rgba(0,0,0,.45); }
.course-dialog::backdrop { background: rgba(3,10,7,.72); backdrop-filter: blur(8px); }
.course-dialog > span { color: #99d65c; font-size: 9px; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.course-dialog h3 { margin: 10px 0; font-size: 34px; letter-spacing: -.05em; }
.course-dialog p { color: #a9bbb1; line-height: 1.7; }
.course-dialog-close { position: absolute; top: 16px; right: 16px; width: 34px; height: 34px; border: 1px solid rgba(255,255,255,.12); border-radius: 9px; background: transparent; cursor: pointer; font-size: 22px; }
.course-dialog-modules { display: grid; gap: 8px; margin: 22px 0; }
.course-dialog-modules span { padding: 11px 13px; border: 1px solid rgba(255,255,255,.09); border-radius: 9px; color: #d2dfd7; background: rgba(255,255,255,.035); font-size: 10px; }
.course-dialog-primary { width: 100%; min-height: 46px; border: 0; border-radius: 10px; color: #132015; background: #a6e45c; cursor: pointer; font-weight: 850; }

@media (max-width: 1240px) {
    .dashboard-page { --intranet-sidebar-width: 252px; }
    .dashboard-page .topbar nav { display: none; }
    .course-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .learning-summary { grid-template-columns: 1fr auto; }
    .learning-summary > button { grid-column: 1 / -1; }
}
@media (max-width: 900px) {
    .dashboard-page { --intranet-sidebar-width: 280px; }
    .intranet-sidebar { transform: translateX(-102%); transition: transform .3s var(--ease); }
    .dashboard-page.sidebar-open .intranet-sidebar { transform: translateX(0); }
    .dashboard-page.sidebar-open::after { content: ""; position: fixed; z-index: 80; inset: 0; background: rgba(2,10,7,.62); backdrop-filter: blur(3px); }
    .dashboard-page .topbar { left: 0; width: 100%; grid-template-columns: auto 1fr auto; padding: 0 18px; }
    .sidebar-toggle { display: grid; }
    .dashboard-page .topbar .availability { display: none; }
    .dashboard-page .intranet-main,
    .dashboard-page footer { margin-left: 0; }
    .learning-dashboard { grid-template-columns: 1fr; }
    .learning-catalog { grid-template-columns: repeat(3,1fr); }
    .learning-catalog > span { grid-column: 1/-1; }
    .learning-heading { grid-template-columns: 1fr; gap: 20px; }
    .yukeinsi-mascot-card { width: min(70%,440px); }
}
@media (max-width: 640px) {
    .dashboard-page .topbar { height: 66px; }
    .dashboard-page .intranet-main { padding-top: 66px; }
    .topbar-context span { display: none; }
    .topbar-context strong { font-size: 11px; }
    .dashboard-page .topbar .user-label,
    .dashboard-page .topbar .user-button > svg { display: none; }
    .dashboard-page .hero { min-height: 720px; padding: 54px 22px 35px; }
    .dashboard-page .hero h1 { font-size: clamp(46px,14vw,70px); }
    .dashboard-page .hero-actions { align-items: flex-start; flex-direction: column; }
    .learning-hub { padding: 72px 18px 78px; }
    .learning-catalog { display: flex; overflow-x: auto; padding: 10px; }
    .learning-catalog > span { display: none; }
    .learning-catalog button { flex: 0 0 auto; }
    .learning-summary { grid-template-columns: 1fr; padding: 22px; }
    .learning-progress-ring { display: none; }
    .course-grid { grid-template-columns: 1fr; }
    .course-body h3,
    .course-body p { min-height: 0; }
    .yukeinsi-mascot-card { width: min(76%,390px); height: 76%; }
    .yukeinsi-identity { right: 16px; bottom: 16px; left: 16px; }
}

/* Portal claro: dos marcas protagonistas, sin tarjeta flotante */
.auth-page .auth-brand::after {
    right: -28%;
    width: min(42vw, 620px);
    opacity: .62;
    border-color: rgba(183,239,84,.09);
    box-shadow: 0 0 0 72px rgba(183,239,84,.012);
}

.auth-page .auth-copy h1 {
    max-width: 690px;
    font-size: clamp(48px, 4vw, 74px);
}

.auth-page .access-brand-row {
    display: flex;
    gap: 13px;
    align-items: center;
    margin-bottom: 22px;
}

.auth-page .access-brand-row > div:last-child {
    display: grid;
    gap: 3px;
}

.auth-page .access-brand-row strong {
    color: #111713;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .16em;
}

.auth-page .access-brand-row small {
    color: #768078;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .18em;
}

.auth-page .shield-emblem {
    width: 50px;
    height: 50px;
    margin: 0;
    border-color: rgba(13,118,111,.22);
    border-radius: 15px;
    color: #f2a017;
    background: #0b211b;
    box-shadow: 0 12px 28px rgba(7,27,21,.16);
}

.auth-page .shield-emblem::before {
    display: none;
}

.auth-page .shield-emblem svg {
    width: 25px;
    height: 25px;
    stroke-width: 1.8;
}

.auth-page .auth-card h2 {
    margin-top: 20px;
}

.dashboard-page .hero {
    grid-template-columns: minmax(430px, .86fr) minmax(520px, 1.14fr);
    gap: clamp(36px, 6vw, 108px);
}

.dashboard-page .hero-copy {
    max-width: 720px;
}

.dashboard-page .hero-copy h1 {
    max-width: 720px;
    margin-top: 28px;
    font-size: clamp(61px, 5.25vw, 96px);
    line-height: .94;
}

.dashboard-page .hero-copy > p {
    max-width: 555px;
}

.dashboard-page .hero-visual {
    height: min(69vh, 660px);
    min-height: 510px;
    overflow: visible;
}

.dashboard-page .hero-visual::before {
    width: min(82%, 620px);
    background: radial-gradient(circle, rgba(0,168,150,.09), rgba(135,198,63,.025) 45%, transparent 72%);
}

.dashboard-page .hero-visual::after {
    content: "";
    position: absolute;
    left: 18%;
    right: 18%;
    top: 50%;
    z-index: 1;
    border-top: 1px dashed rgba(183,239,84,.16);
    transform: rotate(-12deg);
}

.dashboard-page .hero-system-panel {
    left: 50%;
    top: 50%;
    z-index: 3;
    display: flex !important;
    width: auto;
    min-width: 255px;
    min-height: 0;
    padding: 14px 18px;
    flex-direction: column;
    gap: 4px;
    align-items: flex-start;
    border-color: rgba(255,255,255,.1);
    border-radius: 16px;
    background: rgba(6,18,14,.86);
    box-shadow: 0 20px 48px rgba(0,0,0,.24);
    transform: translate(-50%, -50%);
    backdrop-filter: blur(14px);
}

.dashboard-page .hero-system-panel::before,
.dashboard-page .hero-system-logos {
    display: none;
}

.dashboard-page .hero-system-chip {
    margin: 0 0 4px;
    padding: 0;
    border: 0;
    color: #9bd84d;
    background: transparent;
    font-size: 8px;
    letter-spacing: .17em;
}

.dashboard-page .hero-system-panel > strong {
    color: #f1f5f1;
    font-size: 17px;
    font-weight: 760;
    letter-spacing: -.025em;
}

.dashboard-page .hero-system-panel > strong i {
    padding: 0 3px;
    color: #f19a12;
    font-style: normal;
}

.dashboard-page .hero-system-panel > small {
    color: rgba(211,223,215,.5);
    font-size: 8px;
    font-weight: 750;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.dashboard-page .orbital-one {
    width: 82%;
    opacity: .5;
}

.dashboard-page .orbital-two {
    width: 103%;
    opacity: .16;
}

.dashboard-page .planet-track,
.dashboard-page .planet-stoves-track {
    position: absolute;
    left: auto;
    top: auto;
    width: 250px;
    height: 250px;
    aspect-ratio: auto;
    filter: none;
    transform: none;
}

.dashboard-page .planet-metalcof-track {
    left: 3%;
    top: 5%;
    animation: constellationFloatMetalcof 8.5s ease-in-out infinite;
}

.dashboard-page .planet-stoves-track {
    right: 2%;
    bottom: 3%;
    width: 220px;
    height: 220px;
    animation: constellationFloatStoves 9.5s ease-in-out infinite;
}

.dashboard-page .planet-position,
.dashboard-page .planet-metalcof-track .planet-position,
.dashboard-page .planet-stoves-track .planet-position {
    position: absolute;
    inset: 0;
    animation: none;
    transform: none;
}

.dashboard-page .planet-metalcof,
.dashboard-page .planet-stoves {
    left: 50%;
    top: 50%;
}

.dashboard-page .planet-metalcof {
    width: 220px;
    height: 220px;
    background:
        radial-gradient(circle at 31% 23%, rgba(255,255,255,.13), transparent 17%),
        radial-gradient(circle at 55% 56%, #303831, #111713 58%, #050706 82%);
    box-shadow: inset -28px -30px 60px rgba(0,0,0,.78), 0 30px 70px rgba(0,0,0,.4), 0 0 55px rgba(241,153,0,.1);
}

.dashboard-page .planet-stoves {
    width: 188px;
    height: 188px;
    background:
        radial-gradient(circle at 31% 23%, rgba(255,255,255,.14), transparent 17%),
        radial-gradient(circle at 55% 56%, #17413e, #0b1d1a 58%, #040a08 82%);
    box-shadow: inset -24px -26px 52px rgba(0,0,0,.76), 0 28px 64px rgba(0,0,0,.38), 0 0 50px rgba(0,168,150,.12);
}

.dashboard-page .planet-metalcof img {
    max-width: 76%;
    max-height: 37%;
}

.dashboard-page .planet-stoves img {
    max-width: 55%;
    max-height: 50%;
}

.dashboard-page .planet-label {
    display: block;
    margin-top: 13px;
    padding: 0;
    border: 0;
    border-radius: 0;
    color: rgba(239,245,240,.74);
    background: transparent;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dashboard-page .hero-visual.has-planet-focus .brand-planet:not(.is-hovered) {
    opacity: .66;
    filter: saturate(.7);
}

@keyframes constellationFloatMetalcof {
    0%, 100% { transform: translate3d(0, 0, 0) rotate(-2deg); }
    50% { transform: translate3d(18px, -15px, 0) rotate(2deg); }
}

@keyframes constellationFloatStoves {
    0%, 100% { transform: translate3d(0, 0, 0) rotate(2deg); }
    50% { transform: translate3d(-17px, 14px, 0) rotate(-2deg); }
}

@media (max-height: 780px) and (min-width: 901px) {
    .dashboard-page .planet-metalcof-track {
        top: 1%;
    }

    .dashboard-page .planet-stoves-track {
        bottom: 0;
    }

    .dashboard-page .planet-metalcof {
        width: 190px;
        height: 190px;
    }

    .dashboard-page .planet-stoves {
        width: 164px;
        height: 164px;
    }
}

/* Centro operativo cinematografico: superficies amplias y escenas 3D reales */
.dashboard-page {
    background: #020604;
}

.dashboard-page .topbar {
    height: 76px;
    border-bottom: 1px solid rgba(255,255,255,.08);
    background: rgba(2, 8, 6, .88);
    box-shadow: 0 18px 60px rgba(0,0,0,.18);
    backdrop-filter: blur(22px);
}

.dashboard-page .hero {
    min-height: calc(100svh - 76px);
    background:
        radial-gradient(circle at 75% 42%, rgba(13,118,111,.16), transparent 32%),
        radial-gradient(circle at 17% 84%, rgba(134,202,46,.1), transparent 28%),
        linear-gradient(115deg, #07130f 0%, #02100c 54%, #010504 100%);
}

.dashboard-page .hero-copy h1 {
    max-width: 820px;
    font-size: clamp(64px, 6.2vw, 118px);
    font-weight: 850;
    letter-spacing: -.065em;
    line-height: .9;
}

.dashboard-page .hero-copy > p:not(.hero-company-line) {
    max-width: 580px;
    color: rgba(231,239,233,.7);
    font-size: 17px;
}

#proyectos.projects {
    padding: 126px 0 0;
    color: #f5f7f5;
    background:
        radial-gradient(circle at 50% 0%, rgba(35,91,70,.15), transparent 24%),
        #030706;
}

#proyectos .section-heading {
    width: min(100%, 1680px);
    margin: 0 auto;
    padding: 0 clamp(28px, 6vw, 112px) 76px;
}

#proyectos .section-heading .eyebrow {
    color: #8d9a91;
}

#proyectos .section-heading h2 {
    max-width: 920px;
    color: #f4f7f4;
    font-size: clamp(58px, 6.3vw, 112px);
    font-weight: 850;
    letter-spacing: -.068em;
    line-height: .88;
}

#proyectos .section-heading h2 em {
    color: #8bd137;
}

#proyectos .section-heading > p {
    max-width: 520px;
    color: #879188;
    font-size: 16px;
    line-height: 1.7;
}

#proyectos .project-card {
    position: relative;
    isolation: isolate;
    display: grid !important;
    grid-template-columns: minmax(390px, .39fr) minmax(0, .61fr) !important;
    width: 100%;
    min-height: min(82vh, 800px);
    margin: 0 !important;
    overflow: hidden;
    border: 0;
    border-top: 1px solid rgba(255,255,255,.09);
    border-radius: 0;
    background: #050a08;
    box-shadow: none;
}

#proyectos .project-card:last-of-type {
    border-bottom: 1px solid rgba(255,255,255,.09);
}

#proyectos .project-info {
    position: relative;
    z-index: 7;
    min-width: 0;
    padding: clamp(48px, 5.2vw, 96px);
    border-right: 1px solid rgba(255,255,255,.08);
    background:
        linear-gradient(140deg, rgba(255,255,255,.045), transparent 45%),
        rgba(3, 9, 7, .78);
}

#proyectos .project-meta {
    color: rgba(231,239,233,.54);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .14em;
}

#proyectos .project-status {
    color: rgba(231,239,233,.72);
}

#proyectos .project-kicker {
    font-size: 11px;
    letter-spacing: .13em;
}

#proyectos .project-info h3,
#proyectos .sigedo-project .project-info h3,
#proyectos .order-project .project-info h3,
#proyectos .yukeinsi-project .project-info h3 {
    margin: 22px 0 28px;
    color: #f5f7f5;
    font-size: clamp(58px, 5vw, 92px);
    font-weight: 850;
    letter-spacing: -.065em;
    line-height: .88;
}

#proyectos .project-info p {
    max-width: 460px;
    color: rgba(218,228,220,.64);
    font-size: 15px;
    line-height: 1.75;
}

#proyectos .project-link {
    padding-top: 22px;
    border-top-color: rgba(255,255,255,.12);
    color: #f2f5f2;
}

#proyectos .project-link > span {
    transition: transform .28s cubic-bezier(.22,1,.36,1), box-shadow .28s ease;
}

#proyectos .project-link:hover > span {
    transform: translate3d(4px,-4px,0) rotate(4deg);
    box-shadow: 0 16px 34px rgba(0,0,0,.26);
}

#proyectos .stove-stage,
#proyectos .expenses-ledger-stage,
#proyectos .sigedo-stage,
#proyectos .order-stage,
#proyectos .yukeinsi-stage {
    min-height: min(82vh, 800px);
    perspective: 1400px;
    perspective-origin: 50% 45%;
    border: 0;
}

#proyectos .stove-stage,
#proyectos .expenses-ledger-stage {
    background-color: #04100c;
}

#proyectos .sigedo-stage {
    background:
        radial-gradient(circle at 50% 46%, rgba(29,190,165,.18), transparent 23%),
        radial-gradient(circle at 77% 73%, rgba(135,198,63,.09), transparent 25%),
        linear-gradient(145deg, #0a211c, #020807 76%);
}

#proyectos .order-stage {
    background:
        radial-gradient(circle at 49% 45%, rgba(240,189,101,.17), transparent 24%),
        radial-gradient(circle at 76% 74%, rgba(0,168,150,.1), transparent 25%),
        linear-gradient(145deg, #21170b, #040806 76%);
}

#proyectos .yukeinsi-stage {
    background:
        radial-gradient(circle at 48% 45%, rgba(114,164,235,.19), transparent 25%),
        radial-gradient(circle at 77% 70%, rgba(0,168,150,.1), transparent 26%),
        linear-gradient(145deg, #0c2037, #03080d 76%);
}

#proyectos .sigedo-grid,
#proyectos .order-grid,
#proyectos .yukeinsi-grid,
#proyectos .ledger-grid {
    opacity: .2;
    mask-image: linear-gradient(to bottom, transparent 0%, #000 20%, #000 78%, transparent 100%);
}

.interactive-scene {
    position: absolute;
    z-index: 4;
    inset: 0;
    display: grid;
    place-items: center;
    transform-style: preserve-3d;
    transform-origin: center;
    cursor: grab;
    user-select: none;
    touch-action: none;
    will-change: transform;
    transition: transform .2s cubic-bezier(.22,1,.36,1), filter .25s ease;
}

.interactive-scene::before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 13%;
    width: 48%;
    height: 12%;
    border-radius: 50%;
    background: rgba(0,0,0,.48);
    filter: blur(28px);
    transform: translateX(-50%) translateZ(-60px);
    pointer-events: none;
}

.interactive-scene.is-dragging {
    z-index: 8;
    cursor: grabbing;
    filter: brightness(1.08);
    transition: none;
}

.interactive-scene.is-dragging .sigedo-mark,
.interactive-scene.is-dragging .order-sheet,
.interactive-scene.is-dragging .yukeinsi-library {
    box-shadow: 0 48px 90px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.1);
}

.sigedo-scene .sigedo-mark {
    transform: translateZ(52px) rotateY(-5deg) rotateX(2deg);
}

.sigedo-scene .sigedo-module {
    transform: translateZ(105px);
    box-shadow: 0 18px 38px rgba(0,0,0,.3);
}

.order-scene .order-sheet {
    transform: translateZ(55px) rotateY(-8deg) rotateX(3deg);
}

.order-scene .order-chip {
    transform: translateZ(110px);
    box-shadow: 0 18px 40px rgba(0,0,0,.3);
}

.yukeinsi-scene .yukeinsi-library {
    transform: translateZ(55px) rotateY(-8deg) rotateX(3deg);
}

.yukeinsi-scene .yukeinsi-doc {
    transform: translateZ(110px);
    box-shadow: 0 18px 40px rgba(0,0,0,.32);
}

#proyectos .interaction-hint {
    z-index: 10;
    right: 28px;
    bottom: 24px;
    padding: 10px 13px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 999px;
    color: rgba(236,242,237,.56);
    background: rgba(2,8,6,.55);
    backdrop-filter: blur(14px);
}

#proyectos .future-grid {
    margin: 0;
    padding: 70px clamp(28px, 6vw, 112px) 110px;
    background: #030706;
}

#proyectos .future-card {
    border-color: rgba(255,255,255,.1);
    background: #07100c;
    box-shadow: none;
}

#proyectos .future-card h3,
#proyectos .future-card p {
    color: #eaf0eb;
}

#proyectos .future-card p {
    opacity: .58;
}

@media (max-width: 980px) {
    #proyectos .project-card {
        grid-template-columns: 1fr !important;
        min-height: auto;
    }

    #proyectos .project-info {
        min-height: 540px;
        border-right: 0;
        border-bottom: 1px solid rgba(255,255,255,.08);
    }

    #proyectos .stove-stage,
    #proyectos .expenses-ledger-stage,
    #proyectos .sigedo-stage,
    #proyectos .order-stage,
    #proyectos .yukeinsi-stage {
        min-height: 640px;
    }
}

@media (max-width: 600px) {
    #proyectos.projects {
        padding-top: 90px;
    }

    #proyectos .section-heading {
        padding-bottom: 48px;
    }

    #proyectos .project-info {
        min-height: 470px;
        padding: 38px 24px;
    }

    #proyectos .project-info h3,
    #proyectos .sigedo-project .project-info h3,
    #proyectos .order-project .project-info h3,
    #proyectos .yukeinsi-project .project-info h3 {
        font-size: clamp(50px, 16vw, 72px);
    }

    #proyectos .stove-stage,
    #proyectos .expenses-ledger-stage,
    #proyectos .sigedo-stage,
    #proyectos .order-stage,
    #proyectos .yukeinsi-stage {
        min-height: 500px;
    }

    #proyectos .interaction-hint {
        right: 16px;
        bottom: 16px;
        font-size: 8px;
    }

    #proyectos .sigedo-mark {
        width: min(72%, 340px);
        height: 350px;
        min-height: 350px;
    }

    #proyectos .sigedo-brand-logo {
        width: min(94%, 320px);
    }
}

@media (max-width: 900px) {
    .dashboard-page .hero-visual {
        height: 500px;
        min-height: 500px;
    }

    .dashboard-page .planet-metalcof-track {
        left: 7%;
        top: 3%;
    }

    .dashboard-page .planet-stoves-track {
        right: 6%;
        bottom: 2%;
    }
}

@media (max-width: 560px) {
    .auth-page .access-brand-row {
        margin-bottom: 18px;
    }

    .dashboard-page .hero-visual {
        height: 420px;
        min-height: 420px;
    }

    .dashboard-page .hero-system-panel {
        min-width: 205px;
        padding: 12px 14px;
    }

    .dashboard-page .hero-system-panel > strong {
        font-size: 14px;
    }

    .dashboard-page .hero-system-panel > small {
        font-size: 7px;
    }

    .dashboard-page .planet-metalcof-track {
        left: -2%;
        width: 180px;
        height: 180px;
    }

    .dashboard-page .planet-stoves-track {
        right: -3%;
        width: 160px;
        height: 160px;
    }

    .dashboard-page .planet-metalcof {
        width: 155px;
        height: 155px;
    }

    .dashboard-page .planet-stoves {
        width: 138px;
        height: 138px;
    }

    .dashboard-page .planet-label {
        font-size: 7px;
    }
}

/* Precedencia final de la vista intranet */
.dashboard-page { background: #edf1ec; }
.dashboard-page .topbar {
    left: var(--intranet-sidebar-width);
    width: calc(100% - var(--intranet-sidebar-width));
    height: 74px;
    grid-template-columns: auto 1fr auto auto;
    border-bottom: 1px solid #dce4de;
    color: #101915;
    background: rgba(248,250,247,.94);
    box-shadow: 0 8px 25px rgba(10,25,19,.055);
}
.dashboard-page .hero { min-height: 660px; }
.dashboard-page .hero h1,
.dashboard-page .hero-copy h1 { color: #f5f8f5; }
.dashboard-page .hero-copy h1 { font-size: clamp(53px,5.5vw,90px); }
.dashboard-page .hero .hero-cta { color: #f2f7f3; }
#proyectos.projects { padding-top: 76px; }
#proyectos .project-card { min-height: min(72vh,690px); }
#proyectos .stove-stage,
#proyectos .expenses-ledger-stage,
#proyectos .sigedo-stage,
#proyectos .order-stage,
#proyectos .yukeinsi-stage { min-height: min(72vh,690px); }

@media (max-width: 900px) {
    .dashboard-page .topbar { left: 0; width: 100%; grid-template-columns: auto 1fr auto; }
}
@media (max-width: 640px) {
    .dashboard-page .topbar { height: 66px; }
    .dashboard-page .hero { min-height: 720px; }
    #proyectos .project-card { min-height: auto; }
    #proyectos .stove-stage,
    #proyectos .expenses-ledger-stage,
    #proyectos .sigedo-stage,
    #proyectos .order-stage,
    #proyectos .yukeinsi-stage { min-height: 500px; }
}

/* Vistas de intranet y noticias corporativas */
[data-workspace-view] { animation: workspaceViewIn .46s var(--ease) both; }
@keyframes workspaceViewIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}
.dashboard-page[data-current-view="inicio"] .hero { min-height: 590px; }
.dashboard-page[data-current-view="inicio"] .scroll-note { display: none; }

.company-news {
    position: relative;
    min-height: calc(100svh - 74px);
    padding: 88px clamp(32px,5vw,78px) 100px;
    overflow: hidden;
    color: #17211c;
    background:
        radial-gradient(circle at 8% 0%, rgba(0,168,150,.1), transparent 28%),
        radial-gradient(circle at 94% 30%, rgba(135,198,63,.1), transparent 25%),
        linear-gradient(180deg, #f5f7f3, #e7ece6);
}
.company-news::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .28;
    background-image: linear-gradient(#cfd8d1 1px,transparent 1px),linear-gradient(90deg,#cfd8d1 1px,transparent 1px);
    background-size: 72px 72px;
    mask-image: linear-gradient(to bottom,#000,transparent 65%);
    pointer-events: none;
}
.company-news-heading {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 40px;
    align-items: end;
    max-width: 1460px;
    margin: 0 auto 38px;
}
.company-news-heading h2 { margin: 12px 0 0; font-size: clamp(44px,5vw,76px); letter-spacing: -.065em; line-height: .95; }
.company-news-heading p { max-width: 520px; margin: 0; color: #647169; font-size: 15px; line-height: 1.75; }
.company-news-layout {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0,1.22fr) minmax(300px,.82fr) minmax(230px,.48fr);
    gap: 18px;
    max-width: 1460px;
    margin: 0 auto;
}
.featured-company-news,
.company-news-feed,
.company-agenda {
    border: 1px solid rgba(25,55,42,.12);
    border-radius: 25px;
    background: rgba(255,255,255,.82);
    box-shadow: 0 28px 70px rgba(14,35,25,.09);
    backdrop-filter: blur(15px);
}
.featured-company-news { display: grid; grid-template-rows: 260px 1fr; overflow: hidden; }
.featured-news-art {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    overflow: hidden;
    color: #f3f8f4;
    background:
        radial-gradient(circle at 68% 35%,rgba(0,168,150,.28),transparent 28%),
        radial-gradient(circle at 18% 80%,rgba(135,198,63,.14),transparent 26%),
        linear-gradient(135deg,#0b332b,#04100d 70%);
}
.featured-news-art::before { content: ""; position: absolute; inset: 0; opacity: .3; background-image: linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px); background-size: 46px 46px; }
.featured-news-art img { position: relative; z-index: 2; width: 82px; height: 82px; padding: 17px; border: 1px solid rgba(183,239,84,.25); border-radius: 24px; background: rgba(255,255,255,.06); box-shadow: 0 20px 50px rgba(0,0,0,.28); }
.featured-news-art strong { position: relative; z-index: 2; font-size: clamp(25px,2.6vw,42px); letter-spacing: .07em; line-height: .88; }
.featured-news-art strong i { color: #95d94d; font-size: .55em; font-style: normal; letter-spacing: .16em; }
.news-art-orbit { position: absolute; width: 390px; aspect-ratio: 1; border: 1px solid rgba(183,239,84,.18); border-radius: 50%; animation: brandOrbitTrack 24s linear infinite; }
.featured-news-copy { padding: 28px 30px 30px; }
.news-category { color: #0b756b; font-size: 8px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.featured-news-copy h3 { margin: 10px 0 12px; font-size: clamp(25px,2.1vw,34px); letter-spacing: -.045em; line-height: 1.08; }
.featured-news-copy p { margin: 0; color: #66736c; font-size: 12px; line-height: 1.7; }
.featured-news-copy button { display: inline-flex; align-items: center; gap: 18px; margin-top: 22px; padding: 12px 15px; border: 0; border-radius: 10px; color: #fff; background: #0c675e; cursor: pointer; font-size: 10px; font-weight: 850; }
.featured-news-copy button:hover { background: #084f48; transform: translateY(-2px); }
.company-news-feed { display: grid; align-content: start; overflow: hidden; }
.company-news-feed article { display: grid; grid-template-columns: 34px 1fr 34px; gap: 12px; align-items: start; padding: 24px 20px; border-bottom: 1px solid #e0e6e1; }
.company-news-feed article:last-child { border-bottom: 0; }
.news-index { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid #d5dfd7; border-radius: 9px; color: #718078; font-size: 8px; font-weight: 850; }
.company-news-feed h3 { margin: 7px 0; font-size: 15px; letter-spacing: -.025em; line-height: 1.3; }
.company-news-feed p { margin: 0; color: #758178; font-size: 10px; line-height: 1.55; }
.company-news-feed button { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid #d4ded6; border-radius: 10px; color: #0b675e; background: #f7faf7; cursor: pointer; }
.company-news-feed button:hover { color: #fff; background: #0b675e; transform: translate(2px,-2px); }
.company-agenda { align-self: stretch; padding: 24px; color: #e8f1eb; background: radial-gradient(circle at 80% 5%,rgba(135,198,63,.16),transparent 28%),linear-gradient(155deg,#123a31,#061712); }
.agenda-date { display: flex; align-items: center; gap: 10px; padding-bottom: 22px; margin-bottom: 24px; border-bottom: 1px solid rgba(255,255,255,.1); }
.agenda-date strong { color: #a7e65e; font-size: 45px; line-height: .8; }
.agenda-date span { color: #8fa298; font-size: 9px; font-weight: 850; line-height: 1.4; letter-spacing: .12em; }
.company-agenda .news-category { color: #9bcc84; }
.company-agenda h3 { margin: 10px 0 22px; font-size: 24px; letter-spacing: -.04em; }
.company-agenda ul { display: grid; gap: 15px; padding: 0; margin: 0; list-style: none; }
.company-agenda li { display: grid; grid-template-columns: 8px 1fr; gap: 10px; color: #a9bab1; font-size: 10px; line-height: 1.5; }
.company-agenda li i { width: 6px; height: 6px; margin-top: 4px; border-radius: 50%; background: #95d94d; box-shadow: 0 0 10px rgba(149,217,77,.5); }
.company-agenda > button { width: 100%; min-height: 42px; margin-top: 28px; border: 1px solid rgba(183,239,84,.24); border-radius: 10px; color: #dff2d1; background: rgba(183,239,84,.08); cursor: pointer; font-size: 9px; font-weight: 850; }
.company-agenda > button:hover { color: #112014; background: #a7e65e; }

#proyectos .project-view-switcher {
    position: sticky;
    z-index: 25;
    top: 74px;
    display: flex;
    gap: 8px;
    width: min(100%,1680px);
    margin: 0 auto;
    padding: 14px clamp(28px,6vw,112px);
    overflow-x: auto;
    border-top: 1px solid rgba(255,255,255,.07);
    border-bottom: 1px solid rgba(255,255,255,.07);
    background: rgba(3,9,7,.88);
    backdrop-filter: blur(18px);
}
.project-view-switcher::-webkit-scrollbar { height: 3px; }
.project-view-switcher button { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 9px; min-height: 40px; padding: 0 13px; border: 1px solid rgba(255,255,255,.1); border-radius: 10px; color: #87958d; background: rgba(255,255,255,.03); cursor: pointer; font-size: 9px; font-weight: 800; }
.project-view-switcher button:hover,
.project-view-switcher button.active { color: #f4f8f5; border-color: rgba(183,239,84,.25); background: rgba(183,239,84,.09); }
.project-view-switcher .project-dot { flex: 0 0 auto; }
.sidebar-projects > a.active { background: rgba(255,255,255,.065); box-shadow: inset 2px 0 #95d94d; }
#proyectos [data-project-card][hidden] { display: none !important; }
#proyectos [data-project-card]:not([hidden]) { animation: projectCardReveal .55s var(--ease) both; }
@keyframes projectCardReveal {
    from { opacity: 0; transform: translateY(12px) scale(.992); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}
.dashboard-page[data-current-view="proyectos"] #proyectos.projects { min-height: calc(100svh - 74px); padding-bottom: 70px; }
.dashboard-page[data-current-view="aprendizaje"] .learning-hub,
.dashboard-page[data-current-view="propuestas"] .proposals,
.dashboard-page[data-current-view="usuarios"] #usuarios { min-height: calc(100svh - 74px); }

@media (max-width: 1180px) {
    .company-news-layout { grid-template-columns: 1.1fr .9fr; }
    .company-agenda { grid-column: 1 / -1; display: grid; grid-template-columns: auto 1fr; gap: 14px 24px; align-items: start; }
    .company-agenda .agenda-date { grid-row: 1 / 4; margin: 0; padding: 0 24px 0 0; border: 0; border-right: 1px solid rgba(255,255,255,.1); }
    .company-agenda h3 { margin: 0; }
    .company-agenda ul { grid-column: 2; grid-template-columns: repeat(3,1fr); }
    .company-agenda > button { grid-column: 2; width: fit-content; min-width: 150px; margin: 0; padding: 0 16px; }
}
@media (max-width: 760px) {
    .company-news { padding: 66px 18px 76px; }
    .company-news-heading { grid-template-columns: 1fr; gap: 16px; }
    .company-news-layout { grid-template-columns: 1fr; }
    .featured-company-news { grid-template-rows: 210px 1fr; }
    .company-news-feed article { padding: 20px 16px; }
    .company-agenda { display: block; }
    .company-agenda .agenda-date { margin-bottom: 24px; padding: 0 0 20px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.1); }
    .company-agenda ul { grid-template-columns: 1fr; }
    .company-agenda > button { width: 100%; margin-top: 24px; }
    #proyectos .project-view-switcher { top: 66px; padding: 11px 18px; }
}

/* Barra lateral de alta legibilidad y acceso al SGI */
.dashboard-page { --intranet-sidebar-width: 326px; }
.intranet-sidebar { padding: 26px 22px 20px; }
.intranet-brand {
    gap: 16px;
    min-height: 88px;
    padding: 6px 8px 24px;
}
.intranet-brand-icon {
    flex: 0 0 auto;
    width: 58px;
    height: 58px;
    border-radius: 17px;
    box-shadow: inset 0 0 22px rgba(183,239,84,.08), 0 12px 28px rgba(0,0,0,.18);
}
.intranet-brand-icon img { width: 40px; height: 40px; }
.intranet-brand strong { font-size: 20px; letter-spacing: .13em; }
.intranet-brand small { margin-top: 5px; font-size: 10px; letter-spacing: .24em; }
.sidebar-label { margin: 26px 11px 12px; font-size: 11px; }
.intranet-navigation { gap: 7px; }
.intranet-navigation > a {
    grid-template-columns: 25px 1fr auto;
    gap: 13px;
    min-height: 56px;
    padding: 0 14px;
    border-radius: 14px;
    font-size: 14px;
}
.intranet-navigation > a svg { width: 22px; height: 22px; }
.intranet-navigation > a i { min-width: 27px; height: 27px; font-size: 11px; }
.intranet-navigation > a b { padding: 5px 8px; font-size: 8px; }
.sidebar-projects { gap: 7px; }
.sidebar-projects > a {
    grid-template-columns: 10px 1fr;
    gap: 4px 12px;
    min-height: 59px;
    padding: 12px 14px;
    border-radius: 13px;
}
.sidebar-projects strong { font-size: 13px; line-height: 1.25; }
.sidebar-projects small { font-size: 9px; line-height: 1.2; }
.project-dot { width: 8px; height: 8px; }
.sidebar-account { grid-template-columns: 44px 1fr 34px; gap: 12px; padding: 19px 8px 3px; }
.sidebar-account .avatar { width: 44px; height: 44px; }
.sidebar-account strong { font-size: 13px; }
.sidebar-account small { font-size: 9px; }
.sidebar-account > a { width: 34px; height: 34px; }
.sidebar-account svg { width: 19px; }

#proyectos [data-project-card] { scroll-margin-top: 132px; }
#proyectos [data-project-card].is-project-arrival {
    animation: projectCardArrival 1.05s var(--ease) both !important;
}
@keyframes projectCardArrival {
    0% { filter: brightness(.78); box-shadow: 0 0 0 1px rgba(183,239,84,0), 0 0 0 rgba(149,217,77,0); }
    35% { filter: brightness(1.1); box-shadow: 0 0 0 2px rgba(183,239,84,.5), 0 0 55px rgba(149,217,77,.19); }
    100% { filter: brightness(1); box-shadow: 0 0 0 1px rgba(183,239,84,0), 0 0 0 rgba(149,217,77,0); }
}

.sgi-hub {
    position: relative;
    min-height: calc(100svh - 74px);
    padding: clamp(44px,6vw,92px) clamp(28px,5vw,78px) 70px;
    overflow: hidden;
    color: #eaf2ed;
    background:
        radial-gradient(circle at 78% 15%, rgba(0,168,150,.22), transparent 32%),
        radial-gradient(circle at 12% 88%, rgba(149,217,77,.1), transparent 30%),
        #040d0a;
}
.sgi-hub::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .23;
    background-image: linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
    background-size: 62px 62px;
    mask-image: linear-gradient(90deg, transparent, #000 30%, #000);
    pointer-events: none;
}
.sgi-hub-shell {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(360px,.82fr) minmax(480px,1.18fr);
    min-height: min(68vh,720px);
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 30px;
    background: rgba(4,15,11,.82);
    box-shadow: 0 38px 100px rgba(0,0,0,.32);
}
.sgi-access-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(38px,5vw,80px);
    border-right: 1px solid rgba(255,255,255,.09);
    background: linear-gradient(145deg,rgba(255,255,255,.035),transparent 60%);
}
.sgi-kicker { display: inline-flex; align-items: center; gap: 10px; color: #91a49a; font-size: 10px; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.sgi-kicker i { width: 7px; height: 7px; border-radius: 50%; background: #a1e653; box-shadow: 0 0 15px rgba(161,230,83,.75); }
.sgi-access-copy h2 { margin: 26px 0 24px; color: #f7faf8; font-size: clamp(58px,6vw,100px); line-height: .82; letter-spacing: -.075em; }
.sgi-access-copy h2 em { color: #95d94d; font-style: normal; }
.sgi-access-copy > p { max-width: 610px; margin: 0; color: #9baca3; font-size: 15px; line-height: 1.75; }
.sgi-access-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.sgi-access-actions a,
.sgi-access-actions button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 51px;
    padding: 0 19px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 12px;
    color: #dce7e0;
    background: rgba(255,255,255,.045);
    cursor: pointer;
    font: inherit;
    font-size: 11px;
    font-weight: 850;
}
.sgi-access-actions a { gap: 20px; color: #102016; border-color: #a4e259; background: #a4e259; box-shadow: 0 16px 35px rgba(149,217,77,.14); }
.sgi-access-actions a span { font-size: 18px; }
.sgi-access-actions a:hover { background: #b8ef73; transform: translateY(-2px); }
.sgi-access-actions button:hover { color: #fff; border-color: rgba(255,255,255,.28); }
.sgi-capabilities { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 42px; }
.sgi-capabilities span { display: flex; align-items: center; gap: 10px; padding: 12px; border-top: 1px solid rgba(255,255,255,.09); color: #91a49a; font-size: 10px; font-weight: 750; }
.sgi-capabilities i { color: #85c842; font-size: 8px; font-style: normal; }
.sgi-visual { position: relative; display: grid; place-items: center; min-height: 580px; overflow: hidden; perspective: 1100px; }
.sgi-orbit { position: absolute; border: 1px solid rgba(149,217,77,.16); border-radius: 50%; transform: rotate(-10deg); }
.sgi-orbit-one { width: 78%; aspect-ratio: 1.7; animation: brandOrbitTrack 24s linear infinite; }
.sgi-orbit-two { width: 108%; aspect-ratio: 2.1; animation: brandOrbitTrack 34s linear infinite reverse; }
.sgi-dashboard-card {
    position: relative;
    z-index: 3;
    width: min(70%,620px);
    padding: 25px;
    border: 1px solid rgba(98,216,201,.25);
    border-radius: 25px;
    background: linear-gradient(145deg,rgba(15,43,36,.96),rgba(4,15,12,.96));
    box-shadow: 0 40px 90px rgba(0,0,0,.42);
    transform: rotateX(5deg) rotateY(-8deg);
    animation: sgiCardFloat 7s ease-in-out infinite;
}
@keyframes sgiCardFloat { 0%,100% { transform: translateY(0) rotateX(5deg) rotateY(-8deg); } 50% { transform: translateY(-14px) rotateX(2deg) rotateY(-3deg); } }
.sgi-dashboard-card header { display: grid; grid-template-columns: 52px 1fr 10px; gap: 14px; align-items: center; padding-bottom: 22px; border-bottom: 1px solid rgba(255,255,255,.1); }
.sgi-dashboard-card header .intranet-brand-icon { width: 52px; height: 52px; }
.sgi-dashboard-card header .intranet-brand-icon img { width: 34px; height: 34px; }
.sgi-dashboard-card header strong { display: block; font-size: 14px; letter-spacing: .12em; }
.sgi-dashboard-card header small { display: block; margin-top: 5px; color: #718a7e; font-size: 8px; letter-spacing: .08em; }
.sgi-dashboard-card header > i { width: 8px; height: 8px; border-radius: 50%; background: #9cdd51; box-shadow: 0 0 13px #9cdd51; }
.sgi-dashboard-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; margin: 18px 0; }
.sgi-dashboard-grid article { padding: 19px; border: 1px solid rgba(255,255,255,.08); border-radius: 15px; background: rgba(255,255,255,.035); }
.sgi-dashboard-grid span,.sgi-dashboard-grid small { display: block; color: #70877c; font-size: 8px; font-weight: 800; text-transform: uppercase; }
.sgi-dashboard-grid strong { display: block; margin: 11px 0 8px; color: #e9f3ed; font-size: 21px; }
.sgi-dashboard-lines { display: flex; align-items: end; gap: 8px; height: 100px; padding: 18px 14px 0; border-radius: 15px; background: rgba(255,255,255,.025); }
.sgi-dashboard-lines i { flex: 1; height: 35%; border-radius: 4px 4px 0 0; background: linear-gradient(#5cd2c4,#0d786b); }
.sgi-dashboard-lines i:nth-child(2) { height: 68%; }.sgi-dashboard-lines i:nth-child(3) { height: 48%; }.sgi-dashboard-lines i:nth-child(4) { height: 84%; }.sgi-dashboard-lines i:nth-child(5) { height: 61%; }
.sgi-floating-label { position: absolute; z-index: 4; padding: 10px 13px; border: 1px solid rgba(255,255,255,.12); color: #a3b4ab; background: rgba(3,13,10,.78); font-size: 8px; font-weight: 850; letter-spacing: .16em; }
.sgi-floating-one { top: 24%; left: 8%; }.sgi-floating-two { right: 8%; bottom: 22%; }
.sgi-security-note {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 38px 1fr auto;
    gap: 15px;
    align-items: center;
    max-width: 1200px;
    margin: 20px auto 0;
    padding: 17px 20px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 16px;
    background: rgba(255,255,255,.04);
}
.sgi-security-note > span { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 11px; color: #a8e563; background: rgba(168,229,99,.1); font-weight: 900; }
.sgi-security-note strong { display: block; font-size: 12px; }.sgi-security-note p { margin: 4px 0 0; color: #82958b; font-size: 10px; line-height: 1.5; }
.sgi-security-note > a { padding: 11px 14px; border-radius: 9px; color: #dff0e5; background: rgba(255,255,255,.06); font-size: 10px; font-weight: 850; }
.sgi-security-note > a:hover { color: #102016; background: #a4e259; }
.dashboard-page[data-current-view="sgi"] .sgi-hub { min-height: calc(100svh - 74px); }

@media (max-width: 1240px) and (min-width: 901px) {
    .dashboard-page { --intranet-sidebar-width: 300px; }
    .intranet-sidebar { padding-inline: 18px; }
    .intranet-brand strong { font-size: 18px; }
    .sgi-hub-shell { grid-template-columns: minmax(330px,.9fr) minmax(390px,1.1fr); }
}
@media (max-width: 1000px) {
    .sgi-hub-shell { grid-template-columns: 1fr; }
    .sgi-access-copy { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.09); }
    .sgi-visual { min-height: 500px; }
}
@media (max-width: 900px) {
    .dashboard-page { --intranet-sidebar-width: min(326px,88vw); }
    .intranet-sidebar { padding: 24px 20px 18px; }
}
@media (max-width: 640px) {
    .intranet-brand { min-height: 78px; }
    .intranet-brand-icon { width: 52px; height: 52px; }
    .intranet-brand-icon img { width: 35px; height: 35px; }
    .intranet-brand strong { font-size: 18px; }
    .sgi-hub { padding: 28px 14px 48px; }
    .sgi-hub-shell { border-radius: 21px; }
    .sgi-access-copy { padding: 32px 22px; }
    .sgi-access-copy h2 { font-size: 58px; }
    .sgi-access-copy > p { font-size: 13px; }
    .sgi-access-actions { display: grid; }
    .sgi-capabilities { grid-template-columns: 1fr; }
    .sgi-visual { min-height: 390px; }
    .sgi-dashboard-card { width: 86%; padding: 17px; }
    .sgi-dashboard-grid { grid-template-columns: 1fr; }
    .sgi-dashboard-grid article:last-child { display: none; }
    .sgi-security-note { grid-template-columns: 38px 1fr; }
    .sgi-security-note > a { grid-column: 1 / -1; text-align: center; }
    #proyectos [data-project-card] { scroll-margin-top: 116px; }
}

/* Inicio de intranet: portada, buscador, noticias y accesos rápidos */
.legacy-home-section { display: none !important; }
.intranet-home {
    position: relative;
    min-height: calc(100svh - 74px);
    padding: 34px clamp(28px, 4vw, 66px) 84px;
    overflow: hidden;
    color: #17211c;
    background:
        radial-gradient(circle at 0 0, rgba(0,168,150,.1), transparent 24%),
        radial-gradient(circle at 100% 32%, rgba(149,217,77,.1), transparent 25%),
        linear-gradient(180deg, #edf1ec, #f7f9f6 52%, #e8eee9);
}
.intranet-home::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .22;
    background-image: linear-gradient(#cfd8d1 1px, transparent 1px), linear-gradient(90deg, #cfd8d1 1px, transparent 1px);
    background-size: 70px 70px;
    mask-image: linear-gradient(to bottom, #000, transparent 72%);
    pointer-events: none;
}
.home-corporate-banner,
.home-search,
.home-search-feedback,
.home-story-ribbon,
.home-content-grid {
    position: relative;
    z-index: 2;
    width: min(100%, 1500px);
    margin-inline: auto;
}
.home-corporate-banner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(350px, .62fr);
    min-height: 230px;
    overflow: hidden;
    border: 1px solid rgba(183,239,84,.16);
    border-radius: 28px;
    color: #f4f8f5;
    background:
        radial-gradient(circle at 77% 28%, rgba(0,168,150,.26), transparent 29%),
        radial-gradient(circle at 12% 115%, rgba(149,217,77,.14), transparent 35%),
        linear-gradient(122deg, #0b342b, #061a14 58%, #030b08);
    box-shadow: 0 30px 70px rgba(5,25,17,.2);
}
.home-corporate-banner::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .2;
    background-image: radial-gradient(circle, rgba(255,255,255,.3) 1.2px, transparent 1.4px);
    background-size: 18px 18px;
    mask-image: linear-gradient(90deg, transparent 35%, #000 72%, transparent);
    pointer-events: none;
}
.home-welcome {
    position: relative;
    z-index: 2;
    display: grid;
    align-content: center;
    padding: 42px clamp(30px, 4vw, 64px);
}
.home-overline {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 24px;
    color: #a7b9ae;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.home-overline i {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #95d94d;
    box-shadow: 0 0 14px rgba(149,217,77,.8);
}
.home-title-row { display: flex; align-items: center; gap: 22px; }
.home-title-logo {
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    width: 70px;
    height: 70px;
    border: 1px solid rgba(183,239,84,.2);
    border-radius: 21px;
    background: rgba(255,255,255,.055);
    box-shadow: inset 0 0 26px rgba(183,239,84,.06), 0 20px 40px rgba(0,0,0,.2);
}
.home-title-logo img { width: 46px; height: 46px; object-fit: contain; }
.home-title-row h1 {
    margin: 0;
    color: #f5f8f5;
    font-size: clamp(31px, 3vw, 52px);
    font-weight: 800;
    letter-spacing: -.055em;
    line-height: 1;
}
.home-title-row p { max-width: 600px; margin: 12px 0 0; color: #9eb0a6; font-size: 14px; line-height: 1.6; }
.home-brand-orbits { position: relative; min-height: 230px; overflow: hidden; perspective: 1100px; }
.home-orbit-ring {
    position: absolute;
    left: 50%;
    top: 50%;
    border: 1px solid rgba(183,239,84,.15);
    border-radius: 50%;
    transform: translate(-50%, -50%) rotate(-9deg);
}
.home-orbit-ring-one { width: 390px; height: 138px; }
.home-orbit-ring-two { width: 270px; height: 95px; transform: translate(-50%, -50%) rotate(18deg); }
.home-planet-path { position: absolute; inset: 0; pointer-events: none; }
.home-planet-path-metalcof { animation: homePlanetMetalcof 8s ease-in-out infinite; }
.home-planet-path-stoves { animation: homePlanetStoves 9.4s ease-in-out infinite; }
.home-planet-path-atenea { animation: homePlanetAtenea 8.8s ease-in-out infinite; }
.home-orbit-planet {
    pointer-events: auto;
    width: 112px;
    height: 112px;
    background:
        radial-gradient(circle at 30% 22%, rgba(255,255,255,.15), transparent 17%),
        radial-gradient(circle at 56% 58%, #29332d, #101712 58%, #040806 84%);
    box-shadow: inset -18px -20px 38px rgba(0,0,0,.72), 0 25px 50px rgba(0,0,0,.38), 0 0 38px rgba(241,153,0,.11);
}
.home-orbit-metalcof { left: 31%; top: 37%; }
.home-orbit-stoves {
    left: 72%;
    top: 66%;
    width: 88px;
    height: 88px;
    background:
        radial-gradient(circle at 30% 22%, rgba(255,255,255,.16), transparent 17%),
        radial-gradient(circle at 56% 58%, #17413e, #091b18 58%, #030806 84%);
    box-shadow: inset -15px -17px 32px rgba(0,0,0,.72), 0 23px 42px rgba(0,0,0,.35), 0 0 35px rgba(0,168,150,.16);
}
.home-orbit-atenea {
    left: 56%;
    top: 24%;
    width: 96px;
    height: 96px;
    padding: 0;
    appearance: none;
    color: inherit;
    overflow: hidden;
    border-color: rgba(255, 205, 48, .3);
    background:
        radial-gradient(circle at 29% 21%, rgba(255,255,255,.22), transparent 18%),
        radial-gradient(circle at 55% 57%, #474a76, #25263e 58%, #0b0c16 84%);
    box-shadow: inset -17px -19px 35px rgba(0,0,0,.72), 0 25px 46px rgba(0,0,0,.4), 0 0 42px rgba(247,204,0,.22);
}
.home-orbit-atenea:hover,
.home-orbit-atenea:focus-visible {
    border-color: rgba(255, 218, 74, .58);
    box-shadow: inset -17px -19px 35px rgba(0,0,0,.72), 0 29px 54px rgba(0,0,0,.46), 0 0 58px rgba(247,204,0,.4);
}
.intranet-home .home-orbit-planet img { max-width: 69%; max-height: 48%; object-fit: contain; }
.intranet-home .home-orbit-stoves img { max-width: 56%; max-height: 54%; }
.home-atenea-mark {
    position: relative;
    z-index: 2;
    display: block;
    width: 72%;
    height: 72%;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 50%;
    background: #303034;
    box-shadow: 0 0 22px rgba(247,204,0,.16);
}
.intranet-home .home-orbit-atenea .home-atenea-mark img {
    position: absolute;
    left: -6%;
    top: 0;
    width: 112%;
    height: auto;
    max-width: none;
    max-height: none;
    object-fit: initial;
    transform: none;
    animation: none;
}
.home-brand-orbits.has-planet-focus .brand-planet:not(.is-hovered) { opacity: .48; filter: saturate(.55); }
@keyframes homePlanetMetalcof { 0%,100% { transform: translate3d(0,0,0); } 50% { transform: translate3d(18px,12px,0); } }
@keyframes homePlanetStoves { 0%,100% { transform: translate3d(0,0,0); } 50% { transform: translate3d(-20px,-13px,0); } }
@keyframes homePlanetAtenea { 0%,100% { transform: translate3d(0,0,0); } 50% { transform: translate3d(-12px,16px,0); } }

.home-search {
    display: grid;
    grid-template-columns: 26px 1fr auto;
    gap: 14px;
    align-items: center;
    margin-top: 22px;
    padding: 10px 10px 10px 22px;
    border: 1px solid rgba(25,55,42,.14);
    border-radius: 17px;
    background: rgba(255,255,255,.92);
    box-shadow: 0 18px 50px rgba(14,35,25,.09);
    backdrop-filter: blur(14px);
}
.home-search .sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
.home-search > svg { width: 23px; fill: none; stroke: #678078; stroke-width: 1.8; }
.home-search input {
    width: 100%;
    min-height: 48px;
    border: 0;
    outline: 0;
    color: #16231c;
    background: transparent;
    font: inherit;
    font-size: 15px;
}
.home-search input::placeholder { color: #84918a; }
.home-search button {
    min-height: 48px;
    padding: 0 21px;
    border: 0;
    border-radius: 11px;
    color: #f5f9f6;
    background: #0b675e;
    cursor: pointer;
    font: inherit;
    font-size: 11px;
    font-weight: 800;
}
.home-search button span { margin-left: 13px; color: #b7ef54; }
.home-search button:hover { background: #084f48; transform: translateY(-1px); }
.home-search-feedback {
    margin-top: 8px;
    padding: 11px 15px;
    border: 1px solid #d6dfd8;
    border-radius: 11px;
    color: #5f6f66;
    background: rgba(255,255,255,.82);
    font-size: 11px;
}

.home-story-ribbon {
    display: grid;
    grid-template-columns: 1.18fr .82fr 1.08fr .92fr;
    margin-top: 22px;
    overflow: hidden;
    border: 1px solid rgba(25,55,42,.13);
    border-radius: 24px;
    background: #0b6259;
    box-shadow: 0 24px 60px rgba(12,42,31,.13);
}
.home-story {
    position: relative;
    min-width: 0;
    min-height: 250px;
    padding: 0;
    overflow: hidden;
    border: 0;
    border-right: 1px solid rgba(255,255,255,.12);
    color: #eff8f3;
    background: #0d746a;
    cursor: pointer;
    text-align: left;
}
.home-story:last-child { border-right: 0; }
.home-story:hover { z-index: 2; filter: brightness(1.06); }
.home-story-visual { display: flex; align-items: end; justify-content: center; background: radial-gradient(circle at 50% 38%, #17483e, #071914 76%); }
.home-story-visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(transparent 46%, rgba(1,11,8,.9)); }
.home-story-visual img { position: absolute; width: 91%; height: 78%; inset: 2% 4.5% auto; object-fit: contain; transition: transform .55s var(--ease); }
.home-story-visual:hover img { transform: scale(1.035) translateY(-4px); }
.home-story-visual > span { position: relative; z-index: 2; display: grid; gap: 6px; width: 100%; padding: 20px 23px; }
.home-story small,
.home-feature-card span,
.home-updates header span,
.home-quick-access header span { font-size: 9px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.home-story-visual small { color: #a9df66; }
.home-story-visual strong { font-size: 17px; line-height: 1.25; }
.home-story-sigedo { background: radial-gradient(circle at 50% 42%, #195b55, #08231e 72%); }
.home-story-sigedo img { top: 13%; width: 48%; height: 52%; left: 26%; object-fit: contain; }
.home-story-copy { display: grid; align-content: center; padding: 30px; background: #11877b; }
.home-story-copy:nth-child(4) { background: #0b6e64; }
.home-story-copy .home-story-number { position: absolute; right: 19px; top: 17px; color: rgba(255,255,255,.3); font-size: 30px; font-weight: 800; }
.home-story-copy small { color: #d5f6ae; }
.home-story-copy strong { display: block; max-width: 230px; margin-top: 13px; font-size: clamp(21px, 1.8vw, 29px); letter-spacing: -.04em; line-height: 1.06; }
.home-story-copy p { max-width: 240px; margin: 15px 0 0; color: #c0dcd5; font-size: 11px; line-height: 1.55; }
.home-story-copy > i { margin-top: 19px; color: #b7ef54; font-size: 20px; font-style: normal; }

.home-content-grid {
    display: grid;
    grid-template-columns: minmax(300px, 1.02fr) minmax(360px, 1.08fr) minmax(260px, .72fr);
    gap: 20px;
    margin-top: 26px;
}
.home-feature-card,
.home-updates,
.home-quick-access {
    overflow: hidden;
    border: 1px solid rgba(25,55,42,.12);
    border-radius: 24px;
    background: rgba(255,255,255,.88);
    box-shadow: 0 24px 60px rgba(14,35,25,.08);
    backdrop-filter: blur(15px);
}
.home-feature-card { position: relative; min-height: 410px; color: #eff7f2; background: #08251e; }
.home-feature-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(2,17,12,.94) 0, rgba(2,17,12,.66) 52%, transparent 83%); }
.home-feature-card > img { position: absolute; right: -4%; top: 0; width: 74%; height: 100%; object-fit: cover; object-position: 55% 20%; }
.home-feature-card > div { position: relative; z-index: 2; display: grid; align-content: end; width: 66%; min-height: 410px; padding: 34px; }
.home-feature-card span { color: #a9df66; }
.home-feature-card h2 { margin: 13px 0 14px; color: #f4f8f5; font-size: clamp(28px, 2.6vw, 42px); letter-spacing: -.055em; line-height: 1; }
.home-feature-card p { margin: 0; color: #9fb2a8; font-size: 11px; line-height: 1.65; }
.home-feature-card button { width: fit-content; margin-top: 23px; padding: 12px 15px; border: 1px solid rgba(183,239,84,.23); border-radius: 10px; color: #e5f4d5; background: rgba(183,239,84,.08); cursor: pointer; font-size: 10px; font-weight: 800; }
.home-feature-card button:hover { color: #132016; background: #a7e65e; }

.home-updates { padding: 24px 26px; }
.home-updates > header,
.home-quick-access > header { display: flex; justify-content: space-between; gap: 20px; align-items: end; padding-bottom: 19px; border-bottom: 1px solid #e1e7e2; }
.home-updates header span,
.home-quick-access header span { color: #0b756b; }
.home-updates h2,
.home-quick-access h2 { margin: 8px 0 0; font-size: 24px; letter-spacing: -.04em; }
.home-updates time { color: #7c8981; font-size: 9px; font-weight: 750; }
.home-updates > button {
    display: grid;
    grid-template-columns: 40px 1fr 30px;
    gap: 13px;
    align-items: center;
    width: 100%;
    padding: 18px 0;
    border: 0;
    border-bottom: 1px solid #e4e9e5;
    color: #18231d;
    background: transparent;
    cursor: pointer;
    text-align: left;
}
.home-updates > button:last-child { border-bottom: 0; }
.home-updates > button:hover { transform: translateX(4px); }
.home-update-icon { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid #d7e1da; border-radius: 11px; color: #0b756b; background: #f4f8f5; font-size: 9px; font-weight: 850; }
.home-updates button small { color: #0b756b; font-size: 8px; font-weight: 850; letter-spacing: .1em; }
.home-updates button strong { display: block; margin-top: 5px; font-size: 13px; line-height: 1.35; }
.home-updates button p { margin: 4px 0 0; color: #7a867e; font-size: 9px; line-height: 1.45; }
.home-updates button > i { display: grid; place-items: center; width: 29px; height: 29px; border-radius: 9px; color: #0b756b; background: #edf4ef; font-style: normal; }

.home-quick-access { padding: 24px; }
.home-quick-access > header { display: block; }
.home-quick-access > div { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 11px; margin-top: 19px; }
.home-quick-access button {
    display: grid;
    place-items: center;
    min-height: 104px;
    padding: 13px 8px;
    border: 1px solid #dfe6e1;
    border-radius: 15px;
    color: #576a60;
    background: #f6f8f5;
    cursor: pointer;
    font: inherit;
    font-size: 9px;
    font-weight: 800;
}
.home-quick-access button svg { width: 27px; height: 27px; margin-bottom: 10px; fill: none; stroke: #0b756b; stroke-width: 1.65; }
.home-quick-access button:hover,
.home-quick-access button.active { color: #eff8f3; border-color: #0b756b; background: #0b756b; transform: translateY(-3px); box-shadow: 0 13px 25px rgba(11,117,107,.18); }
.home-quick-access button:hover svg,
.home-quick-access button.active svg { stroke: #b7ef54; }

@media (max-width: 1280px) {
    .home-corporate-banner { grid-template-columns: minmax(0,1fr) 330px; }
    .home-story-ribbon { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .home-story:nth-child(2) { border-right: 0; }
    .home-story:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.12); }
    .home-content-grid { grid-template-columns: 1fr 1fr; }
    .home-quick-access { grid-column: 1 / -1; }
    .home-quick-access > div { grid-template-columns: repeat(6, minmax(0,1fr)); }
}
@media (max-width: 900px) {
    .intranet-home { min-height: calc(100svh - 66px); padding: 24px 20px 70px; }
    .home-corporate-banner { grid-template-columns: minmax(0,1fr) 290px; }
    .home-welcome { padding: 34px 28px; }
    .home-title-logo { width: 60px; height: 60px; }
    .home-title-logo img { width: 39px; height: 39px; }
    .home-content-grid { grid-template-columns: 1fr; }
    .home-quick-access { grid-column: auto; }
    .home-quick-access > div { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 700px) {
    .intranet-home { padding-inline: 14px; }
    .home-corporate-banner { grid-template-columns: 1fr; min-height: 410px; border-radius: 22px; }
    .home-welcome { align-content: start; padding: 28px 22px 8px; }
    .home-overline { margin-bottom: 18px; font-size: 8px; }
    .home-title-row { align-items: flex-start; gap: 14px; }
    .home-title-logo { width: 52px; height: 52px; border-radius: 15px; }
    .home-title-logo img { width: 34px; height: 34px; }
    .home-title-row h1 { font-size: 29px; }
    .home-title-row p { font-size: 11px; }
    .home-brand-orbits { min-height: 205px; }
    .home-orbit-ring-one { width: 300px; height: 105px; }
    .home-orbit-ring-two { width: 210px; height: 75px; }
    .home-orbit-planet { width: 88px; height: 88px; }
    .home-orbit-stoves { width: 72px; height: 72px; }
    .home-orbit-atenea { left: 55%; top: 24%; width: 74px; height: 74px; }
    .home-search { grid-template-columns: 22px 1fr; padding: 9px 14px; border-radius: 14px; }
    .home-search input { min-height: 44px; font-size: 13px; }
    .home-search button { grid-column: 1 / -1; width: 100%; }
    .home-story-ribbon { grid-template-columns: 1fr; border-radius: 19px; }
    .home-story { min-height: 225px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.12); }
    .home-story:last-child { border-bottom: 0; }
    .home-story-copy { min-height: 210px; }
    .home-feature-card { min-height: 450px; }
    .home-feature-card > img { right: -24%; width: 120%; opacity: .82; }
    .home-feature-card > div { width: 88%; min-height: 450px; padding: 27px; }
    .home-updates { padding: 21px 18px; }
    .home-updates > button { grid-template-columns: 36px 1fr 27px; gap: 10px; }
    .home-update-icon { width: 34px; height: 34px; }
    .home-quick-access { padding: 21px 18px; }
    .home-quick-access > div { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (prefers-reduced-motion: reduce) {
    .home-planet-path-metalcof,
    .home-planet-path-stoves,
    .home-planet-path-atenea { animation: none; }
}

/* Vulkano: portal creativo que conserva el permiso histórico de Yukeinsi. */
#proyectos .vulkano-project {
    background: #170d09;
}
#proyectos .vulkano-project .project-info {
    background:
        radial-gradient(circle at 8% 18%, rgba(246,105,24,.15), transparent 27%),
        linear-gradient(145deg, rgba(48,24,13,.98), rgba(14,8,6,.98));
}
#proyectos .vulkano-project .project-kicker,
#proyectos .vulkano-project .project-info h3 em { color: #ff7a25; }
#proyectos .vulkano-project .project-link > span { background: #ff7a25; }
.vulkano-stage {
    position: relative;
    min-height: min(72vh,690px);
    overflow: hidden;
    isolation: isolate;
    background:
        radial-gradient(circle at 50% 62%, rgba(255,86,15,.32), transparent 17%),
        radial-gradient(circle at 50% 92%, rgba(255,149,44,.18), transparent 29%),
        linear-gradient(155deg, #20140e 0%, #090707 76%);
}
.vulkano-stars {
    position: absolute;
    inset: 0;
    opacity: .32;
    background-image: radial-gradient(circle, rgba(255,177,109,.65) 1px, transparent 1.5px);
    background-size: 39px 39px;
    mask-image: linear-gradient(#000, transparent 82%);
}
.vulkano-mountain {
    position: absolute;
    left: 50%;
    bottom: -6%;
    width: min(76%,680px);
    aspect-ratio: 1.55;
    translate: -50% 0;
    clip-path: polygon(0 100%, 22% 65%, 37% 49%, 44% 34%, 57% 34%, 65% 50%, 78% 64%, 100% 100%);
    background:
        linear-gradient(116deg, transparent 0 43%, rgba(255,92,16,.9) 44% 47%, transparent 48%),
        linear-gradient(245deg, transparent 0 48%, rgba(255,155,37,.52) 49% 51%, transparent 52%),
        linear-gradient(160deg, #493126 0 38%, #1d1512 39% 67%, #0e0b0a 68%);
    filter: drop-shadow(0 -16px 45px rgba(255,72,7,.16));
}
.vulkano-mountain::after {
    content: "";
    position: absolute;
    left: 42%;
    top: 31%;
    width: 16%;
    height: 10%;
    border-radius: 50%;
    background: #ff631c;
    box-shadow: 0 0 32px #ff5414, 0 0 78px rgba(255,72,10,.72);
}
.vulkano-smoke { position: absolute; z-index: 2; left: 50%; top: 17%; width: 220px; height: 190px; translate: -50% 0; }
.vulkano-smoke i {
    position: absolute;
    border-radius: 50%;
    background: radial-gradient(circle at 38% 35%, rgba(125,96,78,.66), rgba(38,27,22,.18) 64%, transparent 72%);
    filter: blur(3px);
    animation: vulkanoSmoke 5.4s ease-in-out infinite alternate;
}
.vulkano-smoke i:nth-child(1) { left: 62px; bottom: 0; width: 94px; height: 94px; }
.vulkano-smoke i:nth-child(2) { left: 18px; top: 46px; width: 125px; height: 125px; animation-delay: -1.7s; }
.vulkano-smoke i:nth-child(3) { right: 3px; top: 0; width: 145px; height: 145px; animation-delay: -3s; }
@keyframes vulkanoSmoke { to { transform: translate3d(12px,-18px,0) scale(1.08); opacity: .72; } }
.vulkano-preview {
    position: absolute;
    z-index: 5;
    right: clamp(24px,5vw,72px);
    bottom: clamp(30px,5vw,70px);
    left: clamp(24px,5vw,72px);
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 12px;
}
.vulkano-preview > span {
    display: grid;
    min-height: 112px;
    align-content: end;
    padding: 18px;
    border: 1px solid rgba(255,138,55,.28);
    border-radius: 16px;
    color: #fff7ee;
    background: linear-gradient(155deg, rgba(56,35,26,.92), rgba(17,11,9,.88));
    box-shadow: 0 18px 45px rgba(0,0,0,.28), inset 0 1px rgba(255,255,255,.06);
    backdrop-filter: blur(12px);
}
.vulkano-preview b { color: #ff7a25; font-size: clamp(16px,1.55vw,25px); letter-spacing: -.04em; line-height: 1.05; }
.vulkano-preview small { margin-top: 9px; color: #cbb7aa; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
@media (max-width: 900px) {
    .vulkano-stage { min-height: 560px; }
}
@media (max-width: 620px) {
    .vulkano-preview { grid-template-columns: 1fr; }
    .vulkano-preview > span { min-height: 82px; }
    .vulkano-mountain { width: 120%; }
}
@media (prefers-reduced-motion: reduce) {
    .vulkano-smoke i { animation: none; }
}


/* ===== agora-theme.css ===== */

/* Ágora: identidad oficial aplicada al acceso y a la intranet */
:root {
    --ink:#242643;
    --ink-soft:#303034;
    --panel:#2c2e4e;
    --line:rgba(196,218,250,.18);
    --muted:#9da2c1;
    --paper:#fff;
    --green:#8769fa;
    --green-dark:#6250d1;
    --teal:#8769fa;
    --orange:#c4dafa;
}
::selection { color:#fff; background:#6250d1; }

/* Login */
.auth-page,
.auth-page .auth-shell { background:#f2f3fb; }
.auth-page .auth-brand {
    background:
        radial-gradient(circle at 82% 18%,rgba(135,105,250,.34),transparent 28%),
        radial-gradient(circle at 16% 92%,rgba(98,80,209,.2),transparent 32%),
        linear-gradient(142deg,#303034 0%,#242643 52%,#1a1b31 100%);
}
.auth-page .auth-brand::before {
    opacity:.22;
    background-image:linear-gradient(rgba(196,218,250,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(196,218,250,.12) 1px,transparent 1px);
    background-size:60px 60px;
}
.auth-page .auth-brand::after {
    border-color:rgba(135,105,250,.22);
    box-shadow:0 0 0 72px rgba(135,105,250,.035),0 0 0 144px rgba(196,218,250,.018);
}
.auth-page .brand-mark-duo {
    gap:18px;
    width:min(390px,47vw);
    height:76px;
    padding:10px 17px;
    border-color:rgba(196,218,250,.2);
    background:rgba(36,38,67,.72);
    box-shadow:0 18px 50px rgba(11,12,28,.3),inset 0 1px 0 rgba(255,255,255,.08);
}
.auth-page .brand-duo-agora { width:238px; height:54px; object-fit:contain; }
.auth-page .brand-mark-duo > span { background:rgba(196,218,250,.24); }
.auth-page .brand-duo-stoves { width:48px; height:45px; object-fit:contain; }
.auth-page .auth-copy .eyebrow { color:#c4dafa; }
.auth-page .auth-copy h1 { color:#fff; }
.auth-page .auth-copy p { color:rgba(232,235,255,.72); }
.auth-page .auth-company-strip span { color:rgba(238,240,255,.75); }
.auth-page .auth-company-strip span + span::before { background:#8769fa; }
.auth-page .auth-brand-footer { color:rgba(226,229,252,.48); }
.auth-page .auth-brand-footer span { color:#8769fa; }
.auth-page .auth-panel {
    background:
        radial-gradient(circle at 50% 42%,rgba(255,255,255,.95),transparent 34%),
        radial-gradient(circle at 20% 12%,rgba(196,218,250,.44),transparent 31%),
        linear-gradient(145deg,#eef2ff,#f7f6fd 58%,#eceafa);
}
.auth-page .auth-card {
    border-color:rgba(98,80,209,.15);
    background:rgba(255,255,255,.93);
    box-shadow:0 30px 80px rgba(36,38,67,.17);
}
.auth-page .access-brand-symbol {
    border-color:rgba(135,105,250,.3);
    background:linear-gradient(145deg,#303034,#242643);
    box-shadow:0 16px 34px rgba(36,38,67,.22),inset 0 1px 0 rgba(255,255,255,.12);
}
.auth-page .access-brand-symbol img { width:38px; height:38px; }
.auth-page .access-brand-row strong { color:#242643; font-size:15px; }
.auth-page .access-brand-row small { color:#716f91; }
.auth-page .status-pill { border-color:rgba(98,80,209,.2); color:#5e5b7b; background:#f7f6ff; }
.auth-page .status-pill i { background:#8769fa; box-shadow:0 0 0 4px rgba(135,105,250,.13),0 0 14px rgba(135,105,250,.45); }
.auth-page .auth-card h2 { color:#242643; }
.auth-page .form-intro { color:#76758a; }
.auth-page .auth-card label > span:first-child { color:#4d4d62; }
.auth-page .auth-card input { border-color:#d9daea; color:#303034; background:#fbfbff; }
.auth-page .auth-card input:focus { border-color:#8769fa; box-shadow:0 0 0 4px rgba(135,105,250,.12); }
.auth-page .password-toggle { color:#6e6b8e; }
.auth-page .primary-button {
    color:#fff;
    background:linear-gradient(135deg,#8769fa,#6250d1);
    box-shadow:0 18px 38px rgba(98,80,209,.25);
}
.auth-page .primary-button:hover { background:linear-gradient(135deg,#9278ff,#5945c4); box-shadow:0 22px 48px rgba(98,80,209,.34); }
.auth-page .primary-button span { color:#242643; background:#c4dafa; }
.auth-page .security-note { color:#8b8aa0; }
.auth-page .mobile-brand { color:#242643; }
.auth-page .mobile-brand span { color:#6250d1; }

/* Navegación de la intranet */
.dashboard-page { color:#242643; background:#f0f1f8; }
.intranet-sidebar {
    color:#f5f4ff;
    border-right-color:rgba(196,218,250,.13);
    background:radial-gradient(circle at 12% 4%,rgba(135,105,250,.25),transparent 29%),linear-gradient(180deg,#242643 0%,#20213a 55%,#181925 100%);
    box-shadow:22px 0 60px rgba(36,38,67,.16);
}
.intranet-sidebar::-webkit-scrollbar-thumb { background:rgba(135,105,250,.35); }
.intranet-brand { border-bottom-color:rgba(196,218,250,.13); }
.intranet-brand-icon {
    border-color:rgba(135,105,250,.34);
    background:rgba(255,255,255,.08);
    box-shadow:inset 0 0 24px rgba(135,105,250,.1),0 14px 30px rgba(0,0,0,.2);
}
.intranet-brand-icon img { width:42px; height:42px; }
.intranet-brand strong { color:#fff; }
.intranet-brand small { color:#aeb2d2; letter-spacing:.17em; }
.sidebar-label { color:#777c9d; }
.intranet-navigation > a { color:#aeb2c7; }
.intranet-navigation > a:hover,
.intranet-navigation > a.active { color:#fff; border-color:rgba(135,105,250,.25); background:linear-gradient(90deg,rgba(135,105,250,.24),rgba(135,105,250,.055)); }
.intranet-navigation > a.active svg { color:#a892ff; }
.intranet-navigation > a .nav-primary-icon {
    display:grid;
    place-items:center;
    width:30px;
    height:30px;
    margin-left:-3px;
    border-radius:10px;
    filter:drop-shadow(0 7px 12px rgba(7,8,25,.28));
    transition:transform .2s ease,filter .2s ease;
}
.intranet-navigation > a .nav-primary-icon svg {
    width:30px;
    height:30px;
    overflow:visible;
}
.nav-primary-icon .nav-icon-badge {
    fill:url(#nav-home-gradient);
    stroke:rgba(255,255,255,.34);
    stroke-width:.8;
}
.nav-primary-icon-users .nav-icon-badge { fill:url(#nav-users-gradient); }
.nav-primary-icon-birthday .nav-icon-badge { fill:url(#nav-birthday-gradient); }
.nav-primary-icon .nav-icon-line,
.nav-primary-icon .nav-icon-soft,
.nav-primary-icon .nav-icon-spark,
.nav-primary-icon .nav-icon-flame {
    fill:none;
    stroke:#fff;
    stroke-width:1.65;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.nav-primary-icon .nav-icon-soft { opacity:.7; stroke-width:1.4; }
.nav-primary-icon .nav-icon-spark,
.nav-primary-icon .nav-icon-flame { stroke:#fff4b0; stroke-width:1.45; }
.intranet-navigation > a:hover .nav-primary-icon,
.intranet-navigation > a.active .nav-primary-icon {
    transform:translateY(-1px) scale(1.06);
    filter:drop-shadow(0 0 7px rgba(168,146,255,.44)) drop-shadow(0 8px 14px rgba(7,8,25,.35));
}
.intranet-navigation > a:hover .nav-primary-icon-users { filter:drop-shadow(0 0 7px rgba(115,220,255,.45)) drop-shadow(0 8px 14px rgba(7,8,25,.35)); }
.intranet-navigation > a:hover .nav-primary-icon-birthday { filter:drop-shadow(0 0 8px rgba(255,90,140,.5)) drop-shadow(0 8px 14px rgba(7,8,25,.35)); }
.intranet-navigation > a i { color:#ded6ff; background:rgba(135,105,250,.18); }
.intranet-navigation > a b { color:#242643; background:#c4dafa; }
.sidebar-projects > a:hover { background:rgba(135,105,250,.09); }
.sidebar-projects > a.active { background:rgba(135,105,250,.14); box-shadow:inset 3px 0 #8769fa; }
.sidebar-projects strong { color:#e7e7f4; }
.sidebar-projects small { color:#858aa8; }
.project-dot,
.project-dot-orange,
.project-dot-teal,
.project-dot-yellow,
.project-dot-blue { color:#8769fa; background:#8769fa; }
.sidebar-account { border-top-color:rgba(196,218,250,.13); }
.sidebar-account strong { color:#fff; }
.sidebar-account small,
.sidebar-account > a { color:#8f94b2; }
.sidebar-account .avatar { color:#fff; border-color:#8769fa; background:rgba(135,105,250,.18); }
.dashboard-page .topbar { border-bottom-color:#dedfed; color:#242643; background:rgba(249,249,254,.94); box-shadow:0 8px 28px rgba(36,38,67,.07); }
.dashboard-page .topbar nav a { color:#74758a; }
.dashboard-page .topbar nav a:hover,
.dashboard-page .topbar nav a.active { color:#6250d1; }
.dashboard-page .topbar nav a.active::after { background:#8769fa; }
.dashboard-page .topbar .availability { color:#6d6e83; }
.dashboard-page .topbar .availability i { background:#8769fa; box-shadow:0 0 11px rgba(135,105,250,.75); }
.dashboard-page .topbar .user-label,
.topbar-context strong { color:#303034; }
.topbar-context span { color:#85869b; }
.dashboard-page .topbar .avatar { color:#6250d1; border-color:#d1c9fa; background:#eeeaff; }
.notification-center { position:relative; display:flex; align-items:center; }
.notification-button {
    position:relative;
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    padding:0;
    border:1px solid #d7d8ea;
    border-radius:12px;
    color:#6250d1;
    background:#f7f6ff;
    cursor:pointer;
    transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.notification-button:hover,
.notification-button[aria-expanded="true"] { transform:translateY(-1px); border-color:#a99bea; box-shadow:0 10px 25px rgba(98,80,209,.16); }
.notification-button svg { width:19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.notification-button > span {
    position:absolute;
    top:-7px;
    right:-7px;
    display:grid;
    place-items:center;
    min-width:20px;
    height:20px;
    padding:0 5px;
    border:2px solid #edf4ff;
    border-radius:999px;
    color:#fff;
    background:#e0455f;
    font-size:9px;
    font-weight:900;
}
.notification-panel {
    position:absolute;
    z-index:120;
    top:calc(100% + 15px);
    right:-20px;
    width:min(390px,calc(100vw - 34px));
    overflow:hidden;
    border:1px solid #d9d9ea;
    border-radius:18px;
    color:#303034;
    background:#fff;
    box-shadow:0 28px 75px rgba(36,38,67,.24);
}
.notification-panel > header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 17px; border-bottom:1px solid #ececf4; background:linear-gradient(135deg,#f3f0ff,#f8fbff); }
.notification-panel > header div { display:grid; gap:2px; }
.notification-panel > header span { color:#7c75a7; font-size:9px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.notification-panel > header strong { font-size:16px; }
.notification-panel > header button { padding:7px 9px; border:1px solid #d7d2f2; border-radius:8px; color:#6250d1; background:#fff; cursor:pointer; font-size:10px; font-weight:800; }
.notification-panel > header button:disabled { color:#aaa7bd; background:#f6f5fa; cursor:default; opacity:.75; }
.notification-list { display:grid; max-height:390px; overflow:auto; }
.notification-group { display:grid; }
.notification-group + .notification-group { border-top:7px solid #f5f4fa; }
.notification-group > header { position:sticky; z-index:1; top:0; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:9px 16px; border-bottom:1px solid #ececf4; background:#fafafe; }
.notification-group > header h3 { margin:0; color:#5b5c70; font-size:10px; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.notification-group > header span { display:grid; place-items:center; min-width:21px; height:21px; padding:0 6px; border-radius:999px; color:#77778a; background:#ececf3; font-size:9px; font-weight:900; }
.notification-group.is-recent > header h3 { color:#6250d1; }
.notification-group.is-recent > header span { color:#fff; background:#7259e5; }
.notification-group-empty { margin:0; padding:18px 16px; color:#9697a8; background:#fff; text-align:center; font-size:10px; }
.notification-item { display:grid; grid-template-columns:9px 1fr; gap:11px; padding:14px 16px; border-bottom:1px solid #efeff5; color:#303034; text-decoration:none; }
.notification-item:hover { background:#f8f7ff; }
.notification-item > i { width:8px; height:8px; margin-top:5px; border-radius:50%; background:#c8c8d4; }
.notification-item.is-unread > i { background:#7259e5; box-shadow:0 0 0 5px rgba(114,89,229,.11); }
.notification-item > span { display:grid; gap:4px; min-width:0; }
.notification-item strong { color:#26263b; font-size:12px; }
.notification-item small { color:#65677d; font-size:11px; line-height:1.45; }
.notification-item em { color:#9697a8; font-size:9px; font-style:normal; font-weight:700; }
.notification-empty { margin:0; padding:28px 18px; color:#85869b; text-align:center; font-size:11px; }
.notification-empty.is-error { color:#b63f49; }
.notification-panel > footer { padding:10px 15px; color:#8b8c9d; background:#fafafe; font-size:9px; line-height:1.4; }
.sidebar-toggle { color:#6250d1; border-color:#ddd9f1; background:#fff; }

/* Inicio */
.intranet-home {
    background:radial-gradient(circle at 8% 5%,rgba(135,105,250,.11),transparent 28%),radial-gradient(circle at 100% 32%,rgba(196,218,250,.35),transparent 27%),linear-gradient(180deg,#eff1fb,#f8f8fd 52%,#eeeff7);
}
.intranet-home::before { background-image:linear-gradient(rgba(98,80,209,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(98,80,209,.1) 1px,transparent 1px); }
.home-corporate-banner {
    border-color:rgba(135,105,250,.28);
    background:radial-gradient(circle at 78% 24%,rgba(135,105,250,.42),transparent 30%),radial-gradient(circle at 8% 110%,rgba(196,218,250,.12),transparent 36%),linear-gradient(122deg,#303034,#242643 58%,#191a2e);
    box-shadow:0 30px 75px rgba(36,38,67,.24);
}
.home-corporate-banner::before { background-image:radial-gradient(circle,rgba(196,218,250,.38) 1.2px,transparent 1.4px); }
.home-overline { color:#c4dafa; }
.home-overline i { background:#8769fa; box-shadow:0 0 15px rgba(135,105,250,.85); }
.home-title-logo { border-color:rgba(196,218,250,.22); background:rgba(255,255,255,.08); box-shadow:inset 0 0 28px rgba(135,105,250,.12),0 20px 40px rgba(0,0,0,.22); }
.home-title-logo img { width:50px; height:50px; }
.home-title-row p { color:#b7b9d0; }
.home-orbit-ring { border-color:rgba(196,218,250,.24); }
.home-orbit-planet { background:radial-gradient(circle at 32% 24%,rgba(255,255,255,.18),transparent 18%),radial-gradient(circle at 56% 58%,#3a3c61,#242643 60%,#111221 86%); box-shadow:inset -18px -20px 38px rgba(0,0,0,.62),0 25px 50px rgba(0,0,0,.38),0 0 40px rgba(135,105,250,.2); }
.home-orbit-stoves { background:radial-gradient(circle at 30% 22%,rgba(255,255,255,.18),transparent 17%),radial-gradient(circle at 56% 58%,#454873,#242643 60%,#111221 86%); box-shadow:inset -15px -17px 32px rgba(0,0,0,.65),0 23px 42px rgba(0,0,0,.35),0 0 36px rgba(196,218,250,.2); }
.home-orbit-atenea {
    border-color:rgba(255,218,74,.3);
    background:radial-gradient(circle at 30% 22%,rgba(255,255,255,.22),transparent 18%),radial-gradient(circle at 56% 58%,#4b4e7b,#242643 60%,#10111f 86%);
    box-shadow:inset -17px -19px 35px rgba(0,0,0,.65),0 25px 46px rgba(0,0,0,.4),0 0 44px rgba(247,204,0,.28);
}
.home-orbit-atenea:hover,
.home-orbit-atenea:focus-visible { border-color:rgba(255,218,74,.58); box-shadow:inset -17px -19px 35px rgba(0,0,0,.65),0 29px 54px rgba(0,0,0,.46),0 0 60px rgba(247,204,0,.46); }
.intranet-home .home-orbit-metalcof img { max-width:60%; max-height:62%; }
.auth-page .auth-logo-planet-metalcof img.planet-agora-logo,
.intranet-home .home-orbit-metalcof img.planet-agora-logo,
.planet-metalcof img.planet-agora-logo {
    width:82%;
    max-width:82%;
    height:auto;
    max-height:52%;
    object-fit:contain;
    filter:grayscale(1) brightness(0) invert(1) drop-shadow(0 10px 16px rgba(0,0,0,.42));
}
.home-search { border-color:rgba(98,80,209,.17); box-shadow:0 18px 50px rgba(36,38,67,.1); }
.home-search > svg { stroke:#6f6c92; }
.home-search input { color:#303034; }
.home-search input::placeholder { color:#8a89a0; }
.home-search button { background:linear-gradient(135deg,#8769fa,#6250d1); }
.home-search button:hover { background:linear-gradient(135deg,#9278ff,#5945c4); }
.home-search button span { color:#c4dafa; }
.home-search-feedback { color:#68677d; border-color:#dddaef; }
.home-story-ribbon { border-color:rgba(98,80,209,.2); background:#242643; box-shadow:0 24px 60px rgba(36,38,67,.16); }
.home-story { background:#6250d1; }
.home-story-visual { background:radial-gradient(circle at 50% 38%,#3b3d63,#1c1d33 76%); }
.home-story-sigedo { background:radial-gradient(circle at 50% 42%,#484a78,#242643 73%); }
.home-story-copy { background:#6250d1; }
.home-story-copy:nth-child(4) { background:#303034; }
.home-story-visual small,
.home-story-copy small,
.home-story-copy > i { color:#c4dafa; }
.home-story-copy p { color:#e0def3; }
.home-feature-card,
.home-updates,
.home-quick-access { border-color:rgba(98,80,209,.14); box-shadow:0 24px 60px rgba(36,38,67,.09); }
.home-feature-card { background:#242643; }
.home-feature-card::after { background:linear-gradient(90deg,rgba(28,29,51,.98) 0,rgba(36,38,67,.78) 54%,transparent 86%); }
.home-feature-card-braid::after { background:linear-gradient(90deg,rgba(28,29,51,.99) 0,rgba(36,38,67,.94) 38%,rgba(36,38,67,.58) 53%,rgba(36,38,67,.1) 69%,transparent 84%); }
.home-feature-card-braid > img.home-feature-assistant {
    inset:18px -10px 18px auto;
    width:96%;
    height:calc(100% - 36px);
    object-fit:contain;
    object-position:right center;
}
.home-feature-card-braid > div { width:54%; }
.home-feature-card span { color:#a995ff; }
.home-feature-card p { color:#b9bad0; }
.home-feature-card button { color:#f0edff; border-color:rgba(135,105,250,.38); background:rgba(135,105,250,.16); }
.home-feature-card button:hover { color:#fff; background:#6250d1; }

@media (max-width:700px) {
    .home-feature-card-braid > img.home-feature-assistant {
        inset:auto -4px 18px auto;
        width:104%;
        height:76%;
        opacity:.88;
        object-position:right bottom;
    }
    .home-feature-card-braid::after { background:linear-gradient(180deg,rgba(28,29,51,.98) 0,rgba(36,38,67,.88) 50%,rgba(36,38,67,.28) 100%); }
    .home-feature-card-braid > div { align-content:start; width:100%; }
}
.home-updates header span,
.home-quick-access header span,
.home-updates button small { color:#6250d1; }
.home-updates > header,
.home-quick-access > header,
.home-updates > button { border-color:#e4e2f0; }
.home-update-icon { color:#6250d1; border-color:#ded9f1; background:#f6f4ff; }
.home-updates button > i { color:#6250d1; background:#f0edff; }
.home-quick-access button { color:#626178; border-color:#e1dfed; background:#f8f8fc; }
.home-quick-access button svg { stroke:#6250d1; }
.home-quick-access button:hover,
.home-quick-access button.active { color:#fff; border-color:#6250d1; background:#6250d1; box-shadow:0 13px 25px rgba(98,80,209,.24); }
.home-quick-access button:hover svg,
.home-quick-access button.active svg { stroke:#c4dafa; }

.dashboard-page footer { border-top-color:rgba(196,218,250,.14); background:#242643; }
.dashboard-page footer a:hover { color:#a995ff; }
.portal-wordmark { color:#fff; }
.portal-wordmark small { color:#a6a9c6; }

@media (max-width:700px) {
    .auth-page .brand-mark-duo { width:min(330px,88vw); }
    .auth-page .brand-duo-agora { width:205px; }
}

/* Logotipo Ágora completo en blanco y combinación Negro Sombra + Azul Nube */
.agora-logo-white { filter:grayscale(1) brightness(0) invert(1); }
.auth-page .brand-duo-agora { width:252px; max-width:68%; }
.auth-page .access-brand-row-agora {
    display:flex;
    width:100%;
    min-height:76px;
    margin-bottom:25px;
    padding:12px 20px;
    border:1px solid rgba(196,218,250,.18);
    border-radius:17px;
    background:linear-gradient(135deg,#303034,#242643);
    box-shadow:0 18px 38px rgba(36,38,67,.2),inset 0 1px 0 rgba(255,255,255,.08);
}
.auth-page .access-agora-logo { width:210px; height:51px; object-fit:contain; object-position:left center; }
.dashboard-page { background:#c4dafa; }
.dashboard-page {
    --green:#8769fa;
    --green-dark:#6250d1;
    --teal:#6250d1;
    --paper:#f7f9ff;
    --ink:#242643;
}
.dashboard-page .intranet-main { background:#c4dafa; }
.dashboard-page .topbar { background:rgba(236,244,255,.94); }
.intranet-brand {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    gap:7px;
}
.intranet-agora-logo { width:206px; max-width:90%; height:59px; object-fit:contain; object-position:left center; }
.intranet-brand > small { padding-left:4px; color:#aeb2d2; font-size:9px; font-weight:800; letter-spacing:.24em; }
.intranet-home {
    background:
        radial-gradient(circle at 9% 5%,rgba(135,105,250,.16),transparent 28%),
        radial-gradient(circle at 100% 28%,rgba(255,255,255,.72),transparent 30%),
        linear-gradient(180deg,#c4dafa 0%,#e4edfc 50%,#f7f9ff 100%);
}
.home-title-logo { width:176px; height:72px; padding:11px 17px; border-radius:19px; }
.home-title-logo img { width:144px; height:50px; object-fit:contain; }
.footer-agora-logo { width:174px; height:50px; object-fit:contain; object-position:left center; }
.home-story-atenea { color:#303034; background:linear-gradient(135deg,#f19900,#f7cc00); }
.home-story-atenea small,
.home-story-atenea > i { color:#303034; }
.home-story-atenea p { color:rgba(48,48,52,.74); }

/* Carrusel editorial de inicio */
.home-occasion-carousel {
    position:relative;
    z-index:2;
    width:min(100%,1500px);
    min-height:390px;
    margin:22px auto 0;
    overflow:hidden;
    border:1px solid rgba(135,105,250,.24);
    border-radius:28px;
    color:#fff;
    background:#242643;
    box-shadow:0 28px 70px rgba(36,38,67,.2);
    isolation:isolate;
}
.home-occasion-carousel::before {
    content:"";
    position:absolute;
    z-index:4;
    inset:0;
    border-radius:inherit;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.035);
    pointer-events:none;
}
.occasion-carousel-topline {
    position:absolute;
    z-index:7;
    top:25px;
    left:clamp(28px,4vw,62px);
    right:28px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    pointer-events:none;
}
.occasion-carousel-topline > span {
    display:flex;
    align-items:center;
    gap:10px;
    color:rgba(255,255,255,.7);
    font-size:9px;
    font-weight:850;
    letter-spacing:.15em;
    text-transform:uppercase;
}
.occasion-carousel-topline > span i {
    width:7px;
    height:7px;
    border-radius:50%;
    background:#a995ff;
    box-shadow:0 0 14px rgba(169,149,255,.9);
}
.occasion-carousel-topline strong {
    color:rgba(255,255,255,.48);
    font-size:11px;
    letter-spacing:.12em;
}
.occasion-carousel-viewport { width:100%; overflow:hidden; }
.occasion-carousel-track {
    display:flex;
    width:100%;
    will-change:transform;
    transition:transform .72s cubic-bezier(.22,1,.36,1);
}
.occasion-slide {
    position:relative;
    display:grid;
    flex:0 0 100%;
    grid-template-columns:minmax(0,1.18fr) minmax(310px,.82fr);
    min-width:0;
    min-height:390px;
    padding:65px 100px 48px clamp(28px,4vw,62px);
    overflow:hidden;
}
.occasion-slide::before {
    content:"";
    position:absolute;
    inset:0;
    opacity:.28;
    background-image:radial-gradient(circle,rgba(255,255,255,.32) 1px,transparent 1.2px);
    background-size:19px 19px;
    mask-image:linear-gradient(90deg,transparent 20%,#000 72%,transparent);
    pointer-events:none;
}
.occasion-slide-copy {
    position:relative;
    z-index:3;
    display:grid;
    align-content:center;
    justify-items:start;
}
.occasion-kicker {
    margin-bottom:14px;
    color:#c4dafa;
    font-size:9px;
    font-weight:900;
    letter-spacing:.16em;
}
.occasion-slide-copy h2 {
    max-width:740px;
    margin:0;
    color:#fff;
    font-size:clamp(34px,3.3vw,54px);
    font-weight:800;
    letter-spacing:-.055em;
    line-height:.98;
}
.occasion-slide-copy h2 em { color:#a995ff; font-style:normal; }
.occasion-slide-copy p {
    max-width:650px;
    margin:18px 0 22px;
    color:rgba(239,240,252,.73);
    font-size:13px;
    line-height:1.65;
}
.occasion-slide-copy button,
.occasion-share-actions a {
    min-height:42px;
    padding:0 16px;
    border:1px solid rgba(255,255,255,.2);
    border-radius:11px;
    color:#fff;
    background:rgba(255,255,255,.08);
    backdrop-filter:blur(12px);
    cursor:pointer;
    font:inherit;
    font-size:11px;
    font-weight:800;
    text-decoration:none;
    transition:transform .25s ease,background .25s ease,border-color .25s ease;
}
.occasion-slide-copy button span,
.occasion-share-actions a span { margin-left:12px; color:#c4dafa; }
.occasion-slide-copy button:hover,
.occasion-share-actions a:hover { transform:translateY(-2px); border-color:rgba(255,255,255,.42); background:rgba(255,255,255,.14); }
.occasion-art { position:relative; z-index:2; min-height:195px; }
.occasion-orbit {
    position:absolute;
    left:50%;
    top:50%;
    border:1px solid rgba(255,255,255,.18);
    border-radius:50%;
    transform:translate(-50%,-50%) rotate(-12deg);
}
.occasion-orbit.orbit-a { width:390px; height:135px; }
.occasion-orbit.orbit-b { width:270px; height:92px; transform:translate(-50%,-50%) rotate(18deg); }
.occasion-date-card {
    position:absolute;
    left:50%;
    top:50%;
    display:grid;
    place-items:center;
    width:178px;
    height:190px;
    border:1px solid rgba(255,255,255,.25);
    border-radius:26px;
    background:linear-gradient(145deg,rgba(255,255,255,.2),rgba(255,255,255,.055));
    box-shadow:0 34px 60px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.18);
    backdrop-filter:blur(14px);
    transform:translate(-50%,-50%) rotate(3deg);
}
.occasion-date-card small { align-self:end; font-size:11px; font-weight:900; letter-spacing:.18em; }
.occasion-date-card strong { align-self:center; font-size:86px; letter-spacing:-.08em; line-height:.72; }
.occasion-date-card span { align-self:start; color:#c4dafa; font-size:11px; font-weight:800; letter-spacing:.12em; }
.occasion-spark { position:absolute; width:8px; height:8px; border-radius:50%; background:#a995ff; box-shadow:0 0 18px #a995ff; animation:occasionSpark 3.4s ease-in-out infinite; }
.occasion-spark.spark-a { left:12%; top:25%; }
.occasion-spark.spark-b { right:7%; top:33%; animation-delay:-1.2s; }
.occasion-spark.spark-c { right:20%; bottom:14%; animation-delay:-2.1s; }
@keyframes occasionSpark { 0%,100% { transform:scale(.7); opacity:.45; } 50% { transform:scale(1.35); opacity:1; } }

.occasion-slide-today { background:radial-gradient(circle at 83% 28%,rgba(135,105,250,.55),transparent 30%),linear-gradient(122deg,#20223d,#30315b 58%,#191a2e); }
.occasion-slide-accountant { background:radial-gradient(circle at 82% 30%,rgba(77,151,255,.38),transparent 30%),linear-gradient(122deg,#162744,#263f70 60%,#11192b); }
.occasion-slide-accountant .occasion-slide-copy h2 em { color:#9fcbff; }
.occasion-slide-accountant .occasion-kicker,.occasion-slide-accountant .occasion-slide-copy button span { color:#9fcbff; }
.occasion-metric-card {
    position:absolute;
    border:1px solid rgba(255,255,255,.2);
    background:linear-gradient(145deg,rgba(255,255,255,.2),rgba(255,255,255,.06));
    box-shadow:0 28px 55px rgba(0,0,0,.25);
    backdrop-filter:blur(14px);
}
.metric-primary { left:40%; top:46%; display:grid; width:205px; min-height:145px; padding:24px; border-radius:24px; transform:translate(-50%,-50%) rotate(-4deg); }
.metric-primary small { font-size:9px; font-weight:900; letter-spacing:.16em; }
.metric-primary strong { font-size:48px; letter-spacing:-.06em; }
.metric-primary span { color:#c8ddfa; font-size:10px; }
.metric-secondary { left:65%; top:61%; display:flex; align-items:end; gap:8px; width:180px; height:105px; padding:20px; border-radius:20px; transform:translate(-50%,-50%) rotate(5deg); }
.metric-secondary i { flex:1; height:35%; border-radius:5px 5px 2px 2px; background:#83baff; }
.metric-secondary i:nth-child(2) { height:62%; }.metric-secondary i:nth-child(3) { height:48%; }.metric-secondary i:nth-child(4) { height:82%; }.metric-secondary i:nth-child(5) { height:70%; }

.occasion-slide-earth { background:radial-gradient(circle at 81% 30%,rgba(61,211,163,.42),transparent 32%),linear-gradient(122deg,#0c393a,#12645c 58%,#082b2a); }
.occasion-slide-earth .occasion-slide-copy h2 em { color:#8ff0c2; }
.occasion-slide-earth .occasion-kicker,.occasion-slide-earth .occasion-slide-copy button span { color:#8ff0c2; }
.occasion-globe {
    position:absolute;
    left:50%;
    top:50%;
    width:190px;
    height:190px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.3);
    border-radius:50%;
    background:radial-gradient(circle at 32% 25%,#69e2bd,#1aa593 40%,#075259 72%,#032f34);
    box-shadow:inset -28px -32px 50px rgba(0,0,0,.35),0 34px 65px rgba(0,0,0,.3),0 0 50px rgba(74,236,184,.18);
    transform:translate(-50%,-50%);
}
.occasion-globe::before,.occasion-globe::after,.occasion-globe i { content:""; position:absolute; border-radius:48% 52% 46% 54%; background:#b9ef9d; opacity:.9; }
.occasion-globe::before { width:74px; height:45px; left:22px; top:36px; transform:rotate(-18deg); }
.occasion-globe::after { width:58px; height:78px; right:22px; bottom:25px; transform:rotate(23deg); }
.occasion-globe i:nth-child(1) { width:34px; height:54px; left:68px; bottom:18px; transform:rotate(-12deg); }
.occasion-globe i:nth-child(2) { width:28px; height:21px; right:28px; top:32px; }
.occasion-globe i:nth-child(3) { inset:17px; border:1px solid rgba(255,255,255,.22); background:transparent; border-radius:50%; }
.occasion-globe span { position:absolute; inset:0; border:1px solid rgba(255,255,255,.18); border-radius:50%; transform:scaleX(.45); }
.occasion-eco-chip { position:absolute; padding:8px 11px; border:1px solid rgba(255,255,255,.22); border-radius:9px; color:#e8fff2; background:rgba(4,45,43,.7); font-size:8px; font-weight:900; letter-spacing:.12em; backdrop-filter:blur(9px); }
.eco-chip-one { left:5%; top:23%; }.eco-chip-two { right:1%; bottom:17%; }

.occasion-slide-safety { background:radial-gradient(circle at 82% 30%,rgba(255,188,58,.42),transparent 30%),linear-gradient(122deg,#342818,#64502a 58%,#241c12); }
.occasion-slide-safety .occasion-slide-copy h2 em { color:#ffd76e; }
.occasion-slide-safety .occasion-kicker,.occasion-slide-safety .occasion-slide-copy button span { color:#ffd76e; }
.occasion-epp-grid {
    position:absolute;
    left:50%;
    top:48%;
    display:grid;
    grid-template-columns:repeat(2,minmax(128px,1fr));
    gap:10px;
    width:min(100%,330px);
    transform:translate(-50%,-50%);
}
.occasion-epp-grid span {
    display:flex;
    align-items:center;
    gap:10px;
    min-height:52px;
    padding:10px 13px;
    border:1px solid rgba(255,221,130,.25);
    border-radius:14px;
    color:#fff7dd;
    background:linear-gradient(135deg,rgba(255,255,255,.15),rgba(255,255,255,.055));
    box-shadow:0 16px 34px rgba(18,12,5,.2);
    backdrop-filter:blur(14px);
    font-size:10px;
    font-weight:800;
}
.occasion-epp-grid b {
    display:grid;
    place-items:center;
    width:28px;
    height:28px;
    border-radius:9px;
    color:#3a2912;
    background:#ffd76e;
    font-size:8px;
    letter-spacing:.08em;
}
.occasion-shield {
    position:absolute;
    left:50%;
    top:49%;
    display:grid;
    place-items:center;
    width:184px;
    height:184px;
    border:1px solid rgba(255,255,255,.22);
    border-radius:50%;
    background:linear-gradient(145deg,rgba(255,255,255,.18),rgba(255,255,255,.05));
    box-shadow:0 30px 60px rgba(0,0,0,.28),0 0 52px rgba(255,193,67,.15);
    backdrop-filter:blur(14px);
    transform:translate(-50%,-50%);
}
.occasion-shield svg { width:108px; fill:rgba(255,205,90,.15); stroke:#ffd76e; stroke-width:7; stroke-linecap:round; stroke-linejoin:round; }
.safety-chip { left:50%; bottom:2%; color:#fff2ca; background:rgba(70,49,14,.7); transform:translateX(-50%); white-space:nowrap; }

.occasion-slide-tiktok {
    background:radial-gradient(circle at 82% 26%,rgba(37,244,238,.18),transparent 30%),radial-gradient(circle at 67% 84%,rgba(254,44,85,.22),transparent 28%),linear-gradient(122deg,#101014,#25242d 58%,#0b0b0e);
}
.occasion-slide-tiktok .occasion-kicker,
.occasion-slide-tiktok .occasion-slide-copy h2 em { color:#69fff8; }
.occasion-share-actions { display:flex; flex-wrap:wrap; gap:10px; }
.occasion-share-actions a { display:inline-flex; align-items:center; justify-content:center; }
.occasion-share-actions .occasion-share-whatsapp { border-color:rgba(65,214,113,.35); background:rgba(31,171,78,.18); }
.occasion-share-actions .occasion-share-whatsapp span { color:#69e99a; }
.occasion-tiktok-panel {
    display:grid;
    align-content:center;
    padding:28px 0 12px;
}
.occasion-tiktok-label {
    display:block;
    margin:0 0 8px;
    color:rgba(255,255,255,.62);
    font-size:8px;
    font-weight:900;
    letter-spacing:.14em;
    text-align:center;
}
.occasion-tiktok-profile {
    position:relative;
    display:grid;
    grid-template-columns:72px 1fr;
    align-items:center;
    gap:18px;
    width:min(100%,520px);
    min-height:282px;
    margin:auto;
    padding:34px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.16);
    border-radius:20px;
    color:#fff;
    background:radial-gradient(circle at 12% 16%,rgba(37,244,238,.22),transparent 28%),radial-gradient(circle at 86% 84%,rgba(254,44,85,.24),transparent 34%),linear-gradient(145deg,#17171c,#09090b);
    box-shadow:0 26px 65px rgba(0,0,0,.38),0 0 32px rgba(37,244,238,.08);
}
.occasion-tiktok-profile::after { content:""; position:absolute; right:-45px; top:-55px; width:170px; height:170px; border:1px solid rgba(255,255,255,.08); border-radius:50%; box-shadow:0 0 0 28px rgba(255,255,255,.025),0 0 0 56px rgba(255,255,255,.018); }
.occasion-tiktok-logo { position:relative; z-index:1; display:grid; place-items:center; width:72px; height:72px; border-radius:22px; color:#fff; background:#050506; font-size:40px; font-weight:900; text-shadow:-3px -2px #25f4ee,3px 2px #fe2c55; box-shadow:-5px -4px 0 rgba(37,244,238,.8),5px 4px 0 rgba(254,44,85,.75); }
.occasion-tiktok-identity { position:relative; z-index:1; display:grid; }
.occasion-tiktok-identity small { color:#69fff8; font-size:10px; font-weight:900; letter-spacing:.14em; }
.occasion-tiktok-identity strong { margin:4px 0 1px; font-size:25px; line-height:1.05; }
.occasion-tiktok-identity span { color:#d8d7de; font-size:13px; }
.occasion-tiktok-profile p { position:relative; z-index:1; grid-column:1 / -1; margin:2px 0 0; color:#c9c7d0; font-size:13px; line-height:1.55; }
.occasion-tiktok-profile > a { position:relative; z-index:1; grid-column:1 / -1; display:flex; align-items:center; justify-content:space-between; min-height:46px; padding:0 16px; border:1px solid rgba(105,255,248,.25); border-radius:12px; color:#fff; background:linear-gradient(90deg,rgba(37,244,238,.14),rgba(254,44,85,.16)); font-size:12px; font-weight:900; text-decoration:none; }
.occasion-tiktok-profile > a:hover { border-color:rgba(105,255,248,.55); background:linear-gradient(90deg,rgba(37,244,238,.23),rgba(254,44,85,.25)); }

.occasion-carousel-controls {
    position:absolute;
    z-index:8;
    right:28px;
    bottom:23px;
    display:flex;
    align-items:center;
    gap:10px;
}
.occasion-arrow {
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    padding:0;
    border:1px solid rgba(255,255,255,.22);
    border-radius:12px;
    color:#fff;
    background:rgba(17,18,35,.38);
    backdrop-filter:blur(12px);
    cursor:pointer;
    transition:transform .2s ease,background .2s ease;
}
.occasion-arrow:hover { transform:translateY(-2px); background:rgba(255,255,255,.16); }
.occasion-arrow svg { width:18px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.occasion-dots { display:flex; align-items:center; gap:6px; padding:8px 10px; border-radius:12px; background:rgba(17,18,35,.3); backdrop-filter:blur(10px); }
.occasion-dots button { width:7px; height:7px; padding:0; border:0; border-radius:999px; background:rgba(255,255,255,.35); cursor:pointer; transition:width .3s ease,background .3s ease; }
.occasion-dots button.is-active { width:24px; background:#fff; }
.occasion-progress { position:absolute; z-index:8; left:0; right:0; bottom:0; height:3px; background:rgba(255,255,255,.1); }
.occasion-progress i { display:block; width:0; height:100%; background:linear-gradient(90deg,#a995ff,#c4dafa); }
.home-occasion-carousel.is-running .occasion-progress i { animation:occasionProgress 7s linear forwards; }
@keyframes occasionProgress { from { width:0; } to { width:100%; } }

@media (max-width:1050px) {
    .occasion-slide { grid-template-columns:minmax(0,1fr) 330px; padding-right:70px; }
    .occasion-slide-copy h2 { font-size:clamp(34px,4.3vw,48px); }
}
@media (max-width:760px) {
    .home-occasion-carousel { min-height:680px; border-radius:22px; }
    .occasion-slide { grid-template-columns:1fr; min-height:680px; padding:62px 25px 88px; }
    .occasion-slide-copy { align-content:start; }
    .occasion-slide-copy h2 { font-size:36px; }
    .occasion-slide-copy p { margin:15px 0 18px; font-size:12px; }
    .occasion-art { min-height:235px; margin-top:12px; }
    .occasion-epp-grid { width:min(100%,320px); }
    .occasion-tiktok-profile { min-height:270px; padding:26px; }
    .occasion-carousel-controls { right:18px; bottom:20px; }
    .occasion-carousel-topline { top:22px; left:25px; right:22px; }
}
@media (prefers-reduced-motion:reduce) {
    .occasion-carousel-track { transition:none; }
    .occasion-spark,.home-occasion-carousel.is-running .occasion-progress i { animation:none; }
}
.intranet-navigation > a[href="#atenea"] b { color:#303034; background:#f7cc00; }
.dashboard-page[data-current-view="atenea"] .intranet-navigation > a[href="#atenea"] {
    color:#303034;
    border-color:rgba(247,204,0,.48);
    background:linear-gradient(135deg,#f19900,#f7cc00);
}
.dashboard-page[data-current-view="atenea"] .intranet-navigation > a[href="#atenea"] svg { color:#303034; }
.home-quick-access button[data-workspace-open="atenea"] svg { stroke:#f19900; }
.home-quick-access button[data-workspace-open="atenea"]:hover { color:#303034; border-color:#f7cc00; background:linear-gradient(135deg,#f19900,#f7cc00); box-shadow:0 13px 25px rgba(241,153,0,.25); }
.home-quick-access button[data-workspace-open="atenea"]:hover svg { stroke:#303034; }

/* Fichas de proyectos: panel informativo azul Ágora, sin fondo negro. */
#proyectos .project-card { background:#c4dafa; }
#proyectos .project-info {
    color:#242643;
    border-right-color:rgba(48,48,52,.16);
    background:
        radial-gradient(circle at 6% 0%,rgba(255,255,255,.6),transparent 32%),
        linear-gradient(145deg,#d5e5fc 0%,#c4dafa 58%,#b7cff2 100%);
}
#proyectos .project-meta,
#proyectos .project-status { color:rgba(48,48,52,.7); }
#proyectos .project-status i {
    background:#6250d1;
    box-shadow:0 0 11px rgba(98,80,209,.5);
}
#proyectos .project-kicker,
#proyectos .stove-project .project-kicker,
#proyectos .expenses-project .project-kicker,
#proyectos .sigedo-project .project-kicker,
#proyectos .order-project .project-kicker,
#proyectos .yukeinsi-project .project-kicker { color:#6250d1; }
#proyectos .project-info h3,
#proyectos .sigedo-project .project-info h3,
#proyectos .order-project .project-info h3,
#proyectos .yukeinsi-project .project-info h3 { color:#242643; }
#proyectos .project-info h3 em,
#proyectos .expenses-project .project-info h3 em,
#proyectos .sigedo-project .project-info h3 em,
#proyectos .order-project .project-info h3 em,
#proyectos .yukeinsi-project .project-info h3 em { color:#6250d1; }
#proyectos .project-info p { color:#50536c; }
#proyectos .project-link {
    color:#242643;
    border-top-color:rgba(48,48,52,.2);
}
#proyectos .project-link > span,
#proyectos .stove-project .project-link > span,
#proyectos .expenses-project .project-link > span,
#proyectos .sigedo-project .project-link > span,
#proyectos .order-project .project-link > span,
#proyectos .yukeinsi-project .project-link > span {
    color:#fff;
    background:#303034;
}

/* Proyectos: experiencia completa Ágora, sin restos verdes ni fondos negros. */
#proyectos.projects {
    color:#242643;
    background:
        radial-gradient(circle at 88% 3%,rgba(135,105,250,.18),transparent 28%),
        radial-gradient(circle at 10% 48%,rgba(255,255,255,.7),transparent 30%),
        linear-gradient(180deg,#c4dafa 0%,#e7effc 50%,#f7f9ff 100%);
}
#proyectos .section-heading .eyebrow { color:#6250d1; }
#proyectos .section-heading h2 { color:#242643; }
#proyectos .section-heading h2 em { color:#6250d1; }
#proyectos .section-heading > p { color:#565a76; }
#proyectos .project-view-switcher {
    border-top-color:rgba(98,80,209,.14);
    border-bottom-color:rgba(98,80,209,.18);
    background:rgba(239,245,255,.9);
    box-shadow:0 15px 34px rgba(36,38,67,.08);
}
#proyectos .project-view-switcher button {
    color:#5f627b;
    border-color:rgba(98,80,209,.18);
    background:rgba(255,255,255,.72);
}
#proyectos .project-view-switcher button:hover,
#proyectos .project-view-switcher button.active {
    color:#fff;
    border-color:#6250d1;
    background:#6250d1;
    box-shadow:0 10px 24px rgba(98,80,209,.22);
}
#proyectos .project-card,
#proyectos .project-card:last-of-type {
    border-top:1px solid rgba(98,80,209,.16);
    border-bottom-color:rgba(98,80,209,.16);
    background:#c4dafa;
}
#proyectos .stove-stage,
#proyectos .expenses-ledger-stage,
#proyectos .sigedo-stage,
#proyectos .order-stage,
#proyectos .yukeinsi-stage {
    background:
        radial-gradient(circle at 51% 44%,rgba(255,255,255,.78),transparent 25%),
        radial-gradient(circle at 78% 18%,rgba(135,105,250,.2),transparent 31%),
        linear-gradient(145deg,#dce9fc 0%,#c4dafa 54%,#b4c9ef 100%);
}
#proyectos .stove-stage::before,
#proyectos .sigedo-grid,
#proyectos .order-grid,
#proyectos .yukeinsi-grid,
#proyectos .ledger-grid {
    opacity:.46;
    background-image:
        linear-gradient(rgba(98,80,209,.12) 1px,transparent 1px),
        linear-gradient(90deg,rgba(98,80,209,.12) 1px,transparent 1px);
}
#proyectos .stove-anchor::before {
    background:radial-gradient(ellipse,rgba(36,38,67,.35),rgba(98,80,209,.11) 43%,transparent 72%);
}
#proyectos .expenses-ledger-stage::after,
#proyectos .interactive-scene::before {
    background:rgba(36,38,67,.22);
}
#proyectos .feature-label,
#proyectos .finance-label,
#proyectos .order-chip,
#proyectos .yukeinsi-doc,
#proyectos .sigedo-module,
#proyectos .interaction-hint {
    color:#303034;
    border-color:rgba(98,80,209,.22);
    background:rgba(250,252,255,.82);
    box-shadow:0 13px 30px rgba(36,38,67,.09);
    backdrop-filter:blur(14px);
}
#proyectos .feature-label span,
#proyectos .finance-label span { color:#6250d1; }
#proyectos .sigedo-module span {
    color:#fff;
    background:#6250d1;
}
#proyectos .sigedo-mark {
    border-color:rgba(98,80,209,.25);
    background:
        radial-gradient(circle at 50% 38%,rgba(135,105,250,.18),transparent 44%),
        linear-gradient(150deg,#3b3d63,#242643);
    box-shadow:0 34px 64px rgba(36,38,67,.24),inset 0 1px 0 rgba(255,255,255,.12);
}
#proyectos .order-sheet {
    border-color:rgba(98,80,209,.22);
    background:linear-gradient(180deg,#fff,#f2f5ff);
    box-shadow:0 34px 58px rgba(36,38,67,.2),inset 0 1px 0 #fff;
}
#proyectos .order-sheet header { border-bottom-color:#d9dcf0; }
#proyectos .order-sheet header span,
#proyectos .order-sheet header strong { color:#6250d1; }
#proyectos .order-row { border-color:#dfe2f2; background:#f3f5fd; }
#proyectos .order-row-main { border-color:#ccc4f2; background:#efecff; }
#proyectos .order-row i,
#proyectos .order-total { background:#6250d1; }
#proyectos .yukeinsi-library {
    color:#fff;
    border-color:rgba(196,218,250,.26);
    background:linear-gradient(145deg,rgba(59,61,99,.96),rgba(36,38,67,.96));
    box-shadow:0 34px 58px rgba(36,38,67,.24),inset 0 1px 0 rgba(255,255,255,.1);
}
#proyectos .yukeinsi-library span { color:#c4dafa; }
#proyectos .yukeinsi-library i { background:rgba(196,218,250,.42); }
#proyectos .yukeinsi-library i:nth-child(2) { background:rgba(135,105,250,.62); }
#proyectos .expense-summary { color:#525670; }
#proyectos .expense-summary i { background:#6250d1; }
#proyectos .expense-summary i:nth-child(4),
#proyectos .expense-summary i:nth-child(6) { background:#8769fa; }
#proyectos .interaction-hint { color:#565a76; }
#proyectos .interaction-hint span { color:#6250d1; }
#proyectos .future-grid {
    background:linear-gradient(180deg,#e7effc,#f7f9ff);
}
#proyectos .future-card,
#proyectos .future-card.outlined {
    color:#242643;
    border-color:rgba(98,80,209,.2);
    background:rgba(255,255,255,.7);
    box-shadow:0 20px 48px rgba(36,38,67,.07);
}
#proyectos .future-card:hover { background:#fff; }
#proyectos .future-card h3 { color:#242643; }
#proyectos .future-card p { color:#666a82; opacity:1; }
#proyectos .future-card > div:nth-of-type(2) span { color:#6250d1; }
#proyectos .future-number { color:#777b95; }
#proyectos .future-icon,
#proyectos .future-card button {
    color:#6250d1;
    border-color:rgba(98,80,209,.28);
    background:#efedff;
}

/* Propuestas y cierre: misma identidad, sin volver al verde/negro anterior. */
.dashboard-page .proposals {
    color:#242643;
    background:
        radial-gradient(circle at 90% 12%,rgba(135,105,250,.17),transparent 27%),
        linear-gradient(180deg,#c4dafa,#edf3fd);
}
.dashboard-page .proposal-heading .eyebrow,
.dashboard-page .proposal-heading h2 em { color:#6250d1; }
.dashboard-page .proposal-heading p { color:#5c6079; }
.dashboard-page .proposal-workspace { border-color:rgba(98,80,209,.2); box-shadow:0 28px 70px rgba(36,38,67,.1); }
.dashboard-page .proposal-form { color:#242643; background:rgba(255,255,255,.84); }
.dashboard-page .form-heading > span,
.dashboard-page .inbox-heading strong,
.dashboard-page .proposal-item-top span,
.dashboard-page .private-message > span { color:#6250d1; }
.dashboard-page .proposal-form input,
.dashboard-page .proposal-form select,
.dashboard-page .proposal-form textarea { color:#242643; border-color:#d6d9eb; background:#fff; }
.dashboard-page .proposal-form input:focus,
.dashboard-page .proposal-form select:focus,
.dashboard-page .proposal-form textarea:focus { border-color:#6250d1; box-shadow:0 0 0 4px rgba(98,80,209,.12); }
.dashboard-page .proposal-submit { color:#fff; background:#303034; }
.dashboard-page .proposal-submit > span { color:#fff; background:#6250d1; }
.dashboard-page .proposal-inbox { color:#fff; background:#242643; }
.dashboard-page .proposal-inbox .inbox-heading { border-bottom-color:rgba(196,218,250,.16); }
.dashboard-page .proposal-item { border-bottom-color:rgba(196,218,250,.13); }
.dashboard-page .proposal-item h4 { color:#fff; }
.dashboard-page .proposal-item > p,
.dashboard-page .private-message p { color:#b6b9d0; }
.dashboard-page .private-orbit { border-color:#53557b; }
.dashboard-page .private-orbit::after { border-color:#7477a0; }
.dashboard-page .private-orbit i { background:#8769fa; box-shadow:0 0 13px #8769fa; }
.dashboard-page .updates { color:#fff; background:#303034; }
.dashboard-page .updates em { color:#a995ff; }
.dashboard-page .updates p { color:#c0c2d4; }
.dashboard-page .featured-news-art strong i,
.dashboard-page .company-agenda li i { color:#8769fa; background:#8769fa; box-shadow:0 0 10px rgba(135,105,250,.5); }
.dashboard-page .sidebar-projects > a.active { box-shadow:inset 3px 0 #8769fa; }

/* Noticias de inicio: reemplazo de los últimos acentos verdes. */
.dashboard-page .featured-company-news,
.dashboard-page .company-news-feed,
.dashboard-page .company-agenda { border-color:rgba(98,80,209,.16); box-shadow:0 28px 70px rgba(36,38,67,.09); }
.dashboard-page .featured-news-art {
    background:
        radial-gradient(circle at 68% 35%,rgba(135,105,250,.32),transparent 29%),
        radial-gradient(circle at 18% 80%,rgba(196,218,250,.14),transparent 27%),
        linear-gradient(135deg,#3b3d63,#242643 72%);
}
.dashboard-page .featured-news-art img { border-color:rgba(196,218,250,.28); }
.dashboard-page .news-art-orbit { border-color:rgba(135,105,250,.28); }
.dashboard-page .news-category { color:#6250d1; }
.dashboard-page .featured-news-copy button { background:#6250d1; }
.dashboard-page .featured-news-copy button:hover { background:#513eb8; }
.dashboard-page .company-news-feed article { border-bottom-color:#e3e2ef; }
.dashboard-page .company-news-feed button { color:#6250d1; border-color:#dedbed; background:#f8f7ff; }
.dashboard-page .company-news-feed button:hover { color:#fff; background:#6250d1; }
.dashboard-page .company-agenda {
    color:#fff;
    background:radial-gradient(circle at 80% 5%,rgba(135,105,250,.24),transparent 29%),linear-gradient(155deg,#3b3d63,#242643);
}
.dashboard-page .agenda-date { border-bottom-color:rgba(196,218,250,.16); }
.dashboard-page .agenda-date strong,
.dashboard-page .company-agenda .news-category { color:#c4dafa; }
.dashboard-page .agenda-date span,
.dashboard-page .company-agenda li { color:#bec1d5; }
.dashboard-page .company-agenda > button { color:#eeecff; border-color:rgba(135,105,250,.36); background:rgba(135,105,250,.16); }
.dashboard-page .company-agenda > button:hover { color:#fff; background:#6250d1; }

/* OIKOS: identidad oficial tomada del manual corporativo. */
.dashboard-page .sgi-hub {
    color:#f2f2f2;
    background:
        radial-gradient(circle at 82% 12%,rgba(0,255,255,.16),transparent 31%),
        radial-gradient(circle at 10% 90%,rgba(12,194,196,.18),transparent 33%),
        #242428;
}
.dashboard-page .sgi-hub::before {
    opacity:.32;
    background-image:linear-gradient(rgba(0,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(0,255,255,.055) 1px,transparent 1px);
}
.dashboard-page .sgi-hub-shell {
    border-color:rgba(0,255,255,.20);
    background:rgba(48,48,52,.96);
    box-shadow:0 38px 100px rgba(0,0,0,.42);
}
.dashboard-page .sgi-access-copy { background:linear-gradient(145deg,rgba(255,255,255,.055),transparent 64%); }
.dashboard-page .sgi-access-logo {
    width:min(290px,72%);
    height:auto;
    margin:0 0 28px;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    filter:drop-shadow(0 12px 24px rgba(0,255,255,.16));
    box-shadow:0 16px 38px rgba(0,0,0,.20);
}
.dashboard-page .sgi-kicker { color:#9edfe0; }
.dashboard-page .sgi-kicker i { background:#00ffff; box-shadow:0 0 16px rgba(0,255,255,.75); }
.dashboard-page .sgi-access-copy h2 { margin-top:22px; color:#f2f2f2; }
.dashboard-page .sgi-access-copy h2 em { color:#00ffff; }
.dashboard-page .sgi-access-copy > p,
.dashboard-page .sgi-capabilities span { color:#c7d5d5; }
.dashboard-page .sgi-access-actions a {
    color:#303034;
    border-color:#00ffff;
    background:linear-gradient(135deg,#00ffff,#0cc2c4);
    box-shadow:0 16px 35px rgba(12,194,196,.24);
}
.dashboard-page .sgi-access-actions a:hover { color:#303034; background:#62ffff; }
.dashboard-page .sgi-capabilities i { color:#00ffff; }
.dashboard-page .sgi-visual { min-height:620px; background:#303034; isolation:isolate; }
.dashboard-page .sgi-visual::after {
    content:"";
    position:absolute;
    z-index:1;
    inset:0;
    background:linear-gradient(90deg,rgba(36,36,40,.30),transparent 44%),linear-gradient(180deg,rgba(0,0,0,.08),transparent 65%);
    pointer-events:none;
}
.dashboard-page .sgi-poster-image {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:right center;
}
.dashboard-page .sgi-floating-label {
    z-index:4;
    display:flex;
    align-items:center;
    gap:9px;
    padding:9px 13px;
    color:#f2f2f2;
    border:1px solid rgba(0,255,255,.28);
    border-radius:10px;
    background:rgba(48,48,52,.90);
    box-shadow:0 12px 30px rgba(0,0,0,.24);
    backdrop-filter:blur(10px);
}
.dashboard-page .sgi-floating-label b { display:grid; place-items:center; width:24px; height:24px; color:#303034; border-radius:7px; background:#00ffff; letter-spacing:0; }
.dashboard-page .sgi-floating-one { top:8%; left:5%; }
.dashboard-page .sgi-floating-two { right:auto; bottom:18%; left:5%; }
.dashboard-page .sgi-floating-three { right:auto; bottom:5%; left:26%; }
.dashboard-page .sgi-security-note { border-color:rgba(0,255,255,.18); background:rgba(12,194,196,.09); }
.dashboard-page .sgi-security-note > span { color:#303034; background:#00ffff; }
.dashboard-page .sgi-security-note p { color:#b9cccc; }
.dashboard-page .sgi-security-note > a { color:#303034; background:#00ffff; }
.dashboard-page .sgi-security-note > a:hover { color:#303034; background:#62ffff; }
.intranet-navigation .nav-oikos-logo {
    width:30px;
    height:30px;
    min-width:30px;
    flex:0 0 30px;
    object-fit:cover;
    object-position:left center;
    padding:0;
    border:0;
    border-radius:7px;
    background:transparent;
    box-shadow:none;
    filter:drop-shadow(0 5px 10px rgba(0,255,255,.22));
}
.home-quick-access .workspace-oikos-logo {
    width:28px;
    height:28px;
    object-fit:contain;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
}
@media (max-width:1000px) {
    .dashboard-page .sgi-visual { min-height:560px; }
}
@media (max-width:640px) {
    .dashboard-page .sgi-access-logo { width:230px; }
    .dashboard-page .sgi-visual { min-height:430px; }
    .dashboard-page .sgi-floating-label { padding:7px 9px; font-size:7px; }
    .dashboard-page .sgi-floating-three { left:34%; }
}

/* Administración de usuarios alineada con Ágora. */
#usuarios.projects {
    color:#242643;
    background:linear-gradient(180deg,#edf3fd,#c4dafa);
}
#usuarios .section-heading .eyebrow,
#usuarios .section-heading h2 em { color:#6250d1; }
#usuarios .section-heading h2 { color:#242643; }
#usuarios .section-heading > p { color:#5c6079; }
#usuarios .admin-project {
    border-color:rgba(98,80,209,.18);
    background:linear-gradient(135deg,#fff 0%,#edf3fd 42%,#3b3d63 42.2%,#242643 100%);
    box-shadow:0 30px 70px rgba(36,38,67,.12);
}
#usuarios .admin-visual::before {
    border-color:rgba(135,105,250,.22);
    box-shadow:inset 0 0 90px rgba(135,105,250,.08);
}
#usuarios .admin-shield {
    color:#fff;
    background:linear-gradient(135deg,#8769fa,#6250d1);
    box-shadow:0 22px 60px rgba(98,80,209,.3);
}
#usuarios .admin-visual > span { color:#c4dafa; }
#usuarios .admin-visual p { color:#bfc2d6; }
#usuarios .admin-visual-tags i { color:#f2f1ff; border-color:rgba(196,218,250,.2); background:rgba(196,218,250,.07); }
#usuarios .user-management-panel { border-color:rgba(98,80,209,.18) !important; background:rgba(255,255,255,.84) !important; box-shadow:0 28px 70px rgba(36,38,67,.1) !important; }
#usuarios .portal-user-row { border-color:#d9d9ea !important; background:#f8f9ff !important; }
#usuarios .portal-user-form input,
#usuarios .portal-user-form select { border-color:#d1d3e8 !important; color:#242643 !important; }
#usuarios .portal-user-active input { accent-color:#6250d1 !important; }
#usuarios .portal-user-save { color:#fff !important; background:#6250d1 !important; }
#usuarios .portal-project-permissions {
    grid-column:1 / -1;
    min-width:0;
    margin:4px 0 0;
    padding:16px;
    border:1px solid #d9d9ea;
    border-radius:14px;
    background:linear-gradient(135deg,rgba(98,80,209,.055),rgba(255,255,255,.92));
}
#usuarios .portal-project-permissions legend {
    padding:0 7px;
    color:#30324d;
    font-size:10px;
    font-weight:900;
    letter-spacing:.11em;
    text-transform:uppercase;
}
#usuarios .portal-project-permissions > p {
    margin:0 0 12px;
    color:#70748c;
    font-size:11px;
    line-height:1.45;
}
#usuarios .portal-project-options {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(175px,1fr));
    gap:9px;
}
#usuarios .portal-project-option,
#usuarios .portal-user-form .portal-project-option {
    display:flex !important;
    min-width:0;
    align-items:center;
    gap:9px !important;
    padding:10px 11px;
    border:1px solid #dddff0;
    border-radius:10px;
    background:#fff;
    cursor:pointer;
    transition:border-color .2s ease,background .2s ease,transform .2s ease;
}
#usuarios .portal-project-option:hover {
    border-color:#8a78e3;
    background:#f8f6ff;
    transform:translateY(-1px);
}
#usuarios .portal-project-option input,
#usuarios .portal-user-form .portal-project-option input {
    width:19px !important;
    min-width:19px !important;
    height:19px !important;
    min-height:19px !important;
    margin:0 !important;
    padding:0 !important;
    border-radius:5px !important;
    accent-color:#6250d1 !important;
    cursor:pointer;
}
#usuarios .portal-project-option > span,
#usuarios .portal-user-form .portal-project-option > span {
    overflow:hidden;
    color:#30324d !important;
    font-size:11px !important;
    font-weight:800 !important;
    letter-spacing:0 !important;
    line-height:1.2;
    text-transform:none !important;
    white-space:normal;
}
#usuarios .portal-project-permissions.is-admin-access {
    border-color:rgba(98,80,209,.35);
    background:rgba(98,80,209,.085);
}
#usuarios .formato-role-assignment {
    display:grid;
    grid-template-columns:minmax(220px,1fr) minmax(230px,.72fr);
    gap:16px;
    align-items:end;
    margin-top:14px;
    padding:15px;
    border:1px solid rgba(98,80,209,.28);
    border-radius:12px;
    background:linear-gradient(135deg,#f0edff,#fff);
}
#usuarios .formato-role-assignment[hidden] { display:none !important; }
#usuarios .formato-role-assignment > div { display:grid; gap:5px; }
#usuarios .formato-role-assignment > div strong { color:#292347; font-size:13px; }
#usuarios .formato-role-assignment > div span,
#usuarios .formato-role-assignment > small { color:#70748c; font-size:11px; line-height:1.45; }
#usuarios .formato-role-assignment > label { display:grid !important; gap:7px !important; margin:0 !important; }
#usuarios .formato-role-assignment select { border-color:#aaa0e7 !important; font-weight:750 !important; }
#usuarios .formato-role-assignment.is-leader { border-color:rgba(24,131,111,.28); background:linear-gradient(135deg,#e7f7f2,#fff); }
@media (max-width:620px) {
    #usuarios .portal-project-options,
    #usuarios .formato-role-assignment { grid-template-columns:1fr; }
}

@media (max-width:980px) {
    #proyectos .project-info {
        border-right:0;
        border-bottom:1px solid rgba(48,48,52,.16);
    }
}

/* Atenea: identidad construida desde el manual corporativo suministrado */
.atenea-hub {
    --atenea-orange:#f19900;
    --atenea-yellow:#f7cc00;
    --atenea-dark:#303034;
    --atenea-white:#fff;
    min-height:calc(100svh - 74px);
    color:var(--atenea-white);
    background:
        radial-gradient(circle at 92% 8%,rgba(247,204,0,.18),transparent 28%),
        radial-gradient(circle at 8% 95%,rgba(241,153,0,.16),transparent 30%),
        var(--atenea-dark);
}
.atenea-hub::before {
    opacity:.18;
    background-image:
        linear-gradient(rgba(247,204,0,.34) 1px,transparent 1px),
        linear-gradient(90deg,rgba(247,204,0,.34) 1px,transparent 1px);
    background-size:58px 58px;
    mask-image:linear-gradient(135deg,#000,transparent 75%);
}
.atenea-hub::after {
    content:"";
    position:absolute;
    z-index:0;
    top:-110px;
    right:-80px;
    width:360px;
    height:360px;
    border:78px solid rgba(247,204,0,.08);
    transform:rotate(45deg);
    pointer-events:none;
}
.atenea-hub .learning-heading { align-items:center; margin-bottom:38px; }
.atenea-heading-copy .eyebrow { color:var(--atenea-yellow); }
.atenea-heading-copy h2 { color:#fff; }
.atenea-heading-copy h2 em { color:var(--atenea-yellow); }
.atenea-heading-copy > p { max-width:660px; margin-top:22px; color:rgba(255,255,255,.68); }
.atenea-brand-card {
    justify-self:end;
    display:flex;
    align-items:center;
    gap:19px;
    width:min(430px,100%);
    min-height:172px;
    padding:18px 25px;
    border:1px solid rgba(247,204,0,.28);
    border-radius:24px;
    background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(247,204,0,.07));
    box-shadow:0 26px 70px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.08);
}
.atenea-brand-card img { width:116px; height:140px; object-fit:contain; object-position:center; mix-blend-mode:normal; }
.atenea-brand-card span { color:#fff; font-size:17px; font-weight:800; letter-spacing:-.02em; }
.atenea-hub .learning-catalog {
    grid-area:catalog;
    border-color:rgba(247,204,0,.24);
    background:rgba(37,37,40,.86);
    box-shadow:0 28px 65px rgba(0,0,0,.22);
}
.atenea-hub .learning-content { grid-area:content; width:100%; min-width:0; }
.atenea-back-to-cover {
    grid-area:back;
    justify-self:start;
    display:inline-flex;
    align-items:center;
    gap:10px;
    width:auto;
    min-height:44px;
    padding:0 17px;
    border:1px solid rgba(247,204,0,.3);
    border-radius:12px;
    color:#fff;
    background:rgba(48,48,52,.78);
    box-shadow:0 14px 34px rgba(0,0,0,.2);
    cursor:pointer;
    font:inherit;
    font-size:12px;
    font-weight:800;
    letter-spacing:.01em;
    backdrop-filter:blur(12px);
    transition:color .2s ease,border-color .2s ease,background .2s ease,transform .2s ease;
}
.atenea-back-to-cover span { color:var(--atenea-yellow); font-size:17px; line-height:1; }
.atenea-back-to-cover:hover,
.atenea-back-to-cover:focus-visible {
    color:var(--atenea-dark);
    border-color:var(--atenea-yellow);
    background:linear-gradient(135deg,var(--atenea-orange),var(--atenea-yellow));
    transform:translateY(-2px);
}
.atenea-back-to-cover:hover span,
.atenea-back-to-cover:focus-visible span { color:inherit; }
.atenea-hub .learning-catalog > span { color:var(--atenea-yellow); }
.atenea-hub .learning-catalog button { color:rgba(255,255,255,.68); }
.atenea-hub .learning-catalog button:hover,
.atenea-hub .learning-catalog button.active { color:var(--atenea-dark); background:linear-gradient(135deg,var(--atenea-orange),var(--atenea-yellow)); }
.atenea-hub .learning-catalog button b { background:rgba(247,204,0,.13); }
.atenea-hub .learning-summary {
    color:var(--atenea-dark);
    background:
        radial-gradient(circle at 84% 18%,rgba(255,255,255,.34),transparent 25%),
        linear-gradient(125deg,var(--atenea-orange),var(--atenea-yellow));
    box-shadow:0 30px 70px rgba(0,0,0,.25);
}
.atenea-hub .learning-summary > div:first-child span,
.atenea-hub .learning-summary > div:first-child small,
.atenea-hub .learning-progress-ring span { color:rgba(48,48,52,.72); }
.atenea-hub .learning-progress-ring { border-color:rgba(48,48,52,.18); border-top-color:#303034; }
.atenea-hub .learning-summary > button { color:#fff; background:#303034; box-shadow:0 12px 26px rgba(48,48,52,.22); }
.atenea-hub .course-card { border-color:rgba(247,204,0,.22); background:#fff; box-shadow:0 22px 55px rgba(0,0,0,.18); }
.atenea-hub .course-card:hover { box-shadow:0 32px 68px rgba(0,0,0,.28); }
.atenea-hub .course-card .course-cover {
    color:var(--atenea-yellow);
    background:
        linear-gradient(135deg,rgba(241,153,0,.22),transparent 48%),
        #303034;
}
.atenea-hub .course-card:nth-child(even) .course-cover { color:#303034; background:linear-gradient(135deg,#f19900,#f7cc00); }
.atenea-hub .course-cover::after { border-color:rgba(247,204,0,.3); border-radius:0; transform:translate(40%,-20%) rotate(45deg); }
.atenea-hub .course-area { color:#c57700; }
.atenea-hub .course-body h3 { color:#303034; }
.atenea-hub .course-body p { color:#68686d; }
.atenea-hub .course-body > button { color:#a85f00; border-top-color:#ece1c4; }
.atenea-hub .course-body > button:hover { color:#f19900; }

/* Progreso individual: cada curso muestra su propio círculo de avance. */
.atenea-hub .course-cover[data-progress]::before {
    content:attr(data-progress) "\A Avance";
    position:absolute;
    z-index:4;
    top:16px;
    right:16px;
    display:grid;
    place-content:center;
    width:68px;
    height:68px;
    border-radius:50%;
    color:#fff;
    background:
        radial-gradient(circle,#303034 0 60%,transparent 62%),
        conic-gradient(#f7cc00 var(--course-progress,0%),rgba(255,255,255,.2) 0);
    box-shadow:0 12px 28px rgba(0,0,0,.28),inset 0 0 0 1px rgba(247,204,0,.16);
    white-space:pre;
    text-align:center;
    font-size:14px;
    font-weight:900;
    letter-spacing:-.02em;
    line-height:1.05;
}
.atenea-hub .course-cover[data-progress]::first-line { font-size:15px; }
.atenea-hub .course-cover > span,
.atenea-hub .course-cover > svg { position:relative; z-index:2; }

/* Lectura cómoda en toda la intranet. */
@media (min-width:901px) {
    .dashboard-page { --intranet-sidebar-width:306px; }
}
.intranet-brand strong { font-size:18px; }
.intranet-brand small { font-size:10px; }
.sidebar-label { font-size:11px; }
.intranet-navigation > a { min-height:52px; font-size:14px; cursor:pointer; }
.intranet-navigation > a b { display:none; }
.topbar a,
.project-view-switcher button,
[data-workspace-open],
[data-project-open],
[data-atenea-open],
[data-atenea-enter],
[data-atenea-cover] { cursor:pointer; }
.sidebar-projects strong { font-size:13px; }
.sidebar-projects small { font-size:9.5px; }
.sidebar-main-project-icon,
.sidebar-project-icon {
    display:grid;
    place-items:center;
    overflow:hidden;
    flex:none;
    border:1px solid rgba(196,218,250,.18);
    background:rgba(255,255,255,.075);
    box-shadow:inset 0 0 18px rgba(135,105,250,.08),0 6px 16px rgba(7,8,25,.18);
}
.sidebar-main-project-icon {
    width:27px;
    height:27px;
    border-radius:9px;
}
.sidebar-main-project-icon img {
    width:21px;
    height:21px;
    object-fit:contain;
}
.sidebar-main-project-logo {
    display:block;
    width:30px;
    height:30px;
    flex:none;
    overflow:visible;
    object-fit:contain;
}
.sidebar-main-project-atenea {
    filter:drop-shadow(0 4px 8px rgba(255,190,0,.2));
}
.sidebar-main-project-vulkano {
    width:30px;
    height:30px;
    object-fit:contain;
    filter:drop-shadow(0 0 2px rgba(255,255,255,.72)) drop-shadow(0 5px 10px rgba(227,19,98,.42));
}
.sidebar-projects > a {
    grid-template-columns:38px 1fr;
    column-gap:12px;
    align-items:center;
}
.sidebar-project-icon {
    grid-row:1 / span 2;
    width:30px;
    height:30px;
    overflow:visible;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
}
.sidebar-project-logo {
    display:block;
    grid-row:1 / span 2;
    align-self:center;
    justify-self:center;
    width:30px;
    height:30px;
    overflow:visible;
}
.sidebar-project-icon svg {
    width:30px !important;
    height:30px !important;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.sidebar-project-icon img {
    display:block;
    object-fit:contain;
}
.sidebar-project-logo-estufas {
    width:30px;
    height:30px;
    filter:drop-shadow(0 5px 8px rgba(0,164,160,.22));
}
.sidebar-project-logo-sigedo {
    width:30px;
    height:30px;
    filter:drop-shadow(0 5px 8px rgba(255,255,255,.12));
}
.intranet-navigation .sidebar-main-project-logo,
.intranet-navigation .sidebar-project-logo,
.intranet-navigation .sidebar-project-icon,
.intranet-navigation .sidebar-project-icon svg {
    width:30px !important;
    height:30px !important;
    min-width:30px;
    max-width:30px;
    object-fit:contain;
    object-position:center;
}
.sidebar-project-icon-gastos {
    color:#ffad32;
    border:0;
    background:transparent;
    box-shadow:none;
    filter:drop-shadow(0 5px 7px rgba(240,123,22,.3));
}
.sidebar-project-icon-pedidos {
    color:#ffd35c;
    border:0;
    background:transparent;
    box-shadow:none;
    filter:drop-shadow(0 5px 7px rgba(245,169,0,.27));
}
.sidebar-project-icon-nomina {
    color:#d9fff1;
    overflow:hidden !important;
    border:1px solid rgba(143,243,203,.42);
    border-radius:10px;
    background:
        url('brand/payroll-assistant-papers-v1.png?v=20260903-sidebar') center 1px / 32px auto no-repeat,
        linear-gradient(145deg,rgba(143,243,203,.3),rgba(64,214,164,.08));
    box-shadow:inset 0 1px rgba(255,255,255,.24),0 7px 15px rgba(16,169,125,.2);
    filter:drop-shadow(0 4px 7px rgba(64,214,164,.2));
}
.sidebar-project-icon-nomina svg {
    display:none;
}
.sidebar-project-icon-nomina .project-icon-payroll-card {
    fill:url(#sidebar-payroll-gradient);
}
.sidebar-project-icon-nomina .project-icon-payroll-head {
    fill:#182039;
}
.sidebar-project-icon-nomina .project-icon-payroll-body,
.sidebar-project-icon-nomina .project-icon-payroll-currency {
    fill:none;
    stroke:#182039;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.sidebar-projects > a.sidebar-project-nomina {
    background:transparent;
    box-shadow:none;
}
.sidebar-projects > a.sidebar-project-nomina:hover {
    background:rgba(135,105,250,.09);
    box-shadow:none;
}
.sidebar-projects > a.sidebar-project-nomina.active,
.sidebar-projects > a.sidebar-project-nomina.active:hover {
    background:linear-gradient(90deg,rgba(64,214,164,.18),rgba(64,214,164,.035));
    box-shadow:inset 3px 0 #40d6a4,inset 0 1px rgba(64,214,164,.22),inset 0 -1px rgba(64,214,164,.22),0 0 18px rgba(64,214,164,.1);
}
.sidebar-projects > a.sidebar-project-nomina:active {
    background:linear-gradient(90deg,rgba(64,214,164,.26),rgba(64,214,164,.055));
    box-shadow:inset 3px 0 #63efbd,inset 0 1px rgba(99,239,189,.3),inset 0 -1px rgba(99,239,189,.3),0 0 22px rgba(64,214,164,.18);
    transform:translateX(1px) scale(.99);
}
.sidebar-project-icon-gastos svg,
.sidebar-project-icon-pedidos svg {
    overflow:visible;
    fill:none;
    stroke:none;
}
.sidebar-project-icon-gastos .project-icon-shadow,
.sidebar-project-icon-pedidos .project-icon-shadow {
    fill:#070817;
    opacity:.42;
}
.sidebar-project-icon-gastos .project-icon-body,
.sidebar-project-icon-gastos .project-icon-fold {
    fill:url(#sidebar-wallet-gradient);
}
.sidebar-project-icon-gastos .project-icon-fold {
    opacity:.82;
}
.sidebar-project-icon-gastos .project-icon-pocket {
    fill:#28233f;
    stroke:#ffd27a;
    stroke-width:1.25;
}
.sidebar-project-icon-gastos .project-icon-dot {
    fill:#ffd27a;
}
.sidebar-project-icon-pedidos .project-icon-sheet {
    fill:url(#sidebar-order-gradient);
}
.sidebar-project-icon-pedidos .project-icon-clip {
    fill:#fff8dd;
    stroke:#f5a900;
    stroke-width:1.2;
}
.sidebar-project-icon-pedidos .project-icon-check {
    fill:none;
    stroke:#28233f;
    stroke-width:2.05;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.sidebar-projects > a:hover .sidebar-project-icon,
.sidebar-projects > a.active .sidebar-project-icon,
.sidebar-projects > a:hover .sidebar-project-logo,
.sidebar-projects > a.active .sidebar-project-logo {
    transform:translateY(-1px) scale(1.04);
}

.sidebar-account strong { font-size:13px; }
.sidebar-account small { font-size:10px; }
.topbar-context span { font-size:10px; }
.topbar-context strong { font-size:15px; }
.dashboard-page .topbar nav a { font-size:14px; }
.dashboard-page .topbar .availability { font-size:11px; }
.dashboard-page .topbar .user-label { font-size:13px; }
.dashboard-page .topbar .user-label small { font-size:10px; }
.home-overline { font-size:12px; }
.home-title-row p { font-size:16px; }
.home-search input { font-size:17px; }
.home-search button { font-size:13px; }
.home-search-feedback { font-size:13px; }
.home-story small,
.home-feature-card span,
.home-updates header span,
.home-quick-access header span { font-size:11px; }
.home-story-visual strong { font-size:20px; }
.home-story-copy p,
.home-feature-card p { font-size:14px; }
.home-feature-card button { font-size:13px; }
.home-updates h2,
.home-quick-access h2 { font-size:28px; }
.home-updates time { font-size:11px; }
.home-updates button small { font-size:10px; }
.home-updates button strong { font-size:15px; }
.home-updates button p { font-size:12px; }
.home-quick-access button { font-size:12px; }
.atenea-hub .learning-dashboard {
    grid-template-columns:260px minmax(0,1fr);
    grid-template-areas:
        "back back"
        "catalog content";
    align-items:start;
    gap:20px 26px;
    padding-top:96px;
    scroll-margin-top:96px;
}
.atenea-hub .learning-catalog > span { font-size:11px; }
.atenea-hub .learning-catalog button { min-height:48px; font-size:13px; }
.atenea-hub .learning-catalog button b { min-width:24px; height:24px; font-size:10px; }
.atenea-hub .learning-summary > div:first-child span { font-size:11px; }
.atenea-hub .learning-summary > div:first-child strong { font-size:30px; }
.atenea-hub .learning-summary > div:first-child small { font-size:15px; }
.atenea-hub .learning-summary > button { min-height:48px; font-size:13px; }
.atenea-hub .learning-progress-ring strong { font-size:20px; }
.atenea-hub .learning-progress-ring span { font-size:9px; }
.atenea-hub .course-cover { height:165px; }
.atenea-hub .course-cover > span { font-size:11px; }
.atenea-hub .course-body { padding:24px; }
.atenea-hub .course-area { font-size:10px; }
.atenea-hub .course-body h3 { min-height:54px; font-size:21px; }
.atenea-hub .course-body p { min-height:72px; font-size:14px; line-height:1.65; }
.atenea-hub .course-body > div { font-size:10px; }
.atenea-hub .course-body > button { font-size:13px; }
.course-dialog > span { font-size:11px; }
.course-dialog p { font-size:15px; }
.course-dialog-modules span { font-size:13px; }
.course-dialog-primary { font-size:14px; }
.auth-page .form-intro { font-size:15px; }
.auth-page .auth-card label > span:first-child { font-size:13px; }
.auth-page .auth-card input { font-size:16px; }
.auth-page .primary-button { font-size:15px; }
.auth-page .security-note { font-size:11px; }
.course-dialog { border-color:rgba(247,204,0,.34); color:#fff; background:radial-gradient(circle at 86% 8%,rgba(247,204,0,.16),transparent 31%),#303034; }
.course-dialog::backdrop { background:rgba(36,36,39,.78); }
.course-dialog > span { color:#f7cc00; }
.course-dialog p { color:rgba(255,255,255,.7); }
.course-dialog-modules span { color:#fff; border-color:rgba(247,204,0,.17); background:rgba(247,204,0,.055); }
.course-dialog-primary { color:#303034; background:linear-gradient(135deg,#f19900,#f7cc00); }

/* Curso interactivo de Producción: Equipo Plasma CNC */
.atenea-hub .course-production {
    position:relative;
    border-color:rgba(104,80,210,.34);
    box-shadow:0 24px 64px rgba(52,39,111,.2);
}
.atenea-hub .course-production .course-cover,
.atenea-hub .course-production:nth-child(even) .course-cover {
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:17px;
    color:#fff;
    background:
        radial-gradient(circle at 76% 35%,rgba(255,205,0,.33),transparent 24%),
        linear-gradient(135deg,#39247d 0%,#6a50d8 53%,#f39a00 160%);
}
.atenea-hub .course-production .course-cover::before {
    color:#fff;
    border-color:rgba(255,255,255,.4);
    border-top-color:#ffd21a;
    background:rgba(33,20,79,.68);
}
.atenea-hub .course-production .course-cover::after {
    width:220px;
    height:220px;
    border-color:rgba(255,255,255,.13);
    transform:translate(55%,-18%) rotate(45deg);
}
.atenea-hub .course-production .course-cover > span { color:rgba(255,255,255,.7); }
.atenea-hub .course-production .course-cover > b {
    position:relative;
    z-index:2;
    color:#fff;
    font-size:22px;
    line-height:.88;
    letter-spacing:-.045em;
}
.atenea-hub .course-production .course-plasma-icon {
    position:relative;
    z-index:2;
    width:70px;
    height:70px;
    color:#ffd21a;
    fill:none;
    stroke:currentColor;
    stroke-linecap:round;
    stroke-linejoin:round;
    stroke-width:2;
    filter:drop-shadow(0 12px 20px rgba(31,17,77,.35));
}
.atenea-hub .course-production .course-plasma-spark { color:#ff9b00; }
.atenea-hub .course-production .course-area { color:#674ecf; }

.atenea-hub .course-grid[data-active-category="produccion"] {
    grid-template-columns:minmax(0,1fr);
}
.atenea-hub .course-grid[data-active-category="produccion"] .course-production {
    display:grid;
    grid-template-columns:minmax(320px,42%) minmax(0,1fr);
    width:100%;
    min-height:300px;
}
.atenea-hub .course-grid[data-active-category="produccion"] .course-production .course-cover {
    height:100%;
    min-height:300px;
}
.atenea-hub .course-grid[data-active-category="produccion"] .course-production .course-plasma-icon {
    width:92px;
    height:92px;
}
.atenea-hub .course-grid[data-active-category="produccion"] .course-production .course-cover > b {
    font-size:30px;
}
.atenea-hub .course-grid[data-active-category="produccion"] .course-production .course-body {
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:clamp(30px,4vw,54px);
}
.atenea-hub .course-grid[data-active-category="produccion"] .course-production .course-body h3 {
    min-height:0;
    margin:10px 0 12px;
    font-size:clamp(28px,3vw,42px);
}
.atenea-hub .course-grid[data-active-category="produccion"] .course-production .course-body p {
    max-width:680px;
    min-height:0;
    font-size:15px;
}
.atenea-hub .course-grid[data-active-category="produccion"] .course-production .course-body > button {
    margin-top:auto;
}

/* Biblioteca interna de la ruta de Producción. */
.production-library[hidden] { display:none; }
.production-library {
    display:grid;
    gap:18px;
    scroll-margin-top:96px;
}
.production-library-header {
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:20px;
    padding:22px 24px;
    border:1px solid rgba(247,204,0,.24);
    border-radius:20px;
    color:#fff;
    background:
        radial-gradient(circle at 88% 18%,rgba(247,204,0,.18),transparent 28%),
        linear-gradient(120deg,#29292e,#34265f);
    box-shadow:0 24px 56px rgba(0,0,0,.22);
}
.production-library-header > button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:42px;
    padding:0 14px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:11px;
    color:#fff;
    background:rgba(255,255,255,.07);
    font-size:11px;
    font-weight:850;
    cursor:pointer;
}
.production-library-header > button span { color:#f7cc00; font-size:16px; }
.production-library-header > div > span {
    color:#f7cc00;
    font-size:9px;
    font-weight:900;
    letter-spacing:.16em;
}
.production-library-header h3 { margin:5px 0 4px; font-size:clamp(27px,3vw,40px); letter-spacing:-.045em; }
.production-library-header p { margin:0; color:rgba(255,255,255,.62); font-size:12px; }
.production-library-header > strong {
    padding:10px 13px;
    border:1px solid rgba(247,204,0,.25);
    border-radius:11px;
    color:#f7cc00;
    background:rgba(247,204,0,.07);
    font-size:10px;
    white-space:nowrap;
}
.production-library-grid { display:grid; grid-template-columns:1fr; gap:15px; }
.production-library-card {
    display:grid;
    grid-template-columns:minmax(320px,42%) minmax(0,1fr);
    min-height:265px;
    overflow:hidden;
    border:1px solid rgba(105,80,216,.34);
    border-radius:20px;
    background:#fff;
    box-shadow:0 22px 54px rgba(0,0,0,.2);
}
.production-library-cover {
    position:relative;
    display:grid;
    place-content:center;
    min-height:265px;
    padding:56px 28px 30px;
    overflow:hidden;
    color:#fff;
    background:
        radial-gradient(circle at 80% 30%,rgba(247,204,0,.22),transparent 25%),
        linear-gradient(135deg,#4a32a6 0%,#6a50d8 58%,#a36c73 100%);
}
.production-library-card:nth-child(even) .production-library-cover {
    background:
        radial-gradient(circle at 76% 30%,rgba(247,204,0,.25),transparent 25%),
        linear-gradient(135deg,#29292e 0%,#3c354b 65%,#765316 150%);
}
.production-library-cover::after {
    content:"";
    position:absolute;
    top:-44px;
    right:16%;
    width:180px;
    height:180px;
    border:1px solid rgba(255,255,255,.14);
    transform:rotate(45deg);
}
.production-library-cover > span {
    position:absolute;
    z-index:2;
    top:26px;
    left:28px;
    right:120px;
    color:rgba(255,255,255,.72);
    font-size:9px;
    font-weight:900;
    letter-spacing:.12em;
}
.production-library-mark {
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:16px;
}
.production-library-mark svg {
    width:72px;
    height:72px;
    color:#f7cc00;
    fill:none;
    stroke:currentColor;
    stroke-linecap:round;
    stroke-linejoin:round;
    stroke-width:2;
}
.production-library-mark strong {
    max-width:240px;
    color:#fff;
    font-size:clamp(22px,2.4vw,34px);
    line-height:.92;
    letter-spacing:-.045em;
}
.production-library-status {
    position:absolute;
    z-index:3;
    top:17px;
    right:17px;
    padding:8px 10px;
    border:1px solid rgba(255,255,255,.22);
    border-radius:999px;
    color:#fff;
    background:rgba(31,25,55,.64);
    font-size:8px;
    letter-spacing:.06em;
    text-transform:uppercase;
    backdrop-filter:blur(10px);
}
.production-library-body {
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-width:0;
    padding:clamp(28px,4vw,48px);
}
.production-library-body > span { color:#674ecf; font-size:9px; font-weight:900; letter-spacing:.13em; }
.production-library-body h4 { margin:9px 0 12px; color:#303034; font-size:clamp(27px,3vw,40px); letter-spacing:-.045em; }
.production-library-body p { max-width:680px; margin:0 0 24px; color:#6d6d73; font-size:14px; line-height:1.65; }
.production-library-body > div { display:flex; gap:15px; color:#6f7d76; font-size:9px; font-weight:900; text-transform:uppercase; }
.production-library-body > button {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    width:100%;
    margin-top:auto;
    padding:15px 0 0;
    border:0;
    border-top:1px solid #ece1c4;
    color:#a85f00;
    background:transparent;
    font-size:12px;
    font-weight:900;
    text-align:left;
    cursor:pointer;
}
.production-library-card.is-resumable { border-color:rgba(102,225,151,.52); }
.production-library-card.is-resumable .production-library-status { color:#102d1d; border-color:#66e197; background:#66e197; }
.production-library-card.is-resumable .production-library-body > button { color:#218553; }
.production-library-card.is-completed { border-color:rgba(102,225,151,.72); }
.production-library-card.is-completed .production-library-cover { background:radial-gradient(circle at 78% 28%,rgba(247,204,0,.15),transparent 25%),linear-gradient(135deg,#174f34,#236b49 68%,#413f37); }
.production-library-card.is-completed .production-library-status { color:#12321f; border-color:#8aefae; background:#8aefae; }
.production-library-card.is-completed .production-library-body > span,
.production-library-card.is-completed .production-library-body > button { color:#218553; }

.course-dialog[data-course-id="produccion"] {
    width:min(700px,calc(100% - 32px));
    max-height:calc(100dvh - 32px);
    overflow:auto;
}
.course-dialog-modules.is-production-outline {
    display:grid;
    gap:9px;
    margin:22px 0 0;
}
.course-dialog-modules.is-production-outline span {
    padding:0;
    border:0;
    border-radius:0;
    background:none;
}
.production-outline-item {
    display:grid;
    grid-template-columns:38px minmax(0,1fr) auto 18px;
    align-items:center;
    gap:12px;
    width:100%;
    min-height:70px;
    padding:12px 14px;
    border:1px solid rgba(247,204,0,.26);
    border-radius:13px;
    color:#fff;
    background:linear-gradient(105deg,rgba(255,255,255,.055),rgba(247,204,0,.075));
    text-align:left;
    cursor:pointer;
    transition:transform .2s ease,border-color .2s ease,background .2s ease;
}
.production-outline-item:hover,
.production-outline-item:focus-visible {
    border-color:rgba(247,204,0,.58);
    background:linear-gradient(105deg,rgba(255,255,255,.085),rgba(247,204,0,.13));
    transform:translateY(-1px);
}
.production-outline-item.is-resumable {
    border-color:rgba(102,225,151,.45);
    background:linear-gradient(105deg,rgba(102,225,151,.07),rgba(247,204,0,.07));
}
.production-outline-item.is-resumable .production-outline-action { color:#66e197 !important; }
.production-outline-item.is-completed {
    border-color:rgba(102,225,151,.6);
    background:linear-gradient(105deg,rgba(102,225,151,.13),rgba(51,140,91,.12));
}
.production-outline-item.is-completed .production-outline-number,
.production-outline-item.is-completed .production-outline-action,
.production-outline-item.is-completed .production-outline-arrow { color:#66e197 !important; }
.production-outline-number {
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    border:1px solid rgba(247,204,0,.32) !important;
    border-radius:11px !important;
    color:#f7cc00 !important;
    font-size:12px !important;
    font-weight:900;
}
.production-outline-copy { display:grid; gap:4px; min-width:0; }
.production-outline-copy strong { font-size:15px; line-height:1.2; }
.production-outline-copy small { color:rgba(255,255,255,.56); font-size:10px; font-weight:750; }
.production-outline-action { color:#f7cc00 !important; font-size:10px !important; font-weight:900; text-transform:uppercase; }
.production-outline-arrow {
    color:#f7cc00 !important;
    font-size:17px !important;
    font-weight:900;
    text-align:center;
    transition:transform .2s ease;
}
.production-process-toggle[aria-expanded="true"] .production-outline-arrow { transform:rotate(180deg); }
.production-process-list {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
    max-height:min(43vh,420px);
    padding:6px 2px 3px 14px;
    overflow:auto;
    scrollbar-width:thin;
    scrollbar-color:rgba(247,204,0,.48) rgba(255,255,255,.06);
}
.production-process-list[hidden] { display:none; }
.production-process-entry {
    display:grid;
    grid-template-columns:30px minmax(0,1fr) auto 13px;
    align-items:center;
    gap:8px;
    min-height:52px;
    padding:9px 10px;
    border:1px solid rgba(255,255,255,.09);
    border-radius:10px;
    color:#fff;
    background:rgba(255,255,255,.035);
    text-align:left;
    cursor:pointer;
    transition:border-color .2s ease,background .2s ease;
}
.production-process-entry:hover,
.production-process-entry:focus-visible {
    border-color:rgba(247,204,0,.42);
    background:rgba(247,204,0,.09);
}
.production-process-entry.is-resumable {
    border-color:rgba(102,225,151,.48);
    background:rgba(102,225,151,.08);
}
.production-process-entry.is-completed {
    border-color:rgba(102,225,151,.6);
    background:linear-gradient(105deg,rgba(102,225,151,.14),rgba(51,140,91,.09));
}
.production-process-number { color:#f7cc00 !important; font-size:10px !important; font-weight:900; }
.production-process-copy { display:grid; gap:3px; min-width:0; }
.production-process-entry strong { min-width:0; font-size:11px; line-height:1.25; }
.production-process-entry em { overflow:hidden; color:rgba(255,255,255,.42); font-size:8px; font-style:normal; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.production-process-entry small { color:rgba(255,255,255,.5); font-size:8px; font-weight:850; text-transform:uppercase; }
.production-process-entry.is-resumable small,
.production-process-entry.is-completed small { color:#66e197; }
.production-process-entry.is-completed .production-process-number,
.production-process-entry.is-completed .production-process-arrow { color:#66e197 !important; }
.production-process-arrow { color:#f7cc00 !important; font-size:13px !important; text-align:right; }

.atenea-course-player {
    width:calc(100vw - 28px);
    max-width:1720px;
    height:calc(100dvh - 28px);
    max-height:1080px;
    margin:auto;
    padding:0;
    overflow:hidden;
    border:1px solid rgba(247,204,0,.32);
    border-radius:24px;
    color:#fff;
    background:#252529;
    box-shadow:0 50px 140px rgba(0,0,0,.58);
}
.atenea-course-player::backdrop {
    background:rgba(18,18,21,.82);
    backdrop-filter:blur(12px);
}
.atenea-course-player-panel {
    display:grid;
    grid-template-rows:auto auto minmax(0,1fr) auto;
    height:100%;
    min-height:0;
}
.atenea-course-player-header {
    display:flex;
    justify-content:space-between;
    gap:24px;
    align-items:center;
    padding:18px 22px 16px;
    border-bottom:1px solid rgba(255,255,255,.08);
    background:linear-gradient(105deg,#2e2e33 0%,#34265f 100%);
}
.atenea-course-player-header > div:first-child > span {
    display:block;
    margin-bottom:5px;
    color:#f7cc00;
    font-size:10px;
    font-weight:900;
    letter-spacing:.15em;
}
.atenea-course-player-header h3 {
    margin:0;
    color:#fff;
    font-size:clamp(22px,2vw,31px);
    letter-spacing:-.045em;
}
.atenea-course-player-header p {
    margin:5px 0 0;
    color:rgba(255,255,255,.62);
    font-size:12px;
}
.atenea-course-player-actions { display:flex; gap:9px; align-items:center; flex:0 0 auto; }
.atenea-course-player-actions a,
.atenea-course-player-actions button,
.atenea-course-player-footer button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:40px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:11px;
    color:#fff;
    background:rgba(255,255,255,.06);
    cursor:pointer;
    font:800 11px/1 'Montserrat',sans-serif;
    text-decoration:none;
}
.atenea-course-player-actions a { gap:8px; padding:0 14px; }
.atenea-course-player-actions button { width:40px; padding:0; font-size:23px; }
.atenea-course-player-actions a:hover,
.atenea-course-player-actions button:hover { border-color:rgba(247,204,0,.5); background:rgba(247,204,0,.1); }
.atenea-course-player-meta {
    display:flex;
    align-items:center;
    gap:18px;
    min-height:38px;
    padding:0 22px;
    color:rgba(255,255,255,.66);
    background:#202024;
    font-size:10px;
    font-weight:750;
}
.atenea-course-player-meta span { display:inline-flex; align-items:center; gap:6px; }
.atenea-course-player-meta span b { color:#f7cc00; }
.atenea-course-player-meta span i { width:7px; height:7px; border-radius:50%; background:#5ee08b; box-shadow:0 0 12px rgba(94,224,139,.6); }
.atenea-course-player-meta small { margin-left:auto; color:rgba(255,255,255,.48); font-size:9px; }
.atenea-course-player-stage {
    position:relative;
    min-height:0;
    overflow:hidden;
    background:#151518;
}
.atenea-course-player-stage iframe {
    position:absolute;
    z-index:2;
    inset:0;
    width:100%;
    height:100%;
    border:0;
    opacity:0;
    background:#fff;
    transition:opacity .22s ease;
}
.atenea-course-player-stage.is-loaded iframe { opacity:1; }
.atenea-course-player-loader {
    position:absolute;
    z-index:1;
    inset:0;
    display:grid;
    place-content:center;
    justify-items:center;
    text-align:center;
    background:radial-gradient(circle at center,rgba(105,80,216,.18),transparent 36%),#1d1d21;
}
.atenea-course-player-loader > i {
    width:42px;
    height:42px;
    margin-bottom:18px;
    border:3px solid rgba(255,255,255,.12);
    border-top-color:#f7cc00;
    border-radius:50%;
    animation:ateneaPlayerSpin .8s linear infinite;
}
.atenea-course-player-loader strong { color:#fff; font-size:17px; }
.atenea-course-player-loader span { margin-top:7px; color:rgba(255,255,255,.52); font-size:11px; }
.atenea-course-player-footer {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    min-height:54px;
    padding:8px 14px 8px 22px;
    border-top:1px solid rgba(255,255,255,.08);
    color:rgba(255,255,255,.56);
    background:#202024;
    font-size:10px;
}
.atenea-course-player-footer button {
    min-height:38px;
    padding:0 15px;
    color:#29272b;
    border-color:#f7cc00;
    background:linear-gradient(135deg,#f19900,#f7cc00);
}
.atenea-course-player-footer-actions { display:flex; align-items:center; gap:9px; }
.atenea-course-player-footer .atenea-course-player-restart {
    gap:7px;
    color:#fff;
    border-color:rgba(255,255,255,.18);
    background:rgba(255,255,255,.07);
}
.atenea-course-player-footer .atenea-course-player-restart:hover {
    border-color:rgba(247,204,0,.52);
    background:rgba(247,204,0,.12);
}
.atenea-course-player-footer .atenea-course-player-exit {
    color:#fff;
    border-color:rgba(255,255,255,.18);
    background:rgba(255,255,255,.07);
}
.atenea-course-player-footer .atenea-course-player-exit:hover {
    border-color:rgba(255,255,255,.34);
    background:rgba(255,255,255,.12);
}
.atenea-course-player-footer .atenea-course-player-complete {
    color:#12321f;
    border-color:#66e197;
    background:linear-gradient(135deg,#50cf83,#8aefae);
    box-shadow:0 10px 24px rgba(80,207,131,.18);
}
.atenea-course-player-restart > span { font-size:17px; line-height:0; }
.atenea-course-player-open { overflow:hidden; }
@keyframes ateneaPlayerSpin { to { transform:rotate(360deg); } }

@media (max-width:760px) {
    .atenea-hub .course-grid[data-active-category="produccion"] .course-production { grid-template-columns:1fr; }
    .atenea-hub .course-grid[data-active-category="produccion"] .course-production .course-cover { min-height:210px; }
    .production-library-header { grid-template-columns:1fr; align-items:start; padding:18px; }
    .production-library-header > button { width:max-content; }
    .production-library-header > strong { width:max-content; }
    .production-library-card { grid-template-columns:1fr; }
    .production-library-cover { min-height:210px; }
    .production-library-cover > span { right:105px; }
    .production-library-body { min-height:250px; padding:26px 24px; }
    .production-process-list { grid-template-columns:1fr; padding-left:7px; }
    .production-outline-item { grid-template-columns:34px minmax(0,1fr) 16px; gap:9px; }
    .production-outline-action { display:none; }
    .atenea-course-player { width:100vw; height:100dvh; max-height:none; border:0; border-radius:0; }
    .atenea-course-player-header { align-items:flex-start; padding:14px 14px 12px; }
    .atenea-course-player-header p,
    .atenea-course-player-actions a { display:none; }
    .atenea-course-player-header > div:first-child > span { font-size:8px; }
    .atenea-course-player-meta { gap:12px; min-height:34px; padding:0 14px; }
    .atenea-course-player-meta small { display:none; }
    .atenea-course-player-footer { min-height:48px; padding:6px 8px 6px 14px; }
    .atenea-course-player-footer > span { display:none; }
    .atenea-course-player-footer-actions { width:100%; }
    .atenea-course-player-footer-actions button { flex:1; width:auto; padding-inline:9px; }
}

/* Transición breve al entrar a Atenea */
.atenea-transition {
    position:fixed;
    z-index:10000;
    inset:0;
    display:grid;
    place-items:center;
    padding:24px;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    background:
        radial-gradient(circle at 72% 24%,rgba(247,204,0,.18),transparent 27%),
        radial-gradient(circle at 20% 90%,rgba(241,153,0,.15),transparent 32%),
        #303034;
    transition:opacity .18s ease;
}
.atenea-transition::before {
    content:"";
    position:absolute;
    inset:0;
    opacity:.18;
    background-image:linear-gradient(rgba(247,204,0,.3) 1px,transparent 1px),linear-gradient(90deg,rgba(247,204,0,.3) 1px,transparent 1px);
    background-size:56px 56px;
}
.atenea-transition.is-visible { opacity:1; visibility:visible; }
.atenea-transition.is-complete { opacity:0; visibility:hidden; pointer-events:none; }
.atenea-transition-card {
    position:relative;
    z-index:1;
    display:grid;
    justify-items:center;
    width:min(430px,100%);
    padding:34px 38px 30px;
    border:1px solid rgba(247,204,0,.28);
    border-radius:28px;
    background:rgba(39,39,42,.82);
    box-shadow:0 42px 110px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.08);
    backdrop-filter:blur(16px);
}
.atenea-transition-card img { width:146px; height:184px; object-fit:contain; }
.atenea-transition-card > div { margin-top:14px; text-align:center; }
.atenea-transition-card strong { display:block; color:#fff; font-size:24px; letter-spacing:-.035em; }
.atenea-transition-card span { display:block; margin-top:7px; color:rgba(255,255,255,.62); font-size:12px; }
.atenea-transition-card > i {
    display:block;
    width:100%;
    height:4px;
    margin-top:24px;
    overflow:hidden;
    border-radius:999px;
    background:rgba(255,255,255,.09);
}
.atenea-transition-card > i::after {
    content:"";
    display:block;
    width:100%;
    height:100%;
    border-radius:inherit;
    background:linear-gradient(90deg,#f19900,#f7cc00);
    transform-origin:left;
    animation:ateneaLoad .62s cubic-bezier(.22,1,.36,1) both;
}
.atenea-is-loading { overflow:hidden; }
@keyframes ateneaLoad { from { transform:scaleX(.04); } to { transform:scaleX(1); } }

/* Ninguna capa decorativa debe bloquear los botones de la intranet. */
@media (max-width:900px) {
    .dashboard-page.sidebar-open::after { pointer-events:none; }
}

@media (max-width:900px) {
    .intranet-agora-logo { width:190px; }
    .atenea-brand-card { justify-self:start; }
    .atenea-hub .learning-dashboard {
        grid-template-columns:minmax(0,1fr);
        grid-template-areas:
            "back"
            "catalog"
            "content";
    }
}
@media (max-width:700px) {
    .auth-page .access-brand-row-agora { min-height:68px; padding:10px 16px; }
    .auth-page .access-agora-logo { width:185px; height:46px; }
    .home-title-logo { width:142px; height:60px; }
    .home-title-logo img { width:116px; height:42px; }
    .atenea-brand-card { min-height:136px; padding:13px 18px; }
    .atenea-brand-card img { width:87px; height:108px; }
    .atenea-hub .learning-dashboard { padding-top:82px; }
    .atenea-hub .course-cover[data-progress]::before { width:62px; height:62px; font-size:12px; }
}

/* Calendario corporativo de cumpleaños */
.home-birthday-preview {
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:18px;
    align-items:center;
    width:100%;
    margin-top:22px;
    padding:18px 22px;
    border:1px solid rgba(98,80,209,.18);
    border-radius:20px;
    color:#242643;
    text-align:left;
    background:linear-gradient(115deg,rgba(255,255,255,.96),rgba(236,232,255,.94));
    box-shadow:0 18px 42px rgba(42,39,85,.09);
    cursor:pointer;
    transition:transform .2s ease,box-shadow .2s ease;
}
.home-birthday-preview:hover { transform:translateY(-2px); box-shadow:0 24px 50px rgba(42,39,85,.14); }
.home-birthday-preview-icon { display:grid; place-items:center; width:54px; height:54px; border-radius:17px; font-size:27px; background:#fff4c7; }
.home-birthday-preview > span:nth-child(2) { display:grid; gap:3px; }
.home-birthday-preview small { color:#6250d1; font-size:10px; font-weight:900; letter-spacing:.13em; }
.home-birthday-preview strong { font-size:17px; }
.home-birthday-preview em { color:#777a91; font-size:12px; font-style:normal; }
.home-birthday-preview > i { color:#6250d1; font-size:12px; font-style:normal; font-weight:850; }

.birthday-hub { min-height:calc(100vh - 74px); padding:clamp(26px,4vw,62px); color:#242643; background:linear-gradient(135deg,#c4dafa 0,#edf2ff 50%,#e9e4ff 100%); }
.birthday-hero { position:relative; display:grid; grid-template-columns:1fr auto; gap:30px; align-items:center; overflow:hidden; padding:clamp(28px,4vw,52px); border-radius:30px; color:#fff; background:radial-gradient(circle at 82% 24%,rgba(247,204,0,.28),transparent 28%),linear-gradient(125deg,#303034,#4a3b9c 72%,#6250d1); box-shadow:0 30px 70px rgba(48,48,52,.2); }
.birthday-hero::before { content:""; position:absolute; inset:0; opacity:.18; background-image:radial-gradient(#fff 1px,transparent 1px); background-size:22px 22px; }
.birthday-hero > div { position:relative; z-index:1; }
.birthday-hero span,.birthday-admin-panel header small,.birthday-calendar-card header small,.birthday-upcoming-card header small { display:block; color:#d9ceff; font-size:10px; font-weight:900; letter-spacing:.15em; }
.birthday-hero h1 { margin:10px 0 12px; font-size:clamp(38px,5vw,72px); letter-spacing:-.065em; line-height:.94; }
.birthday-hero h1 em { color:#f7cc00; font-style:normal; }
.birthday-hero p { max-width:700px; margin:0; color:#d8d9eb; font-size:14px; line-height:1.7; }
.birthday-hero-art { display:flex; align-items:center; gap:8px; font-size:52px; }
.birthday-hero-art strong { display:grid; place-items:center; width:126px; height:126px; border:1px solid rgba(255,255,255,.2); border-radius:50%; font-size:62px; background:rgba(255,255,255,.09); box-shadow:inset 0 1px 0 rgba(255,255,255,.2); }
.birthday-alert { margin-top:20px; padding:14px 17px; border-radius:13px; font-size:13px; font-weight:750; }
.birthday-alert-error { color:#8b2d34; border:1px solid #efb4b8; background:#fff0f1; }
.birthday-alert-success { color:#23613e; border:1px solid #b7dfc7; background:#edf9f1; }
.birthday-dashboard { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(280px,.62fr); gap:22px; margin-top:24px; }
.birthday-calendar-card,.birthday-upcoming-card,.birthday-admin-panel { border:1px solid rgba(74,59,156,.15); border-radius:26px; background:rgba(255,255,255,.92); box-shadow:0 24px 60px rgba(50,48,82,.1); }
.birthday-calendar-card { padding:24px; }
.birthday-calendar-card > header { display:grid; grid-template-columns:44px 1fr 44px; align-items:center; text-align:center; }
.birthday-calendar-card > header button { width:42px; height:42px; border:1px solid #dbdef0; border-radius:13px; color:#6250d1; background:#f7f6ff; cursor:pointer; font-size:18px; font-weight:900; }
.birthday-calendar-card > header button:hover { color:#fff; background:#6250d1; }
.birthday-calendar-card header small,.birthday-upcoming-card header small,.birthday-admin-panel header small { color:#6250d1; }
.birthday-calendar-card h2,.birthday-upcoming-card h2,.birthday-admin-panel h2 { margin:5px 0 0; font-size:26px; letter-spacing:-.045em; }
.birthday-weekdays,.birthday-calendar-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:7px; }
.birthday-weekdays { margin-top:22px; padding:0 4px 9px; color:#8a8ca0; text-align:center; font-size:10px; font-weight:850; text-transform:uppercase; }
.birthday-day { position:relative; min-height:86px; padding:10px; border:1px solid #e4e5f0; border-radius:14px; color:#404259; background:#fbfbfe; }
.birthday-day.is-empty { border-color:transparent; background:transparent; }
.birthday-day.is-today { border-color:#6250d1; box-shadow:inset 0 0 0 1px #6250d1; }
.birthday-day-number { font-size:12px; font-weight:850; }
.birthday-day.is-today .birthday-day-number { display:grid; place-items:center; width:25px; height:25px; border-radius:50%; color:#fff; background:#6250d1; }
.birthday-day-events { display:grid; gap:4px; margin-top:7px; }
.birthday-day-event { overflow:hidden; padding:5px 7px; border-radius:8px; color:#332c64; text-overflow:ellipsis; white-space:nowrap; background:linear-gradient(90deg,#fff0a8,#f0e9ff); font-size:9px; font-weight:850; }
.birthday-day.has-birthday::after { content:"🎂"; position:absolute; top:7px; right:8px; font-size:13px; }
.birthday-calendar-card > footer { display:flex; gap:8px; align-items:center; margin-top:15px; color:#85879a; font-size:11px; }
.birthday-calendar-card > footer i { width:9px; height:9px; border-radius:50%; background:#f7cc00; }
.birthday-upcoming-card { overflow:hidden; }
.birthday-upcoming-card > header { padding:24px 24px 19px; border-bottom:1px solid #e5e6f0; }
.birthday-upcoming-list { display:grid; }
.birthday-upcoming-list article { display:grid; grid-template-columns:55px 1fr auto; gap:13px; align-items:center; padding:15px 20px; border-bottom:1px solid #ececf3; }
.birthday-upcoming-list article:last-child { border-bottom:0; }
.birthday-upcoming-list time { display:grid; place-items:center; width:52px; height:58px; border-radius:14px; color:#fff; background:#6250d1; }
.birthday-upcoming-list time strong { font-size:20px; line-height:1; }
.birthday-upcoming-list time span { margin-top:3px; color:#dcd4ff; font-size:8px; font-weight:900; letter-spacing:.08em; }
.birthday-upcoming-list article > div { display:grid; gap:4px; min-width:0; }
.birthday-upcoming-list article > div strong { overflow:hidden; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.birthday-upcoming-list article > div small { color:#888a9e; font-size:10px; }
.birthday-upcoming-list article > span { font-size:20px; }
.birthday-empty { margin:0; padding:24px; color:#85879a; font-size:12px; }
.birthday-admin-panel { margin-top:22px; padding:25px; }
.birthday-admin-panel > header { display:flex; justify-content:space-between; gap:24px; align-items:end; padding-bottom:19px; border-bottom:1px solid #e3e4ef; }
.birthday-admin-panel > header p { max-width:400px; margin:0; color:#77798d; font-size:12px; line-height:1.6; }
.birthday-create-form { display:grid; grid-template-columns:minmax(220px,1fr) minmax(180px,.55fr) auto; gap:13px; align-items:end; margin-top:20px; }
.birthday-create-form label { display:grid; gap:7px; }
.birthday-create-form label span { color:#606276; font-size:10px; font-weight:850; text-transform:uppercase; }
.birthday-create-form input { min-height:48px; padding:0 14px; border:1px solid #d7d9e7; border-radius:12px; color:#242643; background:#fff; font:inherit; }
.birthday-create-form button { min-height:48px; padding:0 18px; border:0; border-radius:12px; color:#fff; background:#6250d1; cursor:pointer; font-weight:850; }
.birthday-admin-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:19px; }
.birthday-admin-list article { display:grid; grid-template-columns:auto 1fr auto; gap:11px; align-items:center; padding:12px 14px; border:1px solid #e2e3ee; border-radius:13px; background:#fafaff; }
.birthday-admin-list article > div { display:grid; gap:3px; }
.birthday-admin-list article strong { font-size:12px; }
.birthday-admin-list article small { color:#888a9b; font-size:10px; }
.birthday-admin-list form { margin:0; }
.birthday-admin-list button { padding:7px 9px; border:1px solid #edc2c4; border-radius:8px; color:#a43e45; background:#fff5f5; cursor:pointer; font-size:9px; font-weight:850; }

/* Celebración automática */
.birthday-celebration { position:fixed; z-index:12000; inset:0; display:grid; place-items:center; overflow:hidden; padding:24px; opacity:0; background:radial-gradient(circle at center,rgba(98,80,209,.55),rgba(17,18,35,.94)); backdrop-filter:blur(9px); transition:opacity .35s ease; }
.birthday-celebration.is-visible { opacity:1; }
.birthday-celebration.is-closing { opacity:0; pointer-events:none; }
.birthday-celebration canvas { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.birthday-celebration-card { position:relative; z-index:3; display:grid; justify-items:center; width:min(590px,100%); padding:38px 42px 34px; border:1px solid rgba(255,255,255,.28); border-radius:32px; color:#fff; text-align:center; background:linear-gradient(145deg,rgba(48,48,52,.96),rgba(74,59,156,.94)); box-shadow:0 45px 120px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.2); animation:birthdayCardIn .65s cubic-bezier(.2,1,.3,1) both; }
.birthday-celebration-card > button:first-child { position:absolute; top:16px; right:17px; width:36px; height:36px; border:1px solid rgba(255,255,255,.18); border-radius:50%; color:#fff; background:rgba(255,255,255,.08); cursor:pointer; font-size:23px; }
.birthday-pinata { font-size:92px; filter:drop-shadow(0 18px 18px rgba(0,0,0,.25)); transform-origin:top center; animation:pinataSwing 1.2s ease-in-out infinite alternate; }
.birthday-celebration-card > span { margin-top:10px; color:#f7cc00; font-size:10px; font-weight:900; letter-spacing:.16em; }
.birthday-celebration-card h2 { margin:10px 0 4px; font-size:clamp(38px,6vw,66px); letter-spacing:-.065em; line-height:.95; }
.birthday-celebration-card > strong { color:#fff2a4; font-size:clamp(22px,3vw,34px); }
.birthday-celebration-card p { max-width:450px; margin:15px 0 0; color:#d9d8e8; font-size:13px; line-height:1.65; }
.birthday-celebration-action { margin-top:24px; padding:14px 20px; border:0; border-radius:12px; color:#303034; background:#f7cc00; cursor:pointer; font-weight:900; box-shadow:0 15px 35px rgba(247,204,0,.25); }
.birthday-garland { position:absolute; z-index:2; top:0; left:0; display:flex; justify-content:space-around; width:100%; padding:0 4%; border-top:3px solid rgba(255,255,255,.65); }
.birthday-garland i { width:0; height:0; border-left:24px solid transparent; border-right:24px solid transparent; border-top:44px solid #f7cc00; filter:drop-shadow(0 5px 5px rgba(0,0,0,.2)); }
.birthday-garland i:nth-child(2n) { border-top-color:#75d5c7; }
.birthday-garland i:nth-child(3n) { border-top-color:#9f86ff; }
.birthday-balloon { position:absolute; z-index:2; font-size:68px; animation:balloonFloat 2.6s ease-in-out infinite alternate; }
.birthday-balloon-one { left:6%; bottom:10%; }
.birthday-balloon-two { right:7%; top:18%; animation-delay:-.8s; }
.birthday-balloon-three { right:15%; bottom:7%; animation-delay:-1.4s; }
@keyframes birthdayCardIn { from { opacity:0; transform:translateY(34px) scale(.92); } to { opacity:1; transform:none; } }
@keyframes pinataSwing { from { transform:rotate(-7deg); } to { transform:rotate(7deg); } }
@keyframes balloonFloat { from { transform:translateY(10px) rotate(-3deg); } to { transform:translateY(-14px) rotate(4deg); } }

@media (max-width:980px) {
    .birthday-dashboard { grid-template-columns:1fr; }
    .birthday-upcoming-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .birthday-upcoming-list article { border-right:1px solid #ececf3; }
}
@media (max-width:700px) {
    .home-birthday-preview { grid-template-columns:auto 1fr; }
    .home-birthday-preview > i { grid-column:2; }
    .birthday-hub { padding:16px; }
    .birthday-hero { grid-template-columns:1fr; padding:28px 24px; }
    .birthday-hero-art { display:none; }
    .birthday-calendar-card { padding:15px 10px; }
    .birthday-weekdays,.birthday-calendar-grid { gap:3px; }
    .birthday-day { min-height:62px; padding:6px 4px; border-radius:9px; }
    .birthday-day-event { padding:3px; font-size:7px; }
    .birthday-day.has-birthday::after { display:none; }
    .birthday-upcoming-list,.birthday-admin-list { grid-template-columns:1fr; }
    .birthday-create-form { grid-template-columns:1fr; }
    .birthday-admin-panel > header { display:grid; }
    .birthday-celebration-card { padding:30px 20px 27px; }
    .birthday-pinata { font-size:72px; }
    .birthday-balloon { font-size:44px; }
}

/* Vulkano: contraste volcánico sobre el panel oscuro. El tema general se carga
   después de styles.css, por eso estos colores viven al final de esta hoja. */
#proyectos .vulkano-project .project-info {
    color:#fff4e8;
    border-right-color:rgba(255,169,105,.2);
    background:
        radial-gradient(circle at 7% 13%,rgba(255,112,34,.18),transparent 30%),
        linear-gradient(145deg,#321b12 0%,#21110c 55%,#120a08 100%);
}
#proyectos .vulkano-project .project-meta,
#proyectos .vulkano-project .project-status { color:#d8bfae; }
#proyectos .vulkano-project .project-status i {
    background:#ff7a25;
    box-shadow:0 0 14px rgba(255,122,37,.72);
}
#proyectos .vulkano-project .project-kicker { color:#ff9a52; }
#proyectos .vulkano-project .project-info h3 { color:#fff4e8; }
#proyectos .vulkano-project .project-info h3 em { color:#ff7a25; }
#proyectos .vulkano-project .project-info p { color:#d7c2b5; }
#proyectos .vulkano-project .project-link {
    color:#fff4e8;
    border-top-color:rgba(255,210,180,.2);
}
#proyectos .vulkano-project .project-link > span {
    color:#24110a;
    background:linear-gradient(135deg,#ff9a52,#ff6a1a);
    box-shadow:0 12px 30px rgba(255,91,20,.2);
}

/* Transición breve al abrir Vulkano. */
.vulkano-transition {
    position:fixed;
    z-index:10010;
    inset:0;
    display:grid;
    place-items:center;
    padding:24px;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    background:
        radial-gradient(circle at 50% 82%,rgba(255,92,18,.28),transparent 31%),
        radial-gradient(circle at 18% 10%,rgba(255,158,78,.12),transparent 27%),
        #160d0a;
    transition:opacity .17s ease;
}
.vulkano-transition::before {
    content:"";
    position:absolute;
    inset:0;
    opacity:.18;
    background-image:radial-gradient(circle,rgba(255,164,91,.85) 1px,transparent 1.5px);
    background-size:34px 34px;
}
.vulkano-transition.is-visible { opacity:1; visibility:visible; }
.vulkano-transition-card {
    position:relative;
    z-index:1;
    display:grid;
    justify-items:center;
    width:min(430px,100%);
    padding:34px 38px 30px;
    border:1px solid rgba(255,124,43,.35);
    border-radius:28px;
    color:#fff4e8;
    background:linear-gradient(145deg,rgba(53,28,18,.94),rgba(23,12,9,.96));
    box-shadow:0 42px 110px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.08);
    backdrop-filter:blur(16px);
}
.vulkano-transition-mark {
    position:relative;
    display:grid;
    place-items:center;
    width:92px;
    height:92px;
    overflow:hidden;
    border:1px solid rgba(255,159,85,.38);
    border-radius:28px;
    background:radial-gradient(circle at 50% 85%,rgba(255,93,18,.75),transparent 34%),#21110c;
    box-shadow:0 18px 46px rgba(255,76,7,.18);
}
.vulkano-transition-mark::before {
    content:"";
    position:absolute;
    left:16px;
    right:16px;
    bottom:12px;
    height:39px;
    clip-path:polygon(0 100%,24% 45%,43% 13%,57% 13%,76% 45%,100% 100%);
    background:linear-gradient(145deg,#5a3323,#20120d 72%);
}
.vulkano-transition-mark span { position:relative; z-index:2; color:#fff4e8; font-size:38px; font-weight:900; }
.vulkano-transition-mark i {
    position:absolute;
    z-index:1;
    left:42px;
    bottom:10px;
    width:8px;
    height:38px;
    border-radius:999px 999px 4px 4px;
    background:linear-gradient(#ffd16f,#ff5d16);
    filter:drop-shadow(0 0 9px #ff6a1a);
}
.vulkano-transition-card > div:nth-child(2) { margin-top:18px; text-align:center; }
.vulkano-transition-card strong { display:block; color:#fff4e8; font-size:24px; letter-spacing:-.035em; }
.vulkano-transition-card > div:nth-child(2) span { display:block; margin-top:7px; color:#d7c2b5; font-size:12px; }
.vulkano-transition-card > i {
    display:block;
    width:100%;
    height:4px;
    margin-top:24px;
    overflow:hidden;
    border-radius:999px;
    background:rgba(255,255,255,.08);
}
.vulkano-transition-card > i::after {
    content:"";
    display:block;
    width:100%;
    height:100%;
    border-radius:inherit;
    background:linear-gradient(90deg,#ff5d16,#ffc36d);
    transform-origin:left;
    animation:vulkanoLoad .7s cubic-bezier(.22,1,.36,1) both;
}
.vulkano-is-loading { overflow:hidden; }
@keyframes vulkanoLoad { from { transform:scaleX(.04); } to { transform:scaleX(1); } }

/* Vulkano adopta su nueva identidad blanca y fucsia también dentro de Ágora. */
#proyectos .vulkano-project .project-info {
    color:#29151f;
    border-right-color:rgba(201,0,89,.14);
    background:linear-gradient(145deg,#fff 0%,#fff6f9 100%);
}
#proyectos .vulkano-project .project-meta,
#proyectos .vulkano-project .project-status { color:#876976; }
#proyectos .vulkano-project .project-status i { background:#e31362; box-shadow:0 0 14px rgba(227,19,98,.48); }
#proyectos .vulkano-project .project-kicker { color:#c40057; }
#proyectos .vulkano-project .project-info h3 { color:#2b1721; }
#proyectos .vulkano-project .project-info h3 em { color:#e31362; }
#proyectos .vulkano-project .project-info p { color:#755f69; }
#proyectos .vulkano-project .project-link { color:#371c29; border-top-color:rgba(201,0,89,.14); }
#proyectos .vulkano-project .project-link > span { color:#fff; background:linear-gradient(135deg,#ff4775,#c80059); box-shadow:0 12px 30px rgba(201,0,89,.18); }
#proyectos .vulkano-stage {
    background:radial-gradient(circle at 50% 42%,rgba(255,71,117,.11),transparent 24%),linear-gradient(145deg,#fff,#fff2f6);
}
#proyectos .vulkano-stars { opacity:.24; background-image:radial-gradient(circle,rgba(227,19,98,.44) 1px,transparent 1.5px); }
#proyectos .vulkano-mountain,#proyectos .vulkano-smoke { display:none; }
.vulkano-stage-logo {
    position:absolute;
    z-index:2;
    left:50%;
    top:42%;
    width:min(26%,190px);
    height:auto;
    translate:-50% -50%;
    filter:drop-shadow(0 22px 30px rgba(201,0,89,.15));
}
#proyectos .vulkano-preview > span {
    border-color:rgba(201,0,89,.15);
    color:#2b1721;
    background:rgba(255,255,255,.92);
    box-shadow:0 16px 38px rgba(105,15,51,.1);
    backdrop-filter:none;
}
#proyectos .vulkano-preview b { color:#d5085c; }
#proyectos .vulkano-preview small { color:#856976; }
.vulkano-transition {
    background:radial-gradient(circle at 50% 50%,rgba(255,71,117,.11),transparent 34%),#fff;
}
.vulkano-transition::before { opacity:.16; background-image:radial-gradient(circle,rgba(227,19,98,.7) 1px,transparent 1.5px); }
.vulkano-transition-card {
    border-color:rgba(201,0,89,.17);
    color:#2b1721;
    background:#fff;
    box-shadow:0 38px 100px rgba(103,14,48,.15);
    backdrop-filter:none;
}
.vulkano-transition-mark { border:0; background:#fff; box-shadow:0 18px 42px rgba(201,0,89,.14); }
.vulkano-transition-mark::before,.vulkano-transition-mark i,.vulkano-transition-mark span { display:none; }
.vulkano-transition-mark img { width:72px; height:72px; object-fit:contain; object-position:center; }
.vulkano-transition-card strong { color:#2b1721; }
.vulkano-transition-card > div:nth-child(2) span { color:#7e6571; }
.vulkano-transition-card > i { background:#f8dce7; }
.vulkano-transition-card > i::after { background:linear-gradient(90deg,#ff4775,#c80059); }

/* Afiche del proyecto NÃ³mina. */
.project-dot-payroll {
    color:#20b887;
    background:#20b887;
    box-shadow:0 0 10px rgba(32,184,135,.48);
}
#proyectos .payroll-project .project-info {
    padding:72px 68px;
    color:#17233f;
    border-right-color:rgba(39,65,116,.13);
    background:
        radial-gradient(circle at 12% 12%,rgba(64,214,164,.12),transparent 27%),
        linear-gradient(145deg,#f9fffd,#edf8f6);
}
#proyectos .payroll-project .project-meta,
#proyectos .payroll-project .project-status { color:#65718a; }
#proyectos .payroll-project .project-status i {
    background:#20b887;
    box-shadow:0 0 14px rgba(32,184,135,.48);
}
#proyectos .payroll-project .project-kicker { color:#138d6a; }
#proyectos .payroll-project .project-info h3 { color:#17233f; }
#proyectos .payroll-project .project-info h3 em { color:#20b887; }
#proyectos .payroll-project .project-info p { color:#68748b; }
#proyectos .payroll-project .project-link {
    color:#17233f;
    border-top-color:rgba(39,65,116,.14);
}
#proyectos .payroll-project .project-link > span {
    color:#fff;
    background:linear-gradient(135deg,#40d6a4,#139875);
    box-shadow:0 13px 30px rgba(19,152,117,.2);
}
.payroll-stage {
    position:relative;
    display:grid;
    place-items:center;
    min-height:650px;
    overflow:hidden;
    perspective:1100px;
    background:
        radial-gradient(circle at 78% 20%,rgba(196,157,255,.44),transparent 31%),
        radial-gradient(circle at 20% 78%,rgba(64,214,164,.2),transparent 30%),
        linear-gradient(145deg,#40206f 0%,#6835a5 52%,#9556d3 100%);
}
.payroll-scene {
    position:relative;
    z-index:2;
    display:grid;
    place-items:center;
    width:min(100%,1000px);
    height:100%;
    min-height:650px;
    margin-inline:auto;
}
.payroll-grid {
    position:absolute;
    inset:0;
    opacity:.43;
    background-image:
        linear-gradient(rgba(255,255,255,.1) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.1) 1px,transparent 1px);
    background-size:52px 52px;
    mask-image:linear-gradient(135deg,#000,rgba(0,0,0,.28));
}
.payroll-orbit {
    position:absolute;
    z-index:1;
    width:min(66vw,620px);
    aspect-ratio:1;
    border:1px solid rgba(98,80,209,.18);
    border-radius:50%;
    box-shadow:0 0 0 70px rgba(255,255,255,.06),0 0 0 140px rgba(98,80,209,.035);
}
.payroll-assistant {
    position:absolute;
    z-index:5;
    right:-4.5%;
    bottom:-5%;
    width:auto;
    height:min(104%,690px);
    object-fit:contain;
    object-position:right bottom;
    pointer-events:none;
    user-select:none;
    filter:drop-shadow(0 28px 34px rgba(29,38,76,.2));
}
.payroll-board {
    position:relative;
    z-index:4;
    width:min(60%,510px);
    min-width:370px;
    padding:26px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:28px;
    color:#eef9f6;
    background:
        radial-gradient(circle at 90% 8%,rgba(64,214,164,.2),transparent 27%),
        linear-gradient(145deg,#303457,#1e2543 72%);
    box-shadow:0 38px 75px rgba(35,42,79,.3),inset 0 1px 0 rgba(255,255,255,.12);
    transform:translateX(-18%) rotateY(-7deg) rotateX(2deg);
    transform-style:preserve-3d;
}
.payroll-board header {
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:13px;
    padding-bottom:19px;
    border-bottom:1px solid rgba(255,255,255,.12);
}
.payroll-board header > span {
    display:grid;
    place-items:center;
    width:46px;
    height:46px;
    border-radius:14px;
    color:#17233f;
    background:linear-gradient(135deg,#8ff3cb,#40d6a4);
    font-size:14px;
    font-weight:950;
}
.payroll-board header div { display:grid; gap:2px; }
.payroll-board header small,
.payroll-board footer small,
.payroll-metrics small {
    color:#9da7c4;
    font-size:8px;
    font-weight:850;
    letter-spacing:.13em;
}
.payroll-board header strong { font-size:16px; letter-spacing:.05em; }
.payroll-board header > i {
    padding:7px 9px;
    border:1px solid rgba(143,243,203,.32);
    border-radius:99px;
    color:#8ff3cb;
    font-size:9px;
    font-style:normal;
    font-weight:900;
}
.payroll-person {
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:13px;
    margin:21px 0;
    padding:14px;
    border:1px solid rgba(255,255,255,.09);
    border-radius:16px;
    background:rgba(255,255,255,.055);
}
.payroll-person > b {
    display:grid;
    place-items:center;
    width:40px;
    height:40px;
    border-radius:50%;
    color:#fff;
    background:#6250d1;
    font-size:11px;
}
.payroll-person > div { display:grid; gap:3px; }
.payroll-person > div strong { font-size:12px; }
.payroll-person > div span { color:#aab3cc; font-size:9px; }
.payroll-person > em { color:#8ff3cb; font-size:8px; font-style:normal; font-weight:900; letter-spacing:.08em; }
.payroll-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.payroll-metrics > span {
    display:grid;
    gap:8px;
    min-height:78px;
    padding:14px;
    border-radius:14px;
    background:rgba(255,255,255,.055);
}
.payroll-metrics strong { align-self:end; color:#fff; font-size:20px; }
.payroll-metrics > span:last-child strong { color:#8ff3cb; font-size:12px; }
.payroll-progress {
    display:grid;
    grid-template-columns:1fr auto;
    gap:8px 12px;
    align-items:center;
    margin-top:18px;
}
.payroll-progress > span {
    grid-column:1 / -1;
    display:block;
    height:7px;
    overflow:hidden;
    border-radius:99px;
    background:rgba(255,255,255,.09);
}
.payroll-progress > span i { display:block; width:78%; height:100%; border-radius:inherit; background:linear-gradient(90deg,#6250d1,#40d6a4); }
.payroll-progress small { color:#aab3cc; font-size:9px; }
.payroll-progress b { color:#8ff3cb; font-size:10px; }
.payroll-board footer {
    display:flex;
    grid-template-columns:none;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    width:100%;
    margin:19px auto 0;
    padding:13px 14px;
    border:1px solid rgba(255,255,255,.1);
    border-radius:15px;
    color:inherit;
    background:rgba(255,255,255,.045);
    font-size:inherit;
    text-align:left;
}
.payroll-board footer > span { display:grid; flex:1; min-width:0; gap:4px; }
.payroll-board footer small { white-space:nowrap; }
.payroll-board footer strong { color:#f0f4ff; font-size:11px; line-height:1.3; white-space:nowrap; }
.payroll-board footer > b {
    display:grid;
    place-items:center;
    flex:0 0 38px;
    width:38px;
    height:38px;
    border-radius:12px;
    color:#17233f;
    background:#8ff3cb;
    font-size:20px;
}
.payroll-chip {
    position:absolute;
    z-index:7;
    display:flex;
    align-items:center;
    gap:10px;
    min-width:118px;
    padding:9px 12px;
    border:1px solid rgba(98,80,209,.18);
    border-radius:10px;
    color:#3b405c;
    background:rgba(255,255,255,.88);
    box-shadow:0 15px 34px rgba(36,38,67,.12);
    backdrop-filter:blur(13px);
    font-size:9px;
    font-weight:900;
    letter-spacing:.08em;
}
.payroll-chip span { display:grid; place-items:center; width:24px; height:24px; padding:0; border-radius:7px; color:#fff; background:#6250d1; font-size:8px; }
.payroll-chip-one { left:2%; top:18%; }
.payroll-chip-two { right:3%; top:7%; }
.payroll-chip-three { left:40%; right:auto; bottom:10%; transform:translateX(-50%); }

@media (max-width:980px) {
    #proyectos .payroll-project .project-info { padding:58px 44px; }
    #proyectos .payroll-stage { min-height:640px; }
    .payroll-scene { min-height:640px; }
    .payroll-assistant { right:-6%; bottom:-4%; height:min(98%,630px); }
    .payroll-board { width:min(61%,500px); transform:translateX(-15%) rotateY(-5deg) rotateX(2deg); }
    .payroll-chip-two { right:3%; top:7%; }
    .payroll-chip-three { left:42%; right:auto; bottom:9%; transform:translateX(-50%); }
}
@media (max-width:600px) {
    #proyectos .payroll-project .project-info { padding:44px 24px; }
    #proyectos .payroll-stage { min-height:510px; }
    .payroll-scene { min-height:510px; }
    .payroll-assistant { right:-12%; bottom:-2%; height:62%; }
    .payroll-board { width:86%; min-width:0; padding:18px; border-radius:21px; transform:translate(-5%,-8%); }
    .payroll-chip { padding:8px 10px; font-size:7px; }
    .payroll-chip-one { left:3%; top:10%; }
    .payroll-chip-two { right:3%; top:7%; }
    .payroll-chip-three { left:auto; right:3%; top:20%; bottom:auto; transform:none; }
    .payroll-metrics > span { min-height:66px; padding:10px; }
}

/* Nómina: escena editorial sin tablero, con la asistente como protagonista. */
.payroll-board { display:none !important; }
.payroll-scene::before {
    content:"";
    position:absolute;
    z-index:2;
    right:-4%;
    bottom:-10%;
    width:min(58vw,650px);
    aspect-ratio:1;
    border-radius:50%;
    background:radial-gradient(circle,rgba(143,243,203,.23) 0,rgba(126,80,210,.18) 35%,transparent 70%);
    filter:blur(2px);
}
.payroll-scene::after {
    content:"$";
    position:absolute;
    z-index:1;
    left:7%;
    bottom:-15%;
    color:rgba(255,255,255,.055);
    font:950 430px/1 'Montserrat',sans-serif;
    pointer-events:none;
}
.payroll-orbit {
    right:-5%;
    width:min(67vw,680px);
    border-color:rgba(255,255,255,.2);
    box-shadow:0 0 0 78px rgba(255,255,255,.055),0 0 0 160px rgba(98,80,209,.08);
}
.payroll-visual-copy {
    position:absolute;
    z-index:4;
    top:25%;
    left:6%;
    display:grid;
    gap:14px;
    width:min(43%,430px);
    color:#fff;
    text-align:left;
}
.payroll-visual-copy > span {
    color:#8ff3cb;
    font:900 11px/1.2 'Montserrat',sans-serif;
    letter-spacing:.18em;
}
.payroll-visual-copy > strong {
    font:950 clamp(44px,4.1vw,72px)/.91 'Montserrat',sans-serif;
    letter-spacing:-.055em;
}
.payroll-visual-copy > strong em { color:#8ff3cb; font-style:normal; }
.payroll-visual-copy > p {
    max-width:360px;
    margin:0;
    color:rgba(255,255,255,.76);
    font:600 15px/1.55 'Montserrat',sans-serif;
}
.payroll-visual-copy > div {
    display:flex;
    align-items:center;
    gap:11px;
    width:max-content;
    margin-top:8px;
    padding:8px 13px 8px 8px;
    border:1px solid rgba(143,243,203,.34);
    border-radius:999px;
    background:rgba(16,20,47,.4);
    backdrop-filter:blur(12px);
}
.payroll-visual-copy b {
    display:grid;
    place-items:center;
    width:31px;
    height:31px;
    border-radius:50%;
    color:#1b2440;
    background:#8ff3cb;
    font:950 10px/1 'Montserrat',sans-serif;
}
.payroll-visual-copy i { color:#fff; font:900 9px/1 'Montserrat',sans-serif; font-style:normal; letter-spacing:.12em; }
.payroll-assistant {
    right:-1%;
    bottom:-6%;
    height:min(109%,720px);
    filter:drop-shadow(0 34px 42px rgba(13,12,42,.38));
}
.payroll-chip {
    min-width:145px;
    min-height:43px;
    padding:7px 13px 7px 7px;
    border-color:rgba(143,243,203,.3);
    border-radius:13px;
    color:#fff;
    background:rgba(18,20,52,.66);
    box-shadow:0 17px 38px rgba(14,12,40,.25);
}
.payroll-chip span { width:29px; height:29px; color:#19223e; background:#8ff3cb; }
.payroll-chip-one { left:5%; top:11%; }
.payroll-chip-two { right:3%; top:7%; }
.payroll-chip-three { left:7%; right:auto; bottom:8%; transform:none; }

@media (max-width:980px) {
    .payroll-visual-copy { left:4%; width:44%; }
    .payroll-visual-copy > strong { font-size:46px; }
    .payroll-assistant { right:-7%; bottom:-5%; height:min(101%,650px); }
    .payroll-chip-three { left:4%; bottom:7%; }
}
@media (max-width:600px) {
    .payroll-visual-copy { top:15%; left:5%; width:64%; gap:10px; }
    .payroll-visual-copy > span { font-size:8px; }
    .payroll-visual-copy > strong { font-size:36px; }
    .payroll-visual-copy > p { max-width:260px; font-size:11px; }
    .payroll-visual-copy > div { margin-top:1px; transform:scale(.88); transform-origin:left center; }
    .payroll-assistant { right:-15%; bottom:-4%; height:68%; }
    .payroll-chip { min-width:118px; min-height:36px; padding:5px 9px 5px 5px; }
    .payroll-chip span { width:25px; height:25px; }
    .payroll-chip-one { left:3%; top:5%; }
    .payroll-chip-two { right:3%; top:5%; }
    .payroll-chip-three { left:4%; top:auto; right:auto; bottom:5%; }
}


/* ===== project-showcase.css ===== */

/*
 * Afiches del ecosistema Metalcof.
 * Hoja aislada: solo cambia presentacion, nunca rutas, permisos ni logica.
 */

#proyectos.projects {
    --showcase-text: #f7fbf9;
    width: 100%;
    min-height: calc(100vh - 74px);
    padding: 26px clamp(18px, 3vw, 54px) 70px;
    background:
        radial-gradient(circle at 78% 12%, rgba(116, 89, 229, .28), transparent 35%),
        linear-gradient(rgba(255, 255, 255, .025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .025) 1px, transparent 1px),
        linear-gradient(145deg, #111522 0%, #171a2a 56%, #0b0e17 100%);
    background-size: auto, 44px 44px, 44px 44px, auto;
    transition: background .35s ease;
}

/* El ambiente exterior acompana el contenido de cada afiche. */
#proyectos.projects:has(.stove-project:not([hidden])) {
    background:
        radial-gradient(circle at 80% 13%, rgba(55, 214, 151, .22), transparent 34%),
        radial-gradient(circle at 13% 86%, rgba(20, 111, 77, .24), transparent 32%),
        linear-gradient(rgba(112, 240, 184, .035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(112, 240, 184, .035) 1px, transparent 1px),
        linear-gradient(145deg, #081c16 0%, #102921 56%, #06110e 100%);
    background-size: auto, auto, 46px 46px, 46px 46px, auto;
}

#proyectos.projects:has(.expenses-project:not([hidden])) {
    background:
        radial-gradient(circle at 81% 12%, rgba(244, 186, 69, .24), transparent 33%),
        radial-gradient(circle at 14% 86%, rgba(35, 133, 92, .22), transparent 34%),
        linear-gradient(rgba(244, 186, 69, .035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(244, 186, 69, .035) 1px, transparent 1px),
        linear-gradient(145deg, #091912 0%, #14261d 55%, #070f0b 100%);
    background-size: auto, auto, 46px 46px, 46px 46px, auto;
}

#proyectos.projects:has(.sigedo-project:not([hidden])) {
    background:
        radial-gradient(circle at 82% 10%, rgba(46, 139, 255, .34), transparent 34%),
        radial-gradient(circle at 12% 88%, rgba(25, 194, 231, .18), transparent 31%),
        linear-gradient(rgba(112, 184, 255, .045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(112, 184, 255, .045) 1px, transparent 1px),
        linear-gradient(145deg, #071522 0%, #0c2840 54%, #050c16 100%);
    background-size: auto, auto, 42px 42px, 42px 42px, auto;
}

#proyectos.projects:has(.payroll-project:not([hidden])) {
    background:
        radial-gradient(circle at 82% 11%, rgba(143, 83, 236, .34), transparent 35%),
        radial-gradient(circle at 13% 86%, rgba(42, 196, 151, .17), transparent 32%),
        linear-gradient(rgba(190, 145, 255, .04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(190, 145, 255, .04) 1px, transparent 1px),
        linear-gradient(145deg, #160d25 0%, #271541 56%, #0d0917 100%);
    background-size: auto, auto, 44px 44px, 44px 44px, auto;
}

#proyectos.projects:has(.order-project:not([hidden])) {
    background:
        linear-gradient(rgba(5, 12, 10, .7), rgba(5, 12, 10, .7)),
        url('../formato_de_pedido/assets/finishes/gris-acorazado-textura-continua-17055.png') center / 852px 456px repeat;
    background-size: auto, 852px 456px;
}

#proyectos.projects:has(.production-panel-project:not([hidden])) {
    background:
        radial-gradient(circle at 82% 12%, rgba(87, 226, 172, .27), transparent 35%),
        radial-gradient(circle at 12% 88%, rgba(231, 174, 44, .17), transparent 30%),
        linear-gradient(rgba(99, 226, 177, .038) 1px, transparent 1px),
        linear-gradient(90deg, rgba(99, 226, 177, .038) 1px, transparent 1px),
        linear-gradient(145deg, #071712 0%, #12362b 56%, #06100d 100%);
    background-size: auto, auto, 42px 42px, 42px 42px, auto;
}

#proyectos.projects:has(.vulkano-project:not([hidden])) {
    background:
        radial-gradient(circle at 82% 11%, rgba(230, 46, 105, .34), transparent 34%),
        radial-gradient(circle at 13% 87%, rgba(89, 21, 51, .29), transparent 34%),
        linear-gradient(rgba(255, 99, 148, .04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 99, 148, .04) 1px, transparent 1px),
        linear-gradient(145deg, #210811 0%, #3a1020 55%, #11050a 100%);
    background-size: auto, auto, 44px 44px, 44px 44px, auto;
}

#proyectos [data-project-card][hidden] { display: none !important; }
#proyectos > .section-heading { display: none; }

#proyectos .project-view-switcher {
    display: flex;
    align-items: center;
    gap: 9px;
    width: min(100%, 1540px);
    margin: 0 auto 18px;
    padding: 10px;
    overflow-x: auto;
    border: 1px solid #d8e1f1;
    border-radius: 18px;
    background: rgba(247, 250, 255, .92);
    box-shadow: 0 12px 34px rgba(39, 45, 88, .08);
    scrollbar-width: none;
}

#proyectos .project-view-switcher::-webkit-scrollbar { display: none; }

#proyectos .project-view-switcher button {
    flex: 0 0 auto;
    min-height: 38px;
    padding: 0 16px;
    border: 1px solid #d9e0ef;
    border-radius: 12px;
    background: #fff;
    color: #50566c;
    font: 800 12px/1 'Montserrat', sans-serif;
    letter-spacing: -.01em;
    box-shadow: none;
    transform: none !important;
}

#proyectos .project-view-switcher button:hover {
    color: #252b40;
    border-color: #b7c2d8;
}

#proyectos .project-view-switcher button.active {
    color: #fff;
    border-color: #5940cf;
    background: linear-gradient(135deg, #7656e7, #5138bd);
    box-shadow: 0 8px 20px rgba(83, 58, 190, .25);
}

#proyectos .project-view-switcher .project-dot {
    display: inline-block;
    width: 7px;
    height: 7px;
    margin-right: 8px;
    border-radius: 2px;
    background: #8b72ef;
    box-shadow: 0 0 10px currentColor;
}

/* Lienzo editorial compartido. Nomina conserva su diseno propio. */
#proyectos .project-card:not(.payroll-project) {
    --poster-accent: #60e7aa;
    --poster-accent-rgb: 96, 231, 170;
    --poster-dark: #061b14;
    position: relative;
    display: grid;
    grid-template-columns: minmax(340px, 39%) minmax(0, 61%);
    width: min(100%, 1540px);
    min-height: clamp(560px, 67vh, 700px);
    margin: 0 auto;
    overflow: hidden;
    border: 1px solid rgba(var(--poster-accent-rgb), .28);
    border-radius: 30px;
    background: var(--poster-dark);
    box-shadow: 0 28px 70px rgba(20, 31, 47, .18);
    transform: none !important;
    isolation: isolate;
}

#proyectos .project-card.stove-project {
    --poster-accent: #62eaa9;
    --poster-accent-rgb: 98, 234, 169;
    --poster-dark: #041a12;
}

#proyectos .project-card.expenses-project {
    --poster-accent: #f4ba45;
    --poster-accent-rgb: 244, 186, 69;
    --poster-dark: #081b15;
}

#proyectos .project-card.sigedo-project {
    --poster-accent: #4aa9ff;
    --poster-accent-rgb: 74, 169, 255;
    --poster-dark: #061c29;
}

#proyectos .project-card.order-project {
    --poster-accent: #ffb228;
    --poster-accent-rgb: 255, 178, 40;
    --poster-dark: #101614;
    background:
        linear-gradient(rgba(5, 12, 10, .7), rgba(5, 12, 10, .7)),
        url('../formato_de_pedido/assets/finishes/gris-acorazado-textura-continua-17055.png') center / 852px 456px repeat;
}

#proyectos .project-card.production-panel-project {
    --poster-accent: #74e8bd;
    --poster-accent-rgb: 116, 232, 189;
    --poster-dark: #091d17;
}

#proyectos .project-card.distribution-project {
    --poster-accent: #ffc857;
    --poster-accent-rgb: 255, 200, 87;
    --poster-dark: #10251f;
}

#proyectos .distribution-stage {
    position: relative;
    min-width: 0;
    min-height: inherit;
    overflow: hidden;
    color: #effff9;
    background:
        radial-gradient(circle at 78% 18%, rgba(255, 200, 87, .2), transparent 31%),
        linear-gradient(145deg, #143b31, #071b16 72%);
}

#proyectos .distribution-preview {
    position: absolute;
    inset: 0;
    display: grid;
    align-content: center;
    gap: 24px;
    padding: clamp(34px, 6vw, 86px);
    background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
    background-size: 34px 34px;
}

#proyectos .distribution-route {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    padding: 18px;
    border: 1px solid rgba(255, 200, 87, .42);
    border-radius: 18px;
    background: rgba(3, 22, 17, .76);
    box-shadow: 0 22px 55px rgba(0, 0, 0, .28);
    font: 800 clamp(13px, 1.4vw, 19px)/1 'Montserrat', sans-serif;
}

#proyectos .distribution-route strong { display:grid; place-items:center; width:48px; height:48px; border-radius:15px; color:#10251f; background:#ffc857; font-size:20px; }
#proyectos .distribution-route i { color:#7de2bd; font-style:normal; font-size:21px; }
#proyectos .distribution-preview ol { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:0; padding:0; list-style:none; }
#proyectos .distribution-preview li { display:grid; gap:4px; padding:14px; border:1px solid rgba(125,226,189,.22); border-radius:14px; background:rgba(10,42,33,.78); }
#proyectos .distribution-preview li b { color:#f5fff9; font:800 10px/1.2 'Montserrat',sans-serif; text-transform:uppercase; }
#proyectos .distribution-preview li small { color:#9bc2b4; font-size:9px; }
#proyectos .distribution-stove { display:flex; justify-content:center; gap:9px; }
#proyectos .distribution-stove span { width:32px; height:38px; border:2px solid #7de2bd; border-radius:7px 7px 11px 11px; box-shadow:inset 0 -9px rgba(125,226,189,.12); }
#proyectos .project-view-switcher .project-dot-distribution { background:#ffc857; }

.sidebar-project-icon-distribution { display:grid; place-items:center; width:34px; height:34px; color:#143b31; border-radius:11px; background:linear-gradient(145deg,#ffe29b,#ffc857); box-shadow:0 8px 18px rgba(255,200,87,.2); }
.sidebar-project-icon-distribution svg { width:25px; height:25px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }

#proyectos .project-card.vulkano-project {
    --poster-accent: #ff4b91;
    --poster-accent-rgb: 255, 75, 145;
    --poster-dark: #210914;
}

#proyectos .production-panel-stage {
    position: relative;
    display: grid;
    place-items: center;
    min-width: 0;
    min-height: inherit;
    overflow: hidden;
    padding: clamp(28px, 5vw, 76px);
    color: #eefaf5;
    background:
        radial-gradient(circle at 75% 18%, rgba(116, 232, 189, .18), transparent 27%),
        linear-gradient(145deg, #0d2c23, #061510 72%);
}

#proyectos .production-stage-grid {
    position: absolute;
    inset: 0;
    opacity: .55;
    background:
        linear-gradient(rgba(116, 232, 189, .055) 1px, transparent 1px),
        linear-gradient(90deg, rgba(116, 232, 189, .055) 1px, transparent 1px);
    background-size: 38px 38px;
    mask-image: linear-gradient(to bottom, #000, transparent 92%);
}

#proyectos .production-dashboard-preview {
    position: relative;
    z-index: 2;
    width: min(100%, 720px);
    padding: clamp(22px, 3vw, 38px);
    border: 1px solid rgba(116, 232, 189, .2);
    border-radius: 25px;
    background: rgba(5, 20, 15, .72);
    box-shadow: inset 0 1px rgba(255,255,255,.06), 0 35px 90px rgba(0,0,0,.3);
    backdrop-filter: blur(12px);
}

#proyectos .production-dashboard-preview header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 24px;
    color: #839f95;
    font: 900 9px/1 'Montserrat', sans-serif;
    letter-spacing: .13em;
}

#proyectos .production-dashboard-preview header b {
    display: flex;
    align-items: center;
    gap: 7px;
    color: var(--poster-accent);
    font-size: 8px;
}

#proyectos .production-dashboard-preview header i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--poster-accent);
    box-shadow: 0 0 12px rgba(var(--poster-accent-rgb), .8);
}

#proyectos .production-preview-metrics {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin-bottom: 18px;
}

#proyectos .production-preview-metrics > span {
    display: grid;
    gap: 8px;
    min-height: 88px;
    padding: 14px;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 14px;
    background: rgba(255,255,255,.035);
}

#proyectos .production-preview-metrics small,
#proyectos .production-preview-footer span {
    color: #779087;
    font: 800 7px/1 'Montserrat', sans-serif;
    letter-spacing: .1em;
}

#proyectos .production-preview-metrics strong {
    align-self: end;
    color: #fff;
    font: 900 25px/1 'Montserrat', sans-serif;
}

#proyectos .production-preview-flow { display: grid; gap: 8px; }

#proyectos .production-preview-flow > span {
    display: grid;
    grid-template-columns: 34px 1fr auto;
    align-items: center;
    gap: 11px;
    min-height: 60px;
    padding: 9px 12px;
    border: 1px solid rgba(116,232,189,.1);
    border-radius: 13px;
    background: linear-gradient(90deg, rgba(116,232,189,.075), rgba(255,255,255,.018));
}

#proyectos .production-preview-flow i {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: 9px;
    color: #082017;
    background: var(--poster-accent);
    font: 900 8px/1 'Montserrat', sans-serif;
}

#proyectos .production-preview-flow b { font: 800 11px/1.2 'Montserrat', sans-serif; }
#proyectos .production-preview-flow small { color: #7f998f; font: 600 8px/1.2 'Montserrat', sans-serif; text-align: right; }

#proyectos .production-preview-footer {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid rgba(255,255,255,.07);
}

#proyectos .production-preview-footer span {
    padding: 7px 8px;
    border-radius: 7px;
    background: rgba(255,255,255,.04);
}

#proyectos .production-panel-stage .interaction-hint {
    position: absolute;
    z-index: 3;
    right: 30px;
    bottom: 24px;
    color: #789188;
    font: 700 9px/1 'Montserrat', sans-serif;
}

#proyectos .project-view-switcher .project-dot-production { background: #28bd8b; }

.sidebar-project-icon-production {
    color: #74e8bd;
    filter: drop-shadow(0 5px 7px rgba(40, 189, 139, .26));
}

.sidebar-project-icon-production svg rect {
    fill: rgba(40, 189, 139, .2);
    stroke: #74e8bd;
}

.sidebar-project-icon-production svg path,
.sidebar-project-icon-production svg circle {
    fill: none;
    stroke: currentColor;
}

#proyectos .project-card:not(.payroll-project)::before {
    content: '';
    position: absolute;
    z-index: 5;
    top: 0;
    bottom: 0;
    left: 39%;
    width: 1px;
    background: linear-gradient(transparent, rgba(var(--poster-accent-rgb), .48), transparent);
    pointer-events: none;
}

#proyectos .project-card:not(.payroll-project) .project-info {
    position: relative;
    z-index: 6;
    display: grid;
    grid-template-rows: auto 1fr auto;
    gap: 36px;
    min-width: 0;
    min-height: inherit;
    padding: clamp(38px, 4vw, 64px);
    overflow: hidden;
    color: var(--showcase-text);
    border: 0;
    background:
        radial-gradient(circle at 92% 82%, rgba(var(--poster-accent-rgb), .1), transparent 27%),
        linear-gradient(145deg, rgba(255, 255, 255, .025), transparent 58%),
        var(--poster-dark);
}

#proyectos .project-card.order-project .project-info {
    background:
        radial-gradient(circle at 92% 82%, rgba(var(--poster-accent-rgb), .12), transparent 30%),
        linear-gradient(145deg, rgba(4, 10, 8, .7), rgba(5, 12, 10, .88)),
        url('../formato_de_pedido/assets/finishes/gris-acorazado-textura-continua-17055.png') center / 852px 456px repeat;
}

#proyectos .project-card:not(.payroll-project) .project-info::after {
    content: '';
    position: absolute;
    right: -70px;
    bottom: -82px;
    width: 235px;
    height: 235px;
    border: 1px solid rgba(var(--poster-accent-rgb), .15);
    border-radius: 50%;
    box-shadow: inset 0 0 0 28px rgba(var(--poster-accent-rgb), .025);
    pointer-events: none;
}

#proyectos .project-card:not(.payroll-project) .project-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    color: rgba(255, 255, 255, .62);
    font: 800 12px/1.25 'Montserrat', sans-serif;
    letter-spacing: .16em;
    text-transform: uppercase;
}

#proyectos .project-card:not(.payroll-project) .project-status {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
}

#proyectos .project-card:not(.payroll-project) .project-status i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--poster-accent);
    box-shadow: 0 0 16px rgba(var(--poster-accent-rgb), .85);
}

#proyectos .project-card:not(.payroll-project) .project-info > div:nth-child(2),
#proyectos .expenses-project .expenses-content {
    align-self: center;
    max-width: 510px;
}

#proyectos .project-card:not(.payroll-project) .project-kicker,
#proyectos .expenses-project .project-kicker {
    display: block;
    margin-bottom: 20px;
    color: var(--poster-accent);
    font: 800 13px/1.4 'Montserrat', sans-serif;
    letter-spacing: .15em;
    text-transform: uppercase;
}

#proyectos .project-card:not(.payroll-project) .project-info h3,
#proyectos .expenses-project .project-info h3 {
    margin: 0;
    color: #fff;
    font: 850 clamp(46px, 4.2vw, 67px)/.93 'Montserrat', sans-serif;
    letter-spacing: -.065em;
}

#proyectos .project-card:not(.payroll-project) .project-info h3 em,
#proyectos .expenses-project .project-info h3 em {
    color: var(--poster-accent);
    font-style: normal;
}

#proyectos .project-card:not(.payroll-project) .project-info p,
#proyectos .expenses-project .project-info p {
    max-width: 470px;
    margin: 26px 0 0;
    color: rgba(243, 250, 247, .72);
    font: 500 17px/1.68 'Montserrat', sans-serif;
}

#proyectos .project-card:not(.payroll-project) .project-link {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    width: 100%;
    padding-top: 24px;
    color: #fff;
    border-top: 1px solid rgba(var(--poster-accent-rgb), .23);
    font: 800 15px/1 'Montserrat', sans-serif;
    text-decoration: none;
}

#proyectos .project-card:not(.payroll-project) .project-link > span {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    border: 1px solid rgba(var(--poster-accent-rgb), .42);
    border-radius: 50%;
    background: rgba(var(--poster-accent-rgb), .13);
    transition: transform .22s ease, background .22s ease;
}

#proyectos .project-card:not(.payroll-project) .project-link:hover > span {
    color: var(--poster-dark);
    background: var(--poster-accent);
    transform: translate(3px, -3px);
}

#proyectos .project-card:not(.payroll-project) .project-link svg {
    width: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
}

/* El afiche es la unica capa visual. Se eliminan decoraciones heredadas. */
#proyectos .stove-stage,
#proyectos .expenses-ledger-stage,
#proyectos .sigedo-stage,
#proyectos .order-stage,
#proyectos .production-panel-stage,
#proyectos .vulkano-stage {
    position: relative;
    min-width: 0;
    min-height: inherit;
    overflow: hidden;
    background: #07120f;
    transform: none !important;
}

#proyectos .stove-stage > :not(.project-poster-visual),
#proyectos .expenses-ledger-stage > :not(.project-poster-visual),
#proyectos .sigedo-stage > :not(.project-poster-visual),
#proyectos .order-stage > :not(.project-poster-visual),
#proyectos .production-panel-stage > :not(.project-poster-visual),
#proyectos .vulkano-stage > :not(.project-poster-visual) {
    display: none !important;
}

#proyectos .project-poster-visual {
    position: absolute;
    z-index: 1;
    inset: 0;
    display: block !important;
    overflow: hidden;
    background: #07120f;
    isolation: isolate;
}

#proyectos .project-poster-visual::before {
    content: '';
    position: absolute;
    z-index: 2;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(3, 12, 9, .28), transparent 30%),
        linear-gradient(0deg, rgba(2, 9, 7, .48), transparent 28%);
    pointer-events: none;
}

#proyectos .project-poster-visual::after {
    content: '';
    position: absolute;
    z-index: 3;
    inset: 24px;
    border: 1px solid rgba(var(--poster-accent-rgb), .26);
    border-radius: 20px;
    pointer-events: none;
}

#proyectos .project-poster-visual > img:first-child {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center;
    filter: saturate(.92) contrast(1.03) brightness(.82);
    transform: scale(1.015) !important;
    transition: transform .8s cubic-bezier(.2,.7,.2,1), filter .4s ease;
}

#proyectos .project-card:not(.payroll-project):hover .project-poster-visual > img:first-child {
    filter: saturate(1) contrast(1.04) brightness(.88);
    transform: scale(1.035) !important;
}

#proyectos .poster-stoves > img:first-child {
    object-position: 52% center;
    filter: saturate(.96) contrast(1.02) brightness(.89);
}

#proyectos .poster-production > img:first-child {
    object-position: 58% center;
    filter: saturate(.82) contrast(1.08) brightness(.7);
}

#proyectos .poster-production::before {
    background:
        linear-gradient(90deg, rgba(4, 18, 13, .52), transparent 50%),
        linear-gradient(0deg, rgba(3, 13, 10, .68), transparent 48%),
        radial-gradient(circle at 78% 42%, rgba(39, 201, 143, .18), transparent 34%);
}

#proyectos .poster-brand {
    position: absolute;
    z-index: 6;
    top: 45px;
    left: 45px;
    display: block;
    width: auto;
    max-width: min(36%, 275px);
    height: auto;
    max-height: 78px;
    padding: 10px 14px;
    object-fit: contain;
    object-position: left center;
    border: 1px solid rgba(255, 255, 255, .5);
    border-radius: 15px;
    background: rgba(255, 255, 255, .93);
    box-shadow: 0 12px 28px rgba(0, 0, 0, .2);
    filter: none;
}

#proyectos .poster-brand-stoves,
#proyectos .poster-brand-orders { max-width: min(43%, 330px); }

#proyectos .poster-brand-production {
    max-width: min(46%, 340px);
}

#proyectos .poster-brand-sigedo,
#proyectos .poster-brand-vulkano {
    width: 64px;
    height: 64px;
    padding: 10px;
}

#proyectos .poster-chip,
.atenea-showcase-visual .poster-chip {
    position: absolute;
    z-index: 7;
    right: 43px;
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 142px;
    min-height: 42px;
    padding: 7px 13px 7px 7px;
    color: #fff;
    border: 1px solid rgba(var(--poster-accent-rgb), .58);
    border-radius: 12px;
    background: rgba(5, 13, 12, .78);
    box-shadow: 0 10px 25px rgba(0, 0, 0, .2);
    backdrop-filter: blur(10px);
    font: 800 11px/1.1 'Montserrat', sans-serif;
    letter-spacing: .08em;
}

#proyectos .poster-chip b,
.atenea-showcase-visual .poster-chip b {
    display: grid;
    place-items: center;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    color: var(--poster-dark);
    border-radius: 8px;
    background: var(--poster-accent);
    font-size: 9px;
}

#proyectos .poster-production .poster-chip {
    min-width: 218px;
    min-height: 58px;
    gap: 12px;
    padding: 9px 15px 9px 9px;
    border-color: rgba(116, 232, 189, .54);
    border-radius: 16px;
    background: rgba(6, 25, 19, .86);
}

#proyectos .poster-production .poster-chip > span {
    display: grid;
    gap: 3px;
}

#proyectos .poster-production .poster-chip strong {
    color: #f5fff9;
    font-size: 10px;
    letter-spacing: .08em;
}

#proyectos .poster-production .poster-chip small {
    color: #95afa5;
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 0;
}

#proyectos .poster-production .poster-chip b {
    flex-basis: 36px;
    width: 36px;
    height: 36px;
    font-size: 10px;
}

#proyectos .poster-production .poster-chip-top { top: 25%; }
#proyectos .poster-production .poster-chip-middle { top: 50%; }
#proyectos .poster-production .poster-chip-bottom { top: 75%; bottom: auto; transform: translateY(-50%); }

.sidebar-project-icon-production {
    overflow: hidden !important;
    border: 1px solid rgba(116, 232, 189, .38) !important;
    border-radius: 10px !important;
    color: #eafff7 !important;
    background: linear-gradient(145deg, #23b985, #176d56) !important;
    box-shadow: inset 0 1px rgba(255,255,255,.24), 0 7px 16px rgba(27, 174, 123, .24) !important;
    filter: none !important;
}

.sidebar-project-icon-production svg {
    padding: 3px;
    stroke: none !important;
}

.sidebar-project-icon-production .production-icon-shell {
    fill: rgba(4, 42, 30, .24);
    stroke: rgba(255,255,255,.34);
    stroke-width: 1.1;
}

.sidebar-project-icon-production .production-icon-factory {
    fill: #eafff7;
    stroke: #eafff7;
    stroke-width: 1.1;
    stroke-linejoin: round;
}

.sidebar-project-icon-production .production-icon-detail {
    fill: none;
    stroke: #0a5a42;
    stroke-width: 1.6;
    stroke-linecap: round;
}

.sidebar-projects > a.sidebar-project-production.active,
.sidebar-projects > a.sidebar-project-production.active:hover {
    background: linear-gradient(90deg, rgba(40, 189, 139, .2), rgba(40, 189, 139, .035));
    box-shadow: inset 3px 0 #41d6a2, inset 0 1px rgba(65,214,162,.18), inset 0 -1px rgba(65,214,162,.18);
}

#proyectos .poster-chip-top,
.atenea-showcase-visual .poster-chip-top { top: 40px; bottom: auto; }
#proyectos .poster-chip-middle,
.atenea-showcase-visual .poster-chip-middle { top: 50%; bottom: auto; transform: translateY(-50%); }
#proyectos .poster-chip-bottom,
.atenea-showcase-visual .poster-chip-bottom { top: auto; bottom: 40px; }

#proyectos .poster-caption {
    position: absolute;
    z-index: 6;
    left: 48px;
    bottom: 48px;
    color: rgba(255, 255, 255, .76);
    font: 800 11px/1.2 'Montserrat', sans-serif;
    letter-spacing: .19em;
    text-transform: uppercase;
}

/* Gastos conserva sus indicadores de acceso sin sobrecargar el afiche. */
#proyectos .expenses-project .project-info {
    display: grid;
    grid-template-rows: auto 1fr auto;
}

#proyectos .expenses-project .expenses-content { align-self: center; }

#proyectos .expenses-project .expenses-brand-lockup {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin: 0 0 22px;
    padding: 9px 12px;
    border-radius: 13px;
    background: rgba(255, 255, 255, .94);
}

#proyectos .expenses-project .expenses-brand-lockup img {
    display: block;
    width: auto;
    max-width: 205px;
    height: 48px;
    object-fit: contain;
}

#proyectos .expenses-project .expenses-brand-lockup > span {
    display: none;
}

#proyectos .expenses-project .expenses-content > span:not(.project-kicker) { display: none; }

#proyectos .expenses-project .expenses-feature-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 24px;
}

#proyectos .expenses-project .expenses-feature-grid span {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    padding: 10px 11px;
    color: rgba(255, 255, 255, .72);
    border: 1px solid rgba(var(--poster-accent-rgb), .16);
    border-radius: 10px;
    background: rgba(255, 255, 255, .035);
    font: 700 11px/1.25 'Montserrat', sans-serif;
    text-transform: uppercase;
}

#proyectos .expenses-project .expenses-feature-grid b { color: var(--poster-accent); }

#proyectos .expenses-project .expenses-feature-grid small {
    font-size: 10px;
    line-height: 1.25;
}

/* Atenea adopta el lenguaje editorial sin ocultar su catalogo interactivo. */
.atenea-hub { padding: 22px clamp(16px, 2.4vw, 38px) 36px; }

/* La portada de Atenea queda limpia: el catalogo sigue apareciendo al entrar. */
.atenea-hub > .learning-heading { display: none !important; }

.atenea-showcase {
    --poster-accent: #f4c528;
    --poster-accent-rgb: 244, 197, 40;
    position: relative;
    display: grid;
    grid-template-columns: minmax(340px, 39%) minmax(0, 61%);
    width: min(100%, 1540px);
    min-height: clamp(560px, 67vh, 700px);
    margin: 0 auto;
    overflow: hidden;
    color: #fff;
    border: 1px solid rgba(244, 197, 40, .24);
    border-radius: 30px;
    background: #151204;
    box-shadow: 0 28px 70px rgba(20, 31, 47, .18);
}

.atenea-showcase-copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    min-width: 0;
    padding: clamp(38px, 4vw, 64px);
    border-right: 1px solid rgba(244, 197, 40, .22);
    background: radial-gradient(circle at 95% 82%, rgba(244,197,40,.11), transparent 27%), #151204;
}

.atenea-showcase-copy > img {
    width: auto;
    max-width: 220px;
    max-height: 68px;
    margin-bottom: 42px;
    object-fit: contain;
}

.atenea-showcase-copy .eyebrow {
    margin-bottom: 17px;
    color: #f4c528;
    font: 800 13px/1.3 'Montserrat', sans-serif;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.atenea-showcase-copy h2 {
    margin: 0;
    color: #fff;
    font: 850 clamp(43px, 3.8vw, 63px)/.97 'Montserrat', sans-serif;
    letter-spacing: -.06em;
}

.atenea-showcase-copy h2 em { color: #f4c528; font-style: normal; }

.atenea-showcase-copy p {
    max-width: 470px;
    margin: 24px 0 30px;
    color: rgba(255,255,255,.7);
    font: 500 17px/1.68 'Montserrat', sans-serif;
}

.atenea-showcase-copy button {
    min-height: 46px;
    padding: 0 20px;
    color: #151204;
    border: 0;
    border-radius: 12px;
    background: #f4c528;
    font: 800 14px/1 'Montserrat', sans-serif;
}

.atenea-showcase-points {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    margin-top: 32px;
    color: rgba(255,255,255,.52);
    font: 800 10px/1 'Montserrat', sans-serif;
    letter-spacing: .12em;
}

.atenea-showcase-visual {
    position: relative;
    min-width: 0;
    min-height: inherit;
    overflow: hidden;
    isolation: isolate;
}

.atenea-showcase-visual::before {
    content: '';
    position: absolute;
    z-index: 2;
    inset: 0;
    background: linear-gradient(90deg, rgba(15,12,3,.2), transparent 34%), linear-gradient(0deg, rgba(8,7,2,.42), transparent 28%);
}

.atenea-showcase-visual::after {
    content: '';
    position: absolute;
    z-index: 3;
    inset: 24px;
    border: 1px solid rgba(244,197,40,.3);
    border-radius: 20px;
}

.atenea-showcase-visual > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter: saturate(.94) brightness(.84);
}

.atenea-showcase-visual .poster-chip {
    --poster-dark: #151204;
    --poster-accent: #f4c528;
    --poster-accent-rgb: 244,197,40;
}

@media (max-width: 1120px) {
    #proyectos .project-card:not(.payroll-project),
    .atenea-showcase { grid-template-columns: minmax(310px, 42%) minmax(0, 58%); }
    #proyectos .project-card:not(.payroll-project)::before { left: 42%; }
    #proyectos .project-card:not(.payroll-project) .project-info,
    .atenea-showcase-copy { padding: 38px; }
    #proyectos .poster-chip, .atenea-showcase-visual .poster-chip { right: 30px; }
    #proyectos .poster-brand { top: 36px; left: 35px; }
}

@media (max-width: 880px) {
    #proyectos.projects, .atenea-hub { padding-inline: 12px; }
    #proyectos .project-card:not(.payroll-project),
    .atenea-showcase {
        grid-template-columns: 1fr;
        min-height: 0;
        border-radius: 24px;
    }
    #proyectos .project-card:not(.payroll-project)::before { display: none; }
    #proyectos .project-card:not(.payroll-project) .project-info,
    .atenea-showcase-copy {
        min-height: 500px;
        border-right: 0;
        border-bottom: 1px solid rgba(var(--poster-accent-rgb), .2);
    }
    #proyectos .stove-stage,
    #proyectos .expenses-ledger-stage,
    #proyectos .sigedo-stage,
    #proyectos .order-stage,
    #proyectos .production-panel-stage,
    #proyectos .vulkano-stage,
    .atenea-showcase-visual { min-height: 570px; }
}

@media (max-width: 560px) {
    #proyectos .project-view-switcher { padding: 8px; border-radius: 14px; }
    #proyectos .project-view-switcher button { padding-inline: 12px; }
    #proyectos .project-card:not(.payroll-project) .project-info,
    .atenea-showcase-copy { min-height: 465px; padding: 32px 24px; }
    #proyectos .project-card:not(.payroll-project) .project-info h3,
    #proyectos .expenses-project .project-info h3,
    .atenea-showcase-copy h2 { font-size: clamp(42px, 13vw, 58px); }
    #proyectos .stove-stage,
    #proyectos .expenses-ledger-stage,
    #proyectos .sigedo-stage,
    #proyectos .order-stage,
    #proyectos .production-panel-stage,
    #proyectos .vulkano-stage,
    .atenea-showcase-visual { min-height: 470px; }
    #proyectos .project-poster-visual::after,
    .atenea-showcase-visual::after { inset: 13px; border-radius: 14px; }
    #proyectos .poster-brand { top: 24px; left: 23px; max-width: 47%; max-height: 62px; padding: 7px 9px; }
    #proyectos .poster-chip,
    .atenea-showcase-visual .poster-chip {
        right: 22px;
        min-width: 118px;
        min-height: 34px;
        padding: 5px 8px 5px 5px;
        font-size: 9px;
    }
    #proyectos .poster-chip b,
    .atenea-showcase-visual .poster-chip b { flex-basis: 22px; width: 22px; height: 22px; font-size: 8px; }
    #proyectos .poster-chip-top, .atenea-showcase-visual .poster-chip-top { top: 24px; bottom: auto; }
    #proyectos .poster-chip-middle, .atenea-showcase-visual .poster-chip-middle { top: 50%; bottom: auto; }
    #proyectos .poster-chip-bottom, .atenea-showcase-visual .poster-chip-bottom { top: auto; bottom: 24px; }
    #proyectos .poster-caption { left: 24px; bottom: 30px; max-width: 45%; font-size: 9px; }
    #proyectos .expenses-project .expenses-feature-grid { grid-template-columns: 1fr; }
    #proyectos .production-panel-stage { padding: 20px 14px 54px; }
    #proyectos .production-dashboard-preview { padding: 17px; border-radius: 18px; }
    #proyectos .production-preview-flow > span { grid-template-columns: 31px 1fr; }
    #proyectos .production-preview-flow small { grid-column: 2; text-align: left; }
}

/* Vulkano: lectura clara de sus tres frentes de trabajo. */
#proyectos .project-card.vulkano-project .project-info {
    background:
        radial-gradient(circle at 92% 78%, rgba(255, 75, 145, .13), transparent 30%),
        linear-gradient(150deg, rgba(255, 255, 255, .035), transparent 58%),
        #210914;
}

#proyectos .project-card.vulkano-project .project-kicker {
    color: var(--poster-accent);
    letter-spacing: .18em;
}

#proyectos .project-card.vulkano-project .project-info h3 {
    font-size: clamp(50px, 4.6vw, 74px);
    line-height: .9;
    letter-spacing: -.072em;
}

#proyectos .project-card.vulkano-project .project-info h3 em {
    color: #ff4b91;
    background: linear-gradient(90deg, #ff6b9f 0%, #e31362 58%, #c90059 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

#proyectos .project-card.order-project .project-info h3 em {
    color: #ffb228;
    background: linear-gradient(90deg, #ffd35c 0%, #ffb228 55%, #f19900 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* La ficha de distribución es una escena nativa, no un afiche. Estas reglas
   finales evitan que los estilos heredados de las fichas antiguas la aplanen. */
.projects .distribution-project .distribution-stage {
    position: relative !important;
    display: block !important;
    min-width: 0 !important;
    min-height: inherit !important;
    overflow: hidden !important;
    background: radial-gradient(circle at 78% 18%, rgba(255,200,87,.18), transparent 31%), linear-gradient(145deg,#143b31,#071b16 72%) !important;
    transform: none !important;
}
.projects .distribution-project .distribution-preview {
    position: absolute !important;
    inset: 0 !important;
    display: grid !important;
    align-content: center !important;
    gap: 24px !important;
    padding: clamp(34px,6vw,86px) !important;
}
.projects .distribution-project .distribution-route {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 14px !important;
    padding: 18px !important;
    border: 1px solid rgba(255,200,87,.42) !important;
    border-radius: 18px !important;
    background: rgba(3,22,17,.76) !important;
}
.projects .distribution-project .distribution-preview ol {
    display: grid !important;
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
.projects .distribution-project .distribution-preview li { display:grid !important; gap:4px !important; padding:14px !important; border:1px solid rgba(125,226,189,.22) !important; border-radius:14px !important; background:rgba(10,42,33,.78) !important; }
.projects .distribution-project .distribution-stove { display:flex !important; justify-content:center !important; gap:9px !important; }

#proyectos .vulkano-project .poster-vulkano > img:first-child {
    object-position: 44% center;
    filter: saturate(1.03) contrast(1.06) brightness(.9);
}

#proyectos .vulkano-project .poster-brand-vulkano {
    width: 82px;
    height: 82px;
    padding: 12px;
    border-radius: 18px;
}

#proyectos .vulkano-project .poster-chip {
    right: 34px;
    min-width: 232px;
    min-height: 66px;
    gap: 13px;
    padding: 9px 16px 9px 9px;
    border-color: rgba(255, 75, 145, .72);
    border-radius: 17px;
    background: linear-gradient(135deg, rgba(43, 8, 23, .94), rgba(18, 16, 20, .88));
    box-shadow: 0 16px 36px rgba(12, 2, 7, .38), inset 0 1px rgba(255, 255, 255, .05);
    letter-spacing: 0;
}

#proyectos .vulkano-project .poster-chip b {
    flex-basis: 40px;
    width: 40px;
    height: 40px;
    border-radius: 12px;
    color: #2a0715;
    font-size: 11px;
}

#proyectos .vulkano-project .poster-chip > span {
    display: grid;
    gap: 4px;
    min-width: 0;
}

#proyectos .vulkano-project .poster-chip strong {
    color: #fff;
    font: 800 12px/1.15 'Montserrat', sans-serif;
    letter-spacing: .045em;
    white-space: nowrap;
}

#proyectos .vulkano-project .poster-chip small {
    color: rgba(255, 255, 255, .67);
    font: 600 10px/1.2 'Montserrat', sans-serif;
    letter-spacing: 0;
    text-transform: none;
    white-space: nowrap;
}

#proyectos .vulkano-project .poster-chip-top {
    top: 23%;
    transform: translateY(-50%);
}

#proyectos .vulkano-project .poster-chip-middle {
    top: 48%;
    transform: translateY(-50%);
}

#proyectos .vulkano-project .poster-chip-bottom {
    top: 72%;
    bottom: auto;
    transform: translateY(-50%);
}

@media (max-width: 1180px) {
    #proyectos .vulkano-project .poster-chip {
        right: 24px;
        min-width: 196px;
        min-height: 58px;
        gap: 10px;
        padding: 8px 12px 8px 8px;
    }
    #proyectos .vulkano-project .poster-chip b {
        flex-basis: 34px;
        width: 34px;
        height: 34px;
    }
    #proyectos .vulkano-project .poster-chip strong { font-size: 10px; }
    #proyectos .vulkano-project .poster-chip small { font-size: 9px; }
}

@media (max-width: 560px) {
    #proyectos .vulkano-project .poster-brand-vulkano {
        width: 68px;
        height: 68px;
    }
    #proyectos .vulkano-project .poster-chip {
        right: 18px;
        min-width: 174px;
        min-height: 52px;
        border-radius: 14px;
    }
    #proyectos .vulkano-project .poster-chip b {
        flex-basis: 31px;
        width: 31px;
        height: 31px;
        font-size: 9px;
    }
    #proyectos .vulkano-project .poster-chip strong { font-size: 9px; }
    #proyectos .vulkano-project .poster-chip small { font-size: 8px; }
    #proyectos .vulkano-project .poster-chip-top { top: 22%; }
    #proyectos .vulkano-project .poster-chip-middle { top: 49%; }
    #proyectos .vulkano-project .poster-chip-bottom { top: 74%; bottom: auto; }
}

/* Atenea mantiene un solo afiche, con un entorno dorado coherente. */
.atenea-hub {
    background:
        radial-gradient(circle at 80% 11%, rgba(244, 197, 40, .25), transparent 34%),
        radial-gradient(circle at 14% 88%, rgba(115, 76, 0, .25), transparent 34%),
        linear-gradient(rgba(244, 197, 40, .04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(244, 197, 40, .04) 1px, transparent 1px),
        linear-gradient(145deg, #181303 0%, #292005 56%, #0e0b02 100%);
    background-size: auto, auto, 46px 46px, 46px 46px, auto;
}

/* Marcas integradas al afiche: sin fichas blancas alrededor del logo. */
#proyectos .poster-brand {
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    filter:drop-shadow(0 3px 8px rgba(255,255,255,.46)) drop-shadow(0 9px 20px rgba(0,0,0,.36));
}
#proyectos .poster-brand-sigedo,
#proyectos .poster-brand-vulkano { padding:0; }
#proyectos .poster-brand-vulkano {
    object-fit:contain;
    object-position:center;
    background:transparent;
    filter:drop-shadow(0 0 3px rgba(255,255,255,.95)) drop-shadow(0 10px 24px rgba(227,19,98,.72));
}
#proyectos .expenses-project .expenses-brand-lockup {
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
}
#proyectos .expenses-project .expenses-brand-lockup img {
    filter:drop-shadow(0 3px 7px rgba(255,255,255,.45)) drop-shadow(0 9px 18px rgba(0,0,0,.3));
}

/* Administración: correos del sistema (la campana interna permanece activa). */
.workflow-email-control{margin-top:34px;padding:32px;border:1px solid rgba(98,80,209,.2);border-radius:24px;background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(246,243,255,.94));box-shadow:0 24px 65px rgba(43,31,83,.11)}
.workflow-email-control-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:22px;border-bottom:1px solid rgba(98,80,209,.16)}
.workflow-email-control-head h3{margin:6px 0 8px;color:#241833;font-size:clamp(25px,2.3vw,34px);line-height:1.05}.workflow-email-control-head p{max-width:700px;margin:0;color:#716b79;font-size:14px;line-height:1.55}
.workflow-email-status{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;padding:10px 14px;border-radius:999px;font-size:12px;font-weight:900}.workflow-email-status::before{content:"";width:9px;height:9px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px currentColor;opacity:.75}.workflow-email-status.is-on{color:#08795d;background:#e1f8ef}.workflow-email-status.is-off{color:#a63b35;background:#ffebe8}
.workflow-email-form{display:grid;gap:22px;margin-top:22px}.workflow-email-master{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:20px 22px;border:1px solid rgba(13,121,93,.22);border-radius:18px;background:#f0fbf7;cursor:pointer}.workflow-email-master>span{display:grid;gap:5px}.workflow-email-master strong{color:#173c33;font-size:17px}.workflow-email-master small{color:#5b746d;font-size:12px;line-height:1.45}
.workflow-email-master>input{position:relative;flex:0 0 56px;width:56px;height:30px;margin:0;border:0;border-radius:999px;appearance:none;background:#b9bfbd;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);cursor:pointer;transition:.2s ease}.workflow-email-master>input::after{content:"";position:absolute;top:4px;left:4px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 3px 8px rgba(0,0,0,.22);transition:.2s ease}.workflow-email-master>input:checked{background:#0b8d6c}.workflow-email-master>input:checked::after{transform:translateX(26px)}.workflow-email-master>input:focus-visible{outline:3px solid rgba(98,80,209,.28);outline-offset:3px}
.workflow-email-people-head{display:flex;justify-content:space-between;gap:18px;align-items:end}.workflow-email-people-head>div{display:grid;gap:4px}.workflow-email-people-head strong{color:#2b2034;font-size:16px}.workflow-email-people-head span,.workflow-email-people-head small{color:#817988;font-size:11px;line-height:1.4}
.workflow-email-people{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;max-height:390px;padding:4px 8px 4px 2px;overflow:auto}.workflow-email-person{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;min-height:68px;padding:13px 14px;border:1px solid rgba(98,80,209,.14);border-radius:14px;background:#fff;cursor:pointer;transition:.18s ease}.workflow-email-person:hover{border-color:rgba(98,80,209,.42);box-shadow:0 8px 22px rgba(51,38,91,.08);transform:translateY(-1px)}.workflow-email-person>input{width:19px;height:19px;margin:0;accent-color:#6250d1}.workflow-email-person>span{display:grid;min-width:0;gap:3px}.workflow-email-person strong,.workflow-email-person small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workflow-email-person strong{color:#31243d;font-size:12px}.workflow-email-person small{color:#817989;font-size:10px}.workflow-email-person>i{padding:5px 7px;border-radius:999px;color:#0a775c;background:#e8f8f2;font-size:9px;font-style:normal;font-weight:900;text-transform:uppercase}.workflow-email-person.has-no-email{opacity:.58;cursor:not-allowed}.workflow-email-person.has-no-email:hover{transform:none;box-shadow:none}
.workflow-email-save-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:20px;border-top:1px solid rgba(98,80,209,.14)}.workflow-email-save-row>span{color:#746d7c;font-size:11px;line-height:1.45}
@media(max-width:980px){.workflow-email-people{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.workflow-email-control{padding:22px 17px}.workflow-email-control-head,.workflow-email-people-head,.workflow-email-save-row{align-items:stretch;flex-direction:column}.workflow-email-people{grid-template-columns:1fr;max-height:460px}.workflow-email-master{align-items:flex-start}.workflow-email-save-row .primary-button{width:100%;justify-content:center}}
