/* ==========================================================
   ALUREON DASHBOARD
   Version 1.1.6.1
========================================================== */

.dashboard{
    width:100%;
    max-width:1080px;
    margin:0 auto;
    padding:34px 22px calc(60px + 84px + env(safe-area-inset-bottom, 0px));
}

/* =========================
   HERO
========================= */

.hero-card{
    position:relative;
    overflow:hidden;

    background:
        radial-gradient(circle at 85% 0%, rgba(0,209,255,.28), transparent 34%),
        linear-gradient(135deg, rgba(255,255,255,.10), rgba(255,255,255,.045)),
        rgba(7,25,44,.82);

    border:var(--border-soft, 1px solid rgba(255,255,255,.10));
    border-radius:34px;

    padding:34px;

    color:#fff;

    box-shadow:var(--shadow-card, 0 28px 90px rgba(0,0,0,.42));

    margin-bottom:26px;
}

.hero-card::before{
    content:"";
    position:absolute;
    inset:0 0 auto 0;
    height:1px;
    background:linear-gradient(
        90deg,
        transparent,
        rgba(0,209,255,.7),
        rgba(230,196,109,.6),
        transparent
    );
}

.hero-card::after{
    content:"";
    position:absolute;
    right:-80px;
    bottom:-95px;
    width:260px;
    height:260px;
    border-radius:50%;
    background:rgba(0,209,255,.10);
    filter:blur(5px);
}

.welcome{
    position:relative;
    z-index:1;
}

.welcome h2{
    font-size:clamp(2rem, 4vw, 3.15rem);
    margin-bottom:10px;
    font-weight:850;
    letter-spacing:-.05em;
    line-height:1.05;
}

.welcome p{
    display:inline-flex;
    align-items:center;
    gap:8px;

    font-size:.88rem;
    font-weight:800;
    letter-spacing:.11em;
    text-transform:uppercase;

    color:var(--secondary, #6AE4FF);

    padding:9px 13px;

    border-radius:999px;

    background:rgba(0,209,255,.11);
    border:1px solid rgba(0,209,255,.22);
}

/* =========================
   CARDS GENERALES
========================= */

.dashboard .card{
    background:
        linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.045)),
        rgba(8,23,40,.78);

    border:var(--border-soft, 1px solid rgba(255,255,255,.10));
    border-radius:30px;

    padding:32px;

    box-shadow:var(--shadow-soft, 0 16px 45px rgba(0,0,0,.28));
}

.dashboard .card h2{
    font-size:clamp(1.65rem, 3vw, 2.35rem);
    line-height:1.1;
    letter-spacing:-.035em;
    margin-bottom:14px;
}

.dashboard .card p{
    color:var(--text-secondary, #C9D7E6);
    line-height:1.75;
    font-size:1rem;
}

/* =========================
   BOTONES
========================= */

.primary-btn{
    width:100%;
    min-height:62px;

    margin-top:28px;

    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;

    border:none;
    border-radius:22px;

    background:
        linear-gradient(135deg, var(--primary, #00D1FF), #0077ff);

    color:#fff;

    font-size:1rem;
    font-weight:850;
    letter-spacing:.02em;

    cursor:pointer;

    transition:var(--transition, .28s ease);

    box-shadow:var(--shadow-button, 0 18px 38px rgba(0,209,255,.28));
}

.primary-btn:hover{
    transform:translateY(-3px);
    box-shadow:0 22px 44px rgba(0,209,255,.34);
}

.primary-btn:active{
    transform:translateY(-1px) scale(.99);
}

.primary-btn:disabled{
    opacity:.65;
    cursor:not-allowed;
    transform:none;
}

/* =========================
   DIA ACTUAL
========================= */

.day-card{
    position:relative;
    overflow:hidden;

    margin-bottom:26px;

    padding:32px;

    border-radius:32px;

    background:
        radial-gradient(circle at 90% 0%, rgba(66,230,138,.20), transparent 32%),
        linear-gradient(135deg, rgba(0,209,255,.15), rgba(255,255,255,.055)),
        rgba(8,23,40,.78);

    border:var(--border-soft, 1px solid rgba(255,255,255,.10));

    box-shadow:var(--shadow-soft, 0 16px 45px rgba(0,0,0,.28));
}

.day-title{
    color:var(--secondary, #6AE4FF);
    font-size:.78rem;
    font-weight:850;
    letter-spacing:.16em;
    text-transform:uppercase;
}

.day-number{
    margin-top:10px;

    font-size:clamp(2rem, 5vw, 3.2rem);
    font-weight:900;
    line-height:1;
    letter-spacing:-.055em;
}

.dashboard .progress{
    width:100%;
    height:13px;

    border-radius:999px;

    background:rgba(255,255,255,.10);

    overflow:hidden;

    margin:26px 0 0;
}

.progress-fill{
    width:0%;
    height:100%;

    border-radius:999px;

    background:
        linear-gradient(90deg, var(--primary, #00D1FF), var(--success, #42E68A));

    box-shadow:0 0 24px rgba(0,209,255,.44);

    transition:width .8s ease;
}

.progress-percent{
    margin-top:12px;

    font-weight:850;
    color:var(--secondary, #6AE4FF);

    font-size:.95rem;
}

/* =========================
   STATS
========================= */

.stats{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
    margin-bottom:26px;
}

.stat{
    position:relative;
    overflow:hidden;

    background:
        linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.055)),
        rgba(8,23,40,.76);

    border:var(--border-soft, 1px solid rgba(255,255,255,.10));

    border-radius:26px;

    padding:24px;

    box-shadow:var(--shadow-soft, 0 16px 45px rgba(0,0,0,.28));
}

.stat::after{
    content:"";
    position:absolute;
    width:90px;
    height:90px;
    border-radius:50%;
    right:-42px;
    top:-42px;
    background:rgba(0,209,255,.08);
}

.label{
    position:relative;
    z-index:1;

    color:var(--text-muted, #8FA3B8);
    font-size:.78rem;
    font-weight:800;
    letter-spacing:.10em;
    text-transform:uppercase;
}

.value{
    position:relative;
    z-index:1;

    margin-top:12px;

    font-size:clamp(1.55rem, 3vw, 2.2rem);
    font-weight:900;
    line-height:1.05;
    letter-spacing:-.04em;

    color:#fff;
}

/* =========================
   MISIONES
========================= */

.today{
    background:
        linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.055)),
        rgba(8,23,40,.76);

    border:var(--border-soft, 1px solid rgba(255,255,255,.10));

    border-radius:30px;

    padding:28px;

    box-shadow:var(--shadow-soft, 0 16px 45px rgba(0,0,0,.28));

    margin-bottom:26px;
}

.today h3{
    margin-bottom:22px;

    color:#fff;

    font-size:1.55rem;
    font-weight:850;
    letter-spacing:-.035em;
}

.mission{
    display:flex;
    align-items:center;
    gap:14px;

    min-height:58px;

    padding:15px 17px;

    border-radius:18px;

    background:rgba(255,255,255,.065);

    border:1px solid rgba(255,255,255,.08);

    margin-bottom:12px;

    color:var(--text-secondary, #C9D7E6);

    font-weight:700;

    transition:var(--transition, .28s ease);

    cursor:pointer;
}

.mission:hover{
    background:rgba(0,209,255,.10);
    border-color:rgba(0,209,255,.32);
    color:#fff;
    transform:translateX(5px);
}

.mission input[type="checkbox"]{
    width:22px;
    height:22px;
    min-width:22px;
    accent-color:var(--primary, #00D1FF);
    cursor:pointer;
}

.mission span{
    line-height:1.45;
}

/* =========================
   CHECK-IN DIARIO
========================= */

.daily-checkin{
    position:relative;
    overflow:hidden;

    background:
        radial-gradient(circle at 100% 0%, rgba(230,196,109,.18), transparent 34%),
        linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.055)),
        rgba(8,23,40,.76);

    border:var(--border-soft, 1px solid rgba(255,255,255,.10));

    border-radius:30px;

    padding:28px;

    box-shadow:var(--shadow-soft, 0 16px 45px rgba(0,0,0,.28));

    margin-bottom:4px;
}

.daily-checkin::before{
    content:"";
    position:absolute;
    inset:0 0 auto 0;
    height:1px;
    background:linear-gradient(
        90deg,
        transparent,
        rgba(230,196,109,.58),
        rgba(0,209,255,.45),
        transparent
    );
}

.daily-checkin-header{
    position:relative;
    z-index:1;

    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;

    margin-bottom:22px;
}

.daily-kicker{
    display:inline-flex;

    margin-bottom:10px;

    color:var(--gold, #E6C46D);

    font-size:.76rem;
    font-weight:850;
    letter-spacing:.16em;
    text-transform:uppercase;
}

.daily-checkin h3{
    margin:0;

    color:#fff;

    font-size:1.55rem;
    line-height:1.1;
    font-weight:850;
    letter-spacing:-.035em;
}

.daily-fields{
    position:relative;
    z-index:1;

    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;

    margin-bottom:18px;
}

.daily-field{
    display:flex;
    flex-direction:column;
    gap:9px;
}

.daily-field span{
    color:var(--text-muted, #8FA3B8);

    font-size:.78rem;
    font-weight:850;
    letter-spacing:.10em;
    text-transform:uppercase;
}

.daily-field .input{
    width:100%;

    background:rgba(255,255,255,.07);

    border:1px solid rgba(255,255,255,.11);

    color:#fff;
}

.daily-field .input:focus{
    border-color:rgba(0,209,255,.55);
    box-shadow:0 0 0 4px rgba(0,209,255,.10);
}

select.input{
    appearance:none;
    -webkit-appearance:none;

    background-image:
        linear-gradient(45deg, transparent 50%, rgba(255,255,255,.8) 50%),
        linear-gradient(135deg, rgba(255,255,255,.8) 50%, transparent 50%);
    background-position:
        calc(100% - 22px) 50%,
        calc(100% - 16px) 50%;
    background-size:
        6px 6px,
        6px 6px;
    background-repeat:no-repeat;

    padding-right:42px;
}

select.input option{
    background:#07192C;
    color:#fff;
}

.daily-notes{
    position:relative;
    z-index:1;

    margin-top:4px;
}

.daily-notes textarea{
    min-height:130px;
}

.daily-disclaimer{
    position:relative;
    z-index:1;

    margin-top:14px;

    color:var(--text-muted, #8FA3B8);

    font-size:.82rem;
    line-height:1.55;
}

/* =========================
   FINALIZAR PROGRAMA
========================= */

.complete-program-btn{
    margin-top:14px;

    background:
        linear-gradient(135deg, #E6C46D, #C98B2E);

    color:#07192C;

    box-shadow:0 18px 38px rgba(230,196,109,.22);
}

.complete-program-btn:hover{
    box-shadow:0 22px 44px rgba(230,196,109,.30);
}

.complete-program-btn:disabled{
    opacity:.65;
    cursor:not-allowed;
    transform:none;
}

/* =========================
   PANTALLA COMPLETADA
========================= */

#completedProgram .card{
    position:relative;
    overflow:hidden;

    text-align:center;

    background:
        radial-gradient(circle at 50% 0%, rgba(230,196,109,.24), transparent 38%),
        linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.055)),
        rgba(8,23,40,.82);
}

#completedProgram .card::after{
    content:"";
    position:absolute;
    width:240px;
    height:240px;
    border-radius:50%;
    left:50%;
    top:-150px;
    transform:translateX(-50%);
    background:rgba(230,196,109,.12);
    filter:blur(10px);
    pointer-events:none;
}

#completedProgram .card h2{
    position:relative;
    z-index:1;

    font-size:clamp(2rem, 5vw, 3rem);
    color:#fff;
}

#completedProgram .card p{
    position:relative;
    z-index:1;

    max-width:520px;
    margin:0 auto;

    color:var(--text-secondary, #C9D7E6);
}

/* =========================
   RESPONSIVE
========================= */

@media(max-width:768px){

    .dashboard{
        padding:22px 14px 46px;
    }

    .hero-card,
    .day-card,
    .today,
    .daily-checkin,
    .dashboard .card{
        border-radius:26px;
        padding:26px 22px;
    }

    .stats{
        grid-template-columns:1fr;
    }

    .daily-fields{
        grid-template-columns:1fr;
    }

    .welcome p{
        max-width:100%;
        word-break:break-word;
    }

    .mission:hover{
        transform:none;
    }

}
/* ==========================================================
   LEADER PANEL
   Version 1.1.7
========================================================== */

.leader-page{
    width:100%;
    max-width:1180px;
    margin:0 auto;
    padding:34px 22px 60px;
}

/* =========================
   HEADER
========================= */

.leader-header{
    position:relative;
    overflow:hidden;

    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:24px;

    margin-bottom:26px;

    padding:34px;

    border-radius:34px;

    background:
        radial-gradient(circle at 85% 0%, rgba(0,209,255,.24), transparent 34%),
        linear-gradient(135deg, rgba(255,255,255,.10), rgba(255,255,255,.045)),
        rgba(7,25,44,.82);

    border:var(--border-soft, 1px solid rgba(255,255,255,.10));

    box-shadow:var(--shadow-card, 0 28px 90px rgba(0,0,0,.42));
}

.leader-header::before{
    content:"";
    position:absolute;
    inset:0 0 auto 0;
    height:1px;
    background:linear-gradient(
        90deg,
        transparent,
        rgba(0,209,255,.7),
        rgba(230,196,109,.55),
        transparent
    );
}

.leader-kicker{
    display:inline-flex;

    margin-bottom:12px;

    color:var(--secondary, #6AE4FF);

    font-size:.78rem;
    font-weight:850;
    letter-spacing:.16em;
    text-transform:uppercase;
}

.leader-header h1{
    margin:0 0 12px;

    color:#fff;

    font-size:clamp(2rem, 5vw, 3.25rem);
    line-height:1.02;
    font-weight:900;
    letter-spacing:-.055em;
}

.leader-header p{
    max-width:640px;

    color:var(--text-secondary, #C9D7E6);

    font-size:1rem;
    line-height:1.7;
}

.leader-refresh-btn{
    width:auto;
    min-width:160px;
    margin-top:0;
    padding:0 22px;
}

/* =========================
   SUMMARY
========================= */

.leader-summary{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:18px;

    margin-bottom:22px;
}

.leader-stat{
    position:relative;
    overflow:hidden;

    padding:24px;

    border-radius:26px;

    background:
        linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.055)),
        rgba(8,23,40,.76);

    border:var(--border-soft, 1px solid rgba(255,255,255,.10));

    box-shadow:var(--shadow-soft, 0 16px 45px rgba(0,0,0,.28));
}

.leader-stat::after{
    content:"";
    position:absolute;
    width:90px;
    height:90px;
    right:-42px;
    top:-42px;

    border-radius:50%;

    background:rgba(0,209,255,.08);
}

.leader-stat span{
    position:relative;
    z-index:1;

    display:block;

    color:var(--text-muted, #8FA3B8);

    font-size:.78rem;
    font-weight:850;
    letter-spacing:.11em;
    text-transform:uppercase;
}

.leader-stat strong{
    position:relative;
    z-index:1;

    display:block;

    margin-top:12px;

    color:#fff;

    font-size:clamp(1.8rem, 4vw, 2.65rem);
    font-weight:900;
    line-height:1;
    letter-spacing:-.05em;
}

/* =========================
   FILTERS
========================= */

.leader-filters{
    display:flex;
    flex-wrap:wrap;
    gap:16px;

    margin-bottom:22px;

    padding:18px;

    border-radius:26px;

    background:rgba(8,23,40,.55);

    border:var(--border-soft, 1px solid rgba(255,255,255,.10));
}

.leader-filters .input{
    min-height:58px;
    flex:1 1 200px;
}

#leaderSearch{
    flex:2 1 260px;
}

.leader-quick-filters{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-bottom:22px;
}

.leader-small-btn.active{
    background:var(--primary, #00D1FF);
    color:#06111F;
}

.leader-small-btn.active:hover{
    background:var(--primary, #00D1FF);
    color:#06111F;
}

/* =========================
   STATES
========================= */

.leader-loading,
.leader-empty{
    padding:28px;

    border-radius:26px;

    background:
        linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04)),
        rgba(8,23,40,.72);

    border:var(--border-soft, 1px solid rgba(255,255,255,.10));

    color:var(--text-secondary, #C9D7E6);

    text-align:center;
    font-weight:800;
}

/* =========================
   CLIENT LIST
========================= */

.leader-clients{
    display:grid;
    gap:18px;
}

.leader-client-card{
    position:relative;
    overflow:hidden;

    padding:24px;

    border-radius:28px;

    background:
        linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.045)),
        rgba(8,23,40,.78);

    border:var(--border-soft, 1px solid rgba(255,255,255,.10));

    box-shadow:var(--shadow-soft, 0 16px 45px rgba(0,0,0,.28));

    transition:var(--transition, .28s ease);
}

.leader-client-card:hover{
    transform:translateY(-3px);
    border-color:rgba(0,209,255,.28);
}

.leader-client-main{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:18px;

    margin-bottom:20px;
}

.leader-client-name{
    color:#fff;

    font-size:1.35rem;
    font-weight:900;
    line-height:1.15;
    letter-spacing:-.035em;
}

.leader-client-meta{
    margin-top:7px;

    color:var(--text-muted, #8FA3B8);

    font-size:.9rem;
    font-weight:700;
}

/* =========================
   STATUS BADGES
========================= */

.leader-status{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    min-width:112px;

    padding:9px 12px;

    border-radius:999px;

    font-size:.76rem;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
    white-space:nowrap;
}

.leader-status-pending{
    color:#FFDFA8;
    background:rgba(245,176,65,.14);
    border:1px solid rgba(245,176,65,.28);
}

.leader-status-active{
    color:#A7F7FF;
    background:rgba(0,209,255,.14);
    border:1px solid rgba(0,209,255,.30);
}

.leader-status-completed{
    color:#B7FFD2;
    background:rgba(66,230,138,.14);
    border:1px solid rgba(66,230,138,.30);
}

.leader-status-cancelled{
    color:#FFD2DB;
    background:rgba(255,92,122,.14);
    border:1px solid rgba(255,92,122,.30);
}

/* =========================
   CLIENT GRID
========================= */

.leader-client-grid{
    display:grid;
    grid-template-columns:repeat(6, 1fr);
    gap:12px;

    margin-bottom:18px;
}

.leader-client-grid div{
    padding:16px;

    border-radius:18px;

    background:rgba(255,255,255,.055);

    border:1px solid rgba(255,255,255,.075);
}

.leader-client-grid span{
    display:block;

    color:var(--text-muted, #8FA3B8);

    font-size:.72rem;
    font-weight:850;
    letter-spacing:.10em;
    text-transform:uppercase;

    margin-bottom:9px;
}

.leader-client-grid strong{
    display:block;

    color:#fff;

    font-size:.95rem;
    font-weight:850;
    line-height:1.25;
}

/* =========================
   FOOTER
========================= */

.leader-client-footer{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;

    padding-top:18px;

    border-top:1px solid rgba(255,255,255,.08);

    color:var(--text-muted, #8FA3B8);

    font-size:.9rem;
    font-weight:700;
}

.leader-client-footer strong{
    color:var(--secondary, #6AE4FF);
}

.leader-small-btn{
    min-height:42px;

    padding:0 16px;

    border:none;
    border-radius:14px;

    background:rgba(0,209,255,.12);

    color:var(--secondary, #6AE4FF);

    font-size:.78rem;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;

    cursor:pointer;

    transition:var(--transition, .28s ease);
}

.leader-small-btn:hover{
    background:rgba(0,209,255,.20);
    color:#fff;
}

/* =========================
   RESPONSIVE
========================= */

@media(max-width:980px){

    .leader-summary{
        grid-template-columns:repeat(2, 1fr);
    }

    .leader-client-grid{
        grid-template-columns:repeat(3, 1fr);
    }

}

@media(max-width:768px){

    .leader-page{
        padding:22px 14px 46px;
    }

    .leader-header{
        flex-direction:column;
        border-radius:26px;
        padding:26px 22px;
    }

    .leader-refresh-btn{
        width:100%;
    }

    .leader-filters{
        grid-template-columns:1fr;
    }

    .leader-client-main,
    .leader-client-footer{
        flex-direction:column;
        align-items:flex-start;
    }

    .leader-status{
        min-width:auto;
    }

    .leader-small-btn{
        width:100%;
    }

}

@media(max-width:560px){

    .leader-summary{
        grid-template-columns:1fr;
    }

    .leader-client-grid{
        grid-template-columns:1fr;
    }

    .leader-client-card{
        border-radius:24px;
        padding:20px;
    }

}
/* ==========================================================
   APP NAVIGATION
   Version 1.1.7
========================================================== */

.app-nav{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;

    width:100%;

    margin-bottom:22px;

    padding:8px;

    border-radius:999px;

    background:rgba(8,23,40,.58);

    border:1px solid rgba(255,255,255,.10);

    box-shadow:0 14px 36px rgba(0,0,0,.18);
}

.app-nav-btn{
    min-height:46px;

    padding:0 22px;

    border:none;
    border-radius:999px;

    background:transparent;

    color:var(--text-muted, #8FA3B8);

    font-size:.86rem;
    font-weight:850;
    letter-spacing:.04em;

    cursor:pointer;

    transition:var(--transition, .28s ease);
}

.app-nav-btn:hover{
    color:#fff;
    background:rgba(255,255,255,.07);
}

.app-nav-btn.active{
    color:#07192C;

    background:
        linear-gradient(135deg, var(--primary, #00D1FF), var(--secondary, #6AE4FF));

    box-shadow:0 12px 28px rgba(0,209,255,.22);
}

@media(max-width:560px){

    .app-nav{
        border-radius:22px;
        flex-direction:column;
    }

    .app-nav-btn{
        width:100%;
    }

}
/* ==========================================================
   RESET 360 PREMIUM EXPERIENCE
   Version 1.1.10
========================================================== */

.camino-hero{
    margin-bottom:26px;
}

.camino-day{
    display:inline-flex;
    margin-top:14px;
    padding:9px 14px;
    border-radius:999px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    color:var(--secondary, #6AE4FF);
    font-weight:850;
    letter-spacing:.02em;
}

.camino-quote{
    max-width:680px;
    margin-top:22px;
    color:#fff;
    font-size:clamp(1.15rem, 3vw, 1.65rem);
    line-height:1.35;
    font-weight:800;
    letter-spacing:-.035em;
}

.camino-mini-stats{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:14px;
    margin-top:26px;
}

.camino-mini-stats div{
    padding:18px;
    border-radius:22px;
    background:rgba(255,255,255,.075);
    border:1px solid rgba(255,255,255,.10);
}

.camino-mini-stats strong{
    display:block;
    color:#fff;
    font-size:1.75rem;
    font-weight:900;
    line-height:1;
    letter-spacing:-.045em;
}

.camino-mini-stats span{
    display:block;
    margin-top:8px;
    color:var(--text-muted, #8FA3B8);
    font-size:.76rem;
    font-weight:850;
    letter-spacing:.10em;
    text-transform:uppercase;
}

.mission-premium-card{
    position:relative;
}

.missions-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:14px;
}

.mission-card{
    position:relative;
    min-height:116px;
    display:flex;
    align-items:center;
    gap:16px;
    padding:18px;
    border-radius:22px;
    background:rgba(255,255,255,.065);
    border:1px solid rgba(255,255,255,.09);
    color:#fff;
    cursor:pointer;
    transition:var(--transition, .28s ease);
}

.mission-card:hover{
    transform:translateY(-3px);
    background:rgba(0,209,255,.10);
    border-color:rgba(0,209,255,.28);
}

.mission-card.completed{
    background:
        linear-gradient(135deg, rgba(66,230,138,.18), rgba(0,209,255,.10));
    border-color:rgba(66,230,138,.32);
}

.mission-card input{
    position:absolute;
    inset:0;
    opacity:0;
    cursor:pointer;
}

.mission-icon{
    width:52px;
    height:52px;
    min-width:52px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:18px;
    background:rgba(255,255,255,.09);
    font-size:1.65rem;
}

.mission-card.completed .mission-icon{
    background:rgba(66,230,138,.18);
}

.mission-content strong{
    display:block;
    font-size:1rem;
    line-height:1.3;
    font-weight:850;
}

.mission-content span{
    display:block;
    margin-top:8px;
    color:var(--text-muted, #8FA3B8);
    font-size:.82rem;
    font-weight:800;
}

.mission-card.completed .mission-content span{
    color:var(--success, #42E68A);
}

@media(max-width:768px){

    .camino-mini-stats{
        grid-template-columns:1fr;
    }

    .missions-grid{
        grid-template-columns:1fr;
    }

    .camino-quote{
        font-size:1.2rem;
    }

}
.mini-summary {
    margin-top:12px;
    font-size:.85rem;
    color:rgba(255,255,255,.7);
}
/* ==========================================================
   PROJECT PHOENIX — RESET 360 PREMIUM
   Version 1.2.0
========================================================== */

.camino-hero{
    margin-bottom:26px;
}

.pending-card,
.completed-preview-card{
    text-align:left;
}

.camino-day{
    display:inline-flex;
    margin-top:14px;
    padding:9px 14px;
    border-radius:999px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    color:var(--secondary, #6AE4FF);
    font-weight:850;
    letter-spacing:.02em;
}

.camino-quote{
    max-width:720px;
    margin-top:22px;
    color:#fff;
    font-size:clamp(1.15rem, 3vw, 1.72rem);
    line-height:1.35;
    font-weight:850;
    letter-spacing:-.035em;
}

.camino-mini-stats{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:14px;
    margin-top:26px;
}

.camino-mini-stats div{
    padding:18px;
    border-radius:22px;
    background:rgba(255,255,255,.075);
    border:1px solid rgba(255,255,255,.10);
}

.camino-mini-stats strong{
    display:block;
    color:#fff;
    font-size:1.75rem;
    font-weight:900;
    line-height:1;
    letter-spacing:-.045em;
}

.camino-mini-stats span{
    display:block;
    margin-top:8px;
    color:var(--text-muted, #8FA3B8);
    font-size:.76rem;
    font-weight:850;
    letter-spacing:.10em;
    text-transform:uppercase;
}

.reset-summary-card{
    position:relative;
    overflow:hidden;
    margin-bottom:26px;
    padding:28px;
    border-radius:30px;
    background:
        radial-gradient(circle at 100% 0%, rgba(0,209,255,.14), transparent 35%),
        linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.055)),
        rgba(8,23,40,.76);
    border:var(--border-soft, 1px solid rgba(255,255,255,.10));
    box-shadow:var(--shadow-soft, 0 16px 45px rgba(0,0,0,.28));
}

.reset-summary-header{
    margin-bottom:20px;
}

.reset-summary-header h3{
    margin:0;
    color:#fff;
    font-size:1.55rem;
    font-weight:850;
    letter-spacing:-.035em;
}

.reset-summary-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:14px;
}

.reset-summary-grid div{
    padding:18px;
    border-radius:20px;
    background:rgba(255,255,255,.065);
    border:1px solid rgba(255,255,255,.09);
}

.reset-summary-grid strong{
    display:block;
    color:#fff;
    font-size:1.55rem;
    font-weight:900;
    letter-spacing:-.04em;
}

.reset-summary-grid span{
    display:block;
    margin-top:8px;
    color:var(--text-muted, #8FA3B8);
    font-size:.74rem;
    font-weight:850;
    letter-spacing:.09em;
    text-transform:uppercase;
}

.missions-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:14px;
}

.mission-card{
    position:relative;
    min-height:116px;
    display:flex;
    align-items:center;
    gap:16px;
    padding:18px;
    border-radius:22px;
    background:rgba(255,255,255,.065);
    border:1px solid rgba(255,255,255,.09);
    color:#fff;
    cursor:pointer;
    transition:var(--transition, .28s ease);
}

.mission-card:hover{
    transform:translateY(-3px);
    background:rgba(0,209,255,.10);
    border-color:rgba(0,209,255,.28);
}

.mission-card.completed{
    background:
        linear-gradient(135deg, rgba(66,230,138,.18), rgba(0,209,255,.10));
    border-color:rgba(66,230,138,.32);
}

.mission-card input{
    position:absolute;
    inset:0;
    opacity:0;
    cursor:pointer;
}

.mission-icon{
    width:52px;
    height:52px;
    min-width:52px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:18px;
    background:rgba(255,255,255,.09);
    font-size:1.65rem;
}

.mission-card.completed .mission-icon{
    background:rgba(66,230,138,.18);
}

.mission-content strong{
    display:block;
    font-size:1rem;
    line-height:1.3;
    font-weight:850;
}

.mission-content span{
    display:block;
    margin-top:8px;
    color:var(--text-muted, #8FA3B8);
    font-size:.82rem;
    font-weight:800;
}

.mission-card.completed .mission-content span{
    color:var(--success, #42E68A);
}

/* ==========================================================
   RESET COMPLETE PAGE
========================================================== */

.reset-complete-page{
    width:100%;
    max-width:1080px;
    margin:0 auto;
    padding:34px 22px 60px;
}

.reset-complete-hero{
    position:relative;
    overflow:hidden;
    padding:42px 34px;
    border-radius:36px;
    margin-bottom:26px;
    background:
        radial-gradient(circle at 50% 0%, rgba(230,196,109,.24), transparent 38%),
        radial-gradient(circle at 100% 20%, rgba(0,209,255,.18), transparent 32%),
        linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.055)),
        rgba(8,23,40,.82);
    border:var(--border-soft, 1px solid rgba(255,255,255,.10));
    box-shadow:var(--shadow-card, 0 28px 90px rgba(0,0,0,.42));
    text-align:center;
}

.reset-complete-hero h1{
    max-width:780px;
    margin:12px auto 18px;
    color:#fff;
    font-size:clamp(2.25rem, 6vw, 4.2rem);
    line-height:1.02;
    font-weight:900;
    letter-spacing:-.065em;
}

.reset-complete-hero p{
    max-width:680px;
    margin:0 auto;
    color:var(--text-secondary, #C9D7E6);
    line-height:1.75;
    font-size:1.05rem;
}

.final-member{
    display:inline-flex;
    flex-direction:column;
    gap:6px;
    margin-top:24px;
    padding:14px 20px;
    border-radius:22px;
    background:rgba(255,255,255,.075);
    border:1px solid rgba(255,255,255,.10);
}

.final-member strong{
    color:#fff;
    font-size:1.1rem;
    font-weight:900;
}

.final-member span{
    color:var(--secondary, #6AE4FF);
    font-size:.78rem;
    font-weight:850;
    letter-spacing:.11em;
    text-transform:uppercase;
}

.final-stats-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:18px;
    margin-bottom:26px;
}

.final-stat-card,
.final-message-card,
.achievement-section{
    position:relative;
    overflow:hidden;
    background:
        linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.055)),
        rgba(8,23,40,.76);
    border:var(--border-soft, 1px solid rgba(255,255,255,.10));
    border-radius:30px;
    padding:28px;
    box-shadow:var(--shadow-soft, 0 16px 45px rgba(0,0,0,.28));
}

.final-stat-card strong{
    display:block;
    color:#fff;
    font-size:clamp(1.9rem, 4vw, 3rem);
    font-weight:900;
    line-height:1;
    letter-spacing:-.055em;
}

.final-stat-card span{
    display:block;
    margin-top:10px;
    color:var(--text-muted, #8FA3B8);
    font-size:.78rem;
    font-weight:850;
    letter-spacing:.10em;
    text-transform:uppercase;
}

.final-message-card,
.achievement-section{
    margin-bottom:26px;
}

.final-message-card h2,
.achievement-section h2{
    margin:10px 0 14px;
    color:#fff;
    font-size:clamp(1.7rem, 4vw, 2.8rem);
    line-height:1.08;
    font-weight:900;
    letter-spacing:-.055em;
}

.final-message-card p{
    max-width:760px;
    color:var(--text-secondary, #C9D7E6);
    line-height:1.75;
}

.final-message-card blockquote{
    margin:22px 0 0;
    padding:20px;
    border-radius:22px;
    background:rgba(230,196,109,.11);
    border:1px solid rgba(230,196,109,.24);
    color:#fff;
    font-size:1.05rem;
    line-height:1.65;
}

.achievement-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:14px;
    margin-top:20px;
}

.achievement-card{
    padding:18px;
    border-radius:22px;
    background:rgba(255,255,255,.065);
    border:1px solid rgba(255,255,255,.09);
}

.achievement-icon{
    width:52px;
    height:52px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:14px;
    border-radius:18px;
    background:rgba(255,255,255,.09);
    font-size:1.65rem;
}

.achievement-card strong{
    display:block;
    color:#fff;
    font-size:1.05rem;
    font-weight:900;
}

.achievement-card span{
    display:block;
    margin-top:8px;
    color:var(--text-secondary, #C9D7E6);
    line-height:1.55;
}

.final-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
}

@media print{
    .app-nav,
    .final-actions{
        display:none !important;
    }

    body{
        background:#07192C !important;
    }
}

@media(max-width:980px){
    .reset-summary-grid,
    .final-stats-grid{
        grid-template-columns:repeat(2, 1fr);
    }
}

@media(max-width:768px){
    .camino-mini-stats,
    .missions-grid,
    .reset-summary-grid,
    .final-stats-grid,
    .achievement-grid,
    .final-actions{
        grid-template-columns:1fr;
    }

    .camino-quote{
        font-size:1.2rem;
    }

    .reset-complete-page{
        padding:22px 14px 46px;
    }

    .reset-complete-hero,
    .final-stat-card,
    .final-message-card,
    .achievement-section{
        border-radius:26px;
        padding:26px 22px;
    }
}

/* ==========================================================
   ACCOUNT EXPERIENCE
   Version 1.3.2
========================================================== */

.top-account-bar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    width:100%;
    margin-bottom:16px;
    position:relative;
    z-index:20;
}

.account-menu{
    position:relative;
    display:inline-flex;
    justify-content:flex-end;
}

.account-trigger{
    display:inline-flex;
    align-items:center;
    gap:10px;
    min-height:52px;
    padding:8px 12px 8px 8px;
    border:none;
    border-radius:999px;
    background:rgba(8,23,40,.72);
    border:1px solid rgba(255,255,255,.12);
    color:#fff;
    cursor:pointer;
    box-shadow:0 14px 32px rgba(0,0,0,.18);
    transition:var(--transition, .28s ease);
}

.account-trigger:hover{
    background:rgba(0,209,255,.10);
    border-color:rgba(0,209,255,.28);
}

.account-avatar{
    width:38px;
    height:38px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:linear-gradient(135deg, var(--primary, #00D1FF), var(--secondary, #6AE4FF));
    color:#06111F;
    font-weight:950;
    font-size:1rem;
}

.account-avatar.large{
    width:58px;
    height:58px;
    min-width:58px;
    font-size:1.3rem;
}

.account-trigger-text{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    line-height:1.1;
}

.account-trigger-text strong{
    font-size:.92rem;
    font-weight:900;
}

.account-trigger-text small{
    margin-top:4px;
    color:var(--text-muted, #8FA3B8);
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.account-chevron{
    color:var(--secondary, #6AE4FF);
    font-size:1.2rem;
    line-height:1;
}

.account-dropdown{
    position:absolute;
    top:62px;
    right:0;
    width:min(320px, calc(100vw - 28px));
    display:none;
    padding:14px;
    border-radius:26px;
    background:rgba(7,25,44,.97);
    border:1px solid rgba(255,255,255,.12);
    box-shadow:0 28px 80px rgba(0,0,0,.48);
    backdrop-filter:blur(24px);
    -webkit-backdrop-filter:blur(24px);
    z-index:999;
}

.account-dropdown.open{
    display:block;
    animation:fadeIn .18s ease;
}

.account-card-head{
    display:flex;
    align-items:center;
    gap:14px;
    padding:12px;
    margin-bottom:8px;
    border-radius:20px;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.08);
}

.account-card-head strong{
    display:block;
    color:#fff;
    font-size:1rem;
    font-weight:900;
}

.account-card-head span{
    display:block;
    margin-top:5px;
    color:var(--text-muted, #8FA3B8);
    font-size:.78rem;
    font-weight:750;
}

.account-dropdown button{
    width:100%;
    min-height:44px;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    padding:0 12px;
    border:none;
    border-radius:15px;
    background:transparent;
    color:var(--text-secondary, #C9D7E6);
    font-size:.95rem;
    font-weight:800;
    cursor:pointer;
    transition:var(--transition, .28s ease);
}

.account-dropdown button:hover{
    background:rgba(0,209,255,.10);
    color:#fff;
}

.account-dropdown button.danger:hover{
    background:rgba(255,92,122,.13);
    color:#FFD2DB;
}

.account-divider{
    height:1px;
    margin:8px 0;
    background:rgba(255,255,255,.08);
}

.account-version{
    display:block;
    padding:8px 12px 4px;
    color:var(--text-muted, #8FA3B8);
    font-size:.74rem;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}

/* ==========================================================
   ARBOL ALUREON
   Version 1.0.0
========================================================== */

.tree-legend{
    display:flex;
    flex-wrap:wrap;
    gap:16px;

    margin-bottom:22px;
    padding:14px 18px;

    border-radius:20px;

    background:rgba(8,23,40,.55);
    border:var(--border-soft, 1px solid rgba(255,255,255,.10));

    font-size:.82rem;
    font-weight:700;
    color:var(--text-secondary, #C9D7E6);
}

.tree-container{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.tree-node-row{
    display:flex;
    align-items:center;
    gap:12px;

    padding:12px 14px;
    margin-bottom:8px;

    border-radius:18px;

    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.08);
}

.tree-toggle{
    min-width:28px;
    min-height:28px;

    border:none;
    border-radius:10px;

    background:rgba(0,209,255,.12);
    color:var(--secondary, #6AE4FF);

    font-size:.85rem;
    font-weight:900;
    cursor:pointer;
}

.tree-toggle:hover{
    background:rgba(0,209,255,.22);
}

.tree-toggle-spacer{
    display:inline-block;
    min-width:28px;
}

.tree-avatar{
    width:38px;
    height:38px;
    min-width:38px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:linear-gradient(135deg, var(--primary, #00D1FF), var(--secondary, #6AE4FF));
    color:#06111F;
    font-weight:950;
    font-size:.95rem;
}

.tree-node-info{
    display:flex;
    flex-direction:column;
    gap:3px;
    min-width:0;
}

.tree-node-name{
    color:#fff;
    font-size:.92rem;
    font-weight:900;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.tree-status-emoji{
    margin-left:4px;
}

.tree-node-meta{
    color:var(--text-muted, #8FA3B8);
    font-size:.74rem;
    font-weight:700;
}

.tree-children{
    margin-left:30px;
    padding-left:16px;
    border-left:1px dashed rgba(255,255,255,.14);
}

/* ==========================================================
   NOTIFICATION CENTER
   Version 1.0.0
========================================================== */

.notification-bell{
    position:relative;
    display:inline-flex;
}

.notification-trigger{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:52px;
    height:52px;
    border:none;
    border-radius:999px;
    background:rgba(8,23,40,.72);
    border:1px solid rgba(255,255,255,.12);
    cursor:pointer;
    box-shadow:0 14px 32px rgba(0,0,0,.18);
    transition:var(--transition, .28s ease);
}

.notification-trigger:hover{
    background:rgba(0,209,255,.10);
    border-color:rgba(0,209,255,.28);
}

.notification-icon{
    font-size:1.2rem;
    line-height:1;
}

.notification-badge{
    position:absolute;
    top:2px;
    right:2px;
    min-width:19px;
    height:19px;
    padding:0 5px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    background:linear-gradient(135deg, #FF5C7A, #E6C46D);
    color:#1A0508;
    font-size:.68rem;
    font-weight:900;
    line-height:1;
}

.notification-dropdown{
    position:absolute;
    top:62px;
    left:0;
    width:min(340px, calc(100vw - 28px));
    display:none;
    padding:14px;
    border-radius:26px;
    background:rgba(7,25,44,.97);
    border:1px solid rgba(255,255,255,.12);
    box-shadow:0 28px 80px rgba(0,0,0,.48);
    backdrop-filter:blur(24px);
    -webkit-backdrop-filter:blur(24px);
    z-index:999;
}

.notification-dropdown.open{
    display:block;
    animation:fadeIn .18s ease;
}

.notification-dropdown-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:6px 8px 12px;
    margin-bottom:6px;
    border-bottom:1px solid rgba(255,255,255,.08);
}

.notification-dropdown-head strong{
    color:#fff;
    font-size:.95rem;
    font-weight:900;
}

.notification-mark-all{
    border:none;
    background:transparent;
    color:var(--primary, #00D1FF);
    font-size:.72rem;
    font-weight:800;
    cursor:pointer;
    padding:0;
}

.notification-mark-all:hover{
    text-decoration:underline;
}

.notification-list{
    max-height:340px;
    overflow-y:auto;
}

.notification-empty{
    padding:18px 10px;
    text-align:center;
    color:var(--text-muted, #8FA3B8);
    font-size:.85rem;
    font-weight:700;
}

.notification-item{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:3px;
    width:100%;
    padding:10px 12px;
    margin-bottom:4px;
    border:none;
    border-radius:15px;
    background:transparent;
    color:var(--text-secondary, #C9D7E6);
    text-align:left;
    cursor:pointer;
    transition:var(--transition, .28s ease);
}

.notification-item:hover{
    background:rgba(0,209,255,.08);
}

.notification-item.unread{
    background:rgba(0,209,255,.06);
}

.notification-item.unread::before{
    content:"";
    display:inline-block;
    width:7px;
    height:7px;
    margin-bottom:2px;
    border-radius:50%;
    background:var(--primary, #00D1FF);
}

.notification-item-title{
    color:#fff;
    font-size:.85rem;
    font-weight:900;
}

.notification-item-body{
    font-size:.78rem;
    font-weight:600;
    line-height:1.4;
}

.notification-item-time{
    margin-top:2px;
    color:var(--text-muted, #8FA3B8);
    font-size:.7rem;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.account-recover-card .logo,
.welcome-card-v132 .logo{
    margin-bottom:24px;
}

.recover-head{
    text-align:center;
    margin-bottom:22px;
}

.recover-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:8px 14px;
    border-radius:999px;
    background:rgba(230,196,109,.14);
    border:1px solid rgba(230,196,109,.28);
    color:#E6C46D;
    font-size:.78rem;
    font-weight:850;
    letter-spacing:.12em;
    text-transform:uppercase;
    margin-bottom:18px;
}

.recover-note{
    color:var(--text-muted, #8FA3B8);
    font-size:.82rem;
    line-height:1.55;
    text-align:center;
    margin-top:22px;
}

.recover-success-icon{
    width:72px;
    height:72px;
    margin:0 auto 18px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:rgba(66,230,138,.16);
    border:1px solid rgba(66,230,138,.32);
    color:var(--success, #42E68A);
    font-size:2rem;
    font-weight:950;
}

.recovered-user-card{
    display:flex;
    align-items:center;
    gap:16px;
    padding:18px;
    margin:22px 0;
    border-radius:24px;
    background:rgba(255,255,255,.07);
    border:1px solid rgba(255,255,255,.10);
}

.recovered-user-card strong{
    display:block;
    color:#fff;
    font-size:1.1rem;
    font-weight:950;
}

.recovered-user-card span{
    display:block;
    margin-top:5px;
    color:var(--secondary, #6AE4FF);
    font-size:.8rem;
    font-weight:850;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.recovered-user-card small{
    display:block;
    margin-top:8px;
    color:var(--text-muted, #8FA3B8);
    font-size:.85rem;
    font-weight:750;
}

@media(max-width:560px){
    .top-account-bar{
        justify-content:flex-end;
        margin-bottom:12px;
    }

    .account-trigger-text{
        display:none;
    }

    .account-trigger{
        padding:7px;
    }

    .account-chevron{
        display:none;
    }

    .recovered-user-card{
        align-items:flex-start;
    }
}

/* ==========================================================
   DAILY COACH ENGINE
   Version 1.4.0
========================================================== */

.coach-engine-card{
    position:relative;
    overflow:hidden;
    margin-bottom:26px;
    padding:28px;
    border-radius:30px;
    background:
        radial-gradient(circle at 100% 0%, rgba(0,209,255,.20), transparent 35%),
        radial-gradient(circle at 0% 100%, rgba(230,196,109,.16), transparent 36%),
        linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.052)),
        rgba(8,23,40,.78);
    border:var(--border-soft, 1px solid rgba(255,255,255,.10));
    box-shadow:var(--shadow-soft, 0 16px 45px rgba(0,0,0,.28));
}

.coach-engine-card::before{
    content:"";
    position:absolute;
    inset:0 0 auto 0;
    height:1px;
    background:linear-gradient(90deg, transparent, rgba(0,209,255,.72), rgba(230,196,109,.55), transparent);
}

.coach-engine-header{
    position:relative;
    z-index:1;
    display:flex;
    align-items:center;
    gap:16px;
    margin-bottom:22px;
}

.coach-engine-icon{
    width:66px;
    height:66px;
    min-width:66px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:22px;
    background:rgba(255,255,255,.09);
    border:1px solid rgba(255,255,255,.10);
    font-size:2rem;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}

.coach-engine-header h3{
    margin:0;
    color:#fff;
    font-size:clamp(1.35rem, 3vw, 2rem);
    line-height:1.08;
    font-weight:900;
    letter-spacing:-.04em;
}

.coach-engine-header p{
    margin-top:8px;
    color:var(--text-muted, #8FA3B8);
    font-size:.86rem;
    font-weight:800;
}

.coach-engine-message{
    position:relative;
    z-index:1;
    max-width:860px;
    margin:0 0 22px;
    color:var(--text-secondary, #C9D7E6);
    font-size:1.05rem;
    line-height:1.75;
    font-weight:650;
}

.coach-engine-grid{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:14px;
}

.coach-engine-item{
    padding:18px;
    border-radius:22px;
    background:rgba(255,255,255,.065);
    border:1px solid rgba(255,255,255,.09);
}

.coach-engine-question{
    grid-column:1 / -1;
    background:rgba(0,209,255,.08);
    border-color:rgba(0,209,255,.20);
}

.coach-engine-item span{
    display:block;
    margin-bottom:9px;
    color:var(--text-muted, #8FA3B8);
    font-size:.74rem;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.coach-engine-item strong{
    display:block;
    color:#fff;
    font-size:.98rem;
    line-height:1.55;
    font-weight:800;
}

.nutrition-menu-list{
    position:relative;
    z-index:1;
    list-style:none;
    margin:10px 0 18px;
    padding:0;
    display:flex;
    flex-direction:column;
    gap:10px;
}

.nutrition-menu-list li{
    padding:14px 16px;
    border-radius:18px;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.08);
    color:var(--text-secondary, #C9D7E6);
    font-size:.92rem;
    line-height:1.5;
}

.nutrition-menu-list li span{
    display:block;
    margin-bottom:4px;
    color:var(--text-muted, #8FA3B8);
    font-size:.7rem;
    font-weight:900;
    letter-spacing:.1em;
    text-transform:uppercase;
}

.nutrition-disclaimer{
    position:relative;
    z-index:1;
    margin:0;
    color:var(--text-muted, #8FA3B8);
    font-size:.76rem;
    font-style:italic;
    line-height:1.5;
}

.coach-media{
    position:relative;
    z-index:1;
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:18px;
}

.coach-media-link{
    min-height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 15px;
    border-radius:999px;
    background:rgba(0,209,255,.12);
    border:1px solid rgba(0,209,255,.24);
    color:var(--secondary, #6AE4FF);
    text-decoration:none;
    font-size:.82rem;
    font-weight:900;
    letter-spacing:.04em;
    transition:var(--transition, .28s ease);
}

.coach-media-link:hover{
    background:rgba(0,209,255,.20);
    color:#fff;
    transform:translateY(-2px);
}

.coach-media-empty{
    color:var(--text-muted, #8FA3B8);
    font-size:.86rem;
    line-height:1.55;
    font-weight:700;
}

@media(max-width:768px){
    .coach-engine-card{
        border-radius:26px;
        padding:24px 20px;
    }

    .coach-engine-header{
        align-items:flex-start;
    }

    .coach-engine-icon{
        width:56px;
        height:56px;
        min-width:56px;
        border-radius:19px;
        font-size:1.65rem;
    }

    .coach-engine-grid{
        grid-template-columns:1fr;
    }

    .coach-engine-question{
        grid-column:auto;
    }
}

/* ==========================================================
   RESET 360 CERTIFICATE
   Version 1.5.0
========================================================== */

.certificate-card{
    position:relative;
    overflow:hidden;
    margin-bottom:26px;
    padding:30px;
    border-radius:30px;
    background:
        radial-gradient(circle at 100% 0%, rgba(230,196,109,.20), transparent 32%),
        linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.055)),
        rgba(8,23,40,.78);
    border:1px solid rgba(230,196,109,.22);
    box-shadow:var(--shadow-soft, 0 16px 45px rgba(0,0,0,.28));
}

.certificate-card::before{
    content:"";
    position:absolute;
    inset:0 0 auto 0;
    height:1px;
    background:linear-gradient(90deg, transparent, rgba(230,196,109,.8), rgba(0,209,255,.55), transparent);
}

.certificate-card h2{
    margin:10px 0 12px;
    color:#fff;
    font-size:clamp(1.55rem, 4vw, 2.35rem);
    line-height:1.08;
    font-weight:900;
    letter-spacing:-.05em;
}

.certificate-card p{
    max-width:720px;
    color:var(--text-secondary, #C9D7E6);
    line-height:1.75;
    margin-bottom:22px;
}

.certificate-download-btn{
    margin-top:0;
    background:linear-gradient(135deg, #E6C46D, #C98B2E);
    color:#07192C;
    box-shadow:0 18px 38px rgba(230,196,109,.22);
}

.certificate-download-btn:hover{
    box-shadow:0 22px 44px rgba(230,196,109,.30);
}

@media print{
    .certificate-card{
        display:none !important;
    }
}

@media(max-width:768px){
    .certificate-card{
        border-radius:26px;
        padding:26px 22px;
    }
}


/* ==========================================================
   RESET 360 STREAKS, CALENDAR & ACHIEVEMENTS
   Version 1.6.0
========================================================== */

.reset-streak-card,
.reset-calendar-card,
.dashboard-achievements-card{
    position:relative;
    overflow:hidden;
    margin-bottom:26px;
    padding:28px;
    border-radius:30px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.095), rgba(255,255,255,.045)),
        rgba(8,23,40,.78);
    border:1px solid rgba(255,255,255,.10);
    box-shadow:var(--shadow-soft, 0 16px 45px rgba(0,0,0,.28));
}

.reset-streak-card{
    display:flex;
    align-items:center;
    gap:20px;
    background:
        radial-gradient(circle at 100% 0%, rgba(230,196,109,.18), transparent 34%),
        linear-gradient(180deg, rgba(255,255,255,.095), rgba(255,255,255,.045)),
        rgba(8,23,40,.78);
    border-color:rgba(230,196,109,.18);
}

.reset-streak-card::before,
.reset-calendar-card::before,
.dashboard-achievements-card::before{
    content:"";
    position:absolute;
    inset:0 0 auto 0;
    height:1px;
    background:linear-gradient(90deg, transparent, rgba(230,196,109,.70), rgba(0,209,255,.48), transparent);
}

.reset-streak-icon{
    position:relative;
    z-index:1;
    width:78px;
    height:78px;
    min-width:78px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:26px;
    background:rgba(230,196,109,.14);
    border:1px solid rgba(230,196,109,.26);
    font-size:2.45rem;
    box-shadow:0 18px 34px rgba(230,196,109,.12);
}

.reset-streak-card h3,
.reset-calendar-card h3,
.dashboard-achievements-card h3{
    position:relative;
    z-index:1;
    margin:8px 0 8px;
    color:#fff;
    font-size:clamp(1.45rem, 3vw, 2.05rem);
    line-height:1.08;
    font-weight:900;
    letter-spacing:-.045em;
}

.reset-streak-card p{
    position:relative;
    z-index:1;
    margin:0;
    max-width:780px;
    color:var(--text-secondary, #C9D7E6);
    line-height:1.7;
    font-weight:700;
}

.reset-calendar-header,
.dashboard-achievements-header{
    position:relative;
    z-index:1;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    margin-bottom:18px;
}

.calendar-legend{
    display:inline-flex;
    align-items:center;
    min-height:34px;
    padding:0 12px;
    border-radius:999px;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.10);
    color:var(--text-muted, #8FA3B8);
    font-size:.78rem;
    font-weight:850;
    white-space:nowrap;
}

.reset-calendar-grid{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:repeat(10, minmax(0, 1fr));
    gap:10px;
}

.reset-calendar-day{
    min-height:70px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:6px;
    border-radius:18px;
    background:rgba(255,255,255,.055);
    border:1px solid rgba(255,255,255,.08);
    color:var(--text-muted, #8FA3B8);
    transition:var(--transition, .28s ease);
}

.reset-calendar-day strong{
    display:block;
    color:#fff;
    font-size:1.05rem;
    font-weight:900;
    line-height:1;
}

.reset-calendar-day span{
    display:block;
    font-size:.88rem;
    line-height:1;
}

.reset-calendar-day-completed{
    background:rgba(66,230,138,.13);
    border-color:rgba(66,230,138,.28);
}

.reset-calendar-day-completed span,
.reset-calendar-day-completed strong{
    color:#B7FFD2;
}

.reset-calendar-day-today{
    background:linear-gradient(135deg, rgba(0,209,255,.26), rgba(0,119,255,.16));
    border-color:rgba(0,209,255,.50);
    box-shadow:0 14px 28px rgba(0,209,255,.18);
    transform:translateY(-2px);
}

.reset-calendar-day-today span,
.reset-calendar-day-today strong{
    color:#fff;
}

.reset-calendar-day-missed{
    background:rgba(245,176,65,.10);
    border-color:rgba(245,176,65,.22);
}

.reset-calendar-day-missed span,
.reset-calendar-day-missed strong{
    color:#FFDFA8;
}

.reset-calendar-day-locked{
    opacity:.48;
}

.dashboard-achievements-grid{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:14px;
}

.dashboard-achievement{
    min-height:118px;
    display:flex;
    align-items:flex-start;
    gap:14px;
    padding:18px;
    border-radius:22px;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.09);
    transition:var(--transition, .28s ease);
}

.dashboard-achievement.unlocked{
    background:
        linear-gradient(135deg, rgba(230,196,109,.16), rgba(0,209,255,.08));
    border-color:rgba(230,196,109,.30);
}

.dashboard-achievement.locked{
    opacity:.54;
}

.dashboard-achievement-icon{
    width:46px;
    height:46px;
    min-width:46px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:16px;
    background:rgba(255,255,255,.085);
    font-size:1.45rem;
}

.dashboard-achievement strong{
    display:block;
    color:#fff;
    font-size:.98rem;
    line-height:1.25;
    font-weight:900;
}

.dashboard-achievement span{
    display:block;
    margin-top:7px;
    color:var(--text-muted, #8FA3B8);
    font-size:.82rem;
    line-height:1.45;
    font-weight:700;
}

.dashboard-achievement.unlocked span{
    color:var(--text-secondary, #C9D7E6);
}

.achievement-card-locked{
    opacity:.52;
    filter:grayscale(.35);
}

@media(max-width:980px){
    .reset-calendar-grid{
        grid-template-columns:repeat(6, minmax(0, 1fr));
    }

    .dashboard-achievements-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
}

@media(max-width:768px){
    .reset-streak-card,
    .reset-calendar-card,
    .dashboard-achievements-card{
        border-radius:26px;
        padding:24px 20px;
    }

    .reset-streak-card{
        align-items:flex-start;
    }

    .reset-calendar-header,
    .dashboard-achievements-header{
        flex-direction:column;
    }

    .calendar-legend{
        white-space:normal;
        line-height:1.45;
        padding:8px 12px;
    }
}

@media(max-width:560px){
    .reset-calendar-grid{
        grid-template-columns:repeat(5, minmax(0, 1fr));
        gap:8px;
    }

    .reset-calendar-day{
        min-height:58px;
        border-radius:15px;
    }

    .dashboard-achievements-grid{
        grid-template-columns:1fr;
    }

    .reset-streak-icon{
        width:62px;
        height:62px;
        min-width:62px;
        border-radius:21px;
        font-size:2rem;
    }
}

/* ==========================================================
   TRANSFORMATION CHECKPOINTS
   Version 1.6.1 rebuild
========================================================== */

.transformation-checkpoint-card,
.final-transformation-card{
    position:relative;
    overflow:hidden;
    margin-bottom:26px;
    padding:28px;
    border-radius:30px;
    background:
        radial-gradient(circle at 100% 0%, rgba(230,196,109,.18), transparent 34%),
        linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.055)),
        rgba(8,23,40,.76);
    border:var(--border-soft, 1px solid rgba(255,255,255,.10));
    box-shadow:var(--shadow-soft, 0 16px 45px rgba(0,0,0,.28));
}

.transformation-checkpoint-card::before,
.final-transformation-card::before{
    content:"";
    position:absolute;
    inset:0 0 auto 0;
    height:1px;
    background:linear-gradient(90deg, transparent, rgba(230,196,109,.58), rgba(0,209,255,.45), transparent);
}

.transformation-checkpoint-header,
.final-transformation-header{
    position:relative;
    z-index:1;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    margin-bottom:20px;
}

.transformation-checkpoint-header h3,
.final-transformation-header h2{
    margin:0 0 8px;
    color:#fff;
    font-size:1.55rem;
    line-height:1.1;
    font-weight:850;
    letter-spacing:-.035em;
}

.transformation-checkpoint-header p,
.final-transformation-header p{
    color:var(--text-secondary, #C9D7E6);
    line-height:1.6;
    margin:0;
}

.checkpoint-due-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:86px;
    padding:9px 13px;
    border-radius:999px;
    background:rgba(230,196,109,.14);
    border:1px solid rgba(230,196,109,.30);
    color:var(--gold, #E6C46D);
    font-size:.78rem;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
    white-space:nowrap;
}

.checkpoint-tabs{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
    margin-bottom:16px;
    padding:8px;
    border-radius:22px;
    background:rgba(255,255,255,.055);
    border:1px solid rgba(255,255,255,.08);
}

.checkpoint-tab{
    min-height:46px;
    border:none;
    border-radius:16px;
    background:transparent;
    color:var(--text-muted, #8FA3B8);
    font-size:.86rem;
    font-weight:850;
    cursor:pointer;
    transition:var(--transition, .28s ease);
}

.checkpoint-tab:hover:not(:disabled){
    color:#fff;
    background:rgba(255,255,255,.07);
}

.checkpoint-tab.active{
    color:#07192C;
    background:linear-gradient(135deg, var(--primary, #00D1FF), var(--secondary, #6AE4FF));
    box-shadow:0 12px 28px rgba(0,209,255,.18);
}

.checkpoint-tab.completed:not(.active){
    color:var(--success, #42E68A);
    background:rgba(66,230,138,.10);
}

.checkpoint-tab.locked{
    opacity:.5;
    cursor:not-allowed;
}

.checkpoint-notice{
    position:relative;
    z-index:1;
    margin-bottom:18px;
    padding:14px 16px;
    border-radius:18px;
    background:rgba(0,209,255,.10);
    border:1px solid rgba(0,209,255,.22);
    color:var(--text-secondary, #C9D7E6);
    font-size:.92rem;
    font-weight:750;
    line-height:1.55;
}

.checkpoint-notice-warning{
    background:rgba(255,92,122,.12);
    border-color:rgba(255,92,122,.28);
    color:#FFD8E0;
}

.checkpoint-form{
    position:relative;
    z-index:1;
}

.checkpoint-fields-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
    margin-bottom:18px;
}

.checkpoint-photo-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
    margin:18px 0;
}

.checkpoint-photo-box{
    min-height:190px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:16px;
    border-radius:22px;
    background:rgba(255,255,255,.065);
    border:1px dashed rgba(255,255,255,.20);
    color:#fff;
    cursor:pointer;
    transition:var(--transition, .28s ease);
    text-align:center;
}

.checkpoint-photo-box:hover{
    transform:translateY(-3px);
    border-color:rgba(0,209,255,.42);
    background:rgba(0,209,255,.10);
}

.checkpoint-photo-box span{
    color:var(--text-muted, #8FA3B8);
    font-size:.78rem;
    font-weight:850;
    letter-spacing:.10em;
    text-transform:uppercase;
}

.checkpoint-photo-box strong{
    font-size:.95rem;
    font-weight:850;
}

.checkpoint-photo-box input{
    display:none;
}

.checkpoint-photo-box img{
    width:100%;
    max-height:150px;
    object-fit:cover;
    border-radius:16px;
    border:1px solid rgba(255,255,255,.10);
}

.checkpoint-reflection textarea{
    min-height:110px;
}

.checkpoint-save-btn{
    margin-top:18px;
}

.final-transformation-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
    margin:22px 0;
}

.final-measure-card{
    padding:20px;
    border-radius:22px;
    background:rgba(255,255,255,.065);
    border:1px solid rgba(255,255,255,.09);
}

.final-measure-card span{
    display:block;
    color:var(--text-muted, #8FA3B8);
    font-size:.76rem;
    font-weight:850;
    letter-spacing:.10em;
    text-transform:uppercase;
    margin-bottom:10px;
}

.final-measure-card strong{
    display:block;
    color:#fff;
    font-size:1.25rem;
    font-weight:900;
    line-height:1.2;
}

.final-measure-card small{
    display:block;
    margin-top:9px;
    color:var(--secondary, #6AE4FF);
    font-size:.85rem;
    font-weight:800;
}

.final-photo-comparison{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;
    margin:20px 0;
}

.final-photo-comparison > div{
    padding:16px;
    border-radius:22px;
    background:rgba(255,255,255,.055);
    border:1px solid rgba(255,255,255,.08);
}

.final-photo-comparison span{
    display:block;
    color:var(--text-muted, #8FA3B8);
    font-size:.76rem;
    font-weight:850;
    letter-spacing:.10em;
    text-transform:uppercase;
    margin-bottom:12px;
}

.final-photo-comparison img,
.final-photo-placeholder{
    width:100%;
    min-height:260px;
    border-radius:18px;
    object-fit:cover;
    border:1px solid rgba(255,255,255,.10);
}

.final-photo-placeholder{
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--text-muted, #8FA3B8);
    background:rgba(255,255,255,.045);
    font-weight:850;
}

.final-transformation-card blockquote{
    margin:18px 0 0;
    padding:18px;
    border-left:3px solid var(--gold, #E6C46D);
    border-radius:18px;
    background:rgba(230,196,109,.08);
    color:var(--text-secondary, #C9D7E6);
    line-height:1.7;
}

@media(max-width:768px){
    .transformation-checkpoint-header,
    .final-transformation-header{
        flex-direction:column;
    }

    .checkpoint-fields-grid,
    .checkpoint-photo-grid,
    .final-transformation-grid,
    .final-photo-comparison{
        grid-template-columns:1fr;
    }

    .checkpoint-tabs{
        grid-template-columns:1fr;
    }

    .transformation-checkpoint-card,
    .final-transformation-card{
        border-radius:26px;
        padding:26px 22px;
    }
}

/* ==========================================================
   FINAL TRANSFORMATION FIX
   Version 1.6.2
========================================================== */

.final-photo-comparison-extended{
    grid-template-columns:repeat(2, minmax(0, 1fr));
}

.final-photo-comparison-extended > div{
    min-height:260px;
}

.final-photo-comparison-extended img,
.final-photo-comparison-extended .final-photo-placeholder{
    min-height:220px;
}

.final-measure-card small{
    min-height:18px;
}

@media(max-width:768px){

    .final-photo-comparison-extended{
        grid-template-columns:1fr;
    }

    .final-photo-comparison-extended > div{
        min-height:auto;
    }

    .final-photo-comparison-extended img,
    .final-photo-comparison-extended .final-photo-placeholder{
        min-height:240px;
    }

}

/* ==========================================================
   ALUREON OS V2.0.0 — PRIVATE INVITATIONS
========================================================== */

.invite-card .logo{
    margin-bottom:24px;
}

.invite-preview{
    margin-bottom:16px;
}

.invite-valid-card,
.invitation-created-card{
    padding:18px;
    border-radius:22px;
    background:
        linear-gradient(135deg, rgba(66,230,138,.16), rgba(0,209,255,.09));
    border:1px solid rgba(66,230,138,.28);
    color:#fff;
    box-shadow:0 14px 34px rgba(0,0,0,.18);
}

.invite-valid-card span,
.invitation-created-card span{
    display:block;
    color:var(--success, #42E68A);
    font-size:.76rem;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
    margin-bottom:8px;
}

.invite-valid-card strong,
.invitation-created-card strong{
    display:block;
    font-size:1.25rem;
    line-height:1.15;
    letter-spacing:-.035em;
    margin-bottom:6px;
}

.invite-valid-card p,
.invitation-created-card p,
.invitation-created-card small{
    display:block;
    margin-top:8px;
    color:var(--text-secondary, #C9D7E6);
    line-height:1.5;
}

.leader-invitation-panel{
    position:relative;
    overflow:hidden;
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:20px;
    align-items:start;
    margin-bottom:24px;
    padding:28px;
    border-radius:30px;
    background:
        radial-gradient(circle at 100% 0%, rgba(230,196,109,.18), transparent 34%),
        linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.055)),
        rgba(8,23,40,.76);
    border:var(--border-soft, 1px solid rgba(255,255,255,.10));
    box-shadow:var(--shadow-soft, 0 16px 45px rgba(0,0,0,.28));
}

.leader-invitation-panel h2{
    margin:0 0 10px;
    color:#fff;
    font-size:clamp(1.45rem, 3vw, 2.05rem);
    line-height:1.08;
    font-weight:900;
    letter-spacing:-.045em;
}

.leader-invitation-panel p{
    margin:0;
    color:var(--text-secondary, #C9D7E6);
    line-height:1.65;
}

.leader-invite-controls{
    display:grid;
    gap:12px;
}

.leader-invite-controls .primary-btn{
    margin-top:0;
}

.invitation-result{
    grid-column:1 / -1;
}

.invitation-code{
    display:inline-flex;
    margin:8px 0 12px;
    padding:9px 13px;
    border-radius:999px;
    background:rgba(230,196,109,.13);
    border:1px solid rgba(230,196,109,.28);
    color:var(--gold, #E6C46D);
    font-weight:950;
    letter-spacing:.12em;
}

.invitation-url-input{
    margin-bottom:12px;
    font-size:.9rem;
}

@media(max-width:768px){
    .leader-invitation-panel{
        grid-template-columns:1fr;
        border-radius:26px;
        padding:24px 20px;
    }
}

/* ==========================================================
   MENU INFERIOR (Mi Reset 360)
   Version 1.2.0
========================================================== */

.bottom-nav{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:60;

    display:flex;
    align-items:stretch;
    justify-content:space-around;

    padding:10px 10px calc(10px + env(safe-area-inset-bottom, 0px));

    background:rgba(7,19,34,.88);
    backdrop-filter:var(--blur, blur(26px));
    -webkit-backdrop-filter:var(--blur, blur(26px));

    border-top:1px solid rgba(255,255,255,.10);
    box-shadow:0 -14px 36px rgba(0,0,0,.30);
}

.bottom-nav-btn{
    flex:1;
    max-width:110px;

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:4px;

    padding:8px 4px;

    border:none;
    border-radius:16px;

    background:transparent;
    color:var(--text-muted, #8FA3B8);

    font-size:.68rem;
    font-weight:800;
    letter-spacing:.01em;

    cursor:pointer;
    transition:var(--transition, .28s ease);
}

.bottom-nav-icon{
    font-size:1.3rem;
    line-height:1;
}

.bottom-nav-btn:hover{
    color:#fff;
    background:rgba(255,255,255,.06);
}

.bottom-nav-btn.active{
    color:var(--primary, #00D1FF);
    background:var(--primary-soft, rgba(0,209,255,.14));
}

.bottom-nav-btn.active .bottom-nav-icon{
    filter:drop-shadow(0 0 10px rgba(0,209,255,.55));
}
/* ==========================================================
   NUTRICION — recetas navegables
   Version 1.0.0
========================================================== */

.nutrition-page{
    width:100%;
    max-width:1180px;
    margin:0 auto;
    padding:34px 22px 100px;
}

.nutrition-header{
    margin:22px 0 26px;
}

.nutrition-header h1{
    margin:10px 0 12px;
    color:#fff;
    font-size:clamp(1.8rem, 4.5vw, 2.6rem);
    line-height:1.05;
    font-weight:900;
    letter-spacing:-.05em;
}

.nutrition-header p{
    max-width:640px;
    color:var(--text-secondary, #C9D7E6);
    font-size:.98rem;
    line-height:1.65;
}

.nutrition-menu-locked{
    list-style:none;
    padding:10px 0;
    color:rgba(255,255,255,.55);
    font-size:.86rem;
    font-style:italic;
}

.nutrition-catalog-link{
    display:inline-flex;
    margin:-6px 0 10px;
    color:#22D3EE;
    font-size:.84rem;
    font-weight:700;
    text-decoration:none;
}

.nutrition-catalog-link:hover{
    text-decoration:underline;
}

.account-security-banner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    flex-wrap:wrap;
    margin:0 0 24px;
    padding:16px 20px;
    border-radius:16px;
    background:linear-gradient(135deg, rgba(230,196,109,.14), rgba(245,158,11,.10));
    border:1px solid rgba(230,196,109,.28);
}

.account-security-banner strong{
    color:#fff;
    font-size:.98rem;
}

.account-security-banner p{
    margin:4px 0 0;
    color:rgba(255,255,255,.68);
    font-size:.86rem;
}

.nutrition-quiz-banner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    flex-wrap:wrap;
    margin:0 0 24px;
    padding:16px 20px;
    border-radius:16px;
    background:linear-gradient(135deg, rgba(34,211,238,.14), rgba(20,184,166,.10));
    border:1px solid rgba(34,211,238,.28);
}

.nutrition-quiz-banner strong{
    color:#fff;
    font-size:.98rem;
}

.nutrition-quiz-banner p{
    margin:4px 0 0;
    color:var(--text-secondary, #C9D7E6);
    font-size:.86rem;
}

.nutrition-quiz-banner .btn{
    white-space:nowrap;
}

.nutrition-tabs,
.nutrition-subtabs{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-bottom:16px;
}

.nutrition-tab,
.nutrition-subtab{
    padding:12px 20px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:999px;
    background:rgba(8,23,40,.58);
    color:var(--text-muted, #8FA3B8);
    font-size:.86rem;
    font-weight:850;
    letter-spacing:.02em;
    cursor:pointer;
    transition:var(--transition, .28s ease);
}

.nutrition-tab:hover,
.nutrition-subtab:hover{
    color:#fff;
    border-color:rgba(0,209,255,.28);
}

.nutrition-tab.active{
    color:#07192C;
    background:linear-gradient(135deg, var(--primary, #00D1FF), var(--secondary, #6AE4FF));
    border-color:transparent;
    box-shadow:0 12px 28px rgba(0,209,255,.22);
}

.nutrition-subtab.active{
    color:#3B2A0A;
    background:linear-gradient(135deg, var(--gold, #E6C46D), #F5DFA0);
    border-color:transparent;
}

.nutrition-filters{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:18px;
}

.nutrition-filter-chip{
    padding:8px 16px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:999px;
    background:transparent;
    color:var(--text-muted, #8FA3B8);
    font-size:.78rem;
    font-weight:750;
    cursor:pointer;
    transition:var(--transition, .28s ease);
}

.nutrition-filter-chip:hover{
    border-color:rgba(66,230,138,.4);
    color:#fff;
}

.nutrition-filter-chip.active{
    color:#0B2A1B;
    background:var(--success, #42E68A);
    border-color:transparent;
    font-weight:850;
}

.nutrition-count{
    margin-bottom:14px;
    color:var(--text-muted, #8FA3B8);
    font-size:.84rem;
    font-weight:700;
}

.nutrition-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(240px, 1fr));
    gap:18px;
}

.nutrition-card{
    overflow:hidden;
    border-radius:24px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.045)),
        rgba(8,23,40,.78);
    border:var(--border-soft, 1px solid rgba(255,255,255,.10));
    box-shadow:var(--shadow-soft, 0 16px 45px rgba(0,0,0,.28));
    cursor:pointer;
    transition:var(--transition, .28s ease);
}

.nutrition-card:hover{
    transform:translateY(-3px);
    border-color:rgba(0,209,255,.28);
}

.nutrition-card-photo{
    display:flex;
    align-items:center;
    justify-content:center;
    height:120px;
    background:radial-gradient(circle at 30% 20%, rgba(0,209,255,.16), rgba(8,23,40,.4));
}

.nutrition-card-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.nutrition-card-icon{
    font-size:2.6rem;
    filter:drop-shadow(0 8px 18px rgba(0,0,0,.35));
}

.nutrition-card-body{
    padding:16px 18px 20px;
}

.nutrition-card-body h3{
    margin:0 0 6px;
    color:#fff;
    font-size:1.02rem;
    font-weight:850;
    line-height:1.25;
    letter-spacing:-.02em;
}

.nutrition-card-meta{
    color:var(--text-muted, #8FA3B8);
    font-size:.8rem;
    font-weight:700;
}

.nutrition-empty{
    padding:40px 20px;
    text-align:center;
    color:var(--text-muted, #8FA3B8);
    font-size:.92rem;
}

.nutrition-detail-overlay{
    position:fixed;
    inset:0;
    z-index:200;

    display:flex;
    align-items:flex-end;
    justify-content:center;

    padding:0;

    background:rgba(4,16,29,.72);
    backdrop-filter:var(--blur, blur(26px));
}

.nutrition-detail-card{
    position:relative;

    width:100%;
    max-width:640px;
    max-height:88vh;

    overflow-y:auto;

    padding:32px 26px 40px;

    border-radius:32px 32px 0 0;

    background:
        linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03)),
        rgba(7,19,34,.97);

    border:var(--border-soft, 1px solid rgba(255,255,255,.10));
    box-shadow:var(--shadow-card, 0 28px 90px rgba(0,0,0,.42));
}

@media(min-width:720px){

    .nutrition-detail-overlay{
        align-items:center;
    }

    .nutrition-detail-card{
        max-height:82vh;
        border-radius:32px;
    }

}

.nutrition-detail-close{
    position:absolute;
    top:18px;
    right:18px;

    width:38px;
    height:38px;

    border:none;
    border-radius:50%;

    background:rgba(255,255,255,.08);
    color:#fff;

    font-size:1rem;
    cursor:pointer;
}

.nutrition-detail-close:hover{
    background:rgba(255,255,255,.16);
}

.nutrition-detail-card h2{
    margin:8px 0 10px;
    color:#fff;
    font-size:1.6rem;
    font-weight:900;
    letter-spacing:-.03em;
    line-height:1.15;
}

.nutrition-detail-meta{
    margin-bottom:12px;
    color:var(--text-muted, #8FA3B8);
    font-size:.85rem;
    font-weight:750;
}

.nutrition-detail-desc{
    margin-bottom:16px;
    color:var(--text-secondary, #C9D7E6);
    font-size:.94rem;
    line-height:1.6;
}

.nutrition-tag-row{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:16px;
}

.nutrition-tag{
    padding:6px 12px;
    border-radius:999px;
    background:var(--primary-soft, rgba(0,209,255,.14));
    color:var(--secondary, #6AE4FF);
    font-size:.72rem;
    font-weight:800;
}

.nutrition-detail-alergenos{
    margin-bottom:16px;
    padding:12px 16px;
    border-radius:16px;
    background:rgba(245,176,65,.14);
    border:1px solid rgba(245,176,65,.28);
    color:#FFDFA8;
    font-size:.85rem;
    font-weight:750;
}

.nutrition-detail-card h4{
    margin:20px 0 10px;
    color:#fff;
    font-size:.92rem;
    font-weight:850;
    letter-spacing:.02em;
    text-transform:uppercase;
}

.nutrition-detail-list{
    margin:0 0 4px;
    padding-left:20px;
    color:var(--text-secondary, #C9D7E6);
    font-size:.9rem;
    line-height:1.7;
}

.nutrition-detail-tip{
    margin-top:16px;
    padding:14px 16px;
    border-radius:16px;
    background:var(--gold-soft, rgba(230,196,109,.16));
    color:var(--gold, #E6C46D);
    font-size:.86rem;
    line-height:1.55;
    font-weight:650;
}

.nutrition-detail-microcopy{
    margin-top:14px;
    color:var(--text-muted, #8FA3B8);
    font-size:.82rem;
    font-style:italic;
    line-height:1.6;
}

@media(max-width:560px){

    .nutrition-page{
        padding:22px 16px 100px;
    }

    .nutrition-grid{
        grid-template-columns:repeat(auto-fill, minmax(160px, 1fr));
    }

    .nutrition-card-photo{
        height:96px;
    }

}
