:root{--yellow:#ffbf00;--ink:#111;--muted:#6b7280;--bg:#f4f5f7;--card:#fff;--line:#e5e7eb}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#171717;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
a{text-decoration:none}.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;width:255px;inset:0 auto 0 0;background:#0c0c0d;color:#fff;padding:22px 16px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:11px;color:inherit}.brand-mark{width:44px;height:44px;border:2px solid var(--yellow);display:grid;place-items:center;font-weight:900;transform:skew(-5deg);color:var(--yellow)}.brand span:last-child{display:flex;flex-direction:column;line-height:1.05}.brand small{font-size:11px;color:#a1a1aa;margin-top:5px;text-transform:uppercase;letter-spacing:.12em}.sidebar nav{display:grid;gap:5px;margin-top:34px}.sidebar nav a,.logout{padding:12px 13px;border-radius:10px;color:#c7c7ce;display:flex;gap:11px;align-items:center}.sidebar nav a:hover{background:#1c1c1f;color:#fff}.sidebar nav i{color:var(--yellow)}.sidebar-foot{margin-top:auto;padding:14px}.logout{margin-top:12px;padding-left:0}.content{margin-left:255px;padding:32px;width:calc(100% - 255px)}.mobile-topbar{display:none}.page-head,.player-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px}.page-head h1,.player-hero h1{font-weight:900;letter-spacing:-.04em;margin:3px 0}.page-head p,.player-hero p{margin:0;color:var(--muted)}.eyebrow-dark{color:#9a7200;font-weight:800;font-size:12px;letter-spacing:.15em}.kpi-card,.mini-kpi,.panel,.plan-card,.player-tile{background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:0 5px 20px rgba(0,0,0,.035)}.kpi-card{padding:22px;display:flex;gap:15px;align-items:center}.kpi-card i{width:48px;height:48px;border-radius:13px;background:#fff3c2;color:#9b6f00;display:grid;place-items:center;font-size:22px}.kpi-card span,.mini-kpi span{display:block;color:var(--muted);font-size:13px}.kpi-card strong{display:block;font-size:28px}.panel{padding:23px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.panel-head h4{margin:0;font-weight:800}.panel-head span{color:var(--muted);font-size:13px}.panel-head a{color:#111;font-weight:700}.table>:not(caption)>*>*{padding:.9rem .6rem;border-color:#eee}.badge-soft{background:#fff1bd;color:#755500;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:800}.status{font-size:12px;font-weight:800;padding:5px 10px;border-radius:99px}.status.ok{background:#dff7e8;color:#16733a}.status.bad{background:#fee2e2;color:#a61b1b}.searchbox{max-width:520px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 14px;display:flex;align-items:center;gap:9px}.searchbox input{border:0;outline:0;width:100%}.form-panel{max-width:1050px}.form-panel label,.contact-card label{font-size:13px;font-weight:700;margin-bottom:6px}.form-control,.form-select{border-radius:10px;padding:.68rem .8rem}.player-tabs{gap:5px}.player-tabs .nav-link{color:#555;background:#fff;border:1px solid var(--line);font-weight:700}.player-tabs .nav-link.active{background:#111;color:#fff}.mini-kpi{padding:18px}.mini-kpi b{font-size:22px}.score-big{font-size:56px;font-weight:900;color:#111}.score-big small{font-size:18px;color:var(--muted)}.skillrow{display:flex;justify-content:space-between;border-top:1px solid #eee;padding:9px 0}.assessment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.rating-field{border:1px solid var(--line);padding:13px;border-radius:12px;display:grid;grid-template-columns:1fr 140px 35px;align-items:center;gap:10px}.rating-field input{width:100%;accent-color:#111}.rating-field output{font-weight:900}.plan-card{display:block;color:#111;padding:25px;transition:.2s}.plan-card:hover,.player-tile:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,0,0,.08)}.plan-card span{font-size:12px;color:#9a7200;font-weight:800;text-transform:uppercase}.plan-card p{color:var(--muted)}.player-tile{display:flex;color:#111;padding:22px;gap:16px;align-items:center;transition:.2s}.player-tile .avatar{width:58px;height:58px;border-radius:50%;background:#111;color:var(--yellow);display:grid;place-items:center;font-weight:900}.player-tile h4{margin:0}.player-tile span,.player-tile small{display:block;color:var(--muted)}.player-tile small{margin-top:8px;font-weight:700}

.public-nav{background:#090909;color:#fff;padding:14px 0}.hero-public{background:radial-gradient(circle at 78% 50%,#3b2b00 0,#111 35%,#050505 70%);color:#fff;overflow:hidden;min-height:630px;display:flex;align-items:center}.hero-public h1{font-size:clamp(50px,7vw,96px);line-height:.91;text-transform:uppercase;font-weight:1000;letter-spacing:-.055em}.hero-public h1 span{color:var(--yellow)}.hero-public p{font-size:20px;color:#d1d1d1;max-width:700px}.eyebrow{color:var(--yellow);font-size:12px;font-weight:900;letter-spacing:.16em}.hero-photo{max-height:560px;max-width:100%;border-radius:22px;filter:drop-shadow(0 25px 45px rgba(0,0,0,.5))}.public-section,.coach-public,.contact-public{padding:85px 0}.section-title{margin-bottom:35px}.section-title span{color:#a77a00;font-weight:900;font-size:12px;letter-spacing:.15em}.section-title h2,.coach-public h2,.contact-public h2{font-size:42px;font-weight:900;letter-spacing:-.04em}.feature-card{background:#fff;border-radius:18px;padding:27px;height:100%;border:1px solid var(--line)}.feature-card i{font-size:28px;color:#b78200}.feature-card h5{margin-top:18px;font-weight:800}.feature-card p{color:var(--muted)}.coach-public{background:#0c0c0d;color:#fff}.coach-panel{border:1px solid #343434;border-radius:20px;padding:28px;background:#151515}.coach-panel>span{color:var(--yellow);font-size:12px;font-weight:900}.statline{display:flex;justify-content:space-between;border-top:1px solid #333;padding:13px 0}.contact-public{background:#f4b900}.contact-card{background:#fff;padding:25px;border-radius:20px}.contact-pill{display:flex;gap:14px;align-items:center;margin-top:30px}.contact-pill i{font-size:34px}.contact-pill small,.contact-pill b{display:block}.public-footer{background:#080808;color:#999;text-align:center;padding:25px}.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 50% 20%,#3e2d00,#0b0b0b 55%);padding:24px}.login-card{width:min(460px,100%);background:#fff;border-radius:20px;padding:32px}.login-card h2{font-weight:900}.demo-box{background:#f5f5f5;padding:14px;border-radius:12px;margin-top:20px}.demo-box small{display:block;font-size:11px;margin-top:4px}

@media(max-width:900px){.sidebar{display:none}.content{margin:0;width:100%;padding:18px}.mobile-topbar{display:flex;justify-content:space-between;margin-bottom:18px}.assessment-grid{grid-template-columns:1fr}.rating-field{grid-template-columns:1fr 110px 32px}.page-head,.player-hero{align-items:flex-start;flex-direction:column}.hero-public{min-height:auto}.hero-public h1{font-size:54px}}
/* ==================================================
   MENU MOVIL CORREGIDO
================================================== */

.mobile-topbar {
    display: none;
}

.sidebar-mobile-header {
    display: none;
}

.sidebar-overlay {
    display: none;
}


@media (max-width: 991.98px) {

    html,
    body {
        overflow-x: hidden;
    }

    body.menu-open {
        overflow: hidden;
    }

    .app-shell {
        display: block !important;
        min-height: 100%;
    }

    /* ================================
       SIDEBAR
    ================================= */

    .sidebar {
        display: flex !important;
        flex-direction: column !important;

        position: fixed !important;

        top: 0 !important;
        left: 0 !important;
        bottom: 0 !important;

        width: 280px !important;
        max-width: 85vw !important;
        height: 100% !important;

        margin: 0 !important;

        z-index: 2000 !important;

        transform: translateX(-105%) !important;

        transition:
            transform .25s ease !important;

        overflow-y: auto !important;

        visibility: visible !important;
        opacity: 1 !important;
    }


    .sidebar.sidebar-open {
        transform: translateX(0) !important;
    }


    /* ================================
       OVERLAY
    ================================= */

    .sidebar-overlay {

        display: block !important;

        position: fixed !important;

        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: 0 !important;

        z-index: 1900 !important;

        background:
            rgba(0, 0, 0, .55) !important;

        opacity: 0;

        visibility: hidden;

        pointer-events: none;

        transition:
            opacity .25s ease,
            visibility .25s ease;
    }


    .sidebar-overlay.show {

        opacity: 1 !important;

        visibility: visible !important;

        pointer-events: auto !important;
    }


    /* ================================
       CABECERA DEL SIDEBAR
    ================================= */

    .sidebar-mobile-header {

        display: flex !important;

        align-items: center;

        justify-content:
            space-between;

        padding:
            15px 18px;

        color: white;

        border-bottom:
            1px solid
            rgba(255,255,255,.12);
    }


    /* ================================
       CONTENIDO
    ================================= */

    .content {

        display: block !important;

        width: 100% !important;

        max-width: 100% !important;

        margin-left: 0 !important;

        padding-top: 72px !important;

        min-width: 0 !important;
    }


    /* ================================
       TOP BAR
    ================================= */

    .mobile-topbar {

        display: flex !important;

        align-items: center;

        justify-content:
            space-between;

        position: fixed !important;

        top: 0;
        left: 0;
        right: 0;

        min-height: 60px;

        z-index: 1800 !important;

        padding:
            8px 12px;

        background: #111;

        color: white;
    }


    .mobile-title {

        display: flex;

        align-items: center;

        gap: 8px;

        min-width: 0;
    }


    .brand-mark-small {

        display: inline-flex;

        align-items: center;

        justify-content: center;

        width: 30px;

        height: 30px;

        border-radius: 6px;

        background: #ffc107;

        color: #111;

        font-size: 11px;

        font-weight: 800;
    }


    .mobile-menu-button {

        display: inline-flex !important;

        align-items: center;

        justify-content: center;

        width: 44px;

        height: 44px;

        border: 0;

        border-radius: 8px;

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

        color: white;

        font-size: 28px;
    }


    .mobile-logout {

        display: inline-flex;

        align-items: center;

        justify-content: center;

        width: 44px;

        height: 44px;

        color: white;

        text-decoration: none;

        font-size: 19px;
    }

}


/* ==================================================
   TELEFONOS PEQUEÑOS
================================================== */

@media (max-width: 575.98px) {

    .sidebar {
        width: 260px !important;
        max-width: 82vw !important;
    }

    .content {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .mobile-title b {
        font-size: 13px;
    }

}
