
:root{--navy:#0b3566;--navy2:#154979;--teal:#08a6ad;--orange:#ff8614;--bg:#f5f7fb;--card:#fff;--text:#10233f;--ink:var(--text);--muted:#69778a;--line:#e4e9f0;--danger:#b42318;--green:#0a8f63;--shadow:0 12px 35px rgba(11,53,102,.08)}
*{box-sizing:border-box}html{font-family:"Segoe UI",Tahoma,Arial,sans-serif;background:var(--bg);color:var(--text)}body{margin:0}button,input,select,textarea{font:inherit}[hidden]{display:none!important}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:22px;background:radial-gradient(circle at 85% 8%,rgba(8,166,173,.13),transparent 28%),radial-gradient(circle at 10% 90%,rgba(255,134,20,.11),transparent 26%),#f7f9fc}
.login-card{width:min(430px,100%);background:#fff;border:1px solid var(--line);border-radius:26px;padding:30px;box-shadow:var(--shadow)}
.brand,.side-brand{display:flex;align-items:center;gap:12px}.brand-logo{width:48px;height:48px;border-radius:15px;background:linear-gradient(135deg,var(--navy),var(--teal));color:#fff;display:grid;place-items:center;font-size:23px;font-weight:900}.brand small,.side-brand small{display:block;color:var(--muted);margin-top:3px}.login-card h1{margin:28px 0 7px}.login-card p{color:var(--muted);margin:0 0 22px}.login-card form{display:grid;gap:15px}.login-card label,.form-grid label{font-size:13px;font-weight:700}.login-card input,.form-grid input,.form-grid select,.form-grid textarea,.filters input,.filters select{width:100%;margin-top:7px;border:1px solid var(--line);border-radius:13px;padding:11px 12px;background:#fff;outline:none}.form-grid textarea{min-height:80px;resize:vertical}
.btn{border:0;border-radius:12px;padding:10px 14px;font-weight:800;cursor:pointer}.primary{background:var(--navy);color:#fff}.soft{background:#eef4fb;color:var(--navy)}.success{background:#e8f7f1;color:#087a55}.danger{background:#fff0ee;color:var(--danger)}.error-box{background:#fff0ee;color:var(--danger);padding:10px;border-radius:12px;font-size:13px}.toast{position:fixed;z-index:9999;left:20px;bottom:20px;background:#13233a;color:#fff;padding:12px 15px;border-radius:12px;box-shadow:var(--shadow);max-width:360px;border:0;margin:0}
.app{min-height:100vh;display:flex}.sidebar{width:250px;background:#0b315e;color:#fff;position:fixed;right:0;top:0;bottom:0;padding:20px 14px;display:flex;flex-direction:column;z-index:30}.side-brand{padding:3px 7px 22px}.side-brand small{color:#b8c7d8}.sidebar nav{display:grid;gap:5px}.sidebar nav button,.side-logout{border:0;background:transparent;color:#d8e2ee;text-align:right;padding:11px 12px;border-radius:11px;cursor:pointer;font-weight:700}.sidebar nav button:hover,.sidebar nav button.active{background:#164675;color:#fff}.side-logout{margin-top:auto;background:rgba(255,255,255,.07)}
.main{margin-right:250px;width:calc(100% - 250px);min-height:100vh}.topbar{height:76px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,3vw,40px);position:sticky;top:0;z-index:20}.topbar h2{margin:3px 0 0;font-size:21px}.eyebrow,.section-head small{color:var(--teal);font-weight:800}.top-actions{display:flex;gap:8px}.icon-btn{width:40px;height:40px;border:1px solid var(--line);background:#fff;border-radius:12px;cursor:pointer}.content{padding:24px clamp(16px,3vw,40px) 90px;max-width:1400px;margin:auto}.view{display:none}.view.active{display:block}.welcome{background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;border-radius:22px;padding:24px;display:flex;justify-content:space-between;gap:20px;align-items:center}.welcome h1{margin:5px 0}.welcome p{margin:0;color:#d6e2ed}.online{background:rgba(255,255,255,.12);padding:9px 12px;border-radius:999px;font-size:12px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:17px 0}.stats article{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 8px 22px rgba(11,53,102,.04)}.stats span{display:block;color:var(--muted);font-size:13px}.stats strong{display:block;margin-top:7px;font-size:28px;color:var(--navy)}
.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.quick-grid button{border:1px solid var(--line);background:#fff;border-radius:17px;padding:18px;text-align:right;cursor:pointer;box-shadow:0 7px 18px rgba(11,53,102,.035)}.quick-grid b,.quick-grid span{display:block}.quick-grid span{color:var(--muted);font-size:12px;margin-top:6px}.quick-grid.compact{grid-template-columns:repeat(3,1fr)}
.section-head{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:15px}.section-head h3{margin:4px 0 0;font-size:24px}.actions{display:flex;gap:8px;flex-wrap:wrap}.filters{display:grid;grid-template-columns:minmax(220px,1fr) 180px auto auto auto;gap:9px;align-items:end;margin-bottom:13px}.filters input,.filters select{margin-top:0}
.table-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;min-width:760px}th,td{text-align:right;padding:12px 13px;border-bottom:1px solid var(--line);font-size:13px}th{color:var(--muted);background:#fafbfd}td{color:#26374c}.empty{text-align:center!important;color:var(--muted);padding:28px!important}.row-actions{display:flex;gap:6px}.mini{border:0;border-radius:9px;padding:7px 9px;font-size:12px;cursor:pointer}.mini.edit{background:#eef4fb;color:var(--navy)}.mini.delete{background:#fff0ee;color:var(--danger)}
.subtabs{display:flex;gap:7px;margin-bottom:12px}.subtabs button{border:1px solid var(--line);background:#fff;padding:9px 12px;border-radius:11px;cursor:pointer}.subtabs button.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.course-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:16px}.course-card h4{margin:0 0 7px}.course-meta{color:var(--muted);font-size:12px;display:flex;gap:8px;flex-wrap:wrap;margin-bottom:13px}.course-card .row-actions{justify-content:flex-start}
.settings-list{display:grid;gap:10px}.setting-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:15px;display:grid;grid-template-columns:220px 1fr auto;gap:10px;align-items:center}.setting-card code{direction:ltr;text-align:left;color:var(--navy)}.setting-card input{border:1px solid var(--line);border-radius:11px;padding:10px}.report-box{background:#fff;border:1px solid var(--line);border-radius:18px;margin-top:15px;padding:18px;min-height:160px}.report-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.report-grid div{background:#f8fafc;border:1px solid var(--line);padding:14px;border-radius:14px}.report-grid b{display:block;font-size:22px;color:var(--navy)}
.modal{border:0;border-radius:20px;padding:0;width:min(760px,calc(100% - 24px));box-shadow:0 25px 80px rgba(0,0,0,.24)}.modal::backdrop{background:rgba(9,25,43,.45)}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--line)}.modal-head h3{margin:4px 0 0}.x{border:0;background:#eef2f7;width:36px;height:36px;border-radius:10px;font-size:20px;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:19px 20px}.form-grid .wide{grid-column:1/-1}.modal-actions{display:flex;justify-content:flex-start;gap:8px;padding:15px 20px;border-top:1px solid var(--line)}#simpleBody{padding:18px 20px}.simple-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.simple-fields label{font-size:13px;font-weight:700}.simple-fields input,.simple-fields select{width:100%;margin-top:6px;border:1px solid var(--line);border-radius:11px;padding:10px}
.bottom-nav{display:none}.mobile-only{display:none}.sheet{position:fixed;inset:0;background:rgba(9,25,43,.38);z-index:100;display:flex;align-items:flex-end}.sheet-card{width:100%;background:#fff;border-radius:22px 22px 0 0;padding:17px}.sheet-head{display:flex;justify-content:space-between;align-items:center}.sheet-head button{border:0;background:#eef2f7;border-radius:9px;width:34px;height:34px;font-size:19px}.sheet-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}.sheet-grid button{border:1px solid var(--line);background:#fff;padding:14px;border-radius:13px;text-align:right}
@media(max-width:1000px){.quick-grid,.cards-grid{grid-template-columns:repeat(2,1fr)}.filters{grid-template-columns:1fr 160px auto}.stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.sidebar{display:none}.main{margin-right:0;width:100%}.topbar{height:66px}.content{padding:16px 12px 88px}.bottom-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;right:0;left:0;bottom:0;background:#fff;border-top:1px solid var(--line);z-index:40;padding-bottom:max(4px,env(safe-area-inset-bottom))}.bottom-nav button{border:0;background:#fff;color:var(--muted);padding:8px 2px 6px;font-size:18px}.bottom-nav button span{display:block;font-size:10px;margin-top:3px}.bottom-nav button.active{color:var(--navy)}.mobile-only{display:block}.welcome{align-items:flex-start;flex-direction:column}.quick-grid,.cards-grid,.quick-grid.compact{grid-template-columns:1fr 1fr}.filters{grid-template-columns:1fr 1fr}.filters>input:first-child{grid-column:1/-1}.section-head{align-items:flex-start;flex-direction:column}.actions{width:100%}.actions .btn{flex:1}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.simple-fields{grid-template-columns:1fr}.setting-card{grid-template-columns:1fr}.report-grid{grid-template-columns:1fr 1fr}}

/* ===== V3 additions ===== */
.remember-row{display:flex!important;align-items:center;gap:8px;color:var(--muted);font-size:12px}.remember-row input{width:auto!important;margin:0!important}.section-note{margin:4px 0 0;color:var(--muted);font-size:12px}.wa-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;background:#e1f7ea;color:#08764f;border-radius:9px;padding:7px 9px;font-size:11px;font-weight:800}.message-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:15px;box-shadow:var(--shadow)}.message-card h4{margin:0 0 5px;color:var(--navy)}.message-card p{margin:0 0 9px;color:var(--muted);font-size:11px}.message-card textarea{width:100%;min-height:120px;border:1px solid var(--line);border-radius:12px;padding:10px;resize:vertical}.notification-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:14px}.notification-card b{display:block}.notification-card small{display:block;color:var(--muted);margin-top:5px}.permission-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:12px}.permission-check{display:flex;gap:7px;align-items:flex-start;border:1px solid var(--line);border-radius:10px;padding:9px;font-size:12px}.permission-check input{width:auto;margin:2px 0 0}.finance-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;padding:12px}.finance-summary>div{background:#f8fafc;border:1px solid var(--line);border-radius:13px;padding:12px}.finance-summary span,.finance-summary b{display:block}.finance-summary span{font-size:11px;color:var(--muted)}.finance-summary b{font-size:20px;color:var(--navy);margin-top:3px}.course-finance-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.course-finance-toolbar input{flex:1;min-width:220px}.status-pill{display:inline-flex;padding:5px 8px;border-radius:999px;background:#eef2f7;color:#475467;font-size:10px;font-weight:800}.status-pill.green{background:#dcfae6;color:#067647}.status-pill.red{background:#fee4e2;color:#b42318}.status-pill.gold{background:#fff3d7;color:#8a5a05}
@media(max-width:760px){.permission-grid{grid-template-columns:1fr}.finance-summary{grid-template-columns:1fr 1fr}.cards-grid{grid-template-columns:1fr}}
.small{font-size:10.5px;color:var(--muted);margin-top:3px}

/* V3.2 additions */
.section-note{color:var(--muted);font-size:12px;margin:4px 0 0}.benefit-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 12px}.benefit-tabs button{border:1px solid var(--line);background:#fff;border-radius:11px;padding:9px 12px;font-weight:800;color:var(--muted)}.benefit-tabs button.active{background:var(--navy);border-color:var(--navy);color:#fff}.benefit-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:14px}.benefit-card h4{margin:0 0 5px}.benefit-card p{color:var(--muted);font-size:12px;line-height:1.7;margin:5px 0}.benefit-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:12px}.benefit-meta{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.benefit-meta span{font-size:10px;background:#f2f5f8;border-radius:999px;padding:5px 8px}.dialog-pad{padding:18px 20px}.field-hint{color:var(--muted);font-size:10px;font-weight:500}.wide-modal{width:min(900px,calc(100% - 24px))}.course-form textarea{min-height:90px}.academic-number{font-weight:900;color:var(--navy);letter-spacing:.5px}.request-number{font-family:ui-monospace,Consolas,monospace;color:var(--muted);font-size:11px}.status-note{display:block;color:var(--muted);font-size:10px;margin-top:3px}.danger-outline{background:#fff;border:1px solid #f0b8b3;color:#a92a22}.policy-hero{margin:12px;padding:18px;border-radius:17px;background:linear-gradient(135deg,#0b3768,#124f85);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px}.policy-hero small{display:block;color:#d4e4f2;margin-bottom:5px}.policy-hero strong{font-size:26px}.policy-hero .btn{background:#fff;color:#0b3768}.table-card .section-toolbar{padding:12px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px}.source-pill{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;background:#eef7f2;color:#08754b;font-size:9px;font-weight:800}
@media(max-width:1000px){.benefit-card-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.benefit-card-grid{grid-template-columns:1fr}.policy-hero{align-items:flex-start;flex-direction:column}.wide-modal{width:calc(100% - 14px)}}


/* V3.3 — المبادرات */
.student-filters{grid-template-columns:minmax(240px,1fr) 220px 180px auto}
.bulk-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:9px 12px;margin-bottom:10px}
.bulk-bar>div:first-child{font-size:12px;color:var(--muted)}.bulk-bar b{color:var(--navy);font-size:16px}
.ghost-btn{background:#fff;border:1px solid var(--line);color:var(--muted)}
.initiative-pill{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;background:#edf7f7;color:#08777d;font-size:10px;font-weight:800;white-space:nowrap}
.initiative-badge{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:800}.initiative-badge.active{background:#e6f7ef;color:#08734f}.initiative-badge.archived{background:#f0f2f5;color:#677487}
.initiative-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:12px}.initiative-summary .mini-stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:13px}.initiative-summary .mini-stat span,.initiative-summary .mini-stat b{display:block}.initiative-summary .mini-stat span{font-size:11px;color:var(--muted)}.initiative-summary .mini-stat b{font-size:22px;color:var(--navy);margin-top:4px}
@media(max-width:1000px){.student-filters{grid-template-columns:1fr 1fr}.student-filters input:first-child{grid-column:1/-1}}
@media(max-width:760px){.bulk-bar{align-items:flex-start;flex-direction:column}.bulk-bar .actions{width:100%}.bulk-bar .actions .btn{flex:1}.initiative-summary{grid-template-columns:1fr 1fr 1fr}}


/* V3.4 FINAL — توحيد الإدخال اليدوي مع نموذج التسجيل العام */
.student-form-section{border:1px solid var(--line);border-radius:16px;padding:14px;margin-bottom:12px;background:#fff}
.student-form-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.student-form-title b{font-size:13px;color:var(--navy)}
.student-form-title span{font-size:10px;color:var(--muted)}
.name-four-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:7px}
.name-four-grid input{margin:0}
.wa-admin-field{display:grid;grid-template-columns:88px 1fr;gap:7px;margin-top:7px}
.wa-admin-field select,.wa-admin-field input{margin:0}
.wa-admin-field select{background:#e8f5e9;color:#2e7d32;font-weight:800}
.admin-only-section{background:#f8fafc}
.required-guardian{border-color:#f0c36a;background:#fffbf2}
.guardian-required-star{color:#b42318;font-weight:900}
.field-label{display:block;font-size:12px;font-weight:800;color:#334155}
@media(max-width:760px){
  .name-four-grid{grid-template-columns:1fr 1fr}
  .student-form-title{align-items:flex-start;flex-direction:column}
  .wa-admin-field{grid-template-columns:82px 1fr}
}

/* V5.1 SMS control center */
.sms-connection.offline{background:#fff3dc;color:#8a5a05}
.sms-webhook-state{margin-top:10px;padding:8px 10px;border-radius:10px;background:#eaf8f1;color:#08734f;font-size:10px;font-weight:900}.sms-webhook-state.failed{background:#fff0ee;color:#b42318}.sms-webhook-state.not_configured,.sms-webhook-state.configuring{background:#f1f4f7;color:#62758a}
.sms-report-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;padding:16px 20px}.sms-report-summary article{border:1px solid var(--line);border-radius:13px;padding:12px;background:#f8fafc}.sms-report-summary span,.sms-report-summary b{display:block}.sms-report-summary span{font-size:10px;color:var(--muted)}.sms-report-summary b{font-size:22px;margin-top:4px;color:var(--navy)}.sms-report-summary .sent{background:#eef6ff}.sms-report-summary .delivered{background:#eaf8f1}.sms-report-summary .delivered b,.sms-delivered-count{color:#08734f;font-weight:900}.sms-report-summary .failed{background:#fff0ee}.sms-report-summary .failed b,.sms-failed-count{color:#b42318;font-weight:900}.sms-sent-count{color:#155ca8;font-weight:900}.sms-report-table-wrap{max-height:56vh;padding:0 20px}.sms-report-table-wrap table{min-width:760px}.sms-status-chip.delivered{background:#e4f7ee;color:#08734f}.sms-status-chip.sent{background:#e8f1ff;color:#155ca8}.sms-status-chip.partial{background:#fff3dc;color:#8a5a05}.ltr-cell{direction:ltr;text-align:right;font-family:ui-monospace,Consolas,monospace}
@media(max-width:700px){.sms-report-summary{grid-template-columns:repeat(2,1fr);padding:12px}.sms-report-table-wrap{padding:0 12px;max-height:58vh}.sms-report-summary article:first-child{grid-column:1/-1}}
.sms-control-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr);gap:18px;align-items:start}.sms-compose-card,.sms-devices-card,.sms-history-card,.sms-templates-section{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:0 10px 30px rgba(15,46,78,.05)}.sms-card-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.sms-card-title small{color:var(--muted)}.sms-card-title h4{margin:3px 0 0;font-size:19px}.sms-count-badge{padding:8px 12px;border-radius:999px;background:#e9f2ff;color:#14549b;font-weight:900}.sms-recipient-tools,.sms-send-routing{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end;margin-bottom:14px}.sms-recipient-tools{grid-template-columns:1.3fr 1fr auto auto}.sms-compose-card label,.smsAccountDialog label{display:grid;gap:6px;font-weight:800;font-size:12px}.sms-compose-card select,.sms-compose-card input,.sms-compose-card textarea{width:100%;border:1px solid #cedbea;border-radius:12px;background:#fbfdff;padding:11px;font:inherit;color:var(--ink)}.sms-compose-card textarea{resize:vertical}.sms-recipient-textarea{min-height:120px}.sms-message-textarea{min-height:150px;font-size:16px;line-height:1.8}.sms-message-meter{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.sms-message-meter span{background:#f2f6fa;border:1px solid #e1e9f1;border-radius:10px;padding:8px 10px;font-size:11px}.sms-send-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.sms-account-list{display:grid;gap:10px}.sms-account-card{border:1px solid #dbe5ef;border-radius:15px;padding:14px;background:#fbfdff}.sms-account-top{display:flex;justify-content:space-between;gap:10px}.sms-account-card h5{margin:0 0 5px;font-size:15px}.sms-account-card small{color:var(--muted)}.sms-connection{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:900}.sms-connection.connected{background:#e4f7ee;color:#08734f}.sms-connection.disconnected,.sms-connection.no_devices{background:#ffeceb;color:#a72c24}.sms-connection.unchecked{background:#f1f4f7;color:#62758a}.sms-device-mini{display:flex;justify-content:space-between;gap:8px;margin-top:9px;padding-top:9px;border-top:1px dashed #d7e1eb;font-size:11px}.sms-account-actions{display:flex;gap:7px;margin-top:12px}.sms-history-card,.sms-templates-section{margin-top:18px}.sms-history-card table{min-width:720px}.sms-status-chip{display:inline-flex;padding:5px 8px;border-radius:999px;background:#eef3f8;font-size:10px;font-weight:900}.sms-status-chip.queued{background:#e8f1ff;color:#155ca8}.sms-status-chip.failed{background:#ffeceb;color:#a72c24}.sms-templates-section .section-head.compact{margin-bottom:12px}.sms-account-empty{padding:24px 10px;text-align:center;color:var(--muted)}
@media(max-width:900px){.sms-control-layout{grid-template-columns:1fr}.sms-devices-card{order:-1}.sms-recipient-tools{grid-template-columns:1fr 1fr}.sms-send-routing{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.sms-compose-card,.sms-devices-card,.sms-history-card,.sms-templates-section{padding:14px;border-radius:16px}.sms-recipient-tools,.sms-send-routing{grid-template-columns:1fr 1fr}.sms-recipient-tools .btn{width:100%}.sms-send-footer{align-items:stretch;flex-direction:column}.sms-send-footer .btn{width:100%;min-height:48px}.sms-message-meter{display:grid;grid-template-columns:1fr 1fr}.sms-message-meter span{text-align:center}}


/* V3.5.0 — بوابة ولي الأمر واستكمال الملف، إضافات محافظة على الهوية الحالية */
.completion-pending-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 11px;padding:10px 13px;border:1px solid #f0d59a;border-radius:13px;background:#fffaf0;color:#7b5314}.completion-pending-banner b{font-size:12px}.completion-pending-banner span{font-size:11px}.bulk-actions-wrap{flex-wrap:wrap}.student-name-with-signals{display:flex;align-items:center;gap:7px}.student-signals{display:inline-flex;align-items:center;gap:4px}.student-signal{width:20px;height:20px;border-radius:7px;display:inline-grid;place-items:center;font-size:10px;font-weight:900}.student-signal.enabled{background:#e8f5f0;color:#08754b}.student-signal.requested{background:#fff5dc;color:#916109}.student-signal.submitted{background:#ffe9e7;color:#a52b24}.parent-portal-summary{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:9px;align-items:stretch}.parent-portal-summary>div{border:1px solid var(--line);border-radius:13px;padding:10px 11px;background:#fafcfe}.parent-portal-summary span{display:block;font-size:10px;color:var(--muted)}.parent-portal-summary b{display:block;margin-top:5px;font-size:12px}.portal-value.ok{color:#08754b}.portal-value.wait{color:#a46d09}.portal-student-head,.completion-preview-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.portal-student-head small,.completion-preview-head small{display:block;color:var(--muted);margin-top:3px}.portal-badge{display:inline-flex;padding:6px 9px;border-radius:999px;background:#f0f3f7;color:#637186;font-size:10px;font-weight:900}.portal-badge.ok{background:#e6f7ef;color:#08734f}.portal-badge.wait{background:#fff2d7;color:#8b5d08}.portal-manager-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.portal-manager-card{border:1px solid var(--line);border-radius:15px;padding:14px;background:#fff}.portal-manager-card p{font-size:11px;line-height:1.8;color:var(--muted);margin:8px 0 12px}.portal-card-title{display:flex;justify-content:space-between;gap:10px}.portal-card-title span{font-size:10px;color:var(--muted)}.portal-actions{display:flex;gap:7px;flex-wrap:wrap}.portal-meta{display:flex;justify-content:space-between;gap:10px;font-size:11px;margin:10px 0}.portal-meta span{color:var(--muted)}.portal-readonly-note{margin:12px 0 0;padding:9px 11px;border-radius:11px;background:#f5f7fa;color:var(--muted);font-size:10px}.one-time-code-wrap{text-align:center}.one-time-code-wrap>p{color:var(--muted);font-size:12px;line-height:1.8}.one-time-code{font:900 38px/1 ui-monospace,Consolas,monospace;letter-spacing:9px;color:var(--navy);padding:18px;border:1px dashed #9eb1c5;border-radius:16px;background:#f8fbfe;margin:14px auto;max-width:360px}.one-time-login-data{display:grid;grid-template-columns:auto 1fr;gap:7px 12px;text-align:right;max-width:430px;margin:0 auto 14px}.one-time-login-data span{color:var(--muted);font-size:10px}.one-time-login-data b{font-size:11px}.secret-warning{display:block;color:#9a4a42;margin-top:10px}.wa-button{background:#e9f7ef;color:#08754b;border:1px solid #bfe7d1}.disabled-link{pointer-events:none;opacity:.45}.completion-media-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.completion-media-grid figure{margin:0}.completion-media-grid figcaption{font-size:11px;font-weight:800;margin-bottom:7px}.completion-image-box,.completion-signature-box{height:220px;border:1px solid var(--line);border-radius:14px;background:#f8fafc;display:grid;place-items:center;overflow:hidden}.completion-signature-box{height:150px}.completion-image-box img{width:100%;height:100%;object-fit:contain}.completion-signature-box img{max-width:95%;max-height:90%;object-fit:contain}.completion-details{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:12px}.completion-details>div{border:1px solid var(--line);border-radius:12px;padding:10px}.completion-details span{display:block;color:var(--muted);font-size:9px}.completion-details b{display:block;margin-top:4px;font-size:11px}.consent-box{margin-top:12px;border:1px solid #cfe2da;border-radius:12px;padding:11px;background:#f6fbf8}.consent-box p{font-size:11px;line-height:1.8;margin:5px 0 0}.danger-outline{background:#fff;border:1px solid #f0b8b3;color:#a92a22}
@media(max-width:760px){.completion-pending-banner{align-items:flex-start;flex-direction:column}.parent-portal-summary{grid-template-columns:1fr 1fr}.parent-portal-summary .btn{grid-column:1/-1}.portal-manager-grid,.completion-media-grid,.completion-details{grid-template-columns:1fr}.portal-actions .btn,.portal-actions .wa-button{flex:1}.one-time-code{font-size:31px;letter-spacing:6px}.bulk-actions-wrap{width:100%}}


/* V3.5.1 FINAL — دمج تحسينات 3.4.1–3.4.5 المستقرة */
.due-students-note{display:block;margin-top:4px;color:var(--muted);font-size:10px;font-weight:600}
.finance-maintenance{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 12px;padding:10px 12px;border:1px dashed #c7d2df;border-radius:12px;background:#f8fafc}
.finance-maintenance small{color:var(--muted);font-size:10px}
.due-bulk-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:#fff}
.due-bulk-bar>div:first-child{font-size:12px;color:var(--muted)}.due-bulk-bar b{font-size:17px;color:var(--navy)}
.danger-btn{background:#9f1d1d!important;color:#fff!important;border-color:#9f1d1d!important}.danger-btn:disabled{opacity:.45;cursor:not-allowed}
.finance-summary small{display:block;margin-top:3px;color:var(--muted);font-size:9px}
@media(max-width:760px){.finance-maintenance,.due-bulk-bar{align-items:stretch;flex-direction:column}.due-bulk-bar .actions{display:flex;width:100%}.due-bulk-bar .actions .btn{flex:1}}


/* V3.5.2 FINAL — بوابة ولي الأمر المركزية + رمز/جوال */
.parent-global-card{display:grid;grid-template-columns:1.3fr .9fr;gap:16px;align-items:center;background:linear-gradient(135deg,#f7fbff,#eef7ff);border:1px solid #d9e7f5;border-radius:18px;padding:17px;margin-bottom:12px}
.parent-global-card small{color:var(--blue);font-weight:800}.parent-global-card h4{margin:4px 0 6px;color:var(--navy);font-size:15px}.parent-global-card p{margin:0;color:var(--muted);font-size:11px;line-height:1.75}
.parent-global-controls{display:grid;grid-template-columns:1fr auto;gap:8px}.parent-global-controls select{grid-column:1/-1}
.portal-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:12px}.portal-stats-grid>div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px}.portal-stats-grid span{display:block;color:var(--muted);font-size:10px}.portal-stats-grid b{display:block;color:var(--navy);font-size:21px;margin-top:3px}
.parent-portal-filters{grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(140px,.7fr))}
.parent-bulk-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px 12px;margin-bottom:10px}.parent-bulk-bar>div:first-child{font-size:12px;color:var(--muted)}.parent-bulk-bar b{font-size:17px;color:var(--navy)}
.login-mode-chip{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:900}.login-mode-chip.phone{background:#e9f8f1;color:#087452}.login-mode-chip.code{background:#edf5ff;color:#0b4fb3}
.local-phone{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;direction:ltr;display:inline-block;font-weight:800;color:#173b5e}.bad-text{color:#a83232!important}
.portal-mode-field{display:block;font-size:11px;font-weight:800;color:#566a80;margin:10px 0}.portal-mode-field select{width:100%;margin-top:6px}
.portal-phone-hint{background:#f8fbfe;border:1px solid #e3ebf4;border-radius:11px;padding:9px 10px;color:#66798d;font-size:10px;line-height:1.6;margin-bottom:9px}
.portal-result-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.portal-result-summary>div{background:#f8fbfe;border:1px solid #e3ebf4;border-radius:12px;padding:10px;text-align:center}.portal-result-summary b{display:block;font-size:20px;color:var(--navy)}.portal-result-summary span{font-size:9px;color:var(--muted)}
.parent-code-results{margin-top:10px}.one-code{font-size:16px;letter-spacing:2px;color:#0b4fb3}
@media(max-width:900px){.parent-global-card{grid-template-columns:1fr}.parent-portal-filters{grid-template-columns:1fr 1fr}.parent-portal-filters input{grid-column:1/-1}.portal-stats-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.parent-bulk-bar{align-items:stretch;flex-direction:column}.parent-bulk-bar .actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.parent-global-controls{grid-template-columns:1fr}.parent-global-controls select{grid-column:auto}.portal-result-summary{grid-template-columns:1fr 1fr 1fr}}


/* V4 mobile-first preview */
.v4-school-context{margin:9px 8px 13px;padding:10px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.06);border-radius:13px;font-size:10px}.v4-school-context small,.v4-school-context span{display:block;color:#9eb2c7}.v4-school-context b{display:block;color:#fff;margin:3px 0}
.v4-chip{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eaf7f2;color:#087750;font-size:10px;font-weight:800}
.v4-center-hero{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px;background:linear-gradient(135deg,#eef5ff,#eefaf7);border:1px solid #dfe8ef;border-radius:18px;margin-bottom:14px}.v4-center-hero h2{margin:4px 0;color:#123d6d}.v4-center-hero p{font-size:12px;color:#718093;max-width:680px}
.v4-center-settings{display:none;background:#fff;border:1px solid #e3e8ef;border-radius:15px;padding:14px;margin-bottom:14px;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}.v4-center-settings.show{display:grid}.v4-center-settings label{font-size:11px;font-weight:800}.v4-center-settings input,.v4-center-settings select{width:100%;padding:9px;border:1px solid #dce3eb;border-radius:9px;margin-top:5px}
.v4-mobile-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}.v4-mobile-grid button{background:#fff;border:1px solid #e3e8ef;border-radius:15px;padding:15px;text-align:right;cursor:pointer;min-height:92px}.v4-mobile-grid b{display:block;color:#173e69;margin-bottom:5px}.v4-mobile-grid span{font-size:10px;color:#778596}
.v4-doc-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:12px}.v4-doc-summary span{background:#fff;border:1px solid #e4e9ef;border-radius:13px;padding:12px;color:#728092;font-size:11px}.v4-doc-summary b{display:block;color:#173e69;font-size:20px}
.v4-doc{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px;border-bottom:1px solid #edf1f5}.v4-doc:last-child{border-bottom:0}.v4-doc small{display:block;color:#7c8998;margin-top:3px}
.v4-form-toolbar{display:flex;gap:8px;margin-bottom:10px}.v4-field-list{display:grid;gap:8px}.v4-field-card{display:grid;grid-template-columns:28px 1fr auto auto auto;align-items:center;gap:10px;background:#fff;border:1px solid #e3e8ef;border-radius:13px;padding:11px}.v4-drag{color:#9aa7b5}.v4-field-main small{display:block;color:#8793a1;font-size:10px;margin-top:2px}.v4-mini-toggle{font-size:10px;white-space:nowrap}.v4-order{display:flex;gap:3px}.v4-order button{width:28px;height:28px;border:1px solid #dfe5ec;background:#fff;border-radius:7px}.v4-preview-box{display:none;margin-top:12px;background:#fbfcfe;border:1px dashed #b8c4d1;border-radius:14px;padding:14px}.v4-preview-box.show{display:block}.v4-preview-box label{display:block;font-size:10px;font-weight:800;margin-top:8px}.v4-preview-box input{width:100%;padding:9px;border:1px solid #dde4ec;border-radius:8px;margin-top:4px;background:#fff}
@media(max-width:1000px){.v4-mobile-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){
 .v4-school-context{display:none}.v4-center-hero{align-items:flex-start;flex-direction:column;padding:15px}.v4-center-settings.show{display:grid;grid-template-columns:1fr}.v4-mobile-grid{grid-template-columns:1fr 1fr;gap:8px}.v4-mobile-grid button{min-height:82px;padding:12px}
 .v4-doc-summary{grid-template-columns:repeat(3,1fr);gap:6px}.v4-doc-summary span{padding:9px;font-size:9px}.v4-doc-summary b{font-size:17px}
 .v4-field-card{grid-template-columns:22px 1fr auto auto;padding:10px;gap:6px}.v4-order{grid-column:2/5}.v4-order button{width:34px}.v4-form-toolbar{overflow:auto}
}

/* V5.0 — فحص جاهزية آمن دون إنشاء بيانات أو قراءة قوائم Firestore */
.system-readiness-card{margin-bottom:14px;padding:18px;background:linear-gradient(145deg,#f7fbff,#f2f8f6);border:1px solid #d7e5ee;border-radius:18px}.system-readiness-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.system-readiness-head small{color:#14745a;font-size:10px;font-weight:900}.system-readiness-head h4{margin:4px 0;color:#123d69;font-size:18px}.system-readiness-head p{margin:0;color:#6b7d8e;font-size:11px}.system-readiness-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.readiness-status{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:6px 11px;border-radius:999px;font-size:10px;font-weight:900;background:#edf1f5;color:#657486}.readiness-status.ok{background:#e5f7ef;color:#08734f}.readiness-status.bad{background:#fff0ee;color:#a12d27}.readiness-status.running{background:#eaf3ff;color:#165ca8}.readiness-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:15px}.readiness-item{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:9px;padding:11px;background:#fff;border:1px solid #e1e8ef;border-radius:13px}.readiness-item.ok{border-color:#cfe8dc}.readiness-item.bad{border-color:#f0cac6;background:#fffafa}.readiness-icon{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;font-weight:900;background:#e7f7ef;color:#08734f}.readiness-item.bad .readiness-icon{background:#fff0ee;color:#a12d27}.readiness-item b{display:block;color:#183e66;font-size:12px}.readiness-item small{display:block;margin-top:3px;color:#738293;font-size:9px;line-height:1.5}.readiness-item em{font-style:normal;color:#8793a0;font-size:9px;direction:ltr}.readiness-empty{grid-column:1/-1;padding:18px;text-align:center;border:1px dashed #cbd8e3;border-radius:13px;color:#708091;font-size:11px;background:rgba(255,255,255,.7)}.readiness-empty.error{color:#a12d27;border-color:#efc4c0}.readiness-meta{margin-top:10px;color:#728191;font-size:9px}.readiness-spinner{display:inline-block;width:13px;height:13px;margin-left:7px;border:2px solid #b9cee4;border-top-color:#1765ad;border-radius:50%;vertical-align:middle;animation:readiness-spin .8s linear infinite}@keyframes readiness-spin{to{transform:rotate(360deg)}}
@media(max-width:760px){.system-readiness-head{align-items:stretch;flex-direction:column}.system-readiness-actions{justify-content:space-between}.system-readiness-actions .btn{flex:1}.readiness-grid{grid-template-columns:1fr}.readiness-item{grid-template-columns:34px 1fr}.readiness-item em{grid-column:2}.system-readiness-card{padding:14px}}

/* V5.0 — معاينة استيراد المسددين من القبول والتسجيل */
.admission-payment-import-panel{margin:14px 0 18px;padding:18px;background:#fff;border:1px solid #dbe6f1;border-radius:18px;box-shadow:0 10px 28px rgba(21,53,86,.07)}
.admission-payment-import-panel[hidden]{display:none}.admission-import-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
.admission-import-head h3{margin:3px 0 4px;color:#143c6b}.admission-import-head p{margin:0;color:#64748b;font-size:12px}
.admission-import-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.admission-import-summary article{padding:13px;border-radius:14px;background:#f8fafc;border:1px solid #e4ebf2}
.admission-import-summary span{display:block;color:#64748b;font-size:11px;margin-bottom:5px}.admission-import-summary strong{font-size:23px;color:#143c6b}.admission-import-summary .ok{background:#ecfdf3;border-color:#b7ebcf}.admission-import-summary .new{background:#eff6ff;border-color:#bfdbfe}.admission-import-summary .warning{background:#fff8e7;border-color:#fde1a6}.admission-import-summary .bad{background:#fff1f1;border-color:#fecaca}
.admission-import-result{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:800;background:#eef2f7;color:#475569}.admission-import-result.matched{background:#e9f8ef;color:#18794e}.admission-import-result.new{background:#eaf3ff;color:#1759a8}.admission-import-result.incomplete{background:#fff5db;color:#9a6700}.admission-import-result.invalid,.admission-import-result.duplicate{background:#fff0f0;color:#b42318}
.admission-import-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}.admission-import-table-wrap{max-height:360px}
@media(max-width:720px){.admission-payment-import-panel{padding:13px}.admission-import-summary{grid-template-columns:1fr 1fr}.admission-import-actions{position:sticky;bottom:0;background:#fff;padding-top:10px}.admission-import-actions .btn{flex:1}.admission-import-table-wrap{max-height:48vh}}
