/* ═══ Dashboard Pro CSS — کامل ═══ */
.dash-container{padding:0;animation:dashIn .5s ease}
@keyframes dashIn{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}

.dash-hero-pro{background:linear-gradient(135deg,rgba(20,74,138,.55),rgba(240,165,0,.2));
    border:1.5px solid rgba(240,165,0,.45);border-radius:20px;padding:26px 24px;
    margin-bottom:20px;position:relative;overflow:hidden;
    box-shadow:0 20px 50px rgba(0,0,0,.4)}
.hero-teacher{background:linear-gradient(135deg,rgba(16,185,129,.3),rgba(240,165,0,.2))}
.hero-student{background:linear-gradient(135deg,rgba(168,85,247,.35),rgba(240,165,0,.2))}
.hero-bg-animated{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.hero-blob{position:absolute;border-radius:50%;filter:blur(50px);opacity:.5}
.blob-1{width:280px;height:280px;top:-80px;right:-80px;
    background:radial-gradient(circle,#f0a500,transparent 70%);
    animation:blobMove 15s ease-in-out infinite}
.blob-2{width:230px;height:230px;bottom:-80px;left:-60px;
    background:radial-gradient(circle,#144a8a,transparent 70%);
    animation:blobMove 20s ease-in-out infinite reverse}
.blob-3{width:180px;height:180px;top:50%;left:50%;
    background:radial-gradient(circle,#ec4899,transparent 70%);
    animation:blobMove 25s ease-in-out infinite}
@keyframes blobMove{
    0%,100%{transform:translate(0,0) scale(1)}
    33%{transform:translate(40px,-30px) scale(1.15)}
    66%{transform:translate(-30px,30px) scale(.9)}
}
.hero-content{position:relative;display:flex;justify-content:space-between;
    align-items:center;gap:16px;flex-wrap:wrap}
.hero-left{display:flex;align-items:center;gap:16px}
.hero-icon-pulse{width:62px;height:62px;border-radius:18px;
    background:linear-gradient(135deg,#f0a500,#ffc947);
    display:grid;place-items:center;font-size:30px;
    box-shadow:0 0 0 0 rgba(240,165,0,.7);
    animation:pulseIcon 2s ease-in-out infinite;flex-shrink:0}
@keyframes pulseIcon{
    0%{box-shadow:0 0 0 0 rgba(240,165,0,.7)}
    70%{box-shadow:0 0 0 22px rgba(240,165,0,0)}
    100%{box-shadow:0 0 0 0 rgba(240,165,0,0)}
}
.hero-title{font-size:22px;font-weight:800;color:#fff;margin-bottom:4px;
    text-shadow:0 3px 15px rgba(0,0,0,.4);letter-spacing:-.5px;line-height:1.3}
.hero-sub{color:#c8d8ec;font-size:13px;font-weight:500;line-height:1.5}
.hero-live{display:inline-flex;align-items:center;gap:7px;
    padding:8px 14px;background:rgba(16,185,129,.15);
    border:1.5px solid rgba(16,185,129,.4);
    border-radius:30px;font-weight:800;color:#4ade80;font-size:12px}
.live-dot{width:9px;height:9px;border-radius:50%;background:#10b981;
    box-shadow:0 0 12px #10b981;animation:liveDot 1.5s infinite}
@keyframes liveDot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}

.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:14px;margin-bottom:22px}
.stat-card-pro{position:relative;padding:20px;border-radius:18px;
    background:linear-gradient(160deg,rgba(20,74,138,.35),rgba(6,24,46,.6));
    border:1.5px solid rgba(255,255,255,.15);
    overflow:hidden;transition:.4s cubic-bezier(.25,.46,.45,.94);
    display:flex;align-items:center;gap:14px}
.stat-card-pro:hover{transform:translateY(-6px);box-shadow:0 25px 50px rgba(0,0,0,.4)}
.stat-purple:hover{border-color:rgba(168,85,247,.6)}
.stat-blue:hover{border-color:rgba(59,130,246,.6)}
.stat-green:hover{border-color:rgba(16,185,129,.6)}
.stat-red:hover{border-color:rgba(239,68,68,.6)}
.stat-amber:hover{border-color:rgba(240,165,0,.6)}
.stat-cyan:hover{border-color:rgba(6,182,212,.6)}
.stat-bg-icon{position:absolute;top:-15px;left:-15px;font-size:90px;
    opacity:.06;pointer-events:none}
.stat-glow{position:absolute;top:0;right:0;width:80px;height:80px;
    border-radius:50%;filter:blur(30px);pointer-events:none}
.stat-purple .stat-glow{background:radial-gradient(circle,rgba(168,85,247,.6),transparent 70%)}
.stat-blue .stat-glow{background:radial-gradient(circle,rgba(59,130,246,.6),transparent 70%)}
.stat-green .stat-glow{background:radial-gradient(circle,rgba(16,185,129,.6),transparent 70%)}
.stat-red .stat-glow{background:radial-gradient(circle,rgba(239,68,68,.6),transparent 70%)}
.stat-amber .stat-glow{background:radial-gradient(circle,rgba(240,165,0,.6),transparent 70%)}
.stat-cyan .stat-glow{background:radial-gradient(circle,rgba(6,182,212,.6),transparent 70%)}
.stat-content{position:relative;flex:1;min-width:0}
.stat-label{font-size:11px;color:#9db5d1;font-weight:700;margin-bottom:5px;
    letter-spacing:.4px;text-transform:uppercase;white-space:nowrap;
    overflow:hidden;text-overflow:ellipsis}
.stat-value{font-size:28px;font-weight:900;color:#fff;line-height:1.1;
    margin-bottom:5px;letter-spacing:-1px}
.stat-purple .stat-value{color:#c084fc}
.stat-blue .stat-value{color:#60a5fa}
.stat-green .stat-value{color:#4ade80}
.stat-red .stat-value{color:#f87171}
.stat-amber .stat-value{color:#fbbf24}
.stat-cyan .stat-value{color:#22d3ee}
.stat-trend{font-size:10.5px;font-weight:700;display:flex;align-items:center;gap:4px}
.trend-up{color:#4ade80}
.trend-warn{color:#fbbf24}
.trend-info{color:#60a5fa}

.charts-row{display:grid;grid-template-columns:2fr 1fr 1fr;
    gap:16px;margin-bottom:22px}
.charts-row-2{grid-template-columns:1fr 1fr}
@media(max-width:1100px){.charts-row{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.charts-row{grid-template-columns:1fr}}

.chart-card-pro{background:linear-gradient(160deg,rgba(20,74,138,.35),rgba(6,24,46,.6));
    border:1.5px solid rgba(255,255,255,.15);border-radius:18px;
    padding:20px;transition:.3s;position:relative;overflow:hidden;
    min-height:270px}
.chart-card-pro:hover{border-color:rgba(240,165,0,.4);
    box-shadow:0 20px 45px rgba(0,0,0,.4)}
.chart-head{display:flex;justify-content:space-between;align-items:center;
    margin-bottom:16px;padding-bottom:12px;
    border-bottom:1px solid rgba(255,255,255,.1)}
.chart-head h3{font-size:14px;font-weight:800;color:#fff}
.chart-badge{background:rgba(240,165,0,.18);color:#fbbf24;
    padding:5px 12px;border-radius:20px;font-size:11px;font-weight:800;
    border:1px solid rgba(240,165,0,.3);white-space:nowrap}
.chart-card-pro canvas{max-height:200px}

.filter-pro-card{background:linear-gradient(160deg,rgba(20,74,138,.3),rgba(6,24,46,.55));
    border:1.5px solid rgba(255,255,255,.15);border-radius:18px;
    padding:20px;margin-bottom:22px}
.filter-row{display:flex;flex-direction:column;gap:16px}
.filter-group{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.filter-label{font-size:13px;font-weight:800;color:#c8d8ec;
    min-width:80px;flex-shrink:0}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{padding:9px 18px;border-radius:30px;
    background:rgba(255,255,255,.06);
    border:1.5px solid rgba(255,255,255,.15);
    color:#c8d8ec;font-weight:700;font-size:12.5px;
    text-decoration:none;transition:.25s;
    display:inline-flex;align-items:center;gap:6px}
.chip:hover{background:rgba(240,165,0,.18);
    border-color:rgba(240,165,0,.5);color:#fbbf24;transform:translateY(-2px)}
.chip.active{background:linear-gradient(135deg,#f0a500,#ffc947);
    border-color:#f0a500;color:#06182e;
    box-shadow:0 8px 20px rgba(240,165,0,.35)}

.two-col{display:grid;grid-template-columns:2fr 1fr;gap:18px}
@media(max-width:1000px){.two-col{grid-template-columns:1fr}}
.col-main,.col-side{display:flex;flex-direction:column;gap:18px}

.section-head{display:flex;justify-content:space-between;align-items:center;
    padding:0 4px 10px;margin-bottom:4px}
.section-head h2{font-size:17px;font-weight:800;color:#fff;
    display:flex;align-items:center;gap:10px}
.section-head h2::before{content:'';width:4px;height:20px;
    background:linear-gradient(180deg,#f0a500,#ffc947);
    border-radius:4px;box-shadow:0 0 12px rgba(240,165,0,.6)}
.count-badge{background:rgba(240,165,0,.18);color:#fbbf24;
    padding:6px 14px;border-radius:20px;font-size:12px;font-weight:800;
    border:1px solid rgba(240,165,0,.35);white-space:nowrap}

.teacher-card-pro{background:linear-gradient(160deg,rgba(20,74,138,.3),rgba(6,24,46,.55));
    border:1.5px solid rgba(255,255,255,.15);border-radius:20px;
    padding:20px;margin-bottom:14px;transition:.3s;position:relative;overflow:hidden}
.teacher-card-pro::before{content:'';position:absolute;top:0;right:0;left:0;height:3px;
    background:linear-gradient(90deg,transparent,#f0a500,transparent);opacity:.6}
.teacher-card-pro:hover{transform:translateY(-3px);
    border-color:rgba(240,165,0,.45);
    box-shadow:0 20px 50px rgba(0,0,0,.4)}
.teacher-head-pro{display:flex;align-items:center;gap:14px;
    padding-bottom:14px;margin-bottom:14px;
    border-bottom:1px solid rgba(255,255,255,.1);flex-wrap:wrap}
.teacher-avatar-pro{width:54px;height:54px;border-radius:16px;
    display:grid;place-items:center;font-size:22px;font-weight:900;
    flex-shrink:0;position:relative;overflow:hidden}
.teacher-avatar-pro::before{content:'';position:absolute;inset:0;
    background:linear-gradient(135deg,rgba(255,255,255,.3),transparent 60%)}
.avatar-purple{background:linear-gradient(135deg,#a855f7,#7c3aed);color:#fff;
    box-shadow:0 10px 25px rgba(168,85,247,.4)}
.avatar-blue{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;
    box-shadow:0 10px 25px rgba(59,130,246,.4)}
.avatar-green{background:linear-gradient(135deg,#10b981,#059669);color:#fff;
    box-shadow:0 10px 25px rgba(16,185,129,.4)}
.avatar-amber{background:linear-gradient(135deg,#f0a500,#ffc947);color:#06182e;
    box-shadow:0 10px 25px rgba(240,165,0,.4)}
.avatar-red{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;
    box-shadow:0 10px 25px rgba(239,68,68,.4)}
.avatar-cyan{background:linear-gradient(135deg,#06b6d4,#0891b2);color:#fff;
    box-shadow:0 10px 25px rgba(6,182,212,.4)}
.teacher-info-pro{flex:1;min-width:160px}
.teacher-name-pro{font-size:16px;font-weight:800;color:#fff;margin-bottom:5px}
.teacher-meta-pro{display:flex;gap:14px;font-size:12px;color:#c8d8ec;
    font-weight:600;flex-wrap:wrap}
.teacher-shift-pro{display:flex;gap:8px;flex-wrap:wrap}
.shift-pill{padding:7px 14px;border-radius:30px;font-weight:800;font-size:12px;
    display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.shift-morning-pill{background:linear-gradient(135deg,rgba(240,165,0,.25),rgba(255,201,71,.15));
    color:#fbbf24;border:1.5px solid rgba(240,165,0,.5)}
.shift-evening-pill{background:linear-gradient(135deg,rgba(59,130,246,.25),rgba(168,85,247,.15));
    color:#93c5fd;border:1.5px solid rgba(59,130,246,.5)}

.teacher-courses{display:grid;
    grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.course-pill{background:rgba(6,24,46,.6);
    border:1.5px solid rgba(255,255,255,.12);
    border-radius:14px;padding:14px;transition:.25s}
.course-pill:hover{background:rgba(20,74,138,.5);
    border-color:rgba(240,165,0,.4);transform:translateY(-2px)}
.course-pill-head{display:flex;justify-content:space-between;align-items:center;
    margin-bottom:8px}
.course-name{font-weight:800;color:#fbbf24;font-size:14px}
.course-shift{font-size:16px}
.course-class{color:#c8d8ec;font-size:12.5px;font-weight:600;margin-bottom:8px}
.course-tags{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:8px}
.mini-tag{padding:3px 9px;border-radius:6px;font-size:10.5px;font-weight:700;
    background:rgba(255,255,255,.08);color:#c8d8ec;
    border:1px solid rgba(255,255,255,.12);white-space:nowrap}
.course-students{color:#9db5d1;font-size:11.5px;font-weight:600;
    display:flex;align-items:center;gap:5px}

.mini-stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(85px,1fr));
    gap:10px;margin-bottom:14px}
.mini-stat{background:rgba(6,24,46,.5);
    border:1px solid rgba(255,255,255,.1);
    border-radius:12px;padding:12px 8px;text-align:center;transition:.25s}
.mini-stat:hover{background:rgba(20,74,138,.4);
    border-color:rgba(240,165,0,.3)}
.ms-icon{font-size:17px;margin-bottom:4px}
.ms-value{font-size:18px;font-weight:900;color:#fbbf24;line-height:1.2}
.ms-value.ms-green{color:#4ade80}
.ms-value.ms-amber{color:#fbbf24}
.ms-value.ms-red{color:#f87171}
.ms-label{font-size:10px;color:#9db5d1;font-weight:700;margin-top:2px}

.enter-btn{padding:10px 18px;background:linear-gradient(135deg,#f0a500,#ffc947);
    color:#06182e;text-decoration:none;border-radius:12px;
    font-weight:800;font-size:12.5px;transition:.25s;
    display:inline-flex;align-items:center;gap:6px;flex-shrink:0}
.enter-btn:hover{transform:translateY(-2px);
    box-shadow:0 10px 25px rgba(240,165,0,.5)}

.progress-row{display:flex;align-items:center;gap:12px;padding-top:12px;
    border-top:1px solid rgba(255,255,255,.08)}
.progress-label{font-size:11.5px;color:#9db5d1;font-weight:700}
.progress-bar-pro{flex:1;height:8px;background:rgba(255,255,255,.08);
    border-radius:6px;overflow:hidden;position:relative}
.progress-fill-pro{height:100%;border-radius:6px;transition:width 1s ease;
    position:relative;overflow:hidden}
.progress-fill-pro::after{content:'';position:absolute;inset:0;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);
    animation:shine 2s infinite}
@keyframes shine{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
.progress-green{background:linear-gradient(90deg,#10b981,#4ade80)}
.progress-amber{background:linear-gradient(90deg,#f59e0b,#fbbf24)}
.progress-red{background:linear-gradient(90deg,#ef4444,#f87171)}
.progress-value{font-size:13px;font-weight:900;color:#fbbf24;min-width:45px;text-align:left}

.side-card{background:linear-gradient(160deg,rgba(20,74,138,.3),rgba(6,24,46,.55));
    border:1.5px solid rgba(255,255,255,.15);border-radius:18px;
    padding:18px;position:relative;overflow:hidden}
.side-head{display:flex;justify-content:space-between;align-items:center;
    margin-bottom:14px;padding-bottom:12px;
    border-bottom:1px solid rgba(255,255,255,.1)}
.side-head h3{font-size:13.5px;font-weight:800;color:#fff;
    display:flex;align-items:center;gap:8px}
.live-badge{display:inline-flex;align-items:center;gap:5px;
    padding:4px 10px;background:rgba(16,185,129,.15);
    border:1px solid rgba(16,185,129,.35);
    border-radius:20px;font-size:10px;font-weight:800;color:#4ade80}
.live-dot-mini{width:6px;height:6px;border-radius:50%;background:#10b981;
    animation:liveDot 1.5s infinite}

.timeline{display:flex;flex-direction:column;gap:10px;
    max-height:380px;overflow-y:auto;padding-left:6px}
.timeline::-webkit-scrollbar{width:5px}
.timeline::-webkit-scrollbar-thumb{background:rgba(240,165,0,.4);border-radius:5px}
.timeline::-webkit-scrollbar-track{background:rgba(255,255,255,.05);border-radius:5px}
.timeline-item{display:flex;gap:10px;padding:11px;border-radius:11px;
    background:rgba(6,24,46,.5);border:1px solid rgba(255,255,255,.08);
    transition:.25s;position:relative;border-right-width:3px}
.timeline-item:hover{background:rgba(20,74,138,.4);transform:translateX(-4px)}
.timeline-blue{border-right-color:#3b82f6}
.timeline-green{border-right-color:#10b981}
.timeline-red{border-right-color:#ef4444}
.timeline-purple{border-right-color:#a855f7}
.timeline-amber{border-right-color:#f59e0b}
.timeline-icon{width:34px;height:34px;border-radius:10px;flex-shrink:0;
    background:rgba(255,255,255,.08);
    display:grid;place-items:center;font-size:15px}
.timeline-content{flex:1;min-width:0}
.timeline-title{font-size:12.5px;font-weight:800;color:#fff;margin-bottom:3px;
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.timeline-sub{font-size:11px;color:#c8d8ec;margin-bottom:5px;
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.timeline-meta{display:flex;gap:10px;font-size:10px;color:#9db5d1;
    font-weight:700;flex-wrap:wrap}
.score-badge{background:rgba(16,185,129,.2);color:#4ade80;
    padding:2px 8px;border-radius:6px;font-weight:800}
.timeline-empty{text-align:center;padding:26px 10px;color:#7a95b5;
    font-size:12.5px;font-weight:600}

.top-class-item{display:flex;align-items:center;gap:10px;
    padding:11px;border-radius:11px;
    background:rgba(6,24,46,.5);border:1px solid rgba(255,255,255,.08);
    margin-bottom:8px;transition:.25s}
.top-class-item:hover{background:rgba(20,74,138,.4);
    border-color:rgba(240,165,0,.3)}
.top-rank{font-size:20px;flex-shrink:0}
.top-info{flex:1;min-width:0}
.top-name{font-size:12.5px;font-weight:800;color:#fff;margin-bottom:5px;
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.top-bar-bg{width:100%;height:6px;background:rgba(255,255,255,.08);
    border-radius:4px;overflow:hidden}
.top-bar-fill{height:100%;background:linear-gradient(90deg,#f0a500,#ffc947);
    border-radius:4px;transition:width 1s ease}
.top-rate{font-size:13.5px;font-weight:900;color:#fbbf24;flex-shrink:0}

.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.quick-mini{display:flex;flex-direction:column;align-items:center;gap:6px;
    padding:13px 8px;border-radius:13px;
    background:rgba(6,24,46,.5);
    border:1.5px solid rgba(255,255,255,.1);
    text-decoration:none;transition:.25s;color:#c8d8ec}
.quick-mini:hover{background:linear-gradient(135deg,rgba(240,165,0,.2),rgba(20,74,138,.4));
    border-color:rgba(240,165,0,.5);color:#fbbf24;transform:translateY(-3px)}
.qm-icon{font-size:20px}
.qm-text{font-size:11px;font-weight:800}

.empty-box{text-align:center;padding:50px 20px;
    background:rgba(6,24,46,.4);border-radius:18px;
    border:1.5px dashed rgba(255,255,255,.15)}
.empty-icon{font-size:50px;margin-bottom:12px;opacity:.5}
.empty-box p{color:#7a95b5;font-size:14px;font-weight:600}

/* Responsive */
@media(max-width:900px){
    .dash-hero-pro{padding:20px 18px;border-radius:16px;margin-bottom:14px}
    .hero-icon-pulse{width:48px;height:48px;font-size:24px;border-radius:14px}
    .hero-title{font-size:17px}
    .hero-sub{font-size:12px}
    .stats-row{grid-template-columns:1fr 1fr;gap:10px}
    .stat-card-pro{padding:14px;gap:10px;border-radius:14px}
    .stat-value{font-size:20px}
    .stat-label{font-size:10px}
    .stat-trend{font-size:9.5px}
    .charts-row,{grid-template-columns:1fr}
    .chart-card-pro{padding:14px;min-height:240px;border-radius:14px}
    .chart-head h3{font-size:12.5px}
    .filter-pro-card{padding:14px;border-radius:14px;margin-bottom:14px}
    .filter-group{flex-direction:column;align-items:flex-start;gap:8px}
    .chip{padding:7px 13px;font-size:11px}
    .two-col{grid-template-columns:1fr;gap:12px}
    .col-main,.col-side{gap:12px}
    .section-head h2{font-size:14px}
    .count-badge{font-size:10.5px;padding:5px 11px}
    .teacher-card-pro{padding:14px;border-radius:14px;margin-bottom:10px}
    .teacher-avatar-pro{width:44px;height:44px;font-size:18px;border-radius:12px}
    .teacher-name-pro{font-size:13.5px}
    .teacher-meta-pro{font-size:11px;gap:10px}
    .shift-pill{padding:5px 10px;font-size:10.5px}
    .teacher-courses{grid-template-columns:1fr;gap:9px}
    .course-pill{padding:12px;border-radius:12px}
    .course-name{font-size:12.5px}
    .mini-tag{font-size:9.5px;padding:2px 7px}
    .mini-stats-row{grid-template-columns:repeat(3,1fr);gap:7px}
    .mini-stat{padding:9px 6px}
    .ms-value{font-size:15px}
    .ms-label{font-size:9px}
    .side-card{padding:14px;border-radius:14px}
    .side-head h3{font-size:12px}
    .timeline-item{padding:9px;border-radius:9px;gap:8px}
    .timeline-icon{width:30px;height:30px;font-size:13px}
    .timeline-title{font-size:11.5px}
    .timeline-sub{font-size:10px}
    .quick-mini{padding:11px 6px}
    .qm-icon{font-size:17px}
    .qm-text{font-size:10px}
    .top-class-item{padding:9px}
    .top-rate{font-size:12px}
    .empty-box{padding:36px 16px}
}