/* ==========================================================
   MR Customer Portal Pro v18.8.0 — Mobile UX & Dashboard Polish
   Responsive-only refinement. No analytics or data changes.
========================================================== */

html.mrcp-mobile-nav-lock,
html.mrcp-mobile-nav-lock body{overflow:hidden}

.mrcp-mobile-nav-toggle{
    display:none;
    width:100%;
    min-height:46px;
    margin:0 0 12px;
    padding:0 14px;
    border:1px solid #d8ecea;
    border-radius:12px;
    background:linear-gradient(135deg,#f1fbfa,#fff);
    color:#0b756f;
    font:800 13px/1 Inter,system-ui,sans-serif;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    cursor:pointer;
    box-shadow:0 8px 20px rgba(14,75,78,.06);
}
.mrcp-mobile-nav-toggle span{display:inline-flex;align-items:center;gap:9px}
.mrcp-mobile-nav-toggle i{font-style:normal;font-size:18px;transition:transform .2s ease}
.mrcp-mobile-nav-toggle[aria-expanded="true"] i{transform:rotate(180deg)}

/* Keep interactive elements comfortable on touch screens. */
@media (hover:none), (pointer:coarse){
    .mrcp-nav-item,
    .mrcp-bi__tab,
    .mrcp-bi__export,
    .mrcp-module-head a,
    .mrcp-row-actions a,
    .mrcp-row-actions button{min-height:44px}
    .mrcp-bi__kpis article:hover,
    .mrcp-ri__kpis article:hover,
    .mrcp-pi__kpis article:hover,
    .mrcp-ci__kpis article:hover,
    .mrcp-oi__kpis article:hover,
    .mrcp-bi-card:hover{transform:none!important}
}

@media(max-width:1200px){
    .mrcp-app{
        max-width:100%;
        padding:22px;
        gap:18px;
    }
    .mrcp-sidebar{
        position:relative;
        top:auto;
        min-height:0;
        padding:18px;
        border-radius:18px;
    }
    .mrcp-sidebar .mrcp-logo{margin-bottom:16px}
    .mrcp-help-card{display:none!important}
    .mrcp-main{width:100%;min-width:0}
    .mrcp-topbar{margin-bottom:16px}
}

@media(max-width:900px){
    body.mrcp-body{overflow-x:hidden}
    .mrcp-app{padding:14px;gap:14px}
    .mrcp-sidebar{padding:14px;border-radius:16px}
    .mrcp-mobile-nav-toggle{display:flex}
    .mrcp-sidebar .mrcp-nav{
        display:none;
        max-height:min(62vh,520px);
        overflow-y:auto;
        overscroll-behavior:contain;
        padding:4px 2px 8px;
        scrollbar-width:thin;
        scrollbar-color:#b9ddda transparent;
    }
    .mrcp-sidebar.is-mobile-open .mrcp-nav{display:flex}
    .mrcp-sidebar .mrcp-nav-item{
        flex:0 0 auto;
        min-height:45px;
        height:auto;
        padding:10px 12px;
    }
    .mrcp-sidebar .mrcp-divider{margin:8px 0}

    /* Keep notification/profile controls available on mobile. */
    .mrcp-topbar{
        display:flex!important;
        align-items:center;
        justify-content:flex-end;
        gap:10px;
    }
    .mrcp-topbar .mrcp-search{display:none!important}
    .mrcp-userchip{
        min-width:0;
        height:48px;
        padding:0 11px;
        border-radius:12px;
    }
    .mrcp-userchip img{width:34px;height:34px}
    .mrcp-userchip strong,
    .mrcp-userchip small{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

    /* Dashboard cards and sections breathe without wasting width. */
    .mrcp-module-page,
    .mrcp-bi-card,
    .mrcp-reports-v17-card{border-radius:16px}
    .mrcp-module-page{padding:18px}
    .mrcp-module-head{gap:12px}
    .mrcp-module-head h1{font-size:clamp(25px,7vw,34px)}

    /* CRM top products: product identity first, metrics below. */
    body.mrcp-body .mrcp-main .mrcp-v174-product-card{
        grid-template-columns:44px 52px minmax(0,1fr)!important;
        gap:10px!important;
        padding:13px!important;
        border-radius:15px!important;
    }
    body.mrcp-body .mrcp-main .mrcp-v174-product-card>img{
        width:50px!important;height:50px!important;border-radius:11px!important;
    }
    body.mrcp-body .mrcp-main .mrcp-v174-product-stats{
        grid-column:1/-1!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:8px!important;
    }
    body.mrcp-body .mrcp-main .mrcp-v174-product-stats .mrcp-v1252-product-metric{
        min-height:66px!important;
        padding:10px!important;
    }
}

@media(max-width:700px){
    .mrcp-app{padding:10px;gap:10px}
    .mrcp-sidebar{padding:12px}
    .mrcp-logo span{font-size:26px}
    .mrcp-logo strong{font-size:14px;letter-spacing:3px}
    .mrcp-userchip strong,.mrcp-userchip small{display:none}

    .mrcp-hero,
    .mrcp-crm-hero,
    .mrcp-module-page{padding:16px!important;border-radius:16px!important}
    .mrcp-hero h1,.mrcp-crm-hero h1{font-size:clamp(27px,9vw,36px)!important}
    .mrcp-stats,.mrcp-actions,.mrcp-ticket-stats,.mrcp-order-summary-grid{gap:10px!important}

    /* Report hero and export become a clean vertical stack. */
    .mrcp-bi__hero{
        display:flex!important;
        flex-direction:column!important;
        align-items:stretch!important;
        gap:14px!important;
        padding:16px!important;
        margin-bottom:12px!important;
        border-radius:16px!important;
    }
    .mrcp-bi__hero h1{font-size:clamp(25px,8vw,31px)!important;line-height:1.12!important}
    .mrcp-bi__hero p{font-size:12.5px!important}
    .mrcp-bi__export{width:100%;justify-content:center;min-height:46px}

    /* Six tabs stay usable instead of shrinking into unreadable pills. */
    .mrcp-bi__tabs{
        position:sticky;
        top:0;
        z-index:25;
        display:flex!important;
        flex-wrap:nowrap!important;
        overflow-x:auto!important;
        overflow-y:hidden!important;
        gap:7px!important;
        margin:0 -2px 14px!important;
        padding:7px!important;
        border-radius:14px!important;
        scroll-snap-type:x proximity;
        scrollbar-width:none;
        -webkit-overflow-scrolling:touch;
        backdrop-filter:blur(14px);
    }
    .mrcp-bi__tabs::-webkit-scrollbar{display:none}
    .mrcp-bi__tab{
        flex:0 0 auto!important;
        min-width:126px!important;
        min-height:46px!important;
        padding:7px 11px!important;
        scroll-snap-align:center;
        white-space:nowrap;
    }
    .mrcp-bi__tab i{width:28px!important;height:28px!important}

    .mrcp-bi__section-head{margin:18px 0 11px!important}
    .mrcp-bi__section-head h2{font-size:21px!important}
    .mrcp-bi-card{padding:14px!important;border-radius:16px!important}
    .mrcp-bi-card header{margin-bottom:12px!important;padding-bottom:10px!important}
    .mrcp-bi-card h3{font-size:16px!important}

    /* KPI cards: two balanced columns on phones, one only on tiny screens. */
    .mrcp-bi__kpis,
    .mrcp-ri__kpis,
    .mrcp-pi__kpis,
    .mrcp-ci__kpis,
    .mrcp-oi__kpis{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:9px!important;
    }
    .mrcp-bi__kpis article,
    .mrcp-ri__kpis article,
    .mrcp-pi__kpis article,
    .mrcp-ci__kpis article,
    .mrcp-oi__kpis article{
        min-width:0!important;
        min-height:126px!important;
        padding:14px!important;
        border-radius:16px!important;
    }
    .mrcp-bi__kpis article>i,
    .mrcp-ri__kpis article>i,
    .mrcp-pi__kpis article>i,
    .mrcp-ci__kpis article>i,
    .mrcp-oi__kpis article>i{width:38px!important;height:38px!important;border-radius:12px!important;font-size:16px!important}
    .mrcp-bi__kpis strong,
    .mrcp-ri__kpis strong,
    .mrcp-pi__kpis strong,
    .mrcp-ci__kpis strong,
    .mrcp-oi__kpis strong{font-size:clamp(19px,6vw,24px)!important;overflow-wrap:anywhere}

    /* Charts remain readable by scrolling horizontally instead of compressing labels. */
    .mrcp-bi__chart,
    .mrcp-ri__trend,
    .mrcp-ci__growth-chart,
    .mrcp-oi__trend,
    .mrcp-pi__bars{
        overflow-x:auto!important;
        overflow-y:hidden!important;
        -webkit-overflow-scrolling:touch;
        overscroll-behavior-x:contain;
        scrollbar-width:thin;
    }
    .mrcp-bi__chart>*:not(.mrcp-chart-tooltip):not(.mrcp-chart-line-overlay),
    .mrcp-ri__trend>*:not(.mrcp-chart-tooltip):not(.mrcp-chart-line-overlay){min-width:42px}
    .mrcp-chart-tooltip{max-width:170px}

    /* Data tables use a deliberate scroll container, not page overflow. */
    .mrcp-bi__table,
    .mrcp-pi__table,
    .mrcp-ci__table,
    .mrcp-membership-admin-table-wrap,
    .mrcp-invoice-table-wrap{
        width:100%;
        max-width:100%;
        overflow-x:auto!important;
        -webkit-overflow-scrolling:touch;
        overscroll-behavior-x:contain;
        border-radius:13px!important;
    }

    .mrcp-bi__grid,
    .mrcp-ri__grid,
    .mrcp-pi__grid,
    .mrcp-ci__grid,
    .mrcp-oi__grid,
    .mrcp-bh__grid,
    .mrcp-bh__pillars,
    .mrcp-bh__forecast-grid{
        grid-template-columns:1fr!important;
        gap:10px!important;
    }

    .mrcp-payment-visual{grid-template-columns:1fr!important}
    .mrcp-payment-donut{margin:0 auto 10px!important}

    /* Mobile forms/actions should never overflow. */
    input,select,textarea,button{max-width:100%;box-sizing:border-box}
    .mrcp-row-actions,.mrcp-membership-admin-actions{flex-wrap:wrap}
    .mrcp-row-actions>a,.mrcp-row-actions>button{flex:1 1 140px;justify-content:center}
}

@media(max-width:430px){
    .mrcp-app{padding:7px}
    .mrcp-sidebar,.mrcp-module-page,.mrcp-bi-card{border-radius:14px!important}
    .mrcp-bi__kpis,
    .mrcp-ri__kpis,
    .mrcp-pi__kpis,
    .mrcp-ci__kpis,
    .mrcp-oi__kpis{grid-template-columns:1fr!important}
    .mrcp-bi__kpis article,
    .mrcp-ri__kpis article,
    .mrcp-pi__kpis article,
    .mrcp-ci__kpis article,
    .mrcp-oi__kpis article{min-height:112px!important}
    body.mrcp-body .mrcp-main .mrcp-v174-product-card{
        grid-template-columns:38px 46px minmax(0,1fr)!important;
        padding:11px!important;
    }
    body.mrcp-body .mrcp-main .mrcp-v174-product-card>img{width:44px!important;height:44px!important}
    body.mrcp-body .mrcp-main .mrcp-v174-product-stats{grid-template-columns:1fr!important}
}

@media(prefers-reduced-motion:reduce){
    .mrcp-mobile-nav-toggle i,
    .mrcp-sidebar .mrcp-nav,
    .mrcp-bi__tabs{scroll-behavior:auto!important;transition:none!important}
}
