/* =====================================================================
   نظام إدارة أكاديميات كرة القدم - التصميم العام
   عربي RTL - مستوحى من تطبيقات iOS الحديثة
===================================================================== */

:root{
    --primary:#FF7A28;
    --primary-dark:#D9540A;
    --primary-light:#FFF1E6;
    --accent:#FFA85C;
    --success:#1FAE5C;
    --danger:#E5342B;
    --warning:#E0A62B;
    --info:#2FB4D9;
    --bg:#F7F6F4;
    --card-bg:#FFFFFF;
    --text:#221A14;
    --text-muted:#7C7266;
    --border:#EFE7DE;
    --radius:18px;
    --radius-sm:12px;
    --shadow:0 4px 18px rgba(60,35,15,0.07);
    --shadow-lg:0 16px 40px rgba(60,35,15,0.14);
    --sidebar-w:258px;
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;max-width:100%;overflow-x:hidden;}
body{
    font-family:'Cairo','SF Pro Text','Segoe UI',Tahoma,Arial,sans-serif;
    background:var(--bg);
    color:var(--text);
    direction:rtl;
    text-align:right;
    -webkit-font-smoothing:antialiased;
}
a{text-decoration:none;color:inherit;}
ul{list-style:none;margin:0;padding:0;}
img{max-width:100%;display:block;}

/* ---------- Layout ---------- */
.app-shell{display:flex;min-height:100vh;}
.sidebar{
    width:var(--sidebar-w);
    background:var(--card-bg);
    border-left:1px solid var(--border);
    padding:20px 0;
    position:fixed;
    top:0;right:0;bottom:0;
    overflow-y:auto;
    z-index:50;
    transition:transform .25s ease;
}
.sidebar-brand{
    padding:0 22px 20px;
    font-weight:800;
    font-size:17px;
    display:flex;align-items:center;gap:10px;
    border-bottom:1px solid var(--border);
    margin-bottom:14px;
}
.sidebar-close-btn{display:none;}
.sidebar-brand .academy-logo{
    width:38px;height:38px;border-radius:11px;
    background:linear-gradient(135deg,var(--primary),var(--primary-dark));
    color:#fff;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:700;
    box-shadow:0 4px 10px rgba(255,122,40,.3);
}
.sidebar nav a{
    display:flex;align-items:center;gap:12px;
    padding:12px 22px;
    margin:0 10px;
    border-radius:var(--radius-sm);
    color:var(--text);
    font-size:14px;
    font-weight:600;
}
.sidebar nav a:hover{background:var(--bg);}
.sidebar nav a.active{
    background:var(--primary);
    color:#fff;
    box-shadow:0 6px 14px rgba(217,84,10,.28);
}
.sidebar nav .icon{width:20px;text-align:center;font-size:16px;}
.sidebar-section-title{
    padding:14px 20px 6px;
    font-size:11px;
    color:var(--text-muted);
    text-transform:uppercase;
    letter-spacing:.05em;
}

.main{
    margin-right:var(--sidebar-w);
    flex:1;
    padding:0;
    min-height:100vh;
}
.topbar{
    background:rgba(255,255,255,.85);
    -webkit-backdrop-filter:blur(10px);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--border);
    padding:calc(16px + env(safe-area-inset-top)) 26px 16px;
    display:flex;align-items:center;justify-content:space-between;
    position:sticky;top:0;z-index:40;
}
.topbar h1{font-size:19px;margin:0;font-weight:800;}
.topbar .user-chip{
    display:flex;align-items:center;gap:10px;
    font-size:13.5px;color:var(--text-muted);
}
.content{padding:24px;max-width:1280px;}
.menu-toggle{display:none;background:none;border:none;font-size:20px;cursor:pointer;}

/* ---------- Cards ---------- */
.card{
    background:var(--card-bg);
    border:1px solid var(--border);
    border-radius:var(--radius);
    box-shadow:var(--shadow);
    padding:22px;
    margin-bottom:20px;
    transition:box-shadow .2s ease;
}
.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:10px;flex-wrap:wrap;}
.card-header h2{font-size:16px;margin:0;font-weight:800;}

.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin-bottom:22px;}
.stat-card{
    background:var(--card-bg);
    border:1px solid var(--border);
    border-radius:var(--radius);
    box-shadow:var(--shadow);
    padding:20px 22px;
    position:relative;
    overflow:hidden;
    transition:transform .18s ease, box-shadow .18s ease;
}
.stat-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);}
.stat-card .stat-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.stat-icon{
    width:38px;height:38px;border-radius:12px;
    display:flex;align-items:center;justify-content:center;
    background:var(--primary-light);color:var(--primary);
}
.stat-icon .icon-svg{width:19px;height:19px;}
.stat-trend{
    font-size:11px;font-weight:800;padding:3px 9px;border-radius:20px;
    background:rgba(31,174,92,.12);color:#178A48;
}
.stat-trend.down{background:rgba(229,52,43,.12);color:#C22318;}
.stat-card .label{color:var(--text-muted);font-size:13px;margin-bottom:6px;font-weight:600;}
.stat-card .value{font-size:26px;font-weight:800;letter-spacing:-.02em;}
.stat-card .value.blue{color:var(--primary);}
.stat-card .value.green{color:var(--success);}
.stat-card .value.orange{color:var(--warning);}
.stat-card .value.red{color:var(--danger);}

/* ---------- Buttons ---------- */
.btn{
    display:inline-flex;align-items:center;gap:6px;
    padding:11px 20px;
    border-radius:var(--radius-sm);
    border:none;
    font-size:14px;font-weight:700;
    font-family:inherit;
    cursor:pointer;
    transition:transform .12s ease, box-shadow .12s ease, opacity .15s;
}
.btn:active{transform:scale(.97);}
.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;box-shadow:0 6px 16px rgba(255,122,40,.28);}
.btn-primary:hover{box-shadow:0 8px 20px rgba(255,122,40,.36);opacity:1;}
.btn-success{background:var(--success);color:#fff;}
.btn-danger{background:var(--danger);color:#fff;}
.btn-warning{background:var(--warning);color:#fff;}
.btn-light{background:var(--bg);color:var(--text);}
.btn-outline{background:transparent;border:1px solid var(--border);color:var(--text);}
.btn-sm{padding:7px 14px;font-size:12.5px;}
.btn-block{width:100%;justify-content:center;}

/* ---------- Forms ---------- */
.form-group{margin-bottom:16px;}
.form-group label{display:block;font-size:13.5px;font-weight:600;margin-bottom:6px;color:var(--text);}
.form-control{
    width:100%;
    padding:11px 14px;
    border-radius:var(--radius-sm);
    border:1px solid var(--border);
    background:#FBFBFD;
    font-size:16px;
    font-family:inherit;
    color:var(--text);
}
.form-control:focus{outline:none;border-color:var(--primary);background:#fff;}
select.form-control{cursor:pointer;}
.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;}

/* ---------- Table ---------- */
.table-wrap{overflow-x:auto;}
table{width:100%;border-collapse:collapse;font-size:13.5px;}
thead th{
    text-align:right;
    padding:10px 12px;
    color:var(--text-muted);
    font-weight:600;
    border-bottom:1px solid var(--border);
    white-space:nowrap;
}
tbody td{padding:12px;border-bottom:1px solid var(--border);vertical-align:middle;}
tbody tr:hover{background:var(--bg);}
.avatar-sm{width:34px;height:34px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex-shrink:0;}
.avatar-sm.avatar-photo{object-fit:cover;background:var(--bg);}

/* ---------- تحويل الجداول إلى بطاقات على الهاتف (بدل التقلّص) ---------- */
@media (max-width:700px){
    .table-wrap{overflow-x:visible;}
    .table-wrap table, .table-wrap thead, .table-wrap tbody,
    .table-wrap th, .table-wrap td, .table-wrap tr{
        display:block;
        width:100%;
    }
    .table-wrap thead{display:none;}
    .table-wrap tbody tr{
        background:var(--card-bg);
        border:1px solid var(--border);
        border-radius:16px;
        padding:4px 14px;
        margin-bottom:12px;
        box-shadow:var(--shadow);
        cursor:pointer;
        -webkit-tap-highlight-color:transparent;
    }
    .table-wrap tbody tr:active{background:var(--bg);}
    .table-wrap tbody tr td[colspan]{padding:16px 0;}
    .table-wrap tbody td{
        display:flex !important;
        align-items:center;
        justify-content:space-between;
        flex-wrap:wrap;
        gap:6px 12px;
        padding:10px 0 !important;
        border:none;
        border-bottom:1px solid var(--border);
        text-align:start;
        white-space:normal !important;
        word-break:break-word;
        overflow-wrap:anywhere;
        font-size:13px;
    }
    .table-wrap tbody td:last-child{border-bottom:none;}
    .table-wrap tbody td::before{
        content:attr(data-label);
        font-size:11px;
        font-weight:800;
        color:var(--text-muted);
        flex-shrink:0;
    }
    .table-wrap tbody td:not([data-label])::before,
    .table-wrap tbody td[data-label=""]::before{content:none;}
    .table-wrap tbody td .btn{margin:2px 0;}
}

/* ---------- نافذة تفاصيل الصف (تظهر عند الضغط على البطاقة بالهاتف) ---------- */
.detail-list{display:flex;flex-direction:column;}
.detail-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--border);}
.detail-row:last-child{border-bottom:none;}
.detail-label{color:var(--text-muted);font-size:12.5px;font-weight:700;flex-shrink:0;}
.detail-value{font-weight:700;font-size:13.5px;text-align:left;word-break:break-word;}

/* ---------- Badges ---------- */
.badge{
    display:inline-block;
    padding:4px 10px;
    border-radius:20px;
    font-size:11.5px;
    font-weight:700;
}
.badge-success{background:rgba(48,209,88,.15);color:#248A3D;}
.badge-danger{background:rgba(255,69,58,.15);color:#D70015;}
.badge-warning{background:rgba(224,166,43,.16);color:#8A6512;}
.badge-info{background:rgba(100,210,255,.15);color:#0071A4;}

/* ---------- Modal ---------- */
.modal-overlay{
    display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);
    align-items:center;justify-content:center;z-index:100;padding:16px;
}
.modal-overlay.open{display:flex;}
.modal-box{
    background:#fff;border-radius:var(--radius);
    width:100%;max-width:520px;
    max-height:90vh;overflow-y:auto;
    padding:22px;
}
.modal-box .modal-title{font-size:17px;font-weight:700;margin:0 0 16px;display:flex;justify-content:space-between;align-items:center;}
.modal-close{background:none;border:none;font-size:20px;cursor:pointer;color:var(--text-muted);}

/* ---------- Alerts ---------- */
.alert{padding:12px 16px;border-radius:var(--radius-sm);margin-bottom:16px;font-size:13.5px;font-weight:600;}
.alert-success{background:rgba(48,209,88,.12);color:#248A3D;}
.alert-danger{background:rgba(255,69,58,.12);color:#D70015;}
.alert-warning{background:rgba(255,159,10,.12);color:#B25000;}

/* ---------- Login ---------- */
.login-page{
    min-height:100vh;display:flex;align-items:center;justify-content:center;
    background:radial-gradient(circle at 20% 20%, #FF9A52 0%, #FF7A28 45%, #D9540A 100%);
    padding:16px;
}
.login-card{
    background:#fff;border-radius:24px;padding:40px 34px;
    width:100%;max-width:400px;box-shadow:0 24px 70px rgba(0,20,70,.35);
}
.login-card .brand{text-align:center;margin-bottom:26px;}
.login-card .brand .icon{
    width:64px;height:64px;border-radius:18px;
    background:linear-gradient(135deg,var(--primary),var(--primary-dark));
    color:#fff;display:flex;align-items:center;justify-content:center;
    font-size:28px;margin:0 auto 14px;
    box-shadow:0 8px 20px rgba(255,122,40,.35);
}
.login-card h1{font-size:19px;margin:0 0 4px;text-align:center;font-weight:800;color:var(--text);}
.login-card p{color:var(--text-muted);font-size:13px;text-align:center;margin:0 0 24px;}
.login-hint{color:var(--text-muted);font-size:12px;text-align:center;margin:16px 0 0;}

/* ---------- Tabs ---------- */
.tabs{display:flex;gap:6px;border-bottom:1px solid var(--border);margin-bottom:18px;overflow-x:auto;}
.tabs a{padding:10px 16px;font-size:13.5px;font-weight:600;color:var(--text-muted);border-bottom:2px solid transparent;white-space:nowrap;}
.tabs a.active{color:var(--primary);border-color:var(--primary);}

/* ---------- Empty state ---------- */
.empty-state{text-align:center;padding:50px 20px;color:var(--text-muted);}
.empty-state .icon{font-size:36px;margin-bottom:10px;}

/* ---------- Star rating (evaluations) ---------- */
.stars{display:flex;gap:4px;font-size:20px;}
.stars span{cursor:pointer;color:var(--border);}
.stars span.filled{color:var(--warning);}

/* ---------- Responsive ---------- */
@media (max-width:900px){
    /* القائمة على الهاتف: بوب أب مربّعات بمنتصف الشاشة بدل قائمة جانبية منزلقة */
    .sidebar{
        top:50%;left:50%;right:auto;bottom:auto;
        transform:translate(-50%,-50%) scale(.94);
        width:88%;max-width:380px;
        max-height:78vh;
        border-radius:22px;
        border-left:none;
        box-shadow:0 24px 70px rgba(10,20,15,.28);
        opacity:0;
        visibility:hidden;
        pointer-events:none;
        overscroll-behavior:contain;
        padding:0 0 16px;
        transition:opacity .18s ease, transform .18s ease, visibility .18s;
    }
    .sidebar.open{
        opacity:1;
        visibility:visible;
        pointer-events:auto;
        transform:translate(-50%,-50%) scale(1);
    }
    .sidebar-brand{
        position:relative;
        justify-content:center;
        padding:18px 44px 14px;
        font-size:15px;
    }
    .sidebar-close-btn{
        display:flex;align-items:center;justify-content:center;
        position:absolute;left:14px;top:50%;transform:translateY(-50%);
        width:30px;height:30px;border-radius:50%;
        border:none;background:var(--bg);color:var(--text-muted);
        font-size:18px;line-height:1;cursor:pointer;
    }
    .sidebar nav{
        display:grid;
        grid-template-columns:repeat(3,1fr);
        gap:10px;
        padding:6px 16px 4px;
    }
    .sidebar nav a{
        flex-direction:column;
        justify-content:center;
        text-align:center;
        gap:7px;
        margin:0;
        padding:14px 4px;
        aspect-ratio:1;
        background:var(--bg);
        font-size:11px;
        line-height:1.3;
    }
    .sidebar nav a.active{box-shadow:none;}
    .sidebar nav .icon-svg{width:22px;height:22px;}

    .main{margin-right:0;}
    .menu-toggle{display:block;}
    .content{padding:14px;padding-bottom:92px;max-width:100%;}
    .stats-grid{grid-template-columns:repeat(2,1fr);gap:10px;}
    .stat-card{padding:14px 16px;}
    .stat-card .value{font-size:22px;}
    .form-row{grid-template-columns:1fr;gap:12px;}
    .card{padding:16px;border-radius:16px;}
    .card-header{gap:8px;}
    .card-header h2{font-size:14.5px;}
    table{font-size:12.5px;}
    thead th, tbody td{padding:9px 8px;}
    .btn{padding:10px 14px;font-size:13px;}
    .topbar{padding:calc(12px + env(safe-area-inset-top)) 14px 12px;}
    .login-card{padding:30px 22px;border-radius:20px;}
}
@media (max-width:420px){
    .stats-grid{grid-template-columns:1fr;}
    .content{padding:12px;padding-bottom:92px;}
    .hero h1{font-size:25px;}
    .section-title{font-size:22px;}
}

/* منع تمرير الصفحة الخلفية أثناء فتح القائمة (يحل مشكلة انزلاق الصفحة وراء البوب أب) */
body.body-lock{overflow:hidden;}

/* ---------- Sidebar backdrop (mobile) ---------- */
.sidebar-backdrop{
    display:none;position:fixed;inset:0;background:rgba(15,20,40,.45);
    z-index:45;
    -webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);
}
.sidebar-backdrop.open{display:block;}

/* ---------- Bottom Tab Bar (موبايل - أسلوب تطبيقات الآيفون) ---------- */
.bottom-tabbar{
    display:none;
    position:fixed;bottom:0;right:0;left:0;
    z-index:55;
    background:rgba(255,255,255,.92);
    -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
    border-top:1px solid var(--border);
    padding:8px 6px calc(8px + env(safe-area-inset-bottom));
    justify-content:space-around;
    align-items:center;
}
.tab-item{
    display:flex;flex-direction:column;align-items:center;gap:3px;
    background:none;border:none;font-family:inherit;cursor:pointer;
    color:var(--text-muted);
    flex:1;
    padding:6px 2px;
    border-radius:12px;
    transition:color .15s ease;
}
.tab-item .tab-icon{font-size:20px;line-height:1;}
.tab-item .tab-label{font-size:10.5px;font-weight:700;}
.tab-item.active{color:var(--primary);}

@media (max-width:900px){
    .bottom-tabbar{display:flex;}
}

/* =====================================================================
   الصفحة التعريفية (Landing Page) - الدومين الرئيسي
===================================================================== */
.landing-body{background:#fff;}
.section-inner{max-width:1120px;margin:0 auto;padding:0 24px;}

.site-header{
    position:sticky;top:0;z-index:50;
    background:rgba(255,255,255,.85);
    -webkit-backdrop-filter:blur(10px);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--border);
}
.site-header-inner{
    max-width:1120px;margin:0 auto;padding:16px 24px;
    display:flex;align-items:center;justify-content:space-between;
}
.site-logo{font-weight:800;font-size:17px;display:flex;align-items:center;gap:8px;}
.site-logo .icon{font-size:20px;}
.site-nav{display:flex;align-items:center;gap:22px;font-size:14px;font-weight:600;}
.site-nav a:not(.btn){color:var(--text-muted);}
.site-nav a:not(.btn):hover{color:var(--primary);}

.hero{
    overflow:hidden;
    background:radial-gradient(circle at 15% 0%, #FFF1E6 0%, #ffffff 55%);
    padding:90px 24px 70px;
    text-align:center;
}
.hero-inner{max-width:760px;margin:0 auto;}
.hero-badge{
    display:inline-block;background:var(--primary-light);color:var(--primary-dark);
    padding:7px 16px;border-radius:30px;font-size:12.5px;font-weight:700;margin-bottom:22px;
}
.hero h1{font-size:40px;line-height:1.35;font-weight:900;margin:0 0 20px;letter-spacing:-.02em;}
.hero-sub{font-size:16px;color:var(--text-muted);line-height:1.9;margin:0 0 32px;}
.hero-actions{display:flex;justify-content:center;gap:14px;}
.hero-actions .btn{padding:14px 30px;font-size:15px;}

.section-title{font-size:28px;font-weight:800;text-align:center;margin:0 0 44px;letter-spacing:-.01em;}

.features-section{padding:80px 0;}
.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px;}
.feature-card{
    background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);
    padding:28px 24px;transition:transform .18s ease, box-shadow .18s ease;
}
.feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.feature-icon{
    width:52px;height:52px;border-radius:14px;background:var(--primary-light);
    display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:16px;
}
.feature-card h3{font-size:15.5px;font-weight:800;margin:0 0 8px;}
.feature-card p{font-size:13.5px;color:var(--text-muted);line-height:1.8;margin:0;}

.how-section{background:var(--bg);padding:80px 0;}
.steps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:26px;}
.step-card{text-align:center;padding:10px;}
.step-num{
    width:46px;height:46px;border-radius:50%;
    background:linear-gradient(135deg,var(--primary),var(--primary-dark));
    color:#fff;display:flex;align-items:center;justify-content:center;
    font-weight:800;font-size:18px;margin:0 auto 16px;
    box-shadow:0 8px 18px rgba(255,122,40,.3);
}
.step-card h3{font-size:15.5px;font-weight:800;margin:0 0 8px;}
.step-card p{font-size:13.5px;color:var(--text-muted);line-height:1.8;margin:0;}

.cta-section{padding:70px 0;}
.cta-inner{
    background:linear-gradient(135deg,var(--primary),var(--primary-dark));
    border-radius:28px;padding:56px 24px;text-align:center;color:#fff;
}
.cta-inner h2{font-size:26px;font-weight:800;margin:0 0 10px;}
.cta-inner p{font-size:14.5px;opacity:.9;margin:0 0 26px;}
.cta-inner .btn-primary{background:#fff;color:var(--primary-dark);box-shadow:0 8px 20px rgba(0,0,0,.15);}

.site-footer{padding:30px 0 40px;text-align:center;color:var(--text-muted);font-size:12.5px;border-top:1px solid var(--border);}

@media (max-width:640px){
    .hero{padding:60px 20px 50px;}
    .hero h1{font-size:29px;}
    .site-nav a:not(.btn){display:none;}
}

.about-section{padding:70px 0 20px;}
.about-inner{max-width:820px;}
.about-text p{font-size:15px;color:var(--text-muted);line-height:2;margin:0 0 16px;}

/* ---------- Topbar user chip helpers ---------- */
.notif-bell{position:relative;font-size:18px;display:inline-flex;}
.notif-badge{
    position:absolute;top:-6px;left:-8px;background:var(--danger);color:#fff;
    border-radius:50%;font-size:10px;padding:1px 5px;font-weight:700;
}
.user-name{font-weight:600;font-size:13.5px;}
@media (max-width:560px){
    .user-name{display:none;}
    .topbar h1{font-size:16.5px;}
}

/* ---------- نافذة منبثقة كاملة في منتصف الشاشة (موبايل) ---------- */
@media (max-width:640px){
    .modal-overlay{align-items:center;padding:14px;}
    .modal-box{
        max-width:100%;width:100%;
        border-radius:20px;
        max-height:88vh;
        padding:20px 18px calc(20px + env(safe-area-inset-bottom));
        animation:modalPop .2s ease;
    }
    @keyframes modalPop{
        from{transform:scale(.94);opacity:0;}
        to{transform:scale(1);opacity:1;}
    }
}

/* ---------- Permission checkboxes ---------- */
.permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;}
.permission-check{
    display:flex;align-items:center;gap:8px;
    padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);
    font-size:13px;font-weight:600;cursor:pointer;background:#FBFBFD;
}
.permission-check input{width:17px;height:17px;flex-shrink:0;}

/* ---------- SVG Icons ---------- */
.icon-svg{width:20px;height:20px;flex-shrink:0;vertical-align:middle;}
.sidebar nav .icon-svg{width:19px;height:19px;}
.tab-item .icon-svg{width:22px;height:22px;}
.stat-card .icon-svg{width:24px;height:24px;}
.feature-icon .icon-svg{width:26px;height:26px;}
.step-num .icon-svg{width:22px;height:22px;}

.login-card .brand .icon .icon-svg{width:30px;height:30px;}
.sidebar-brand .academy-logo .icon-svg{width:19px;height:19px;}
.site-logo .icon-svg{width:22px;height:22px;color:var(--primary);}

/* ---------- Hero illustration: dashboard preview mockup (CSS-only) ---------- */
.hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center;text-align:right;}
.hero-text{text-align:right;}
.hero-visual{position:relative;height:400px;display:flex;align-items:center;justify-content:center;}
.hero-blob{position:absolute;border-radius:50%;filter:blur(2px);opacity:.55;}
.blob-1{width:260px;height:260px;background:radial-gradient(circle,#FFD9B3,#FFF1E6);top:10px;right:10px;animation:blobFloat 7s ease-in-out infinite;}
.blob-2{width:180px;height:180px;background:radial-gradient(circle,#FFE4C7,#FFF8F2);bottom:0;left:20px;animation:blobFloat 9s ease-in-out infinite reverse;}

.mock-window{
    position:absolute;background:#fff;border-radius:18px;
    box-shadow:0 30px 60px rgba(15,60,45,.18);
    border:1px solid var(--border);overflow:hidden;
}
.mock-titlebar{display:flex;gap:6px;padding:10px 12px;border-bottom:1px solid var(--border);background:#FAFDFB;}
.mock-dot{width:8px;height:8px;border-radius:50%;background:var(--border);}
.mock-dot.d1{background:#FF9B9B;}
.mock-dot.d2{background:#FFD59B;}
.mock-dot.d3{background:#9BE8B5;}

.mock-window-main{width:320px;top:10px;right:20px;animation:cardFloat 6s ease-in-out infinite;}
.mock-window-main .mock-body{padding:16px;}
.mock-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.mock-title{font-size:12.5px;font-weight:800;color:var(--text);}
.mock-avatar{width:22px;height:22px;border-radius:50%;background:var(--primary-light);}
.mock-stats-row{display:flex;gap:10px;margin-bottom:14px;}
.mock-mini-stat{
    flex:1;display:flex;align-items:center;gap:8px;
    background:var(--bg);border-radius:12px;padding:8px 10px;
}
.mock-mini-icon{width:26px;height:26px;border-radius:8px;background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.mock-mini-icon .icon-svg{width:14px;height:14px;}
.mock-mini-num{font-size:13px;font-weight:800;color:var(--text);}
.mock-mini-lbl{font-size:9.5px;color:var(--text-muted);}
.mock-chart-row{display:flex;align-items:flex-end;gap:14px;}
.mock-bars{flex:1;display:flex;align-items:flex-end;gap:5px;height:64px;}
.mock-bars span{flex:1;background:linear-gradient(180deg,var(--primary),var(--accent));border-radius:4px 4px 0 0;opacity:.85;}
.mock-donut{width:56px;height:56px;border-radius:50%;flex-shrink:0;}

.mock-window-small{width:170px;bottom:0;left:-10px;animation:cardFloat 7s ease-in-out infinite 1s;}
.mock-window-small .mock-body{padding:12px;display:flex;flex-direction:column;gap:9px;}
.mock-list-row{display:flex;align-items:center;gap:8px;}
.mock-check{width:20px;height:20px;border-radius:50%;background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.mock-check .icon-svg{width:11px;height:11px;}
.mock-check.pending{background:rgba(242,153,74,.15);color:var(--warning);}
.mock-list-text{flex:1;height:8px;border-radius:4px;background:var(--border);}
.mock-list-text.short{width:60%;}

@keyframes blobFloat{0%,100%{transform:translateY(0) scale(1);}50%{transform:translateY(-16px) scale(1.05);}}
@keyframes cardFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-12px);}}

/* ---------- Scroll reveal animation ---------- */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease, transform .6s ease;}
.reveal.in-view{opacity:1;transform:translateY(0);}

@media (max-width:900px){
    .hero-grid{grid-template-columns:1fr;text-align:center;}
    .hero-text{text-align:center;}
    .hero-actions{justify-content:center;}
    .hero-visual{height:280px;margin-top:10px;}
}
@media (max-width:480px){
    .hero-visual{height:230px;transform:scale(.85);}
}

/* ---------- Report actions (print / export) ---------- */
.report-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px;}
.print-header{display:none;}

@media print{
    .no-print, .sidebar, .topbar, .bottom-tabbar, .sidebar-backdrop{display:none !important;}
    .main{margin-right:0 !important;}
    .content{padding:0 !important;}
    body{background:#fff;}
    .card{box-shadow:none;border:1px solid #ddd;break-inside:avoid;}
    .print-header{display:block;margin-bottom:16px;}
    .print-header h2{margin:0 0 4px;font-size:18px;}
    .print-header p{margin:0;color:#666;font-size:12px;}
}

/* ---------- Donut chart (CSS conic-gradient, no dependencies) ---------- */
.donut-wrap{display:flex;align-items:center;gap:22px;flex-wrap:wrap;}
.donut-chart{
    width:140px;height:140px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    flex-shrink:0;
}
.donut-center{
    width:92px;height:92px;border-radius:50%;background:var(--card-bg);
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    box-shadow:inset 0 0 0 1px var(--border);
}
.donut-center .num{font-size:22px;font-weight:800;color:var(--text);}
.donut-center .lbl{font-size:10.5px;color:var(--text-muted);}
.donut-legend{display:flex;flex-direction:column;gap:10px;flex:1;min-width:160px;}
.donut-legend-item{display:flex;align-items:center;gap:8px;font-size:13px;}
.donut-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;}
.donut-legend-item .lg-label{color:var(--text-muted);flex:1;}
.donut-legend-item .lg-value{font-weight:800;}

/* ---------- Dashboard two-column layout ---------- */
.dashboard-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:20px;align-items:start;}
@media (max-width:1000px){
    .dashboard-grid{grid-template-columns:1fr;}
}

.academy-logo-img{width:38px;height:38px;border-radius:11px;object-fit:cover;border:1px solid var(--border);flex-shrink:0;}
.login-card .brand .icon img{width:100%;height:100%;object-fit:cover;border-radius:18px;}
.remember-me-check{display:flex;align-items:center;gap:8px;margin:-4px 0 18px;font-size:13px;color:var(--text-muted);cursor:pointer;}
.remember-me-check input{width:16px;height:16px;}
.notif-item:hover{background:var(--bg);}

/* =====================================================================
   التشكيلات (Formations) - ملعب بصري بأسلوب FIFA
===================================================================== */
.pitch-wrap{margin-bottom:20px;}
.pitch{
    position:relative;
    width:100%;
    max-width:480px;
    margin:0 auto;
    aspect-ratio:3/4.3;
    background:
        linear-gradient(180deg, rgba(255,255,255,.05) 0%, rgba(0,0,0,.08) 100%),
        repeating-linear-gradient(0deg, #1F7A52 0, #1F7A52 40px, #1B6E4A 40px, #1B6E4A 80px);
    border:3px solid rgba(255,255,255,.5);
    border-radius:20px;
    box-shadow:var(--shadow-lg);
    overflow:hidden;
}
.pitch-line{position:absolute;background:rgba(255,255,255,.55);}
.pitch-halfway{top:50%;right:0;left:0;height:2px;transform:translateY(-1px);}
.pitch-circle{
    position:absolute;top:50%;right:50%;width:26%;aspect-ratio:1;
    border:2px solid rgba(255,255,255,.55);border-radius:50%;
    transform:translate(50%,-50%);
}
.pitch-box{position:absolute;right:20%;left:20%;height:11%;border:2px solid rgba(255,255,255,.5);border-top:none;}
.pitch-box-top{top:0;border-top:none;border-bottom:2px solid rgba(255,255,255,.5);border-top-width:0;}
.pitch-box-bottom{bottom:0;border-bottom:none;}
.pitch-box-top{border-top:none;}

.formation-slot{
    position:absolute;
    transform:translate(50%,-50%);
    display:flex;flex-direction:column;align-items:center;gap:3px;
    background:none;border:none;cursor:pointer;
    width:20%;
    padding:0;
    font-family:inherit;
}
.jersey{
    width:38px;height:38px;
    background:var(--primary);
    clip-path:polygon(20% 0%,35% 0%,50% 12%,65% 0%,80% 0%,100% 22%,84% 36%,84% 100%,16% 100%,16% 36%,0% 22%);
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 3px 8px rgba(0,0,0,.35);
    flex-shrink:0;
}
.formation-slot.empty .jersey{background:rgba(255,255,255,.25);border:2px dashed rgba(255,255,255,.6);clip-path:none;border-radius:12px;}
.jersey-photo{width:100%;height:100%;object-fit:cover;}
.jersey-num{color:#fff;font-weight:800;font-size:13px;}
.formation-slot.empty .jersey-num{color:rgba(255,255,255,.85);}
.formation-slot.empty .jersey-num .icon-svg{width:16px;height:16px;}
.slot-name{
    color:#fff;font-size:10px;font-weight:700;text-align:center;
    text-shadow:0 1px 3px rgba(0,0,0,.6);
    max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}

.bench-row{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;}
.bench-slot{position:static;transform:none;width:64px;}
.bench-slot .jersey{background:var(--text-muted);}
.bench-slot.empty .jersey{background:var(--bg);border:2px dashed var(--border);}
.bench-slot .slot-name{color:var(--text);text-shadow:none;}
.bench-slot.empty .jersey-num{color:var(--text-muted);}

/* ---------- منتقي نوع التشكيلة (FIFA-style picker) ---------- */
.formation-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;margin-bottom:6px;}
.formation-picker-card{
    display:flex;flex-direction:column;align-items:center;gap:8px;
    padding:12px;border:2px solid var(--border);border-radius:16px;
    text-align:center;transition:border-color .15s ease, background .15s ease;
}
.formation-picker-card:hover{border-color:var(--primary);}
.formation-picker-card.active{border-color:var(--primary);background:var(--primary-light);}
.formation-picker-label{font-size:11.5px;font-weight:700;color:var(--text);}
.mini-pitch{
    position:relative;width:70px;height:95px;border-radius:8px;
    background:#1F7A52;flex-shrink:0;
}
.mini-dot{position:absolute;width:8px;height:8px;border-radius:2px;background:var(--primary);transform:translate(50%,-50%);}

/* ---------- معاينة التشكيلات على الرئيسية ---------- */
.formation-preview-list{display:flex;flex-direction:column;gap:10px;}
.formation-preview-item{
    display:flex;align-items:center;gap:14px;
    padding:10px;border:1px solid var(--border);border-radius:14px;
    transition:background .15s ease;
}
.formation-preview-item:hover{background:var(--bg);}
.formation-preview-item .mini-pitch{width:44px;height:60px;}
.formation-preview-item .mini-dot{width:5px;height:5px;}
.formation-preview-group{font-weight:800;font-size:13.5px;}
.formation-preview-type{font-size:11.5px;color:var(--text-muted);}

@media (max-width:480px){
    .jersey{width:32px;height:32px;}
    .jersey-num{font-size:11px;}
    .slot-name{font-size:9px;}
    .bench-slot{width:56px;}
}

/* ---------- Schedule list widget (dashboard "حصص اليوم") ---------- */
.schedule-list{display:flex;flex-direction:column;gap:2px;}
.schedule-item{
    display:flex;align-items:center;gap:14px;
    padding:12px 6px;border-bottom:1px solid var(--border);
}
.schedule-item:last-child{border-bottom:none;}
.schedule-time{
    background:var(--primary-light);color:var(--primary-dark);
    font-weight:800;font-size:12.5px;
    padding:8px 10px;border-radius:10px;
    text-align:center;min-width:64px;flex-shrink:0;
    display:flex;flex-direction:column;line-height:1.3;
}
.schedule-time-end{font-size:10px;font-weight:600;opacity:.75;}
.schedule-info{flex:1;min-width:0;}
.schedule-group{font-weight:800;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.schedule-coach{font-size:12px;color:var(--text-muted);}

/* =====================================================================
   الصفحة الرئيسية الجديدة - عناصر إضافية
===================================================================== */

/* ---------- شريط تقدّم التمرير ---------- */
.scroll-progress{
    position:fixed;top:0;right:0;left:0;height:3px;
    background:linear-gradient(90deg,var(--primary),var(--accent));
    width:0%;z-index:999;transition:width .1s ease-out;
}

/* ---------- Hero: صورة حقيقية + عناصر عائمة إضافية ---------- */
.hero-caps-row{display:flex;gap:28px;margin-top:32px;flex-wrap:wrap;}
.hero-cap{display:flex;flex-direction:column;}
.hero-cap-num{font-size:24px;font-weight:900;color:var(--primary);}
.hero-cap-lbl{font-size:12px;color:var(--text-muted);font-weight:600;}

.hero-image-frame{
    position:relative;z-index:2;
    width:78%;border-radius:22px;overflow:hidden;
    box-shadow:0 30px 70px rgba(60,35,15,.22);
    border:6px solid #fff;
    background:var(--bg);
}
.hero-image-frame img{width:100%;height:auto;display:block;aspect-ratio:4/5;object-fit:cover;background:var(--bg);}
.float-anim{animation:heroFloat 5s ease-in-out infinite;}
@keyframes heroFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-14px);}}

.hero-shape{position:absolute;opacity:.5;}
.shape-tri{
    width:0;height:0;
    border-left:22px solid transparent;border-right:22px solid transparent;border-bottom:38px solid var(--accent);
    top:8%;left:6%;animation:spinSlow 12s linear infinite;
}
.shape-ring{
    width:70px;height:70px;border-radius:50%;
    border:6px solid var(--primary-light);
    bottom:10%;right:4%;animation:blobFloat 8s ease-in-out infinite;
}
@keyframes spinSlow{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}

.hero-card-float{
    position:absolute;z-index:3;
    display:flex;align-items:center;gap:10px;
    background:#fff;border:1px solid var(--border);border-radius:16px;
    padding:10px 14px;box-shadow:var(--shadow-lg);font-size:12.5px;
}
.hero-card-1{top:6%;left:-4%;animation:cardFloat 6s ease-in-out infinite;}
.hero-card-2{bottom:8%;left:2%;animation:cardFloat 7s ease-in-out infinite 1s;}

/* ---------- قسم "عن المشروع" مع صورة ---------- */
.about-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center;max-width:1080px;}
.about-image{border-radius:22px;overflow:hidden;box-shadow:var(--shadow-lg);}
.about-image img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:4/3;background:var(--bg);transition:transform .4s ease;}
.about-image:hover img{transform:scale(1.05);}

.center-badge{display:block;text-align:center;margin:0 auto 14px;width:fit-content;}

/* ---------- تكرار ظهور متدرج لكروت المزايا ---------- */
.features-grid .feature-card:nth-child(1){transition-delay:.02s;}
.features-grid .feature-card:nth-child(2){transition-delay:.06s;}
.features-grid .feature-card:nth-child(3){transition-delay:.1s;}
.features-grid .feature-card:nth-child(4){transition-delay:.14s;}
.features-grid .feature-card:nth-child(5){transition-delay:.18s;}
.features-grid .feature-card:nth-child(6){transition-delay:.22s;}
.features-grid .feature-card:nth-child(7){transition-delay:.26s;}
.features-grid .feature-card:nth-child(8){transition-delay:.3s;}
.features-grid .feature-card:nth-child(9){transition-delay:.34s;}
.features-grid .feature-card:nth-child(10){transition-delay:.38s;}
.features-grid .feature-card:nth-child(11){transition-delay:.42s;}
.features-grid .feature-card:nth-child(12){transition-delay:.46s;}
.feature-card{position:relative;overflow:hidden;}
.feature-card::after{
    content:'';position:absolute;inset:0;border-radius:inherit;
    background:linear-gradient(135deg,transparent 60%, var(--primary-light) 140%);
    opacity:0;transition:opacity .25s ease;pointer-events:none;
}
.feature-card:hover::after{opacity:1;}
.feature-icon{transition:transform .3s ease;}
.feature-card:hover .feature-icon{transform:scale(1.12) rotate(-4deg);}

/* ---------- معرض لقطات النظام ---------- */
.gallery-section{padding:70px 0;background:var(--bg);}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px;}
.gallery-item{
    border-radius:18px;overflow:hidden;background:#fff;
    box-shadow:var(--shadow);border:1px solid var(--border);
    transition:transform .3s ease, box-shadow .3s ease;
}
.gallery-item:nth-child(1){transition-delay:.02s;}
.gallery-item:nth-child(2){transition-delay:.1s;}
.gallery-item:nth-child(3){transition-delay:.18s;}
.gallery-item:nth-child(4){transition-delay:.26s;}
.gallery-item:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);}
.gallery-item img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:var(--border);}
.gallery-caption{padding:12px 14px;font-size:13px;font-weight:700;color:var(--text);}

/* ---------- قسم الأدوار (لكل الأطراف) ---------- */
.roles-section{padding:70px 0;}
.roles-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;}
.role-card{
    text-align:center;padding:30px 20px;border-radius:20px;
    background:var(--card-bg);border:1px solid var(--border);
    transition:transform .3s ease, box-shadow .3s ease;
}
.role-card:nth-child(1){transition-delay:.02s;}
.role-card:nth-child(2){transition-delay:.1s;}
.role-card:nth-child(3){transition-delay:.18s;}
.role-card:nth-child(4){transition-delay:.26s;}
.role-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);}
.role-icon{
    width:58px;height:58px;border-radius:16px;margin:0 auto 16px;
    background:var(--primary-light);color:var(--primary);
    display:flex;align-items:center;justify-content:center;
}
.role-icon .icon-svg{width:26px;height:26px;}
.role-card h3{font-size:15px;font-weight:800;margin:0 0 8px;}
.role-card p{font-size:13px;color:var(--text-muted);line-height:1.8;margin:0;}

/* ---------- زخرفة قسم الدعوة للعمل ---------- */
.cta-inner{position:relative;overflow:hidden;}
.cta-shape{
    position:absolute;width:220px;height:220px;border-radius:50%;
    background:rgba(255,255,255,.1);top:-80px;left:-60px;
    animation:blobFloat 9s ease-in-out infinite;
}

@media (max-width:900px){
    .about-inner{grid-template-columns:1fr;}
    .about-image{order:-1;}
    .hero-card-float{display:none;}
}
@media (max-width:640px){
    .hero-caps-row{gap:20px;}
    .hero-cap-num{font-size:20px;}
    .hero-image-frame{width:88%;}
}

/* ---------- شبكة إحصائيات الشاشة الرئيسية: عامودين دائمًا لكل الأدوار ---------- */
.dashboard-stats-grid{grid-template-columns:repeat(2,1fr) !important;}
@media (max-width:420px){
    .dashboard-stats-grid .stat-card{padding:12px 14px;}
    .dashboard-stats-grid .value{font-size:19px;}
    .dashboard-stats-grid .label{font-size:11.5px;}
}

/* ========== تحديثات التصميم الجديدة - عامودين وبطاقات ========== */
.cards-grid-2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}
@media (max-width: 640px) {
    .cards-grid-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px;
    }
    .cards-grid-2 .person-card {
        padding: 10px 12px;
        min-height: 64px;
        gap: 8px;
    }
    .cards-grid-2 .pc-avatar {
        width: 40px;
        height: 40px;
        border-radius: 12px;
    }
    .cards-grid-2 .pc-name {
        font-size: 13px;
    }
    .cards-grid-2 .pc-meta {
        font-size: 11px;
    }
}

.person-card {
    background: var(--card-bg);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 16px;
    cursor: pointer;
    transition: transform .2s, box-shadow .2s, border-color .2s;
    display: flex;
    align-items: center;
    gap: 12px;
    position: relative;
}
.person-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-lg);
}
.person-card.has-debt {
    border-color: var(--danger);
    border-width: 2px;
    box-shadow: 0 0 0 3px rgba(229,52,43,.12);
}
.person-card .pc-avatar {
    width: 48px; height: 48px; border-radius: 14px;
    object-fit: cover; background: var(--primary-light);
    flex-shrink: 0;
}
.person-card .pc-avatar.placeholder {
    display: flex; align-items: center; justify-content: center;
    font-weight: 800; color: var(--primary); font-size: 18px;
}
.person-card .pc-info { flex: 1; min-width: 0; }
.person-card .pc-name { font-weight: 800; font-size: 14.5px; margin-bottom: 3px; }
.person-card .pc-meta { font-size: 12px; color: var(--text-muted); }
.person-card .pc-rating {
    position: absolute; top: 10px; left: 10px;
    background: var(--primary); color: #fff;
    font-size: 11px; font-weight: 800;
    padding: 3px 8px; border-radius: 20px;
}

/* Calendar for sessions - رزنامة حقيقية ديسكتوب + موبايل */
.sessions-calendar {
    display: grid !important;
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    gap: 4px;
    margin-bottom: 16px;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}
.cal-day-header {
    text-align: center;
    font-size: 12px;
    font-weight: 700;
    color: var(--text-muted);
    padding: 6px 0;
    min-width: 0;
}
.cal-day-short { display: none; }
.cal-day-full { display: inline; }
.cal-day {
    aspect-ratio: 1 / 1;
    min-height: 0;
    min-width: 0;
    border-radius: 10px;
    background: var(--card-bg);
    border: 1px solid var(--border);
    padding: 4px;
    cursor: pointer;
    transition: border-color .15s, background .15s, box-shadow .15s;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    overflow: hidden;
    box-sizing: border-box;
}
.cal-day:hover { border-color: var(--primary); background: var(--primary-light); }
.cal-day.today {
    border-color: var(--primary);
    box-shadow: 0 0 0 2px rgba(255,122,40,.25);
    background: var(--primary-light);
}
.cal-day.other-month { opacity: .35; pointer-events: none; }
.cal-day.has-sessions { cursor: pointer; }
.cal-day .cal-num {
    font-size: 13px;
    font-weight: 800;
    margin-bottom: 2px;
    line-height: 1.2;
}
.cal-day .cal-dots {
    display: flex;
    flex-wrap: wrap;
    gap: 2px;
    justify-content: center;
    margin-top: auto;
}
.cal-day .cal-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--primary);
    flex-shrink: 0;
}
.cal-day .cal-count {
    font-size: 9px;
    font-weight: 700;
    color: var(--primary);
    margin-top: 2px;
    line-height: 1;
    white-space: nowrap;
}

/* موبايل: شكل رزنامة حقيقية مربعة */
@media (max-width: 768px) {
    .sessions-calendar {
        gap: 3px;
        padding: 0;
    }
    .cal-day-header {
        font-size: 10px;
        padding: 4px 0 2px;
    }
    .cal-day-full { display: none !important; }
    .cal-day-short { display: inline !important; }
    .cal-day {
        aspect-ratio: 1 / 1;
        padding: 3px 2px;
        border-radius: 8px;
    }
    .cal-day .cal-num { font-size: 12px; }
    .cal-day .cal-dot { width: 5px; height: 5px; }
    .cal-day .cal-count { font-size: 8px; }
    .card-header {
        flex-direction: column;
        align-items: stretch !important;
        gap: 10px;
    }
    .card-header > div {
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
    }
}

@media (max-width: 400px) {
    .sessions-calendar { gap: 2px; }
    .cal-day-header { font-size: 9px; padding: 2px 0; }
    .cal-day { padding: 2px 1px; border-radius: 6px; }
    .cal-day .cal-num { font-size: 11px; }
    .cal-day .cal-count { font-size: 7px; }
    /* على الشاشات الضيقة جداً: نقطة فقط بدون نص "حصة" */
    .cal-day .cal-count {
        font-size: 0;
        width: 6px;
        height: 6px;
        border-radius: 50%;
        background: var(--primary);
        margin: 2px auto 0;
        display: block;
        overflow: hidden;
    }
}

/* Search bar enhanced */
.search-bar-wrap {
    display: flex; gap: 10px; margin-bottom: 16px; flex-wrap: wrap; align-items: center;
}
.search-bar-wrap .form-control { flex: 1; min-width: 180px; max-width: 360px; }
.filter-select { max-width: 200px; }

/* Modal centered popup improvements */
.modal-body-scroll { max-height: 70vh; overflow-y: auto; }

/* Parent/Subscription cards ordered */
.debt-badge {
    background: var(--danger); color: #fff;
    font-size: 10px; font-weight: 800;
    padding: 2px 7px; border-radius: 10px;
}

/* Print filter */
.print-filters { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 14px; }
@media print {
    .no-print, .sidebar, .topbar, .print-filters, .search-bar-wrap { display: none !important; }
    .main { margin: 0 !important; }
}

.jersey.has-photo {
    clip-path: none;
    border-radius: 50%;
    overflow: hidden;
    background: var(--primary-light);
}
.jersey.has-photo .jersey-photo {
    border-radius: 50%;
}

/* بطاقات منفصلة واضحة */
.cards-grid-2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}
@media (max-width: 640px) {
    .cards-grid-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px;
    }
}
.person-card {
    background: var(--card-bg);
    border: 1.5px solid var(--border);
    border-radius: 16px;
    padding: 14px 16px;
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    display: flex;
    align-items: center;
    gap: 12px;
    position: relative;
    box-shadow: var(--shadow);
    min-height: 72px;
}
.person-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-lg);
    border-color: var(--primary);
}
.person-card:active {
    transform: scale(0.98);
}
.person-card.has-debt {
    border-color: var(--danger);
    border-width: 2px;
    box-shadow: 0 0 0 3px rgba(229,52,43,.1);
}
.person-card .pc-avatar {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    object-fit: cover;
    background: var(--primary-light);
    flex-shrink: 0;
}
.person-card .pc-avatar.placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    color: var(--primary);
    font-size: 18px;
}
.person-card .pc-info {
    flex: 1;
    min-width: 0;
}
.person-card .pc-name {
    font-weight: 800;
    font-size: 14.5px;
    margin-bottom: 3px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.person-card .pc-meta {
    font-size: 12px;
    color: var(--text-muted);
    line-height: 1.45;
}
.person-card .pc-rating {
    position: absolute;
    top: 10px;
    left: 10px;
    background: var(--primary);
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    padding: 3px 8px;
    border-radius: 20px;
}
.person-card .pc-photo-btn {
    position: absolute;
    bottom: 8px;
    left: 8px;
    width: 28px;
    height: 28px;
    border-radius: 8px;
    border: none;
    background: var(--primary-light);
    color: var(--primary);
    font-size: 14px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}


/* sessions-page mobile safety */
@media (max-width: 768px) {
    .main { overflow-x: hidden; }
    .card { overflow-x: hidden; max-width: 100%; }
    .sessions-calendar { direction: rtl; }
}


/* إخفاء صفوف «المزيد» في التقارير — يتغلب على تحويل الجدول لبطاقات بالهاتف */
tr.lazy-row.lazy-hidden {
    display: none !important;
}

/* ---------- زر إظهار/إخفاء كلمة المرور ---------- */
.password-wrap-auto{position:relative;}
.password-wrap-auto .form-control{padding-left:64px;}
.pw-toggle-btn{
    position:absolute;left:8px;top:50%;transform:translateY(-50%);
    border:0;background:transparent;cursor:pointer;
    color:var(--text-muted,#64748b);font-size:13px;font-family:inherit;
    padding:6px 8px;border-radius:8px;
}
.pw-toggle-btn:hover{color:var(--primary);background:rgba(0,0,0,.04);}


/* app-simplify-v1 — تقليل ازدحام الأزرار على الهاتف */
@media (max-width:700px){
    .day-session-actions,
    .modal-box .btn-sm,
    #pdBody > div:last-child {
        gap:6px !important;
    }
    .modal-box .btn-sm,
    .day-session-actions .btn {
        font-size:12px;
        padding:8px 10px;
    }
    .card-header {
        flex-wrap:wrap;
        gap:8px;
    }
    .card-header .btn { font-size:13px; }
    .tabs a {
        font-size:12.5px;
        padding:8px 10px;
    }
    .person-card .pc-meta { font-size:12px; }
    /* إخفاء أزرار ثانوية مكررة بالطباعة */
    .no-print { }
}
.tabs {
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-bottom:12px;
}
.tabs a {
    display:inline-block;
    padding:8px 12px;
    border-radius:999px;
    background:var(--bg);
    border:1px solid var(--border);
    color:var(--text);
    text-decoration:none;
    font-size:13px;
    font-weight:600;
}
.tabs a.active {
    background:var(--primary);
    border-color:var(--primary);
    color:#fff;
}


/* single-col-v2 — عامود واحد لكل القوائم */
.cards-grid-2,
.pay-grid-2col,
.parents-grid-2col,
.sub-grid-2col,
.groups-grid,
.eval-grid,
.trips-grid,
.expenses-grid,
.sessions-days-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
}
.person-card {
    width: 100%;
}
.person-card .pc-avatar.placeholder {
    /* إخفاء الحرف الأولي إن رُغب عبر كلاس no-initial */
}
.person-card.no-photo .pc-avatar.placeholder {
    display: none;
}
.person-card.no-photo .pc-info {
    margin-right: 0;
}

.stat-card{position:relative;cursor:pointer;}
.stat-card-link{z-index:2;}
.stat-card:hover{opacity:.95;}


/* full-width-single-col-v3 */
.cards-grid-2,
.cards-grid,
.pay-grid-2col,
.parents-grid-2col,
.sub-grid-2col,
.players-grid-2col,
.groups-grid,
.eval-grid,
.trips-grid,
.expenses-grid,
.sessions-days-grid,
.sessions-days-grid-2,
#sessionsListGrid,
#playersGrid,
#parentsGrid,
#payPlayersGrid,
#cardsGrid,
#expGrid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
}
.person-card,
.session-list-card {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

/* إخفاء الـ initial فقط (div placeholder) — الصور تبقى */
.pc-avatar.placeholder,
div.pc-avatar.placeholder {
    display: none !important;
}
img.pc-avatar {
    display: block !important;
    object-fit: cover;
}


/* mobile-full-col-v4 */
@media (max-width: 900px) {
  .cards-grid-2,
  .cards-grid,
  .pay-grid-2col,
  .parents-grid-2col,
  .sub-grid-2col,
  .players-grid-2col,
  .groups-grid,
  .sessions-days-grid,
  .sessions-days-grid-2,
  #sessionsListGrid,
  #playersGrid,
  #parentsGrid,
  #payPlayersGrid,
  #cardsGrid,
  #expGrid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 10px !important;
  }
  .person-card,
  .session-list-card {
    width: 100% !important;
    max-width: 100% !important;
  }
  .main, .content, .card {
    max-width: 100%;
  }
  .person-card {
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }
}
/* desktop also single col as requested */
.cards-grid-2,
.players-grid-2col,
.pay-grid-2col,
.parents-grid-2col,
.sub-grid-2col {
  grid-template-columns: 1fr !important;
}


/* person-card-as-link */
a.person-card {
  display: flex !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer;
}
a.person-card:hover {
  opacity: 0.95;
}


/* phone-single-col-v5 */
@media (max-width: 900px) {
  .main, .content, main, .page-content {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
  .card {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .cards-grid-2,
  .cards-grid,
  .players-grid-2col,
  .pay-grid-2col,
  .parents-grid-2col,
  .sub-grid-2col,
  #playersGrid,
  #parentsGrid,
  #payPlayersGrid,
  #cardsGrid,
  #sessionsListGrid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    gap: 10px !important;
  }
  a.person-card, .person-card {
    width: 100% !important;
    max-width: 100% !important;
  }
}
