@media (max-width: 980px){
    .auth-shell{
        grid-template-columns:1fr;
        padding:24px 16px;
    }

    .auth-hero{
        padding:12px 4px;
    }

    .auth-hero h1{
        font-size:38px;
    }

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

    .app-shell{
        grid-template-columns:1fr;
    }

    .sidebar{
        position:relative;
        height:auto;
        flex-direction:row;
        flex-wrap:wrap;
        align-items:center;
        gap:12px;
        padding:16px;
        border-radius:0 0 22px 22px;
    }

    .brand{
        width:100%;
    }

    .side-nav{
        display:flex;
        gap:8px;
        overflow-x:auto;
        width:100%;
        padding-bottom:6px;
        scrollbar-width:none;
    }

    .side-nav::-webkit-scrollbar{
        display:none;
    }

    .side-nav a{
        white-space:nowrap;
        min-height:40px;
        display:inline-flex;
        align-items:center;
    }

    .ghost-btn{
        width:auto;
        min-height:42px;
        margin-top:0;
    }

    .main-content{
        width:100%;
        max-width:100%;
        padding:18px 14px 104px;
    }

    .topbar{
        align-items:flex-start;
        flex-direction:column;
        gap:12px;
    }

    .topbar .secondary-btn{
        width:100%;
    }

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

    .stat-card{
        min-height:auto;
        padding:16px;
        border-radius:20px;
    }

    .stat-card strong{
        font-size:28px;
    }

    .panel{
        padding:18px;
        border-radius:22px;
        margin-bottom:16px;
    }

    .section-heading{
        align-items:flex-start;
        flex-direction:column;
        gap:12px;
    }

    .section-heading .secondary-btn,
    .section-heading .primary-btn{
        width:100%;
    }

    .grid-form{
        grid-template-columns:1fr;
        gap:13px;
    }

    .grid-form input,
    .grid-form textarea,
    .grid-form select,
    .filter-field input,
    .filter-field select{
        min-height:46px;
        font-size:16px;
    }

    .filters-bar{
        grid-template-columns:1fr;
        gap:12px;
        padding:14px;
        border-radius:18px;
        background:#f8fafc;
        border:1px solid var(--line);
    }

    .request-summary-grid{
        grid-template-columns:1fr 1fr 1fr;
        gap:8px;
    }

    .request-summary-card{
        padding:12px;
        border-radius:16px;
    }

    .request-summary-card strong{
        font-size:24px;
    }

    .detail-grid{
        grid-template-columns:1fr 1fr;
        gap:10px;
    }

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

    .data-card,
    .athlete-card{
        flex-direction:column;
        align-items:flex-start;
        gap:14px;
        padding:16px;
        border-radius:18px;
    }

    .data-card > div:first-child,
    .athlete-card > div:first-child{
        width:100%;
    }

    .data-card-right{
        width:100%;
        min-width:0;
        text-align:left;
    }

    .card-actions,
    .athlete-card .card-actions{
        width:100%;
        min-width:0;
        justify-content:flex-start;
        display:grid;
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:8px;
    }

    .mini-btn{
        width:100%;
        min-height:42px;
        padding:10px 12px;
        font-size:12px;
        border-radius:12px;
    }

    .primary-btn,
    .secondary-btn{
        min-height:46px;
    }

    #clubRegistrationLink{
        min-height:48px;
        font-size:14px;
        overflow:hidden;
        text-overflow:ellipsis;
    }

    .form-actions{
        display:grid;
        grid-template-columns:1fr;
        width:100%;
    }

    .form-actions .primary-btn,
    .form-actions .secondary-btn{
        width:100%;
        min-width:0;
    }

    .subsection-title-row{
        align-items:flex-start;
        flex-direction:column;
    }

    .subsection-title-row .secondary-btn{
        width:100%;
    }

    .detail-actions{
        width:100%;
        display:grid;
        grid-template-columns:1fr;
        gap:8px;
    }

    .detail-actions .secondary-btn{
        width:100%;
    }

    .mobile-bottom-nav{
        position:fixed;
        left:10px;
        right:10px;
        bottom:10px;
        z-index:1000;
        display:grid;
        grid-template-columns:repeat(6, 1fr);
        gap:4px;
        background:rgba(2,6,23,.96);
        border:1px solid rgba(255,255,255,.12);
        border-radius:20px;
        padding:7px;
        box-shadow:0 18px 40px rgba(15,23,42,.35);
        backdrop-filter:blur(12px);
    }

    .mobile-bottom-nav a{
        color:#cbd5e1;
        text-align:center;
        font-size:11px;
        font-weight:900;
        padding:9px 4px;
        border-radius:13px;
        line-height:1.1;
    }

    .mobile-bottom-nav a:hover,
    .mobile-bottom-nav a:focus{
        color:#fff;
        background:rgba(255,255,255,.12);
    }
}

@media (max-width: 680px){
    .request-summary-grid{
        grid-template-columns:1fr;
    }

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

    .card-actions,
    .athlete-card .card-actions{
        grid-template-columns:1fr;
    }

    .mobile-bottom-nav{
        grid-template-columns:repeat(3, 1fr);
    }

    .mobile-bottom-nav a{
        font-size:11px;
        padding:9px 6px;
    }
}

@media (max-width: 560px){
    .auth-hero h1{
        font-size:32px;
    }

    .auth-card{
        padding:18px;
        border-radius:22px;
    }

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

    .topbar h1{
        font-size:28px;
    }

    .stat-card{
        padding:16px;
    }

    .panel{
        padding:16px;
        border-radius:20px;
    }

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

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

    .mini-btn{
        padding:10px 12px;
    }

    .side-nav a{
        font-size:13px;
    }

    .main-content{
        padding-left:12px;
        padding-right:12px;
    }
}