*{box-sizing:border-box}body{font-family:Cairo,sans-serif;background:#f5f7fb;color:#1e293b}.app-shell{display:flex;min-height:100vh}.sidebar{width:270px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent;background:#fff;border-left:1px solid #e8edf5;padding:24px 16px;display:flex;flex-direction:column;position:fixed;right:0;top:0;bottom:0;z-index:10}.brand,.user-mini{display:flex;align-items:center;gap:12px}.brand{padding:0 10px 25px;border-bottom:1px solid #edf0f5}.brand strong{display:block;font-size:17px}.brand small{color:#94a3b8;font-size:10px}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;background:#3157d5;color:white;border-radius:13px;font-size:23px;font-weight:800;box-shadow:0 8px 18px #3157d533}.user-mini{margin:22px 8px;padding:13px;background:#f5f7ff;border-radius:14px}.avatar{width:34px;height:34px;border-radius:11px;background:#dfe7ff;color:#3157d5;display:flex;align-items:center;justify-content:center;font-weight:800}.user-mini b{font-size:12px;display:block}.user-mini small{font-size:10px;color:#94a3b8}nav{flex:1;overflow-y:auto;min-height:0}.nav-label{font-size:10px;color:#a0aec0;padding:18px 12px 7px}.nav-link{display:flex;gap:11px;align-items:center;color:#64748b;text-decoration:none;border-radius:11px;padding:11px 13px;font-size:13px;margin:3px 0}.nav-link:hover,.nav-link.active{background:#eef2ff;color:#3157d5}.logout{color:#ef4444;text-decoration:none;padding:14px 12px;font-size:12px;border-top:1px solid #edf0f5}.main{margin-right:270px;width:calc(100% - 270px);padding:0 38px 40px}.topbar{height:65px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;background:#f5f7fb;margin:0 -38px;padding:0 38px}.eyebrow{color:#3157d5;font-size:11px;font-weight:700}.topbar h1{font-size:23px;margin:3px 0 0;font-weight:800}.top-actions{display:flex;align-items:center;gap:14px}.date-chip{font-size:11px;color:#64748b;background:white;padding:10px 14px;border-radius:10px}.welcome{background:linear-gradient(120deg,#3157d5,#5579e5);color:white;border-radius:22px;padding:28px 32px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 14px 30px #3157d522;margin-bottom:24px}.welcome h2{font-size:22px;margin:5px 0}.welcome p{margin:0;color:#dfe7ff;font-size:13px}.welcome .eyebrow{color:#cbd7ff}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:24px}.stat-card{background:#fff;border-radius:18px;padding:21px;position:relative;overflow:hidden;border:1px solid #edf0f5}.stat-card:after{content:'';position:absolute;width:75px;height:75px;border-radius:50%;left:-20px;bottom:-32px;background:currentColor;opacity:.08}.stat-card span,.stat-card small{display:block;color:#64748b;font-size:11px}.stat-card strong{display:block;font-size:23px;margin:10px 0 2px}.stat-card.blue{color:#3157d5}.stat-card.violet{color:#7c3aed}.stat-card.green{color:#16a269}.stat-card.amber{color:#e79b18}.content-grid{display:grid;grid-template-columns:1fr 290px;gap:20px}.panel{background:#fff;border:1px solid #edf0f5;border-radius:18px;padding:22px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.panel h3{font-size:15px;margin:0;font-weight:800}.panel p{font-size:11px;color:#94a3b8;margin:4px 0 0}.table{font-size:12px;margin:0}.table th{color:#94a3b8;font-weight:600;font-size:10px;border-bottom-color:#eef1f5}.table td{border-bottom-color:#f0f2f6}.muted{font-size:9px;color:#a0aec0;margin-top:3px}.badge-soft{padding:5px 9px;border-radius:8px;font-size:10px}.badge-soft.success{background:#e7f8ef;color:#15945e}.icon-btn{background:#f0f4ff;color:#3157d5;padding:5px 9px;border-radius:8px;text-decoration:none}.empty{text-align:center;color:#94a3b8;padding:30px!important}.quick-panel h3{margin-bottom:16px}.quick-panel a{display:flex;justify-content:space-between;text-decoration:none;color:#475569;background:#f8fafc;border-radius:10px;padding:12px;margin:8px 0;font-size:11px}.quick-panel a span{color:#3157d5}.login-page{min-height:100vh;background:radial-gradient(circle at 20% 20%,#dfe7ff,#f5f7fb 45%);display:flex;align-items:center;justify-content:center}.login-card{width:min(420px,92%);background:#fff;border-radius:24px;padding:38px;box-shadow:0 25px 70px #3157d51c}.login-brand{text-align:center;margin-bottom:28px}.login-brand .brand-mark{margin-bottom:14px}.login-brand h1{font-size:23px;margin:0}.login-brand p{font-size:12px;color:#94a3b8;margin:6px 0}.login-card label{font-size:11px;font-weight:700;margin-bottom:6px}.login-card .form-control{border-color:#e5eaf2;padding:12px;font-size:12px}.login-hint{text-align:center;background:#f8fafc;color:#64748b;font-size:10px;padding:10px;border-radius:10px;margin-top:18px}.alert{font-size:12px;border:0}.page-card{background:#fff;border-radius:18px;padding:24px;border:1px solid #edf0f5}.form-label{font-size:12px;font-weight:700}.form-control,.form-select{font-size:12px;padding:11px}.section-title{font-weight:800;font-size:16px;margin:0 0 18px}.profile-head{background:#fff;border-radius:18px;padding:25px;display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.profile-meta{display:flex;gap:15px;align-items:center}.profile-avatar{width:65px;height:65px;border-radius:18px;background:#eef2ff;color:#3157d5;display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:800}.kv{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.kv div{background:#f8fafc;padding:12px;border-radius:10px}.kv small{display:block;color:#94a3b8;font-size:10px}.kv b{font-size:12px}.barcode-box{text-align:center;background:#f8fafc;border-radius:15px;padding:15px}.barcode-box svg{max-width:100%}@media(max-width:1000px){.sidebar{width:215px}.main{margin-right:215px;width:calc(100% - 215px);padding:0 20px}.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.sidebar{position:static;width:100%;height:auto}.app-shell{display:block}.main{margin:0;width:100%;padding:0 15px}.sidebar nav,.logout{display:none}.topbar{height:65px}.topbar h1{font-size:19px}.date-chip{display:none}.top-actions .btn{font-size:10px}.welcome{display:block}.welcome .btn{margin-top:15px}.stats-grid{gap:10px}.stat-card{padding:15px}.stat-card strong{font-size:18px}.content-grid{grid-template-columns:1fr}.profile-head{display:block}.profile-head .btn{margin-top:15px}.kv{grid-template-columns:1fr}}.student-photo{cursor:zoom-in;transition:transform .2s ease}.student-photo.photo-zoomed{position:fixed;z-index:1000;inset:8vh 10vw;width:80vw!important;height:84vh!important;max-width:none!important;object-fit:contain!important;background:#fff;border:8px solid #fff;border-radius:18px;box-shadow:0 20px 80px #0008;cursor:zoom-out}
.monthly-pay-submit{margin-top:18px}

.theme-toggle{border:1px solid #dbe3f0;background:#fff;color:#3157d5;border-radius:10px;padding:9px 12px;font-family:Cairo,sans-serif;font-size:11px;cursor:pointer}.dark-mode{background:#0f172a;color:#e2e8f0}.dark-mode .sidebar,.dark-mode .panel,.dark-mode .page-card,.dark-mode .profile-head,.dark-mode .stat-card,.dark-mode .login-card,.dark-mode .date-chip,.dark-mode .receipt{background:#172033;border-color:#26344d;color:#e2e8f0}.dark-mode .brand{border-color:#26344d}.dark-mode .user-mini,.dark-mode .kv div,.dark-mode .quick-panel a,.dark-mode .barcode-box,.dark-mode .login-hint{background:#202c42;color:#e2e8f0}.dark-mode .nav-link{color:#a9b7ca}.dark-mode .nav-link:hover,.dark-mode .nav-link.active{background:#263b75;color:#8fa9ff}.dark-mode .topbar h1,.dark-mode .panel h3,.dark-mode .section-title,.dark-mode .profile-head h2,.dark-mode .table td,.dark-mode .form-label{color:#e2e8f0}.dark-mode .table{--bs-table-bg:transparent;--bs-table-color:#e2e8f0;--bs-table-border-color:#2d3b53}.dark-mode .table th{color:#9fb0c7;border-color:#2d3b53}.dark-mode .table td{border-color:#2d3b53}.dark-mode .form-control,.dark-mode .form-select{background:#202c42;border-color:#3a4b67;color:#e2e8f0}.dark-mode .form-control::placeholder{color:#7f90a8}.dark-mode .theme-toggle{background:#202c42;border-color:#3a4b67;color:#dbeafe}.dark-mode .muted,.dark-mode .panel p,.dark-mode .stat-card span,.dark-mode .stat-card small,.dark-mode .date-chip{color:#9fb0c7}.dark-mode .badge-soft{background:#293750;color:#cbd5e1}.dark-mode .badge-soft.success{background:#164b3a;color:#6ee7b7}.dark-mode .btn-light{background:#26344d;border-color:#3a4b67;color:#e2e8f0}.dark-mode .eyebrow{color:#8fa9ff}.dark-mode .student-photo.photo-zoomed{background:#172033;border-color:#172033}@media(max-width:700px){.theme-toggle{padding:7px 9px;font-size:10px}}

.nav-section{margin:3px 0}.nav-section summary{list-style:none;cursor:pointer}.nav-section summary::-webkit-details-marker{display:none}.nav-parent{justify-content:flex-start}.nav-parent b{margin-right:auto;font-size:12px;font-weight:400;color:#94a3b8;transition:transform .2s}.nav-section[open]>.nav-parent b{transform:rotate(180deg)}.nav-sub{border-right:1px solid #dbe4f5;margin:0 12px 5px 8px;padding-right:5px}.nav-sub .nav-link{font-size:11px;padding:8px 12px;margin:1px 0}.dark-mode .nav-sub{border-color:#3a4b67}.dark-mode .nav-parent{color:#a9b7ca}.nav-section summary.nav-link:hover{background:#eef2ff;color:#3157d5}

/* ألوان الحضور والمدفوعات في جداول الغياب */
.status-cell.status-present{background:#dcfce7!important;color:#166534}.status-cell.status-late{background:#fef3c7!important;color:#92400e}.status-cell.status-absent{background:#fee2e2!important;color:#991b1b}.status-cell.status-excused{background:#dbeafe!important;color:#1e40af}.status-cell select{background:transparent;border-color:transparent;color:inherit;font-weight:700}.payment-paid{background:#dcfce7!important;color:#166534;font-weight:700}.payment-unpaid{background:#fee2e2!important;color:#991b1b;font-weight:700}.dark-mode .status-cell.status-present,.dark-mode .payment-paid{background:#14532d!important;color:#bbf7d0}.dark-mode .status-cell.status-late{background:#713f12!important;color:#fde68a}.dark-mode .status-cell.status-absent,.dark-mode .payment-unpaid{background:#7f1d1d!important;color:#fecaca}.dark-mode .status-cell.status-excused{background:#1e3a8a!important;color:#bfdbfe}
.login-identity{display:inline-block;margin-top:10px;padding:7px 13px;border:1px solid #dbe5ff;border-radius:999px;background:#f5f7ff;color:#3157d5;font-size:11px;font-weight:800;letter-spacing:.1px;max-width:100%;overflow-wrap:anywhere}.dark-mode .login-identity{background:#202c42;border-color:#3a4b67;color:#a9bfff}

.status-badge,.payment-badge{display:inline-block;padding:4px 9px;border-radius:8px;font-size:10px;font-weight:700;white-space:nowrap}.status-badge.status-present,.payment-badge.payment-paid{background:#dcfce7;color:#166534}.status-badge.status-late{background:#fef3c7;color:#92400e}.status-badge.status-absent,.payment-badge.payment-unpaid{background:#fee2e2;color:#991b1b}.status-badge.status-excused{background:#dbeafe;color:#1e40af}.dark-mode .status-badge.status-present,.dark-mode .payment-badge.payment-paid{background:#14532d;color:#bbf7d0}.dark-mode .status-badge.status-late{background:#713f12;color:#fde68a}.dark-mode .status-badge.status-absent,.dark-mode .payment-badge.payment-unpaid{background:#7f1d1d;color:#fecaca}.dark-mode .status-badge.status-excused{background:#1e3a8a;color:#bfdbfe}

.session-log-table th,.session-log-table td,.session-date-cell,.session-time-cell{text-align:right;vertical-align:middle;font-size:12px;white-space:nowrap}.session-date-cell,.session-time-cell{font-weight:600;color:#334155}.dark-mode .session-date-cell,.dark-mode .session-time-cell{color:#e2e8f0}.group-students-table th,.group-students-table td{white-space:nowrap;text-align:center}.group-students-table th:first-child,.group-students-table td:first-child{text-align:right}

.attendance-date-alert{min-height:42px;display:flex;align-items:center;margin-bottom:0!important;text-align:right;white-space:nowrap}.attendance-date-alert b{margin:0 3px}

/* تحسينات التجاوب والقائمة الجانبية للموبايل والتابلت */
.mobile-brand{display:none;align-items:center;gap:8px}.mobile-brand strong{font-size:15px}.sidebar-toggle{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid #dbe3f0;background:#fff;color:#3157d5;border-radius:10px;font-size:20px;cursor:pointer}.sidebar-overlay{display:none}.topbar-title{min-width:0}.auth-title{font-size:17px;font-weight:800;margin:0 0 18px}.points-layout{grid-template-columns:290px minmax(0,1fr)}.points-history-panel{min-width:0}.points-search-form .btn{font-size:11px}.points-table{min-width:620px}
@media(max-width:1000px){.main{padding-left:20px;padding-right:20px}.topbar{margin-left:-20px;margin-right:-20px;padding-left:20px;padding-right:20px}.content-grid{grid-template-columns:minmax(0,1fr)}.points-layout{grid-template-columns:260px minmax(0,1fr)}}
@media(max-width:700px){
    .app-shell{display:block}.topbar{margin-left:-15px;margin-right:-15px;padding-left:15px;padding-right:15px}.sidebar{position:fixed;right:0;top:0;bottom:0;width:min(310px,86vw);height:100vh;transform:translateX(105%);transition:transform .25s ease;z-index:1050;box-shadow:-12px 0 35px #0f172a26}.sidebar.is-open{transform:translateX(0)}
    .sidebar-overlay{position:fixed;inset:0;background:#0f172a80;z-index:1040;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease}.sidebar-overlay.is-visible{display:block;opacity:1;visibility:visible}
    body.sidebar-open{overflow:hidden}.main{margin:0;width:100%;padding:0 15px 28px}.topbar{height:65px;min-height:65px;gap:10px}.mobile-brand{display:flex;flex:1;white-space:nowrap}.mobile-brand .brand-mark{width:34px;height:34px;border-radius:10px;font-size:18px}.topbar-title{display:none}.top-actions{gap:5px}.theme-toggle{padding:7px 8px;font-size:9px}.content-grid,.points-layout{grid-template-columns:1fr}.panel{padding:16px;border-radius:15px}.panel-head{align-items:flex-start;gap:8px}.welcome{padding:22px 20px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.table{font-size:11px}.page-card{padding:18px}.login-card{padding:27px 20px}.login-brand h1{font-size:21px}.login-page{padding:18px 0}.profile-head{padding:18px}.points-table{min-width:590px}.points-search-form .col-md-2{width:100%}.points-search-form .btn{min-height:42px}
}
@media(min-width:701px){.sidebar-toggle{display:none}}

/* إصلاح قائمة الموبايل وتنسيق زر فتح السيدبار */
.sidebar-toggle{font-family:Cairo,sans-serif;font-weight:800;line-height:1;box-shadow:0 4px 12px #3157d51c;transition:background .2s,color .2s,transform .2s}.sidebar-toggle:hover,.sidebar-toggle:focus{background:#eef2ff;color:#2446ba;outline:0}.sidebar-toggle:active{transform:scale(.95)}
.nav-sub .nav-link.active{background:#eef2ff;color:#3157d5;font-weight:700}
@media(max-width:700px){.sidebar nav{display:block}.sidebar .logout{display:block}.sidebar .brand{padding-top:4px}.sidebar-toggle{flex:0 0 auto}.mobile-brand strong{color:#1e293b}.dark-mode .mobile-brand strong{color:#e2e8f0}.dark-mode .sidebar-toggle{background:#202c42;border-color:#3a4b67;color:#dbeafe}.points-add-card{padding:18px}.points-add-card .panel-head{align-items:center}.points-history-panel .panel-head .btn{white-space:nowrap}}

/* بحث الطلاب والوقت حسب المنطقة الزمنية */
.student-search{position:relative;margin-bottom:1rem}.student-search-native{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.student-search-input{padding-left:38px;background:#fff}.student-search-input:focus{border-color:#3157d5;box-shadow:0 0 0 .2rem #3157d522}.student-search:after{content:'⌕';position:absolute;left:13px;top:9px;color:#3157d5;font-size:18px;pointer-events:none}.student-search-list{display:none;position:absolute;right:0;left:0;top:calc(100% - 1rem);z-index:50;background:#fff;border:1px solid #dbe3f0;border-radius:0 0 12px 12px;box-shadow:0 12px 25px #0f172a1a;max-height:250px;overflow-y:auto}.student-search-list.is-open{display:block}.student-search-option{display:block;width:100%;border:0;background:#fff;text-align:right;padding:10px 13px;color:#334155;font-family:Cairo,sans-serif;font-size:12px;cursor:pointer}.student-search-option:hover,.student-search-option:focus{background:#eef2ff;color:#3157d5;outline:0}.student-search-empty{padding:12px;color:#94a3b8;font-size:11px;text-align:center}.date-chip{display:flex;align-items:center;gap:9px;white-space:nowrap}.topbar-time{color:#3157d5;font-size:12px}.timezone-label{color:#94a3b8;font-size:9px;direction:ltr}.dark-mode .student-search-input,.dark-mode .student-search-list,.dark-mode .student-search-option{background:#202c42;color:#e2e8f0;border-color:#3a4b67}.dark-mode .student-search-option:hover,.dark-mode .student-search-option:focus{background:#263b75;color:#dbeafe}.dark-mode .topbar-time{color:#8fa9ff}
@media(max-width:700px){.date-chip{gap:5px;padding:8px 9px;font-size:9px}.topbar-time{font-size:10px}.timezone-label{display:none}.student-search-list{top:calc(100% - 1rem)}}

/* تثبيت شعار القائمة الجانبية على الشاشات الصغيرة */
@media(max-width:700px){.sidebar .brand{display:flex!important;visibility:visible!important;opacity:1!important;min-height:67px;flex:0 0 auto;align-items:center}.sidebar .brand-mark{display:inline-flex!important;visibility:visible!important;flex:0 0 42px}.sidebar .brand strong,.sidebar .brand small{display:block!important;visibility:visible!important;opacity:1!important}.sidebar nav{min-height:0;overflow-y:auto}}

/* ألوان أزرار البحث والمسح: متوافقة مع الوضع النهاري والليلي */


.shortcut-star-form{display:inline-flex;margin:0}.shortcut-star{border:0;background:transparent;color:#94a3b8;font-size:23px;line-height:1;padding:2px 5px;cursor:pointer;font-family:Cairo,sans-serif}.shortcut-star:hover,.shortcut-star.is-favorite{color:#f2b01e;transform:scale(1.08)}.quick-links-scroll{max-height:270px;overflow-y:auto;padding-left:3px}.quick-links-scroll a{margin:6px 0}.dark-mode .shortcut-star{color:#64748b}.dark-mode .shortcut-star:hover,.dark-mode .shortcut-star.is-favorite{color:#fbbf24}

.workspace-brand{display:flex;align-items:center;gap:10px}.workspace-brand>div{display:flex;flex-direction:column;align-items:flex-start}.workspace-brand strong{font-size:10px;font-weight:800;line-height:1.25}.workspace-context{font-size:10px;line-height:1.3;margin-top:2px;color:#64748b;font-weight:600}.workspace-context b{font-weight:700}.mobile-brand-copy{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.mobile-brand-copy strong{font-size:12px;line-height:1.2}.mobile-workspace-context{display:none;font-size:9px;line-height:1.25;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.dark-mode .workspace-context,.dark-mode .mobile-workspace-context{color:#9fb0c7}@media(max-width:700px){.workspace-brand{display:none}.mobile-workspace-context{display:block}}

.login-logo{display:block;width:min(100%,330px);height:auto;max-height:115px;object-fit:contain;margin:0 auto 12px}.brand-logo{width:46px;height:46px;object-fit:contain;border-radius:12px}.mobile-brand-logo{width:34px;height:34px;object-fit:contain;border-radius:10px}.install-app-button{display:block;width:100%;margin-top:14px;font-size:11px}.install-help{font-size:10px!important;line-height:1.8;color:#94a3b8!important;margin-top:12px;text-align:center}.dark-mode .install-help{color:#9fb0c7!important}

/* بطاقة المستخدم في السيدبار: حجم أصغر ومسافة علوية أقل */
.sidebar{padding-top:12px}.user-mini{margin:8px 6px 12px;padding:8px 9px;gap:8px;border-radius:11px}.user-mini .avatar{width:29px;height:29px;border-radius:9px;font-size:12px}.user-mini b{font-size:11px}.user-mini small{font-size:9px;line-height:1.25}

.password-field{position:relative}.password-field .form-control{padding-left:70px}.password-toggle{position:absolute;left:8px;top:50%;transform:translateY(-58%);border:0;background:transparent;color:#3157d5;font-size:12px;cursor:pointer}.form-number{text-align:center;font-size:14px;font-weight:800;color:#3157d5;margin:0 0 7px;border-bottom:1px solid #cbd5e1;padding-bottom:4px}@media(max-width:600px){.top-actions{flex-wrap:wrap;justify-content:flex-end}.date-chip{display:flex;flex-direction:column;align-items:flex-end;gap:2px;line-height:1.25}.date-chip .topbar-time{display:block}.topbar{min-height:72px}input,select,textarea,.form-control,.form-select{font-size:16px!important}.password-toggle{font-size:13px}}
@media print{.paper-footer{page-break-inside:avoid}}

/* تعديلات الواجهة المطلوبة */
.nav-link{font-weight:600}.nav-sub .nav-link{font-weight:600}.topbar-date{color:#3157d5;font-size:12px}.dark-mode .topbar-date{color:#8fa9ff}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:5px}.theme-icon,.theme-label{line-height:1}
@media(max-width:700px){.theme-toggle{flex-direction:column;gap:2px;min-width:42px;padding:6px 7px}.theme-icon{font-size:15px}.theme-label{font-size:9px}}

.dark-mode .topbar{background:#0f172a}
