/* =====================================
   MODO BESTIA
   COMPONENTS
===================================== */

.hero {

    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;

}

.mbuf-hero {

    background:rgba(255,255,255,.75);
    backdrop-filter:blur(10px);
    border:1px solid rgba(255,255,255,.5);
    border-radius:28px;
    box-shadow:0 20px 60px rgba(32,32,34,.08);
    overflow:hidden;

}

.mbuf-hero__eyebrow {

    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:10px 16px;
    border-radius:999px;
    background:rgba(243,186,96,.15);
    color:var(--bestia-text);
    font-weight:700;
    margin-bottom:24px;

}

.mbuf-hero__title {

    font-size:clamp(2rem, 5vw, 3.4rem);
    font-weight:900;
    line-height:1.02;
    color:var(--bestia-text);
    margin-bottom:16px;

}

.mbuf-hero__subtitle {

    max-width:620px;
    font-size:1.1rem;
    line-height:1.7;
    margin-bottom:24px;

}

.mbuf-hero__actions {

    display:flex;
    flex-wrap:wrap;
    gap:14px;
    margin-bottom:28px;

}

.mbuf-hero__metrics {

    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:12px;

}

.mbuf-hero__metric {

    padding:14px;
    border-radius:20px;
    background:rgba(255,255,255,.78);
    border:1px solid rgba(32,32,34,.06);

}

.mbuf-hero__metric {

    padding:14px;
    border-radius:20px;
    background:rgba(255,255,255,.78);
    border:1px solid rgba(32,32,34,.06);

}

.mbuf-hero__metric strong {

    display:block;
    font-size:1.25rem;
    color:var(--bestia-text);

}

.mbuf-hero__metric span {

    color:var(--bestia-muted);
    font-size:.92rem;

}

.mbuf-badge-group .badge {

    font-weight:600;

}

.mbuf-section-title {

    margin-bottom:28px;

}

.mbuf-benefit-card,
.mbuf-step-card,
.mbuf-cta {

    background:var(--bestia-surface);
    border-radius:24px;
    padding:28px;
    box-shadow:0 10px 30px rgba(32,32,34,.06);

}

.mbuf-step-card .step-number {

    width:44px;
    height:44px;
    border-radius:14px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(243,186,96,.16);
    color:var(--bestia-red);
    font-weight:800;
    margin-bottom:18px;

}

.mbuf-cta {

    text-align:center;
    background:linear-gradient(135deg, #2f2a3d 0%, #202022 100%);
    color:white;

}

.mbuf-cta h2,
.mbuf-cta p {

    color:white;

}

.mbuf-dashboard-mockup .section-label {

    margin-bottom:10px;

}

.mbuf-auth-shell {

    padding-top:42px;
    padding-bottom:42px;

}

.mbuf-auth-hero,
.mbuf-auth-card {

    border-radius:28px;
    padding:clamp(24px, 4vw, 40px);
    box-shadow:0 16px 40px rgba(32,32,34,.10);

}

.mbuf-auth-hero {

    background:linear-gradient(140deg, #2f2a3d 0%, #1f1b2a 60%, #f3ba60 190%);
    color:#fff;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    gap:22px;

}

.mbuf-auth-hero__brand {

    font-size:1rem;
    letter-spacing:.08em;
    text-transform:uppercase;
    font-weight:800;
    color:rgba(255,255,255,.85);

}

.mbuf-auth-hero__eyebrow {

    display:inline-flex;
    align-self:flex-start;
    padding:8px 14px;
    border-radius:999px;
    background:rgba(243,186,96,.2);
    color:#ffe7bd;
    font-weight:700;

}

.mbuf-auth-hero__title {

    font-size:clamp(1.8rem, 4vw, 2.6rem);
    font-weight:900;
    margin:0;

}

.mbuf-auth-hero__subtitle {

    color:rgba(255,255,255,.86);
    line-height:1.6;

}

.mbuf-auth-hero__highlights {

    display:grid;
    gap:10px;

}

.mbuf-auth-hero__highlights li {

    position:relative;
    padding-left:22px;
    color:rgba(255,255,255,.86);

}

.mbuf-auth-hero__highlights li::before {

    content:'+';
    position:absolute;
    left:0;
    top:0;
    color:#f3ba60;
    font-weight:800;

}

.mbuf-auth-card {

    background:#fff;
    border:1px solid rgba(32,32,34,.08);
    display:flex;
    flex-direction:column;
    gap:24px;

}

.mbuf-auth-card__kicker {

    color:var(--bestia-muted);
    font-size:.85rem;
    font-weight:700;
    letter-spacing:.07em;
    text-transform:uppercase;
    margin-bottom:8px;

}

.mbuf-auth-card__title {

    font-size:clamp(1.6rem, 3vw, 2rem);
    font-weight:900;
    margin-bottom:6px;

}

.mbuf-auth-card__subtitle {

    color:var(--bestia-muted);

}

.mbuf-auth-form {

    display:grid;
    gap:16px;

}

.mbuf-auth-form__field {

    display:grid;
    gap:8px;

}

.mbuf-auth-form .form-control {

    border-radius:12px;
    border:1px solid #d7dce7;
    min-height:46px;
    padding:10px 14px;

}

.mbuf-auth-form .form-control:focus {

    border-color:#f3ba60;
    box-shadow:0 0 0 .18rem rgba(243,186,96,.28);

}

.mbuf-auth-card__links {

    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    gap:12px;
    border-top:1px solid rgba(32,32,34,.08);
    padding-top:16px;

}

.mbuf-auth-link {

    color:#5e5874;
    text-decoration:none;
    font-weight:600;

}

.mbuf-auth-link:hover {

    color:#2f2a3d;

}

.mbuf-auth-link--strong {

    color:#b22129;

}

.mbuf-wizard {

    max-width:820px;
    border-radius:24px;

}

.mbuf-wizard-progress__title {

    font-size:1.35rem;
    font-weight:800;
    margin-bottom:14px;

}

.mbuf-wizard-progress__bar {

    height:10px;

}

.mbuf-wizard-form {

    display:grid;
    gap:20px;

}

.mbuf-wizard-step {

    display:grid;
    gap:12px;

}

.mbuf-coach-message {

    display:grid;
    gap:12px;

}

.mbuf-coach-message__row {

    display:flex;
    align-items:center;
    gap:10px;

}

.mbuf-coach-avatar {

    width:42px;
    height:42px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg, #2f2a3d 0%, #1f1b2a 100%);
    color:#fff;
    font-size:1.1rem;

}

.mbuf-coach-avatar__label {

    font-size:.86rem;
    font-weight:700;
    color:var(--bestia-muted);

}

.mbuf-coach-message__bubble {

    background:#f4f6fb;
    border:1px solid #dde3f0;
    border-radius:16px;
    padding:12px 14px;
    color:#2f2a3d;

}

.mbuf-coach-message__question {

    font-size:1.22rem;
    font-weight:800;
    margin:0;
    color:var(--bestia-text);

}

.mbuf-coach-welcome-card {

    background:linear-gradient(140deg, #2f2a3d 0%, #262132 60%, #1f1b2a 100%);
    border-radius:20px;
    border:1px solid rgba(243,186,96,.25);
    padding:20px 22px;
    color:#fff;
    box-shadow:0 10px 28px rgba(20,18,27,.24);

}

.mbuf-coach-welcome-card__header {

    margin-bottom:10px;

}

.mbuf-coach-welcome-card .mbuf-coach-avatar {

    width:40px;
    height:40px;
    font-size:1rem;

}

.mbuf-coach-welcome-card .mbuf-coach-avatar__label {

    color:rgba(255,255,255,.82);

}

.mbuf-coach-welcome-card__title {

    font-size:1.4rem;
    font-weight:800;
    margin:0 0 8px;

}

.mbuf-coach-welcome-card__body {

    color:rgba(255,255,255,.92);
    line-height:1.6;

}

.mbuf-coach-welcome-card__summary {

    color:rgba(255,255,255,.88);
    line-height:1.55;

}
.mbuf-choice-list {

    display:grid;
    gap:10px;

}

.mbuf-choice-card {

    display:flex;
    align-items:center;
    gap:10px;
    border:1px solid #d9dce6;
    border-radius:14px;
    padding:12px 14px;
    background:#fff;
    cursor:pointer;

}

.mbuf-choice-card--large {

    min-height:64px;
    padding:14px 16px;

}

.mbuf-choice-card__text {

    display:grid;
    gap:2px;

}

.mbuf-choice-card__text strong {

    font-size:1rem;
    line-height:1.25;

}

.mbuf-choice-card__text small {

    color:var(--bestia-muted);

}

.mbuf-choice-card:hover {

    border-color:#f3ba60;
    background:rgba(243,186,96,.10);

}

.mbuf-choice-card input {

    margin-top:0;

}

.mbuf-wizard-actions {

    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    padding-top:6px;

}

.mbuf-summary-grid {

    display:grid;
    gap:10px;

}

.mbuf-summary-card {

    display:flex;
    align-items:flex-start;
    gap:12px;
    border:1px solid #d9dce6;
    border-radius:14px;
    padding:12px 14px;
    background:#fff;

}

.mbuf-summary-card__icon {

    font-size:1.1rem;
    line-height:1.3;

}

.mbuf-summary-card__content {

    display:grid;
    gap:2px;

}

.mbuf-summary-card__label {

    color:var(--bestia-muted);
    font-size:.86rem;
    font-weight:700;

}

.mbuf-summary-card__value {

    font-size:1rem;
    line-height:1.35;
    color:var(--bestia-text);

}

.mbuf-xp-reward {

    margin-top:12px;
    border-radius:18px;
    padding:24px;
    background:linear-gradient(135deg, #1f1b2a 0%, #2f2a3d 55%, #f3ba60 170%);
    color:#fff;
    text-align:center;
    box-shadow:0 16px 28px rgba(30,26,44,.24);

}

.mbuf-xp-reward__icon {

    font-size:1.9rem;
    margin-bottom:4px;

}

.mbuf-xp-reward__value {

    font-size:2.1rem;
    font-weight:900;
    line-height:1.1;

}

.mbuf-xp-reward__level {

    margin-top:6px;
    font-size:.98rem;
    font-weight:700;
    color:#ffebc9;

}

.card-buff,
.rpg-card,
.stat-card,
.plan-card,
.action-card {

    min-width:0;
    word-wrap:break-word;
    overflow-wrap:break-word;
    background:var(--bestia-surface);
    border:none;
    border-radius:24px;
    box-shadow:0 8px 25px rgba(0,0,0,.08);

}

.card-buff {

    border-radius:16px;
    box-shadow:0 4px 15px rgba(0,0,0,.08);
    transition:.2s;

}

.card-buff:hover,
.action-card:hover,
.stat-card:hover {

    transform:translateY(-5px);

}

.btn-buff {

    background:var(--bestia-primary);
    border:none;
    color:var(--bestia-text);
    font-weight:600;

}

.btn-buff:hover {

    background:#E7A847;
    color:var(--bestia-text);

}

.topbar-buff {

    background:var(--bestia-surface);
    padding:12px 20px;
    box-shadow:0 2px 15px rgba(0,0,0,.08);
    position:sticky;
    top:0;
    z-index:1000;

}

/* ── Hamburger menu button ── */
.hamburger-btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:40px;
    height:40px;
    border:none;
    border-radius:12px;
    background:rgba(32,32,34,.06);
    color:var(--bestia-text);
    font-size:1.35rem;
    line-height:1;
    cursor:pointer;
    transition:background .2s ease, transform .2s ease;
    -webkit-tap-highlight-color:transparent;
    touch-action:manipulation;
}

.hamburger-btn:hover {
    background:rgba(32,32,34,.12);
}

.hamburger-btn:active {
    transform:scale(.92);
}

.hamburger-btn__icon {
    display:block;
    line-height:1;
}

/* ── Mobile menu overlay ── */
.mobile-menu-overlay {
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.45);
    z-index:2000;
    opacity:0;
    pointer-events:none;
    transition:opacity .3s ease;
    -webkit-tap-highlight-color:transparent;
}

.mobile-menu-overlay--show {
    opacity:1;
    pointer-events:auto;
}

/* ── Mobile menu panel (slides from right) ── */
.mobile-menu-panel {
    position:fixed;
    top:0;
    right:0;
    bottom:0;
    width:min(300px, 80vw);
    background:#fff;
    z-index:2100;
    display:flex;
    flex-direction:column;
    box-shadow:-8px 0 30px rgba(0,0,0,.15);
    transform:translateX(100%);
    transition:transform .32s cubic-bezier(.22,1,.36,1);
    -webkit-tap-highlight-color:transparent;
}

.mobile-menu-panel--open {
    transform:translateX(0);
}

.mobile-menu-panel__header {
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:18px 20px 14px;
    border-bottom:1px solid rgba(32,32,34,.08);
    font-size:1.05rem;
    font-weight:700;
    color:var(--bestia-text);
}

.mobile-menu-panel__close {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:36px;
    height:36px;
    border:none;
    border-radius:10px;
    background:rgba(32,32,34,.06);
    color:var(--bestia-text);
    font-size:1.1rem;
    cursor:pointer;
    transition:background .2s ease;
}

.mobile-menu-panel__close:hover {
    background:rgba(32,32,34,.12);
}

.mobile-menu-panel__nav {
    display:flex;
    flex-direction:column;
    padding:8px 12px;
    flex:1;
    overflow-y:auto;
}

.mobile-menu-panel__link {
    display:flex;
    align-items:center;
    gap:14px;
    padding:14px 12px;
    border-radius:14px;
    text-decoration:none;
    color:var(--bestia-text);
    font-weight:600;
    font-size:.95rem;
    transition:background .2s ease;
}

.mobile-menu-panel__link:hover {
    background:rgba(243,186,96,.18);
}

.mobile-menu-panel__link:active {
    background:rgba(243,186,96,.25);
}

.mobile-menu-panel__link--danger {
    color:var(--bestia-danger);
}

.mobile-menu-panel__link--danger:hover {
    background:rgba(220,53,69,.1);
}

.mobile-menu-panel__icon {
    font-size:1.2rem;
    line-height:1;
    width:28px;
    text-align:center;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}

.mobile-menu-panel__divider {
    border:none;
    border-top:1px solid rgba(32,32,34,.08);
    margin:8px 0;
}

.mobile-menu-panel__welcome {
    display:flex;
    align-items:center;
    gap:12px;
    padding:16px 12px 12px;
    color:var(--bestia-text);
    pointer-events:none;
    user-select:none;
}

.mobile-menu-panel__welcome-icon {
    width:28px;
    text-align:center;
    font-size:1.3rem;
    line-height:1;
}

.mobile-menu-panel__welcome-text {
    display:flex;
    flex-direction:column;
    gap:1px;
    min-width:0;
}

.mobile-menu-panel__welcome-label {
    font-size:.72rem;
    font-weight:600;
    color:var(--bestia-muted);
    text-transform:uppercase;
    letter-spacing:.05em;
}

.mobile-menu-panel__welcome-name {
    font-size:.95rem;
    font-weight:700;
    color:var(--bestia-text);
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

/* Body scroll lock when menu is open */
body.mobile-menu--locked {
    overflow:hidden;
    position:fixed;
    top:0;
    left:0;
    right:0;
    width:100%;
}

/* Topbar responsive */
@media (max-width:575px) {
    .topbar-buff {
        padding: 8px 12px;
    }
}

@media (min-width:576px) and (max-width:767px) {
    .topbar-buff {
        padding: 10px 16px;
    }
}

.mbuf-app-shell {

    min-height:100vh;
    position:relative;
    padding-bottom:86px;
    overflow-x:hidden;
    width:100%;

}

.mbuf-app-shell__layout {

    display:grid;
    grid-template-columns:1fr;
    gap:0;
    min-width:0;

}

.mbuf-app-shell__content {

    min-height:calc(100vh - 160px);
    width:100%;
    min-width:0;

}

.mbuf-app-shell__sidebar {

    display:none;
    background:#ffffff;
    border-right:1px solid rgba(32,32,34,.08);
    padding:24px 16px;

}

.mbuf-app-shell__sidebar-title {

    font-size:.78rem;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--bestia-muted);
    font-weight:700;
    margin-bottom:14px;

}

.mbuf-app-shell__sidebar-nav {

    display:grid;
    gap:8px;

}

.mbuf-app-shell__nav-link {

    display:flex;
    align-items:center;
    gap:10px;
    padding:10px 12px;
    border-radius:12px;
    text-decoration:none;
    color:var(--bestia-text);
    font-weight:600;

}

.mbuf-app-shell__nav-link:hover {

    background:rgba(243,186,96,.22);
    color:var(--bestia-text);

}

.mbuf-app-shell__nav-link--active {
    background:rgba(243,186,96,.18);
    color:var(--bestia-text);
    font-weight:800;
}

.mbuf-app-shell__nav-link--active .mbuf-app-shell__nav-icon {
    filter:brightness(.85);
}

.mbuf-app-shell__bottom-nav {

    position:fixed;
    left:0;
    right:0;
    bottom:0;
    height:82px;
    padding:8px 6px 10px;
    background:#ffffff;
    border-top:1px solid rgba(32,32,34,.10);
    display:flex;
    justify-content:space-around;
    align-items:center;
    z-index:1100;

}

.mbuf-app-shell__bottom-link {

    min-width:58px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    color:var(--bestia-muted);
    font-size:.72rem;
    font-weight:600;
    gap:2px;

}

.mbuf-app-shell__bottom-link:hover {

    color:var(--bestia-red);

}

.mbuf-app-shell__bottom-link--active {
    color:var(--bestia-red);
    font-weight:800;
}

.mbuf-app-shell__bottom-link--active .mbuf-app-shell__bottom-icon {
    filter:brightness(.85);
}

.mbuf-app-shell__bottom-icon {

    font-size:1.25rem;
    line-height:1;
    display:inline-flex;
    align-items:center;
    justify-content:center;

}

.mbuf-app-shell__notifications {

    position:fixed;
    top:86px;
    right:12px;
    width:min(340px, calc(100vw - 24px));
    z-index:1300;
    pointer-events:none;

}

.mbuf-app-shell__coach-fab {

    position:fixed;
    right:16px;
    bottom:98px;
    height:52px;
    min-width:52px;
    padding:0 16px;
    border-radius:26px;
    background:rgba(32,32,34,.92);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:.74rem;
    font-weight:700;
    letter-spacing:.02em;
    box-shadow:0 10px 25px rgba(0,0,0,.24);
    z-index:1200;
    opacity:.88;

}

.logo-buff {

    display:inline-flex;
    align-items:center;
    text-decoration:none;
    line-height:1;
    height:100%;

}

.logo-buff__img {

    width:min(250px,100%);
    height:50px;
    display:block;
    object-fit:contain;
    transition:opacity .25s ease;

}

.logo-buff:hover .logo-buff__img {

    opacity:.85;

}

.bottom-nav {

    position:fixed;
    bottom:0;
    left:0;
    width:100%;
    height:80px;
    background:var(--bestia-surface);
    display:flex;
    justify-content:space-around;
    align-items:center;
    box-shadow:0 -5px 20px rgba(0,0,0,.08);
    z-index:999;

}

.bottom-nav-item {

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    color:var(--bestia-muted);
    font-size:.75rem;

}

.bottom-nav-item span {

    font-size:1.4rem;

}

.bottom-nav-item:hover {

    color:var(--bestia-red);

}

.center-btn {

    width:65px;
    height:65px;
    border-radius:50%;
    background:var(--bestia-primary);
    color:var(--bestia-text) !important;
    display:flex;
    justify-content:center;
    align-items:center;
    transform:translateY(-20px);
    box-shadow:0 10px 25px rgba(243,186,96,.40);

}

.center-btn span {

    font-size:1.8rem;

}

.exercise-gif {

    height:220px;
    object-fit:contain;
    background:#fafafa;

}

.hero-buff {

    min-width:0;
    word-wrap:break-word;
    overflow-wrap:break-word;
    background:linear-gradient(135deg, var(--bestia-primary), #E7A847);
    border-radius:24px;
    padding:clamp(20px, 3vw, 30px);
    color:#fff;
    box-shadow:0 10px 30px rgba(0,0,0,.10);
    transition:padding .35s ease, border-radius .35s ease, box-shadow .35s ease;

}

.hero-buff h1 {

    font-size:clamp(1.7rem, 3.2vw, 2.4rem);
    line-height:1.1;

}

.hero-level {

    background:rgba(255,255,255,.6);
    color:var(--bestia-text);
    padding:8px 16px;
    border-radius:25px;
    font-size:.9rem;
    font-weight:600;

}

.hero-rank {

    color:var(--bestia-muted);
    font-size:1rem;
    margin:0;

}

.hero-avatar {

    width:90px;
    height:90px;
    border-radius:50%;
    background:var(--bestia-surface);
    color:var(--bestia-primary);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:2rem;
    box-shadow:0 5px 15px rgba(0,0,0,.08);

}

.xp-bar {

    width:100%;
    height:18px;
    background:var(--bestia-secondary);
    border-radius:50px;
    overflow:hidden;

}

.xp-progress {

    height:100%;
    background:var(--bestia-xp);
    border-radius:50px;
    transition:.4s;

}

.stat-card {

    min-width:0;
    word-wrap:break-word;
    overflow-wrap:break-word;
    padding:20px;
    text-align:center;
    transition:.3s ease, padding .35s ease, margin .35s ease;

}

.stat-card h2 {

    font-size:1.6rem;
    font-weight:800;
    margin-bottom:10px;

}

.stat-card p {

    margin:0;
    color:#6b7280;

}

.plan-card,
.action-card,
.rpg-card {

    min-width:0;
    word-wrap:break-word;
    overflow-wrap:break-word;
    padding:24px;
    transition:padding .35s ease, margin .35s ease, box-shadow .35s ease;

}

.action-card {

    text-align:center;
    text-decoration:none;
    color:var(--bestia-text);
    display:block;
    transition:.3s ease, padding .35s ease, margin .35s ease;

}

.action-card:hover {

    color:var(--bestia-red);

}

.action-icon {

    font-size:3rem;
    margin-bottom:10px;

}

.rpg-title {

    font-weight:800;
    color:var(--bestia-text);

}

.gold-text {

    color:var(--bestia-gold);

}

.bestia-gradient {

    background:linear-gradient(135deg, #dc3545, #991b1b);
    color:white;
    border-radius:24px;

}

.logro-desbloqueado {

    border:2px solid #28a745;
    box-shadow:0 0 15px rgba(40,167,69,.25);

}

.logro-bloqueado {

    opacity:.85;

}

.logro-share-bar {
    display:flex;
    justify-content:center;
    gap:8px;
    flex-wrap:wrap;
}

.logro-share-btn {
    width:38px;
    height:38px;
    border:none;
    border-radius:50%;
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:rgba(32,32,34,.07);
    color:var(--bestia-text);
    font-size:.95rem;
    transition:background .2s ease, transform .2s ease, box-shadow .2s ease;
    -webkit-tap-highlight-color:transparent;
    user-select:none;
    flex-shrink:0;
}

.logro-share-btn:hover {
    background:rgba(32,32,34,.14);
}

.logro-share-btn:active {
    transform:scale(.88);
}

.logro-share-btn--share {
    width:auto;
    min-width:44px;
    padding:0 16px;
    border-radius:999px;
    background:var(--bestia-text);
    color:#fff;
    font-size:.85rem;
    gap:6px;
    flex:1;
    max-width:140px;
}

.logro-share-btn--share:hover {
    background:rgba(32,32,34,.85);
    box-shadow:0 4px 12px rgba(32,32,34,.15);
}

/* Toast de copiado */
.logro-toast {
    position:fixed;
    bottom:100px;
    left:50%;
    transform:translateX(-50%) translateY(20px);
    background:var(--bestia-coach);
    color:#fff;
    padding:12px 24px;
    border-radius:14px;
    font-size:.88rem;
    font-weight:600;
    box-shadow:0 10px 30px rgba(0,0,0,.2);
    z-index:9999;
    opacity:0;
    transition:opacity .3s ease, transform .3s ease;
    pointer-events:none;
}

.logro-toast--show {
    opacity:1;
    transform:translateX(-50%) translateY(0);
}

.proximo-logro-card {

    background:linear-gradient(135deg, #f4b24f, #f6c46e);
    border-radius:20px;
    padding:25px;
    text-align:center;
    color:white;
    box-shadow:0 5px 20px rgba(0,0,0,.15);

}

.proximo-logro-card h3,
.proximo-logro-card h4,
.proximo-logro-card p {

    color:white;
    margin-bottom:10px;

}

.progress {

    height:10px;
    border-radius:50px;
    background:#e9ecef;

}

.progress-bar {

    border-radius:50px;

}

@media (max-width:768px) {

    .mbuf-auth-shell {

        padding-top:24px;
        padding-bottom:24px;

    }

    .mbuf-auth-hero,
    .mbuf-auth-card {

        padding:24px;

    }

    .mbuf-auth-card__links {

        flex-direction:column;
        align-items:flex-start;

    }

    .hero-buff {

        padding:25px;

    }

    .hero-buff h1,
    .display-3 {

        font-size:2rem;

    }

    .card-buff {

        margin-bottom:15px;

    }

}


/* ── Weekly timeline ── */
.weekly-timeline {
    margin-top: 1.5rem;
    padding-top: 1.25rem;
    border-top: 1px solid rgba(32,32,34,.06);
}
.weekly-timeline__title {
    font-size: .85rem;
    font-weight: 700;
    color: var(--bestia-muted);
    margin-bottom: 1rem;
    letter-spacing: .02em;
}
.weekly-timeline__grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 6px;
}
.weekly-timeline__day {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 10px 4px;
    border-radius: 14px;
    text-align: center;
    position: relative;
    transition: all .2s ease;
    border: 2px solid transparent;
}
.weekly-timeline__day--training {
    background: rgba(40,167,69,.08);
    border-color: rgba(40,167,69,.2);
}
.weekly-timeline__day--rest {
    background: rgba(220,53,69,.06);
    border-color: rgba(220,53,69,.12);
}
.weekly-timeline__day--today {
    border-width: 2px;
    box-shadow: 0 0 0 2px var(--bestia-primary);
    transform: scale(1.04);
}
.weekly-timeline__day--today.weekly-timeline__day--training {
    background: rgba(40,167,69,.12);
    border-color: #28a745;
}
.weekly-timeline__day--today.weekly-timeline__day--rest {
    background: rgba(220,53,69,.1);
    border-color: #dc3545;
}
.weekly-timeline__name {
    font-size: .65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--bestia-text);
}
.weekly-timeline__icon {
    font-size: 1.2rem;
    line-height: 1;
}
.weekly-timeline__label {
    font-size: .6rem;
    font-weight: 600;
    line-height: 1.2;
}
.weekly-timeline__day--training .weekly-timeline__label {
    color: #1a7a2e;
}
.weekly-timeline__day--rest .weekly-timeline__label {
    color: #b02a37;
}
.weekly-timeline__badge {
    position: absolute;
    top: -6px;
    right: -6px;
    font-size: .55rem;
    font-weight: 800;
    background: var(--bestia-primary);
    color: var(--bestia-text);
    padding: 2px 6px;
    border-radius: 999px;
    letter-spacing: .03em;
    box-shadow: 0 2px 6px rgba(243,186,96,.35);
}
@media (max-width: 575px) {
    .weekly-timeline__grid {
        grid-template-columns: repeat(7, 1fr);
        gap: 3px;
    }
    .weekly-timeline__day {
        padding: 6px 1px;
        border-radius: 8px;
        gap: 1px;
        border-width: 1.5px;
    }
    .weekly-timeline__name {
        font-size: .5rem;
    }
    .weekly-timeline__icon {
        font-size: .85rem;
    }
    .weekly-timeline__label {
        font-size: .42rem;
    }
    .weekly-timeline__badge {
        font-size: .4rem;
        padding: 1px 4px;
        top: -4px;
        right: -4px;
    }
}

@media (min-width:992px) {

    .mbuf-app-shell {

        padding-bottom:0;

    }

    .mbuf-app-shell__layout {

        grid-template-columns:260px 1fr;

    }

    .mbuf-app-shell__sidebar {

        display:block;
        min-height:calc(100vh - 60px);
        position:sticky;
        top:60px;

    }

    .mbuf-app-shell__bottom-nav {

        display:none;

    }

    .mbuf-app-shell__coach-fab {

        bottom:24px;

    }

    .bottom-nav {

        max-width:500px;
        left:50%;
        transform:translateX(-50%);
        border-radius:25px 25px 0 0;

    }

}
