:root{--primary:#3b82f6;--secondary:#6366f1;--accent:#f59e0b;--success:#10b981;--danger:#ef4444;--info:#0ea5e9;--purple:#8b5cf6;--pink:#ec4899;--bg-dark:#0f172a;--bg-darker:#020617;--bg-card:rgba(30,41,59,0.7);--bg-card-hover:rgba(51,65,85,0.8);--bg-input:rgba(15,23,42,0.8);--border:rgba(255,255,255,0.08);--border-light:rgba(255,255,255,0.15);--border-focus:#3b82f6;--text:#f8fafc;--text-dim:#cbd5e1;--text-dimmer:#94a3b8;--radius:20px;--radius-sm:12px;--radius-lg:30px;--shadow:0 8px 32px rgba(0,0,0,0.4);--shadow-lg:0 15px 50px rgba(0,0,0,0.6);--shadow-primary:0 10px 40px rgba(59,130,246,0.4);--transition:all .4s cubic-bezier(.4,0,.2,1);--font-ar:'Noto Kufi Arabic',sans-serif;--font-en:'Inter',sans-serif;--sidebar-w:280px;--header-h:80px;--primary-light:#60a5fa}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--font-en);background:linear-gradient(135deg, var(--bg-dark) 0%, var(--bg-darker) 100%);color:var(--text);line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased}
.ar,[dir=rtl]{font-family:var(--font-ar);direction:rtl;text-align:right}
.en{font-family:var(--font-en);direction:ltr}
a{color:var(--primary);text-decoration:none;transition:var(--transition-fast)}
a:hover{color:var(--secondary)}
button{font-family:inherit;cursor:pointer;border:none;background:none}
input,select,textarea{font-family:inherit;font-size:15px}
img{max-width:100%;height:auto;display:block}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.container{width:100%;max-width:1400px;margin:0 auto;padding:0 24px}
.app-layout{display:flex;min-height:100vh}
.sidebar{position:fixed;top:0;left:0;bottom:0;width:var(--sidebar-w);background:var(--bg-card);border-right:1px solid var(--border);z-index:100;display:flex;flex-direction:column;transition:var(--transition);overflow-y:auto}
.sidebar-header{height:var(--header-h);display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid var(--border);flex-shrink:0}
.sidebar-logo{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:800;color:var(--primary);text-decoration:none;white-space:nowrap}
.sidebar-nav{flex:1;padding:12px 8px}
.nav-section{margin-bottom:20px}
.nav-section-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text-dimmer);padding:0 12px;margin-bottom:6px}
.nav-item{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:var(--radius-sm);color:var(--text-dim);text-decoration:none;font-weight:500;font-size:14px;transition:var(--transition-fast);margin-bottom:1px}
.nav-item:hover{background:var(--bg-input);color:var(--text)}
.nav-item.active{background:var(--primary);color:white}
.nav-item svg{width:20px;height:20px;flex-shrink:0}
.main-content{flex:1;margin-left:var(--sidebar-w);min-height:100vh;display:flex;flex-direction:column}
.top-header{height:var(--header-h);background:rgba(10,15,26,0.85);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:0 32px}
.page-content{flex:1;padding:32px}
.mobile-menu-btn{display:none;width:40px;height:40px;border-radius:10px;background:var(--bg-card);border:1px solid var(--border);color:var(--text);align-items:center;justify-content:center}
.theme-toggle{width:40px;height:40px;border-radius:10px;background:var(--bg-card);border:1px solid var(--border);color:var(--text);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition-fast)}
.theme-toggle:hover{background:var(--border)}
.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:var(--transition);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow)}
.card:hover{border-color:var(--border-light);transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.card-header{padding:20px 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.card-title{font-size:18px;font-weight:700;color:var(--text)}
.card-body{padding:24px}
.card-footer{padding:16px 24px;border-top:1px solid var(--border);background:var(--bg-darker);display:flex;justify-content:flex-end;gap:12px}
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:32px}
.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;display:flex;align-items:center;gap:14px;transition:var(--transition);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow)}
.stat-card:hover{border-color:var(--primary);transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.stat-icon{width:50px;height:50px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}
.stat-icon.primary{background:rgba(37,99,235,0.2);color:var(--primary)}
.stat-icon.success{background:rgba(16,185,129,0.2);color:var(--success)}
.stat-icon.warning{background:rgba(245,158,11,0.2);color:var(--warning)}
.stat-icon.danger{background:rgba(239,68,68,0.2);color:var(--danger)}
.stat-icon.info{background:rgba(59,130,246,0.2);color:var(--info)}
.stat-icon.accent{background:rgba(139,92,246,0.2);color:var(--purple)}
.stat-value{font-size:28px;font-weight:800;color:var(--text);line-height:1.2}
.stat-label{font-size:12px;color:var(--text-dimmer);text-transform:uppercase;letter-spacing:.5px;margin-top:4px}
.chart-container{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:24px;margin-bottom:24px}
.chart-container canvas{max-height:300px}
.table-container{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-card)}
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border)}
th{background:var(--bg-darker);font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dimmer);white-space:nowrap;cursor:pointer;user-select:none}
 th:hover{color:var(--text)}
td{color:var(--text);vertical-align:middle}
tr:last-child td{border-bottom:none}
tr:hover td{background:var(--bg-input)}
.status-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:50px;font-size:11px;font-weight:600;white-space:nowrap}
.status-badge .dot{width:7px;height:7px;border-radius:50%}
.status-active{background:rgba(16,185,129,0.15);color:var(--success)}.status-active .dot{background:var(--success);box-shadow:0 0 6px var(--success)}
.status-pending{background:rgba(245,158,11,0.15);color:var(--warning)}.status-pending .dot{background:var(--warning)}
.status-inactive{background:rgba(100,116,139,0.15);color:var(--text-dimmer)}.status-inactive .dot{background:var(--text-dimmer)}
.status-absent{background:rgba(239,68,68,0.15);color:var(--danger)}.status-absent .dot{background:var(--danger)}
.status-present{background:rgba(16,185,129,0.15);color:var(--success)}.status-present .dot{background:var(--success)}
.status-late{background:rgba(245,158,11,0.15);color:var(--warning)}.status-late .dot{background:var(--warning)}
.action-btns{display:flex;gap:6px;flex-wrap:wrap}
.action-btn{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--text-dim);background:var(--bg-input);border:1px solid var(--border);transition:var(--transition-fast);font-size:14px}
.action-btn:hover{background:var(--border);color:var(--text)}
.action-btn.primary:hover{background:var(--primary);border-color:var(--primary);color:#fff}
.action-btn.danger:hover{background:var(--danger);border-color:var(--danger);color:#fff}
.action-btn svg{width:15px;height:15px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:var(--radius-sm);font-weight:600;font-size:14px;transition:var(--transition);border:none;cursor:pointer;white-space:nowrap;font-family:inherit}
.btn:hover{transform:translateY(-1px)}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
.btn-primary{background:var(--primary);color:white}.btn-primary:hover:not(:disabled){background:var(--secondary);box-shadow:var(--shadow-primary)}
.btn-success{background:var(--success);color:white}.btn-success:hover:not(:disabled){background:#059669}
.btn-danger{background:var(--danger);color:white}.btn-danger:hover:not(:disabled){background:#dc2626}
.btn-secondary{background:var(--bg-card);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--border)}
.btn-outline{background:transparent;color:var(--text);border:1px solid var(--border-light)}.btn-outline:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}
.btn-wa{background:#25D366;color:white}.btn-wa:hover{background:#128C7E}
.btn-sm{padding:7px 14px;font-size:13px}.btn-lg{padding:16px 32px;font-size:16px}
.btn-icon{width:40px;height:40px;padding:0;border-radius:10px}
.form-group{margin-bottom:20px}
.form-label{display:block;font-size:13px;font-weight:600;color:var(--text-dim);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}
.form-input,.form-select,.form-textarea{width:100%;padding:12px 14px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:14px;transition:var(--transition-fast);outline:none}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px rgba(37,99,235,0.15)}
.form-textarea{resize:vertical;min-height:80px}
.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:44px;cursor:pointer}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.form-check{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fast)}
.form-check:hover{border-color:var(--border-light)}
.form-check input{width:16px;height:16px;accent-color:var(--primary);cursor:pointer}
.form-check label{cursor:pointer;font-size:14px;color:var(--text);flex:1}
.badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:50px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}
.badge-primary{background:rgba(37,99,235,0.15);color:var(--primary)}
.badge-success{background:rgba(16,185,129,0.15);color:var(--success)}
.badge-warning{background:rgba(245,158,11,0.15);color:var(--warning)}
.badge-danger{background:rgba(239,68,68,0.15);color:var(--danger)}
.badge-info{background:rgba(59,130,246,0.15);color:var(--info)}
.badge-gray{background:rgba(100,116,139,0.15);color:var(--text-dimmer)}
.progress-bar{height:6px;background:var(--border);border-radius:3px;overflow:hidden;margin:8px 0}
.progress-fill{height:100%;border-radius:3px;transition:width .5s ease}
.tabs{display:flex;gap:4px;background:var(--bg-input);border-radius:var(--radius-sm);padding:4px;border:1px solid var(--border);margin-bottom:24px;overflow-x:auto;flex-wrap:nowrap}
.tab-btn{padding:10px 20px;border-radius:8px;font-weight:600;font-size:13px;color:var(--text-dim);background:transparent;transition:var(--transition-fast);white-space:nowrap}
.tab-btn:hover{color:var(--text)}
.tab-btn.active{background:var(--bg-card);color:var(--primary);box-shadow:0 2px 8px rgba(0,0,0,0.2)}
.tab-panel{display:none}.tab-panel.active{display:block;animation:fadeIn .3s ease}
@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.7);backdrop-filter:blur(4px);z-index:1000;display:none;align-items:center;justify-content:center;padding:24px}
.modal-overlay.open{display:flex}
.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);max-width:700px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp .3s ease}
@keyframes slideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.modal-header{padding:20px 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}
.modal-title{font-size:18px;font-weight:700}
.modal-close{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--text-dim);background:var(--bg-input);border:1px solid var(--border);transition:var(--transition-fast)}
.modal-close:hover{background:var(--danger);border-color:var(--danger);color:#fff}
.modal-body{padding:24px;overflow-y:auto;flex:1}
.modal-footer{padding:16px 24px;border-top:1px solid var(--border);background:var(--bg-darker);display:flex;justify-content:flex-end;gap:10px}
.toast-container{position:fixed;bottom:24px;right:24px;z-index:1100;display:flex;flex-direction:column;gap:10px}
.toast{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:14px 18px;display:flex;align-items:center;gap:10px;min-width:280px;max-width:400px;box-shadow:var(--shadow-lg);animation:slideIn .3s ease;border-left:4px solid var(--primary)}
@keyframes slideIn{from{opacity:0;transform:translateX(100px)}to{opacity:1;transform:translateX(0)}}
.toast-success{border-left-color:var(--success)}.toast-error{border-left-color:var(--danger)}.toast-warning{border-left-color:var(--warning)}.toast-info{border-left-color:var(--primary)}
.toast-icon{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:12px}
.toast-success .toast-icon{background:rgba(16,185,129,0.2);color:var(--success)}
.toast-error .toast-icon{background:rgba(239,68,68,0.2);color:var(--danger)}
.toast-message{flex:1;font-size:14px;color:var(--text)}
.toast-close{color:var(--text-dimmer);cursor:pointer}
.qr-container{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius)}
.qr-code{width:200px;height:200px;border-radius:var(--radius);background:white;padding:12px;display:flex;align-items:center;justify-content:center}
.qr-code canvas{width:100%;height:100%}
.search-box{position:relative}
.search-box input{padding:10px 14px 10px 40px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:14px;width:240px;transition:var(--transition-fast)}
.search-box input:focus{outline:none;border-color:var(--border-focus);width:300px}
.search-box svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-dimmer);width:16px;height:16px}
.photo-upload{width:100px;height:100px;border-radius:50%;background:var(--bg-input);border:2px dashed var(--border);display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;margin:0 auto 12px;transition:var(--transition-fast)}
.photo-upload:hover{border-color:var(--primary)}
.photo-upload img{width:100%;height:100%;object-fit:cover}
.section-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:16px}
.section-title{font-size:26px;font-weight:800}
.section-title .ar{font-size:20px;font-weight:600;color:var(--text-dim);margin-top:4px}
.divider{height:1px;background:var(--border);margin:20px 0}
.text-center{text-align:center}.text-right{text-align:right}
.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mb-2{margin-bottom:16px}.mb-3{margin-bottom:24px}
.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:16px}
.w-full{width:100%}.text-sm{font-size:13px}.text-xs{font-size:11px}
.tag{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600;background:rgba(37,99,235,0.1);color:var(--primary)}
.download-banner{background:linear-gradient(135deg,rgba(37,99,235,0.15) 0%,rgba(139,92,246,0.15) 100%);border:1px solid rgba(37,99,235,0.3);border-radius:var(--radius);padding:20px 24px;margin-bottom:24px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;box-shadow:var(--shadow)}
.download-banner-info{display:flex;align-items:center;gap:16px}
.download-banner-icon{width:54px;height:54px;border-radius:16px;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:26px;box-shadow:var(--shadow-primary);flex-shrink:0}
.download-banner-title{font-size:18px;font-weight:800;color:var(--text);margin-bottom:4px}
.download-banner-subtitle{font-size:13px;color:var(--text-dim)}
.download-banner-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}

.schedule-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:12px;margin-top:16px;overflow-x:auto;padding-bottom:12px}
@media(max-width:1200px){.schedule-grid{grid-template-columns:repeat(7,minmax(160px,1fr))}}
.day-column{background:var(--bg-darker);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;display:flex;flex-direction:column;min-height:350px}
.day-header{background:var(--bg-card);border-bottom:1px solid var(--border);padding:12px 10px;text-align:center;font-weight:700;font-size:14px;color:var(--primary);display:flex;flex-direction:column;align-items:center;gap:2px}
.day-header .day-en{font-size:10px;color:var(--text-dimmer);text-transform:uppercase;letter-spacing:1px}
.day-body{padding:8px;display:flex;flex-direction:column;gap:8px;flex:1}
.day-empty{font-size:12px;color:var(--text-dimmer);text-align:center;padding:24px 8px}

.session-card{background:var(--bg-card);border:1px solid var(--border);border-left:4px solid var(--primary);border-radius:10px;padding:10px;transition:var(--transition);display:flex;flex-direction:column;gap:6px;position:relative}
.session-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--border-light)}
.session-card.artistic{border-left-color:#2563eb;background:rgba(37,99,235,0.05)}
.session-card.rhythmic{border-left-color:#8b5cf6;background:rgba(139,92,246,0.05)}
.session-card.aerobic{border-left-color:#10b981;background:rgba(16,185,129,0.05)}
.session-card.general{border-left-color:#f59e0b;background:rgba(245,158,11,0.05)}

.session-time{font-size:11px;font-weight:700;color:var(--text-dim);display:flex;align-items:center;gap:4px}
.session-title{font-size:13px;font-weight:800;color:var(--text);line-height:1.3}
.session-meta{font-size:11px;color:var(--text-dimmer);display:flex;align-items:center;justify-content:space-between;margin-top:2px}
.session-coach{display:flex;align-items:center;gap:4px;color:var(--text-dim)}
.session-hall{background:var(--bg-input);padding:2px 6px;border-radius:4px;font-size:10px;font-weight:600;border:1px solid var(--border)}
.session-actions{position:absolute;top:6px;left:6px;display:none;gap:4px}
[dir="rtl"] .session-actions{left:auto;right:6px}
.session-card:hover .session-actions{display:flex}
.session-btn-del{width:20px;height:20px;border-radius:4px;background:var(--danger);color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;cursor:pointer}

@media print{
  .sidebar,.top-header,.download-banner,.section-actions,.search-box,.btn,.session-actions{display:none !important}
  .main-content{margin-left:0 !important;padding:0 !important}
  .page-content{padding:0 !important}
  .schedule-grid{grid-template-columns:repeat(7,1fr) !important;gap:4px !important}
  .day-column{border:1px solid #ccc !important;background:#fff !important;color:#000 !important}
  .day-header{background:#f0f0f0 !important;color:#000 !important}
  .session-card{border:1px solid #ccc !important;background:#fff !important;color:#000 !important}
}
@media(max-width:1024px){.sidebar{transform:translateX(-100%)}.sidebar.open{transform:translateX(0)}.main-content{margin-left:0}.mobile-menu-btn{display:flex}.search-box input{width:180px}.search-box input:focus{width:200px}}
@media(max-width:640px){.page-content{padding:16px}.stats-grid{grid-template-columns:1fr 1fr}.section-title{font-size:20px}.form-grid{grid-template-columns:1fr}.modal{width:100%;margin:8px;max-height:calc(100vh - 16px)}}
@media(prefers-color-scheme:light){:root{--bg-dark:#f8fafc;--bg-darker:#f1f5f9;--bg-card:#ffffff;--bg-card-hover:#f8fafc;--bg-input:#f8fafc;--border:#e2e8f0;--border-light:#cbd5e1;--text:#1e293b;--text-dim:#475569;--text-dimmer:#94a3b8}.stat-icon.primary{background:rgba(37,99,235,0.1)}.stat-card{background:#fff}table{color:#1e293b}th{background:#f1f5f9}tr:hover td{background:#f8fafc}.form-input,.form-select,.form-textarea{background:#fff;color:#1e293b;border-color:#e2e8f0}.form-input:focus{border-color:var(--primary)}}
</style>
