:root{--ink:#183b56;--muted:#6c8191;--teal:#0f766e;--teal-dark:#115e59;--line:#dce7ec;--bg:#f5f8fa;--white:#fff;--shadow:0 12px 32px rgba(25,67,85,.08)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Tahoma,sans-serif;font-size:15px}.app-shell{min-height:100vh;display:flex;flex-direction:column}.main-content{width:min(1120px,calc(100% - 40px));margin:0 auto;flex:1;padding:24px 0 42px}button,input,select{font:inherit}.hidden{display:none!important}.card{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}h1{margin:4px 0 5px;font-size:32px;letter-spacing:-.4px}h2{font-size:22px;margin:0}.muted{color:var(--muted);line-height:1.6;margin:0;font-size:14px}.eyebrow{color:var(--teal);font-weight:700;font-size:12px}.status-good{background:#e9f8f2;color:#147a58;border-radius:20px;padding:8px 12px;font-size:13px;white-space:nowrap}.status-good span{display:inline-block;width:7px;height:7px;background:#1eae72;border-radius:50%;margin-left:6px}.spinner{width:30px;height:30px;border:3px solid #dcebea;border-top-color:var(--teal);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.center-view{min-height:calc(100vh - 180px);display:grid;place-items:center}footer{padding:17px 5vw;color:#91a2ab;font-size:12px;display:flex;gap:9px;justify-content:center}.toast{position:fixed;bottom:26px;right:26px;background:#183b56;color:#fff;padding:12px 17px;border-radius:9px;font-size:13px;box-shadow:var(--shadow);z-index:10}.form-error{background:#fff2f2;color:#b42318;padding:10px 12px;border-radius:8px;margin:8px 0 14px;font-size:13px}.primary-btn,.ghost-btn,.small-btn{cursor:pointer}.primary-btn{border:0;border-radius:9px;background:var(--teal);color:#fff;padding:11px 18px;font-weight:700;min-height:42px}.primary-btn:hover{background:var(--teal-dark)}.ghost-btn{border:1px solid var(--line);background:#fff;color:var(--teal-dark);border-radius:9px;padding:8px 14px;min-height:40px}.small-btn{border:1px solid var(--line);background:#fff;border-radius:7px;padding:6px 10px;color:var(--teal);font-size:12px;min-height:36px}.small-btn.danger{color:#b42318}.row-actions{display:flex;gap:6px}.data-list{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.data-row{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:15px;align-items:center;padding:15px 18px;border-bottom:1px solid #edf2f4;font-size:14px;min-height:60px}.data-row:last-child{border-bottom:0}.data-row.header{background:#f7fafb;color:var(--muted);font-size:12px;font-weight:700}.data-row strong{display:block}.data-row small{display:block;color:var(--muted);margin-top:4px;font-size:12px}.empty{padding:35px;text-align:center;color:var(--muted);font-size:14px}.archived{opacity:.55}
@media(max-width:720px){.main-content{width:calc(100% - 28px);padding-top:18px}h1{font-size:27px}.data-row{grid-template-columns:1fr auto;font-size:14px}.data-row.header{display:none}.data-row>div:nth-child(3){display:none}.row-actions{flex-wrap:wrap}}

/* ===== جدول الطلاب: فصل الفرع عن الحالة ===== */
.data-row.student-row{grid-template-columns:2fr 1.2fr .7fr .9fr auto}
.branch-tag{display:inline-block;padding:4px 10px;border-radius:15px;font-size:11px;background:#eef3f7;color:#42627d}
@media(max-width:720px){
  .data-row.student-row{grid-template-columns:1fr auto}
  .data-row.student-row>div:nth-child(3),.data-row.student-row>div:nth-child(4){display:inline-block;width:auto}
}

/* ===== أعمدة جدول الطلاب مع عمود المواد ===== */
.data-row.student-row{grid-template-columns:1.7fr 1fr 1.7fr .6fr .8fr auto}
.subject-chips{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.subject-chip{display:inline-block;font-size:11px;background:#eaf4f3;color:var(--teal-dark);border-radius:12px;padding:3px 9px}
.owed-chip{display:inline-block;font-size:11px;background:#fdeceb;color:#96271d;border-radius:12px;padding:3px 9px;font-weight:700}
.enroll-student-chip{font-size:12px;background:#f4f8f9;border:1px solid #e2ebee;color:var(--ink);border-radius:14px;padding:5px 12px;cursor:pointer;font-family:inherit}
.enroll-student-chip:hover{border-color:var(--teal);background:#e7f5f3}
@media(max-width:900px){
  .data-row.student-row{grid-template-columns:1fr auto}
  .data-row.student-row>div:nth-child(3){grid-column:1/-1}
}

/* رقاقة المادة داخل صف الطالب: الاسم فوق والسعر تحته */
.enroll-student-chip{display:inline-flex;flex-direction:column;align-items:flex-start;gap:1px;line-height:1.35;text-align:start}
.enroll-student-chip small{color:var(--muted);font-size:10px}
.enroll-student-chip:hover small{color:var(--teal-dark)}
.setup-card,.user-card{width:min(680px,100%);padding:34px 38px}.user-card{width:min(510px,100%)}.setup-card form{margin-top:26px}label{display:block;font-size:14px;font-weight:700;margin-bottom:17px}input:not([type=checkbox]),.select-input{display:block;width:100%;margin-top:7px;border:1px solid #ccdce4;border-radius:9px;padding:11px 13px;outline:none;color:var(--ink);background:#fbfdfe;min-height:44px;font-size:15px}input:focus,.select-input:focus{border-color:var(--teal);box-shadow:0 0 0 3px #0f766e18}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.check-row{display:flex;flex-wrap:wrap;gap:9px;margin-top:8px}.check{font-weight:500!important;background:#f4f8f9;padding:9px 11px;border-radius:8px;border:1px solid var(--line);margin:0!important}.check input{accent-color:var(--teal);margin-left:5px}.days{gap:6px}.days .check{font-size:12px;padding:8px}.wide{width:100%;margin-top:6px}.staff-list{display:grid;gap:10px;margin-top:26px}.staff-choice{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);background:#fbfdfe;border-radius:10px;padding:13px 15px;cursor:pointer;color:var(--ink);text-align:right}.staff-choice:hover{border-color:var(--teal);background:#f0faf9}.staff-choice small{display:block;color:var(--muted);margin-top:3px}.arrow{color:var(--teal);font-size:20px}.modal{position:fixed;inset:0;background:#163b564c;display:grid;place-items:start center;padding:5vh 20px;z-index:5;overflow-y:auto}.modal-box{background:#fff;border-radius:16px;width:min(560px,100%);padding:28px;position:relative;box-shadow:0 20px 70px #173c5240;max-height:90vh;overflow-y:auto}.modal-close{position:absolute;left:18px;top:14px;border:0;background:transparent;font-size:25px;color:var(--muted);cursor:pointer}.modal-box h2{font-size:22px;margin-bottom:20px}.modal-form>.primary-btn:last-child{position:sticky;bottom:0;z-index:2;box-shadow:0 -5px 12px #ffffffcc}.money-wrap{position:relative}.money-wrap span{position:absolute;left:13px;top:13px;color:var(--muted);font-size:12px}.money-wrap input{padding-left:45px}.smart-search{position:relative}.search-results{position:absolute;top:76px;right:0;left:0;background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:0 12px 28px #183b5625;z-index:3;max-height:220px;overflow-y:auto}.search-result{width:100%;display:block;border:0;border-bottom:1px solid #edf2f4;background:#fff;text-align:right;padding:10px 13px;cursor:pointer;color:var(--ink)}.search-result:hover{background:#eef8f6}.search-result small{display:block;color:var(--muted);margin-top:3px}.selected-student{background:#eaf8f2;color:var(--teal-dark);padding:9px 12px;border-radius:8px;margin:8px 0 14px;font-size:13px}.allocation-list{display:grid;gap:9px;margin:6px 0 16px}.allocation{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#f7fafb;border:1px solid var(--line);border-radius:9px;padding:10px 12px}.allocation small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.allocation-input{width:120px!important;margin:0!important}.pay-total{background:#eaf8f2;color:var(--teal-dark);border-radius:9px;padding:12px 14px;margin:12px 0;font-size:13px}.pay-total strong{font-size:19px;margin-right:6px}@media(max-width:720px){.setup-card,.user-card{padding:25px 20px}.grid-2{grid-template-columns:1fr}.modal{padding:2vh 10px}.modal-box{max-height:96vh}.modal-form>.primary-btn:last-child{position:sticky}.allocation-input{width:105px!important}}

.field-hint{display:block;color:var(--muted);font-size:11px;margin:-6px 0 10px}
.danger-btn{background:#b42318;color:#fff;border:0;border-radius:9px;padding:11px 18px;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit}
.danger-btn:hover{background:#96271d}
.danger-btn[disabled],.primary-btn[disabled]{opacity:.45;cursor:not-allowed}
.confirm-body{max-height:58vh;overflow:auto;margin:6px 0 4px}
.confirm-lead{color:var(--muted);font-size:13px;margin:0 0 12px}
.confirm-section{margin-top:14px;border-top:1px solid #edf2f4;padding-top:12px}
.confirm-section h4{margin:0 0 8px;font-size:13px;color:var(--teal-dark)}
.confirm-line{display:flex;justify-content:space-between;gap:14px;font-size:13px;padding:5px 0;border-bottom:1px dashed #eef3f5}
.confirm-line:last-child{border-bottom:0}
.confirm-line span{color:var(--muted)}
.confirm-warning{margin-top:14px;background:#fff8e6;border:1px solid #f2dfae;border-radius:10px;padding:12px 14px;font-size:12px;color:#8a6100}
.confirm-warning strong{display:block;margin-bottom:6px;font-size:13px}
.confirm-warning ul{margin:0;padding-inline-start:18px;line-height:1.9}
.confirm-danger-note{margin-top:14px;background:#fdeceb;border:1px solid #f3c8c4;color:#96271d;border-radius:10px;padding:11px 14px;font-size:12px;font-weight:700}
.confirm-actions{display:flex;gap:9px;justify-content:flex-start;flex-wrap:wrap;margin-top:18px;border-top:1px solid #edf2f4;padding-top:15px}
@media(max-width:520px){.confirm-actions{flex-direction:column-reverse}.confirm-actions button{width:100%}}

/* ===== قائمة بحث مدموجة (تصفية لا استبدال) ===== */
/* قائمة الاقتراحات: تطفو فوق النموذج ولا تزيح محتواه */
.smart-search .search-results{position:absolute;top:100%;right:0;left:0;margin-top:2px;max-height:240px;overflow-y:auto;z-index:20}
.smart-search .search-results.hidden{display:none}
.search-result{font-weight:400;font-size:14px}
.search-result:last-child{border-bottom:0}
.search-result:hover,.search-result:focus{background:#eef8f6;outline:none}
.search-results .empty{padding:12px 13px;font-size:13px;color:var(--muted)}
.due-choice-list{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:12px}
.due-choice{border:1px solid #dce8ea;background:#f9fcfc;border-radius:10px;padding:10px 13px;min-width:160px;text-align:start;cursor:pointer;font-family:inherit}
.due-choice:hover{border-color:var(--teal)}
.due-choice.chosen{border-color:var(--teal);background:#e7f5f3;box-shadow:0 0 0 2px rgba(15,118,110,.15)}
.due-choice strong{display:block;font-size:13px;color:var(--teal-dark)}
.due-choice small{display:block;color:var(--muted);font-size:11px;margin-top:4px}

/* ===== ملف الطالب ===== */
.profile-tabs{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin:4px 0 14px;padding-bottom:0}
.profile-tab{border:0;background:none;color:var(--muted);font-family:inherit;font-size:13px;padding:9px 14px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}
.profile-tab:hover{color:var(--ink)}
.profile-tab.active{color:var(--teal-dark);font-weight:700;border-bottom-color:var(--teal)}
.profile-list{display:grid;gap:8px;margin-top:12px}
.profile-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;width:100%;text-align:start;background:#f8fbfb;border:1px solid #eaf1f2;border-radius:9px;padding:11px 13px;font-family:inherit;font-size:13px}
.profile-row.clickable{cursor:pointer}
.profile-row.clickable:hover{border-color:var(--teal);background:#f2f9f8}
.profile-row strong{display:block;font-size:13px}
.profile-row small{display:block;color:var(--muted);font-size:11px;margin-top:3px}
.small-btn.danger{color:#96271d;border-color:#f0cdc9}
.small-btn.danger:hover{background:#fdeceb}
.small-btn.primary{color:var(--teal-dark);border-color:#bfe0dc;font-weight:700}
.small-btn.primary:hover{background:#e7f5f3}
@media(max-width:520px){.profile-row{grid-template-columns:1fr}}

/* ===== تغيير سعر مادة (شهر السريان) ===== */
.price-change-box{grid-column:1/-1;background:#fffaf0;border:1px solid #f0e2c4;border-radius:9px;padding:11px 13px;margin-top:2px}
.price-change-box label{margin:0;font-size:13px}
.price-change-box .field-hint{margin-top:6px;color:#8a6d3b}
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.stat-card{padding:21px;display:flex;align-items:flex-start;gap:14px}.stat-icon{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;font-size:20px;font-weight:700}.teal{background:#e1f5f2;color:var(--teal)}.blue{background:#e9f0ff;color:#4776d0}.amber{background:#fff4da;color:#b07800}.stat-card small{color:var(--muted);display:block;font-size:13px}.stat-card strong{font-size:27px;display:block;margin:2px 0}.stat-card em{font-size:11px;color:#9badb7;font-style:normal}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-top:17px}.health-card,.next-card{padding:23px}.card-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:19px}.ok-badge,.closed-badge,.warning-badge{border-radius:20px;font-size:11px;padding:5px 10px}.ok-badge,.closed-badge{color:#167653;background:#e8f8f0}.warning-badge{color:#996900;background:#fff4dc}.health-list{display:grid;gap:13px}.health-list div{display:flex;justify-content:space-between;border-bottom:1px solid #edf2f4;padding-bottom:10px;font-size:13px}.health-list div:last-child{border-bottom:0}.health-list span{color:var(--muted)}.next-card p{color:var(--muted);line-height:1.9;font-size:14px;min-height:55px}.progress{height:8px;background:#edf3f3;border-radius:20px;overflow:hidden;margin:18px 0 7px}.progress span{display:block;height:100%;background:var(--teal);border-radius:20px}.next-card>small{color:var(--muted);font-size:12px}.panel-head{display:flex;align-items:center;justify-content:space-between;margin:25px 0 16px}.panel-head p{margin:5px 0 0;font-size:14px}.head-actions{display:flex;gap:8px;align-items:center}.head-actions input{width:150px;margin:0}.inline-notice{background:#eaf8f2;color:#146c50;border:1px solid #c6eadc;padding:11px 14px;border-radius:9px;font-size:12px;margin-bottom:14px}.tag{display:inline-block;padding:4px 8px;border-radius:15px;font-size:10px;background:#edf5f5;color:var(--teal)}.tag.active,.tag.paid{background:#e7f8ef;color:#13734f}.tag.open{background:#fff4dc;color:#9a6700}.tag.none{background:#f0f3f5;color:var(--muted)}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.summary-item{background:#f7fafb;border-radius:10px;padding:14px}.summary-item small{color:var(--muted);display:block;font-size:11px}.summary-item strong{display:block;font-size:20px;margin-top:4px}.closing-summary{padding:18px;margin-bottom:15px}.closing-summary h3{font-size:15px;margin:0 0 14px}.notice{margin-top:17px;padding:17px 20px;display:flex;gap:13px;align-items:flex-start;background:#f0faf8;border-color:#c9eee6}.notice-icon{width:28px;height:28px;background:var(--teal);color:#fff;border-radius:50%;display:grid;place-items:center;font-weight:700}.notice strong{font-size:14px}.notice p{margin:5px 0 0;color:var(--muted);font-size:12px}.dues-group-list{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.dues-student-row{display:grid;grid-template-columns:1.2fr 2.8fr 1fr;gap:18px;padding:17px 19px;border-bottom:1px solid #e7eef1;align-items:start}.dues-student-row:last-child{border-bottom:0}.dues-student-name strong{font-size:15px;display:block}.dues-student-name small{color:var(--muted);font-size:12px;display:block;margin-top:5px}.subject-cards{display:flex;flex-wrap:wrap;gap:9px}.subject-due-card,.enroll-subject-card{border:1px solid #dce8ea;background:#f9fcfc;border-radius:10px;padding:10px 12px;min-width:175px}.subject-due-card .subject-title{font-weight:700;font-size:13px;color:var(--teal-dark);margin-bottom:7px}.subject-due-card .money-line{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:11px;line-height:1.7}.subject-due-card .money-line b{color:var(--ink)}.due-total strong{font-size:17px;display:block;color:var(--teal-dark)}.due-total small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.due-total .remaining,.danger-text{color:#b42318}.enroll-subject-card{min-width:150px}.enroll-subject-card strong{display:block;color:var(--teal-dark);font-size:13px}.enroll-subject-card small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.enroll-dates{font-size:12px;color:var(--muted)}.enroll-dates div{margin-bottom:5px}.enroll-status{white-space:nowrap}.dues-student-row.list-header{background:linear-gradient(180deg,#f2f9f8,#eaf4f3);border-bottom:2px solid #cfe6e2;padding:13px 19px;font-size:12px;font-weight:700;color:var(--teal-dark);letter-spacing:.2px;align-items:center;position:sticky;top:0;z-index:2}.dues-student-row.list-header>div{white-space:nowrap}#enrollments-table .dues-student-row{grid-template-columns:1.2fr 2.4fr 1fr .8fr}
@media(max-width:820px){.dues-student-row,#enrollments-table .dues-student-row{grid-template-columns:1fr}.dues-student-row.list-header{display:none}.due-total{border-top:1px solid #edf2f4;padding-top:10px}.subject-due-card{flex:1;min-width:145px}}@media(max-width:720px){.stats-grid,.dashboard-grid{grid-template-columns:1fr}.summary-grid{grid-template-columns:1fr 1fr}.panel-head{align-items:flex-start;gap:10px}.head-actions{flex-direction:column;align-items:stretch}.head-actions input{width:100%}}

/* ===== الدفعات والتسويات العكسية ===== */
.data-row.payment-row{grid-template-columns:1.6fr .9fr 1.1fr 1fr .9fr auto}
.reversal-row{background:#fffaf9;border-inline-start:3px solid #d98b84}
.closed-hint{display:block;font-size:10px;color:#8a6100;background:#fff4dc;border-radius:10px;padding:2px 7px;margin-top:4px;width:fit-content}
.reversal-input{width:110px}
@media(max-width:820px){.data-row.payment-row{grid-template-columns:1fr auto}}

/* ===== بطاقة "يحتاج انتباهك" ===== */
.attention-card{padding:23px;display:flex;flex-direction:column}
.attention-badge{border-radius:20px;font-size:12px;font-weight:700;padding:5px 12px;min-width:28px;text-align:center}
.attention-badge.ok{color:#167653;background:#e8f8f0}
.attention-badge.warn{color:#8a6100;background:#fff4dc}
.attention-badge.danger{color:#96271d;background:#fdeceb}
.attention-list{display:grid;gap:8px;align-content:start}
.attention-item{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;text-align:start;border:1px solid var(--line);border-inline-start-width:3px;background:#fff;border-radius:9px;padding:10px 13px;cursor:pointer;font-family:inherit;font-size:13px}
.attention-item:hover{background:#f7fbfb}
.attention-item.warn{border-inline-start-color:#e0b040}
.attention-item.danger{border-inline-start-color:#c9524a}
.attention-label{color:var(--ink);font-weight:700}
.attention-value{color:var(--muted);font-size:12px;text-align:end}
.attention-clear{color:#167653;font-size:13px;background:#e8f8f0;border-radius:9px;padding:14px;margin:0;text-align:center}

/* ===== الاستحقاقات: ملخص وفلاتر وبطاقات مبسّطة ===== */
.dues-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:13px}
.dues-filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:13px}
.filter-btn{border:1px solid var(--line);background:#fff;color:var(--muted);border-radius:20px;padding:7px 16px;font-size:13px;cursor:pointer;font-family:inherit}
.filter-btn:hover{border-color:var(--teal)}
.filter-btn.active{background:var(--teal);border-color:var(--teal);color:#fff;font-weight:700}
.ok-text{color:#13734f}
.subject-due-card{display:flex;flex-direction:column;gap:4px;text-align:start;cursor:pointer;font-family:inherit;transition:border-color .15s}
.subject-due-card:hover{border-color:var(--teal)}
.subject-due-card .subject-title{font-weight:700;font-size:13px;color:var(--teal-dark);margin:0}
.subject-due-card.settled{opacity:.62;min-width:130px;background:#f4f8f7}
.settled-mark{font-size:12px;color:#13734f;font-weight:700}
.due-amount{font-size:17px;font-weight:700}
.due-sub{font-size:11px;color:var(--muted)}
.due-chip{font-size:10px;background:#fff4dc;color:#8a6100;border-radius:12px;padding:2px 8px;width:fit-content}
@media(max-width:820px){.dues-summary{grid-template-columns:1fr 1fr}}

/* عدد الطلاب أسفل اسم المادة */
.subject-count{color:var(--teal-dark)!important;font-weight:700;margin-top:3px}
/* عمود الحالة في التسجيلات */
#enrollments-table .enroll-status .tag{display:inline-block}
#enrollments-table .enroll-status small{display:block;font-size:10px;margin-top:5px}
.session-held{color:#147653;background:#e8f8f0}.session-cancelled{color:#9a6700;background:#fff4dc}.attendance-toolbar{padding:15px 18px;background:#f7fafb;border-bottom:1px solid var(--line);display:flex;gap:10px;align-items:center}.attendance-toolbar select{max-width:420px;margin:0}.student-attendance{display:grid;grid-template-columns:2fr 1fr auto;align-items:center;gap:12px;padding:13px 18px;border-bottom:1px solid #edf2f4}.attendance-buttons{display:flex;gap:6px}.att-btn{border:1px solid var(--line);background:#fff;padding:7px 12px;border-radius:7px;cursor:pointer;font-size:11px}.att-btn.present.selected{background:#e5f8ef;border-color:#84d5b2;color:#126b4d}.att-btn.absent.selected{background:#fff0ef;border-color:#e7aaa5;color:#a12e28}.alert-box{background:#fff7e5;border:1px solid #f2d69a;color:#8b6200;border-radius:10px;padding:12px 15px;margin-bottom:14px;font-size:12px}.alert-box strong{display:block;margin-bottom:5px}.student-attendance small{color:var(--muted)}@media(max-width:720px){.student-attendance{grid-template-columns:1fr auto}.student-attendance small{display:block}.attendance-toolbar{display:block}.attendance-toolbar select{max-width:none;margin-bottom:9px}}

/* ===== عدّاد الحضور الحي ===== */
.attendance-counter{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 4px;position:sticky;top:0;z-index:2;background:#fff;padding:8px 0}
.count-chip{font-size:12px;padding:6px 12px;border-radius:20px;background:#f0f4f5;color:var(--muted);white-space:nowrap}
.count-chip b{font-size:14px;margin-inline-start:4px}
.count-chip.present{background:#e7f8ef;color:#13734f}
.count-chip.absent{background:#fdeceb;color:#96271d}
.count-chip.pending{background:#f0f4f5;color:var(--muted)}
.count-chip.pending.warn{background:#fff4dc;color:#8a6100;font-weight:700}
.count-chip.total{background:#eaf2f8;color:#3b62ad}

/* ===== عمود الحضور في جدول الحصص ===== */
.data-row.session-row{grid-template-columns:1.4fr 1fr .8fr 1.2fr .9fr}
.session-counters{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.session-counters small{display:block;width:100%;color:var(--muted);font-size:11px;margin-top:2px}
.session-counters .count-chip{font-size:12px;padding:4px 10px}
.tag.paid{background:#e7f8ef;color:#13734f}
@media(max-width:720px){.data-row.session-row{grid-template-columns:1fr auto}}
.topbar{height:62px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,5vw,72px)}.brand{display:flex;align-items:center;gap:10px}.brand-mark{width:36px;height:36px;border-radius:10px;background:var(--teal);color:#fff;display:grid;place-items:center;font-weight:800;font-size:19px;box-shadow:0 5px 12px #0f766e33}.brand strong{display:block;font-size:18px}.brand small{display:block;color:var(--muted);font-size:12px;margin-top:2px}.top-actions{display:flex;align-items:center;gap:15px}.date-pill{color:var(--muted);font-size:13px}.module-nav{display:flex;gap:8px;background:#fff;border:1px solid var(--line);padding:6px;border-radius:12px;margin-bottom:8px}.grouped-nav .module-btn{flex:1;font-size:15px;font-weight:600;min-height:40px;border:0;background:transparent;color:var(--muted);padding:10px 19px;border-radius:8px;cursor:pointer;white-space:nowrap}.grouped-nav .module-btn.active,.grouped-nav .module-btn:hover{background:#e8f6f3;color:var(--teal)}.subnav{display:flex;gap:7px;flex-wrap:wrap;background:#eef5f6;border:1px solid var(--line);padding:7px;border-radius:10px;margin-bottom:18px}.subnav button{border:0;background:transparent;color:var(--muted);padding:8px 14px;border-radius:7px;cursor:pointer;font-size:13px;min-height:38px}.subnav button.active,.subnav button:hover{background:#fff;color:var(--teal);box-shadow:0 2px 5px #183b5612;font-weight:700}.welcome{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:20px}.welcome .muted{font-size:15px}.phase-number{color:var(--teal);font-weight:800;font-size:23px}.welcome h1{margin:3px 0 5px}@media(max-width:720px){.topbar{height:60px;padding:0 14px}.brand strong{font-size:16px}.brand small,.date-pill{display:none}.top-actions{gap:4px}.grouped-nav{overflow:auto}.grouped-nav .module-btn{font-size:13px;padding:10px 7px}.subnav{overflow:auto;flex-wrap:nowrap}.subnav button{white-space:nowrap}.welcome{display:block}.welcome .status-good{display:inline-block;margin-top:10px}}
.backup-health{padding:20px}.health-big{display:flex;align-items:center;gap:14px;margin-bottom:18px}.health-dot{width:14px;height:14px;border-radius:50%;background:#20a56b;box-shadow:0 0 0 6px #20a56b1c}.health-big strong{display:block;font-size:16px}.health-big small{color:var(--muted)}.backup-actions-note{background:#fff7e5;color:#856000;border-radius:9px;padding:11px;font-size:12px}.report-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.report-card{border:1px solid var(--line);background:#fff;border-radius:14px;padding:22px;text-align:right;cursor:pointer;box-shadow:var(--shadow);color:var(--ink)}.report-card:hover{border-color:var(--teal);transform:translateY(-2px)}.report-card strong{display:block;color:var(--teal);font-size:15px}.report-card small{display:block;color:var(--muted);margin-top:8px;font-size:11px}.audit-action{font-size:12px;color:var(--teal);font-weight:700}@media(max-width:720px){.report-cards{grid-template-columns:1fr}.backup-health{padding:15px}}

/* ===== سجل التدقيق ===== */
.audit-toolbar{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.audit-toolbar input{flex:1;min-width:200px;margin:0}
.audit-toolbar .select-input{width:auto;min-width:150px;margin:0}
.audit-count{font-size:12px;color:var(--muted);white-space:nowrap}
.audit-list{display:grid;gap:11px}
.audit-entry{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.audit-entry-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:10px}
.audit-badge{font-size:11px;font-weight:700;padding:4px 10px;border-radius:15px;white-space:nowrap}
.audit-badge.financial{background:#e7f8ef;color:#13734f}
.audit-badge.permissions{background:#fdeceb;color:#96271d}
.audit-badge.data{background:#e9f0ff;color:#3b62ad}
.audit-badge.system{background:#fff4dc;color:#8a6100}
.audit-target{font-size:14px;color:var(--ink)}
.audit-meta{font-size:11px;color:var(--muted);margin-inline-start:auto;white-space:nowrap}
.audit-changes{display:grid;gap:6px}
.audit-change-row{display:grid;grid-template-columns:minmax(110px,auto) 1fr auto 1fr;gap:10px;align-items:center;background:#f8fbfb;border:1px solid #eaf1f2;border-radius:8px;padding:8px 11px;font-size:12px}
.audit-change-row.single{display:block;color:var(--ink)}
.audit-change-row.single.muted{color:var(--muted)}
.audit-change-field{font-weight:700;color:var(--teal-dark)}
.audit-change-before{color:#96271d;text-decoration:line-through;opacity:.8;word-break:break-word}
.audit-change-arrow{color:var(--muted);font-weight:700}
.audit-change-after{color:#13734f;font-weight:700;word-break:break-word}
.audit-reason{margin-top:9px;font-size:12px;color:var(--muted);border-top:1px dashed #e7eef1;padding-top:8px}
@media(max-width:720px){
  .audit-change-row{grid-template-columns:1fr;gap:3px}
  .audit-change-arrow{display:none}
  .audit-meta{margin-inline-start:0;width:100%}
}


/* ===== أنواع التنبيهات (toast) ===== */
.toast.success{background:#147653}
.toast.error{background:#96271d}
.toast.warning{background:#8a6100}

/* ===== نموذج تسجيل الدخول ===== */
.login-form{display:grid;gap:4px;max-width:360px;margin:0 auto}
.login-field{margin-bottom:16px}
.login-field label{display:block;font-weight:700;margin-bottom:6px}
.login-field input{
  width:100%;
  padding:12px;
  border-radius:8px;
  border:1px solid var(--line);
  font-size:16px;
  box-sizing:border-box;
}
.login-field input:disabled{opacity:.6;cursor:not-allowed}
.login-hint{
  margin-top:20px;
  border-top:1px solid var(--line);
  padding-top:16px;
  text-align:center;
  color:var(--muted);
  font-size:13px;
}
.login-default-hint{font-size:12px}
.login-form .primary-btn{margin-top:8px}

/* ===== تحذير تبويب ثانٍ ===== */
.tab-warning-banner{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:12px 16px;
  background:#ffecb5;
  color:#664d03;
  border-bottom:2px solid #e0a800;
  font-size:14px;
  font-weight:600;
  position:relative;
  z-index:50;
}
.tab-warning-banner.hidden{display:none !important}
.tab-warning-btn{
  white-space:nowrap;
  border-color:#c9a227 !important;
  color:#664d03 !important;
  background:#fff;
}

.user-pill{color:var(--text);font-size:13px;font-weight:600;background:#e8f6f3;padding:6px 12px;border-radius:8px;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:720px){.user-pill{font-size:11px;max-width:140px;padding:4px 8px}}

