/**
 * =========================================================
 * REZVAN PLATFORM — Mobile-First Final Polish
 * سامانه جامع خدام چایخانه رضوان
 *
 * Project Lead & Implementation:
 * Mohamad khodabakhshi | محمدکاظم خدابخشی
 * Website: chaykhaneyerezvan.ir
 * Version: 0.7.5.10
 * =========================================================
 */

:root{
    --rzv-mobile-touch:48px;
    --rzv-mobile-gap:12px;
    --rzv-mobile-radius:16px;
    --rzv-readable-ink:#123f36;
    --rzv-readable-muted:#4e6a62;
}

html{scroll-behavior:smooth}
body{overflow-x:hidden}
body,
button,
input,
select,
textarea{
    font-family:IRANYekan,"Iran Yekan","IRANYekanX","IranYekan",Tahoma,Arial,sans-serif!important;
    text-rendering:optimizeLegibility;
}
button,
input,
select,
textarea{
    max-width:100%;
}
input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
select,
textarea,
button,
.button,
a.button{
    min-height:44px;
}

/* Shared contrast contract: never use weak gold text on light surfaces. */
.rezvan-vip-panel [style*="background: #fff"],
.rezvan-vip-panel [style*="background:#fff"],
.rezvan-vip-panel .rezvan-functional-module,
.rezvan-vip-panel .rezvan-functional-card,
.rezvan-vip-panel .rezvan-functional-table-wrap,
.rezvan-vip-panel .rzv-caravan-card,
.rezvan-vip-panel .rzv-reservation-card{
    color:var(--rzv-readable-ink);
}
.rezvan-vip-panel .rezvan-functional-module p,
.rezvan-vip-panel .rezvan-functional-card p,
.rezvan-vip-panel .rezvan-functional-module small,
.rezvan-vip-panel .rezvan-functional-card small{
    color:var(--rzv-readable-muted)!important;
}

/* All wide tables remain usable without widening the whole page. */
.rezvan-vip-panel .rezvan-functional-table-wrap,
.rezvan-vip-panel .rzv-table-wrap,
.rezvan-vip-panel .rzv-shift-table-wrap,
.rezvan-vip-panel .rzv-caravan-table-wrap,
.rezvan-vip-panel .rezvan-audit-table-wrap,
.rzv-khadem-final .rzv-table-wrap,
.rzv-khadem-final .rzv-kp-caravan-table-wrap{
    max-width:100%;
    overflow:auto!important;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
}

/* =========================================================
 * Supervisor panel — desktop polish
 * ========================================================= */
.rezvan-vip-panel{
    min-width:0;
}
.rezvan-vip-main,
.rezvan-vip-main>*,
.rezvan-vip-panel form,
.rezvan-vip-panel fieldset{
    min-width:0;
}
.rezvan-vip-panel .rezvan-vip-menu-item,
.rezvan-vip-panel .rezvan-vip-khadem-link,
.rezvan-vip-panel .rezvan-vip-logout,
.rezvan-vip-panel button,
.rezvan-vip-panel .button,
.rezvan-vip-panel [type="submit"]{
    min-height:46px;
}
.rezvan-vip-panel input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.rezvan-vip-panel select,
.rezvan-vip-panel textarea{
    font-size:16px!important;
}
.rezvan-vip-panel table{
    font-variant-numeric:tabular-nums;
}

/* =========================================================
 * Khadem panel — shared polish
 * ========================================================= */
.rzv-khadem-final,
.rzv-khadem-final *{
    min-width:0;
}
.rzv-khadem-final input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.rzv-khadem-final select,
.rzv-khadem-final textarea{
    font-size:16px!important;
}
.rzv-khadem-final .rzv-kp-btn,
.rzv-khadem-final button,
.rzv-khadem-final [type="submit"]{
    min-height:46px;
}

/* =========================================================
 * Mobile-first delivery layer
 * ========================================================= */
@media (max-width:782px){
    body.admin-bar{padding-top:0}
    .rzv-site-shell{
        width:100%;
        max-width:100%;
        overflow-x:hidden;
    }

    /* Supervisor shell */
    .rezvan-vip-panel{
        display:block!important;
        min-height:100vh;
        padding:8px!important;
        background:linear-gradient(180deg,#062a21,#0a4c3a 42%,#06291f)!important;
    }
    .rezvan-vip-sidebar{
        position:sticky!important;
        top:0;
        z-index:999;
        min-height:0!important;
        margin:0 0 10px!important;
        padding:9px!important;
        border-radius:16px!important;
        background:rgba(5,48,38,.97)!important;
        backdrop-filter:blur(12px);
        box-shadow:0 10px 30px rgba(0,0,0,.25)!important;
    }
    body.admin-bar .rezvan-vip-sidebar{top:46px}
    .rezvan-vip-logo{
        display:flex!important;
        align-items:center;
        gap:10px;
        margin:0 0 8px!important;
        padding:2px 4px;
        text-align:right!important;
    }
    .rezvan-vip-logo-circle{
        width:44px!important;
        height:44px!important;
        min-width:44px!important;
        margin:0!important;
        font-size:13px!important;
        box-shadow:none!important;
    }
    .rezvan-vip-logo h2{
        margin:0!important;
        font-size:15px!important;
        line-height:1.5!important;
    }
    .rezvan-vip-logo p{
        margin:2px 0 0!important;
        font-size:11px!important;
    }
    .rezvan-vip-menu{
        display:flex!important;
        grid-template-columns:none!important;
        gap:7px!important;
        max-width:100%;
        overflow-x:auto;
        padding:2px 1px 6px;
        scroll-snap-type:x proximity;
        scrollbar-width:none;
    }
    .rezvan-vip-menu::-webkit-scrollbar{display:none}
    .rezvan-vip-menu-item{
        flex:0 0 auto;
        min-height:46px!important;
        padding:9px 11px!important;
        border:1px solid rgba(255,255,255,.14)!important;
        border-radius:13px!important;
        scroll-snap-align:center;
        white-space:nowrap;
        font-size:12.5px!important;
        transform:none!important;
        background:rgba(255,255,255,.06);
    }
    .rezvan-vip-menu-item.active{
        background:#efc95f!important;
        color:#123f36!important;
        border-color:#efc95f!important;
    }
    .rezvan-vip-menu-item.active .rezvan-vip-menu-icon{
        background:rgba(18,63,54,.12)!important;
    }
    .rezvan-vip-menu-icon{
        width:28px!important;
        height:28px!important;
        min-width:28px!important;
        border-radius:9px!important;
    }
    .rezvan-vip-main{
        width:100%;
    }
    .rezvan-vip-topbar{
        display:grid!important;
        grid-template-columns:1fr;
        gap:11px!important;
        padding:12px!important;
        margin-bottom:10px!important;
        border-radius:16px!important;
    }
    .rezvan-vip-avatar{
        width:44px!important;
        height:44px!important;
        min-width:44px!important;
        border-radius:13px!important;
    }
    .rezvan-vip-topbar-actions{
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr));
        width:100%;
        gap:8px!important;
    }
    .rezvan-vip-khadem-link,
    .rezvan-vip-logout{
        width:100%;
        min-height:48px!important;
        padding:9px 10px!important;
        font-size:12px!important;
    }
    .rezvan-vip-hero,
    .rezvan-vip-welcome{
        display:block!important;
        padding:18px 14px!important;
        margin-bottom:10px!important;
        border-radius:18px!important;
    }
    .rezvan-vip-hero h1,
    .rezvan-vip-welcome h1{
        font-size:23px!important;
        line-height:1.6!important;
    }
    .rezvan-vip-hero p,
    .rezvan-vip-welcome p{
        font-size:13.5px!important;
        line-height:1.95!important;
    }
    .rezvan-vip-hero-emblem{display:none!important}
    .rezvan-vip-card-grid,
    .rezvan-functional-card-grid,
    .rezvan-functional-stats,
    .rezvan-functional-form-grid,
    .rezvan-functional-filter-bar,
    .rzv-shift-form-grid,
    .rzv-caravan-grid,
    .rzv-reservation-grid{
        grid-template-columns:1fr!important;
    }
    .rezvan-vip-card,
    .rezvan-vip-module-placeholder,
    .rezvan-functional-module,
    .rezvan-functional-card{
        border-radius:16px!important;
        padding:14px!important;
    }
    .rezvan-vip-panel input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
    .rezvan-vip-panel select,
    .rezvan-vip-panel textarea{
        width:100%!important;
        min-height:50px!important;
        padding:11px 12px!important;
        font-size:16px!important;
        line-height:1.7!important;
    }
    .rezvan-vip-panel textarea{min-height:100px!important}
    .rezvan-vip-panel button,
    .rezvan-vip-panel .button,
    .rezvan-vip-panel [type="submit"],
    .rezvan-vip-panel .rezvan-functional-button{
        min-height:50px!important;
        padding:10px 14px!important;
        font-size:14px!important;
        touch-action:manipulation;
    }
    .rezvan-vip-panel .rezvan-functional-form-actions,
    .rezvan-vip-panel .rzv-actions,
    .rezvan-vip-panel .rzv-form-actions{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:8px!important;
    }
    .rezvan-vip-panel .rezvan-functional-form-actions>* ,
    .rezvan-vip-panel .rzv-actions>* ,
    .rezvan-vip-panel .rzv-form-actions>*{
        width:100%!important;
    }
    .rezvan-vip-panel table{
        min-width:760px;
        font-size:12.5px!important;
    }
    .rezvan-vip-panel th,
    .rezvan-vip-panel td{
        padding:11px 9px!important;
        line-height:1.75!important;
    }

    /* Khadem mobile shell */
    .rzv-khadem-final{
        width:100%!important;
        max-width:none!important;
        margin:0!important;
        border-radius:0!important;
        box-shadow:none!important;
    }
    .rzv-kp-shell{
        display:block!important;
        min-height:0!important;
    }
    .rzv-kp-sidebar{
        position:sticky!important;
        top:0;
        z-index:998;
        min-height:0!important;
        margin:0!important;
        padding:8px!important;
        border:0!important;
        border-bottom:1px solid rgba(228,188,87,.45)!important;
        border-radius:0!important;
        overflow:visible!important;
        background:rgba(3,47,41,.98)!important;
        box-shadow:0 10px 30px rgba(0,0,0,.28)!important;
    }
    body.admin-bar .rzv-kp-sidebar{top:46px}
    .rzv-kp-sidebar:before,
    .rzv-kp-sidebar:after,
    .rzv-kp-sidebar-art,
    .rzv-kp-brand{display:none!important}
    .rzv-kp-side-inner{text-align:right!important}
    .rzv-kp-profile{
        display:flex!important;
        align-items:center;
        gap:10px;
        min-height:50px;
        margin:0 0 7px!important;
        padding:2px 4px 7px!important;
        border-bottom:1px solid rgba(228,188,87,.18)!important;
    }
    .rzv-kp-avatar{
        width:44px!important;
        height:44px!important;
        min-width:44px!important;
        margin:0!important;
        border-width:2px!important;
        box-shadow:none!important;
        font-size:20px!important;
    }
    .rzv-kp-name{
        font-size:13px!important;
        line-height:1.55!important;
    }
    .rzv-kp-role{font-size:10.5px!important}
    .rzv-kp-status-pill{
        margin:0 auto 0 0!important;
        padding:5px 8px!important;
        font-size:9.5px!important;
    }
    .rzv-kp-nav{
        display:flex!important;
        flex-direction:row!important;
        grid-template-columns:none!important;
        gap:7px!important;
        max-width:100%;
        overflow-x:auto;
        padding:1px 1px 5px;
        text-align:center!important;
        scroll-snap-type:x proximity;
        scrollbar-width:none;
    }
    .rzv-kp-nav::-webkit-scrollbar{display:none}
    .rzv-kp-nav a,
    .rzv-kp-nav>span{
        flex:0 0 auto;
        min-height:46px!important;
        padding:9px 11px!important;
        border:1px solid rgba(228,188,87,.23)!important;
        border-radius:12px!important;
        font-size:12px!important;
        white-space:nowrap;
        scroll-snap-align:center;
        background:rgba(255,255,255,.035);
    }
    .rzv-kp-nav a:before,
    .rzv-kp-nav a.is-active:after{display:none!important}
    .rzv-kp-nav a.is-active{
        background:#e4bc57!important;
        color:#07382f!important;
        border-color:#e4bc57!important;
        box-shadow:none!important;
    }
    .rzv-kp-nav a.is-active .ic{color:#07382f!important}
    .rzv-kp-main{
        padding:8px!important;
    }
    .rzv-kp-hero{
        min-height:210px!important;
        border-radius:18px!important;
    }
    .rzv-kp-hero:after{inset:8px!important;border-radius:13px!important}
    .rzv-kp-hero-katibeh{
        width:44%!important;
        left:10px!important;
        top:48px!important;
        opacity:.32!important;
    }
    .rzv-kp-top-icons{
        left:10px!important;
        top:10px!important;
    }
    .rzv-kp-top-icons span,
    .rzv-kp-top-icons a{
        width:42px!important;
        height:42px!important;
    }
    .rzv-kp-datebar{
        right:10px!important;
        left:10px!important;
        bottom:10px!important;
        height:auto!important;
        min-height:46px;
        padding:8px 10px;
        border-radius:13px!important;
        font-size:12px!important;
        text-align:center;
    }
    .rzv-kp-dashboard{
        padding:10px 0 0!important;
    }
    .rzv-kp-status-notice{
        margin:8px 0!important;
        padding:12px!important;
        border-radius:14px!important;
        font-size:12.5px!important;
    }
    .rzv-kp-stats,
    .rzv-kp-card-grid,
    .rzv-kp-thumbs,
    .rzv-kp-caravan-summary,
    .rzv-kp-private-group-facts{
        grid-template-columns:1fr!important;
    }
    .rzv-kp-stat,
    .rzv-kp-card,
    .rzv-kp-content-panel,
    .rzv-kp-private-group-card{
        min-height:0!important;
        padding:14px!important;
        border-radius:16px!important;
    }
    .rzv-kp-content-panel{margin-top:10px!important}
    .rzv-kp-res-row,
    .rzv-kp-shift,
    .rzv-kp-private-group-members>div,
    .rzv-kp-private-group-code{
        flex-direction:column!important;
        align-items:stretch!important;
    }
    .rzv-kp-actions{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:8px!important;
    }
    .rzv-kp-btn,
    .rzv-khadem-final button,
    .rzv-khadem-final [type="submit"]{
        width:100%;
        min-height:50px!important;
        font-size:14px!important;
    }
    .rzv-khadem-final input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
    .rzv-khadem-final select,
    .rzv-khadem-final textarea{
        width:100%!important;
        min-height:50px!important;
        font-size:16px!important;
    }
}

@media (max-width:480px){
    .rezvan-vip-panel{padding:5px!important}
    .rezvan-vip-topbar-actions{grid-template-columns:1fr}
    .rezvan-vip-menu-item{font-size:12px!important}
    .rezvan-vip-hero h1,
    .rezvan-vip-welcome h1{font-size:21px!important}
    .rzv-kp-main{padding:5px!important}
    .rzv-kp-hero{min-height:190px!important}
}


/* =========================================================
 * CR-001-I — Khadem desktop full-width shell
 * ========================================================= */
.rzv-khadem-final{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
}
@media (min-width:981px){
    .rzv-khadem-final .rzv-kp-shell{
        width:100%!important;
        max-width:none!important;
    }
    .rzv-khadem-final .rzv-kp-main{
        min-width:0!important;
        width:auto!important;
    }
}
