/* نظام إدارة المدارس التعليمية — V4.7 UI Quality Upgrade
   Visual/UX layer only. No data schema, Firebase, finance, permissions, Worker or Gemini changes. */
:root{
  --v47-surface:#ffffff;
  --v47-surface-soft:#f8fafc;
  --v47-line:#e5ebf2;
  --v47-text:#12263f;
  --v47-muted:#6f7f91;
  --v47-primary:#123f70;
  --v47-teal:#0b8f9d;
  --v47-radius-lg:20px;
  --v47-radius-md:14px;
  --v47-shadow:0 12px 32px rgba(16,43,74,.07);
}

/* V4.8 — Financial approval governance */
.finance-governance-banner{display:flex;align-items:center;gap:12px;margin:12px 0;padding:13px 16px;border:1px solid #bfd8ff;border-radius:14px;background:linear-gradient(135deg,#f4f8ff,#eef8ff);color:#12345b}
.finance-governance-banner b{white-space:nowrap;color:#0d4f9a}
.finance-governance-banner span{font-size:.9rem;line-height:1.7}
.finance-approval-badge{display:inline-grid;place-items:center;min-width:22px;height:22px;margin-inline-start:5px;padding:0 6px;border-radius:999px;background:#e9f1ff;color:#124b93;font-size:.76rem;font-weight:800}
.subtabs button.active .finance-approval-badge{background:#fff;color:#0b4a91}
.finance-approval-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border-bottom:1px solid #e5edf5}
.finance-approval-head>div{display:grid;gap:3px}.finance-approval-head small,.finance-approval-table td small{display:block;color:#6b7b8e;font-size:.78rem;margin-top:4px}
.finance-approval-status{display:inline-flex;align-items:center;min-height:28px;padding:4px 10px;border-radius:999px;font-weight:800;font-size:.78rem;white-space:nowrap}
.finance-approval-status.pending{background:#fff4d6;color:#885b00}.finance-approval-status.processing{background:#e9f2ff;color:#1256a3}.finance-approval-status.approved{background:#e6f8ef;color:#12663b}.finance-approval-status.rejected,.finance-approval-status.failed{background:#fff0ef;color:#a12a23}
@media(max-width:720px){
  .finance-governance-banner{align-items:flex-start;flex-direction:column;gap:4px;padding:12px 13px}
  .finance-approval-head{align-items:flex-start;flex-direction:column}.finance-approval-head .btn{width:100%}
  .finance-approval-table{min-width:860px}
}

/* ---------- Design system polish ---------- */
.content{max-width:1460px}.section-head,.v47-section-title{margin-bottom:16px}.section-head h3,.v47-section-title h3{letter-spacing:-.2px}
.table-card,.statistics-panel,.course-card,.setting-card,.report-box,.student-form-section,.portal-manager-card,.drive-integration-card{border-color:var(--v47-line)!important;box-shadow:0 6px 20px rgba(16,43,74,.035)}
.btn,.icon-btn,.mini,.sheet-grid button,.quick-grid button{transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease,background .14s ease}.btn:hover,.quick-grid button:hover{transform:translateY(-1px)}
input,select,textarea{transition:border-color .15s ease,box-shadow .15s ease}input:focus,select:focus,textarea:focus{border-color:#8bb7cc!important;box-shadow:0 0 0 3px rgba(11,143,157,.09)!important}

/* ---------- Sidebar groups ---------- */
.sidebar{width:264px;padding:18px 12px}.main{margin-right:264px;width:calc(100% - 264px)}
.sidebar nav{overflow:auto;padding-left:2px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.16) transparent}.sidebar nav::-webkit-scrollbar{width:5px}.sidebar nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.16);border-radius:10px}
.v47-nav-group{padding:14px 11px 6px;color:#90a9c2;font-size:9.5px;font-weight:900;letter-spacing:.35px}.v47-nav-group:first-child{padding-top:3px}.v47-nav-group span{display:flex;align-items:center;gap:8px}.v47-nav-group span:after{content:"";height:1px;background:rgba(255,255,255,.08);flex:1}
.sidebar nav button{min-height:39px;padding:9px 11px}.sidebar nav button.active{box-shadow:inset -3px 0 0 #57c5ca}
.v4-school-context{margin:4px 7px 10px!important;border-color:rgba(255,255,255,.12)!important}

/* ---------- Top bar + global search ---------- */
.v47-topbar{gap:18px}.v47-page-heading{min-width:180px}.v47-global-search{position:relative;flex:1;max-width:620px;height:42px;background:#f7f9fc;border:1px solid var(--v47-line);border-radius:13px;display:flex;align-items:center;padding:0 11px;gap:8px}.v47-global-search:focus-within{background:#fff;border-color:#9bbfd1;box-shadow:0 5px 18px rgba(16,43,74,.06)}
.v47-search-icon{font-size:19px;color:#6c7e91}.v47-global-search input{border:0;background:transparent;outline:0;width:100%;min-width:0;color:var(--v47-text);font-size:12.5px}.v47-global-search input::placeholder{color:#8b98a7}.v47-global-search kbd{font:700 9px/1 "Segoe UI",sans-serif;color:#7a8998;border:1px solid #dce4ec;background:#fff;border-radius:7px;padding:5px 6px;white-space:nowrap}
.v47-search-results{position:absolute;top:49px;right:0;left:0;background:#fff;border:1px solid var(--v47-line);border-radius:16px;box-shadow:0 20px 50px rgba(16,43,74,.16);padding:7px;z-index:1500;max-height:410px;overflow:auto}.v47-search-empty{padding:22px;text-align:center;color:var(--v47-muted);font-size:12px}.v47-search-result{display:flex;width:100%;border:0;background:#fff;padding:10px;border-radius:11px;align-items:center;text-align:right;gap:10px;cursor:pointer}.v47-search-result:hover,.v47-search-result.is-active{background:#f3f8fb}.v47-search-type{width:34px;height:34px;border-radius:10px;background:#edf5f8;color:#176373;display:grid;place-items:center;flex:0 0 auto;font-size:15px}.v47-search-result>span:nth-child(2){min-width:0;flex:1}.v47-search-result b,.v47-search-result small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v47-search-result b{font-size:12px;color:var(--v47-text)}.v47-search-result small{font-size:10px;color:var(--v47-muted);margin-top:3px}.v47-search-hint{padding:7px 10px 4px;color:#8a98a7;font-size:9.5px}

/* ---------- Daily work center ---------- */
.v47-welcome{padding:21px 23px;border-radius:20px;background:linear-gradient(135deg,#123f70,#1b5c81)}.v47-welcome h1{font-size:23px}.v47-welcome p{font-size:12.5px}.v47-work-center,.v47-quick-section{margin-top:18px}.v47-section-title{display:flex;align-items:end;justify-content:space-between;gap:12px}.v47-section-title small{color:var(--v47-teal);font-weight:900}.v47-section-title h3{margin:3px 0 0;font-size:19px}
.v47-work-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.v47-work-card{border:1px solid var(--v47-line);background:#fff;border-radius:17px;min-height:122px;padding:14px;text-align:right;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:start;cursor:pointer;box-shadow:0 5px 18px rgba(16,43,74,.035)}.v47-work-card:hover{border-color:#cbdce6;box-shadow:var(--v47-shadow)}.v47-work-icon{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:#eef5fa;color:#24557a;font-weight:900}.v47-work-card b{font-size:23px;color:var(--v47-primary);display:block;line-height:1}.v47-work-card strong{display:block;font-size:11.5px;margin-top:7px;color:#243b55}.v47-work-card small{display:block;font-size:9.5px;color:var(--v47-muted);line-height:1.55;margin-top:4px}.v47-arrow{align-self:center;color:#96a4b2;font-size:22px}.v47-work-card.urgent .v47-work-icon{background:#fff0ef;color:#9b3028}.v47-work-card.warning .v47-work-icon{background:#fff7e7;color:#9b6a15}.v47-work-card.attention .v47-work-icon{background:#fff4e8;color:#a45e14}.v47-work-card.info .v47-work-icon{background:#edf6ff;color:#2c6593}.v47-work-card.neutral .v47-work-icon{background:#edf8f5;color:#277262}
.v47-quick-grid{grid-template-columns:repeat(6,1fr)!important;gap:10px}.v47-quick-grid button{min-height:88px;padding:14px;border-radius:15px;box-shadow:none}.v47-quick-grid b{font-size:12px}.v47-quick-grid span{font-size:10px;line-height:1.5}

/* ---------- Unified status badges ---------- */
.academic-status-badge,.student-status-badge,.student-duplicate-badge,.sr-badge,.hr-chip,.portal-badge,.doc-mini-chip,.future-chip,.v4-chip{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:24px!important;padding:4px 8px!important;border-radius:999px!important;font-size:9.5px!important;font-weight:850!important;line-height:1.2!important;border:1px solid transparent!important;white-space:nowrap!important}.academic-status-badge.regular,.hr-chip.ok,.portal-badge.ok,.sr-badge.ok{background:#eaf7f1!important;color:#176b52!important;border-color:#cdeadd!important}.academic-status-badge.temp,.portal-badge.wait,.sr-badge.pending,.student-status-badge.portal-submitted{background:#fff7e8!important;color:#8b6118!important;border-color:#f3e1b8!important}.academic-status-badge.withdrawn,.sr-badge.bad{background:#fff0ef!important;color:#91332d!important;border-color:#f2d2cf!important}.student-duplicate-badge{background:#fff1e7!important;color:#9a5515!important;border-color:#f1d4b7!important}.hr-chip:not(.ok),.sr-badge:not(.ok):not(.bad):not(.pending){background:#f3f6f9!important;color:#617187!important;border-color:#e1e7ed!important}

/* ---------- Tables ---------- */
.table-card{border-radius:18px!important}.table-scroll{scrollbar-width:thin;scrollbar-color:#cbd5df transparent}.table-scroll thead th{font-size:10.5px;font-weight:850;letter-spacing:.1px}.table-scroll tbody tr:hover td{background:#fbfdff}.table-scroll td{vertical-align:middle}

/* ---------- Unified student / employee profile dialogs ---------- */
.v47-profile-identity{margin:0 18px 4px;padding:14px;border:1px solid var(--v47-line);border-radius:16px;background:linear-gradient(135deg,#fbfdff,#f5f9fc);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px}.v47-profile-avatar{width:50px;height:50px;border-radius:15px;background:linear-gradient(135deg,#123f70,#0b8f9d);color:#fff;display:grid;place-items:center;font-weight:900;font-size:16px;box-shadow:0 6px 18px rgba(18,63,112,.14)}.v47-profile-main{min-width:0}.v47-profile-main b{font-size:14px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v47-profile-main small{font-size:10px;color:var(--v47-muted);display:block;margin-top:4px}.v47-profile-state{justify-self:end}.student-form-section{border-radius:16px!important}.student-form-title{padding-bottom:9px!important}.dialog-head,.modal-head{background:#fff}.dialog-body,.dialog-pad{scrollbar-width:thin}

/* ---------- Mobile sheets / mobile-first ---------- */
.v47-sheet-group{grid-column:1/-1;color:#7b8a99;font-size:9px;font-weight:900;margin:5px 3px -2px;padding-top:4px;border-top:1px solid #edf1f5}.v47-sheet-group:first-child{border-top:0;margin-top:0}.v47-sheet-grid{max-height:65dvh;overflow:auto;padding-bottom:calc(6px + env(safe-area-inset-bottom))}

@media(max-width:1180px){.v47-work-grid{grid-template-columns:repeat(3,1fr)}.v47-quick-grid{grid-template-columns:repeat(3,1fr)!important}.v47-global-search{max-width:450px}}
@media(max-width:900px){.v47-global-search{max-width:330px}.v47-global-search kbd{display:none}.v47-work-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){
  .main{margin-right:0;width:100%}.v47-topbar{height:66px!important;padding:0 12px!important;gap:8px}.v47-page-heading{min-width:0;flex:1}.v47-page-heading .eyebrow{font-size:8.5px}.v47-page-heading h2{font-size:17px;margin-top:1px}.v47-global-search{position:fixed;inset:0;z-index:1700;max-width:none;height:auto;background:rgba(9,26,44,.38);border:0;border-radius:0;padding:calc(74px + env(safe-area-inset-top)) 12px 12px;display:none;align-items:flex-start}.v47-global-search.mobile-open{display:flex}.v47-global-search.mobile-open:before{content:"";position:absolute;top:calc(14px + env(safe-area-inset-top));right:14px;left:14px;height:48px;border-radius:15px;background:#fff;box-shadow:0 10px 30px rgba(16,43,74,.12);z-index:-1}.v47-global-search input{position:absolute;top:calc(14px + env(safe-area-inset-top));right:48px;left:50px;width:auto;height:48px;font-size:14px;padding:0}.v47-global-search .v47-search-icon{position:absolute;top:calc(28px + env(safe-area-inset-top));right:25px;z-index:1}.v47-global-search kbd{display:none}.v47-search-results{position:relative;top:0;right:0;left:0;width:100%;border-radius:18px;max-height:calc(100dvh - 105px - env(safe-area-inset-top));box-shadow:0 15px 45px rgba(16,43,74,.15)}
  .content{padding:13px 10px calc(105px + env(safe-area-inset-bottom))!important}.v47-welcome{padding:17px;border-radius:17px}.v47-welcome h1{font-size:20px}.v47-welcome p{font-size:11px}.v47-work-center,.v47-quick-section{margin-top:15px}.v47-section-title{align-items:center}.v47-section-title h3{font-size:17px}.v47-section-title .btn{font-size:10px;padding:8px 10px}.v47-work-grid{grid-template-columns:1fr;gap:8px}.v47-work-card{min-height:82px;grid-template-columns:auto 1fr auto;padding:11px 12px;align-items:center}.v47-work-icon{width:36px;height:36px}.v47-work-card b{font-size:20px}.v47-work-card strong{font-size:11px;margin-top:4px}.v47-work-card small{font-size:9px;margin-top:2px}.v47-quick-grid{grid-template-columns:1fr 1fr!important;gap:8px}.v47-quick-grid button{min-height:78px;padding:12px}.v47-quick-grid b{font-size:11px}.v47-quick-grid span{font-size:9px}
  .sheet-card{max-height:82dvh;overflow:hidden;padding-bottom:calc(14px + env(safe-area-inset-bottom))}.sheet-grid{overflow:auto;max-height:calc(82dvh - 70px)}
  dialog.modal,dialog.simple-dialog,dialog.dialog{width:100%!important;max-width:none!important;max-height:88dvh!important;margin:auto 0 0!important;border-radius:22px 22px 0 0!important}.modal-head,.dialog-head{position:sticky;top:0;z-index:4;background:#fff}.modal-actions,.dialog-actions{position:sticky;bottom:0;z-index:4;background:#fff;padding-bottom:calc(12px + env(safe-area-inset-bottom))!important}.dialog-pad,.dialog-body{max-height:calc(88dvh - 120px);overflow:auto}.v47-profile-identity{margin:0 11px 3px;padding:11px;border-radius:14px}.v47-profile-avatar{width:44px;height:44px;border-radius:13px}.v47-profile-state{font-size:9px}.student-form-section{margin-inline:10px!important}
  .bottom-nav{box-shadow:0 -8px 25px rgba(16,43,74,.06)}
}
@media(max-width:420px){.v47-quick-grid{grid-template-columns:1fr 1fr!important}.v47-quick-grid button{padding:10px}.v47-work-card small{max-width:250px}.v47-profile-identity{grid-template-columns:auto 1fr}.v47-profile-state{grid-column:2;justify-self:start}}
.v47-profile-tabs{margin:8px 18px 12px;display:flex;gap:7px;overflow:auto;padding-bottom:2px;scrollbar-width:none}.v47-profile-tabs::-webkit-scrollbar{display:none}.v47-profile-tabs button{border:1px solid var(--v47-line);background:#fff;color:#52687f;border-radius:10px;padding:7px 11px;font-size:10px;font-weight:800;white-space:nowrap;cursor:pointer}.v47-profile-tabs button:first-child{background:#eef5fa;color:#214f73;border-color:#d8e5ed}
.v47-mobile-context{display:none}
@media(max-width:760px){.v47-profile-tabs{margin:7px 11px 10px}.v47-profile-tabs button{padding:7px 10px}.v47-mobile-context{display:flex!important;align-items:center;gap:6px;padding:5px 12px;background:#f7fafc;border-bottom:1px solid #e8edf2;color:#6c7c8d;font-size:9px;white-space:nowrap;overflow:hidden}.v47-mobile-context b{color:#24435f;font-size:9px}.v47-mobile-context span{overflow:hidden;text-overflow:ellipsis}}

/* ===== V4.7.2 — Admissions + student file organization ===== */
.admissions-followup-panel{margin-top:18px;border-top:1px solid var(--v47-line);padding-top:18px}.admissions-followup-panel[hidden]{display:none!important}
.school-switch-clickable{cursor:pointer}.school-switch-clickable:focus{outline:2px solid rgba(11,143,157,.35);outline-offset:2px}.ux-school-chip.school-switch-clickable:after{content:'⌄';font-size:12px;color:#7890a5;margin-inline-start:3px}.v47-mobile-context.school-switch-clickable{cursor:pointer}.v47-mobile-context .school-switch-arrow{margin-inline-start:auto;color:#527089;font-size:12px;flex:0 0 auto}.segaza-school-empty{padding:20px;text-align:center;color:#6b7d90}

/* Only one global search experience: the V4.7 comprehensive search */
.ux-search-wrap,.ux-command{display:none!important}

/* Student file tabs */
.v47-profile-tabs button.is-active{background:#eaf4f8!important;color:#174e6f!important;border-color:#c9dfe9!important;box-shadow:inset 0 -2px 0 #0b8f9d}
#studentDialog .student-form-section[data-v472-group][hidden]{display:none!important}
.v472-student-virtual{margin:0 10px 14px!important}
.v472-file-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:10px}.v472-file-actions button{min-height:46px;border:1px solid var(--v47-line);background:#fff;border-radius:12px;color:#24445f;font-weight:800;cursor:pointer}.v472-file-actions button:hover{background:#f7fafc}
.v472-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.v472-summary-card{border:1px solid var(--v47-line);background:#fff;border-radius:14px;padding:12px}.v472-summary-card span,.v472-summary-card small{display:block;color:var(--v47-muted);font-size:10px}.v472-summary-card b{display:block;color:var(--v47-text);font-size:13px;margin-top:4px}.v472-summary-card .btn{margin-top:9px;width:100%}
.v472-audit-note{padding:14px;border:1px solid var(--v47-line);background:#f8fafc;border-radius:14px;color:#52677c;font-size:11px;line-height:1.7}
@media(max-width:760px){.v472-summary-grid{grid-template-columns:1fr 1fr}.v472-file-actions{grid-template-columns:1fr 1fr}.v47-profile-tabs{position:sticky;top:64px;z-index:3;background:#fff;padding-top:7px;padding-bottom:7px;border-bottom:1px solid #eef2f5}.v47-mobile-context.school-switch-clickable{min-height:32px;padding-block:7px}}

/* V4.7.3 — تصحيح نهائي موحّد للأعمدة الثابتة بجدول الطلبة على الجوال
   يحل مكان كل التعديلات المتراكمة السابقة (v3.0.9 حتى v4.2.2) لنفس الأعمدة.
   محمّل أخيرًا بترتيب الصفحة، فهو المصدر الوحيد الفعلي لهذه القواعد. */
@media(max-width:760px){
  #view-students table thead{position:sticky!important;top:0!important;z-index:50!important;background:#eef3f8!important}
  #view-students table thead th{background:#eef3f8!important}
  #view-students table thead th:nth-child(1),#view-students #studentsTable tr>td:nth-child(1){position:sticky!important;right:0!important;left:auto!important;width:42px!important;min-width:42px!important;max-width:42px!important;text-align:center!important;border-left:1px solid #e2e8f0!important}
  #view-students table thead th:nth-child(2),#view-students #studentsTable tr>td:nth-child(2){position:sticky!important;right:42px!important;left:auto!important;width:205px!important;min-width:205px!important;max-width:205px!important;border-left:1px solid #e2e8f0!important}
  #view-students table thead th:nth-child(1){z-index:52!important}
  #view-students table thead th:nth-child(2){z-index:51!important}
  #view-students #studentsTable tr>td:nth-child(1){z-index:12!important;background:#fff!important}
  #view-students #studentsTable tr>td:nth-child(2){z-index:11!important;background:#fff!important}
}
@media(max-width:420px){.v472-summary-grid,.v472-file-actions{grid-template-columns:1fr}}

/* V4.7.4 — Stable students layout and complete mobile navigation. */
@media(max-width:760px){
  #view-students{min-height:0!important;padding:0!important}
  #view-students .section-head{
    position:static!important;
    top:auto!important;
    z-index:auto!important;
    height:auto!important;
    min-height:42px!important;
    padding:3px 0!important;
    margin:0 0 6px!important;
    background:transparent!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    overflow:visible!important;
  }
  #view-students .table-card{margin:0!important}
  #view-students .table-scroll{
    min-height:0!important;
    height:auto!important;
    padding-bottom:0!important;
    scroll-padding-bottom:20px!important;
    isolation:isolate!important;
  }
  #view-students table thead{
    position:sticky!important;
    top:0!important;
    z-index:60!important;
    background:#eef3f8!important;
  }
  #view-students table thead th{
    background:#eef3f8!important;
    box-shadow:0 1px 0 #dfe7ef!important;
  }
  #view-students #studentsTable tr>td:nth-child(n+3){
    position:static!important;
    top:auto!important;
    right:auto!important;
    left:auto!important;
    z-index:auto!important;
  }
  #view-students:after{content:none!important;display:none!important}
  #moreSheet .sheet-card{max-height:88dvh!important;padding-bottom:calc(14px + env(safe-area-inset-bottom,0px))!important}
  #moreSheet .v47-sheet-grid{max-height:calc(88dvh - 68px)!important;padding-bottom:10px!important}
  #moreSheet .v47-sheet-group{grid-column:1/-1!important}
}
