:root {
  --primary: #6856d9;
  --primary-dark: #4f3fbd;
  --primary-soft: #f0edff;
  --navy: #17213f;
  --text: #202846;
  --muted: #7e859c;
  --line: #e8eaf2;
  --bg: #f6f7fb;
  --white: #fff;
  --green: #2cac78;
  --green-soft: #eaf8f1;
  --orange: #f2a23a;
  --orange-soft: #fff5e7;
  --red: #e15d68;
  --red-soft: #fff0f1;
  --blue: #4185da;
  --blue-soft: #eaf3ff;
  --shadow: 0 8px 28px rgba(36, 39, 75, .06);
}

.organization-leadership-choice[hidden] { display: none !important; }
.org-layer-secondary { margin-inline: 22px; }
.org-layer-tertiary { margin-inline: 44px; }
@media (max-width: 800px) { .org-layer-secondary, .org-layer-tertiary { margin-inline: 0; } }

/* Site users, login and granular access control */
.user-card{position:relative;cursor:pointer}
.user-card:focus-visible{outline:3px solid rgba(107,85,226,.25);outline-offset:3px}
.current-user-photo{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;overflow:hidden;flex:0 0 38px;background:#e8e4ff;color:#6250d7;font-weight:800;border:2px solid #fff;box-shadow:0 0 0 1px #dcd7ff}
.current-user-photo img{width:100%;height:100%;object-fit:cover}
.user-account-menu{position:absolute;inset-inline:12px;bottom:calc(100% + 8px);z-index:90;background:#fff;border:1px solid #e4e6f1;border-radius:12px;padding:7px;box-shadow:0 16px 38px rgba(24,29,60,.16)}
.user-account-menu[hidden]{display:none}
.user-card .user-account-menu button{width:100%;border:0;background:#fff7f7;color:#c93648;border-radius:9px;padding:10px 12px;text-align:start;font:inherit;font-weight:800;cursor:pointer}
.site-login-gate{position:fixed;inset:0;z-index:10000;background:linear-gradient(135deg,rgba(20,35,83,.96),rgba(96,75,210,.94));display:grid;place-items:center;padding:12px;overflow:auto}
.site-login-gate[hidden]{display:none}
.site-login-gate.session-restoring .site-login-card{display:none}
.site-login-gate.session-restoring:before{content:"جاري استعادة الجلسة والشاشة السابقة...";min-width:min(360px,calc(100vw - 40px));padding:76px 26px 24px;border-radius:22px;background:#fff;color:#20264a;box-shadow:0 28px 80px rgba(0,0,0,.25);text-align:center;font-size:15px;font-weight:800}
.site-login-gate.session-restoring:after{content:"";position:absolute;width:34px;height:34px;border:4px solid #e6e2ff;border-top-color:#6655e8;border-radius:50%;animation:sessionRestoreSpin .75s linear infinite;transform:translateY(-24px)}
@keyframes sessionRestoreSpin{to{transform:translateY(-24px) rotate(360deg)}}
.site-login-card{width:min(440px,100%);max-height:calc(100dvh - 24px);overflow:auto;background:#fff;border-radius:24px;padding:24px 30px;box-shadow:0 28px 80px rgba(0,0,0,.28);display:grid;gap:10px;text-align:center}
.site-login-card h1,.site-login-card p{margin:0}.site-login-card h1{font-size:30px;line-height:1.35}.site-login-card p{color:#7b8099}.site-login-card label{text-align:start;display:grid;gap:5px;font-weight:700}.site-login-card input{height:44px;border:1px solid #dfe2ee;border-radius:11px;padding:0 14px;font:inherit}.site-login-card .primary-btn{justify-content:center;height:44px}.site-login-logo{width:64px;height:64px;margin:auto;border-radius:18px;display:grid;place-items:center;overflow:hidden;background:#eeeaff;color:#6551dd;font-size:28px;font-weight:900}.site-login-logo img{width:100%;height:100%;object-fit:contain}.site-login-error{min-height:18px;color:#cc3548;font-size:13px;font-weight:700}.site-login-language-switch{justify-self:end;margin-bottom:-44px;z-index:1}
.site-access-settings-button{width:100%;justify-content:center;min-height:52px;margin-bottom:6px}
.access-management-ui{direction:rtl}.access-management-home{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:24px}.access-management-choice{min-height:150px;border:1px solid #dedbff;background:linear-gradient(145deg,#fff,#f5f3ff);border-radius:20px;padding:22px;display:grid;place-items:center;align-content:center;gap:10px;color:#5742cd;font:inherit;font-size:18px;font-weight:900;cursor:pointer}.access-management-choice span{font-size:34px}.access-management-toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:18px 0}.site-user-filters{display:grid;grid-template-columns:minmax(170px,.8fr) minmax(170px,.8fr) minmax(240px,1.3fr) auto;gap:12px;align-items:end;margin:0 0 16px;padding:15px;border:1px solid #e4e0fb;border-radius:14px;background:#faf9ff}.site-user-filters label{display:grid;gap:6px}.site-user-filters label>span{color:var(--muted);font-size:12px;font-weight:800}.site-user-filters select,.site-user-filters input{width:100%;height:44px;border:1px solid #dfe2ee;border-radius:10px;background:#fff;padding:0 12px;font:inherit}.site-user-filters .result-count{min-width:88px;padding:12px 10px;text-align:center;white-space:nowrap}.site-users-table{width:100%;min-width:1040px;border-collapse:collapse}.site-users-table th,.site-users-table td{padding:11px;border-bottom:1px solid #ececf4;text-align:start}.site-users-table tr{cursor:pointer}.site-users-table tbody tr:hover{background:#f8f7ff}.site-users-table td strong{white-space:nowrap}.site-users-table input{width:100%;min-width:130px;border:1px solid #dfe2ee;border-radius:9px;padding:9px;font:inherit}.password-field-wrap{display:flex;gap:6px;align-items:center}.password-field-wrap button{border:1px solid #dedff0;background:#fff;border-radius:8px;padding:8px;cursor:pointer}.site-user-form,.permission-user-picker{display:grid;gap:14px}.site-user-form label,.permission-user-picker label{display:grid;gap:7px;font-weight:700}.site-user-form input,.site-user-form select,.permission-user-picker select{height:46px;border:1px solid #dfe2ee;border-radius:10px;padding:0 12px;font:inherit}.permission-grid-wrap{overflow:auto;max-height:58vh;border:1px solid #e3e4ef;border-radius:14px}.permission-grid{width:100%;border-collapse:collapse;min-width:860px}.permission-grid th,.permission-grid td{padding:10px;border-bottom:1px solid #ececf4;text-align:center}.permission-grid th:first-child,.permission-grid td:first-child{text-align:start;position:sticky;inset-inline-start:0;background:#fff;z-index:1}.permission-group-row td{background:#f2f0ff!important;color:#5641c9;font-weight:900}.permission-grid input{width:18px;height:18px;accent-color:#6552db}.permission-master-actions{display:flex;gap:8px;flex-wrap:wrap}.access-permission-hidden{display:none!important}.access-data-denied{position:relative}.access-data-denied>*:not(.page-title){display:none!important}.access-data-denied::after{content:"ليس لديك صلاحية لعرض بيانات هذه الشاشة";display:block;margin:28px;padding:32px;text-align:center;background:#fff;border:1px dashed #d8d5ef;border-radius:18px;color:#777d98;font-weight:800}
.academic-year-switcher select:disabled{opacity:1;cursor:not-allowed;background:#f2f0ff;color:#5a49c9}.field-help{display:block;margin-top:6px;color:var(--muted);font-size:11px;font-weight:500}
@media(max-height:680px){.site-login-card{padding:16px 26px;gap:7px}.site-login-logo{width:52px;height:52px}.site-login-card h1{font-size:25px}.site-login-card p{font-size:13px}.site-login-card input,.site-login-card .primary-btn{height:40px}}
@media(max-width:900px){.site-user-filters{grid-template-columns:1fr 1fr}.site-user-filters .result-count{grid-column:1/-1;text-align:start}}
@media(max-width:700px){.access-management-home{grid-template-columns:1fr}.site-login-card{padding:24px}.site-user-filters{grid-template-columns:1fr}.site-user-filters .result-count{grid-column:auto}.site-users-table{min-width:980px}.access-users-table-wrap{overflow:auto}}

/* Security gate attendance */
.security-live-actions { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 18px; }
.security-live-actions button { min-height: 104px; border: 1px solid #dcd8ff; border-radius: 17px; background: linear-gradient(145deg, #fff, #f5f3ff); color: var(--primary-dark); padding: 17px 19px; display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: 12px; align-items: center; text-align: start; box-shadow: var(--shadow); }
.security-live-actions button:hover { border-color: var(--primary); transform: translateY(-1px); }
.security-live-actions button > span { grid-row: 1 / 3; width: 48px; height: 48px; display: grid; place-items: center; border-radius: 14px; background: #ece8ff; font-size: 23px; }
.security-live-actions button strong { font-size: 15px; }
.security-live-actions button small { color: var(--muted); font-weight: 700; }
.security-live-actions button.banned { color: #b42318; border-color: #ffd3d0; background: linear-gradient(145deg, #fff, #fff3f2); }
.security-live-actions button.banned > span { background: #ffe4e1; }
.security-live-modal .table-wrap { margin-top: 18px; max-height: 62vh; overflow: auto; border: 1px solid var(--line); border-radius: 14px; }
.security-list-sort { display: flex; gap: 9px; flex-wrap: wrap; margin-top: 16px; }
.security-list-sort button { min-height: 40px; padding: 8px 16px; border: 1px solid #dcd8ff; border-radius: 10px; background: #fff; color: var(--primary-dark); font: inherit; font-weight: 800; cursor: pointer; }
.security-list-sort button.active { border-color: var(--primary); background: var(--primary); color: #fff; box-shadow: 0 6px 16px rgba(104,86,217,.2); }
.security-live-modal table { min-width: 760px; }
.security-live-modal tbody tr.security-permit-waiting > td,
.security-live-modal tbody tr.security-student-banned > td { background: #fff0f1 !important; color: #9f1f2d; border-color: #ffdadd; }
.security-live-modal tbody tr.security-permit-ready > td { background: #e8f8ef !important; color: #087a50; border-color: #c9ecd9; }
.security-live-modal tbody tr > td { font-weight: 700; transition: background-color .25s, color .25s; }
.security-permit-state { display: inline-flex; align-items: center; justify-content: center; min-width: 132px; padding: 7px 10px; border: 1px solid currentColor; border-radius: 999px; font-size: 11px; font-weight: 900; }
.security-exit-complete-btn { min-width: 94px; padding: 8px 13px; border: 1px solid #087a50; border-radius: 9px; background: #169b67; color: #fff; font-weight: 800; cursor: pointer; white-space: nowrap; }
.security-exit-complete-btn:hover { background: #087a50; transform: translateY(-1px); }
.security-report-date { display: flex; justify-content: flex-start; margin-top: 18px; }
.security-report-date label { display: grid; gap: 8px; min-width: 260px; color: var(--muted); font-size: 13px; font-weight: 800; }
.security-report-date input { min-height: 45px; border: 1px solid var(--line); border-radius: 11px; background: #fff; padding: 9px 12px; color: var(--text); font: inherit; }
.security-manual-filters label,
.security-context-filters label,
.security-code-entry label { display: grid; gap: 8px; color: var(--muted); font-size: 13px; font-weight: 700; }
.security-manual-filters input,
.security-manual-filters select,
.security-context-filters select,
.security-code-entry input { width: 100%; min-height: 45px; border: 1px solid var(--line); border-radius: 10px; background: #fff; color: var(--navy); padding: 0 12px; font: inherit; }
.security-manual-table td:first-child strong { display: block; }
.security-manual-table td:first-child small { display: block; color: var(--muted); direction: ltr; margin-top: 3px; }

.security-attendance-grid { display: grid; grid-template-columns: minmax(320px, .78fr) minmax(580px, 1.55fr); gap: 18px; align-items: start; }
.security-scan-card,
.security-manual-card,
.security-recent-panel { padding: 22px; }
.security-icon { background: #eef8f3; color: #16835a; }
.security-camera-frame { min-height: 285px; margin: 20px 0 14px; border: 2px dashed #cfd5e7; border-radius: 18px; background: #0f172a; overflow: hidden; display: grid; place-items: center; position: relative; }
.security-camera-frame video { width: 100%; height: 285px; object-fit: cover; }
#securityCameraPlaceholder { position: absolute; inset: 0; display: grid; place-content: center; justify-items: center; gap: 8px; color: #dbe3f2; text-align: center; padding: 20px; }
#securityCameraPlaceholder[hidden] { display: none; }
#securityCameraPlaceholder span { width: 62px; height: 62px; border: 2px solid #7c8aa8; border-radius: 16px; display: grid; place-items: center; font-size: 30px; }
#securityCameraPlaceholder small { color: #9aa8c1; }
.security-camera-actions { display: flex; gap: 10px; }
.security-scan-status { min-height: 24px; margin: 12px 0; color: var(--muted); font-size: 13px; }
.security-code-entry { border-top: 1px solid var(--line); padding-top: 16px; display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 10px; }
.security-code-entry input{direction:ltr!important;text-align:left!important;font-family:Consolas,"Courier New",monospace!important;font-size:12px!important}.security-code-preview{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:5px 10px;padding:11px 13px;border:1px solid #ddd8f5;border-radius:11px;background:#f8f7fc}.security-code-preview span{color:var(--muted);font-size:11px;font-weight:900}.security-code-preview small{grid-column:1/-1;color:var(--muted);font-size:9px}.security-code-preview strong{font-size:12px}.security-code-preview b{justify-self:end;padding:5px 8px;border-radius:7px;background:#ede9ff;color:var(--primary);font-size:10px}.security-code-preview code{grid-column:1/-1;direction:ltr;white-space:normal;overflow-wrap:anywhere;color:#35405f;font:10px/1.5 Consolas,"Courier New",monospace}.security-code-preview.matched{border-color:#9dd8bd;background:#f1fbf6}.security-code-preview.matched span{color:#087b50}.security-code-preview.invalid{border-color:#efb7b7;background:#fff5f5}.security-code-preview.invalid span{color:#b33131}
.security-code-preview.matched{padding:14px 15px;border-width:2px;box-shadow:0 8px 20px rgba(8,123,80,.08)}.security-code-preview.matched>strong{font-size:15px}.security-scan-person-detail{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;border-radius:9px;background:#fff}.security-scan-person-detail small{grid-column:auto;color:#557069;font-size:10px;font-weight:800}.security-scan-person-detail em{color:#087b50;font-size:14px;font-style:normal;font-weight:900}.security-next-scan-ready{color:#087b50!important;font-size:10px!important;font-weight:900}
.security-manual-filters { display: grid; grid-template-columns: 150px 140px minmax(230px, 1fr); gap: 12px; margin: 18px 0; }
.security-context-filters { display: grid; grid-template-columns: repeat(3, minmax(150px, 1fr)); gap: 12px; margin: -4px 0 18px; padding: 14px; border: 1px solid #e4e0fb; border-radius: 14px; background: #faf9ff; }
.security-context-filters:empty { display: none; }
.security-export-actions { display: flex; gap: 9px; flex-wrap: wrap; }
.security-manual-table { max-height: 490px; overflow: auto; }
.security-quick-actions { display: flex; gap: 7px; white-space: nowrap; }
.mini-action { border: 0; border-radius: 9px; padding: 8px 11px; font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; }
.mini-action.present { color: #087a50; background: #e9f9f1; }
.mini-action.absent { color: #b42318; background: #fff0ee; }
.security-recent-panel { margin-top: 18px; }

.person-photo-editor { display: flex; align-items: center; gap: 18px; padding: 16px; margin-bottom: 4px; border: 1px solid #ded9fb; border-radius: 16px; background: linear-gradient(135deg, #faf9ff, #f3f8ff); }
.person-photo-preview { width: 112px; height: 126px; flex: 0 0 112px; overflow: hidden; border: 2px solid #fff; border-radius: 15px; background: #e9e6fb; box-shadow: 0 6px 18px rgba(58, 47, 125, .12); display: grid; place-items: center; }
.person-photo-preview img { width: 100%; height: 100%; object-fit: cover; }
.person-photo-preview span { color: var(--primary); font-size: 42px; font-weight: 800; }
.person-photo-copy { min-width: 0; display: grid; gap: 7px; }
.person-photo-copy > strong { color: var(--navy); font-size: 17px; }
.person-photo-copy > small { color: var(--muted); line-height: 1.7; }
.person-photo-actions { width: min(100%, 276px); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; align-items: stretch; margin-top: 3px; }
.person-photo-actions > .secondary-btn { width: 100%; min-width: 0; height: 48px; min-height: 48px; margin: 0; padding: 0 12px; display: inline-flex; align-items: center; justify-content: center; text-align: center; white-space: nowrap; line-height: 1.2; box-sizing: border-box; }
.person-photo-actions > .secondary-btn[hidden] { display: none; }
.person-photo-actions > .secondary-btn:disabled { opacity: .5; cursor: not-allowed; }
.person-photo-upload { position: relative; overflow: hidden; }
.person-photo-upload input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }

@media (max-width: 1200px) {
  .security-attendance-grid { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .security-live-actions { grid-template-columns: 1fr; }
  .security-manual-filters,
  .security-context-filters { grid-template-columns: 1fr; }
  .security-code-entry { grid-template-columns: 1fr; }
  .security-camera-actions,
  .security-quick-actions { flex-wrap: wrap; }
  .person-photo-editor { align-items: flex-start; }
  .person-photo-preview { width: 92px; height: 104px; flex-basis: 92px; }
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
html, body { font-family: "Times New Roman", Times, serif !important; }
body * { font-family: inherit !important; }
body { margin: 0; background: var(--bg); color: var(--text); font-size: 14px; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
#studentEducationalGuardianOtherField[hidden] { display: none !important; }
.app-shell { display: flex; min-height: 100vh; }
.sidebar { width: 260px; background: #fff; border-left: 1px solid var(--line); padding: 22px 16px 14px; position: fixed; inset: 0 0 0 auto; z-index: 20; display: flex; flex-direction: column; }
.brand { display: flex; gap: 11px; align-items: center; padding: 0 8px 20px; border-bottom: 1px solid var(--line); }
.brand-mark, .logo-preview { width: 46px; height: 46px; border-radius: 13px; display: grid; place-items: center; background: linear-gradient(135deg, var(--primary), #9a8ef1); color: #fff; font-size: 23px; font-weight: 800; overflow: hidden; flex: 0 0 auto; }
.brand-mark img, .logo-preview img { width: 100%; height: 100%; object-fit: cover; }
.brand strong { display: -webkit-box; font-size: 13px; max-width: 165px; white-space: normal; overflow: hidden; text-overflow: ellipsis; -webkit-line-clamp: 2; -webkit-box-orient: vertical; line-height: 1.45; }
.brand span, .user-card span { color: var(--muted); font-size: 10px; display: block; margin-top: 2px; }
.nav-list { padding-top: 12px; overflow-y: auto; flex: 1; scrollbar-width: thin; }
.nav-item, .settings-link { width: 100%; background: transparent; border: 0; border-radius: 9px; padding: 10px 12px; color: #6e758a; text-align: right; display: flex; align-items: center; gap: 12px; font-weight: 600; margin-bottom: 2px; transition: .2s; }
.nav-item:hover, .settings-link:hover { background: #f7f5ff; color: var(--primary); }
.nav-item.active { background: var(--primary-soft); color: var(--primary); font-weight: 700; }
.nav-icon { font-size: 17px; width: 20px; text-align: center; }
.nav-label { color: #b0b4c2; font-size: 9px; font-weight: 700; margin: 17px 12px 6px; letter-spacing: .5px; }
.nav-group { margin-top: 8px; }
.nav-group-toggle { width: 100%; min-height: 34px; padding: 6px 12px; border: 0; border-radius: 9px; background: transparent; color: #a2a7b7; display: flex; align-items: center; justify-content: space-between; gap: 10px; font-family: inherit; font-size: 12px; font-weight: 800; text-align: right; cursor: pointer; transition: color .2s, background .2s; }
.nav-group-toggle:hover { color: var(--primary); background: #faf9ff; }
.nav-group-title { min-width: 0; }
.nav-group-arrow { flex: 0 0 auto; width: 22px; height: 22px; border-radius: 7px; display: grid; place-items: center; color: var(--primary); background: var(--primary-soft); font-size: 16px; line-height: 1; transition: transform .25s ease, background .2s; }
.nav-group-items { display: grid; max-height: 560px; opacity: 1; overflow: hidden; transition: max-height .32s ease, opacity .2s ease, margin .32s ease; margin-top: 3px; }
.nav-group-items .nav-item { padding-inline-start: 16px; }
.nav-group-items .module-summary-nav { margin-top: 5px; border: 1px dashed #d9d3ff; background: #faf9ff; color: var(--primary); font-size: 13px; }
.nav-group-items .module-summary-nav:hover, .nav-group-items .module-summary-nav.active { border-style: solid; background: var(--primary-soft); }
.nav-group.collapsed .nav-group-items { max-height: 0; opacity: 0; margin-top: 0; pointer-events: none; }
.nav-group.collapsed .nav-group-arrow { transform: rotate(-90deg); }
.settings-link { border-top: 1px solid var(--line); border-radius: 0; padding-top: 15px; margin-top: 8px; }
.user-card { display: flex; align-items: center; gap: 9px; padding: 13px 7px 2px; border-top: 1px solid var(--line); margin-top: 6px; }
.avatar { width: 37px; height: 37px; border-radius: 10px; display: none; place-items: center; font-size: 11px; font-weight: 700; color: var(--primary); background: var(--primary-soft); flex: 0 0 auto; }
.user-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 5px var(--green-soft); flex: 0 0 auto; }
.user-card div:nth-child(2) { flex: 1; }
.user-card strong { font-size: 11px; }
.user-card button { border: 0; background: transparent; color: var(--muted); }
.main { margin-right: 260px; width: calc(100% - 260px); min-height: 100vh; }
.employee-sidebar-hidden .sidebar,.employee-sidebar-hidden .mobile-nav-backdrop,.employee-sidebar-hidden .menu-toggle{display:none!important}.employee-sidebar-hidden .main{margin:0!important;width:100%!important}
.employee-dashboard-home{display:none;align-items:center;justify-content:center;min-height:38px;padding:0 14px;border:1px solid #dcd8f7;border-radius:10px;background:var(--primary-soft);color:var(--primary);font-size:11px;font-weight:800;white-space:nowrap}.employee-sidebar-hidden .employee-dashboard-home{display:flex}
.topbar-logout{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:0 14px;border:1px solid #f2c7ca;border-radius:11px;background:#fff5f5;color:#bd3540;font-family:inherit;font-size:11px;font-weight:800;white-space:nowrap;cursor:pointer;transition:.18s}.topbar-logout:hover{border-color:#e79aa1;background:#ffecee;transform:translateY(-1px)}.topbar-logout[hidden]{display:none!important}
.access-management-toolbar>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.topbar { height: 70px; background: #fff; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; padding: 0 30px; position: sticky; top: 0; z-index: 15; }
.menu-toggle { display: none; border: 0; background: transparent; font-size: 22px; }
.breadcrumbs { display: flex; gap: 9px; align-items: center; font-size: 11px; color: #a0a5b5; }
.breadcrumbs strong { color: var(--text); }
.top-actions { display: flex; align-items: center; gap: 13px; }
.top-actions > * { flex-shrink: 0; }
.academic-year-switcher { min-width: 150px; height: 42px; position: relative; display: block; color: var(--muted); font-size: 9px; font-weight: 700; }
.academic-year-switcher > span { position: absolute; inset-inline-start: 8px; top: -15px; line-height: 1; white-space: nowrap; }
.academic-year-switcher select { width: 100%; height: 42px; border: 1px solid #dcd8f7; border-radius: 9px; padding: 0 10px; outline: 0; background: var(--primary-soft); color: var(--primary); font-weight: 800; direction: ltr; }
.global-search { width: 240px; height: 42px; border: 1px solid var(--line); border-radius: 9px; display: flex; align-items: center; padding: 0 12px; gap: 8px; color: #a3a7b6; }
.global-search input { border: 0; outline: 0; width: 100%; color: var(--text); }
.icon-button { width: 37px; height: 37px; border: 1px solid var(--line); border-radius: 9px; background: #fff; color: var(--muted); position: relative; }
.icon-button i { position: absolute; width: 6px; height: 6px; border-radius: 50%; background: var(--red); top: 7px; right: 8px; border: 1px solid #fff; }
.date-box { border-right: 1px solid var(--line); padding-right: 13px; line-height: 1.5; }
.date-box span { display: block; font-size: 9px; color: var(--muted); }
.date-box b { font-size: 10px; }
.content { padding: 24px 30px 40px; max-width: 1600px; margin: auto; }
.page { display: none; animation: fade .25s ease; }
.page.active { display: block; }
@keyframes fade { from { opacity: .5; transform: translateY(4px); } }
.welcome-banner { min-height: 235px; border-radius: 16px; background-color: #6553d5; background-image: linear-gradient(115deg, #5f4ed0, #7766df); background-size: cover; background-position: center; color: #fff; padding: 29px 38px; position: relative; overflow: hidden; display: flex; justify-content: space-between; box-shadow: 0 10px 25px rgba(93, 76, 201, .16); }
.welcome-banner:after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(13,18,38,.18), rgba(13,18,38,.58)); opacity: 0; transition: opacity .2s; }
.welcome-banner.has-school-image:after { opacity: 1; }
.school-hero-content { position: relative; z-index: 2; align-self: center; max-width: 660px; padding: 10px 0; text-shadow: 0 2px 10px rgba(0,0,0,.35); }
.eyebrow { display: block; color: var(--primary); font-size: 11px; font-weight: 700; margin-bottom: 5px; }
.welcome-banner .eyebrow { color: #e0dcff; }
.welcome-banner h1 { font-size: 28px; margin: 6px 0 5px; line-height: 1.5; }
.welcome-banner p { color: #e7e4ff; font-size: 12px; margin: 0 0 19px; }
.primary-btn, .secondary-btn { border: 0; border-radius: 9px; padding: 10px 17px; font-weight: 700; font-size: 11px; display: inline-flex; gap: 8px; justify-content: center; align-items: center; text-decoration: none; }
.primary-btn { background: var(--primary); color: #fff; box-shadow: 0 5px 12px rgba(104, 86, 217, .2); }
.primary-btn:hover { background: var(--primary-dark); }
.title-actions .excel-export-btn { color: #167451; border: 1px solid #bde7d2; background: var(--green-soft); }
.bulk-delete-mode{min-height:42px;padding:0 13px;border:1px solid #efb8bd;border-radius:9px;background:#fff7f7;color:#c63e49;font:inherit;font-size:11px;font-weight:800;outline:0;cursor:pointer}
.bulk-delete-mode:focus{border-color:#e05a65;box-shadow:0 0 0 3px rgba(224,90,101,.12)}
#page-employees .employee-directory-title{align-items:flex-start;gap:24px}
#page-employees .employee-directory-title>div:first-child{min-width:290px;padding-top:12px}
#page-employees .employee-directory-actions{display:grid;grid-template-columns:minmax(390px,1.2fr) minmax(320px,1fr);gap:10px;width:min(760px,100%);align-items:stretch}
.employee-action-group{min-width:0;padding:10px;border:1px solid #e4e1f3;border-radius:15px;background:linear-gradient(145deg,#fff,#faf9ff);box-shadow:0 6px 18px rgba(48,43,91,.05)}
.employee-action-group-label{display:block;margin:0 3px 8px;color:var(--muted);font-size:10px;font-weight:800}
.employee-action-group>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.employee-action-group .primary-btn,.employee-action-group .secondary-btn,.employee-action-group .bulk-delete-mode{width:100%;min-width:0;min-height:45px;padding:8px 9px;line-height:1.35;white-space:normal;cursor:pointer}
.employee-action-group button b,.employee-action-group label b{font-size:15px;line-height:1}
.employee-management-actions .employee-add-btn{box-shadow:0 7px 16px rgba(104,86,217,.22)}
.employee-action-group>.employee-management-delete{display:grid;grid-template-columns:auto minmax(190px,1fr);align-items:center;gap:10px;margin-top:10px;padding-top:10px;border-top:1px solid #f0dfe1}
.employee-management-delete>span{color:#b43a46;font-size:10px;font-weight:800;white-space:nowrap}
.employee-management-delete .bulk-delete-mode{width:100%;height:42px;background:#fff8f8;color:#b93845;border-color:#e9bbc0}
.employee-file-actions{align-self:start;background:linear-gradient(145deg,#fff,#f8fffb);border-color:#dceee5}
.employee-file-actions .upload-label{color:#247051;border-color:#cce7d8;background:#f7fffa}
@media(max-width:1280px){#page-employees .employee-directory-title{display:block}#page-employees .employee-directory-title>div:first-child{padding-top:0}#page-employees .employee-directory-actions{width:100%;margin-top:18px}}
@media(max-width:760px){#page-employees .employee-directory-actions{grid-template-columns:1fr}.employee-action-group>div{grid-template-columns:1fr 1fr}.employee-action-group .employee-add-btn{grid-column:1/-1}.employee-action-group>.employee-management-delete{grid-template-columns:1fr;margin-top:10px}.employee-action-group-label{font-size:11px}}
.bulk-person-checkbox{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;cursor:pointer}
.bulk-person-checkbox input{width:19px;height:19px;margin:0;accent-color:#d64854;cursor:pointer}
.bulk-delete-action-bar{position:fixed;right:290px;left:30px;bottom:22px;z-index:45;min-height:72px;padding:13px 18px;display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #efb8bd;border-radius:16px;background:rgba(255,255,255,.97);box-shadow:0 16px 45px rgba(42,36,78,.22);backdrop-filter:blur(10px)}
.bulk-delete-action-bar[hidden]{display:none}
.bulk-delete-action-bar div{display:grid;gap:3px}.bulk-delete-action-bar strong{font-size:14px;color:#a92f3a}.bulk-delete-action-bar span{font-size:10px;color:var(--muted)}
.bulk-delete-action-bar button{min-width:145px;min-height:44px;padding:9px 20px;border:0;border-radius:11px;background:#d64854;color:#fff;font:inherit;font-weight:900;cursor:pointer;box-shadow:0 7px 16px rgba(214,72,84,.24)}
.bulk-delete-action-bar button:hover{background:#bd3540}
@media(max-width:900px){.bulk-delete-action-bar{right:18px;left:18px;bottom:16px}}
@media(max-width:560px){.bulk-delete-action-bar{align-items:stretch;flex-direction:column}.bulk-delete-action-bar button{width:100%}}
.welcome-banner .primary-btn { background: #fff; color: var(--primary); text-shadow: none; }
.secondary-btn { color: var(--primary); background: #fff; border: 1px solid #dcd8f7; }
.banner-art { width: 340px; position: absolute; left: 40px; bottom: 0; height: 190px; opacity: .92; }
.sun { width: 52px; height: 52px; border-radius: 50%; background: #f8cc6d; position: absolute; top: 24px; left: 34px; box-shadow: 0 0 0 8px rgba(255,255,255,.08); }
.school-building { width: 190px; height: 90px; position: absolute; bottom: 0; left: 82px; background: #eae7ff; border-radius: 8px 8px 0 0; border-top: 13px solid #d4cff9; display: flex; justify-content: center; gap: 15px; padding-top: 20px; }
.school-building:before { content: ""; position: absolute; border-left: 53px solid transparent; border-right: 53px solid transparent; border-bottom: 49px solid #eae7ff; top: -57px; }
.school-building:after { content: "★"; color: #7666d9; position: absolute; top: -32px; z-index: 1; }
.school-building i { width: 23px; height: 24px; background: #88c3d8; border: 4px solid #fff; }
.school-building b { position: absolute; width: 32px; height: 45px; background: #6d60bd; bottom: 0; }
.tree { position: absolute; bottom: 0; width: 18px; height: 50px; background: #5d529d; }
.tree:before { content: ""; position: absolute; width: 54px; height: 54px; background: #8dd0a8; border-radius: 50%; right: -18px; top: -28px; }
.tree.t1 { left: 30px; }.tree.t2 { right: 8px; transform: scale(.75); }
.stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; margin: 17px 0; }
.stat-card { background: #fff; border: 1px solid var(--line); border-radius: 13px; min-height: 105px; padding: 18px; display: flex; align-items: center; gap: 15px; box-shadow: var(--shadow); }
.stat-icon { width: 47px; height: 47px; border-radius: 12px; display: grid; place-items: center; font-size: 20px; flex: 0 0 auto; }
.stat-icon.purple, .qicon.purple { background: var(--primary-soft); color: var(--primary); }
.stat-icon.blue, .qicon.blue { background: var(--blue-soft); color: var(--blue); }
.stat-icon.green, .qicon.green { background: var(--green-soft); color: var(--green); }
.stat-icon.orange, .qicon.orange { background: var(--orange-soft); color: var(--orange); }
.stat-card span { color: var(--muted); font-size: 10px; display: block; }
.stat-card strong { display: block; font-size: 24px; margin: 1px 0; }
.stat-card small { font-size: 8px; }.up { color: var(--green); }.muted { color: var(--muted); }.warning { color: var(--orange); }
.dashboard-grid { display: grid; grid-template-columns: 1.06fr .94fr; gap: 17px; margin-bottom: 17px; }
.bottom-grid { grid-template-columns: 1fr 1fr; }
.panel { background: #fff; border: 1px solid var(--line); border-radius: 13px; padding: 20px; box-shadow: var(--shadow); }
.employee-placement-panel { padding: 24px; background: linear-gradient(135deg, #fff, #fbfaff); }
.placement-form-grid { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(240px, 1fr) minmax(260px, 1.3fr) auto; gap: 16px; align-items: end; }
.placement-form-grid label { display: grid; gap: 8px; color: var(--text); font-size: 11px; font-weight: 800; }
.placement-form-grid select { width: 100%; min-height: 48px; border: 1px solid var(--line); border-radius: 10px; padding: 0 13px; background: #fff; color: var(--text); outline: 0; }
.placement-form-grid select:focus { border-color: var(--primary); box-shadow: 0 0 0 3px var(--primary-soft); }
.placement-role-card { min-height: 72px; padding: 12px 15px; border: 1px solid #ddd8ff; border-radius: 11px; background: var(--primary-soft); display: grid; align-content: center; gap: 2px; }
.placement-role-card span, .placement-role-card small { color: var(--muted); font-size: 9px; }
.placement-role-card strong { color: var(--primary); font-size: 14px; }
.placement-save-btn { min-height: 48px; white-space: nowrap; }
.placement-save-btn:disabled { opacity: .45; cursor: not-allowed; box-shadow: none; }
.placement-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.placement-table-wrap { margin-top: 18px; }
.placement-type-badge, .placement-manager { display: inline-flex; align-items: center; min-height: 27px; padding: 4px 10px; border-radius: 999px; font-size: 10px; font-weight: 800; }
.placement-type-badge.administration { background: var(--blue-soft); color: var(--blue); }
.placement-type-badge.section { background: var(--primary-soft); color: var(--primary); }
.placement-type-badge.subdepartment { background: #fff3d8; color: #9a5b00; }
.placement-manager { background: var(--green-soft); color: var(--green); }
.placement-manager.vacant { background: var(--orange-soft); color: #b96d0b; }
.row-actions { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
@media (max-width: 1100px) { .placement-form-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 700px) { .placement-form-grid, .placement-stats { grid-template-columns: 1fr; } }
.panel-head { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 18px; }
.panel h2, .panel-head h2 { font-size: 13px; margin: 0 0 2px; }
.panel p, .panel-head p { color: var(--muted); font-size: 9px; margin: 0; }
.text-btn { border: 0; background: transparent; color: var(--primary); font-weight: 700; font-size: 9px; }
.attendance-summary { display: flex; justify-content: center; align-items: center; gap: 50px; }
.donut { --p: 94; width: 132px; height: 132px; border-radius: 50%; background: conic-gradient(var(--green) calc(var(--p) * 1%), #e8ebf2 0); display: grid; place-items: center; position: relative; }
.donut:before { content: ""; width: 95px; height: 95px; border-radius: 50%; background: #fff; position: absolute; }
.donut div { z-index: 1; text-align: center; }.donut strong { display:block; font-size: 21px; }.donut span { color: var(--muted); font-size: 9px; }
.legend { min-width: 170px; }.legend div { display: grid; grid-template-columns: 9px 1fr 25px; gap: 8px; padding: 7px 0; border-bottom: 1px solid #f1f2f6; align-items: center; font-size: 10px; }.legend strong { text-align: left; }
.dot { width: 7px; height: 7px; border-radius: 50%; }.green-bg { background: var(--green)!important; }.red-bg { background: var(--red)!important; }.orange-bg { background: var(--orange)!important; }.blue-bg { background: var(--blue)!important; }
.count-badge { background: var(--orange-soft); color: var(--orange); border-radius: 15px; font-size: 9px; padding: 4px 9px; font-weight: 700; }
.mini-request { display: flex; align-items: center; gap: 9px; padding: 7px 0; border-bottom: 1px solid #f0f1f5; }
.mini-request > div:nth-child(2) { flex: 1; }.mini-request strong { font-size: 10px; display: block; }.mini-request span, .mini-request small { color: var(--muted); font-size: 8px; display: block; }
.avatar.pink { background: #ffedf2; color: #d66683; }.avatar.blue { background: var(--blue-soft); color: var(--blue); }.avatar.gold { background: var(--orange-soft); color: var(--orange); }
.approve { color: var(--green); background: var(--green-soft); border: 0; border-radius: 6px; padding: 5px 9px; font-size: 8px; font-weight: 700; }
.full-link { width: 100%; border: 0; color: var(--primary); background: var(--primary-soft); padding: 8px; border-radius: 7px; margin-top: 12px; font-size: 9px; font-weight: 700; }
.fleet-row { display: flex; align-items: center; justify-content: space-around; }
.fleet-visual { text-align: center; color: var(--primary); }.bus { font-size: 55px; transform: scaleX(1.35); }.fleet-visual span { font-size: 9px; font-weight: 700; }
.fleet-stat { text-align: center; border-right: 1px solid var(--line); padding-right: 30px; }.fleet-stat strong { display: block; font-size: 22px; }.fleet-stat span { font-size: 9px; color: var(--muted); }.fleet-stat.danger strong { color: var(--red); }
.quick-actions { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }.quick-actions button { border: 1px solid var(--line); background: #fff; border-radius: 10px; padding: 14px 5px; font-weight: 600; font-size: 9px; color: var(--text); }.qicon { display: grid; width: 36px; height: 36px; border-radius: 10px; place-items: center; margin: 0 auto 7px; font-size: 16px; }
.birthday-panel { margin-top: 16px; }.birthday-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }.birthday-item { display: grid; grid-template-columns: 40px 1fr auto; align-items: center; gap: 10px; padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: #fcfbff; }.birthday-icon { width: 40px; height: 40px; border-radius: 11px; display: grid; place-items: center; background: #fff1dc; font-size: 20px; }.birthday-item strong { display: block; font-size: 10px; }.birthday-item span { color: var(--muted); font-size: 8px; }.birthday-date { text-align: left; }.birthday-date span { color: var(--orange); font-weight: 700; }.birthday-empty { grid-column: 1 / -1; padding: 24px; }
.page-title { display: flex; justify-content: space-between; align-items: center; margin: 3px 0 22px; }.page-title h1 { margin: 0; font-size: 23px; }.page-title p { color: var(--muted); margin: 4px 0 0; font-size: 11px; }.title-actions { display: flex; gap: 9px; }
.org-sections { display: grid; gap: 22px; }.org-section { background: rgba(255,255,255,.35); border: 1px solid var(--line); border-radius: 15px; padding: 17px; }.org-section-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }.org-section-head h2 { margin: 0; font-size: 15px; }.org-section-head span { color: var(--muted); background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 5px 10px; font-size: 9px; font-weight: 700; }.department-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 17px; }.department-card { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 0; overflow: hidden; box-shadow: var(--shadow); transition: transform .2s ease, box-shadow .2s ease; }.department-card:hover { transform: translateY(-3px); box-shadow: 0 16px 34px rgba(36,39,75,.11); }.department-card-media { height: 138px; position: relative; overflow: hidden; background: linear-gradient(135deg, #ebe8ff, #f8f7ff); }.department-card-media img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; transition: transform .35s ease; }.department-card:hover .department-card-media img { transform: scale(1.045); }.department-card-media:after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(16,20,44,.22), transparent 58%); pointer-events: none; }.department-card-media.fallback { display: grid; place-items: center; }.department-fallback-icon { font-size: 48px; filter: drop-shadow(0 8px 13px rgba(75,60,160,.15)); }.department-card-body { padding: 16px 18px 18px; }.department-title-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; margin-bottom: 10px; }.department-title-row h3 { margin: 0; color: var(--text); font-size: 13px; }.department-title-row > div > span { display: block; margin-top: 3px; color: var(--muted); font-size: 8px; }.dept-kind { flex: 0 0 auto; padding: 4px 8px; border-radius: 10px; color: var(--primary); background: var(--primary-soft); font-size: 7px; font-weight: 700; }.more { border: 0; background: transparent; color: var(--muted); }.dept-actions, .class-actions { display: flex; gap: 6px; }.department-card-media .dept-actions { position: absolute; z-index: 2; top: 10px; left: 10px; }.dept-actions button, .class-actions button { border: 1px solid var(--line); background: rgba(255,255,255,.94); color: var(--primary); border-radius: 7px; padding: 5px 8px; font-size: 8px; font-weight: 700; backdrop-filter: blur(5px); }.dept-actions button.danger, .class-actions button.danger { color: var(--red); }.dept-parent { display: inline-block; margin-bottom: 10px; color: var(--blue); background: var(--blue-soft); border-radius: 12px; padding: 4px 9px; font-size: 8px; font-weight: 700; }.manager-row { display: flex; align-items: center; gap: 9px; background: #f8f8fc; border-radius: 9px; padding: 10px; }.manager-row div:first-child { flex: 1; }.manager-row strong { font-size: 10px; display: block; }.manager-row span { font-size: 8px; color: var(--muted); }.employee-faces { display: flex; align-items: center; margin-top: 15px; }.employee-faces .avatar { margin-left: -7px; border: 2px solid #fff; border-radius: 50%; }.employee-faces span { color: var(--muted); font-size: 9px; margin-right: 0; }
.org-sector{border:1px solid var(--line);border-radius:20px;padding:22px 24px;background:#fff;box-shadow:var(--shadow)}.org-sector-title,.org-sector-title>div{display:flex;align-items:center;justify-content:space-between;gap:14px}.org-sector-title>div>span{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;font-size:25px;background:#eae6ff}.org-sector-title small{color:var(--primary);font-weight:800}.org-sector-title h2{margin:2px 0 3px;font-size:20px}.org-sector-title p{margin:0;color:var(--muted);font-size:10px}.org-sector-title>strong{padding:8px 13px;border-radius:999px;background:#f2efff;color:var(--primary);white-space:nowrap}.org-sector-academic{border-color:#cfe6dc;background:linear-gradient(135deg,#fff,#f4fbf8)}.org-sector-academic .org-sector-title>div>span{background:#ddf4e9}#parentDepartmentField[hidden],#employeeAdministrativeUnitField[hidden],#employeeAcademicPlacementFields[hidden],#employeeSecondaryAcademicStageField[hidden]{display:none!important}.employee-academic-placement{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:16px;border:1px solid #dcd6ff;border-radius:15px;background:#faf9ff}.employee-academic-placement[hidden]{display:none!important}.employee-academic-placement .form-section-title{margin:0;padding:0 0 8px}.employee-secondary-stage-toggle{display:flex!important;flex-direction:row!important;align-items:center;gap:11px;padding:13px 15px;border:1px solid #cfc7fb;border-radius:11px;background:#fff;box-shadow:0 6px 16px rgba(91,71,205,.07);cursor:pointer}.employee-secondary-stage-toggle input[type="checkbox"]{width:20px;height:20px;margin:0;flex:0 0 auto;accent-color:var(--primary)}.employee-secondary-stage-toggle span{display:grid;gap:2px}.employee-secondary-stage-toggle strong{font-size:11px;color:var(--primary)}.employee-secondary-stage-toggle small{font-size:8px;color:var(--muted);font-weight:400}.employee-org-path{display:grid;gap:4px}.employee-org-path small{color:var(--muted);font-size:9px}.generated-account-card>div:not(.modal-footer){display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:12px;padding:15px 17px;border:1px solid var(--line);border-radius:14px;background:#faf9ff}.generated-account-card>div span{color:var(--muted)}.generated-account-card>div strong{font-size:16px;color:var(--primary)}
.toolbar { background: #fff; border: 1px solid var(--line); border-radius: 12px 12px 0 0; padding: 13px; display: flex; align-items: center; gap: 10px; }.table-search { width: 330px; border: 1px solid var(--line); border-radius: 8px; height: 38px; display: flex; align-items: center; gap: 8px; padding: 0 11px; color: var(--muted); }.table-search input { border: 0; outline: 0; width: 100%; }.toolbar select, .form-grid select, .form-grid input, .form-grid textarea, .settings-form input, .settings-form textarea { border: 1px solid var(--line); border-radius: 8px; padding: 9px 11px; outline: 0; background: #fff; color: var(--text); }.toolbar select { min-width: 150px; }.result-count { margin-right: auto; color: var(--muted); font-size: 10px; }
.table-wrap { background: #fff; border: 1px solid var(--line); border-radius: 0 0 12px 12px; overflow-x: auto; box-shadow: var(--shadow); }.page-title + .table-wrap, .small-stats + .table-wrap { border-radius: 12px; } table { width: 100%; border-collapse: collapse; min-width: 1050px; } th { background: #fafafd; color: var(--muted); font-size: 9px; text-align: right; padding: 12px 14px; border-bottom: 1px solid var(--line); } td { padding: 12px 14px; border-bottom: 1px solid #f0f1f5; font-size: 10px; } tbody tr:hover { background: #fcfcff; }.person-cell { display: flex; gap: 9px; align-items: center; }.person-cell strong { display: block; }.person-cell span { color: var(--muted); font-size: 8px; }.serial-badge { width: 31px; height: 31px; border-radius: 10px; display: grid; place-items: center; background: var(--primary-soft); color: var(--primary); font-weight: 800; }.status { display: inline-block; border-radius: 14px; padding: 4px 9px; font-size: 8px; font-weight: 700; }.status.active, .status.approved { color: var(--green); background: var(--green-soft); }.status.pending { color: var(--orange); background: var(--orange-soft); }.status.rejected, .status.absent { color: var(--red); background: var(--red-soft); }.action-btn { border: 0; background: transparent; color: var(--primary); font-size: 9px; font-weight: 700; }
.organization-leadership-choice { border: 1px solid #ddd8ff; background: #faf9ff; border-radius: 12px; padding: 14px; }.organization-leadership-choice > strong,.organization-leadership-choice > small { display: block; }.organization-leadership-choice > small { color: var(--muted); margin-top: 4px; font-size: 9px; }.organization-leadership-choice > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 12px; }.organization-leadership-choice label { display: flex; align-items: center; gap: 9px; border: 1px solid var(--line); background: #fff; border-radius: 10px; padding: 11px 12px; cursor: pointer; }.organization-leadership-choice input { width: 18px; height: 18px; accent-color: var(--primary); }.organization-leadership-choice span { font-weight: 700; color: var(--text); }
.upload-label input { display: none; }
.field-hint { color: var(--muted); font-size: 8px; font-weight: 400; }
.request-specific-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 0 12px; padding: 12px; margin: 4px 0 10px; border: 1px solid var(--line); border-radius: 10px; background: #fafafd; }.request-specific-fields .full { grid-column: 1 / -1; }.form-grid input[readonly] { background: #f4f5f9; color: var(--muted); }
.advance-month-option { margin-top: 4px; padding: 12px; border: 1px solid #ddd8fb; border-radius: 11px; background: #fff; }
.advance-month-checkbox { display: flex!important; flex-direction: row!important; align-items: center; gap: 11px; cursor: pointer; }
.advance-month-checkbox input[type="checkbox"] { width: 19px; height: 19px; margin: 0; flex: 0 0 auto; accent-color: var(--primary); }
.advance-month-checkbox span { display: grid; gap: 2px; }
.advance-month-checkbox strong { color: var(--text); font-size: 10px; }
.advance-month-checkbox small { color: var(--muted); font-size: 8px; font-weight: 400; }
.advance-month-range { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 13px; padding-top: 13px; border-top: 1px solid var(--line); }
.advance-month-range[hidden] { display: none!important; }
@media (max-width: 700px) { .advance-month-range { grid-template-columns: 1fr; } }
.employee-row { cursor: pointer; }.employee-row:hover { background: #f7f5ff; }.employee-row.terminated-row { opacity: .72; background: #fffafa; }.employee-manage-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 18px; }.employee-manage-actions button { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; width: 100%; border: 1px solid var(--line); border-radius: 11px; padding: 15px 17px; background: #fff; font-family: inherit; text-align: right; cursor: pointer; }.employee-manage-actions button:hover { transform: translateY(-1px); box-shadow: var(--shadow); }.employee-manage-actions b { font-size: 12px; }.employee-manage-actions span { color: var(--muted); font-size: 9px; }.employee-manage-actions .manage-edit { border-right: 4px solid var(--primary); }.employee-manage-actions .manage-terminate { border-right: 4px solid var(--orange); }.employee-manage-actions .manage-delete { grid-column:1/-1; border-right: 4px solid var(--red); }.employee-manage-actions button:disabled { cursor: default; opacity: .55; transform: none; box-shadow: none; }.confirm-icon { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 50%; margin: 0 auto 15px; background: var(--red-soft); color: var(--red); font-size: 25px; font-weight: 800; }.danger-confirm-btn { border: 0; background: var(--red); color: #fff; border-radius: 8px; padding: 9px 17px; font-family: inherit; font-weight: 700; cursor: pointer; }
.attendance-top { display: flex; justify-content: space-between; margin-bottom: 15px; }.attendance-toolbar { margin-bottom: 15px; border-radius: 12px; }.attendance-toolbar select { border: 1px solid var(--line); outline: 0; min-width: 220px; background: #fff; color: var(--text); border-radius: 8px; padding: 8px 10px; }.attendance-toolbar select:disabled { background: #f2f3f7; color: var(--muted); }.date-selector { background: #fff; border: 1px solid var(--line); border-radius: 11px; display: flex; align-items: center; min-width: 310px; justify-content: center; padding: 8px 14px; }.date-selector div { width: 100%; text-align: center; }.date-selector span { display: block; color: var(--muted); font-size: 8px; margin-bottom: 3px; }.date-selector input { width: 100%; border: 0; outline: 0; text-align: center; color: var(--text); font-family: inherit; font-weight: 700; }.compact-stats { background: #fff; border: 1px solid var(--line); border-radius: 11px; display: flex; }.compact-stats div { display: grid; grid-template-columns: 7px 25px 70px; align-items: center; padding: 8px 15px; gap: 5px; border-left: 1px solid var(--line); }.compact-stats i { width: 7px; height: 7px; border-radius: 50%; }.compact-stats span { color: var(--muted); font-size: 8px; }.attendance-select, .absence-reason { border: 1px solid var(--line); padding: 5px 8px; border-radius: 7px; font-size: 9px; min-width: 105px; }.attendance-note { border: 1px solid var(--line); padding: 6px; border-radius: 6px; width: 100%; }
.filter-tabs { display: flex; gap: 5px; border-bottom: 1px solid var(--line); margin-bottom: 15px; }.filter-tabs button { background: transparent; border: 0; color: var(--muted); padding: 10px 15px; border-bottom: 2px solid transparent; font-size: 10px; }.filter-tabs button.active { color: var(--primary); border-bottom-color: var(--primary); font-weight: 700; }.filter-tabs b { background: #eceef4; border-radius: 12px; padding: 2px 6px; font-size: 8px; margin-right: 4px; }.request-list { display: grid; gap: 10px; }.request-card { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 15px 18px; display: flex; align-items: center; gap: 14px; box-shadow: var(--shadow); }.request-card .request-info { flex: 1; }.request-card h3 { font-size: 11px; margin: 0 0 4px; }.request-card p { color: var(--muted); font-size: 9px; margin: 0; }.request-meta { display: flex; gap: 30px; }.request-meta div span { color: var(--muted); display: block; font-size: 8px; }.request-meta div strong { font-size: 9px; }.request-actions { display: flex; gap: 6px; }.request-actions button { border: 1px solid var(--line); background: #fff; border-radius: 7px; padding: 6px 9px; font-size: 8px; color: var(--text); }.request-actions .print { color: var(--primary); border-color: #dcd8f7; }
.request-type-buttons { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 11px; margin-bottom: 18px; }.request-type-button { position: relative; min-height: 92px; display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 10px; padding: 14px; border: 1px solid #dedbfa; border-radius: 15px; background: linear-gradient(145deg, #fff, #f8f7ff); color: var(--text); font-family: inherit; text-align: right; cursor: pointer; box-shadow: 0 7px 20px rgba(40,35,90,.045); transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }.request-type-button:hover { transform: translateY(-2px); border-color: #bdb5f5; box-shadow: 0 11px 24px rgba(50,40,120,.09); }.request-type-button > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; background: var(--primary-soft); color: var(--primary); font-size: 20px; font-weight: 900; }.request-type-button strong { font-size: 11px; }.request-type-button > b { min-width: 27px; height: 27px; display: grid; place-items: center; border-radius: 14px; background: #eeecf8; color: var(--muted); font-size: 9px; }.request-type-button.active { color: #fff; border-color: var(--primary); background: linear-gradient(135deg, var(--primary), #7965e8); box-shadow: 0 13px 28px rgba(91,71,205,.22); }.request-type-button.active > span { color: var(--primary); background: #fff; }.request-type-button.active > b { color: #fff; background: rgba(255,255,255,.2); }.request-type-view-head { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 14px 18px; margin-bottom: 2px; border: 1px solid var(--line); border-radius: 13px 13px 0 0; background: #fff; }.request-type-view-head > div > span { color: var(--muted); font-size: 8px; }.request-type-view-head h2 { margin: 2px 0 0; font-size: 15px; color: var(--primary); }.request-type-view-head > b { padding: 6px 11px; border-radius: 15px; background: var(--primary-soft); color: var(--primary); font-size: 9px; }.request-type-view-head > b span { color: inherit; font-size: inherit; }#page-requests .filter-tabs { margin-bottom: 15px; padding: 0 8px; background: #fff; border-inline: 1px solid var(--line); }
.request-approval-path { display: block; margin-top: 6px; color: var(--primary); font-size: 8px; }.small-stats { grid-template-columns: repeat(3, 1fr); }.small-stats .stat-card { min-height: 90px; }
.stage-tabs { display: flex; gap: 9px; margin-bottom: 16px; overflow-x: auto; }.stage-tab-wrap { display: inline-flex; align-items: center; gap: 5px; flex: 0 0 auto; }.stage-tabs .stage-tab-wrap > button { min-width: 95px; border: 1px solid var(--line); background: #fff; border-radius: 10px; padding: 12px; color: var(--muted); font-weight: 700; }.stage-tabs .stage-tab-wrap > button.active { color: #fff; background: var(--primary); border-color: var(--primary); }.stage-inline-actions, .year-inline-actions { display: inline-flex; gap: 3px; }.stage-inline-actions button, .year-inline-actions button { border: 0; background: var(--primary-soft); color: var(--primary); border-radius: 7px; padding: 6px; font-family: inherit; font-size: 8px; cursor: pointer; }.stage-inline-actions button.danger, .year-inline-actions button.danger { color: var(--red); background: var(--red-soft); }.academic-layout { display: grid; grid-template-columns: 270px 1fr; gap: 16px; }.year-list { padding: 9px; }.year-row { display: grid; grid-template-columns: 1fr auto; gap: 5px; align-items: center; }.year-list .year-row > button { display: flex; width: 100%; justify-content: space-between; border: 0; background: transparent; border-radius: 8px; padding: 11px; color: var(--muted); font-size: 10px; }.year-list .year-row > button.active { background: var(--primary-soft); color: var(--primary); font-weight: 700; }.year-list b { background: #ececf4; border-radius: 10px; padding: 1px 7px; }.class-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 13px; }.class-card { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 18px; }.class-letter { width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; background: var(--primary-soft); color: var(--primary); font-weight: 800; font-size: 17px; }.class-card h3 { margin: 12px 0 2px; font-size: 12px; }.class-card p { margin: 0; color: var(--muted); font-size: 9px; }.capacity { height: 5px; border-radius: 5px; background: #eceef4; margin-top: 14px; overflow: hidden; }.capacity i { display: block; height: 100%; background: var(--primary); }
.transport-tabs { margin-top: 5px; }.bus-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }.bus-card { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 17px; }.bus-card-head { display: flex; justify-content: space-between; }.bus-card .bus-icon { font-size: 35px; color: var(--primary); }.bus-card h3 { margin: 7px 0 0; font-size: 12px; }.bus-card > p { color: var(--muted); font-size: 9px; margin: 2px 0 14px; }.bus-details { background: #f8f9fc; border-radius: 8px; padding: 9px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }.bus-details span { font-size: 8px; color: var(--muted); display: block; }.bus-details strong { font-size: 9px; }.driver-strip { display: flex; align-items: center; gap: 8px; margin-top: 12px; }.driver-strip div:nth-child(2) { flex: 1; }.driver-strip strong { display:block; font-size: 9px; }.driver-strip span { font-size: 8px; color: var(--muted); }

/* Academic hierarchy: stage > years > classes */
.academic-layout { display: grid; grid-template-columns: 1fr; gap: 14px; }
.year-list { padding: 0; overflow: hidden; }
.academic-stage-summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 18px 22px; border-right: 5px solid var(--primary); }
.academic-stage-summary span { color: var(--muted); font-size: 9px; }
.academic-stage-summary h2 { margin: 2px 0; color: var(--primary); font-size: 21px; }
.academic-stage-summary p { margin: 0; color: var(--muted); font-size: 9px; }
.academic-tree { display: grid; gap: 16px; }
.academic-year-group { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 18px; box-shadow: var(--shadow); }
.academic-year-head { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding-bottom: 14px; margin-bottom: 14px; border-bottom: 1px solid var(--line); }
.academic-year-title { display: flex; align-items: center; gap: 12px; }
.tree-connector { width: 10px; height: 48px; border-radius: 7px; background: var(--primary); display: block; }
.academic-year-title span:not(.tree-connector) { color: var(--muted); font-size: 8px; }
.academic-year-title h3 { margin: 1px 0; font-size: 17px; color: var(--text); }
.academic-year-title p { margin: 0; color: var(--primary); font-size: 9px; font-weight: 700; }
.academic-year-actions { display: flex; gap: 6px; flex-wrap: wrap; }
.academic-year-actions button { border: 1px solid #dcd8f7; background: var(--primary-soft); color: var(--primary); border-radius: 8px; padding: 7px 10px; font-family: inherit; font-size: 9px; font-weight: 700; cursor: pointer; }
.academic-year-actions button.danger { color: var(--red); border-color: #f3d8dd; background: var(--red-soft); }
.academic-year-group .class-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.academic-year-group .class-card { position: relative; border-top: 3px solid var(--primary); }
.class-path { display: inline-block; margin-top: 10px; color: var(--muted); background: #f5f5fa; border-radius: 12px; padding: 4px 8px; font-size: 8px; direction: ltr; }
.year-empty, .academic-empty { grid-column: 1 / -1; padding: 24px; border: 1px dashed #d8d9e4; border-radius: 11px; text-align: center; color: var(--muted); background: #fafafd; }
.year-empty b, .academic-empty b { display: block; color: var(--text); margin-bottom: 8px; }
.year-empty button { border: 0; background: var(--primary); color: #fff; border-radius: 8px; padding: 7px 12px; font-family: inherit; font-size: 9px; cursor: pointer; }
.academic-empty span { display: block; font-size: 9px; }
.settings-grid { display: grid; grid-template-columns: 1fr 340px; gap: 18px; }.settings-form h2 { margin-top: 0; }.settings-form > label, .form-grid label { display: flex; flex-direction: column; gap: 6px; font-size: 10px; font-weight: 600; margin-bottom: 13px; }.settings-form textarea, .form-grid textarea { min-height: 75px; resize: vertical; }.logo-uploader { display: flex; align-items: center; gap: 15px; background: #fafafd; padding: 14px; border-radius: 10px; margin-bottom: 16px; }.logo-uploader div:nth-child(2) { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; }.logo-uploader span { color: var(--muted); font-size: 8px; }.logo-uploader .secondary-btn { margin-top: 5px; }.school-image-uploader { display: grid; grid-template-columns: minmax(230px, 1.2fr) 1fr; gap: 16px; align-items: center; padding: 14px; margin-bottom: 16px; border-radius: 10px; background: #fafafd; }.school-image-preview { min-height: 145px; border: 1px dashed #cfd2e2; border-radius: 10px; background: linear-gradient(135deg, var(--primary-soft), #fff); display: grid; place-items: center; overflow: hidden; color: var(--muted); font-size: 10px; }.school-image-preview img { width: 100%; height: 145px; object-fit: cover; }.school-image-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }.school-image-actions span { color: var(--muted); font-size: 8px; line-height: 1.8; }.school-image-actions .secondary-btn { margin-top: 5px; }.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }.settings-note { text-align: center; height: fit-content; padding: 40px 25px; }.note-icon { width: 60px; height: 60px; margin: 0 auto 15px; background: var(--green-soft); color: var(--green); display: grid; place-items: center; border-radius: 50%; font-size: 24px; }
.settings-section-title { margin: 24px 0 14px; padding: 14px; border-radius: 10px; background: var(--primary-soft); }.settings-section-title h2 { margin: 0 0 5px; color: var(--primary); }.settings-section-title p { margin: 0; color: var(--muted); font-size: 8px; line-height: 1.9; direction: ltr; text-align: left; }.settings-form textarea[name^="template"] { min-height: 95px; line-height: 1.8; }
.settings-section-title .rtl-note { direction: rtl; text-align: right; }
.job-title-manager { margin-bottom: 20px; }
.job-title-add { display: grid; grid-template-columns: 1fr auto; gap: 9px; margin-bottom: 11px; }
.job-title-add input { width: 100%; }
.job-title-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.job-title-chip { display: flex; justify-content: space-between; align-items: center; gap: 10px; border: 1px solid var(--line); border-radius: 9px; padding: 10px 12px; background: #fafafd; }
.job-title-chip strong { display: block; font-size: 10px; }
.job-title-chip span { display: block; color: var(--muted); font-size: 8px; margin-top: 2px; }
.job-title-chip button { border: 0; border-radius: 7px; padding: 5px 8px; color: var(--red); background: var(--red-soft); font-size: 8px; font-weight: 700; }
.modal-backdrop { position: fixed; inset: 0; background: rgba(20, 24, 45, .48); z-index: 50; display: none; place-items: center; padding: 20px; backdrop-filter: blur(2px); }.modal-backdrop.open { display: grid; }.modal { background: #fff; width: min(680px, 100%); max-height: 90vh; overflow-y: auto; border-radius: 16px; padding: 25px; position: relative; box-shadow: 0 25px 60px rgba(0,0,0,.18); }.modal-close { position: absolute; left: 17px; top: 15px; width: 30px; height: 30px; border-radius: 50%; border: 0; background: #f2f3f7; color: var(--muted); font-size: 19px; }.modal-title { margin: 0 0 3px; font-size: 19px; }.modal-subtitle { color: var(--muted); margin: 0 0 20px; font-size: 10px; }.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 12px; }.form-grid .full { grid-column: 1 / -1; }.form-grid input, .form-grid select, .form-grid textarea { width: 100%; }.modal-footer { border-top: 1px solid var(--line); padding-top: 16px; display: flex; justify-content: flex-end; gap: 8px; margin-top: 5px; }.cancel-btn { border: 0; background: #f1f2f6; color: var(--muted); border-radius: 8px; padding: 9px 17px; font-weight: 700; }.fuel-total-field input[readonly] { background: var(--green-soft); border-color: #bde7d2; color: #16845a; font-size: 15px; font-weight: 800; cursor: default; }
.modal.wide-modal { width: min(980px, 100%); }.modal.xl-modal { width: min(1180px, 100%); }.advance-insights { margin: 4px 0 16px; }.advance-insight-card { border: 1px solid #d9d4f6; border-radius: 14px; padding: 18px; background: linear-gradient(135deg, var(--primary-soft), #fff 55%); }.advance-insight-head { display: flex; justify-content: space-between; align-items: center; gap: 14px; margin-bottom: 14px; }.advance-insight-head > div { display: grid; gap: 4px; }.advance-insight-head span { color: var(--muted); font-size: 10px; font-weight: 700; }.advance-insight-head strong { color: var(--text); font-size: 14px; }.advance-insight-head > small { padding: 6px 10px; border-radius: 999px; background: #fff; color: var(--primary); font-size: 9px; font-weight: 800; white-space: nowrap; }.advance-summary-grid { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 10px; }.advance-summary-grid > div { min-height: 118px; display: flex; flex-direction: column; justify-content: center; gap: 7px; padding: 15px; border: 1px solid rgba(101, 80, 216, .13); border-radius: 11px; background: rgba(255, 255, 255, .9); text-align: center; }.advance-summary-grid span { color: var(--muted); font-size: 10px; font-weight: 700; }.advance-summary-grid strong { color: var(--primary); font-size: 24px; line-height: 1.35; }.advance-summary-date strong { font-size: 20px; }.advance-summary-grid small { color: var(--muted); font-size: 9px; }.advance-summary-total { box-shadow: 0 9px 22px rgba(101, 80, 216, .08); }.advance-summary-empty { padding: 28px 16px; border: 1px dashed #cfc8f4; border-radius: 11px; background: rgba(255, 255, 255, .75); color: var(--muted); text-align: center; font-size: 11px; font-weight: 700; }
.student-bus-installments { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 12px; margin-bottom: 12px; border: 1px solid #dedaf8; border-radius: 12px; background: #faf9ff; }
.student-bus-installments label { margin: 0; flex-direction: row; align-items: center; gap: 8px; color: var(--text); }
.student-bus-installments input { width: auto; min-height: auto; accent-color: var(--primary); }
.bus-load-filters { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 14px; padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: #fafafd; }
.bus-load-filters label { display: flex; flex-direction: column; gap: 6px; font-size: 13px; font-weight: 800; color: var(--text); }
.bus-load-filters input, .bus-load-filters select { border: 1px solid var(--line); border-radius: 9px; min-height: 43px; padding: 9px 11px; font-family: inherit; font-size: 14px; background: #fff; }
.bus-load-table-wrap table { min-width: 760px; }
.bus-load-check-column{width:54px;min-width:54px;text-align:center!important}
.bus-load-check-column input{width:20px;height:20px;accent-color:var(--primary);cursor:pointer}
.bus-load-save-footer{align-items:center}.bus-load-save-footer>span{margin-inline-end:auto;color:var(--muted);font-weight:800}
.bus-load-save-footer button:disabled{opacity:.5;cursor:not-allowed}
.clickable-row { cursor: pointer; }
.clickable-row:hover { background: var(--primary-soft); }
.clickable-row small { display: block; color: var(--muted); margin-top: 4px; }
.bus-students-wrap table { min-width: 1080px; }
.student-operation-wrap table { min-width: 1100px; }
.bus-students-wrap input, .bus-students-wrap select, .boarding-content input { border: 1px solid var(--line); border-radius: 8px; padding: 8px 10px; min-width: 150px; font-family: inherit; background: #fff; }
.bus-students-filters { display: grid; grid-template-columns: repeat(3, minmax(185px, 1fr)); align-items: end; gap: 12px; margin: 16px 0; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: #fafafd; }
.bus-students-hero { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.bus-auto-route-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 9px; }
.bus-route-readiness { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 14px 0; }
.bus-route-readiness > div { padding: 13px 14px; border: 1px solid var(--line); border-radius: 11px; background: #fff; }
.bus-route-readiness span, .bus-route-readiness strong { display: block; }
.bus-route-readiness span { color: var(--muted); font-size: 10px; line-height: 1.6; }
.bus-route-readiness strong { margin-top: 4px; color: var(--text); font-size: 18px; }
.bus-route-readiness .warning { border-color: #f0c9a2; background: #fff9f1; }
.bus-route-readiness .warning strong { color: #b05b0c; }
.bus-route-readiness .ready { border-color: #bce6cd; background: #f1fbf5; }
.bus-route-readiness .ready strong { color: #14814d; }
.database-backup-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 16px; border: 1px solid #d8e3ff; border-radius: 12px; background: #f7f9ff; }
.database-backup-actions > span { color: var(--muted); font-size: 11px; }
.bus-students-filters label { display: grid; gap: 6px; color: var(--text); font-size: 12px; font-weight: 800; }
.bus-students-filters select, .bus-students-filters input[type="search"] { min-height: 43px; border: 1px solid var(--line); border-radius: 9px; padding: 8px 10px; background: #fff; color: var(--text); font: inherit; }
.bus-students-filter-actions { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; padding-top: 2px; }
.bus-student-view-actions, .bus-student-export-actions { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.bus-student-action-filter, .bus-student-sort-control { display: flex!important; grid-template-columns:none!important; flex-direction:row; align-items:center; gap:8px!important; min-height:41px; padding:0 10px; border:1px solid #cec8f7; border-radius:9px; background:#f6f4ff; color:#4c3fc0!important; white-space:nowrap; }
.bus-student-action-filter select, .bus-student-sort-control select { min-height:31px!important; padding:3px 8px!important; border-color:#d7d2f6!important; font-size:11px; font-weight:800; }
.bus-students-filter-actions .secondary-btn { min-height: 41px; white-space: nowrap; }
.bus-students-filter-actions .excel-export-btn { color: #167451; border: 1px solid #bde7d2; background: var(--green-soft); }
.bus-students-filter-actions .missing-location-export-btn { color: #a95708; border-color: #f0c69b; background: #fff8ee; }
.bus-students-filter-actions .area-groups-btn { color: #4c3fc0; border-color: #cec8f7; background: #f6f4ff; }
.bus-student-result-count { justify-self: end; align-self: center; padding: 8px 13px; border-radius: 18px; background: var(--primary-soft); color: var(--primary); font-weight: 800; }
.bus-students-wrap td:nth-child(2), .bus-students-wrap th:nth-child(2) { min-width: 180px; }
.bus-students-wrap .bus-student-serial { width: 54px; min-width: 54px; text-align: center; font-weight: 800; }
.bus-student-class { min-width: 84px; white-space: nowrap; direction: ltr; text-align: center; font-weight: 800; }
.bus-student-phone { min-width: 135px; direction: ltr; text-align: center; white-space: nowrap; }
.bus-student-phone a { color: var(--primary); text-decoration: none; font-weight: 800; }
.bus-student-address { min-width: 330px; line-height: 1.8; }
.bus-student-vehicle { min-width: 165px; color: var(--primary); font-weight: 800; }
.bus-student-boarding-time { min-width: 140px; direction: ltr; text-align: center; white-space: nowrap; font-weight: 800; }
.bus-students-panel.class-lists-mode .bus-student-full-only { display: none; }
.bus-students-panel.class-lists-mode .bus-students-wrap table { min-width: 700px; }
.bus-student-class-lists-btn.primary-btn { box-shadow: 0 7px 16px rgba(104, 86, 217, 0.2); }
.bus-students-wrap .area-input { min-width: 210px; }
.bus-students-wrap .address-input { min-width: 320px; }
.bus-students-wrap .landmark-input { min-width: 260px; }
.modal.bus-students-modal { overflow: hidden; }
.bus-students-panel { display: flex; flex-direction: column; min-height: 0; max-height: calc(90vh - 50px); overflow: hidden; }
.bus-students-scroll-content { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; padding-inline: 2px; }
.bus-students-wrap { height: auto; min-height: 240px; overflow-x: auto; overflow-y: visible; scrollbar-gutter: stable both-edges; overscroll-behavior: contain; }
.bus-students-wrap thead th { position: static; box-shadow: 0 1px 0 var(--line); }
.bus-students-wrap::-webkit-scrollbar { width: 12px; height: 15px; }
.bus-students-wrap::-webkit-scrollbar-track { background: #eeedf5; border-radius: 999px; }
.bus-students-wrap::-webkit-scrollbar-thumb { background: #878294; border: 3px solid #eeedf5; border-radius: 999px; }
.bus-students-wrap::-webkit-scrollbar-thumb:hover { background: #625d70; }
.bus-students-wrap { scrollbar-width: auto; scrollbar-color: #878294 #eeedf5; }
.bus-students-scroll-content::-webkit-scrollbar { width: 12px; }
.bus-students-scroll-content::-webkit-scrollbar-track { background: #eeedf5; border-radius: 999px; }
.bus-students-scroll-content::-webkit-scrollbar-thumb { background: #878294; border: 3px solid #eeedf5; border-radius: 999px; }
.bus-students-scroll-content { scrollbar-width: auto; scrollbar-color: #878294 #eeedf5; }
.bus-student-data-filter { position: relative; }
.bus-student-data-filter summary { list-style: none; min-height: 41px; display: inline-flex; align-items: center; padding: 0 13px; border: 1px solid var(--line); border-radius: 9px; background: #fff; color: var(--primary); font-weight: 800; cursor: pointer; white-space: nowrap; }
.bus-student-data-filter summary::-webkit-details-marker { display: none; }
.bus-student-data-filter-menu { position: absolute; inset-inline-end: 0; top: calc(100% + 6px); z-index: 12; min-width: 230px; display: grid; gap: 4px; padding: 7px; border: 1px solid var(--line); border-radius: 12px; background: #fff; box-shadow: var(--shadow); }
.bus-student-data-filter-menu button { border: 0; border-radius: 8px; padding: 10px 12px; background: transparent; color: var(--text); font-family: inherit; font-weight: 700; text-align: start; cursor: pointer; }
.bus-student-data-filter-menu button:hover { background: var(--primary-soft); color: var(--primary); }
.modal.bus-students-modal { display: flex; flex-direction: column; }
.modal.bus-students-modal #modalContent { flex: 1 1 auto; min-height: 0; display: flex; }
.modal.bus-students-modal .bus-students-panel { width: 100%; height: calc(90vh - 104px); max-height: none; gap: 10px; }
.modal.bus-students-modal.maximized .bus-students-panel { height: calc(100vh - 104px); }
.modal.bus-students-modal .bus-students-hero { flex: 0 0 auto; padding: 13px 17px; border-radius: 14px; }
.modal.bus-students-modal .bus-students-hero .modal-subtitle { margin-bottom: 0; }
.modal.bus-students-modal .bus-route-readiness { flex: 0 0 auto; gap: 8px; margin: 0; }
.modal.bus-students-modal .bus-route-readiness > div { padding: 8px 12px; }
.modal.bus-students-modal .bus-route-readiness span { line-height: 1.35; }
.modal.bus-students-modal .bus-route-readiness strong { margin-top: 1px; font-size: 16px; }
.modal.bus-students-modal .bus-students-filters { flex: 0 0 auto; gap: 9px; margin: 0; padding: 9px 11px; }
.modal.bus-students-modal .bus-students-filters label { gap: 3px; }
.modal.bus-students-modal .bus-students-filters select { min-height: 38px; padding-block: 5px; }
.modal.bus-students-modal .bus-students-filter-actions .secondary-btn { min-height: 38px; }
.modal.bus-students-modal .bus-student-result-count { padding-block: 6px; }
.modal.bus-students-modal .bus-students-wrap { height: auto; min-height: 240px; margin-top: 2px; }
.modal.bus-area-groups-modal { overflow: hidden; }
.bus-area-groups-screen { display: flex; flex-direction: column; width: 100%; height: calc(90vh - 104px); min-height: 0; gap: 12px; }
.bus-area-groups-hero { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex: 0 0 auto; padding: 14px 18px; }
.bus-area-groups-hero .modal-subtitle { margin-bottom: 0; }
.bus-area-groups-summary { display: flex; align-items: center; gap: 9px; padding: 10px 14px; border: 1px solid #d9d3fb; border-radius: 12px; background: rgba(255,255,255,.82); white-space: nowrap; }
.bus-area-groups-summary strong { color: var(--primary); font-size: 24px; }
.bus-area-groups-summary span { color: var(--muted); font-size: 11px; font-weight: 800; }
.bus-area-groups-summary b { padding-inline-start: 10px; border-inline-start: 1px solid var(--line); color: var(--text); font-size: 12px; }
.bus-area-groups-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex: 0 0 auto; }
.bus-area-groups-toolbar span { color: var(--muted); font-size: 11px; font-weight: 800; }
.bus-area-groups-list { flex: 1 1 auto; min-height: 0; overflow-y: auto; display: flex; flex-direction: column; align-items: stretch; gap: 14px; padding-inline-end: 4px; scrollbar-gutter: stable; }
.bus-area-group-card { display: block; flex: 0 0 auto; min-height: 120px; overflow: hidden; border: 1px solid #dedaf5; border-radius: 14px; background: #fff; box-shadow: 0 7px 18px rgba(57,45,126,.06); }
.bus-area-group-card > header { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 11px 15px; background: linear-gradient(135deg, #f5f2ff, #fff); border-bottom: 1px solid #e5e1f7; }
.bus-area-group-card > header span { display: block; color: var(--muted); font-size: 9px; font-weight: 800; }
.bus-area-group-card > header h3 { margin: 2px 0 0; color: var(--text); font-size: 17px; }
.bus-area-group-card > header > strong { padding: 6px 11px; border-radius: 999px; background: var(--primary); color: #fff; font-size: 11px; }
.bus-area-group-table { max-height: 340px; overflow: auto; }
.bus-area-group-table table { min-width: 1180px; }
.bus-area-group-table th { position: sticky; top: 0; z-index: 1; background: #faf9ff; }
.bus-area-group-table th, .bus-area-group-table td { padding: 9px 10px; }
.bus-area-group-table td:nth-child(2) { min-width: 190px; }
.area-location-link { color: var(--primary); font-weight: 800; text-decoration: none; white-space: nowrap; }
.modal.bus-area-groups-modal.maximized .bus-area-groups-screen { height: calc(100vh - 104px); }
.employee-services-panel .employee-service-request.access-permission-hidden { display: grid !important; }
.boarding-content { margin-top: 16px; display: grid; gap: 14px; }
.boarding-head { display: grid; grid-template-columns: 1fr 280px; gap: 14px; align-items: stretch; padding: 14px; border: 1px solid var(--line); border-radius: 14px; background: linear-gradient(135deg, #fff, #faf9ff); }
.boarding-head h3 { margin: 0 0 4px; color: var(--text); font-size: 20px; }
.boarding-head p { margin: 0; color: var(--muted); }
.boarding-head table { min-width: 0; box-shadow: none; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.boarding-head th, .boarding-head td { text-align: center; padding: 8px; font-size: 12px; }
.student-operation-actions { display: flex; align-items: end; gap: 8px; }
.trip-checkbox { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 800; color: var(--text); }
.trip-checkbox input { width: auto; min-height: auto; accent-color: var(--primary); }
.student-operation-total { margin-top: 14px; gap: 7px; }
.student-operation-total small { color: var(--muted); font-weight: 800; }
.student-operation-search { grid-template-columns: minmax(260px, 1fr) 1.8fr; align-items: end; }
.student-operation-actions .secondary-btn { min-height: 48px; }
.student-operation-panel #studentBusOperationTable { align-items: stretch; }
.boarding-panel .boarding-content { margin-top: 0; align-items: stretch; }
.discount-history { margin-top: 8px; }
.discount-history .active-row { background: #f4f0ff; }
.report-controls { margin-bottom: 15px; }
.report-type-picker { display: flex; align-items: flex-end; gap: 10px; padding-bottom: 14px; margin-bottom: 14px; border-bottom: 1px solid var(--line); }
.report-type-picker label { flex: 1; max-width: 410px; display: flex; flex-direction: column; gap: 6px; color: var(--muted); font-size: 9px; font-weight: 700; }
.report-type-picker select, .report-filters input, .report-filters select { width: 100%; min-height: 39px; border: 1px solid var(--line); border-radius: 8px; padding: 8px 10px; outline: 0; background: #fff; color: var(--text); }
.report-filters { display: grid; grid-template-columns: repeat(5, minmax(130px, 1fr)); gap: 10px; }
.report-filters label { display: flex; flex-direction: column; gap: 5px; color: var(--muted); font-size: 8px; font-weight: 700; }
.report-filters [hidden] { display: none; }
.report-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 15px; }
.report-summary-card { min-height: 88px; padding: 16px; border-radius: 12px; border: 1px solid var(--line); background: #fff; box-shadow: var(--shadow); border-right: 4px solid var(--primary); }
.report-summary-card span { display: block; color: var(--muted); font-size: 9px; }
.report-summary-card strong { display: block; margin-top: 7px; font-size: 19px; }
.report-summary-card.green { border-right-color: var(--green); }.report-summary-card.blue { border-right-color: var(--blue); }.report-summary-card.orange { border-right-color: var(--orange); }.report-summary-card.red { border-right-color: var(--red); }
.report-result { padding: 17px; }
.report-result .panel-head { margin-bottom: 13px; }
.report-table-wrap { border-radius: 10px; box-shadow: none; }
.report-table-wrap table { min-width: 900px; }
.report-table-wrap th, .report-table-wrap td { text-align: center; white-space: nowrap; }

.id-card-gallery { display: grid; gap: 22px; }
.id-card-gallery[hidden] { display: none; }
.id-card-person-set { display: grid; grid-template-columns: repeat(2, minmax(230px, 1fr)); gap: 18px; padding: 18px; border: 1px solid var(--line); border-radius: 18px; background: #f8f8fc; }
.id-card-face-wrap { display: grid; justify-items: center; gap: 7px; min-width: 0; }
.id-card-side-label { color: var(--muted); font-size: 11px; font-weight: 800; }
.school-id-card { --card-primary: #21386f; --card-accent: #c6263c; position: relative; width: 54mm; height: 85.6mm; max-width: 100%; overflow: hidden; border: 1px solid rgba(32, 48, 94, .18); border-radius: 4mm; background: linear-gradient(160deg, #fff 0 68%, #f3f5fb 100%); color: #17213f; box-shadow: 0 10px 28px rgba(31, 42, 82, .16); direction: rtl; display: grid; grid-template-rows: 15mm 1fr 7mm; isolation: isolate; }
.school-id-card.student-card { --card-primary: #263d78; --card-accent: #d22945; }
.school-id-card.employee-card { --card-primary: #176a70; --card-accent: #d39b2f; background: linear-gradient(160deg, #fff 0 68%, #eef8f7 100%); }
.school-id-card.guardian-card { --card-primary: #684b8d; --card-accent: #c65f82; background: linear-gradient(160deg, #fff 0 68%, #f7f1fa 100%); }
.school-id-card.employee-card .id-card-corner-mark { width: 21mm; }
.school-id-card.guardian-card .id-card-corner-mark { width: 31mm; }
.school-id-card.card-back { grid-template-rows: 1fr 7mm; }
.school-id-card::before { content: ""; position: absolute; inset: auto -18mm -18mm auto; width: 55mm; height: 55mm; border: 7mm solid color-mix(in srgb, var(--card-primary) 13%, transparent); border-radius: 50%; z-index: -1; }
.school-id-card::after { content: ""; position: absolute; inset: 0 auto 0 0; width: 3.2mm; background: linear-gradient(var(--card-accent), var(--card-primary)); }
.id-card-corner-mark { position: absolute; top: 0; right: 0; width: 25mm; height: 2.4mm; background: linear-gradient(90deg, var(--card-primary), var(--card-accent)); border-radius: 0 0 0 3mm; }
.id-card-header { display: flex; align-items: center; justify-content: space-between; gap: 2.5mm; padding: 3.6mm 4.5mm 1.6mm 4mm; border-bottom: .35mm solid #e2e5ef; }
.id-card-header strong { flex: 1; color: var(--card-primary); font-size: 2.75mm; line-height: 1.35; text-align: left; font-weight: 900; }
.id-card-logo { width: 9mm; height: 9mm; flex: 0 0 9mm; display: grid; place-items: center; overflow: hidden; border-radius: 50%; background: #fff; border: .35mm solid #d8dbea; color: var(--card-primary); font-size: 4mm; font-weight: 900; }
.id-card-logo img { width: 100%; height: 100%; object-fit: contain; }
.id-card-front-content { min-height: 0; display: grid; justify-items: center; align-content: center; gap: 2.2mm; padding: 3mm 4.5mm 2mm; }
.id-card-photo, .id-card-qr { width: 27mm; height: 30mm; display: grid; place-items: center; overflow: hidden; border-radius: 3mm; background: #e9eaf5; border: .7mm solid #fff; box-shadow: 0 1.2mm 3mm rgba(38, 47, 87, .17); }
.id-card-photo img { width: 100%; height: 100%; object-fit: cover; }
.id-card-photo > span { color: var(--card-primary); font-size: 9mm; font-weight: 900; }
.id-card-front-content h3 { width: 100%; min-height: 9mm; margin: 0; color: #17213f; text-align: center; font-size: 3.6mm; line-height: 1.4; font-weight: 900; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.id-card-role { display: flex; align-items: center; justify-content: center; gap: 2mm; color: var(--card-primary); font-size: 3.3mm; }
.id-card-role b { font-weight: 900; }
.student-card .id-card-front-content:has(.id-card-guardian) { gap: 1.05mm; padding-top: 2mm; padding-bottom: 1.5mm; }
.student-card .id-card-front-content:has(.id-card-guardian) .id-card-photo { width: 24mm; height: 26mm; }
.student-card .id-card-front-content:has(.id-card-guardian) h3 { min-height: 7.5mm; font-size: 3.25mm; line-height: 1.3; }
.id-card-guardian { width: 100%; min-height: 11mm; padding-top: .8mm; display: grid; justify-items: center; align-content: center; gap: .25mm; border-top: .25mm solid #e2e5ef; text-align: center; }
.id-card-guardian small { color: var(--card-accent); font-size: 2.2mm; font-weight: 800; line-height: 1.15; }
.id-card-guardian strong { max-width: 100%; color: var(--card-accent); font-size: 3.55mm; font-weight: 900; line-height: 1.2; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.guardian-card-content { min-height: 0; padding: 2.5mm 4.2mm 1.8mm; display: grid; grid-template-rows: auto 1fr; align-content: center; gap: 2mm; }
.guardian-card-names { display: grid; gap: 1mm; text-align: center; }
.guardian-card-names > div { display: grid; justify-items: center; gap: .3mm; }
.guardian-card-names small { color: var(--card-accent); font-size: 1.9mm; font-weight: 900; }
.guardian-card-names strong { max-width: 100%; color: var(--card-primary); font-size: 3mm; line-height: 1.25; font-weight: 900; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.guardian-card-children { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center; justify-items: center; align-content: center; gap: 1.5mm 2mm; }
.guardian-card-child { width: 100%; min-width: 0; display: grid; justify-items: center; gap: .35mm; }
.guardian-child-photo { width: 15mm; height: 17mm; display: grid; place-items: center; overflow: hidden; border-radius: 2.4mm; border: .65mm solid #fff; background: #e9eaf5; box-shadow: 0 1mm 2.5mm rgba(38,47,87,.16); }
.guardian-child-photo img { width: 100%; height: 100%; object-fit: cover; }
.guardian-child-photo span { color: var(--card-primary); font-size: 5mm; font-weight: 900; }
.guardian-child-name { width: 100%; color: var(--card-primary); font-size: 2mm; line-height: 1.12; font-weight: 900; text-align: center; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.guardian-child-class { color: var(--card-accent); font-size: 2.35mm; line-height: 1.1; font-weight: 900; }
.guardian-card-children.guardian-children-1 { grid-template-columns: 1fr; }
.guardian-card-children.guardian-children-1 .guardian-child-photo { width: 20mm; height: 22mm; }
.guardian-card-children.guardian-children-1 .guardian-child-name { font-size: 2.55mm; }
.guardian-card-children.guardian-children-1 .guardian-child-class { font-size: 2.7mm; }
.guardian-card-children.guardian-children-4 .guardian-child-photo { width: 11mm; height: 12mm; }
.guardian-card-children.guardian-children-3, .guardian-card-children.guardian-children-5, .guardian-card-children.guardian-children-6 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap-inline: 1mm; }
.guardian-card-children.guardian-children-5 .guardian-child-photo, .guardian-card-children.guardian-children-6 .guardian-child-photo { width: 9.5mm; height: 10mm; }
.guardian-card-children.guardian-children-4 .guardian-child-name, .guardian-card-children.guardian-children-5 .guardian-child-name, .guardian-card-children.guardian-children-6 .guardian-child-name { font-size: 1.55mm; -webkit-line-clamp: 1; }
.guardian-card-children.guardian-children-4 .guardian-child-class, .guardian-card-children.guardian-children-5 .guardian-child-class, .guardian-card-children.guardian-children-6 .guardian-child-class { font-size: 1.85mm; }
.id-card-bus { width: 7.5mm; height: 7.5mm; display: inline-grid; place-items: center; border-radius: 2mm; background: #fff5c7; border: .3mm solid #f2cf53; }
.id-card-bus svg { width: 6.3mm; height: 6.3mm; }
.school-id-card footer { align-self: end; padding: 1.5mm 3mm 1.7mm; color: #fff; background: linear-gradient(90deg, var(--card-primary), color-mix(in srgb, var(--card-primary) 78%, #fff)); direction: ltr; text-align: center; font-size: 2.35mm; font-weight: 800; letter-spacing: .25mm; }
.id-card-back-content { display: grid; justify-items: center; align-content: center; gap: 2.2mm; padding: 8mm 4mm 3mm; transform: translateY(-2.5mm); }
.id-card-back-content > span { color: var(--muted); font-size: 2.9mm; }
.id-card-back-content > b { color: var(--card-primary); font-size: 4mm; }
.id-card-back-content > small { color: var(--muted); font-size: 2.3mm; direction: ltr; }
.id-card-qr { width: 31mm; height: 34mm; border-radius: 2.4mm; padding: 1.5mm; background: #fff; }
.id-card-qr .school-qr-svg { width: 100%; height: 100%; }
.id-card-qr.id-card-barcode { width: 43mm; height: 25mm; padding: 1.2mm; }
.school-barcode-svg { display: block; width: 100%; height: 100%; }
.id-card-no-qr { font-weight: 900; color: var(--card-primary); }
.id-card-print-heading { display: flex; justify-content: space-between; align-items: center; margin-bottom: 5mm; padding-bottom: 2mm; border-bottom: .5mm solid #333; font-size: 11pt; }
.id-card-print-grid { display: grid; grid-template-columns: 1fr; gap: 5mm; justify-content: center; }
.id-card-print-grid .id-card-person-set { display: grid; grid-template-columns: repeat(2, 54mm); gap: 6mm; justify-content: center; break-inside: avoid; page-break-inside: avoid; }

@media (max-width: 1050px) {
  .id-card-person-set { grid-template-columns: 1fr; }
}

/* Premium dashboard */
#page-dashboard { --dash-navy: #141a38; --dash-purple: #6655e8; --dash-blue: #3487e8; --dash-green: #23ae78; --dash-orange: #f39a3f; }
#page-dashboard .welcome-banner { min-height: 286px; border-radius: 24px; padding: 38px 44px; box-shadow: 0 24px 55px rgba(35, 31, 86, .18); isolation: isolate; }
#page-dashboard .welcome-banner:before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(100deg, rgba(13, 18, 45, .1) 0%, rgba(19, 22, 55, .76) 72%, rgba(28, 27, 74, .88) 100%); }
#page-dashboard .welcome-banner:after { z-index: 1; background: radial-gradient(circle at 15% 20%, rgba(255,255,255,.18), transparent 28%), linear-gradient(90deg, rgba(13,18,38,.08), rgba(13,18,38,.2)); opacity: 1; }
#page-dashboard .school-hero-content { z-index: 3; max-width: 690px; }
.hero-kicker { display: inline-flex; align-items: center; gap: 8px; padding: 7px 12px; margin-bottom: 8px; border: 1px solid rgba(255,255,255,.24); border-radius: 30px; background: rgba(255,255,255,.12); backdrop-filter: blur(10px); color: #fff; font-size: 9px; font-weight: 700; text-shadow: none; }
.hero-kicker i { width: 7px; height: 7px; border-radius: 50%; background: #72e5af; box-shadow: 0 0 0 5px rgba(114,229,175,.13); }
#page-dashboard .welcome-banner h1 { max-width: 720px; margin: 5px 0 4px; font-size: clamp(25px, 3vw, 38px); font-weight: 800; letter-spacing: -.5px; }
#page-dashboard .welcome-banner p { max-width: 590px; margin: 0 0 24px; color: rgba(255,255,255,.83); font-size: 12px; line-height: 1.9; }
.hero-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.hero-actions button { min-height: 43px; border: 0; border-radius: 12px; padding: 10px 17px; display: inline-flex; align-items: center; gap: 9px; font-weight: 700; font-size: 10px; transition: transform .2s, box-shadow .2s, background .2s; }
.hero-actions button:hover { transform: translateY(-2px); }
.hero-primary-action { background: #fff; color: #5343cc; box-shadow: 0 10px 24px rgba(0,0,0,.18); }
.hero-primary-action span { width: 22px; height: 22px; border-radius: 7px; display: grid; place-items: center; color: #fff; background: var(--dash-green); }
.hero-secondary-action { color: #fff; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.25) !important; backdrop-filter: blur(10px); }
.hero-date-card { position: absolute; z-index: 4; left: 28px; top: 27px; width: 118px; min-height: 104px; padding: 15px; display: flex; flex-direction: column; justify-content: center; border: 1px solid rgba(255,255,255,.24); border-radius: 18px; background: rgba(20,25,55,.3); backdrop-filter: blur(15px); text-align: center; box-shadow: 0 14px 30px rgba(0,0,0,.12); }
.hero-date-card span { color: rgba(255,255,255,.7); font-size: 8px; }
.hero-date-card strong { margin: 3px 0; color: #fff; font-size: 18px; }
.hero-date-card b { color: rgba(255,255,255,.8); font-size: 8px; font-weight: 500; }
#page-dashboard .banner-art { z-index: 2; opacity: .55; }
#page-dashboard .dashboard-stats { gap: 16px; margin: 20px 0; }
#page-dashboard .modern-stat { min-height: 148px; padding: 18px 20px; display: block; position: relative; overflow: hidden; border: 0; border-radius: 18px; box-shadow: 0 12px 35px rgba(34,39,75,.07); transition: transform .2s ease, box-shadow .2s ease; }
#page-dashboard .modern-stat:hover { transform: translateY(-4px); box-shadow: 0 18px 38px rgba(34,39,75,.12); }
#page-dashboard .modern-stat:after { content: ""; position: absolute; width: 105px; height: 105px; left: -36px; bottom: -55px; border-radius: 50%; opacity: .45; }
#page-dashboard .purple-stat:after { background: #e9e4ff; }.blue-stat:after { background: #deefff; }.green-stat:after { background: #dcf7eb; }.orange-stat:after { background: #fff0dc; }
.stat-top { display: flex; align-items: center; justify-content: space-between; }
#page-dashboard .stat-icon { width: 43px; height: 43px; border-radius: 13px; font-size: 18px; }
.stat-trend { padding: 5px 9px; border-radius: 20px; font-size: 7px; font-weight: 700; }
.stat-trend.neutral { color: #777e94; background: #f4f5f8; }.stat-trend.positive { color: var(--green); background: var(--green-soft); }.stat-trend.warning { color: var(--orange); background: var(--orange-soft); }
.stat-main { display: flex; align-items: baseline; gap: 9px; margin-top: 11px; }
#page-dashboard .stat-main strong { margin: 0; color: var(--dash-navy); font-size: 30px; line-height: 1; }
#page-dashboard .stat-main span { color: #656d85; font-size: 9px; font-weight: 600; }
.stat-foot { display: flex; align-items: center; gap: 6px; margin-top: 12px; color: #9aa0b2; }
.stat-foot i { width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.stat-foot small { font-size: 8px; }
.purple-stat .stat-foot { color: #7968df; }.blue-stat .stat-foot { color: #4896df; }.green-stat .stat-foot { color: #37ae80; }.orange-stat .stat-foot { color: #e99a49; }
.dashboard-main-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(330px, .75fr); gap: 18px; margin-bottom: 18px; }
.dashboard-secondary-grid { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(370px, .88fr); gap: 18px; margin-bottom: 18px; }
#page-dashboard .dashboard-panel { padding: 22px; border: 0; border-radius: 19px; box-shadow: 0 12px 38px rgba(35,39,75,.065); }
.modern-panel-head { align-items: center; margin-bottom: 21px; }
.modern-panel-head > div:first-child { display: flex; align-items: center; gap: 11px; }
#page-dashboard .modern-panel-head h2 { color: var(--dash-navy); font-size: 13px; }
#page-dashboard .modern-panel-head p { margin-top: 3px; font-size: 8px; }
.section-icon { width: 39px; height: 39px; border-radius: 12px; display: grid; place-items: center; font-size: 15px; flex: 0 0 auto; }
.section-icon.green { color: var(--green); background: var(--green-soft); }.section-icon.orange { color: var(--orange); background: var(--orange-soft); }.section-icon.blue { color: var(--blue); background: var(--blue-soft); }.section-icon.purple { color: var(--primary); background: var(--primary-soft); }.section-icon.pink { background: #fff0f5; }
.modern-text-btn { padding: 7px 10px; border: 0; border-radius: 9px; color: var(--primary); background: var(--primary-soft); font-size: 8px; font-weight: 700; }
#page-dashboard .attendance-summary { min-height: 190px; gap: 46px; padding: 8px 5px 4px; }
#page-dashboard .donut { width: 157px; height: 157px; background: conic-gradient(var(--dash-green) calc(var(--p) * 1%), #eef0f5 0); box-shadow: inset 0 0 0 1px #eef0f5; }
#page-dashboard .donut:before { width: 115px; height: 115px; box-shadow: 0 5px 20px rgba(35,39,75,.06); }
#page-dashboard .donut strong { color: var(--dash-navy); font-size: 25px; }
#page-dashboard .donut span { font-size: 8px; }
.attendance-breakdown { flex: 1; display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; }
.attendance-metric { min-height: 105px; padding: 13px 11px; border-radius: 13px; background: #fafbfe; border: 1px solid #f0f1f6; }
.attendance-metric > span { display: flex; align-items: center; gap: 6px; color: #7b8298; font-size: 8px; }
.attendance-metric > span i { width: 7px; height: 7px; border-radius: 50%; }
.attendance-metric.present > span i { background: var(--green); }.attendance-metric.absent > span i { background: var(--red); }.attendance-metric.unrecorded > span i { background: #aeb3c2; }
.attendance-metric strong { display: block; margin: 12px 0 1px; color: var(--dash-navy); font-size: 23px; }
.attendance-metric small { color: #a1a6b7; font-size: 7px; }
.requests-dashboard-panel { display: flex; flex-direction: column; }
.requests-dashboard-panel .request-mini-list { flex: 1; display: grid; align-content: start; gap: 7px; min-height: 176px; }
.modern-mini-request { padding: 10px; border: 1px solid #f0f1f5; border-radius: 12px; background: #fbfbfe; }
.modern-mini-request:last-child { border-bottom: 1px solid #f0f1f5; }
.modern-mini-request > small { color: #9ca2b4; font-size: 7px; white-space: nowrap; }
.request-type-icon { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; color: var(--orange); background: var(--orange-soft); font-weight: 800; }
.request-type-icon.advance { color: var(--green); background: var(--green-soft); }
.dashboard-empty-state { min-height: 170px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.dashboard-empty-state > span { width: 45px; height: 45px; margin-bottom: 10px; border-radius: 14px; display: grid; place-items: center; color: var(--green); background: var(--green-soft); font-size: 18px; }
.dashboard-empty-state b { color: var(--dash-navy); font-size: 10px; }.dashboard-empty-state p { margin-top: 4px; color: #9ca2b4; font-size: 8px; }
.dashboard-view-all { width: 100%; min-height: 37px; margin-top: 12px; border: 0; border-radius: 10px; display: flex; justify-content: center; align-items: center; gap: 8px; color: var(--primary); background: #f4f2ff; font-size: 8px; font-weight: 700; }
#page-dashboard .count-badge { padding: 5px 10px; }
#page-dashboard .fleet-row { min-height: 142px; gap: 10px; justify-content: space-between; }
#page-dashboard .fleet-visual { min-width: 130px; padding: 16px 18px; border-radius: 15px; color: #fff; background: linear-gradient(145deg, #5366da, #7356d8); box-shadow: 0 12px 24px rgba(94,82,205,.2); }
#page-dashboard .fleet-visual .bus { font-size: 33px; }
#page-dashboard .fleet-visual strong { display: block; margin-top: 1px; font-size: 22px; }
#page-dashboard .fleet-visual span { color: rgba(255,255,255,.75); font-size: 7px; }
#page-dashboard .fleet-stat { min-width: 87px; padding: 16px 10px; border: 0; border-radius: 14px; background: #fafbfe; }
#page-dashboard .fleet-stat i { width: 8px; height: 8px; display: block; margin: 0 auto 8px; border-radius: 50%; }
#page-dashboard .fleet-stat.active i { background: var(--green); box-shadow: 0 0 0 5px var(--green-soft); }.fleet-stat.owned i { background: var(--blue); box-shadow: 0 0 0 5px var(--blue-soft); }.fleet-stat.danger i { background: var(--red); box-shadow: 0 0 0 5px var(--red-soft); }
#page-dashboard .fleet-stat strong { color: var(--dash-navy); font-size: 21px; }
#page-dashboard .fleet-stat span { font-size: 7px; }
#page-dashboard .quick-actions { grid-template-columns: 1fr 1fr; gap: 9px; }
#page-dashboard .quick-actions button { min-height: 65px; padding: 10px; display: grid; grid-template-columns: 38px 1fr auto; align-items: center; gap: 9px; border: 1px solid #eef0f5; border-radius: 13px; text-align: right; transition: transform .2s, border-color .2s, box-shadow .2s; }
#page-dashboard .quick-actions button:hover { transform: translateY(-2px); border-color: #dcd8f7; box-shadow: 0 9px 18px rgba(45,49,85,.07); }
#page-dashboard .quick-actions .qicon { width: 38px; height: 38px; margin: 0; font-size: 15px; }
#page-dashboard .quick-actions button > span:nth-child(2) { display: block; }
#page-dashboard .quick-actions b { display: block; color: var(--dash-navy); font-size: 8px; }
#page-dashboard .quick-actions small { display: block; margin-top: 2px; color: #a1a6b6; font-size: 6.5px; font-weight: 500; }
#page-dashboard .quick-actions button > i { color: #b7bbca; font-style: normal; }
#page-dashboard .birthday-panel { margin-top: 0; }
#page-dashboard .birthday-list { grid-template-columns: repeat(3, 1fr); gap: 10px; }
#page-dashboard .birthday-item { padding: 13px; border: 1px solid #f0f1f5; border-radius: 13px; background: linear-gradient(135deg, #fff, #fffbfd); }
#page-dashboard .birthday-icon { border-radius: 12px; }
.birthday-badge { color: #d66388 !important; background: #fff0f5 !important; }
.driver-license-fields, .owned-bus-fields, .rented-bus-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 0 12px; padding: 12px; margin: 3px 0 12px; border: 1px solid var(--line); border-radius: 11px; background: #fafafd; }
.driver-license-fields[hidden], .owned-bus-fields[hidden], .rented-bus-fields[hidden] { display: none !important; }
.accounting-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; align-items: start; }
.accounting-card { overflow: hidden; }
.compact-form { margin-bottom: 18px; }
.compact-form .primary-btn { justify-content: center; }
.compact-table { border-radius: 12px; box-shadow: none; }
.compact-table table { min-width: 620px; }
.accounting-calculator { margin-top: 18px; }
.invoice-result { margin-top: 16px; }
.invoice-total-card { border: 1px solid #c7efd9; background: linear-gradient(135deg, #f0fff6, #fff); border-radius: 16px; padding: 18px; display: grid; gap: 6px; }
.invoice-total-card span, .invoice-total-card small { color: var(--muted); font-weight: 700; }
.invoice-total-card strong { color: var(--green); font-size: 28px; }
.danger-text { color: var(--red) !important; }
.bus-card-actions { display: flex; gap: 6px; }
.bus-card-actions button { border: 1px solid #ddd9f7; border-radius: 7px; padding: 5px 9px; color: var(--primary); background: #fff; font-size: 10px; font-weight: 700; }
.bus-card-actions button.danger { color: var(--red); border-color: #f2d7db; background: var(--red-soft); }
.bus-force-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-top: 12px; }
.bus-force-actions button { min-height: 39px; border: 1px solid #dcd6ff; border-radius: 9px; background: var(--primary-soft); color: var(--primary); font-weight: 800; cursor: pointer; }
.bus-force-actions .bus-remove-employee-btn{grid-column:1/-1;border-color:#f3caca;background:#fff5f5;color:#c53030}
.address-geocoder { display: grid; grid-template-columns: 1fr auto; gap: 10px; align-items: center; padding: 14px; margin: 5px 0 10px; border: 1px solid #dcd6ff; border-radius: 12px; background: linear-gradient(135deg, #faf9ff, #f3f8ff); }
.address-geocoder > div:first-child { display: grid; gap: 3px; }
.address-geocoder > div:first-child span { color: var(--muted); font-size: 11px; }
.geocode-results { grid-column: 1 / -1; display: grid; gap: 6px; }
.geocode-result { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 9px; background: #fff; text-align: start; cursor: pointer; }
.geocode-result:hover, .geocode-result.selected { border-color: var(--primary); box-shadow: 0 0 0 2px rgba(104,86,217,.1); }
.geocode-result span { display: grid; gap: 3px; }
.geocode-result small { color: var(--muted); direction: ltr; text-align: left; }
.geocode-result i { font-style: normal; white-space: nowrap; padding: 4px 7px; border-radius: 20px; font-size: 10px; font-weight: 800; }
.geocode-result i.high { color: #147a50; background: #e8f8f0; }.geocode-result i.medium { color: #946200; background: #fff5d8; }.geocode-result i.low { color: #a24747; background: #fff0f0; }
.geocode-map { grid-column: 1 / -1; width: 100%; height: 220px; overflow: hidden; border: 1px solid var(--line); border-radius: 11px; background: #eef1f7; }
.google-map-error { display: grid; place-items: center; width: 100%; height: 100%; padding: 20px; color: var(--red); text-align: center; }
.bus-card.maintenance-card { background: linear-gradient(135deg, #fff5f5, #ffe8ea); border-color: #f0a9b1; box-shadow: 0 18px 38px rgba(220, 38, 38, .12); }
.bus-card.maintenance-card .bus-icon { color: var(--red); }
.bus-card.maintenance-card .bus-live-details { background: rgba(255,255,255,.72); border: 1px solid #f3c2c7; }
.driver-strip.actions-only { justify-content: flex-end; }
.driver-strip.actions-only .bus-card-actions { flex: 1; justify-content: flex-end; flex-wrap: wrap; }
.expiry-alerts-panel { margin-top: 18px; }
.expiry-alerts-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.expiry-alert-item { display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 11px; padding: 13px; border: 1px solid #f0e8da; border-radius: 13px; background: linear-gradient(135deg, #fff, #fffaf2); }
.expiry-alert-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; color: var(--orange); background: var(--orange-soft); font-size: 17px; }
.expiry-alert-item strong { display: block; color: var(--dash-navy); font-size: 12px; }
.expiry-alert-item span:not(.expiry-alert-icon) { display: block; margin-top: 3px; color: var(--muted); font-size: 10px; }
.expiry-alert-item > b { padding: 5px 9px; border-radius: 12px; color: var(--orange); background: var(--orange-soft); font-size: 10px; white-space: nowrap; }
.expiry-alert-item > b.urgent { color: var(--red); background: var(--red-soft); }
.dashboard-empty-state.compact { min-height: 110px; grid-column: 1 / -1; }
.employee-profile-details { font-size: 14px; }

/* Larger typography across the application */
body { font-size: 16px; }
.nav-item, .settings-link { font-size: 15px; }
.nav-label { font-size: 11px; }
.brand strong { font-size: 15px; }
.brand span, .user-card span { font-size: 12px; }
.user-card strong { font-size: 13px; }
.breadcrumbs { font-size: 13px; }
.date-box span { font-size: 11px; }.date-box b { font-size: 12px; }
.page-title h1 { font-size: 27px; }.page-title p { font-size: 14px; }.eyebrow { font-size: 13px; }
.primary-btn, .secondary-btn { font-size: 13px; }
.panel h2, .panel-head h2 { font-size: 16px; }.panel p, .panel-head p { font-size: 12px; }
.toolbar, .toolbar input, .toolbar select { font-size: 13px; }
th { font-size: 12px; } td { font-size: 13px; }
.person-cell span, .field-hint { font-size: 10px; }
.status, .action-btn { font-size: 10px; }
.form-grid label, .settings-form > label { font-size: 13px; }
.form-grid input, .form-grid select, .form-grid textarea, .settings-form input, .settings-form textarea { font-size: 14px; min-height: 43px; }
.modal-title { font-size: 23px; }.modal-subtitle { font-size: 12px; }
.bus-card h3 { font-size: 15px; }.bus-card > p { font-size: 11px; }.bus-details span { font-size: 10px; }.bus-details strong { font-size: 12px; }
.filter-tabs button { font-size: 12px; }
.request-card h3 { font-size: 14px; }.request-card p { font-size: 11px; }
.request-meta div span { font-size: 10px; }.request-meta div strong { font-size: 12px; }
.report-filters label, .report-type-picker label { font-size: 11px; }
#page-dashboard .stat-trend { font-size: 10px; }
#page-dashboard .stat-main span { font-size: 12px; }
#page-dashboard .stat-foot small { font-size: 11px; }
#page-dashboard .modern-panel-head h2 { font-size: 16px; }
#page-dashboard .modern-panel-head p { font-size: 11px; }
#page-dashboard .modern-text-btn, #page-dashboard .dashboard-view-all { font-size: 11px; }
#page-dashboard .attendance-metric > span { font-size: 11px; }
#page-dashboard .attendance-metric small { font-size: 10px; }
#page-dashboard .fleet-visual span, #page-dashboard .fleet-stat span { font-size: 10px; }
#page-dashboard .quick-actions b { font-size: 11px; }
#page-dashboard .quick-actions small { font-size: 9px; }
#page-dashboard .dashboard-empty-state b { font-size: 12px; }
#page-dashboard .dashboard-empty-state p { font-size: 10px; }
.old-employees-table table { min-width: 1250px; }
.bus-operation-form { display: grid; gap: 12px; }
.bus-operation-row { display: grid; gap: 12px; }
.bus-operation-row.two-cols { grid-template-columns: 1fr 1.4fr; }
.bus-operation-row.three-cols { grid-template-columns: repeat(3, 1fr); }
.bus-operation-row.four-cols { grid-template-columns: 1.1fr 1.1fr 1fr 1fr; }
.bus-operation-form label { display: flex; flex-direction: column; gap: 6px; font-size: 14px; font-weight: 700; }
.bus-operation-form input, .bus-operation-form select { border: 1px solid var(--line); border-radius: 9px; min-height: 46px; padding: 9px 11px; font-family: inherit; font-size: 15px; color: var(--text); background: #fff; }
.bus-operation-form input[readonly] { background: #f5f7fb; color: var(--primary); font-weight: 800; }
.bus-operation-section-title { padding: 10px 12px; border-radius: 10px; background: var(--primary-soft); color: var(--primary); font-weight: 800; }
.bus-operation-table-wrap { margin-top: 18px; }
.bus-operation-table-wrap table { min-width: 1800px; }
.operation-menu-head { border-radius: 18px; padding: 18px; margin: -4px 0 16px; background: linear-gradient(135deg, rgba(108,77,232,.13), rgba(255,255,255,.92)); border: 1px solid rgba(108,77,232,.14); }
.operation-menu-head span, .previous-operation-hero span { color: var(--primary); font-size: 13px; font-weight: 800; }
.operation-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 18px; }
.operation-choice-card { border: 1px solid var(--line); background: linear-gradient(180deg, #fff, #fbfaff); border-radius: 18px; padding: 20px; text-align: right; font-family: inherit; cursor: pointer; display: grid; gap: 8px; transition: .2s ease; color: var(--text); min-height: 145px; position: relative; overflow: hidden; }
.operation-choice-card::after { content: ""; position: absolute; width: 90px; height: 90px; border-radius: 50%; background: var(--primary-soft); left: -35px; bottom: -35px; }
.operation-choice-card:hover { transform: translateY(-3px); box-shadow: var(--shadow); border-color: rgba(108, 77, 232, .35); }
.operation-choice-card i { width: 42px; height: 42px; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center; background: var(--primary-soft); color: var(--primary); font-style: normal; font-size: 20px; font-weight: 900; }
.operation-choice-card b { color: var(--text); font-size: 18px; }
.operation-choice-card span { color: var(--muted); font-size: 14px; line-height: 1.8; max-width: 92%; }
.previous-operation-panel { display: grid; gap: 18px; }
.previous-operation-hero { border-radius: 20px; padding: 20px; background: linear-gradient(135deg, rgba(33, 150, 243, .11), rgba(108,77,232,.12)); border: 1px solid rgba(108,77,232,.13); }
.previous-operation-search { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 14px; box-shadow: 0 12px 28px rgba(15, 23, 42, .04); }
.previous-operation-search label { display: flex; flex-direction: column; gap: 8px; color: var(--text); font-size: 14px; font-weight: 800; }
.previous-operation-search input, .previous-operation-search select { border: 1px solid var(--line); border-radius: 12px; min-height: 48px; padding: 10px 12px; font-family: inherit; font-size: 15px; background: #fafbff; color: var(--text); }
.previous-operation-result { min-height: 140px; border: 1px dashed rgba(108,77,232,.25); border-radius: 18px; padding: 16px; background: linear-gradient(180deg, #fff, #fafaff); display: grid; align-items: center; }
.previous-operation-search.operation-history-filters { grid-template-columns: 1.35fr 1fr .8fr; }
.operation-history-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.operation-history-stats.fuel-history-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.operation-history-stats article { display: grid; gap: 7px; min-height: 92px; padding: 16px; border: 1px solid rgba(108,77,232,.16); border-radius: 16px; background: linear-gradient(135deg, #fff, #f6f3ff); }
.operation-history-stats span { color: var(--muted); font-size: 13px; font-weight: 700; }
.operation-history-stats strong { color: var(--primary); font-size: 22px; }
.operation-history-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.operation-history-actions > span { color: var(--primary); font-weight: 800; }
.operation-history-actions > div { display: flex; gap: 10px; flex-wrap: wrap; }
.previous-operation-result.operation-history-result { display: block; padding: 0; overflow: hidden; border-style: solid; }
.operation-history-table-wrap { max-height: 53vh; overflow: auto; }
.operation-history-table-wrap table { min-width: 980px; }
.fuel-history-table-wrap table { min-width: 820px; }
.operation-history-table-wrap thead th { position: sticky; top: 0; z-index: 2; }
.operation-history-table-wrap tbody tr[data-operation-history-id] { cursor: pointer; transition: background .16s ease; }
.operation-history-table-wrap tbody tr[data-operation-history-id]:hover { background: var(--primary-soft); }
.operation-history-table-wrap tbody tr[data-operation-history-id]:focus { outline: 2px solid var(--primary); outline-offset: -2px; }
.operation-history-table-wrap th, .operation-history-table-wrap td { text-align: center; vertical-align: middle; white-space: nowrap; }
.operation-history-table-wrap th:nth-child(5), .operation-history-table-wrap td:nth-child(5) { white-space: normal; min-width: 180px; }
.operation-history-hint { display: block; padding: 10px 14px; color: var(--muted); background: #fafaff; border-top: 1px solid var(--line); }
@media (max-width: 760px) {
  .previous-operation-search.operation-history-filters, .operation-history-stats, .operation-history-stats.fuel-history-stats { grid-template-columns: 1fr; }
  .operation-history-actions { align-items: stretch; flex-direction: column; }
  .operation-history-actions .secondary-btn { width: 100%; }
}
.operation-found-card { border: 1px solid var(--line); border-radius: 15px; padding: 16px; display: grid; gap: 10px; background: #fafafd; }
.operation-found-card strong { font-size: 17px; color: var(--text); }
.operation-found-card span { color: var(--muted); font-size: 14px; }
.operation-found-card p { margin: 0; color: var(--text); font-size: 14px; line-height: 1.8; }
.operation-found-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.danger-confirm-btn { border: 0; background: #ef4444; color: #fff; min-height: 44px; padding: 0 18px; border-radius: 10px; font-family: inherit; font-weight: 800; cursor: pointer; box-shadow: 0 12px 22px rgba(239, 68, 68, .2); }
.danger-confirm-btn:hover { background: #dc2626; }

/* Larger readable typography pass */
body { font-size: 17px; }
.nav-item, .settings-link { font-size: 16px; }
.nav-label { font-size: 12px; }
.brand strong { font-size: 16px; }
.brand span, .user-card span { font-size: 13px; }
.user-card strong { font-size: 14px; }
.breadcrumbs { font-size: 14px; }
.global-search { height: 42px; width: 285px; }
.global-search input { font-size: 15px; }
.date-box span { font-size: 12px; }.date-box b { font-size: 13px; }
.page-title h1 { font-size: 30px; }.page-title p { font-size: 15px; }.eyebrow { font-size: 14px; }
.primary-btn, .secondary-btn { font-size: 14px; padding: 11px 18px; }
.panel h2, .panel-head h2 { font-size: 18px; }.panel p, .panel-head p { font-size: 13px; }
.toolbar, .toolbar input, .toolbar select { font-size: 15px; }
.table-search { height: 43px; }
th { font-size: 13px; } td { font-size: 14px; }
.person-cell strong { font-size: 15px; }.person-cell span, .field-hint { font-size: 11px; }
.status, .action-btn { font-size: 12px; }
.form-grid label, .settings-form > label { font-size: 14px; }
.form-grid input, .form-grid select, .form-grid textarea, .settings-form input, .settings-form textarea { font-size: 15px; min-height: 46px; }
.modal-title { font-size: 26px; }.modal-subtitle { font-size: 14px; }
.employee-manage-actions b { font-size: 15px; }.employee-manage-actions span { font-size: 12px; }
.bus-card h3 { font-size: 17px; }.bus-card > p { font-size: 13px; }.bus-details span { font-size: 12px; }.bus-details strong { font-size: 14px; }
.filter-tabs button { font-size: 14px; }
.request-card h3 { font-size: 16px; }.request-card p { font-size: 13px; }
.request-meta div span { font-size: 12px; }.request-meta div strong { font-size: 14px; }
.report-filters label, .report-type-picker label { font-size: 13px; }
.toast b { font-size: 13px; }

.toast { position: fixed; left: 25px; bottom: 25px; background: #17213f; color: #fff; padding: 12px 18px; border-radius: 10px; display: flex; gap: 9px; align-items: center; z-index: 70; transform: translateY(80px); opacity: 0; transition: .3s; box-shadow: 0 10px 30px rgba(0,0,0,.2); }.toast.show { transform: translateY(0); opacity: 1; }.toast span { color: #70dbad; }.toast b { font-size: 10px; }
#printArea { display: none; }
.empty-state { text-align: center; color: var(--muted); padding: 45px; }.empty-state b { display: block; color: var(--text); margin-bottom: 4px; }

/* Fixed-width directory tables */
#page-employees table { min-width: 1820px; table-layout: auto; }
.employee-directory-table-wrap{position:relative;max-height:62vh;overflow:auto;scrollbar-gutter:stable both-edges;overscroll-behavior:contain}
.employee-directory-table-wrap thead th{position:sticky;top:0;z-index:4;box-shadow:0 1px 0 var(--line)}
.employee-directory-table-wrap::-webkit-scrollbar{width:12px;height:14px}
.employee-directory-table-wrap::-webkit-scrollbar-track{background:#eeedf5;border-radius:999px}
.employee-directory-table-wrap::-webkit-scrollbar-thumb{background:#8d899b;border:3px solid #eeedf5;border-radius:999px}
.employee-directory-table-wrap::-webkit-scrollbar-thumb:hover{background:#686475}
.employee-directory-table-wrap{scrollbar-width:auto;scrollbar-color:#8d899b #eeedf5}
@media(max-width:760px){.employee-directory-table-wrap{max-height:68vh}}
#page-students table { min-width: 1980px; table-layout: auto; }
#page-employees th, #page-employees td, #page-students th, #page-students td { white-space: nowrap; vertical-align: middle; }
#page-employees th:nth-child(2), #page-employees td:nth-child(2), #page-students th:nth-child(1), #page-students td:nth-child(1) { min-width: 285px; }
#page-employees th:nth-child(3), #page-employees td:nth-child(3), #page-students th:nth-child(2), #page-students td:nth-child(2) { min-width: 250px; }
#page-students th:nth-child(7), #page-students td:nth-child(7) { min-width: 210px; }
#page-students th:nth-child(10), #page-students td:nth-child(10) { min-width: 240px; }
.name-ar, .person-cell strong.name-ar { font-size: 15px; font-weight: 800; line-height: 1.5; }
.name-en { font-size: 14px; font-weight: 700; line-height: 1.5; direction: ltr; text-align: left; unicode-bidi: plaintext; }
.student-row { cursor: pointer; }
.student-row:hover { background: #f7f5ff; }

/* Equal-height bus cards */
.bus-grid { align-items: stretch; }
.bus-card { display: flex; flex-direction: column; min-height: 320px; }
.bus-card .bus-live-details { min-height: 128px; align-content: start; }
.bus-card.owned-bus-card .bus-live-details, .bus-card.maintenance-card .bus-live-details { min-height: 150px; }
.driver-strip.actions-only { margin-top: auto; min-height: 40px; align-items: flex-end; }
.driver-strip.actions-only .bus-card-actions { align-items: center; }
.bus-card-actions button { min-height: 34px; display: inline-flex; align-items: center; justify-content: center; white-space: nowrap; }

/* Printing and copying service */
.printing-table-wrap table { min-width: 1680px; }
.printing-table-wrap td small { display: block; margin-top: 4px; color: var(--muted); font-size: 11px; }
.printing-stats .stat-card { min-height: 96px; }
.printing-inbox-alert{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:14px;margin:16px 0;padding:16px 18px;border:1px solid #f1c66b;border-radius:16px;background:linear-gradient(135deg,#fffaf0,#fff);box-shadow:0 10px 25px rgba(170,111,0,.08)}.printing-inbox-alert[hidden]{display:none}.printing-inbox-alert>span{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:#ffefd0;color:#aa6b00;font-size:20px;font-weight:900}.printing-inbox-alert>div{display:grid;gap:4px}.printing-inbox-alert strong{font-size:14px}.printing-inbox-alert small{color:var(--muted);font-size:11px}.printing-inbox-alert button{padding:11px 15px;border:1px solid #e8b750;border-radius:11px;background:#fff;color:#946000;font-family:inherit;font-weight:800;cursor:pointer}.printing-inbox-alert button:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(170,111,0,.12)}
@media(max-width:760px){.printing-inbox-alert{grid-template-columns:42px minmax(0,1fr)}.printing-inbox-alert button{grid-column:1/-1;width:100%}}
.secondary-btn.active-mode { background: var(--primary-soft); color: var(--primary); border-color: #cfc8fb; box-shadow: inset 0 0 0 1px rgba(104,86,217,.18); }
.icon-button { display: grid; place-items: center; font-weight: 800; }
.icon-button i { display: none; }

/* Exit permits */
.permit-picker { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 14px; }
.employee-permit-picker { grid-template-columns: 1.3fr 1fr; }
.permit-picker label { display: flex; flex-direction: column; gap: 7px; color: var(--text); font-weight: 800; font-size: 14px; }
.permit-picker select { min-height: 45px; border: 1px solid var(--line); border-radius: 9px; padding: 9px 11px; background: #fff; color: var(--text); font-family: inherit; }
.permit-table-wrap table { min-width: 980px; }
.permit-history-panel { margin-top: 16px; }
.permit-history-head { align-items: end; }
.permit-history-head label { display: grid; gap: 7px; min-width: 220px; color: var(--text); font-size: 13px; font-weight: 800; }
.permit-history-head input { min-height: 45px; border: 1px solid var(--line); border-radius: 9px; padding: 9px 11px; background: #fff; color: var(--text); font-family: inherit; }
.permit-date-time { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.permit-date-time label { margin-bottom: 0; }
.inline-input-action { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: stretch; }
.inline-input-action .secondary-btn { min-height: 46px; padding: 9px 14px; white-space: nowrap; }
.permit-row { cursor: pointer; }
.permit-row:hover { background: var(--primary-soft); }
.permit-row.selected td{background:#f0edff}.permit-select-column{width:105px;min-width:105px;text-align:center!important}.permit-select-all{display:flex;align-items:center;justify-content:center;gap:7px;font-size:10px;font-weight:800;white-space:nowrap}.permit-select-all input,.student-permit-checkbox{width:19px;height:19px;min-height:19px;margin:0;accent-color:var(--primary);cursor:pointer}.student-permit-checkbox{display:block;margin:auto}
.student-permit-actions { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.student-permit-actions .manage-edit { border-color: #087a50; background: #169b67; color: #fff; }
.student-permit-actions .manage-delete { grid-column: auto; border-color: #b42318; background: #dc3545; color: #fff; }
.student-permit-actions .manage-edit span,
.student-permit-actions .manage-delete span { color: rgba(255, 255, 255, .86); }
@media (max-width: 720px) {
  .permit-history-head { align-items: stretch; }
  .permit-history-head label { width: 100%; min-width: 0; }
}

/* Structured addresses and traffic-aware route planning */
.form-section-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 8px; padding: 13px 15px; border: 1px solid #ddd8ff; border-radius: 11px; background: #f8f7ff; }
.form-section-title strong { color: var(--text); font-size: 15px; }
.form-section-title span { color: var(--muted); font-size: 12px; }
.location-link-btn { display: inline-flex; align-items: center; width: fit-content; margin-top: 7px; padding: 6px 10px; border-radius: 8px; background: var(--primary-soft); color: var(--primary); font-size: 12px; font-weight: 800; text-decoration: none; }
.employee-profile-details .full-detail { grid-column: 1 / -1; }
.route-time-settings { margin-bottom: 12px; }
.route-planner-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px; margin-bottom: 16px; }
.route-head-actions { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; }
.route-engine-mode { display: inline-flex; align-items: center; min-height: 32px; padding: 6px 11px; border-radius: 999px; font-size: 10px; font-weight: 900; }
.route-engine-mode.local { background: var(--green-soft); color: var(--green); }
.route-engine-mode.public { background: var(--orange-soft); color: #a56612; }
.routing-engine-test { display: flex; align-items: center; gap: 11px; padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: #fafbff; }
.routing-engine-status { color: var(--muted); font-size: 11px; font-weight: 800; }
.routing-engine-status.online { color: var(--green); }
.routing-engine-status.offline { color: var(--red); }
.routing-engine-status.checking { color: var(--orange); }
.route-map-placeholder { min-height: 300px; display: grid; place-items: center; align-content: center; gap: 9px; padding: 20px; border: 1px dashed #cbc5ef; border-radius: 12px; background: linear-gradient(135deg, #faf9ff, #f2f7ff); color: var(--muted); text-align: center; }
.route-map-placeholder > span { color: var(--primary); font-size: 28px; }
.route-map-placeholder strong { color: var(--text); }
.route-map-placeholder small { font-size: 10px; }
.route-geometry-preview { overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: #f7f8fc; }
.route-geometry-preview svg { display: block; width: 100%; height: 180px; }
.route-street-map { position: relative; min-height: 292px; background: #f4f3ed; }
.google-route-map { display: block; width: 100%; height: 300px; background: #eef1f7; }
.route-map-loading { position: absolute; inset: 12px 12px auto; z-index: 2; width: fit-content; max-width: calc(100% - 24px); padding: 5px 9px; border-radius: 7px; background: rgba(255,255,255,.9); color: #716b89; font-size: 9px; box-shadow: 0 3px 12px rgba(45,45,65,.1); }
.route-map-loading:empty { display: none; }
.route-map-loading.error { color: var(--red); background: rgba(255,245,247,.96); }
.route-map-legend { display: flex; align-items: center; gap: 14px; min-height: 41px; padding: 8px 12px; background: #fff; color: var(--muted); font-size: 10px; }
.route-map-legend span { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }
.route-map-legend small { margin-inline-start: auto; text-align: end; }
.route-map-legend i { width: 8px; height: 8px; border-radius: 50%; }
.route-map-legend i.start { background: var(--primary); }
.route-map-legend i.end { background: var(--green); }
.route-calculation-source { display: inline-flex !important; width: fit-content; margin-top: 7px; padding: 4px 8px; border-radius: 999px; font-size: 9px !important; font-weight: 800; }
.route-calculation-source.google { background: var(--green-soft); color: var(--green) !important; }
.route-calculation-source.old { background: var(--orange-soft); color: #9a6418 !important; }
.route-grid-lines path { fill: none; stroke: #e5e8f1; stroke-width: 1; }
.route-geometry-preview > .route-map-legend { display: flex; align-items: center; gap: 14px; padding: 9px 12px; background: #fff; color: var(--muted); font-size: 10px; }
.route-geometry-preview > .route-map-legend span { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }
.route-geometry-preview > .route-map-legend small { margin-inline-start: auto; text-align: end; }
.route-geometry-preview i { width: 8px; height: 8px; border-radius: 50%; }
.route-geometry-preview i.start { background: var(--primary); }
.route-geometry-preview i.end { background: var(--green); }
.route-planner-head h2 { margin: 3px 0 4px; font-size: 24px; }
.route-planner-head p { margin: 0; color: var(--muted); }
.route-api-warning { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 15px 17px; margin-bottom: 16px; border: 1px solid #f1cf8a; border-radius: 12px; background: #fff9ea; color: #7e5804; }
.route-api-warning strong, .route-api-warning span { display: block; }
.route-api-warning span { font-size: 13px; }
.route-coverage-summary { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 13px 16px; margin-bottom: 16px; border: 1px solid #bde7d4; border-radius: 12px; background: #effbf5; color: #16724c; }
.route-coverage-summary span { font-weight: 900; }
.route-coverage-summary b { margin-inline-start: auto; }
.route-coverage-summary small { color: #557065; }
.route-engine-note { margin: -4px 0 16px; padding: 10px 13px; border-radius: 9px; background: #f4f6fb; color: var(--muted); font-size: 11px; line-height: 1.7; }
.route-plan-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.route-plan-card { display: flex; flex-direction: column; gap: 16px; padding: 20px; border: 1px solid var(--line); border-radius: 15px; background: #fff; box-shadow: 0 9px 28px rgba(35, 42, 80, .06); }
.route-plan-title { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.route-plan-title span { color: var(--primary); font-size: 12px; font-weight: 800; }
.route-plan-title h3 { margin: 3px 0 0; font-size: 19px; }
.route-plan-title b { padding: 7px 10px; border-radius: 9px; background: var(--primary-soft); color: var(--primary); font-size: 12px; white-space: nowrap; }
.route-plan-title-side{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.route-direction-switch{display:flex;align-items:center;gap:5px;padding:3px;border:1px solid #dcd8f4;border-radius:10px;background:#faf9ff}.route-direction-switch button{min-width:54px;height:31px;padding:0 10px;border:0;border-radius:7px;background:transparent;color:#756e94;font:inherit;font-size:10px;font-weight:900;cursor:pointer}.route-direction-switch button.active{background:#6552d8;color:#fff;box-shadow:0 4px 10px rgba(101,82,216,.22)}.route-direction-switch button:disabled{opacity:.42;cursor:not-allowed}.route-direction-content{display:grid;gap:16px}.route-direction-caption{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:-7px;padding:9px 11px;border:1px solid #e4e1f4;border-radius:10px;background:#faf9ff}.route-direction-caption strong{color:#302b52;font-size:11px}.route-direction-caption span{color:#77718f;font-size:9px}
.route-map-stop-info{display:grid;gap:6px;min-width:190px}.route-map-stop-info>b{padding-bottom:5px;border-bottom:1px solid #ece9f7;color:#5745c4}.route-map-stop-info>span{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#242842;font-weight:800}.route-map-stop-info small{color:#85899c;font-size:9px;font-weight:600}
.route-stop-timeline { display: flex; flex-direction: column; gap: 12px; max-height: 390px; margin: 0; padding: 2px 0; overflow: auto; list-style: none; }
.route-stop-timeline li { position: relative; display: grid; flex: 0 0 auto; grid-template-columns: 31px minmax(0, 1fr); align-items: start; gap: 10px; min-height: 72px; padding: 0 0 14px; }
.route-stop-timeline li:not(:last-child)::after { content: ""; position: absolute; right: 15px; top: 31px; bottom: 0; width: 2px; background: #ddd8ff; }
.route-stop-timeline i { z-index: 1; display: grid; place-items: center; width: 31px; height: 31px; border-radius: 50%; background: var(--primary-soft); color: var(--primary); font-style: normal; font-size: 12px; font-weight: 900; }
.route-stop-content { min-width: 0; padding: 1px 0 3px; }
.route-stop-timeline strong, .route-stop-timeline span { display: block; }
.route-stop-timeline strong { font-size: 13px; }
.shared-route-stop { display: inline-flex; width: fit-content; margin: 0 0 7px; padding: 4px 8px; border-radius: 999px; background: #f0edff; color: #624fd1; font-size: 9px; font-style: normal; font-weight: 800; }
.route-stop-students { display: grid; gap: 5px; }
.route-stop-student { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px; min-width: 0; padding: 6px 8px; border: 1px solid #ece9fb; border-radius: 8px; background: #fbfaff; }
.route-stop-student strong { min-width: 0; line-height: 1.55; overflow-wrap: anywhere; }
.route-stop-student small { color: var(--muted); font-size: 9px; white-space: nowrap; }
.route-stop-timeline span { margin-top: 2px; color: var(--muted); font-size: 11px; line-height: 1.6; }
.route-stop-address { margin-top: 7px !important; padding-inline: 3px; overflow-wrap: anywhere; }
.route-stop-estimated-times { position: static; display: flex; flex-wrap: wrap; align-items: center; gap: 5px; margin-top: 6px; line-height: 1; }
.route-stop-estimated-times b { display: inline-flex; align-items: center; min-height: 24px; padding: 4px 7px; border-radius: 7px; background: #f1efff; color: #5947c7; font-size: 10px; font-weight: 800; line-height: 1.2; white-space: nowrap; }
.route-stop-estimated-times b:last-child { background: #eaf9f1; color: #148452; }
.morning-route-timeline .route-stop-estimated-times b{background:#f1efff;color:#5947c7}.evening-route-timeline .route-stop-estimated-times b{background:#eaf9f1;color:#148452}
.route-stop-estimated-times.school-times b { background: #eef7ff; color: #2876b9; }
.route-stop-timeline .school-stop i { background: #eaf9f1; color: #14945a; }
.route-period-results { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.route-period-results > div > span { display: block; margin-bottom: 6px; color: var(--muted); font-size: 11px; font-weight: 800; }
.route-metric { padding: 11px; border: 1px solid var(--line); border-radius: 10px; background: #fafbff; }
.route-metric strong, .route-metric span { display: block; }
.route-metric strong { font-size: 13px; }
.route-metric span { margin-top: 4px; font-size: 11px; }
.route-metric.within-window { border-color: #bde8d0; background: #effaf4; color: #15764a; }
.route-metric.outside-window { border-color: #f2c8c8; background: #fff2f2; color: #a52828; }
.route-metric.empty { color: var(--muted); }
.route-card-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; }
.route-card-actions button { min-height: 38px; }
.route-error { padding: 10px 12px; border-radius: 9px; background: #fff0f0; color: #a52828; font-size: 12px; line-height: 1.7; }
.route-empty { grid-column: 1 / -1; border: 1px dashed var(--line); border-radius: 14px; background: #fff; }
.route-unassigned-bus-card{border-style:dashed;background:linear-gradient(145deg,#fff,#faf9ff)}.route-unassigned-bus-card>.empty-state{min-height:210px;display:grid;place-content:center;text-align:center;border:1px dashed #d9d5ef;border-radius:14px;background:#fbfaff;color:#777b90}.route-unassigned-bus-card>.empty-state b{color:#292d47}
.route-form-note { padding: 12px 14px; border: 1px solid #d8e3ff; border-radius: 10px; background: #f4f7ff; color: #42547e; font-size: 12px; line-height: 1.8; }
.route-stop-picker { display: grid; gap: 8px; max-height: 430px; padding: 4px; overflow: auto; }
.route-stop-option { display: grid; grid-template-columns: auto 66px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 11px 12px; border: 1px solid var(--line); border-radius: 10px; background: #fff; cursor: pointer; }
.route-stop-option:has(input[type="checkbox"]:checked) { border-color: #bfb5fb; background: #f7f5ff; }
.route-stop-option input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--primary); }
.route-stop-option .route-stop-order { min-height: 38px; padding: 6px; text-align: center; }
.route-stop-option strong, .route-stop-option small { display: block; }
.route-stop-option small { margin-top: 3px; color: var(--muted); font-size: 11px; line-height: 1.55; }
.route-stop-option i { color: #198b59; font-style: normal; font-size: 11px; font-weight: 800; }
.route-stop-option.route-stop-missing { opacity: .62; cursor: not-allowed; }
.route-stop-option.route-stop-missing i { color: #b24040; }
.bus-students-wrap table { min-width: 1050px; }
.bus-students-wrap input { min-width: 145px; }

.transport-employees-dropdown { position: relative; display: inline-flex; }
.transport-employees-dropdown > button { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
.transport-employees-dropdown > button span { font-size: 14px; transition: transform .2s ease; }
.transport-employees-dropdown:has(.open) > button span { transform: rotate(180deg); }
.transport-employees-menu { position: absolute; z-index: 120; top: calc(100% + 8px); right: 0; width: 255px; padding: 7px; display: none; border: 1px solid var(--line); border-radius: 14px; background: #fff; box-shadow: 0 18px 45px rgba(34, 31, 79, .18); }
.transport-employees-menu.open { display: grid; gap: 4px; animation: employeeBusMenuIn .16s ease-out; }
.transport-employees-menu button { width: 100%; padding: 11px 12px; display: grid; gap: 2px; border: 0; border-radius: 10px; background: transparent; color: var(--text); text-align: right; font-family: inherit; cursor: pointer; }
.transport-employees-menu button:hover { background: var(--primary-soft); color: var(--primary); }
.transport-employees-menu b { font-size: 12px; }
.transport-employees-menu small { color: var(--muted); font-size: 9px; }
@keyframes employeeBusMenuIn { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: translateY(0); } }

.employee-bus-workflow { display: grid; gap: 16px; }
.employee-bus-workflow .previous-operation-hero { margin-bottom: 0; }
.employee-bus-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.employee-bus-summary span { padding: 12px 14px; display: flex; align-items: center; justify-content: space-between; gap: 8px; border: 1px solid var(--line); border-radius: 11px; background: #fafafd; color: var(--muted); font-size: 10px; }
.employee-bus-summary b { color: var(--primary); font-size: 17px; }
.employee-bus-table table { min-width: 1050px; }
.employee-bus-table td strong { display: block; color: var(--text); }
.employee-bus-request-row { cursor: pointer; transition: background-color .16s ease, box-shadow .16s ease; }
.employee-bus-request-row:hover, .employee-bus-request-row:focus { background: #f7f5ff; outline: none; box-shadow: inset -3px 0 var(--primary); }
.employee-bus-request-details table { min-width: 760px; }
.employee-bus-request-details th { width: 17%; color: var(--muted); white-space: nowrap; }
.employee-bus-request-details td { width: 33%; color: var(--text); font-weight: 700; }
.employee-bus-request-details tbody th { background: #fafafd; }
.employee-bus-full-address td { line-height: 1.9; }
.employee-bus-full-address td strong { display: inline; margin-left: 10px; }
.employee-bus-full-address .location-link-btn { display: inline-flex; }
.transport-approval-check { display: inline-flex; align-items: center; gap: 7px; padding: 7px 10px; border: 1px solid #bce4cf; border-radius: 8px; background: var(--green-soft); color: #14714e; font-weight: 800; cursor: pointer; }
.transport-approval-check input { width: 16px; height: 16px; accent-color: #26a269; }
.employee-bus-workflow .address-geocoder { margin-top: 3px; }
.employee-bus-management-actions { display: flex; justify-content: flex-end; gap: 9px; }
.employee-gathering-point-field small { display: block; margin-top: 5px; color: var(--muted); font-size: 10px; font-weight: 500; }
.employee-gathering-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 14px; padding: 13px; border: 1px solid var(--line); border-radius: 13px; background: #fafafd; }
.employee-gathering-toolbar > div { display: flex; gap: 8px; flex-wrap: wrap; }
.employee-gathering-toolbar label { min-width: 270px; display: grid; gap: 6px; color: var(--muted); font-size: 11px; font-weight: 800; }
.employee-gathering-toolbar select { width: 100%; min-height: 42px; padding: 8px 11px; border: 1px solid var(--line); border-radius: 10px; background: #fff; color: var(--text); font: inherit; }
.employee-gathering-table table { min-width: 1160px; }
.employee-gathering-area-row th { padding: 11px 14px; background: #eeebff; color: var(--primary); text-align: right; font-size: 13px; }
.employee-gathering-point-row { cursor: pointer; transition: background-color .16s ease, box-shadow .16s ease; }
.employee-gathering-point-row:hover, .employee-gathering-point-row:focus { background: #f8f7ff; outline: none; box-shadow: inset -3px 0 var(--primary); }
.employee-gathering-point-row td:first-child strong, .employee-gathering-point-row td:first-child small { display: block; }
.employee-gathering-point-row td:first-child small { max-width: 320px; margin-top: 4px; color: var(--muted); line-height: 1.6; }
.employee-gathering-names { display: flex; flex-wrap: wrap; justify-content: center; gap: 5px; }
.employee-gathering-names span { padding: 5px 8px; border-radius: 20px; background: #f1efff; color: var(--primary); white-space: nowrap; }
.employee-gathering-action-employees { display: grid; gap: 7px; padding: 16px; border: 1px solid var(--line); border-radius: 13px; background: #fafafd; }
.employee-gathering-action-employees span { color: var(--muted); line-height: 1.8; }
.employee-gathering-action-buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.employee-gathering-action-buttons button { min-height: 52px; border-radius: 12px; font: inherit; font-weight: 900; cursor: pointer; }
.employee-gathering-action-buttons .delete-btn { border: 1px solid #ffc8cc; background: #fff3f4; color: #cf3542; }

.service-module-layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(260px, .8fr); gap: 16px; align-items: start; }
.student-affairs-panel { padding: 22px; display: grid; gap: 20px; }
.service-module-heading, .service-module-placeholder { display: flex; align-items: center; gap: 14px; }
.service-module-heading h2, .service-module-placeholder h2, .service-module-note h2 { margin: 0 0 4px; font-size: 17px; }
.service-module-heading p, .service-module-placeholder p, .service-module-note p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.8; }
.service-module-icon { width: 48px; height: 48px; flex: 0 0 48px; display: grid; place-items: center; border-radius: 14px; font-size: 24px; font-weight: 800; }
.student-affairs-icon { color: #5b45d7; background: #eeeaff; }
.inventory-icon { color: #167c59; background: #e8f8f1; }
.purchasing-icon { color: #b86414; background: #fff2df; }
.student-affairs-fields { padding: 18px; border: 1px solid var(--line); border-radius: 13px; background: #fafafd; }
.student-affairs-fields label { margin: 0; display: grid; gap: 9px; color: var(--text); font-size: 11px; font-weight: 800; }
.student-affairs-fields select { width: 100%; min-height: 48px; background: #fff; font-family: inherit; }
.student-affairs-selection { padding: 16px 18px; display: grid; gap: 5px; border: 1px solid #d9d3ff; border-radius: 13px; background: linear-gradient(135deg, #f5f2ff, #fff); }
.student-affairs-selection span { color: var(--muted); font-size: 9px; font-weight: 700; }
.student-affairs-selection strong { color: var(--primary); font-size: 15px; }
.student-affairs-selection small { color: var(--muted); font-size: 9px; }
.student-affairs-documents { display: grid; gap: 14px; }
.student-affairs-documents-empty { min-height: 135px; padding: 24px; display: grid; place-content: center; gap: 6px; border: 1px dashed #cec8ee; border-radius: 13px; background: #fcfbff; text-align: center; }
.student-affairs-documents-empty b { color: var(--text); font-size: 14px; }
.student-affairs-documents-empty span { color: var(--muted); font-size: 10px; }
.student-affairs-document-head { padding: 15px 17px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-radius: 13px; color: #fff; background: linear-gradient(135deg, #6652d9, #8170e8); }
.student-affairs-document-head div { display: grid; gap: 3px; }
.student-affairs-document-head span { font-size: 9px; opacity: .82; }
.student-affairs-document-head strong { font-size: 15px; }
.student-affairs-document-head b { min-width: 42px; height: 34px; padding: 0 10px; display: grid; place-items: center; border-radius: 999px; background: rgba(255,255,255,.17); font-size: 11px; }
.student-document-list { margin: 0; padding: 0; display: grid; gap: 8px; list-style: none; counter-reset: student-documents; }
.student-document-list li { counter-increment: student-documents; min-height: 52px; padding: 11px 12px; display: grid; grid-template-columns: 34px minmax(0, 1fr); align-items: center; gap: 11px; border: 1px solid var(--line); border-radius: 11px; background: #fff; color: var(--text); font-size: 10px; font-weight: 700; line-height: 1.8; }
.student-document-list li::before { content: counter(student-documents); width: 30px; height: 30px; display: grid; place-items: center; border-radius: 9px; color: var(--primary); background: var(--primary-soft); font-size: 11px; font-weight: 900; }
.student-affairs-note-block { padding: 15px; display: grid; gap: 10px; border: 1px solid #f1d9aa; border-radius: 12px; background: #fffaf0; }
.student-affairs-note-block h3 { margin: 0; color: #9a5a13; font-size: 12px; }
.student-affairs-note-block ul { margin: 0; padding-right: 19px; display: grid; gap: 7px; color: #704d23; font-size: 10px; line-height: 1.8; }
.student-affairs-contact { padding: 13px 15px; display: flex; align-items: center; flex-wrap: wrap; gap: 10px 18px; border-radius: 11px; background: #f5f7fb; color: var(--muted); font-size: 10px; }
.student-affairs-contact b { color: var(--text); }
.student-affairs-contact a { color: var(--primary); direction: ltr; text-decoration: none; font-weight: 800; }
.student-affairs-view[hidden] { display: none !important; }
.student-affairs-actions { align-items: center; }
.student-affairs-filter-panel { padding: 21px; display: grid; gap: 18px; }
.student-affairs-filter-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 11px; }
.student-affairs-filter-grid label { margin: 0; display: grid; gap: 7px; color: var(--muted); font-size: 9px; font-weight: 800; }
.student-affairs-filter-grid select { width: 100%; min-width: 0; min-height: 45px; background: #fff; font-family: inherit; }
.student-receipt-workspace { margin-top: 16px; }
.student-receipt-card { padding: 21px; display: grid; gap: 15px; }
.student-receipt-head { padding-bottom: 15px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; border-bottom: 1px solid var(--line); }
.student-receipt-head > div { display: grid; gap: 3px; }
.student-receipt-head span { color: var(--muted); font-size: 9px; font-weight: 700; }
.student-receipt-head strong { color: var(--text); font-size: 14px; }
.student-receipt-head small { color: var(--muted); font-size: 9px; }
.student-conditional-toggle { margin: 0; padding: 13px 14px; display: flex; align-items: center; gap: 11px; border: 1px solid #f1d9aa; border-radius: 11px; background: #fffaf0; cursor: pointer; }
.student-conditional-toggle input { width: 18px; height: 18px; accent-color: var(--primary); }
.student-conditional-toggle span { display: grid; gap: 2px; }
.student-conditional-toggle b { color: #8d5719; font-size: 11px; }
.student-conditional-toggle small { color: #a57945; font-size: 9px; }
.student-document-checklist { display: grid; gap: 8px; }
.student-document-checklist[hidden] { display: none !important; }
.student-document-checklist h3 { margin: 0 0 2px; color: var(--text); font-size: 12px; }
.student-document-check { margin: 0; min-height: 59px; padding: 11px 13px; display: flex; align-items: center; gap: 12px; border: 1px solid var(--line); border-radius: 11px; background: #fff; cursor: pointer; transition: border-color .16s, background .16s; }
.student-document-check:has(input:checked) { border-color: #bde7d2; background: #f1fbf6; }
.student-document-check input { width: 19px; height: 19px; flex: 0 0 19px; accent-color: #209c68; }
.student-document-check span { display: grid; gap: 2px; }
.student-document-check b { color: var(--text); font-size: 10px; line-height: 1.7; }
.student-document-check small { color: var(--muted); font-size: 8px; }
.student-receipt-footer { padding-top: 15px; display: flex; align-items: center; justify-content: space-between; gap: 15px; border-top: 1px solid var(--line); }
.student-receipt-progress { display: grid; gap: 2px; }
.student-receipt-progress span { color: var(--muted); font-size: 9px; }
.student-receipt-progress strong { color: var(--primary); font-size: 19px; }
.student-receipt-progress small { color: #b06c16; font-size: 9px; font-weight: 800; }
.student-receipt-progress small.complete { color: #16845a; }
.student-document-report-summary { margin: 16px 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 11px; }
.student-document-report-summary article { min-height: 96px; padding: 16px; display: grid; place-content: center; gap: 5px; border: 1px solid var(--line); border-radius: 12px; background: #fff; text-align: center; }
.student-document-report-summary span { color: var(--muted); font-size: 9px; font-weight: 700; }
.student-document-report-summary strong { color: var(--primary); font-size: 25px; }
.student-document-report-summary .complete strong { color: #16845a; }
.student-document-report-summary .incomplete strong { color: #b06c16; }
.student-document-report-table table { min-width: 1180px; }
.student-document-report-table td > strong, .student-document-report-table td > small { display: block; }
.student-document-report-table td > small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.student-document-report-row { cursor: pointer; transition: background-color .16s ease, box-shadow .16s ease; }
.student-document-report-row:hover, .student-document-report-row:focus { background: #f7f5ff; outline: none; box-shadow: inset -3px 0 var(--primary); }
.missing-document-list { margin: 0; padding-right: 17px; display: grid; gap: 3px; color: #9a5a13; font-size: 8px; line-height: 1.55; }
.all-documents-delivered { color: #16845a; font-size: 9px; font-weight: 800; }
.student-document-editor { display: grid; gap: 15px; }
.student-document-editor .previous-operation-hero { margin-bottom: 0; }
.student-document-editor-actions { padding: 12px; display: flex; align-items: center; flex-wrap: wrap; gap: 9px; border: 1px solid var(--line); border-radius: 12px; background: #fafafd; }
.student-document-editor-actions .student-receipt-progress { margin-inline-start: auto; min-width: 125px; }
.service-module-note { padding: 24px; text-align: center; }
.service-module-note > span { width: 46px; height: 46px; margin: 0 auto 13px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--primary); font-size: 19px; font-weight: 800; box-shadow: 0 10px 25px rgba(101, 80, 216, .22); }
.service-module-placeholder { min-height: 150px; padding: 24px; }

@media (max-width: 1100px) {
  .stats-grid { grid-template-columns: repeat(2, 1fr); }.department-grid, .bus-grid, .route-plan-grid { grid-template-columns: repeat(2, 1fr); }.global-search { display: none; }.dashboard-main-grid, .dashboard-secondary-grid { grid-template-columns: 1fr; }.hero-date-card { display: none; }
}
@media (max-width: 800px) {
  .sidebar { transform: translateX(100%); transition: .25s; box-shadow: -10px 0 30px rgba(0,0,0,.1); }.sidebar.open { transform: translateX(0); }.main { margin-right: 0; width: 100%; }.menu-toggle { display: block; }.breadcrumbs { display: none; }.topbar { padding: 0 15px; }.content { padding: 17px 14px 35px; }.dashboard-grid, .bottom-grid, .settings-grid, .academic-layout, .accounting-grid, .bus-operation-row.two-cols, .bus-operation-row.three-cols, .bus-operation-row.four-cols, .operation-choice-grid, .previous-operation-search, .bus-load-filters { grid-template-columns: 1fr; }.welcome-banner { padding: 25px; }.banner-art { opacity: .25; left: -30px; }.page-title { align-items: flex-start; gap: 12px; }.page-title h1 { font-size: 22px; }.department-grid, .bus-grid, .class-grid, .academic-year-group .class-grid, .birthday-list, .advance-insights, .advance-summary-grid, .job-title-list, .expiry-alerts-list, .student-bus-installments { grid-template-columns: 1fr; }.advance-insight-head { align-items: flex-start; flex-direction: column; }.advance-summary-grid > div { min-height: 102px; }.academic-stage-summary, .academic-year-head { align-items: flex-start; flex-direction: column; }.toolbar { flex-wrap: wrap; }.table-search { width: 100%; }.attendance-top { flex-direction: column; gap: 10px; }.small-stats { grid-template-columns: 1fr; }.quick-actions { grid-template-columns: repeat(2, 1fr); }.report-filters { grid-template-columns: repeat(2, 1fr); }.report-summary { grid-template-columns: repeat(2, 1fr); }.school-image-uploader { grid-template-columns: 1fr; }#page-dashboard .birthday-list { grid-template-columns: 1fr 1fr; }#page-dashboard .attendance-summary { flex-direction: column; }.attendance-breakdown { width: 100%; }
  .permit-picker { grid-template-columns: 1fr; }
  .permit-date-time, .route-plan-grid, .route-period-results { grid-template-columns: 1fr; }
  .route-planner-head { align-items: flex-start; flex-direction: column; }
  .route-api-warning { grid-template-columns: 1fr; }
  .bus-students-filters { grid-template-columns: 1fr 1fr; }
  .bus-students-hero { align-items: flex-start; flex-direction: column; }
  .bus-route-readiness { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bus-students-filter-actions { grid-column: 1 / -1; justify-content: flex-start; }
  .bus-students-wrap { height: clamp(240px, calc(100dvh - 440px), 480px); }
  .employee-bus-summary, .service-module-layout { grid-template-columns: 1fr; }
  .employee-gathering-toolbar { align-items: stretch; flex-direction: column; }
  .employee-gathering-toolbar label { min-width: 0; }
  .employee-gathering-action-buttons { grid-template-columns: 1fr; }
  .student-affairs-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
  .stats-grid { grid-template-columns: 1fr; }.date-box span { display: none; }.date-box b { font-size: 10px; }.welcome-banner h1 { font-size: 22px; }.attendance-summary { gap: 20px; }.fleet-stat { padding-right: 12px; }.title-actions { flex-wrap: wrap; }.form-grid, .form-row, .request-specific-fields, .job-title-add, .driver-license-fields, .owned-bus-fields, .rented-bus-fields { grid-template-columns: 1fr; }.form-grid .full, .request-specific-fields .full { grid-column: auto; }.request-card { align-items: flex-start; flex-wrap: wrap; }.request-meta { width: 100%; justify-content: space-between; }.report-filters, .report-summary { grid-template-columns: 1fr; }.report-type-picker { align-items: stretch; flex-direction: column; }#page-dashboard .welcome-banner { min-height: 330px; padding: 28px 22px; }#page-dashboard .quick-actions, #page-dashboard .birthday-list, .attendance-breakdown { grid-template-columns: 1fr; }#page-dashboard .fleet-row { display: grid; grid-template-columns: 1fr 1fr; }#page-dashboard .fleet-visual { grid-column: 1 / -1; }
  .form-section-title { align-items: flex-start; flex-direction: column; }
  .route-stop-option { grid-template-columns: auto 58px minmax(0, 1fr); }
  .route-stop-option i { grid-column: 3; }
  .academic-year-switcher { min-width: 125px; }
  .academic-year-switcher span { display: none; }
  .bus-students-filters { grid-template-columns: 1fr; }
  .bus-route-readiness { grid-template-columns: 1fr; }
  .bus-students-filter-actions { grid-column: auto; }
  .transport-employees-menu { right: auto; left: 0; width: min(255px, 82vw); }
  .student-affairs-filter-grid, .student-receipt-head, .student-document-report-summary { grid-template-columns: 1fr; }
  .student-receipt-footer { align-items: stretch; flex-direction: column; }
  .student-document-editor-actions { align-items: stretch; flex-direction: column; }
  .student-document-editor-actions .student-receipt-progress { margin-inline-start: 0; }
}

@media print {
  .app-shell, .modal-backdrop, .toast { display: none !important; }
  body * { visibility: hidden; }
  #printArea, #printArea * { visibility: visible; }
  html, body { width: 100%; height: auto; margin: 0; padding: 0; background: #fff; }
  #printArea { display: block; position: static; width: 100%; color: #000; background: #fff; }
  .print-sheet { width: 148mm; min-height: 210mm; padding: 12mm; margin: auto; font-family: "Times New Roman", Times, serif; direction: rtl; border: 1px solid #bbb; }
  .print-head { text-align: center; border-bottom: 2px solid #222; padding-bottom: 8px; margin-bottom: 20px; }.print-head h1 { font-size: 18px; margin: 0; }.print-head p { margin: 3px; font-size: 11px; }
  .request-print-sheet .print-head { min-height: 0; padding: 2px 0 4px; margin-bottom: 8px; text-align: left; border-bottom-width: 1px; }.request-print-sheet .print-head h1 { margin: 0; font-size: 10px; font-weight: 600; }.print-title { text-align: center; text-decoration: underline; font-size: 17px; margin: 18px 0; }.print-body { font-size: 13px; line-height: 2.2; }.print-signatures { display: flex; justify-content: space-between; align-items: flex-start; margin-top: 150px; text-align: center; font-size: 12px; break-inside: avoid; }.print-signatures > div { width: fit-content; border-top: 1px dashed #222; padding-top: 7px; }.print-signatures span, .print-signatures strong { display: block; width: max-content; margin: 4px auto 0; }
  .print-sheet.attendance-print-sheet { width: 100%; max-width: none; min-height: 0; margin: 0; padding: 0; border: 0; box-sizing: border-box; overflow: visible; }.attendance-print-sheet .print-head { margin-bottom: 8px; }.attendance-print-sheet .print-head h1 { font-size: 20px; }.attendance-print-date { font-size: 14px !important; font-weight: 700; margin-top: 6px !important; }.attendance-print-sheet table { min-width: 0; width: 100%; table-layout: fixed; margin: 10px 0 0; border-collapse: collapse; }.attendance-print-sheet th, .attendance-print-sheet td { color: #000; font-size: 10px; border: 1px solid #555; padding: 6px 3px; text-align: center; vertical-align: middle; white-space: normal; word-break: normal; }.attendance-print-sheet th:nth-child(1), .attendance-print-sheet td:nth-child(1) { width: 6%; }.attendance-print-sheet th:nth-child(2), .attendance-print-sheet td:nth-child(2) { width: 30%; }.attendance-print-sheet th:nth-child(3), .attendance-print-sheet td:nth-child(3) { width: 22%; }.attendance-print-sheet th:nth-child(4), .attendance-print-sheet td:nth-child(4) { width: 16%; }.attendance-print-sheet th:nth-child(5), .attendance-print-sheet td:nth-child(5) { width: 26%; }.attendance-manager-signature { margin: 150px auto 0 0; width: fit-content; text-align: center; break-inside: avoid; }.attendance-manager-signature > div { display: inline-block; border-top: 1px dashed #222; padding-top: 7px; min-width: 0; }.attendance-manager-signature span, .attendance-manager-signature strong { display: block; width: max-content; margin: 4px auto 0; }
  .print-sheet.report-print-sheet { width: 100%; max-width: none; min-height: 0; margin: 0; padding: 0; border: 0; box-sizing: border-box; direction: rtl; }.report-print-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; padding-bottom: 8px; margin-bottom: 8px; border-bottom: 2px solid #222; }.report-print-head h1 { margin: 0 0 3px; font-size: 11px; }.report-print-head h2 { margin: 0; font-size: 18px; }.report-print-head div:last-child { text-align: left; }.report-print-head span { display: block; font-size: 8px; }.report-print-head strong { font-size: 10px; }.report-print-filters { margin: 6px 0 10px; padding: 6px 8px; border: 1px solid #aaa; font-size: 8px; }.report-print-sheet table { width: 100%; min-width: 0; table-layout: auto; border-collapse: collapse; }.report-print-sheet th, .report-print-sheet td { border: 1px solid #555; color: #000; padding: 5px 3px; text-align: center; vertical-align: middle; white-space: normal; font-size: 7.5px; }.report-print-sheet th { font-weight: 800; background: #eee !important; }.report-print-sheet tr { break-inside: avoid; }.report-print-footer { display: flex; justify-content: space-between; margin-top: 8px; padding-top: 6px; border-top: 1px solid #777; font-size: 8px; }
  .bus-movement-print-meta { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; font-size: 9px; }
  .bus-movement-print-title { margin: 4px 0 12px; text-align: center; text-decoration: underline; text-underline-offset: 5px; font-size: 22px; line-height: 1.6; }
  .bus-movement-print-supervisor { margin: 6px 0 10px; padding: 6px 8px; border: 1px solid #aaa; text-align: right; font-size: 14px; font-weight: 800; }
  .bus-movement-print-sheet th, .bus-movement-print-sheet td { font-size: 10px; padding: 6px 4px; }
  .bus-movement-print-name strong, .bus-movement-print-name span { display: block; }
  .bus-movement-print-name span { margin-top: 3px; font-size: 9px; font-family: Arial, sans-serif; }
  .bus-students-print-sheet .report-print-head h1 { font-size: 21px; }
  .bus-students-print-sheet .report-print-head h2 { font-size: 28px; }
  .bus-students-print-sheet .report-print-head span { font-size: 18px; }
  .bus-students-print-sheet .report-print-head strong { font-size: 20px; }
  .bus-students-print-sheet .report-print-filters { font-size: 18px; }
  .bus-students-print-sheet table { table-layout: fixed; }
  .bus-students-print-sheet th, .bus-students-print-sheet td { padding: 5px 3px; font-size: 15.6px; line-height: 1.35; overflow-wrap: anywhere; }
  .bus-students-print-sheet th:first-child, .bus-students-print-sheet td:first-child { width: 3%; }
  .bus-students-print-sheet .report-print-footer { font-size: 18px; }
  .employees-export-print-sheet table { table-layout: fixed; }.employees-export-print-sheet th, .employees-export-print-sheet td { padding: 3px 2px; font-size: 5.8px; overflow-wrap: anywhere; }.employees-export-print-sheet th:first-child, .employees-export-print-sheet td:first-child { width: 3%; }
  .route-manifest-print { width: 100%; font-family: Tahoma, Arial, sans-serif; color: #000; direction: rtl; }
  .print-sheet.route-manifest-page { width: 100%; min-height: 0; margin: 0; padding: 0; border: 0; box-sizing: border-box; break-after: page; page-break-after: always; font-family: Tahoma, Arial, sans-serif; }
  .print-sheet.route-manifest-page:last-child { break-after: auto; page-break-after: auto; }
  .route-manifest-header { text-align: center; margin: 0 0 4mm; }
  .route-manifest-header h1 { display: inline-block; margin: 0; padding: 0 10mm 1.5mm; border-bottom: 1.2px solid #000; font-size: 22px; font-weight: 800; line-height: 1.2; }
  .route-manifest-header h2 { margin: 2mm 0 0; font-size: 15px; font-weight: 800; }
  .route-manifest-page .route-manifest-summary { width: 78mm; margin: 0 auto 4mm 0; table-layout: fixed; border-collapse: collapse; }
  .route-manifest-page .route-manifest-summary th, .route-manifest-page .route-manifest-summary td { padding: 1.5mm 2.5mm; border: 1px solid #555; font-size: 10.5px; line-height: 1.3; }
  .route-manifest-page .route-manifest-summary th { width: 31mm; background: #eee !important; text-align: right; }
  .route-manifest-page .route-manifest-summary td { text-align: center; font-weight: 700; }
  .route-manifest-page .route-manifest-table { width: 100%; table-layout: fixed; border-collapse: collapse; }
  .route-manifest-page .route-manifest-table thead { display: table-header-group; }
  .route-manifest-page .route-manifest-table tr { break-inside: avoid; page-break-inside: avoid; }
  .route-manifest-page .route-manifest-table th, .route-manifest-page .route-manifest-table td { height: 7mm; padding: 1.2mm 1.4mm; border: 1px solid #333; font-size: 15.5px; line-height: 1.3; text-align: center; vertical-align: middle; overflow-wrap: anywhere; }
  .route-manifest-page .route-manifest-table th { background: #e9e9e9 !important; font-weight: 800; }
  .route-manifest-page .route-manifest-table th:nth-child(1), .route-manifest-page .route-manifest-table td:nth-child(1) { width: 4%; }
  .route-manifest-page .route-manifest-table th:nth-child(2), .route-manifest-page .route-manifest-table td:nth-child(2) { width: 22%; }
  .route-manifest-page .route-manifest-table th:nth-child(3), .route-manifest-page .route-manifest-table td:nth-child(3) { width: 8%; }
  .route-manifest-page .route-manifest-table th:nth-child(4), .route-manifest-page .route-manifest-table td:nth-child(4) { width: 33%; }
  .route-manifest-page .route-manifest-table th:nth-child(5), .route-manifest-page .route-manifest-table td:nth-child(5) { width: 9%; }
  .route-manifest-page .route-manifest-table th:nth-child(6), .route-manifest-page .route-manifest-table td:nth-child(6), .route-manifest-page .route-manifest-table th:nth-child(7), .route-manifest-page .route-manifest-table td:nth-child(7) { width: 12%; }
  .route-manifest-page .route-manifest-student, .route-manifest-page .route-manifest-address { text-align: right; }
  .route-manifest-page .route-manifest-student { font-size: 10.5px; line-height: 1.15; letter-spacing: -0.15px; white-space: nowrap; overflow-wrap: normal; }
  .route-manifest-page .route-manifest-address { font-size: 7.5px; line-height: 1.15; white-space: nowrap; overflow-wrap: normal; }
  .route-manifest-page .route-manifest-phone { white-space: nowrap; direction: ltr; }
  .route-manifest-page .route-manifest-empty { padding: 8mm !important; font-weight: 700; }
  .route-manifest-page footer { display: flex; justify-content: space-between; gap: 5mm; margin-top: 3mm; padding-top: 2mm; border-top: 1px solid #777; font-size: 9px; }
  .id-card-print-sheet { width: 100%; margin: 0; padding: 0; direction: rtl; }
  .id-card-print-grid { display: grid; grid-template-columns: 1fr; gap: 5mm; justify-content: center; }
  .id-card-print-grid .id-card-person-set { display: grid; grid-template-columns: repeat(2, 54mm); gap: 6mm; justify-content: center; break-inside: avoid; page-break-inside: avoid; }
  .id-card-print-grid .id-card-face-wrap { display: block; width: 54mm; height: 85.6mm; break-inside: avoid; page-break-inside: avoid; }
  .id-card-print-grid .school-id-card { width: 54mm; height: 85.6mm; max-width: none; box-shadow: none; -webkit-print-color-adjust: exact; print-color-adjust: exact; break-inside: avoid; }
  .id-card-print-heading { margin-bottom: 4mm; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .print-sheet.employee-card-print-sheet { page: employee-card; width: 100%; max-width: none; min-height: 0; margin: 0; padding: 7mm; overflow: visible; border: 0; box-sizing: border-box; color: #111; }
  .employee-card-print-sheet .employee-card-screen { grid-template-columns: repeat(2,minmax(0,1fr)); align-content: start; gap: 3.5mm; }
  .employee-card-print-sheet .employee-card-hero { grid-column: 1/-1; padding: 3.5mm; border-color: #bbb; background: #f7f7fb !important; box-shadow: none; break-inside: avoid; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .employee-card-print-sheet .employee-card-avatar { width: 17mm; height: 17mm; flex-basis: 17mm; border-radius: 4mm; box-shadow: none; }
  .employee-card-print-sheet .employee-card-heading { gap: 1mm; }
  .employee-card-print-sheet .employee-card-hero .modal-title { color: #111; font-size: 13px; }
  .employee-card-print-sheet .employee-card-section { align-content: start; gap: 1.5mm; break-inside: avoid; }
  .employee-card-print-sheet .employee-card-section h3 { padding-bottom: 1.5mm; color: #111; font-size: 10px; }
  .employee-card-print-sheet .employee-profile-details { grid-template-columns: repeat(2, minmax(0, 1fr)); align-content: start; gap: 1.5mm 3mm; padding: 2.5mm; background: #fafafa !important; font-size: 7.5px; line-height: 1.35; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .employee-card-print-sheet .employee-profile-details span { margin-bottom: .5mm; font-size: 6px; }
  .employee-card-print-sheet .employee-profile-details strong { font-size: 7.5px; }
  .employee-card-print-sheet .employee-card-location { display: none; }
  .employee-card-print-footer { margin-top: 3mm; padding-top: 1.5mm; border-top: 1px solid #aaa; color: #555; text-align: center; font-size: 6px; }
  @page { size: A5 portrait; margin: 0; }
  @page employee-card { size: A4 portrait; margin: 0; }
}
/* Employee hiring documents */
.employee-hiring-documents-screen { min-width: min(980px, 100%); }
.hiring-documents-tabs,
.hiring-editor-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin: 18px 0; }
.hiring-doc-filter-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 18px 0; }
.hiring-doc-filter-grid label { display: grid; gap: 7px; color: var(--muted); font-weight: 700; }
.hiring-doc-filter-grid input,
.hiring-doc-filter-grid select { width: 100%; min-height: 48px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 12px; background: #fff; color: var(--text); }
.hiring-receipt-summary { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 14px; }
.hiring-receipt-summary span { padding: 9px 13px; border-radius: 999px; background: #f3f0ff; color: var(--primary); }
.hiring-receipt-summary .complete { background: #e9f8f1; color: #16865d; }
.hiring-receipt-summary .partial { background: #fff4df; color: #a96908; }
.hiring-doc-status { display: inline-flex; align-items: center; justify-content: center; min-width: 86px; padding: 7px 11px; border-radius: 999px; font-weight: 800; }
.hiring-doc-status.complete { background: #e7f8ef; color: #14845a; }
.hiring-doc-status.partial { background: #fff2dc; color: #aa6700; }
.hiring-doc-status.not_started { background: #fff0f1; color: #c74752; }
.hiring-employee-row,
.employee-hiring-report-row { cursor: pointer; }
.hiring-employee-row:hover,
.employee-hiring-report-row:hover { background: #f8f6ff; }
.employee-hiring-editor-hero { padding: 20px; border: 1px solid #ddd7ff; border-radius: 18px; background: linear-gradient(135deg, #f8f6ff, #eef6ff); }
.employee-hiring-editor-hero h2 { margin: 7px 0 3px; }
.employee-hiring-editor-hero p { margin: 0; color: var(--muted); }
.employee-hiring-editor-hero > div { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 13px; }
.employee-hiring-editor-hero > div span { padding: 7px 11px; border-radius: 999px; background: #fff; color: var(--primary); }
.hiring-editor-actions strong { margin-inline-start: auto; color: var(--primary); }
.hiring-document-checkbox { width: 20px; height: 20px; accent-color: var(--primary); cursor: pointer; }
@media (max-width: 760px) {
  .hiring-doc-filter-grid { grid-template-columns: 1fr; }
  .employee-hiring-documents-screen { min-width: 0; }
}
.transport-settings-btn{height:52px;padding:0 22px;border:1px solid #e9b229;border-radius:12px;background:linear-gradient(135deg,#ffd85a,#f4b927);color:#5f4300;font:inherit;font-weight:900;cursor:pointer;box-shadow:0 8px 18px rgba(224,166,20,.24)}
.transport-settings-btn:hover{filter:brightness(.98);transform:translateY(-1px)}
#page-transport .transport-page-title{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:18px 24px;margin-bottom:26px}
#page-transport .transport-title-copy{min-width:0}
#page-transport .transport-corner-actions{display:flex;direction:ltr;align-items:center;gap:10px;justify-self:end}
#page-transport .transport-corner-actions>button{direction:rtl;min-width:150px;height:52px;padding:0 18px;white-space:nowrap}
#page-transport .transport-main-actions{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;width:100%}
#page-transport .transport-main-actions>button{width:100%;min-width:0;min-height:64px;height:64px;padding:9px 11px;line-height:1.55;text-align:center;white-space:normal}
.transport-hub-screen{display:grid;gap:18px}
.transport-hub-hero{margin:0}
.transport-hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.transport-passengers-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.transport-operations-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.transport-hub-card{min-height:155px;display:grid;grid-template-columns:52px minmax(0,1fr);grid-template-rows:auto auto;align-content:center;align-items:center;gap:7px 13px;padding:20px;border:1px solid #ddd8ff;border-radius:18px;background:linear-gradient(145deg,#fff,#f7f5ff);color:var(--text);font:inherit;text-align:start;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.transport-hub-card:hover{transform:translateY(-3px);border-color:#bdb3ff;box-shadow:0 14px 28px rgba(78,61,174,.12)}
.transport-hub-card i{grid-row:1/3;width:52px;height:52px;display:grid;place-items:center;border-radius:16px;background:#eae6ff;color:var(--primary);font-size:18px;font-style:normal;font-weight:900}
.transport-hub-card b{align-self:end;font-size:16px}
.transport-hub-card span{align-self:start;color:var(--muted);font-size:11px;line-height:1.7}
.bus-exit-permit-toolbar{display:flex;align-items:end;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:14px;border:1px solid var(--line);border-radius:14px;background:#faf9ff}
.bus-exit-permit-toolbar label{display:grid;gap:7px;min-width:220px;color:var(--text);font-size:13px;font-weight:800}
.bus-exit-permit-toolbar input{min-height:44px;border:1px solid var(--line);border-radius:9px;padding:8px 11px;background:#fff;color:var(--text);font:inherit}
.bus-exit-permit-toolbar .security-list-sort{margin-top:0}
.bus-exit-permit-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.bus-exit-permit-pdf-btn{min-height:44px;white-space:nowrap}
.bus-movement-report-toolbar{display:grid;grid-template-columns:1.1fr 1.5fr 1fr 1fr auto;align-items:end;gap:12px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#faf9ff}
.bus-movement-report-toolbar label{display:grid;gap:7px;color:var(--text);font-size:12px;font-weight:800}
.bus-movement-report-toolbar input,.bus-movement-report-toolbar select{min-height:44px;border:1px solid var(--line);border-radius:9px;padding:8px 11px;background:#fff;color:var(--text);font:inherit}
.bus-movement-report-toolbar button{min-height:44px;white-space:nowrap}
.bus-movement-report-actions{display:flex;align-items:center;gap:8px}
.bus-movement-summary{margin-bottom:14px}
.bus-movement-report-screen .table-wrap small{display:block;margin-top:3px;color:var(--muted);font-size:10px}
@media(max-width:1050px){.bus-movement-report-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.bus-movement-report-actions{grid-column:1/-1}.bus-movement-report-actions button{flex:1}}
@media(max-width:900px){#page-transport .transport-main-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.transport-hub-grid{grid-template-columns:1fr}}
@media(max-width:620px){.bus-exit-permit-toolbar{align-items:stretch}.bus-exit-permit-toolbar label,.bus-exit-permit-actions{width:100%;min-width:0}.bus-exit-permit-toolbar .security-list-sort{width:100%}.bus-exit-permit-toolbar .security-list-sort button{flex:1}.bus-exit-permit-pdf-btn{width:100%}.bus-movement-report-toolbar{grid-template-columns:1fr}.bus-movement-report-actions{flex-direction:column}.bus-movement-report-actions button{width:100%}}
@media(max-width:650px){#page-transport .transport-page-title{grid-template-columns:1fr}#page-transport .transport-corner-actions{grid-row:1;justify-self:start;width:100%}#page-transport .transport-corner-actions>button{flex:1;min-width:0}#page-transport .transport-title-copy{grid-row:2}#page-transport .transport-main-actions{grid-row:3}}
@media(max-width:560px){#page-transport .transport-main-actions{grid-template-columns:1fr;gap:8px}#page-transport .transport-main-actions>button{min-height:58px;height:58px;padding:7px}.transport-hub-card{min-height:130px;padding:16px}.transport-hub-card i{width:46px;height:46px}.transport-corner-actions{gap:7px}.transport-corner-actions>button{font-size:11px!important;padding:0 9px!important}}
.transport-settings-modal .transport-settings-intro{grid-column:1/-1;padding:16px 18px;border-radius:16px;background:linear-gradient(135deg,#fff9dd,#fff4bd);border:1px solid #f2d97d;color:#705000}
.transport-settings-modal .transport-settings-intro h3{margin:0 0 5px;font-size:18px}.transport-settings-modal .transport-settings-intro p{margin:0;line-height:1.7;font-size:12px}
.transport-route-limits{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px;border:1px solid #ead47d;border-radius:17px;background:#fffaf0}
@media(max-width:720px){.transport-route-limits{grid-template-columns:1fr}}
@media(max-width:900px){.request-type-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.request-card{align-items:flex-start;flex-wrap:wrap}.request-card .request-info{flex-basis:100%}.request-meta{flex:1}.request-actions{flex-wrap:wrap}}
@media(max-width:520px){.request-type-buttons{grid-template-columns:1fr}.request-type-button{min-height:74px}.request-type-view-head{align-items:flex-start}.filter-tabs{overflow-x:auto}.filter-tabs button{flex:0 0 auto}.request-meta{width:100%;gap:16px;justify-content:space-between}.request-actions{width:100%}}

/* Personalized employee dashboard */
.employee-dashboard[hidden],#managementDashboard[hidden]{display:none!important}
.employee-dashboard{display:grid;gap:18px}
.employee-dashboard-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:190px;padding:28px 32px;border-radius:28px;color:#fff;background:linear-gradient(125deg,#182557 0%,#4338a4 52%,#7359e8 100%);box-shadow:0 22px 45px rgba(53,45,145,.18);position:relative;overflow:hidden}
.employee-dashboard-hero:before,.employee-dashboard-hero:after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.08)}
.employee-dashboard-hero:before{width:260px;height:260px;inset-inline-end:-90px;top:-120px}.employee-dashboard-hero:after{width:180px;height:180px;inset-inline-start:35%;bottom:-135px}
.employee-dashboard-unit-backdrop{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.34;filter:saturate(.9) contrast(1.05)}
.employee-dashboard-hero.has-unit-image{background:linear-gradient(120deg,#111d49 0%,#312b88 55%,#5442bd 100%)}
.employee-dashboard-hero.has-unit-image:before{width:auto;height:auto;inset:0;border-radius:0;background:linear-gradient(90deg,rgba(12,23,65,.92),rgba(30,27,91,.68) 58%,rgba(48,34,116,.5))}
.employee-dashboard-identity,.employee-dashboard-year{position:relative;z-index:1}.employee-dashboard-identity{display:flex;align-items:center;gap:18px;min-width:0}
.employee-dashboard-photo{width:104px;height:104px;flex:0 0 104px;display:grid;place-items:center;border:4px solid rgba(255,255,255,.78);border-radius:25px;overflow:hidden;background:rgba(255,255,255,.17);box-shadow:0 12px 28px rgba(7,12,47,.25);font-size:42px;font-weight:900}
.employee-dashboard-photo img{width:100%;height:100%;object-fit:cover}.employee-dashboard-identity span{font-size:13px;opacity:.82}.employee-dashboard-identity h1{margin:4px 0 8px;font-size:clamp(24px,3vw,37px);line-height:1.25}.employee-dashboard-identity p{margin:0;opacity:.84}
.employee-dashboard-unit-name{display:inline-flex;align-items:center;gap:7px;margin-top:13px;padding:7px 11px;border:1px solid rgba(255,255,255,.28);border-radius:999px;color:#fff;background:rgba(255,255,255,.13);backdrop-filter:blur(5px);font-weight:800}
.employee-dashboard-year{min-width:210px;padding:18px 22px;border:1px solid rgba(255,255,255,.2);border-radius:20px;background:rgba(255,255,255,.11);backdrop-filter:blur(8px)}.employee-dashboard-year span,.employee-dashboard-year small{display:block;opacity:.8}.employee-dashboard-year strong{display:block;margin:6px 0;font-size:23px;direction:ltr;text-align:start}
.employee-personal-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.employee-personal-stat{display:flex;align-items:center;gap:14px;min-height:126px;padding:20px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 12px 30px rgba(39,45,81,.06);font-family:inherit;text-align:right;color:var(--text)}
.employee-personal-stat>span{width:48px;height:48px;flex:0 0 48px;display:grid;place-items:center;border-radius:16px;font-size:21px;font-weight:900}.employee-personal-stat small,.employee-personal-stat p{color:var(--muted)}.employee-personal-stat strong{display:block;margin:3px 0;font-size:21px}.employee-personal-stat p{margin:0;font-size:11px}.employee-personal-stat.attendance>span{color:#118a60;background:#e8f8f1}.employee-personal-stat.departure>span{color:#2473c8;background:#ebf4ff}.employee-personal-stat.requests>span{color:#a16808;background:#fff4df}.employee-personal-stat.evaluation>span{color:#674de0;background:#f0edff}.employee-personal-stat.leave{cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.employee-personal-stat.leave:hover{transform:translateY(-3px);border-color:#cfc8f6;box-shadow:0 16px 34px rgba(55,47,120,.11)}.employee-personal-stat.leave.annual>span{color:#bd7300;background:#fff3d8}.employee-personal-stat.leave.casual>span{color:#2473c8;background:#eaf4ff}.employee-leave-history-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.employee-leave-history-summary>div{display:grid;gap:3px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#faf9ff;text-align:center}.employee-leave-history-summary span,.employee-leave-history-summary small{color:var(--muted);font-size:9px}.employee-leave-history-summary strong{color:var(--primary);font-size:25px}.employee-leave-history .table-wrap{border-radius:13px}.employee-leave-history table{min-width:650px}
.employee-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.employee-dashboard-panel{padding:22px!important;border-radius:23px!important}.employee-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}.employee-panel-head>div{display:flex;align-items:center;gap:12px}.employee-panel-head h2{margin:0 0 4px;font-size:18px}.employee-panel-head p{margin:0;color:var(--muted);font-size:11px}.employee-panel-head .section-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:14px;font-size:18px}.employee-panel-head .section-icon.green{background:#e7f8ef;color:#118a60}.employee-panel-head .section-icon.orange{background:#fff3df;color:#ad6a08}.employee-panel-head .section-icon.blue{background:#eaf4ff;color:#2875ca}.employee-panel-head .section-icon.purple{background:#f0edff;color:#654be0}
.employee-workday-row{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.employee-workday-row>div{padding:13px;border-radius:14px;background:#f8f9fd}.employee-workday-row span{display:block;color:var(--muted);font-size:10px}.employee-workday-row strong{display:block;margin-top:5px}.employee-today-schedule{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.employee-today-schedule h3{margin:0 0 10px;font-size:14px}.employee-today-schedule>div{display:grid;grid-template-columns:1fr auto auto;gap:12px;padding:9px 11px;border-radius:11px;background:#f8f7ff;margin-top:7px}.employee-today-schedule small{color:var(--muted);direction:ltr}
.employee-request-list{display:grid;gap:8px}.employee-request-list>div{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:11px;border:1px solid #eff0f6;border-radius:13px}.employee-request-list strong{font-size:12px}.employee-request-list small{color:var(--muted);font-size:10px}.employee-request-list .status{font-size:9px;min-width:74px;padding:6px 8px}.employee-dashboard-empty{margin:15px 0;color:var(--muted);text-align:center}
.employee-dashboard-link{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:14px;padding:10px;border:0;border-radius:12px;color:var(--primary);background:#f2efff;font:inherit;font-weight:800;cursor:pointer}.employee-dashboard-link:hover{background:#e9e4ff}
.employee-doc-progress{display:flex;align-items:center;gap:20px}.employee-doc-progress>div{--progress:0;width:92px;height:92px;flex:0 0 92px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--primary) calc(var(--progress)*1%),#eeedf5 0);position:relative}.employee-doc-progress>div:before{content:"";position:absolute;inset:9px;border-radius:50%;background:#fff}.employee-doc-progress strong{position:relative;z-index:1}.employee-doc-progress h3{margin:0 0 6px;font-size:15px}.employee-doc-progress p{margin:0;color:var(--muted)}.employee-doc-progress small{display:block;margin-top:7px;color:#b2690b}
.employee-quick-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.employee-quick-actions button{min-height:74px;display:flex;align-items:center;gap:10px;padding:13px;border:1px solid #e7e5f5;border-radius:15px;color:var(--text);background:#faf9ff;font:inherit;cursor:pointer}.employee-quick-actions button:hover{border-color:#cfc7ff;background:#f2efff}.employee-quick-actions span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;color:var(--primary);background:#eae6ff;font-size:18px}.employee-quick-actions b{font-size:12px}
.employee-service-request-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.employee-service-request{min-width:0;min-height:116px;padding:16px;border:1px solid #ddd8ff;border-radius:16px;background:linear-gradient(145deg,#fff,#f7f5ff);color:var(--text);display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;text-align:start;font:inherit;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.employee-service-request>span{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:#eae6ff;color:var(--primary);font-size:20px}.employee-service-request>div{display:grid;gap:5px;min-width:0}.employee-service-request strong{font-size:14px}.employee-service-request small{color:var(--muted);font-size:10px;line-height:1.6}.employee-service-request i{color:var(--primary);font-style:normal;font-size:18px}.employee-service-request.printing:hover,.employee-service-request.bus-ride:hover{border-color:#bfb5ff;transform:translateY(-2px);box-shadow:0 10px 22px rgba(104,86,217,.12)}.employee-service-request.bus-ride{border-color:#cceadd;background:linear-gradient(145deg,#fff,#f2fbf7)}.employee-service-request.bus-ride>span{background:#def5e9;color:#14825a}.employee-service-request.maintenance{border-color:#e6e7ed;background:#fafafd;cursor:not-allowed;opacity:.82}.employee-service-request.maintenance>span{background:#eef0f5;color:#777d8d}.employee-service-request em{padding:6px 9px;border-radius:999px;background:#fff0d9;color:#a96500;font-size:9px;font-style:normal;font-weight:800;white-space:nowrap}.printing-requester-profile{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:2px}.printing-requester-profile>small{grid-column:1/-1;color:var(--green);font-size:10px;font-weight:700}.printing-workflow-notice{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid #ddd8ff;border-radius:14px;background:#f8f7ff}.printing-workflow-notice>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#e9e5ff;color:var(--primary);font-weight:900}.printing-workflow-notice>div{display:grid;gap:4px}.printing-workflow-notice small{color:var(--muted);font-size:10px}.printing-workflow-notice.direct{border-color:#bee8d7;background:#f1fbf7}.printing-workflow-notice.direct>span{background:#d9f4e8;color:#13805a}.printing-workflow-notice.missing{border-color:#f2c2c2;background:#fff7f7}.printing-workflow-notice.missing>span{background:#ffe3e3;color:#c33}
.employee-service-request.access-card{border-color:#bcdcf5;background:linear-gradient(145deg,#fff,#f2f9ff)}.employee-service-request.access-card>span{background:#dcefff;color:#1970a8}.employee-service-request.access-card:hover{border-color:#79b9e7;transform:translateY(-2px);box-shadow:0 10px 22px rgba(25,112,168,.12)}.employee-service-request.doctor-call{border-color:#bce7d4;background:linear-gradient(145deg,#fff,#f1fbf6)}.employee-service-request.doctor-call>span{background:#dcf5e9;color:#13805a}.employee-service-request.doctor-call:hover{border-color:#77c9a7;transform:translateY(-2px);box-shadow:0 10px 22px rgba(19,128,90,.12)}.internal-service-modal .modal-title small{display:inline-block;margin-inline-start:7px;color:var(--muted);font-size:13px}.internal-service-reason{margin:14px 0;padding:14px 16px;border:1px solid #dcd6f8;border-radius:13px;background:#faf9ff}.internal-service-reason span{display:block;margin-bottom:5px;color:var(--muted);font-size:10px;font-weight:900}.internal-service-reason p{margin:0;line-height:1.8}.internal-service-reason.rejected{border-color:#efc0c0;background:#fff6f6}.clinic-doctor-call-list{display:grid;gap:9px;margin-bottom:10px}.clinic-doctor-call-list>button{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;width:100%;padding:12px 14px;border:1px solid #a9ddc8;border-radius:13px;background:#f2fbf7;color:var(--text);font:inherit;text-align:start;cursor:pointer}.clinic-doctor-call-list>button>span{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#d9f4e8;color:#13805a;font-size:19px}.clinic-doctor-call-list>button>div{display:grid;gap:4px}.clinic-doctor-call-list small{color:var(--muted);font-size:10px}.clinic-doctor-call-list b{padding:6px 9px;border-radius:999px;background:#fff;color:#13805a;font-size:9px}.internal-service-status-panel .employee-request-list button{cursor:pointer}.doctor-call-panel{border-color:#bce7d4!important}
.management-service-requests{margin:0 0 17px;padding:22px!important;border-radius:20px!important}.management-service-requests .employee-service-request-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.management-service-requests .employee-service-request-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.employee-service-request.purchase{border-color:#f2d49d;background:linear-gradient(145deg,#fff,#fff9ed)}.employee-service-request.purchase>span{background:#fff0ce;color:#ad6b00}.employee-service-request.purchase:hover{border-color:#e4b860;transform:translateY(-2px);box-shadow:0 10px 22px rgba(173,107,0,.12)}
.purchase-request-form{gap:16px}.purchase-requester-profile{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px;border:1px solid #ddd8ff;border-radius:15px;background:#f8f7ff}.purchase-requester-profile>div,.purchase-detail-meta>div{display:grid;gap:4px}.purchase-requester-profile span,.purchase-detail-meta span{font-size:10px;color:var(--muted)}.purchase-items{display:grid;gap:12px}.purchase-items-title{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-block:6px}.purchase-items-title h3{margin:0;font-size:18px}.purchase-items-title p{margin:4px 0 0;color:var(--muted);font-size:11px}.purchase-items-title button{border:1px solid var(--primary);background:#fff;color:var(--primary);border-radius:11px;padding:10px 14px;font:inherit;font-weight:800}.purchase-item-row{display:grid;grid-template-columns:2fr repeat(4,minmax(120px,1fr));gap:12px;padding:15px;border:1px solid #e1def7;border-radius:16px;background:#fbfaff}.purchase-item-row-head{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between}.purchase-item-row-head button{border:0;background:transparent;font:inherit;cursor:pointer}.purchase-description{grid-column:span 2}.purchase-tax-choice{display:flex!important;flex-direction:row!important;align-items:center;gap:10px;padding:10px 12px;border:1px solid #ddd8ff;border-radius:12px;background:#fff}.purchase-tax-choice input{width:20px;height:20px;flex:0 0 auto}.purchase-tax-choice span{display:grid;gap:2px}.purchase-tax-choice small{font-size:9px;color:var(--muted)}.purchase-line-total{display:grid;align-content:center;gap:4px;padding:10px 12px;border-radius:12px;background:#eef8f4;color:#137a59}.purchase-line-total span{font-size:10px}.purchase-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px;border:1px solid #d9d5f7;border-radius:15px;background:#f8f7ff}.purchase-summary>div{display:grid;gap:5px;padding:10px;text-align:center}.purchase-summary span{font-size:11px;color:var(--muted)}.purchase-summary strong{font-size:18px}.purchase-summary .purchase-grand-total{border-radius:12px;background:var(--primary);color:#fff}.purchase-summary .purchase-grand-total span{color:#eeeaff}.purchase-detail-meta{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:15px 0;padding:14px;border:1px solid #e1def7;border-radius:14px;background:#faf9ff}.purchase-details-table{margin-top:12px}.purchase-approval-history{display:grid;gap:8px;margin:14px 0;padding:0;list-style:none}.purchase-approval-history li{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #e3e5ee;border-radius:11px}.purchase-approval-history span{color:var(--muted);font-size:11px}.purchasing-alert{display:flex;align-items:center;gap:15px;margin-bottom:16px;padding:18px;border:1px solid #dfe2ec;border-radius:18px;background:#f7f8fb}.purchasing-alert>span{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:#eef0f5;font-size:22px}.purchasing-alert strong{font-size:16px}.purchasing-alert p{margin:5px 0 0;color:var(--muted);font-size:11px}.purchasing-alert.active{border-color:#f0bd62;background:#fff8e8}.purchasing-alert.active>span{background:#ffe7ac}.purchasing-requests-panel tbody tr{cursor:pointer}.purchasing-requests-panel tbody tr:hover{background:#f5f2ff}
.purchase-request-print{font-family:"Times New Roman",serif;color:#000;background:#fff;padding:18mm;direction:ltr}.purchase-request-print .pr-head{display:grid;grid-template-columns:1.7fr 1fr;gap:22px;align-items:stretch;margin-bottom:18px}.purchase-request-print .pr-subject{display:grid;grid-template-columns:140px 1fr;align-items:stretch;background:#d9e7f5;border:1px solid #000}.purchase-request-print .pr-subject span{display:grid;place-items:center;padding:12px;border-left:1px solid #000;font-weight:700}.purchase-request-print .pr-subject strong{display:grid;place-items:center;padding:12px;font-size:16px}.purchase-request-print .pr-title{display:grid;align-content:center;gap:7px;text-align:center}.purchase-request-print .pr-title h1{margin:0;font-size:24px}.purchase-request-print .pr-requester{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #000;border-bottom:0}.purchase-request-print .pr-requester>div{display:grid;grid-template-columns:1fr 1.2fr;border-inline-end:1px solid #000}.purchase-request-print .pr-requester>div:last-child{border-inline-end:0}.purchase-request-print .pr-requester span,.purchase-request-print .pr-requester strong{padding:9px;border-bottom:1px solid #000}.purchase-request-print .pr-requester span{background:#d9e7f5}.purchase-request-print table{width:100%;border-collapse:collapse}.purchase-request-print th,.purchase-request-print td{border:1px solid #000;padding:7px;text-align:center;vertical-align:middle}.purchase-request-print th{background:#d9e7f5;font-size:11px}.purchase-request-print td{font-size:10px}.purchase-request-print .empty-row{height:26px}.purchase-request-print .pr-totals{width:42%;margin-left:auto;border:1px solid #000;border-top:0}.purchase-request-print .pr-totals>div{display:grid;grid-template-columns:1fr 1fr}.purchase-request-print .pr-totals span,.purchase-request-print .pr-totals strong{padding:7px;border-bottom:1px solid #000}.purchase-request-print .pr-totals span{background:#d9e7f5}.purchase-request-print .pr-totals strong{text-align:center}.purchase-request-print .pr-totals>div:last-child>*{border-bottom:0;background:#c6e0b4;font-size:14px}.purchase-request-print .pr-approval-heading{margin-top:28px;padding:8px;text-align:center;background:#c6e0b4;border:1px solid #000;font-weight:700}.purchase-request-print .pr-approvals{display:grid;grid-template-columns:repeat(4,1fr);min-height:105px;border:1px solid #000;border-top:0}.purchase-request-print .pr-approvals>div{display:grid;grid-template-rows:auto 1fr;text-align:center;border-inline-end:1px solid #000}.purchase-request-print .pr-approvals>div:last-child{border-inline-end:0}.purchase-request-print .pr-approvals span{padding:8px;background:#d9e7f5;border-bottom:1px solid #000;font-size:10px}.purchase-request-print .pr-approvals strong{padding:18px 8px}
@media(max-width:1000px){.management-service-requests .employee-service-request-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.purchase-item-row{grid-template-columns:repeat(2,minmax(0,1fr))}.purchase-description{grid-column:1/-1}.purchase-detail-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.purchase-requester-profile,.purchase-summary,.purchase-detail-meta,.purchase-item-row{grid-template-columns:1fr}.purchase-description{grid-column:auto}.purchase-items-title{align-items:stretch;flex-direction:column}}
@media print{.purchase-request-print{display:block!important}.purchase-request-print *{-webkit-print-color-adjust:exact;print-color-adjust:exact}@page{size:A4 portrait;margin:0}}
.purchase-requester-profile{grid-template-columns:repeat(4,minmax(0,1fr))}.purchase-detail-meta{grid-template-columns:repeat(3,minmax(0,1fr))}.purchase-request-print .pr-requester{grid-template-columns:repeat(4,1fr)}
.purchase-approval-path{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:11px 13px;border:1px solid #cceadd;border-radius:13px;background:#f2fbf7}.purchase-approval-path>strong{color:#137a59;margin-inline-end:4px}.purchase-approval-path>span{padding:6px 9px;border-radius:9px;background:#fff;font-size:10px;color:var(--muted)}.purchase-approval-path b{color:var(--text)}
@media(max-width:700px){.purchase-requester-profile,.purchase-detail-meta{grid-template-columns:1fr}}

/* Purchase request print: mirrors the approved PR.xlsx layout. */
.purchase-request-print.pr-excel-template{box-sizing:border-box;width:210mm;min-height:297mm;margin:0 auto;padding:15mm 14mm 12mm;color:#000;background:#fff;font-family:"Times New Roman",serif;font-size:9pt;line-height:1.15;direction:ltr}
.pr-excel-template *{box-sizing:border-box}.pr-excel-template .pr-excel-head{display:grid;grid-template-columns:46% 45%;justify-content:space-between;align-items:start;margin-bottom:7mm}.pr-excel-template .pr-excel-subject{display:grid;grid-template-columns:40% 60%;min-height:20mm;border:1.2px solid #000;background:#78c1df;text-align:center}.pr-excel-template .pr-excel-subject strong,.pr-excel-template .pr-excel-subject span{display:grid;place-items:center;padding:2mm 2.5mm}.pr-excel-template .pr-excel-subject strong{border-inline-end:1.2px solid #000;font-size:10pt}.pr-excel-template .pr-excel-subject span{font-size:11pt;font-weight:700}.pr-excel-template .pr-excel-title{display:grid;place-items:center;min-height:20mm;text-align:center}.pr-excel-template .pr-excel-title h1{margin:0 0 2mm;font-size:18pt;line-height:1}.pr-excel-template .pr-excel-title time{font-size:10pt;font-weight:700}
.pr-excel-template .pr-excel-requester{display:grid;grid-template-columns:25% 75%;width:70%;margin:0 0 6mm auto;border-top:1.2px solid #000;border-inline:1.2px solid #000}.pr-excel-template .pr-excel-requester>div{display:flex;align-items:center;min-height:7mm;padding:1.4mm 2.2mm;border-bottom:1.2px solid #000}.pr-excel-template .pr-excel-label{justify-content:center;border-inline-end:1.2px solid #000;background:#83de90;font-weight:700;text-align:center}.pr-excel-template .pr-excel-value{font-weight:700}
.pr-excel-template .pr-excel-currency{display:grid;grid-template-columns:55% 45%;width:28%;min-height:7mm;margin-bottom:5mm;border:1.2px solid #000}.pr-excel-template .pr-excel-currency span,.pr-excel-template .pr-excel-currency strong{display:grid;place-items:center;padding:1.2mm}.pr-excel-template .pr-excel-currency span{border-inline-end:1.2px solid #000;background:#83de90;font-weight:700}
.purchase-request-print.pr-excel-template table.pr-excel-items{width:100%;table-layout:fixed;border-collapse:collapse}.purchase-request-print.pr-excel-template .pr-excel-items th,.purchase-request-print.pr-excel-template .pr-excel-items td{height:5.2mm;padding:.8mm 1.2mm;border:1.2px solid #000;background:#fff;color:#000;text-align:center;vertical-align:middle;overflow-wrap:anywhere}.purchase-request-print.pr-excel-template .pr-excel-items th{height:7mm;background:#78c1df;font-size:8pt;font-weight:700}.purchase-request-print.pr-excel-template .pr-excel-items th:nth-child(6),.purchase-request-print.pr-excel-template .pr-excel-items td:nth-child(6){background:#e4e4e4;font-weight:700}.pr-excel-template .pr-col-number{width:5%}.pr-excel-template .pr-col-definition{width:24%}.pr-excel-template .pr-col-type{width:13%}.pr-excel-template .pr-col-quantity{width:11%}.pr-excel-template .pr-col-price{width:15%}.pr-excel-template .pr-col-total{width:16%}.pr-excel-template .pr-col-date{width:16%}
.pr-excel-template .pr-excel-below{display:flex;align-items:flex-start;justify-content:space-between;margin-top:0}.pr-excel-template .pr-excel-notes{width:28%;margin-top:5mm;border:1.2px solid #000}.pr-excel-template .pr-excel-notes-title{display:grid;place-items:center;min-height:6mm;border-bottom:1.2px solid #000;background:#83de90;font-weight:700}.pr-excel-template .pr-excel-notes>div:not(.pr-excel-notes-title){display:grid;grid-template-columns:65% 35%;min-height:6mm;border-bottom:1.2px solid #000}.pr-excel-template .pr-excel-notes>div:last-child{border-bottom:0}.pr-excel-template .pr-excel-notes span,.pr-excel-template .pr-excel-notes b{display:grid;place-items:center;padding:1mm}.pr-excel-template .pr-excel-notes span{border-inline-end:1.2px solid #000}.pr-excel-template .pr-excel-totals{width:39%;border-inline:1.2px solid #000}.pr-excel-template .pr-excel-totals>div{display:grid;grid-template-columns:52% 48%;min-height:6mm;border-bottom:1.2px solid #000}.pr-excel-template .pr-excel-totals>div:first-child{border-top:0}.pr-excel-template .pr-excel-totals span,.pr-excel-template .pr-excel-totals strong{display:flex;align-items:center;padding:1mm 2mm}.pr-excel-template .pr-excel-totals span{border-inline-end:1.2px solid #000;background:#78c1df;font-weight:700}.pr-excel-template .pr-excel-totals strong{justify-content:flex-end;background:#fff}.pr-excel-template .pr-excel-totals .grand span,.pr-excel-template .pr-excel-totals .grand strong{background:#d9ead3;font-size:10pt}
.pr-excel-template .pr-excel-approvals{margin-top:6mm}.pr-excel-template .pr-excel-approvals h2{display:grid;place-items:center;min-height:7mm;margin:0;border:1.2px solid #000;background:#83de90;font-size:10pt}.pr-excel-template .pr-excel-budget-signatures{display:grid;grid-template-columns:1fr 1fr;min-height:23mm;border-inline:1.2px solid #000;border-bottom:1.2px solid #000}.pr-excel-template .pr-excel-budget-signatures>div,.pr-excel-template .pr-excel-managing{display:grid;grid-template-rows:7mm 1fr;text-align:center}.pr-excel-template .pr-excel-budget-signatures>div:first-child{border-inline-end:1.2px solid #000}.pr-excel-template .pr-excel-budget-signatures strong,.pr-excel-template .pr-excel-managing strong{display:grid;place-items:center;border-bottom:1.2px solid #000;background:#d9e7f5;font-size:8pt}.pr-excel-template .pr-excel-budget-signatures span,.pr-excel-template .pr-excel-managing span{display:grid;place-items:center;padding:2mm;font-weight:700}.pr-excel-template .pr-excel-managing{width:50%;min-height:22mm;margin:0 auto;border-inline:1.2px solid #000;border-bottom:1.2px solid #000}
@page purchase-request{size:A4 portrait;margin:0}
@media print{
  .purchase-request-print.pr-excel-template{page:purchase-request;width:210mm;min-height:297mm;margin:0;padding:15mm 14mm 12mm;box-shadow:none;overflow:visible}
  .purchase-request-print.pr-excel-template .pr-excel-items tr,.purchase-request-print.pr-excel-template .pr-excel-below,.purchase-request-print.pr-excel-template .pr-excel-approvals{break-inside:avoid;page-break-inside:avoid}
}

/* Final purchase request layout based on the supplied PDF reference. */
.purchase-request-print.pr-excel-template{position:relative;padding:22mm 16mm 14mm;border:0;font-size:9.5pt}.purchase-request-print.pr-excel-template:before{content:"";position:absolute;inset:7mm;border:1.5px solid #000;pointer-events:none}
.pr-excel-template .pr-excel-head{grid-template-columns:38% 43%;margin-bottom:10mm}
.pr-excel-template .pr-excel-subject{grid-template-columns:1fr;grid-template-rows:1fr 1fr;min-height:15mm}
.pr-excel-template .pr-excel-subject strong{border-inline-end:0;border-bottom:1.2px solid #000;font-size:11pt}
.pr-excel-template .pr-excel-subject span{font-size:11pt}
.pr-excel-template .pr-excel-title{min-height:15mm}.pr-excel-template .pr-excel-title h1{font-size:15pt}.pr-excel-template .pr-excel-title time{font-size:10.5pt;font-weight:400}
.pr-excel-template .pr-excel-requester{grid-template-columns:34% 66%;width:72%;margin:0 0 7mm auto}.pr-excel-template .pr-excel-requester>div{min-height:6.5mm;padding:.8mm 2mm}.pr-excel-template .pr-excel-requester>.pr-excel-person{display:grid;align-content:center;gap:.4mm;text-align:center}.pr-excel-template .pr-excel-person strong{font:inherit;font-weight:700}.pr-excel-template .pr-excel-person small{display:block;font-size:7.5pt;font-weight:400}
.pr-excel-template .pr-excel-currency{width:26%;margin-bottom:7mm}
.purchase-request-print.pr-excel-template .pr-excel-items th,.purchase-request-print.pr-excel-template .pr-excel-items td{height:5.3mm}.purchase-request-print.pr-excel-template .pr-excel-items th{background:#fff;font-size:9pt}
.pr-excel-template .pr-excel-below{min-height:29mm}.pr-excel-template .pr-excel-notes{width:26%;margin-top:7mm}.pr-excel-template .pr-excel-totals{width:34%}.pr-excel-template .pr-excel-totals span{justify-content:center;background:#fff}.pr-excel-template .pr-excel-totals strong{justify-content:center}.pr-excel-template .pr-excel-totals .grand span,.pr-excel-template .pr-excel-totals .grand strong{background:#e4e4e4}
.pr-excel-template .pr-excel-approvals{margin-top:7mm}.pr-excel-template .pr-excel-approvals h2{min-height:6mm;background:#83de90;font-size:10pt;font-weight:400}.pr-excel-template .pr-excel-budget-signatures{min-height:23mm;border:0}.pr-excel-template .pr-excel-budget-signatures>div,.pr-excel-template .pr-excel-managing{display:grid;grid-template-rows:auto 1fr;align-content:start;padding-top:5mm}.pr-excel-template .pr-excel-budget-signatures>div:first-child{border-inline-end:0}.pr-excel-template .pr-excel-budget-signatures strong,.pr-excel-template .pr-excel-managing strong{border:0;background:#fff;font-size:10pt}.pr-excel-template .pr-excel-budget-signatures span,.pr-excel-template .pr-excel-managing span{min-height:7mm;padding:2mm}.pr-excel-template .pr-excel-managing{width:50%;min-height:22mm;margin:0 auto;border:0}
.purchase-request-print.pr-excel-template{overflow:hidden}.purchase-request-print.pr-excel-template table.pr-excel-items{width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important;table-layout:fixed!important}.purchase-request-print.pr-excel-template .pr-excel-items th,.purchase-request-print.pr-excel-template .pr-excel-items td{min-width:0!important;max-width:none!important;padding:.7mm .8mm!important;white-space:normal!important;word-break:normal;overflow-wrap:anywhere}
.pr-excel-template .pr-excel-centered-value{justify-content:center;text-align:center;vertical-align:middle}
.pr-excel-template .pr-excel-notes,.pr-excel-template .pr-excel-totals{margin-top:5mm}
.pr-excel-template .pr-excel-totals{border:1.2px solid #000}
.purchase-stock-classification{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1fr);align-items:center;gap:10px;margin:14px 0;padding:14px;border:1px solid #d8d1ff;border-radius:14px;background:#f8f6ff;font-weight:800}.purchase-stock-classification small{grid-column:1/-1;color:var(--muted);font-size:10px}.purchase-stock-classification.saved{grid-template-columns:1fr auto}.purchase-stock-classification.saved strong{padding:7px 14px;border-radius:9px;background:#e8e4ff;color:var(--primary)}
.purchase-status-panel .employee-request-list{width:100%;margin:12px 0}.purchase-status-panel .employee-request-list>button{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;width:100%;padding:11px;border:1px solid #eff0f6;border-radius:13px;background:#fff;color:var(--text);font:inherit;text-align:start;cursor:pointer}.purchase-status-panel .employee-request-list>button:hover{border-color:#cfc7ff;background:#faf9ff}
@media print{
  .purchase-request-print.pr-excel-template{padding:22mm 16mm 14mm;border:0}
}
.employee-approval-panel{display:flex;align-items:center;justify-content:space-between;gap:20px}.employee-approval-panel .employee-panel-head{margin:0;flex:1}.employee-approval-panel .employee-dashboard-link{width:auto;min-width:175px;margin:0}.employee-dashboard-status-strip{display:flex;align-items:center;gap:12px;padding:15px 19px;border:1px solid #ddd8ff;border-radius:16px;color:#4331a5;background:#f4f1ff}.employee-dashboard-status-strip>span{color:#1a9d6b}.employee-dashboard-status-strip p{margin:0}.employee-dashboard-status-strip strong{margin-inline-end:8px}.language-en .employee-dashboard{text-align:left}.language-en .employee-dashboard-link span{transform:rotate(180deg)}
@media(max-width:1100px){.employee-personal-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.employee-dashboard-hero{align-items:flex-start;flex-direction:column;padding:22px}.employee-dashboard-year{width:100%}.employee-dashboard-grid{grid-template-columns:1fr}.employee-workday-row{grid-template-columns:1fr}.employee-approval-panel{align-items:stretch;flex-direction:column}.employee-approval-panel .employee-dashboard-link{width:100%}}
@media(max-width:760px){.employee-service-request-grid{grid-template-columns:1fr}.printing-requester-profile{grid-template-columns:1fr}}
@media(max-width:760px){.employee-academic-placement{grid-template-columns:1fr}.org-sector-title{align-items:flex-start;flex-direction:column}.org-sector-title>strong{align-self:flex-start}}
.employee-card-screen{display:grid;gap:18px}.employee-card-hero{display:flex;align-items:center;gap:16px;padding:18px;border:1px solid #ddd8ff;border-radius:18px;background:linear-gradient(135deg,#f8f6ff,#fff)}.employee-card-heading{display:grid;gap:4px;min-width:0}.employee-card-heading>span{color:var(--primary);font-size:11px;font-weight:900}.employee-card-hero .modal-title{margin:0;font-size:22px}.employee-card-hero p{margin:0;color:var(--muted);font-size:11px}.employee-card-export-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:132px;margin-inline-start:auto;white-space:nowrap}.employee-card-export-btn span{font-size:18px;line-height:1}.employee-card-avatar{width:72px;height:72px;display:grid;place-items:center;overflow:hidden;flex:0 0 72px;border:3px solid #fff;border-radius:20px;background:#e9e5ff;box-shadow:0 8px 20px rgba(104,86,217,.16);color:var(--primary);font-size:28px;font-weight:900}.employee-card-avatar img{width:100%;height:100%;object-fit:cover}.employee-card-section{display:grid;gap:11px}.employee-card-section h3{margin:0;padding-bottom:9px;border-bottom:1px solid var(--line);font-size:15px}.employee-card-location{display:flex;justify-content:flex-start}.employee-card-location .location-link-btn{min-width:170px;text-align:center}@media(max-width:640px){.employee-card-hero{align-items:flex-start;flex-wrap:wrap}.employee-card-heading{flex:1;min-width:calc(100% - 90px)}.employee-card-export-btn{width:100%;margin-inline-start:0}.employee-card-hero .modal-title{font-size:17px}}
@media(max-width:640px){.employee-manage-actions{grid-template-columns:1fr}}
@media(max-width:900px){.management-service-requests .employee-service-request-grid{grid-template-columns:1fr}}
@media(max-width:520px){.employee-personal-stats,.employee-leave-history-summary{grid-template-columns:1fr}.employee-dashboard-photo{width:82px;height:82px;flex-basis:82px}.employee-dashboard-identity h1{font-size:21px}.employee-quick-actions{grid-template-columns:1fr}.employee-service-request{grid-template-columns:40px 1fr}.employee-service-request>span{width:40px;height:40px}.employee-service-request i,.employee-service-request em{grid-column:2}}

/* Mobile layout hardening */
.mobile-nav-backdrop{display:none}
@media(max-width:800px){
  html,body{max-width:100%;overflow-x:hidden}
  body.mobile-nav-open{overflow:hidden}
  .app-shell,.main,.content,.page{min-width:0;max-width:100%}
  .sidebar{width:min(84vw,320px);inset:0 0 0 auto;transform:translateX(105%);z-index:80;padding-top:max(18px,env(safe-area-inset-top));padding-bottom:max(14px,env(safe-area-inset-bottom))}
  html[dir="ltr"] .sidebar{inset:0 auto 0 0;transform:translateX(-105%);border-left:0;border-right:1px solid var(--line);box-shadow:10px 0 30px rgba(0,0,0,.14)}
  .sidebar.open{transform:translateX(0)}
  .mobile-nav-backdrop{position:fixed;inset:0;z-index:70;border:0;background:rgba(20,24,45,.42);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .2s;display:block}
  body.mobile-nav-open .mobile-nav-backdrop{opacity:1;pointer-events:auto}
  .topbar{height:auto;min-height:64px;padding:10px 12px;gap:10px;align-items:center}
  .menu-toggle{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--primary);font-size:22px}
  .top-actions{min-width:0;flex:1;gap:8px;justify-content:flex-end}
  .language-switch{flex:0 0 auto}
  .academic-year-switcher{min-width:0;width:132px;flex:0 1 132px}
  .icon-button{display:none}
  .date-box{display:none}
  .content{width:100%;padding:16px 12px calc(30px + env(safe-area-inset-bottom))}
  .page-title{display:flex;flex-direction:column;align-items:stretch!important;margin-bottom:18px}
  .page-title>div:first-child{min-width:0}
  .page-title h1{font-size:clamp(21px,7vw,28px);line-height:1.35;overflow-wrap:anywhere}
  .page-title p{font-size:12px;line-height:1.75}
  .title-actions{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .title-actions>*{width:100%!important;min-width:0!important;max-width:100%}
  .title-actions button,.title-actions select{min-height:46px;white-space:normal}
  .toolbar{display:grid!important;grid-template-columns:1fr!important;gap:9px;padding:12px}
  .toolbar>*{width:100%!important;min-width:0!important;max-width:100%}
  .table-wrap,.permission-grid-wrap,.access-users-table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
  .table-wrap:focus-within{outline:2px solid rgba(104,86,217,.16);outline-offset:2px}
  .panel,.stat-card,.employee-dashboard-panel{max-width:100%}
  .modal-backdrop{place-items:start center;padding:8px;overflow-y:auto}
  .modal{width:100%;max-width:100%;max-height:calc(100dvh - 16px);margin:auto;padding:22px 16px 18px;border-radius:18px}
  .modal-title{padding-inline-end:36px;font-size:21px;line-height:1.45}
  .modal-subtitle{font-size:11px;line-height:1.7}
  .modal-footer{position:sticky;bottom:-18px;z-index:2;margin-inline:-16px;padding:13px 16px calc(13px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);backdrop-filter:blur(8px)}
  .modal-footer>*{min-height:44px}
  .form-grid,.form-row{grid-template-columns:1fr}
  .form-grid .full{grid-column:auto}
  .person-photo-editor{display:grid;grid-template-columns:84px minmax(0,1fr);gap:14px;padding:14px}
  .person-photo-preview{width:84px;height:96px;flex-basis:84px}
  .person-photo-copy{align-self:center}
  .person-photo-actions{grid-column:1/-1;width:100%}
  .welcome-banner{min-height:285px;padding:24px 20px;border-radius:20px}
  .welcome-banner h1{font-size:24px;overflow-wrap:anywhere}
  .hero-actions{display:grid;grid-template-columns:1fr;gap:9px;width:100%}
  .hero-actions button{width:100%}
  .employee-dashboard-hero{border-radius:20px}
  .employee-dashboard-identity{align-items:flex-start;width:100%;gap:13px}
  .employee-dashboard-identity>div{min-width:0}
  .employee-dashboard-identity h1{overflow-wrap:anywhere}
  .employee-today-schedule>div,.employee-request-list>div{grid-template-columns:1fr;align-items:start}
  .student-document-report-summary,.report-summary,.small-stats{grid-template-columns:1fr}
}
@media(max-width:520px){
  .topbar{padding-inline:9px}
  .topbar-logout{min-height:38px;padding-inline:10px;font-size:10px}
  .top-actions{gap:6px}
  .language-switch{width:72px}
  .academic-year-switcher{width:118px;flex-basis:118px}
  .content{padding-inline:10px}
  .title-actions{grid-template-columns:1fr 1fr}
  .title-actions>*:only-child{grid-column:1/-1}
  .person-photo-editor{grid-template-columns:72px minmax(0,1fr)}
  .person-photo-preview{width:72px;height:84px;flex-basis:72px}
  .person-photo-copy>strong{font-size:14px}
  .person-photo-actions{grid-template-columns:1fr 1fr}
  .person-photo-actions>.secondary-btn{height:44px;min-height:44px;padding-inline:7px;font-size:10px}
  .site-login-gate{padding:8px}
  .site-login-card{max-height:calc(100dvh - 16px);padding:20px 18px;border-radius:22px;gap:9px}
  .site-login-logo{width:58px;height:58px}
  .site-login-card h1{font-size:25px}
  .site-login-card p{font-size:12px;line-height:1.7}
}

/* Human resources settings */
.hr-settings-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.hr-settings-tabs button{min-height:46px;padding:0 22px;border:1px solid #ddd8ff;border-radius:13px;background:#fff;color:var(--primary);font-family:inherit;font-size:13px;font-weight:700;cursor:pointer}.hr-settings-tabs button.active{color:#fff;background:var(--primary);box-shadow:0 8px 20px rgba(104,86,217,.2)}
.hr-settings-panel{padding:22px}.hr-settings-panel[hidden]{display:none}.hr-settings-list{display:grid;gap:10px;margin-top:18px}.hr-setting-row,.hr-template-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border:1px solid #e6e3f4;border-radius:15px;background:#fcfbff}.hr-setting-row>div:first-child,.hr-template-row>div:first-child{display:grid;gap:6px;min-width:0}.hr-setting-row strong,.hr-template-row strong{font-size:14px}.hr-setting-row span{color:var(--muted);font-size:11px}.hr-setting-row>div:last-child{display:flex;gap:7px}.hr-setting-row button,.hr-template-row>button{min-height:36px;padding:0 13px;border:1px solid #ddd8ff;border-radius:9px;background:#fff;color:var(--primary);font-family:inherit;font-size:11px;font-weight:700;cursor:pointer}.hr-template-row p{margin:0;color:var(--muted);font-size:11px;line-height:1.7;overflow-wrap:anywhere}.requester-profile-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:15px;border:1px solid #dcd6ff;border-radius:15px;background:#f7f5ff}.requester-profile-card>div{display:grid;gap:4px;padding:10px;border-radius:10px;background:#fff}.requester-profile-card span{color:var(--muted);font-size:10px}.requester-profile-card strong{font-size:13px}.employee-dashboard-panel-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}.employee-dashboard-panel-actions .employee-dashboard-link{margin:0}.employee-dashboard-link.primary{color:#fff;background:var(--primary)}
@media(max-width:760px){.hr-settings-tabs{display:grid;grid-template-columns:1fr}.hr-settings-tabs button{width:100%}.hr-settings-panel{padding:15px}.hr-settings-panel .panel-head{align-items:stretch;flex-direction:column}.hr-settings-panel .panel-head button{width:100%}.hr-setting-row,.hr-template-row{align-items:stretch;flex-direction:column}.hr-setting-row>div:last-child{width:100%}.hr-setting-row button,.hr-template-row>button{flex:1;width:100%}.requester-profile-card{grid-template-columns:1fr}.employee-dashboard-panel-actions{grid-template-columns:1fr}}

/* Job titles by organizational unit */
.job-title-organization{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(0,1.25fr);gap:18px;align-items:start}.job-title-roots,.job-title-details{min-width:0;padding:16px;border:1px solid #e5e1f7;border-radius:18px;background:#fff}.job-title-section-title,.job-title-section-title>div,.job-title-workspace-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.job-title-section-title{padding-bottom:14px;border-bottom:1px solid #eeebf8}.job-title-section-title>div{justify-content:flex-start}.job-title-section-title span{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#eeeaff;color:var(--primary);font-weight:900}.job-title-section-title h3,.job-title-workspace-head h3,.job-title-root-head h3{margin:0}.job-title-section-title p,.job-title-workspace-head p,.job-title-child-section>p{margin:3px 0 0;color:var(--muted);font-size:10px;line-height:1.6}.job-title-section-title>button{padding:8px 11px;border:1px solid #f1d6a8;border-radius:9px;background:#fff7e8;color:#986200;font:inherit;font-size:10px;font-weight:800;cursor:pointer}.job-title-root-group{margin-top:16px}.job-title-root-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.job-title-root-head h3{font-size:12px}.job-title-root-head span{display:grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:#f2efff;color:var(--primary);font-size:10px;font-weight:900}.job-title-root-grid,.job-title-child-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.job-title-root-grid>p{grid-column:1/-1;margin:0;padding:16px;border:1px dashed #ded9f4;border-radius:12px;color:var(--muted);text-align:center;font-size:10px}.job-title-unit-card{display:grid;gap:5px;min-width:0;padding:12px;border:1px solid #e5e1f7;border-radius:13px;background:#faf9ff;color:var(--text);text-align:start;font:inherit;cursor:pointer;transition:.18s ease}.job-title-unit-card:hover,.job-title-unit-card.selected{border-color:#aa9df2;background:#f2efff;transform:translateY(-1px);box-shadow:0 8px 18px rgba(91,69,197,.09)}.job-title-unit-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.job-title-unit-card small{color:var(--muted);font-size:9px}.job-title-workspace{margin-top:16px}.job-title-workspace-head{align-items:flex-start;padding:15px;border:1px solid #ded8ff;border-radius:15px;background:linear-gradient(135deg,#f8f6ff,#fff)}.job-title-workspace-head>div:last-child{display:flex;flex-wrap:wrap;gap:7px}.job-title-workspace-head .primary-btn,.job-title-workspace-head .secondary-btn{min-height:38px;padding:0 12px;font-size:10px}.job-title-child-section{margin-top:15px;padding:14px;border:1px solid #ebe8f6;border-radius:15px;background:#fcfbff}.job-title-child-section h4{margin:0;font-size:13px}.job-title-child-grid{margin-top:11px}.job-title-details .hr-settings-list{margin-top:15px}.job-title-workspace.empty{display:grid;min-height:280px;place-items:center}.job-title-workspace.empty .empty-state{width:100%}.job-title-unit-card.selected{outline:2px solid rgba(104,86,217,.12)}
.job-title-structure-actions{display:flex!important;flex-wrap:wrap;justify-content:flex-end!important;gap:6px!important}.job-title-structure-actions button{padding:7px 9px;border:1px solid #dcd6fb;border-radius:9px;background:#fff;color:var(--primary);font:inherit;font-size:9px;font-weight:800;cursor:pointer}.job-title-organization-tree{display:grid;gap:9px}.job-title-organization-tree>p{margin:0;padding:16px;border:1px dashed #ded9f4;border-radius:12px;color:var(--muted);text-align:center;font-size:10px}.job-title-tree-branch{display:grid;gap:7px}.job-title-tree-children{display:grid;gap:7px;margin-inline-start:18px;padding-inline-start:10px;border-inline-start:2px solid #e7e2ff}.job-title-tree-children .job-title-unit-card{background:#fff}.job-title-tree-children .job-title-tree-children .job-title-unit-card{background:#fdfcff}.job-title-unit-card.active{border-color:#8f7fea;background:#f2efff;box-shadow:0 8px 18px rgba(91,69,197,.12)}.job-title-category-choice>div{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1000px){.job-title-organization{grid-template-columns:1fr}.job-title-workspace.empty{min-height:170px}}
@media(max-width:620px){.job-title-roots,.job-title-details{padding:12px}.job-title-root-grid,.job-title-child-grid{grid-template-columns:1fr}.job-title-section-title,.job-title-workspace-head{align-items:stretch;flex-direction:column}.job-title-workspace-head>div:last-child{display:grid;grid-template-columns:1fr}.job-title-workspace-head .primary-btn,.job-title-workspace-head .secondary-btn{width:100%}}
.job-title-unit-card.active{border-color:#aa9df2;background:#f2efff;outline:2px solid rgba(104,86,217,.12);transform:translateY(-1px);box-shadow:0 8px 18px rgba(91,69,197,.09)}

/* Department and administration management workflow */
.manager-team-panel{margin-top:18px}.manager-team-departments{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px}.manager-team-departments span{padding:7px 11px;border-radius:999px;background:#f0edff;color:#5843c7;font-size:11px;font-weight:800}.manager-team-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-height:430px;padding-inline-end:4px;overflow:auto}.manager-team-list button{display:grid;grid-template-columns:1fr auto;gap:3px 10px;align-items:center;padding:12px 14px;border:1px solid #e6e2fb;border-radius:13px;background:#fff;text-align:start;color:var(--text);cursor:pointer}.manager-team-list strong{font-size:12px}.manager-team-list small{color:var(--muted);font-size:10px}.manager-team-list button>span{grid-row:1/3;grid-column:2;color:var(--primary);font-size:19px}.employee-dashboard-link.alert{border-color:#f4c96b;background:#fff9e8;color:#9a6500}.manager-approval-list,.manager-notification-list{display:grid;gap:10px;margin-top:18px}.manager-approval-list article{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px;border:1px solid #e3dff8;border-radius:14px}.manager-approval-list article>div:first-child{display:grid;gap:5px}.manager-approval-list span,.manager-approval-list small{color:var(--muted);font-size:11px}.manager-approval-list article>div:last-child{display:flex;gap:7px}.manager-approval-list button{padding:9px 14px;border:1px solid #d8d1ff;border-radius:9px;background:#fff;color:var(--primary);font-family:inherit;font-weight:800;cursor:pointer}.manager-notification-list button{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid #e4dffa;border-radius:13px;background:#faf9ff;color:var(--text);font-family:inherit;cursor:pointer}.manager-notification-list span{color:var(--muted);font-size:11px}#notificationBtn{position:relative}#notificationBtn.has-new-notifications::after{content:attr(data-count);position:absolute;inset-block-start:-8px;inset-inline-end:-8px;display:grid;place-items:center;min-width:20px;height:20px;padding:0 4px;border:2px solid #fff;border-radius:999px;background:#e94444;color:#fff;font-size:10px;font-weight:900;animation:notificationPulse 1.8s infinite}@keyframes notificationPulse{50%{box-shadow:0 0 0 7px rgba(233,68,68,.13)}}
.printing-workflow-queue button>div{display:grid;gap:4px;text-align:start}.printing-workflow-queue small{color:var(--muted);font-size:10px}.printing-workflow-details{display:grid;gap:16px}.printing-workflow-status{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 15px;border:1px solid #e5e1f7;border-radius:13px;background:#faf9ff}.printing-workflow-status small{color:var(--muted)}.printing-workflow-table table{min-width:760px}.printing-workflow-table th{width:145px;background:#faf9ff;color:var(--muted)}.printing-workflow-panel{border-color:#ded8ff}.printing-approval-editor{display:grid;gap:14px;padding:18px;border:1px solid #ded8ff;border-radius:16px;background:#faf9ff}.printing-approval-editor h3{margin:0;color:var(--text);font-size:16px}.printing-execution-actions{display:flex;justify-content:flex-end;gap:10px;padding:16px;border:1px solid #cceadd;border-radius:15px;background:#f2fbf7}.printing-execution-actions button:disabled{opacity:.55;cursor:not-allowed}
.managed-request-department-filter{display:grid;gap:5px;min-width:min(240px,100%);color:var(--muted);font-size:12px}.managed-request-department-filter select{min-height:42px;padding-inline:12px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--text);font:inherit}
.managed-employee-workspace{display:grid;gap:18px}.managed-employee-balances,.managed-employee-actions,.managed-employee-history{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.managed-employee-balances button{display:grid;gap:4px;padding:18px;border:1px solid #ddd7ff;border-radius:16px;background:linear-gradient(145deg,#faf9ff,#f0edff);color:var(--text);font-family:inherit;text-align:start;cursor:pointer}.managed-employee-balances span{color:var(--muted);font-size:11px}.managed-employee-balances strong{color:var(--primary);font-size:28px}.managed-employee-balances small{color:var(--muted)}.managed-employee-actions button{padding:13px 16px;border:1px solid #d8d1ff;border-radius:12px;background:#fff;color:var(--primary);font-family:inherit;font-weight:900;cursor:pointer}.managed-employee-actions button.primary{border-color:var(--primary);background:var(--primary);color:#fff}.managed-employee-history section{min-width:0;padding:15px;border:1px solid #e8e4f8;border-radius:16px;background:#fff}.managed-history-head{display:flex;align-items:center;justify-content:space-between}.managed-history-head h3{margin:0;font-size:14px}.managed-history-head span{display:grid;place-items:center;min-width:25px;height:25px;border-radius:999px;background:#efecff;color:var(--primary);font-size:11px;font-weight:900}.managed-employee-history ul{display:grid;gap:7px;max-height:290px;margin:12px 0 0;padding:0;overflow:auto;list-style:none}.managed-employee-history li,.managed-employee-history li>button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:10px;border:0;border-radius:10px;background:#f8f7fc;color:var(--text);font-family:inherit;text-align:start}.managed-employee-history li>button{padding:0;cursor:pointer}.managed-employee-history li div{display:grid;gap:3px}.managed-employee-history li small{color:var(--muted);font-size:10px}
@media(max-width:760px){.manager-team-list,.managed-employee-balances,.managed-employee-actions,.managed-employee-history{grid-template-columns:1fr}.manager-approval-list article{align-items:stretch;flex-direction:column}.manager-approval-list article>div:last-child{width:100%}.manager-approval-list button{flex:1}.managed-request-department-filter{width:100%}}

/* School clinic */
.clinic-page-title{align-items:center}.clinic-settings-btn{min-height:50px;padding:0 20px;border:1px solid #e5b83f;border-radius:13px;background:linear-gradient(135deg,#ffe37a,#f6bf32);color:#654900;font:inherit;font-weight:900;cursor:pointer;box-shadow:0 9px 22px rgba(218,164,25,.2)}.clinic-settings-btn:hover{transform:translateY(-1px);filter:brightness(.98)}
#clinicContent{display:grid;gap:18px}.clinic-form-panel,.clinic-visits-panel{padding:22px}.clinic-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.clinic-filter-grid label,.clinic-medical-field label,.clinic-notes-row>label,.clinic-option-modal label{display:grid;gap:7px;color:var(--muted);font-size:12px;font-weight:800}.clinic-filter-grid input,.clinic-filter-grid select,.clinic-medical-field select,.clinic-medical-field textarea,.clinic-notes-row textarea,.clinic-option-modal input{width:100%;min-height:48px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--text);font:inherit}.clinic-filter-grid select:disabled{background:#f5f5f8;color:#aaa}.clinic-student-field{grid-column:1/-1}.clinic-medical-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.clinic-medical-field{display:grid;align-content:start;gap:9px;padding:15px;border:1px solid #e3defb;border-radius:16px;background:#faf9ff}.clinic-medical-field textarea,.clinic-notes-row textarea{resize:vertical;line-height:1.7}.clinic-other-field{padding-top:7px;border-top:1px dashed #ddd7fa}.clinic-other-field[hidden]{display:none}.clinic-notes-row{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:14px;align-items:stretch;margin-top:16px}.clinic-parent-contact{display:flex!important;align-items:center;justify-content:center;grid-template-columns:none!important;gap:12px!important;padding:16px;border:1px solid #ccebdd;border-radius:16px;background:#f0fbf6;color:#176a4e!important;cursor:pointer}.clinic-parent-contact input{width:21px;height:21px;accent-color:#16966b}.clinic-form-panel .form-actions{margin-top:17px}.clinic-visits-panel table small{display:block;margin-top:3px;color:var(--muted)}.clinic-visits-panel .status-badge{white-space:nowrap}.clinic-settings-modal>p{color:var(--muted)}.clinic-settings-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:20px 0}.clinic-settings-tabs button{min-height:54px;padding:8px;border:1px solid #ddd7ff;border-radius:13px;background:#fff;color:var(--primary);font:inherit;font-weight:900;cursor:pointer}.clinic-settings-tabs button.active{color:#fff;background:var(--primary);box-shadow:0 8px 20px rgba(104,86,217,.2)}.clinic-settings-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.clinic-settings-head h3{margin:0 0 3px}.clinic-settings-head span{color:var(--muted);font-size:11px}.clinic-option-modal{display:grid;gap:15px}.clinic-option-modal h2{margin:0}.clinic-option-modal form{display:grid;gap:17px}.clinic-option-modal .form-actions{display:flex;gap:9px}
.clinic-settings-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.clinic-settings-title-row h2{margin:5px 0}.clinic-settings-title-row p{margin:0;color:var(--muted)}.clinic-settings-home{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:26px}.clinic-settings-home>button{min-height:180px;display:grid;place-items:center;align-content:center;gap:9px;padding:24px;border:1px solid #dcd5ff;border-radius:22px;background:linear-gradient(145deg,#fff,#f7f5ff);color:var(--text);font:inherit;cursor:pointer;box-shadow:0 12px 30px rgba(77,60,177,.08);transition:.2s}.clinic-settings-home>button:hover{transform:translateY(-3px);border-color:var(--primary);box-shadow:0 16px 34px rgba(77,60,177,.14)}.clinic-settings-home>button span{width:66px;height:66px;display:grid;place-items:center;border-radius:20px;background:#ece8ff;font-size:32px}.clinic-settings-home>button strong{color:var(--primary);font-size:18px}.clinic-settings-home>button small{color:var(--muted);font-size:11px}.clinic-stock-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:22px 0}.clinic-stock-tabs button{min-height:56px;border:1px solid #d9d2ff;border-radius:14px;background:#fff;color:var(--primary);font:inherit;font-weight:900;cursor:pointer}.clinic-stock-tabs button.active{border-color:var(--primary);background:var(--primary);color:#fff;box-shadow:0 9px 22px rgba(104,86,217,.2)}.clinic-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.clinic-bilingual-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.clinic-bilingual-grid label,.clinic-stock-fields label{display:grid;gap:7px;color:var(--muted);font-size:12px;font-weight:800}.clinic-bilingual-grid input,.clinic-stock-fields input,.clinic-stock-fields select{width:100%;min-height:48px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--text);font:inherit}.clinic-translation-hint{margin:0;padding:10px 13px;border:1px solid #d9ecff;border-radius:11px;background:#f3f9ff;color:#31628e;font-size:11px;line-height:1.7}.clinic-stock-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.clinic-stock-form{gap:12px}.clinic-settings-modal table td small{display:block;margin-top:4px;color:var(--muted)}
.clinic-visit-mode-tabs{display:flex;gap:8px;margin:9px 0 14px}.clinic-visit-mode-tabs button{min-width:125px;min-height:43px;padding:8px 18px;border:1px solid #dcd5ff;border-radius:12px;background:#fff;color:var(--primary);font:inherit;font-weight:900;cursor:pointer}.clinic-visit-mode-tabs button.active{border-color:var(--primary);background:var(--primary);color:#fff;box-shadow:0 8px 20px rgba(104,86,217,.2)}.clinic-title-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.clinic-alerts-btn{position:relative;min-height:50px;padding:0 18px;border:1px solid #ded8f8;border-radius:13px;background:#fff;color:var(--primary);font:inherit;font-weight:900;cursor:pointer}.clinic-alerts-btn.has-alerts{border-color:#f2aa52;background:#fff8ed;color:#a45b00}.clinic-alerts-btn span{position:absolute;inset-block-start:-9px;inset-inline-start:-8px;display:grid;place-items:center;min-width:23px;height:23px;padding:0 5px;border:2px solid #fff;border-radius:999px;background:#e13f3f;color:#fff;font-size:10px}.clinic-alerts-btn span[hidden]{display:none}.clinic-medical-entries{display:grid;gap:13px;margin-top:17px}.clinic-medical-entry{padding:16px;border:1px solid #ddd7fb;border-radius:17px;background:linear-gradient(145deg,#fff,#faf9ff)}.clinic-medical-entry-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.clinic-medical-entry-head>div{display:grid;gap:3px}.clinic-medical-entry-head small{color:var(--muted);font-size:10px}.clinic-medical-entry-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.clinic-medical-entry-grid label{display:grid;gap:7px;color:var(--muted);font-size:11px;font-weight:800}.clinic-medical-entry-grid select{width:100%;min-height:46px;padding:9px 10px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--text);font:inherit}.clinic-medical-entry-grid select:disabled{background:#f5f5f8;color:#aaa}.clinic-dispensed-medicines{display:grid;gap:10px;margin-top:14px;padding-top:14px;border-top:1px dashed #d8d1f8}.clinic-dispensed-medicines-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.clinic-dispensed-medicines-head small{color:var(--muted);font-size:10px}.clinic-dispensed-medicine-row{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(180px,.7fr) auto;align-items:end;gap:10px}.clinic-dispensed-medicine-row label{display:grid;gap:7px;color:var(--muted);font-size:11px;font-weight:800}.clinic-dispensed-medicine-row select,.clinic-dispensed-medicine-row input{width:100%;min-height:46px;padding:9px 10px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--text);font:inherit}.clinic-dispensed-medicine-row select:disabled,.clinic-dispensed-medicine-row input:disabled{background:#f5f5f8;color:#aaa}.clinic-dispensed-medicine-row .delete-btn{min-height:46px}.clinic-add-medicine{justify-self:start;min-height:40px;padding:8px 13px;border:1px dashed #8f7ee9;border-radius:10px;background:#fff;color:var(--primary);font:inherit;font-weight:900;cursor:pointer}.clinic-add-medicine:disabled{border-color:#ddd;background:#f5f5f8;color:#aaa;cursor:not-allowed}.clinic-add-medical-entry{margin-top:11px;padding:10px 15px;border:1px dashed var(--primary);border-radius:11px;background:#faf9ff;color:var(--primary);font:inherit;font-weight:900;cursor:pointer}.clinic-table-hint{margin:0 0 12px;padding:9px 12px;border:1px solid #e3defb;border-radius:10px;background:#faf9ff;color:var(--muted);font-size:11px}.clinic-disease-row{cursor:pointer}.clinic-disease-row:hover td{background:#faf8ff}.clinic-disease-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:18px 0}.clinic-disease-tabs button{min-height:50px;border:1px solid #dcd5ff;border-radius:12px;background:#fff;color:var(--primary);font:inherit;font-weight:900;cursor:pointer}.clinic-disease-tabs button.active{background:var(--primary);color:#fff}.clinic-has-expiry-toggle{display:flex!important;align-items:center;gap:11px!important;min-height:68px;padding:10px 13px;border:1px solid #d8d1f8;border-radius:13px;background:#faf9ff;cursor:pointer}.clinic-has-expiry-toggle input{width:22px!important;min-height:22px!important;height:22px;accent-color:var(--primary)}.clinic-has-expiry-toggle span{display:grid;gap:3px;color:var(--text)}.clinic-has-expiry-toggle small{color:var(--muted);font-size:9px}.clinic-inventory-btn{min-height:42px;padding:8px 14px;border:1px solid #9bd8c0;border-radius:10px;background:#effbf6;color:#13734f;font:inherit;font-weight:900;cursor:pointer}.clinic-inventory-form [hidden]{display:none!important}.clinic-alerts-modal{display:grid;gap:13px}.clinic-alerts-modal h2,.clinic-alerts-modal p{margin:0}.clinic-alerts-modal>p{color:var(--muted)}.clinic-alert-list{display:grid;gap:9px;max-height:520px;overflow:auto}.clinic-alert-list article{display:grid;grid-template-columns:minmax(170px,1.6fr) auto auto auto;align-items:center;gap:12px;padding:13px 15px;border:1px solid #f2d39b;border-radius:13px;background:#fffaf1}.clinic-alert-list article.expired{border-color:#efb4b4;background:#fff4f4}.clinic-alert-list article.urgent{border-color:#f0c0a2;background:#fff7f2}.clinic-alert-list article>div{display:grid;gap:3px}.clinic-alert-list small,.clinic-alert-list span,.clinic-alert-list time{color:var(--muted);font-size:10px}.clinic-alert-list b{color:#a55d00;font-size:11px}.clinic-alert-list .expired b{color:#c63232}.clinic-notes-row.employee-visit-notes{grid-template-columns:minmax(0,1fr)}
@media(max-width:1100px){.clinic-medical-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){.clinic-page-title{align-items:flex-start;flex-direction:column}.clinic-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.clinic-medical-grid{grid-template-columns:1fr}.clinic-notes-row{grid-template-columns:1fr}.clinic-stock-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.clinic-alert-list article{grid-template-columns:1fr auto}.clinic-alert-list article time{grid-column:2}}
@media(max-width:620px){.clinic-form-panel,.clinic-visits-panel{padding:14px}.clinic-filter-grid,.clinic-medical-entry-grid,.clinic-dispensed-medicine-row{grid-template-columns:1fr}.clinic-dispensed-medicines-head{display:grid}.clinic-dispensed-medicine-row .delete-btn{width:100%}.clinic-student-field{grid-column:auto}.clinic-settings-tabs,.clinic-disease-tabs{grid-template-columns:1fr}.clinic-settings-head,.clinic-settings-title-row,.clinic-medical-entry-head{align-items:stretch;flex-direction:column}.clinic-settings-head .primary-btn{width:100%}.clinic-settings-home,.clinic-bilingual-grid,.clinic-stock-fields{grid-template-columns:1fr}.clinic-settings-home>button{min-height:145px}.clinic-head-actions{display:grid;grid-template-columns:1fr}.clinic-head-actions>*{width:100%}.clinic-parent-contact{justify-content:flex-start}.clinic-option-modal .form-actions>*{flex:1}.clinic-visit-mode-tabs,.clinic-title-actions{width:100%}.clinic-visit-mode-tabs button,.clinic-title-actions button{flex:1}.clinic-alert-list article{grid-template-columns:1fr}.clinic-alert-list article time{grid-column:auto}}

/* Confirmed database save indicator */
.cloud-save-status{position:fixed;inset-inline-start:24px;bottom:78px;z-index:1250;display:flex;align-items:center;gap:10px;min-width:245px;max-width:min(390px,calc(100vw - 32px));padding:11px 14px;border:1px solid #d9d5ee;border-radius:14px;background:#fff;box-shadow:0 12px 30px rgba(22,30,62,.16);color:#344054}
.cloud-save-status[hidden]{display:none}.cloud-save-status>span{font-size:18px;color:#d8a10d}.cloud-save-status>div{display:grid;gap:2px}.cloud-save-status b{font-size:12px}.cloud-save-status small{color:#7b8195;font-size:10px}.cloud-save-status[data-state="saving"]>span,.cloud-save-status[data-state="merging"]>span{color:#6856d9;animation:cloudSavePulse 1s infinite}.cloud-save-status[data-state="saved"]{border-color:#bce6d2;background:#f3fbf7}.cloud-save-status[data-state="saved"]>span{color:#159b65}.cloud-save-status[data-state="error"]{border-color:#f3c2c2;background:#fff6f6}.cloud-save-status[data-state="error"]>span{color:#df4040}@keyframes cloudSavePulse{50%{opacity:.25;transform:scale(.8)}}
@media(max-width:620px){.cloud-save-status{inset-inline:16px;bottom:16px;min-width:0}}
.organization-chairman-card{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 26px;border:1px solid #bcb1ff;border-radius:20px;background:linear-gradient(135deg,#28204f,#6551d7);color:#fff;box-shadow:0 16px 36px rgba(60,45,140,.2)}
.organization-chairman-card>div{display:grid;gap:4px}.organization-chairman-card span,.organization-chairman-card small{color:#ddd7ff}.organization-chairman-card h2,.organization-chairman-card strong{margin:0}.organization-chairman-card button{margin-top:7px;border:1px solid rgba(255,255,255,.45);border-radius:9px;padding:7px 13px;background:rgba(255,255,255,.12);color:#fff;font:inherit;font-weight:800;cursor:pointer}
.department-english-name{display:block;margin-top:3px;color:var(--muted);font-size:8px}.department-stage-tags{display:flex;flex-wrap:wrap;gap:5px;margin:-3px 0 10px}.department-stage-tags span{padding:4px 7px;border-radius:999px;background:#f0edff;color:var(--primary);font-size:8px;font-weight:800}
.organization-stage-links{padding:14px;border:1px solid #ded8ff;border-radius:13px;background:#faf9ff}.organization-stage-links>strong,.organization-stage-links>small{display:block}.organization-stage-links>small{margin-top:3px;color:var(--muted);font-size:9px}.organization-stage-links>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:11px}.organization-stage-choice{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;padding:10px!important;border:1px solid var(--line);border-radius:10px;background:#fff}.organization-stage-choice input{width:18px;height:18px;accent-color:var(--primary)}.organization-stage-choice span{display:grid}.organization-stage-choice small{color:var(--muted);font-size:8px}

/* Employee form spacing for Times New Roman */
#dynamicForm[data-type="employee"] .form-grid { gap: 4px 18px; }
#dynamicForm[data-type="employee"] .employee-form-section-title { min-height: 66px; margin: 16px 0 10px; padding: 16px 18px; line-height: 1.45; }
#dynamicForm[data-type="employee"] .employee-form-section-title:first-of-type { margin-top: 8px; }
#dynamicForm[data-type="employee"] .employee-form-section-title strong { font-size: 17px; line-height: 1.4; }
#dynamicForm[data-type="employee"] .employee-form-section-title span { font-size: 13px; line-height: 1.55; text-align: start; }
#dynamicForm[data-type="employee"] .form-grid > label { gap: 8px; margin-bottom: 16px; font-size: 15px; line-height: 1.35; }
#dynamicForm[data-type="employee"] .form-grid input,
#dynamicForm[data-type="employee"] .form-grid select,
#dynamicForm[data-type="employee"] .form-grid textarea { min-height: 50px; font-size: 16px; line-height: 1.35; }
#dynamicForm[data-type="employee"] .field-hint { font-size: 12px; line-height: 1.55; }
#dynamicForm[data-type="employee"] .employee-academic-placement { gap: 16px 18px; margin: 4px 0 10px; padding: 20px; }
#dynamicForm[data-type="employee"] .employee-academic-placement .form-section-title { min-height: auto; margin: 0 0 4px; padding: 0 0 14px; border: 0; border-bottom: 1px solid #ddd8ff; border-radius: 0; background: transparent; align-items: flex-start; }
#dynamicForm[data-type="employee"] .employee-academic-placement .form-section-title strong { font-size: 16px; line-height: 1.4; }
#dynamicForm[data-type="employee"] .employee-academic-placement .form-section-title span { font-size: 12px; line-height: 1.55; }
#dynamicForm[data-type="employee"] .employee-secondary-stage-toggle { min-height: 74px; margin: 0; align-self: end; }
#dynamicForm[data-type="employee"] .employee-secondary-stage-toggle strong { font-size: 14px; }
#dynamicForm[data-type="employee"] .employee-secondary-stage-toggle small { font-size: 11px; line-height: 1.45; }

/* Automatic organization card image generation */
.department-card-media .dept-actions { max-width: calc(100% - 20px); flex-wrap: wrap; }
.department-card-media .dept-actions button:disabled { cursor: wait; opacity: .62; }
.department-image-generating { position: absolute; z-index: 1; inset: 0; display: grid; place-content: center; justify-items: center; gap: 8px; color: #fff; background: rgba(28,23,68,.58); backdrop-filter: blur(3px); }
.department-image-generating span { width: 26px; height: 26px; border: 3px solid rgba(255,255,255,.38); border-top-color: #fff; border-radius: 50%; animation: departmentImageSpin .85s linear infinite; }
.department-image-generating b { font-size: 11px; text-shadow: 0 1px 5px rgba(0,0,0,.3); }
@keyframes departmentImageSpin { to { transform: rotate(360deg); } }

/* Unified window controls */
.modal{padding-top:64px;transition:width .22s ease,height .22s ease,max-height .22s ease,border-radius .22s ease;overscroll-behavior:contain}
.modal-window-controls{position:absolute;inset:0 0 auto;z-index:20;min-height:48px;padding:10px 14px;display:flex;align-items:center;gap:7px;border-bottom:1px solid #ececf4;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-radius:16px 16px 0 0;direction:ltr}
.modal-window-controls strong{min-width:0;margin-inline-start:7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#555b73;font-size:11px;direction:rtl;cursor:default}
.modal-window-button{width:30px;height:30px;display:grid;place-items:center;padding:0;border:1px solid #e2e4ed;border-radius:9px;background:#f7f8fb;color:#687087;font:700 18px/1 Cairo,sans-serif;cursor:pointer;transition:.18s ease}
.modal-window-button:hover{transform:translateY(-1px);border-color:#cfcaf1;background:#f0edff;color:var(--primary)}
.modal-window-button.close:hover{border-color:#ffd4d8;background:#fff0f1;color:#d44855}
.modal.maximized{position:fixed;inset:10px;width:auto!important;height:calc(100vh - 20px);max-height:none;border-radius:16px}
.modal.maximized #modalContent{min-height:calc(100vh - 100px)}
.modal-backdrop.modal-minimized{display:block;padding:0;background:transparent;backdrop-filter:none;pointer-events:none}
.modal.minimized{position:fixed;left:20px;bottom:18px;width:min(390px,calc(100vw - 28px))!important;height:52px;min-height:52px;max-height:52px;overflow:hidden;padding:0;border:1px solid #dcd9f4;border-radius:14px;box-shadow:0 16px 40px rgba(37,36,67,.22);pointer-events:auto}
.modal.minimized .modal-window-controls{position:relative;border:0;border-radius:14px;cursor:pointer}.modal.minimized #modalContent{display:none}

/* Employee permissions workspace */
.permission-workspace{direction:rtl;color:#242842}
.permission-workspace-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:-4px 0 20px;padding:22px;border-radius:20px;background:linear-gradient(135deg,#30276f,#6653dd 64%,#8979ee);color:#fff;overflow:hidden;position:relative}
.permission-workspace-hero:after{content:"";position:absolute;width:190px;height:190px;border-radius:50%;inset:-105px auto auto -55px;background:rgba(255,255,255,.11)}
.permission-workspace-hero .eyebrow,.permission-workspace-hero p{color:rgba(255,255,255,.76)}.permission-workspace-hero h2{font-size:25px}.permission-workspace-hero p{margin:6px 0 0;font-size:12px}
.permission-legend{display:flex;gap:7px;flex-wrap:wrap;position:relative;z-index:1}.permission-legend span{padding:8px 11px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.12);font-size:10px;font-weight:800;white-space:nowrap}
.permission-filters{display:grid;grid-template-columns:minmax(180px,.75fr) minmax(180px,.75fr) minmax(260px,1.3fr);gap:12px;margin-bottom:14px;padding:16px;border:1px solid #e4e3f1;border-radius:17px;background:#f9f9fd}
.permission-filters label{display:grid;gap:7px}.permission-filters label>span{color:#747990;font-size:10px;font-weight:800}.permission-filters select{width:100%;height:46px;padding:0 12px;border:1px solid #dbdeea;border-radius:11px;background:#fff;font:inherit;color:#30344e}
.permission-selected-user{display:grid;grid-template-columns:56px 1fr minmax(280px,.8fr);align-items:center;gap:13px;margin-bottom:14px;padding:15px 17px;border:1px solid #dedbf5;border-radius:17px;background:linear-gradient(135deg,#fff,#f6f4ff)}
.permission-user-avatar{width:56px;height:56px;display:grid;place-items:center;border-radius:15px;overflow:hidden;background:#6552db;color:#fff;font-size:22px;font-weight:900}.permission-user-avatar img{width:100%;height:100%;object-fit:cover}
.permission-selected-user h3{margin:2px 0;font-size:15px}.permission-selected-user p,.permission-selected-user small{margin:0;color:#777c92;font-size:9px}
.permission-manage-users{display:flex;align-items:center;gap:10px;padding:11px 13px;border:1px solid #dfdced;border-radius:13px;background:#fff;cursor:pointer}.permission-manage-users input{width:20px;height:20px;accent-color:#6552db}.permission-manage-users span{display:grid;gap:2px}.permission-manage-users b{font-size:10px}.permission-manage-users small{font-size:8px}
.permission-admin-notice{margin:-2px 0 14px;padding:11px 14px;border:1px solid #cce9d9;border-radius:12px;background:#effbf5;color:#21865a;font-size:10px;font-weight:800}
.permission-workspace-toolbar{position:sticky;top:-16px;z-index:9;display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 14px;padding:11px 12px;border:1px solid #e3e1f2;border-radius:14px;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);box-shadow:0 8px 22px rgba(52,47,101,.06)}
.permission-workspace-toolbar>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.permission-workspace-toolbar #permissionSelectionSummary{color:#777d95;font-size:9px;font-weight:700}
.permission-module-grid{display:grid;gap:13px}.permission-module-card{border:1px solid #e1e1ec;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 5px 20px rgba(43,45,78,.035)}
.permission-module-card>header{display:grid;grid-template-columns:minmax(220px,1fr) minmax(390px,.9fr);align-items:center;gap:14px;padding:14px 17px;background:#f7f6fc;border-bottom:1px solid #e8e7f1}
.permission-module-title{display:flex;align-items:center;gap:11px}.permission-module-title>span{width:39px;height:39px;display:grid;place-items:center;border-radius:12px;background:#e9e5ff;color:#5b46cf;font-size:18px}.permission-module-title h3{margin:0;font-size:13px}.permission-module-title small{color:#8b8fa2;font-size:8px}
.permission-level-headings,.permission-level-options{display:grid;grid-template-columns:repeat(3,minmax(90px,1fr));gap:8px}.permission-level-headings label{display:grid;grid-template-columns:1fr auto;align-items:center;padding:7px 9px;border:1px solid #e2e2ec;border-radius:10px;background:#fff;cursor:pointer}.permission-level-headings span{font-size:9px;font-weight:900}.permission-level-headings small{grid-row:2;color:#9a9daf;font-size:7px}.permission-level-headings input{grid-column:2;grid-row:1/3;width:18px;height:18px;accent-color:#6552db}
.permission-module-items{display:grid}.permission-module-item{display:grid;grid-template-columns:minmax(220px,1fr) minmax(390px,.9fr);align-items:center;gap:14px;padding:11px 17px;border-bottom:1px solid #f0f0f5}.permission-module-item:last-child{border-bottom:0}.permission-module-item:hover{background:#fcfbff}
.permission-item-name{display:flex;align-items:center;gap:9px}.permission-item-name i{width:7px;height:7px;border-radius:50%;background:#8a79e8;box-shadow:0 0 0 4px #f0edff}.permission-item-name strong{font-size:10px}
.permission-option{cursor:pointer}.permission-option input{position:absolute;opacity:0;pointer-events:none}.permission-option span{min-height:38px;display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid #e1e2ea;border-radius:10px;background:#fafbfc;color:#8b8f9e;font-size:9px;font-weight:800;transition:.16s ease}.permission-option b{font-size:13px}.permission-option input:checked+span{border-color:#a99cf3;background:#eeebff;color:#5844c8;box-shadow:inset 0 0 0 1px rgba(101,82,219,.08)}.permission-option.edit input:checked+span{border-color:#96c7ef;background:#edf7ff;color:#2479b8}.permission-option.delete input:checked+span{border-color:#f0a7af;background:#fff1f2;color:#c43d4b}.permission-option input:disabled+span{opacity:.72;cursor:not-allowed}
.permission-empty{min-height:220px;display:grid;place-content:center}

/* Authorized modules on the employee dashboard */
.employee-authorized-modules{margin:16px 0}.authorized-module-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.authorized-module-groups section{border:1px solid #e7e5f1;border-radius:15px;background:#fbfaff;overflow:hidden}.authorized-module-groups header{display:flex;align-items:center;gap:8px;padding:11px 12px;border-bottom:1px solid #eceaf4}.authorized-module-groups header>span{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#ebe7ff;color:#5d49cf}.authorized-module-groups header strong{font-size:10px}.authorized-module-groups section>div{display:grid;padding:6px}.authorized-module-groups button{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px;border:0;border-radius:9px;background:transparent;color:#40445c;font:inherit;font-size:9px;font-weight:700;cursor:pointer;text-align:start}.authorized-module-groups button:hover{background:#eeeaff;color:#5c49ca}.authorized-module-groups button i{font-style:normal;color:#aaa6c6}

@media(max-width:820px){.modal.maximized{inset:4px;height:calc(100vh - 8px);border-radius:12px}.modal.minimized{left:8px;bottom:8px;width:calc(100vw - 16px)!important}.permission-workspace-hero,.permission-workspace-toolbar{align-items:stretch;flex-direction:column}.permission-filters{grid-template-columns:1fr}.permission-selected-user{grid-template-columns:48px 1fr}.permission-manage-users{grid-column:1/-1}.permission-module-card>header,.permission-module-item{grid-template-columns:1fr}.permission-level-headings,.permission-level-options{grid-template-columns:repeat(3,1fr)}.permission-level-headings small{display:none}.authorized-module-groups{grid-template-columns:1fr}}
@media(max-width:520px){.modal{padding:58px 14px 16px}.modal-window-controls strong{font-size:9px}.permission-workspace-hero{padding:18px}.permission-legend{display:none}.permission-level-headings label{padding:6px}.permission-level-headings span{font-size:8px}.permission-module-item,.permission-module-card>header{padding:11px}.permission-option span{font-size:8px}.permission-option b{display:none}}
.vehicle-types-settings{border:1px solid #ddd8ff;border-radius:18px;padding:18px;background:#faf9ff}.vehicle-types-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.vehicle-types-heading h3{margin:0 0 4px;color:#172044}.vehicle-types-heading p{margin:0;color:#7c84a3;font-size:12px}.vehicle-types-settings .table-wrap{margin:0;max-height:300px}.vehicle-types-settings table input{min-width:140px}.vehicle-types-settings table input[type="number"]{min-width:100px}.vehicle-types-settings .danger-text{white-space:nowrap}@media(max-width:700px){.vehicle-types-heading{align-items:stretch;flex-direction:column}.vehicle-types-heading button{width:100%}}
.employee-additional-academic-stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.employee-additional-academic-stages[hidden]{display:none!important}.manager-notification-list button small{display:block;margin-top:5px;color:var(--muted);font-size:9px;font-weight:500}@media(max-width:760px){.employee-additional-academic-stages{grid-template-columns:1fr}}

/* Numbered student residence map and manual bus assignment */
.bus-student-map-screen{display:grid;gap:14px;height:100%;min-height:0}.bus-map-hero{margin:0}.bus-map-loading{min-height:420px;display:grid;place-content:center;text-align:center;gap:7px;color:#656b85}.bus-map-loading b{font-size:16px;color:#242842}
.bus-map-filter-bar{display:grid;grid-template-columns:105px 120px 95px 125px 112px 64px 64px auto;align-items:end;gap:8px;padding:10px 12px;border:1px solid #dedbf4;border-radius:15px;background:#faf9ff}.bus-map-filter-bar label{display:grid;gap:5px;min-width:0;color:#666c86;font-size:9px;font-weight:800}.bus-map-filter-bar select,.bus-map-filter-bar input{width:100%;height:38px;padding:0 9px;border:1px solid #dcddec;border-radius:9px;background:#fff;font:inherit}.bus-map-filter-bar input:disabled{background:#f0f0f5;color:#a3a5b1}.bus-map-filter-bar>strong{align-self:center;padding:9px 11px;border-radius:999px;background:#ece9ff;color:#5c49cf;font-size:9px;white-space:nowrap}.student-exit-method-field,.student-bus-trip-type-field{max-width:100%}.student-bus-trip-type-field[hidden]{display:none!important}
.student-return-location-toggle{display:flex!important;flex-direction:row!important;align-items:center;gap:12px!important;padding:14px 16px;border:1px solid #d9d3ff;border-radius:12px;background:#f8f7ff;cursor:pointer}.student-return-location-toggle>input{width:18px;height:18px;flex:0 0 auto;accent-color:var(--primary)}.student-return-location-toggle>span{display:grid;gap:3px}.student-return-location-toggle strong{font-size:13px;color:var(--text)}.student-return-location-toggle small{font-size:11px;font-weight:500;color:var(--muted)}.student-return-location-toggle[hidden],.student-return-location-field[hidden]{display:none!important}.student-return-location-field{padding:13px;border:1px solid #cfe8df;border-radius:12px;background:#f3fbf7}
.bus-student-map-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:12px;min-height:480px}.bus-student-residence-map{min-height:480px;border:1px solid #d9dce8;border-radius:18px;overflow:hidden;background:#f5f6fa}.bus-student-map-list{max-height:480px;overflow:auto;display:grid;align-content:start;gap:7px;padding:9px;border:1px solid #e1dfef;border-radius:18px;background:#faf9ff}.bus-student-map-list article{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:9px;padding:9px;border:1px solid #e5e3f2;border-radius:11px;background:#fff}.bus-student-map-list article>i{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#6652db;color:#fff;font-style:normal;font-size:11px;font-weight:900}.bus-student-map-list article div{min-width:0;display:grid;gap:3px}.bus-student-map-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.bus-student-map-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#85899b;font-size:8px}.bus-map-info{display:grid;gap:5px;min-width:190px}.bus-map-info b{font-size:12px}.bus-map-info span{color:#5d49cf;font-weight:800}.bus-map-info small{color:#777b8d;line-height:1.6}
.bus-map-school-legend{display:flex;align-items:center;justify-content:center;gap:7px;align-self:end;min-height:39px;padding:0 10px;border:1px solid #efd56d;border-radius:10px;background:#fffbea;color:#713f12;font-size:10px;font-weight:900;white-space:nowrap}.bus-map-school-legend i{width:24px;height:30px;display:grid;place-items:center;border:2px solid #713f12;border-radius:55% 55% 55% 8px;transform:rotate(-45deg);background:#facc15;color:#422006;font-style:normal;font-size:11px}.bus-map-school-info span{color:#9a6700}
.bus-map-marker-legend{display:flex;align-items:center;justify-content:center;gap:8px;align-self:end;min-height:39px;padding:0 9px;border:1px solid #dddaf0;border-radius:10px;background:#fff;font-size:8px;white-space:nowrap}.bus-map-marker-legend b{display:flex;align-items:center;gap:4px;color:#60657b}.bus-map-marker-legend i{width:10px;height:10px;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #d5d7e2}.bus-map-marker-legend i.go{background:#dc2626}.bus-map-marker-legend i.return{background:#2563eb}.bus-map-marker-legend i.assigned{background:#16a34a}
.bus-map-bus-legend{display:flex;align-items:center;gap:8px;overflow-x:auto;padding:9px 11px;border:1px solid #dddaf0;border-radius:12px;background:#fff;scrollbar-width:thin}.bus-map-bus-legend>b{flex:0 0 auto;color:#332873;font-size:9px}.bus-map-bus-legend>span{flex:0 0 auto;display:flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;background:#f7f7fb;color:#555b72;font-size:8px;font-weight:800;white-space:nowrap}.bus-map-bus-legend i{width:12px;height:12px;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #cfd2df}.bus-map-bus-legend i.unassigned{background:#64748b}
.bus-map-location-source{margin-top:3px;padding-top:5px;border-top:1px solid #ebe8f5;color:#5542c7!important;font-weight:800}
.bus-map-assignment-screen{display:grid;gap:14px}.bus-map-assignment-screen form{display:grid;grid-template-columns:1fr;gap:14px}.bus-map-assignment-screen label{display:grid;gap:6px;color:#555c76;font-size:10px;font-weight:800}.bus-map-assignment-screen select,.bus-map-assignment-screen input{height:44px;padding:0 12px;border:1px solid #d9dbe8;border-radius:10px;background:#fff;font:inherit}.bus-map-assignment-status{padding:11px 13px;border:1px solid #d9e8f7;border-radius:11px;background:#f2f8ff;color:#467298;font-size:10px}.bus-map-assignment-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.bus-map-number-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-height:310px;overflow:auto;padding:2px}.bus-map-number-row{display:grid;grid-template-columns:minmax(90px,.55fr) minmax(150px,1fr) 34px;align-items:end;gap:7px;padding:9px;border:1px solid #e4e2f0;border-radius:12px;background:#faf9ff}.bus-map-number-row input[name="studentMapNumber"]{font-size:15px;font-weight:900}.bus-map-number-student-name{min-height:44px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:7px 10px;border:1px solid #e1e2eb;border-radius:10px;background:#f3f4f8;color:#85899b;font-size:14px;font-weight:800;line-height:1.45}.bus-map-number-student-name>b{font-size:14px}.bus-map-number-student-class{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;background:#fff;color:#6452ca;font-size:11px;font-weight:900;white-space:nowrap}.bus-map-number-student-name.found{border-color:#c9ead9;background:#eefaf4;color:#23764b}.bus-map-number-student-name.missing{border-color:#f1cfd3;background:#fff4f5;color:#b54855}.bus-map-number-row button{height:34px;border:1px solid #f0cfd3;border-radius:9px;background:#fff2f3;color:#bf4350;font-size:17px;cursor:pointer}
.bus-route-quick-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:10px;padding:9px;border:1px solid #dfdcf5;border-radius:11px;background:#f8f7ff}.bus-route-quick-summary>div{display:grid;gap:3px}.bus-route-quick-summary span{color:#85899d;font-size:7px}.bus-route-quick-summary strong{font-size:8px}.bus-route-quick-summary small{grid-column:1/-1;color:#c24d58;font-size:8px}.bus-route-quick-summary>button{grid-column:1/-1;height:32px;border:1px solid #cfc8fa;border-radius:8px;background:#fff;color:#5b48ca;font:inherit;font-size:8px;font-weight:900;cursor:pointer}
@media(max-width:850px){.bus-map-filter-bar{grid-template-columns:1fr 1fr}.bus-map-filter-bar>strong{grid-column:1/-1}.bus-student-map-layout{grid-template-columns:1fr}.bus-student-map-list{max-height:230px}.bus-map-number-rows{grid-template-columns:1fr}}
@media(max-width:540px){.bus-map-filter-bar,.bus-map-number-rows{grid-template-columns:1fr}.bus-map-number-row{grid-template-columns:minmax(80px,.5fr) minmax(120px,1fr) 34px}.bus-student-residence-map{min-height:390px}.bus-route-quick-summary{grid-template-columns:1fr}}
.employee-service-request.maintenance:not(:disabled){cursor:pointer;opacity:1;border-color:#d9d8e5;background:linear-gradient(145deg,#fff,#f7f8fb)}.employee-service-request.maintenance:not(:disabled):hover{border-color:#aeb4c5;transform:translateY(-2px);box-shadow:0 10px 22px rgba(74,82,109,.12)}
.maintenance-hub-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}.maintenance-hub-actions>button{display:grid;grid-template-columns:48px 1fr;gap:4px 12px;align-items:center;min-height:112px;padding:16px;border:1px solid #ded9fb;border-radius:16px;background:#faf9ff;color:var(--text);font:inherit;text-align:start;cursor:pointer}.maintenance-hub-actions>button>span{grid-row:1/3;display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#ebe7ff;color:var(--primary);font-size:22px}.maintenance-hub-actions strong{font-size:14px}.maintenance-hub-actions small{color:var(--muted);font-size:10px}.maintenance-hub-actions .operations{border-color:#f0d097;background:#fffaf0}.maintenance-hub-actions .operations>span{background:#ffedc9;color:#a26700}.maintenance-hub-actions .supervisor{border-color:#bde4d4;background:#f4fbf8}.maintenance-hub-actions .supervisor>span{background:#dcf4ea;color:#147d5c}.maintenance-request-form .form-grid{margin-top:16px}.maintenance-arabic-note{display:block;margin-top:6px;color:#a26700;font-weight:700}.maintenance-request-list{max-height:58vh;overflow:auto;padding-inline-end:4px}.maintenance-request-list button>div{display:grid;gap:4px;text-align:start}.maintenance-request-list button>span{max-width:42%;text-align:end;line-height:1.6}.maintenance-decision{display:grid;gap:12px;margin:16px 0;padding:16px;border:1px solid #ddd8f7;border-radius:15px;background:#faf9ff}.maintenance-decision label{display:grid;gap:7px;font-weight:800}.maintenance-decision select{width:100%;padding:12px;border:1px solid #d7d8e6;border-radius:11px;background:#fff;font:inherit}.maintenance-decision .modal-footer{margin-top:0}
@media(max-width:700px){.maintenance-hub-actions{grid-template-columns:1fr}.maintenance-request-list button{align-items:flex-start;flex-direction:column}.maintenance-request-list button>span{max-width:none;text-align:start}}
