:root {
  --apg-blue: #0b2e5e;
  --apg-gold: #c8a44a;
  --apg-light: #f5f7fb;
  --apg-card: #ffffff;
  --apg-border: #e3e8f2;
  --apg-text: #1f2a37;
  --apg-muted: #6b7280;
}
* { box-sizing: border-box; }
body { margin: 0; font-family: Arial, Helvetica, sans-serif; color: var(--apg-text); background: var(--apg-light); }
a { color: inherit; text-decoration: none; }
.app-shell { display: flex; min-height: 100vh; }
.sidebar { width: 280px; background: linear-gradient(180deg, #081f43 0%, #0b2e5e 100%); color: #fff; padding: 22px 18px; }
.brand { display: flex; gap: 14px; align-items: center; padding-bottom: 18px; border-bottom: 1px solid rgba(255,255,255,.12); margin-bottom: 18px; }
.brand-logo { width: 54px; height: 54px; border-radius: 16px; background: var(--apg-gold); color: var(--apg-blue); display: grid; place-items: center; font-weight: 700; }
.brand-logo.lg { width: 70px; height: 70px; margin: 0 auto 12px; }
.brand-title { font-size: 20px; font-weight: 700; }
.brand-sub { font-size: 12px; opacity: .8; }
.side-nav { display: flex; flex-direction: column; gap: 8px; }
.nav-link { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 14px; color: rgba(255,255,255,.92); }
.nav-link:hover, .nav-link.active { background: rgba(255,255,255,.10); }
.main-panel { flex: 1; padding: 24px; }
.topbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.page-title { margin: 0; font-size: 28px; }
.page-subtitle { color: var(--apg-muted); margin-top: 6px; }
.topbar-right { display: flex; align-items: center; gap: 12px; }
.user-badge { background: #fff; border: 1px solid var(--apg-border); border-radius: 16px; padding: 10px 14px; display: flex; flex-direction: column; }
.user-badge span { font-size: 12px; color: var(--apg-muted); }
.btn { border: 1px solid var(--apg-border); background: #fff; padding: 10px 14px; border-radius: 12px; cursor: pointer; }
.btn-primary { background: var(--apg-blue); color: #fff; border-color: var(--apg-blue); }
.btn-outline { background: #fff; }
.alert { padding: 14px 16px; border-radius: 14px; margin-bottom: 16px; }
.alert.success { background: #edf9f0; color: #1c6b3a; }
.alert.danger { background: #fff1f2; color: #9f1239; }
.stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 20px; }
.stats-grid.compact { grid-template-columns: repeat(3, 1fr); }
.stat-card { border-radius: 22px; padding: 22px; background: #fff; border: 1px solid var(--apg-border); box-shadow: 0 10px 25px rgba(11,46,94,.06); }
.stat-card h3 { margin: 0 0 10px; font-size: 16px; }
.stat-card strong { display: block; font-size: 32px; margin-bottom: 8px; }
.stat-card span { color: var(--apg-muted); }
.stat-card.blue { background: linear-gradient(135deg, #0b2e5e, #1d5bb1); color: #fff; }
.stat-card.navy { background: linear-gradient(135deg, #081f43, #0b2e5e); color: #fff; }
.stat-card.gold { background: linear-gradient(135deg, #b9902e, #d8b967); color: #fff; }
.stat-card.white { background: #fff; }
.panel.two-col { display: grid; grid-template-columns: 1.6fr 1fr; gap: 18px; }
.card { background: var(--apg-card); border: 1px solid var(--apg-border); border-radius: 22px; padding: 22px; box-shadow: 0 10px 25px rgba(11,46,94,.05); }
.card-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.card-head h2 { margin: 0; font-size: 22px; }
.module-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.module-tile { border: 1px solid var(--apg-border); border-radius: 18px; padding: 18px; background: #fafcff; }
.tile-icon { font-size: 26px; margin-bottom: 10px; }
.tile-title { font-weight: 700; margin-bottom: 6px; }
.tile-text { color: var(--apg-muted); font-size: 14px; }
.feature-list { margin: 0; padding-left: 18px; line-height: 1.9; }
.toolbar { display: flex; gap: 12px; margin-bottom: 16px; flex-wrap: wrap; }
input, select, textarea { width: 100%; padding: 12px 14px; border-radius: 12px; border: 1px solid var(--apg-border); background: #fff; }
.toolbar input, .toolbar select { width: auto; min-width: 180px; }
.table-wrap { overflow: auto; }
table { width: 100%; border-collapse: collapse; }
th, td { text-align: left; padding: 14px 12px; border-bottom: 1px solid var(--apg-border); }
th { background: #f8fafc; }
.badge { border-radius: 999px; padding: 6px 10px; font-size: 12px; font-weight: 700; }
.badge.success { background: #edf9f0; color: #1c6b3a; }
.placeholder-box { min-height: 220px; border: 2px dashed var(--apg-border); border-radius: 18px; padding: 18px; color: var(--apg-muted); }
.auth-body { min-height: 100vh; display: grid; place-items: center; background: linear-gradient(135deg, #081f43, #0b2e5e); padding: 20px; }
.login-card { width: 100%; max-width: 460px; background: #fff; border-radius: 28px; padding: 28px; box-shadow: 0 25px 60px rgba(0,0,0,.22); }
.login-brand { text-align: center; margin-bottom: 18px; }
.form-grid.single { display: grid; gap: 14px; }
.demo-note { margin-top: 16px; color: var(--apg-muted); font-size: 14px; }
@media (max-width: 1200px) {
  .stats-grid, .stats-grid.compact, .module-grid, .panel.two-col { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 860px) {
  .app-shell { flex-direction: column; }
  .sidebar { width: 100%; }
  .topbar { flex-direction: column; align-items: flex-start; }
  .stats-grid, .stats-grid.compact, .module-grid, .panel.two-col { grid-template-columns: 1fr; }
}

.lang-switch, .auth-lang-switch { display:flex; align-items:center; gap:8px; }
.lang-switch { background:#fff; border:1px solid var(--apg-border); border-radius:14px; padding:8px 10px; }
.auth-lang-switch { justify-content:flex-end; margin-bottom:12px; }
.lang-btn { display:inline-flex; align-items:center; justify-content:center; min-width:36px; height:36px; padding:0 10px; border:1px solid var(--apg-border); border-radius:10px; background:#fff; color:var(--apg-text); font-weight:700; }
.lang-btn.active { background: var(--apg-blue); color:#fff; border-color:var(--apg-blue); }
body.rtl { direction: rtl; }
body.rtl .brand { text-align:right; }
body.rtl .topbar, body.rtl .card-head, body.rtl .toolbar { direction: rtl; }
body.rtl .feature-list { padding-right:18px; padding-left:0; }
body.rtl th, body.rtl td, body.rtl .page-title, body.rtl .page-subtitle, body.rtl .tile-title, body.rtl .tile-text, body.rtl .placeholder-box, body.rtl .card-head h2, body.rtl label { text-align:right; }
body.rtl .nav-link { flex-direction: row-reverse; justify-content: flex-end; }
body.rtl .user-badge { text-align:right; }
body.rtl .topbar-right { flex-direction: row-reverse; }
body.rtl .login-brand, body.rtl .demo-note { text-align:center; }

.form-grid{display:grid;gap:14px;margin-bottom:16px;}
.form-grid.two-cols{grid-template-columns:1fr 1fr;}
.inner-head{margin-top:18px;}
.stack-cards{display:grid;gap:12px;}
.mini-card{border:1px solid var(--apg-border);border-radius:18px;padding:16px;background:#fafcff;}
.mini-card-title{font-weight:700;margin-bottom:6px;}
.mini-card-text{color:var(--apg-muted);font-size:14px;margin-bottom:10px;}
.pill-row{display:flex;flex-wrap:wrap;gap:8px;}
.badge.soft{background:#f4f7fb;color:var(--apg-blue);border:1px solid var(--apg-border);}
.badge.view{background:#eef5ff;color:#184a90;}
.badge.create{background:#fff7e8;color:#9b6700;}
.badge.full{background:#edf9f0;color:#1c6b3a;}
.note-box{margin-top:14px;padding:14px 16px;border-radius:16px;background:#f8fafc;border:1px dashed var(--apg-border);color:var(--apg-muted);}
.text-muted,.muted-cell{color:var(--apg-muted);font-size:14px;}
.btn-row{display:flex;gap:10px;flex-wrap:wrap;}
.role-builder-grid{align-items:start;}
@media (max-width: 860px){.form-grid.two-cols{grid-template-columns:1fr;}}

.btn-danger{background:#b42318;color:#fff;border-color:#b42318}.top-gap{margin-top:16px}.alert.error{background:#fef3f2;color:#b42318;border:1px solid #fecdca}

.users-hero-grid{grid-template-columns:1.4fr 1fr 1fr 1fr}.hero-card{position:relative;overflow:hidden}.hero-card:after{content:"";position:absolute;inset:auto -40px -40px auto;width:140px;height:140px;border-radius:50%;background:rgba(255,255,255,.12)}
.users-filter-grid{display:grid;grid-template-columns:2fr 1fr 1fr auto auto;align-items:end}.filters-toolbar input,.filters-toolbar select{width:100%}
.modern-table-wrap{border:1px solid var(--apg-border);border-radius:18px;overflow:auto}.modern-table thead th{position:sticky;top:0;z-index:2;background:#f8fafc}.modern-table tbody tr:hover{background:#fbfdff}.center-cell{text-align:center;padding:30px 12px}.user-cell{display:flex;align-items:center;gap:12px}.avatar-circle{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#0b2e5e,#1d5bb1);color:#fff;font-weight:700}
.sticky-card{position:sticky;top:24px}.bar-chart-list{display:grid;gap:14px}.bar-row-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:6px}.bar-track,.coverage-track{height:12px;background:#eef2f7;border-radius:999px;overflow:hidden}.bar-fill,.coverage-fill{height:100%;background:linear-gradient(90deg,var(--apg-gold),var(--apg-blue));border-radius:999px}.insights-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.insight-tile{padding:18px;border-radius:18px;border:1px solid var(--apg-border);background:#fafcff}.insight-label{font-size:14px;color:var(--apg-muted);margin-bottom:10px}.insight-value{font-size:28px;font-weight:700;margin-bottom:8px}.insight-note{font-size:13px;color:var(--apg-muted)}
.coverage-chart{display:grid;gap:12px}.coverage-row{display:grid;grid-template-columns:180px 1fr 56px;align-items:center;gap:12px}.coverage-label{font-weight:600}.coverage-value{text-align:right;color:var(--apg-muted)}
.matrix-legend{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.matrix-wrap{border:1px solid var(--apg-border);border-radius:18px;overflow:auto}.matrix-table th,.matrix-table td{min-width:140px;text-align:center}.matrix-table .sticky-col{position:sticky;left:0;background:#fff;z-index:3;text-align:left;min-width:220px}.matrix-table thead .sticky-col{background:#f8fafc;z-index:4}.role-matrix-cell{display:flex;flex-direction:column;gap:4px}.matrix-badge{display:inline-flex;justify-content:center;min-width:108px}.matrix-empty{color:var(--apg-muted);font-weight:700}
.permissions-summary-grid{grid-template-columns:repeat(3,1fr)}.users-insights-grid,.user-management-grid{align-items:start}
body.rtl .coverage-row{grid-template-columns:56px 1fr 180px} body.rtl .coverage-value{text-align:left} body.rtl .coverage-label{text-align:right} body.rtl .matrix-table .sticky-col{text-align:right;right:0;left:auto} body.rtl .user-cell{flex-direction:row-reverse} body.rtl .bar-row-head{flex-direction:row-reverse} body.rtl .users-filter-grid{grid-template-columns:2fr 1fr 1fr auto auto}
@media (max-width:1200px){.users-filter-grid{grid-template-columns:1fr 1fr}.users-hero-grid{grid-template-columns:1fr 1fr}.coverage-row{grid-template-columns:1fr}.insights-grid{grid-template-columns:1fr}}
@media (max-width:860px){.users-filter-grid,.users-hero-grid,.permissions-summary-grid{grid-template-columns:1fr}.sticky-card{position:static}.matrix-table .sticky-col{position:static}.coverage-row{grid-template-columns:1fr}}


.users-kpi-grid{grid-template-columns:repeat(4,1fr);margin-bottom:18px}
.kpi-top{font-size:14px;font-weight:700;opacity:.92;margin-bottom:8px}
.users-top-grid{display:grid;grid-template-columns:1.02fr 1.38fr;gap:18px;align-items:start;margin-bottom:18px}
.user-form-card{background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%)}
.section-chip{display:inline-flex;align-items:center;gap:8px;border-radius:999px;background:#eef4ff;color:var(--apg-blue);padding:8px 14px;font-size:12px;font-weight:700;margin-bottom:14px}
.light-chip{background:#f8fafc;color:var(--apg-text);border:1px solid var(--apg-border)}
.compact-head{margin-bottom:18px}
.polished-form-grid{gap:16px}
.full-span{grid-column:1/-1}
.btn-large{padding:12px 18px;font-weight:700}
.users-analytics-stack{display:grid;gap:18px}
.analytics-card{padding-bottom:18px}
.donut-layout{display:grid;grid-template-columns:220px 1fr;gap:18px;align-items:center}
.donut-box{position:relative;width:180px;height:180px;margin:auto}
.donut-svg{width:180px;height:180px;transform:rotate(-90deg)}
.donut-bg,.donut-segment{fill:none;stroke-width:14}
.donut-bg{stroke:#eef2f7}
.donut-segment{stroke-linecap:round}
.donut-segment-active{stroke:#1c6b3a}
.donut-segment-inactive{stroke:#1d5bb1}
.donut-segment-unassigned{stroke:#c8a44a}
.donut-center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}
.donut-center strong{font-size:32px;line-height:1;margin-bottom:6px}
.donut-center span{font-size:13px;color:var(--apg-muted)}
.donut-legend-grid{display:grid;grid-template-columns:1fr;gap:12px}
.legend-card{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:18px;border:1px solid var(--apg-border);background:#fff}
.legend-dot{width:12px;height:12px;border-radius:50%;display:inline-block;flex:0 0 12px}
.active-dot{background:#1c6b3a}.inactive-dot{background:#1d5bb1}.unassigned-dot{background:#c8a44a}
.success-tone{background:#f4fbf6}.soft-tone{background:#f8fbff}.gold-tone{background:#fffaf0}
.mini-analytics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.metric-card.slim{padding:18px}
.metric-label{font-size:13px;color:var(--apg-muted);margin-bottom:10px}
.metric-value{font-size:28px;font-weight:800;margin-bottom:8px;color:var(--apg-blue)}
.metric-note{font-size:13px;color:var(--apg-muted);line-height:1.5}
.compact-split{grid-template-columns:1fr 1fr;gap:18px}
.refined-bars .bar-row{padding:10px 0}
.refined-bars .bar-track{height:10px;background:#edf2f7}
.compact-coverage-chart .coverage-row.small{grid-template-columns:140px 1fr 48px;gap:10px}
.users-list-card{margin-top:2px}
.users-list-head{margin-bottom:16px}
.polished-filter-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr auto auto;gap:12px;align-items:end;margin-bottom:18px}
.elevated-table-wrap{box-shadow:inset 0 1px 0 rgba(255,255,255,.5)}
.users-table tbody tr{transition:transform .16s ease, background .16s ease}
.users-table tbody tr:hover{background:#fbfdff;transform:translateY(-1px)}
.large-avatar{width:48px;height:48px;font-size:15px}
.email-pill{display:inline-flex;padding:7px 10px;border-radius:999px;background:#f8fafc;border:1px solid var(--apg-border)}
.wrap-compact{max-width:380px}
.action-buttons-row .btn{min-width:78px;text-align:center}
body.rtl .compact-coverage-chart .coverage-row.small{grid-template-columns:48px 1fr 140px}
@media (max-width:1350px){.users-top-grid{grid-template-columns:1fr}.mini-analytics-grid{grid-template-columns:1fr 1fr}.donut-layout{grid-template-columns:1fr}.donut-box{margin:0 auto}.polished-filter-grid{grid-template-columns:1fr 1fr 1fr auto auto}}
@media (max-width:980px){.users-kpi-grid,.mini-analytics-grid,.compact-split{grid-template-columns:1fr 1fr}.polished-filter-grid{grid-template-columns:1fr 1fr}.compact-coverage-chart .coverage-row.small,body.rtl .compact-coverage-chart .coverage-row.small{grid-template-columns:1fr}}
@media (max-width:680px){.users-kpi-grid,.mini-analytics-grid,.compact-split,.polished-filter-grid,.form-grid.two-cols{grid-template-columns:1fr}.donut-box,.donut-svg{width:160px;height:160px}.donut-layout{gap:14px}}

/* ===== Users Management V2 refresh ===== */
.users-page-v2{display:grid;gap:18px}
.um-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;padding:4px 2px 0}
.um-page-title{font-size:32px;line-height:1.1;margin:0 0 8px;color:var(--apg-blue)}
.um-page-subtitle{margin:0;color:var(--apg-muted);max-width:760px;font-size:15px;line-height:1.7}
.um-hero-actions{display:flex;gap:10px;flex-wrap:wrap}
.um-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.um-kpi-card{border-radius:24px;padding:22px;position:relative;overflow:hidden;border:1px solid var(--apg-border);background:#fff;box-shadow:0 14px 32px rgba(13,32,67,.06)}
.um-kpi-card:after{content:"";position:absolute;right:-22px;bottom:-28px;width:108px;height:108px;border-radius:50%;background:rgba(255,255,255,.14)}
.um-kpi-card.primary{background:linear-gradient(135deg,#0e3b79 0%,#1a4f98 100%);color:#fff}
.um-kpi-card.success{background:linear-gradient(135deg,#ffffff 0%,#f4fbf6 100%)}
.um-kpi-card.soft{background:linear-gradient(135deg,#ffffff 0%,#f7faff 100%)}
.um-kpi-card.gold{background:linear-gradient(135deg,#c79c2b 0%,#d9b55a 100%);color:#fff}
.um-kpi-label{font-size:14px;font-weight:700;margin-bottom:14px;opacity:.95}
.um-kpi-value{font-size:44px;font-weight:800;line-height:1;margin-bottom:10px}
.um-kpi-meta{font-size:14px;opacity:.9;max-width:240px}
.um-section-card{padding:26px;border-radius:28px;box-shadow:0 16px 36px rgba(15,23,42,.06)}
.um-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px}
.um-section-head.compact{margin-bottom:16px}
.um-section-head h2{margin:0 0 6px;font-size:28px;color:#102a56}
.um-section-head p{margin:0;color:var(--apg-muted);line-height:1.7}
.um-section-index{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,#eef4ff,#fff8e8);color:var(--apg-blue);font-weight:800;margin-bottom:12px}
.um-form-layout{display:grid;grid-template-columns:minmax(0,1.6fr) 340px;gap:18px;align-items:start}
.um-create-form{border:1px solid var(--apg-border);border-radius:24px;padding:20px;background:linear-gradient(180deg,#fff 0%,#fbfdff 100%)}
.um-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.um-field{display:grid;gap:8px}
.um-field-full{grid-column:1/-1}
.um-field label{font-size:14px;font-weight:700;color:#16325c}
.um-field input,.um-field select{height:52px;border-radius:16px;border:1px solid #d7e0ea;background:#fff;padding:0 16px;font-size:15px;box-shadow:inset 0 1px 2px rgba(15,23,42,.03)}
.um-field input:focus,.um-field select:focus{outline:none;border-color:#1d5bb1;box-shadow:0 0 0 4px rgba(29,91,177,.08)}
.um-form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.um-side-metrics{display:grid;grid-template-columns:1fr;gap:14px}
.um-mini-box{padding:18px;border-radius:22px;border:1px solid var(--apg-border);background:linear-gradient(180deg,#fff 0%,#fafcff 100%);min-height:118px;display:flex;flex-direction:column;justify-content:space-between}
.um-mini-box.accent{background:linear-gradient(180deg,#fffaf0 0%,#fff 100%)}
.um-mini-box span{font-size:13px;color:var(--apg-muted);font-weight:700}
.um-mini-box strong{font-size:34px;color:var(--apg-blue);line-height:1.1}
.um-mini-box small{color:var(--apg-muted);line-height:1.6}
.um-charts-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}
.um-full-span{grid-column:1/-1}
.um-donut-wrap{display:grid;grid-template-columns:220px 1fr;gap:18px;align-items:center}
.um-donut-box{position:relative;width:190px;height:190px;margin:0 auto}
.um-donut-svg{width:190px;height:190px;transform:rotate(-90deg)}
.um-donut-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.um-donut-center strong{font-size:34px;line-height:1;color:#102a56;margin-bottom:8px}
.um-donut-center span{font-size:13px;color:var(--apg-muted)}
.um-donut-legend{display:grid;gap:12px}
.um-legend-item{display:grid;grid-template-columns:12px 1fr;column-gap:12px;row-gap:3px;align-items:center;padding:14px 16px;border-radius:18px;border:1px solid var(--apg-border)}
.um-legend-item b{font-size:24px;color:#102a56}
.um-legend-item small{grid-column:2;color:var(--apg-muted);font-size:13px}
.um-bars-list,.um-coverage-list{display:grid;gap:14px}
.um-bar-item,.um-coverage-item{padding:12px 0}
.um-bar-head,.um-coverage-item{display:grid;gap:8px;align-items:center}
.um-bar-head{grid-template-columns:1fr auto}
.um-bar-track,.um-coverage-track{height:12px;background:#edf2f7;border-radius:999px;overflow:hidden}
.um-bar-fill{height:100%;background:linear-gradient(90deg,#1d5bb1,#c79c2b);border-radius:999px}
.um-coverage-item{grid-template-columns:180px 1fr 52px}
.um-coverage-title{font-weight:700;color:#16325c}
.um-coverage-fill{height:100%;background:linear-gradient(90deg,#c79c2b,#1d5bb1);border-radius:999px}
.um-coverage-value{text-align:right;font-weight:800;color:#102a56}
.clean-list-card{padding-top:24px}
.um-filter-bar{display:grid;grid-template-columns:1.5fr 1fr 1fr auto;gap:14px;align-items:end;margin-bottom:18px;padding:18px;border:1px solid var(--apg-border);border-radius:22px;background:#fbfdff}
.um-filter-actions{display:flex;gap:10px;flex-wrap:wrap}
.users-table thead th{font-size:15px;padding-top:18px;padding-bottom:18px;background:#f8fafc}
.users-table tbody td{vertical-align:middle}
.users-table tbody tr:hover{background:#fbfdff}
.wrap-compact{max-width:360px;line-height:1.8}
.email-pill{font-size:14px;background:#f7fafc}
body.rtl .um-hero{flex-direction:row-reverse}
body.rtl .um-hero-copy,body.rtl .um-section-head,body.rtl .um-section-card,body.rtl .um-filter-bar{text-align:right}
body.rtl .um-bar-head{grid-template-columns:auto 1fr}
body.rtl .um-coverage-item{grid-template-columns:52px 1fr 180px}
body.rtl .um-coverage-value{text-align:left}
body.rtl .um-filter-actions,body.rtl .um-form-actions,body.rtl .um-hero-actions{flex-direction:row-reverse}
@media (max-width:1300px){.um-form-layout,.um-charts-grid{grid-template-columns:1fr}.um-kpi-grid{grid-template-columns:1fr 1fr}.um-donut-wrap{grid-template-columns:1fr}.um-donut-box{margin:0 auto}.um-filter-bar{grid-template-columns:1fr 1fr}.um-coverage-item,body.rtl .um-coverage-item{grid-template-columns:1fr}}
@media (max-width:760px){.um-hero{flex-direction:column;align-items:flex-start}.um-page-title{font-size:26px}.um-kpi-grid,.um-field-grid,.um-filter-bar{grid-template-columns:1fr}.um-section-card{padding:18px}.um-section-head h2{font-size:24px}.um-donut-box,.um-donut-svg{width:168px;height:168px}}
/* ===== Admissions Module ===== */
.adm-page{display:grid;gap:18px}.adm-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;background:linear-gradient(135deg,#fff,#f8fbff)}.adm-kicker{display:inline-flex;background:#fff8e8;color:#8a6517;border:1px solid #f0dfb6;border-radius:999px;padding:6px 12px;font-weight:700;margin-bottom:10px}.adm-hero h2{margin:0 0 8px;color:var(--apg-blue);font-size:30px}.adm-hero p,.muted{color:var(--apg-muted);line-height:1.7}.adm-actions{display:flex;gap:10px;flex-wrap:wrap}.adm-tabs{display:flex;gap:10px;flex-wrap:wrap}.adm-tab{padding:12px 16px;border-radius:14px;border:1px solid var(--apg-border);background:#fff;font-weight:700}.adm-tab.active{background:var(--apg-blue);color:#fff;border-color:var(--apg-blue)}.adm-builder{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0}.adm-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px}.print-head{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid var(--apg-border);padding-bottom:16px;margin-bottom:16px}.print-head h2{margin:0;color:var(--apg-blue)}.print-logo{width:64px;height:64px;border-radius:18px;background:var(--apg-gold);display:grid;place-items:center;font-weight:800;color:var(--apg-blue)}.student-top{display:flex;justify-content:space-between;gap:16px;background:#fbfdff;border:1px solid var(--apg-border);border-radius:18px;padding:16px}.student-photo{width:130px;height:150px;border:1px dashed #cbd5e1;border-radius:14px;display:grid;place-items:center;overflow:hidden;color:var(--apg-muted);background:#fff}.student-photo img{width:100%;height:100%;object-fit:cover}.section-title{margin:22px 0 10px;color:#102a56;border-bottom:1px solid var(--apg-border);padding-bottom:8px}.print-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.print-field{border:1px solid var(--apg-border);border-radius:12px;padding:10px;background:#fff}.print-field span{display:block;color:var(--apg-muted);font-size:12px;margin-bottom:5px}.print-field strong{font-size:14px}.timeline{display:grid;gap:10px;margin-top:14px}.time-item{border-left:4px solid var(--apg-gold);background:#fbfdff;border-radius:12px;padding:10px}.time-item span{display:block;color:var(--apg-muted);font-size:12px;margin-top:4px}.time-item p{margin:8px 0 0}.adm-report-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.adm-report-grid .mini-card strong{font-size:30px;color:var(--apg-blue)}.report-bars{display:grid;gap:12px}.bar-row{display:grid;grid-template-columns:160px 1fr 50px;gap:12px;align-items:center}.bar-track{height:12px;background:#edf2f7;border-radius:999px;overflow:hidden}.bar-fill{height:100%;background:linear-gradient(90deg,#0b2e5e,#c8a44a);border-radius:999px}.public-admission-body{background:linear-gradient(135deg,#081f43,#0b2e5e);min-height:100vh;padding:24px}.public-admission-wrap{max-width:1100px;margin:0 auto}.public-hero{text-align:center;color:#fff;padding:24px}.public-logo{width:76px;height:76px;border-radius:22px;background:var(--apg-gold);color:var(--apg-blue);display:grid;place-items:center;font-weight:900;margin:0 auto 12px}.public-hero h1{margin:0 0 8px}.public-card{background:#fff;border-radius:26px;padding:24px;margin-bottom:18px;box-shadow:0 20px 50px rgba(0,0,0,.18)}.public-form h2{color:var(--apg-blue);border-bottom:1px solid var(--apg-border);padding-bottom:10px;margin-top:22px}.public-form h2:first-child{margin-top:0}.public-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.public-field{display:grid;gap:7px}.public-field.full{grid-column:1/-1}.public-field.half{grid-column:span 2}.public-field.third{grid-column:span 1}.public-field.quarter{grid-column:span 1}.public-field label{font-weight:700;color:#16325c}.choice{display:inline-flex!important;align-items:center;gap:8px;margin-right:12px;font-weight:400!important}.choice input{width:auto}.public-submit{margin-top:22px;text-align:center}.result-card{text-align:center}.result-card.ok strong{font-size:34px;color:var(--apg-blue)}.result-card.bad{border:2px solid #fecdd3}@media(max-width:1000px){.adm-detail-grid,.adm-builder{grid-template-columns:1fr}.adm-report-grid,.public-grid{grid-template-columns:1fr 1fr}.public-field.full,.public-field.half,.public-field.third,.public-field.quarter{grid-column:1/-1}}@media(max-width:700px){.adm-hero,.student-top{flex-direction:column}.print-grid,.adm-report-grid,.public-grid{grid-template-columns:1fr}.bar-row{grid-template-columns:1fr}.public-admission-body{padding:10px}.public-card{padding:16px}}
@media print{body{background:#fff}.sidebar,.topbar,.adm-tabs,.adm-hero,.no-print,.alert,.adm-actions{display:none!important}.main-panel{padding:0}.card{box-shadow:none;border:0}.adm-detail-grid{display:block}.adm-printable{padding:0}.print-grid{grid-template-columns:1fr 1fr}.section-title{break-after:avoid}.print-field{break-inside:avoid}@page{size:A4;margin:12mm}}
.btn.small{padding:7px 10px;font-size:12px}.slot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:12px}.slot-card{display:grid!important;gap:7px;border:1px solid var(--apg-border);border-radius:18px;padding:16px;background:#fff;cursor:pointer}.slot-card input{width:auto}.slot-card strong{color:var(--apg-blue);font-size:18px}.slot-card span{font-weight:800}.slot-card small,.slot-card em{color:var(--apg-muted)}@media(max-width:900px){.slot-grid{grid-template-columns:1fr}}

/* ===== APG Brand Refresh v4 ===== */
:root{
  --apg-blue:#425CC7;
  --apg-gold:#FFB71B;
  --apg-navy:#132048;
  --apg-kg:#9078b7;
  --apg-light:#f7f8ff;
  --apg-border:#dfe5fb;
  --apg-text:#132048;
  --apg-muted:#65708f;
}
body{font-family:'HT Mosafer Rounded','Mosafer Rounded','Trebuchet MS',Arial,sans-serif;color:var(--apg-navy);background:var(--apg-light)}
.sidebar,.auth-body,.public-admission-body{background:linear-gradient(180deg,var(--apg-blue),#2e429d)!important}.brand-logo{background:#fff!important;color:var(--apg-blue)!important;overflow:hidden}.brand-logo img{max-width:100%;max-height:100%;object-fit:contain}.brand-logo.lg{background:#fff!important;width:92px;height:92px;border-radius:28px}.btn-primary,.adm-tab.active,.lang-btn.active{background:var(--apg-blue)!important;border-color:var(--apg-blue)!important;color:#fff!important}.btn-gold{background:var(--apg-gold)!important;border-color:var(--apg-gold)!important;color:var(--apg-navy)!important;font-weight:900}.page-title,.adm-hero h2,.card-head h2,.print-head h2{color:var(--apg-navy)}.stat-card.blue,.stat-card.navy{background:linear-gradient(135deg,var(--apg-blue),#2f44a5)!important}.stat-card.gold{background:linear-gradient(135deg,var(--apg-gold),#ffd46d)!important;color:var(--apg-navy)!important}.bar-fill,.um-bar-fill,.um-coverage-fill{background:linear-gradient(90deg,var(--apg-blue),var(--apg-gold))!important}.kg-accent{color:var(--apg-kg)!important}.kg-bg{background:var(--apg-kg)!important;color:#fff!important}

/* Admission public form organization */
.public-admission-body{padding:30px 14px;background:linear-gradient(135deg,#eef2ff 0%,#ffffff 46%,#fff8e7 100%)!important}.public-admission-wrap{max-width:1180px}.public-hero{position:relative;overflow:hidden;text-align:left;background:linear-gradient(135deg,var(--apg-blue),#3144a1);border-radius:32px;color:#fff;padding:28px 32px;margin-bottom:18px;box-shadow:0 20px 50px rgba(66,92,199,.23)}.public-hero:after{content:"";position:absolute;right:-80px;bottom:-90px;width:260px;height:260px;border-radius:50%;background:rgba(255,183,27,.28)}.public-hero .public-logo{margin:0 0 16px;width:210px;height:auto;border-radius:0;background:transparent!important;display:block}.public-hero .public-logo img{width:210px;max-width:100%;height:auto;background:#fff;border-radius:18px;padding:10px}.public-hero h1{font-size:28px;line-height:1.25}.public-hero p{opacity:.95;font-weight:700}.public-card{border:1px solid var(--apg-border);border-radius:30px;box-shadow:0 18px 40px rgba(19,32,72,.10)}.public-form h2{display:flex;align-items:center;gap:12px;background:linear-gradient(90deg,#f3f6ff,#fff);border:1px solid var(--apg-border);border-radius:18px;padding:14px 16px;color:var(--apg-navy);font-size:22px;margin:26px 0 18px}.public-form h2:before{content:"";width:14px;height:32px;border-radius:99px;background:var(--apg-gold);box-shadow:0 0 0 6px rgba(255,183,27,.14)}.public-grid{background:#fbfcff;border:1px solid #edf1ff;border-radius:24px;padding:18px;gap:16px}.public-field label{font-size:14px;color:var(--apg-navy)}.public-field input,.public-field select,.public-field textarea{border-radius:16px;border:1px solid #d9e1fa;background:#fff;min-height:48px}.public-field input:focus,.public-field select:focus,.public-field textarea:focus{outline:none;border-color:var(--apg-blue);box-shadow:0 0 0 4px rgba(66,92,199,.10)}.public-submit{position:sticky;bottom:0;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);padding:18px;border-top:1px solid var(--apg-border);border-radius:0 0 24px 24px}.public-submit .btn{font-size:18px;padding:14px 32px;border-radius:18px}.adm-hero{background:linear-gradient(135deg,#fff 0%,#f3f6ff 100%)}.adm-kicker{background:#fff7df;color:#7a5400;border-color:#ffe0a1}.print-logo{background:#fff!important;width:110px;height:70px;border:0}.print-logo img{width:100%;height:100%;object-fit:contain}.section-title{color:var(--apg-blue)}
.booking-builder-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.booking-builder-grid .full{grid-column:1/-1}.booking-options{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.day-check{display:flex;align-items:center;gap:8px;border:1px solid var(--apg-border);border-radius:14px;padding:10px;background:#fff}.day-check input{width:auto}.slot-meta{display:flex;gap:8px;flex-wrap:wrap}.slot-meta .badge{background:#fff7df;color:#7a5400}.guardian-other-field{transition:.2s}.field-hidden{display:none!important}
@media(max-width:900px){.booking-builder-grid,.booking-options{grid-template-columns:1fr}.public-hero{text-align:center}.public-hero .public-logo{margin:0 auto 14px}.public-hero:after{display:none}}

/* APG Brand Refresh + Student Affairs */
:root{--apg-blue:#425CC7;--apg-gold:#FFB71B;--apg-navy:#132048;--apg-kg:#9078b7;--apg-light:#f6f8ff;--apg-border:#dfe5f7;--apg-text:#132048;--apg-muted:#667085;}
body{font-family:'HT Mosafer Rounded','Segoe UI',Tahoma,Arial,sans-serif;color:var(--apg-navy);background:linear-gradient(180deg,#f7f9ff 0%,#eef2ff 100%)}
.sidebar{background:linear-gradient(180deg,var(--apg-navy) 0%,var(--apg-blue) 100%)}
.brand-logo{background:#fff;overflow:hidden;border-radius:18px}.brand-logo img{width:100%;height:100%;object-fit:contain}.brand-title,.page-title{color:var(--apg-navy)}.sidebar .brand-title{color:#fff}.btn-primary,.lang-btn.active{background:var(--apg-blue);border-color:var(--apg-blue);color:#fff}.btn-gold{background:var(--apg-gold);border-color:var(--apg-gold);color:var(--apg-navy);font-weight:800}.stat-card.blue{background:linear-gradient(135deg,var(--apg-blue),#6c82e4)}.stat-card.navy{background:linear-gradient(135deg,var(--apg-navy),var(--apg-blue))}.stat-card.gold{background:linear-gradient(135deg,var(--apg-gold),#ffd56d);color:var(--apg-navy)}.bar-fill,.coverage-fill{background:linear-gradient(90deg,var(--apg-gold),var(--apg-blue))}.card{border-color:var(--apg-border)}
.hidden{display:none!important}.sa-hero{background:linear-gradient(135deg,var(--apg-blue),var(--apg-navy));color:#fff;border-radius:28px;padding:28px;margin-bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:18px;box-shadow:0 18px 45px rgba(66,92,199,.22);position:relative;overflow:hidden}.sa-hero:after{content:"";position:absolute;right:-80px;bottom:-110px;width:260px;height:260px;border-radius:50%;background:rgba(255,183,27,.24)}.sa-hero h2,.sa-hero p{margin:0 0 8px;color:#fff}.adm-kicker{letter-spacing:.08em;text-transform:uppercase;color:#ffe5a0;font-weight:800;font-size:12px}.adm-actions{display:flex;gap:10px;flex-wrap:wrap;position:relative;z-index:1}.adm-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.adm-tab{padding:11px 14px;border:1px solid var(--apg-border);border-radius:14px;background:#fff;color:var(--apg-navy);font-weight:700}.adm-tab.active{background:var(--apg-gold);border-color:var(--apg-gold);box-shadow:0 10px 22px rgba(255,183,27,.2)}.sa-stats .stat-card strong{font-size:36px}.class-block-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.class-block{display:block;background:#fff;border:1px solid var(--apg-border);border-radius:24px;padding:18px;box-shadow:0 12px 28px rgba(19,32,72,.07);transition:.2s}.class-block:hover{transform:translateY(-3px);box-shadow:0 18px 34px rgba(66,92,199,.16)}.class-name{font-size:30px;font-weight:900;color:var(--apg-blue)}.class-grade{font-weight:800;margin:5px 0 12px;color:var(--apg-navy)}.class-meta{display:flex;flex-wrap:wrap;gap:7px}.class-meta span{background:#f5f7ff;border:1px solid var(--apg-border);border-radius:999px;padding:6px 9px;font-size:12px;font-weight:700}.capacity-line{height:12px;background:#edf1ff;border-radius:99px;overflow:hidden;margin:14px 0}.capacity-line div{height:100%;background:linear-gradient(90deg,var(--apg-blue),var(--apg-gold));border-radius:99px}.free-seats{font-weight:800;color:var(--apg-navy)}.student-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}.student-top h2{margin:0;color:var(--apg-blue)}.print-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.print-field{border:1px solid var(--apg-border);border-radius:16px;padding:12px;background:#fbfcff}.print-field span{display:block;color:var(--apg-muted);font-size:12px;margin-bottom:6px}.print-field strong{display:block;color:var(--apg-navy);word-break:break-word}.badge.soft{background:#eef2ff;color:var(--apg-blue);border-color:#d9e0ff}.btn-danger{background:#b42318;color:#fff;border-color:#b42318}.top-gap{margin-top:16px}.filters-toolbar{align-items:end}.filters-toolbar input,.filters-toolbar select{min-width:160px}.modern-table td,.modern-table th{vertical-align:middle}.mini-card{color:inherit}.adm-detail-grid{display:grid;grid-template-columns:1.5fr .8fr;gap:18px}.adm-printable{background:#fff}.inner-head h3{color:var(--apg-blue)}
@media(max-width:1200px){.class-block-grid{grid-template-columns:repeat(2,1fr)}.adm-detail-grid{grid-template-columns:1fr}.sa-hero{flex-direction:column;align-items:flex-start}}@media(max-width:700px){.class-block-grid,.print-grid{grid-template-columns:1fr}.adm-tabs{overflow:auto;flex-wrap:nowrap}.adm-tab{white-space:nowrap}.sa-hero{padding:20px}.toolbar input,.toolbar select{width:100%}.adm-actions .btn{width:100%;text-align:center}}
@media print{.sidebar,.topbar,.adm-tabs,.sa-hero,.no-print,.adm-actions,.toolbar{display:none!important}.main-panel{padding:0}.card{box-shadow:none;border:0}.adm-detail-grid{display:block}.print-grid{grid-template-columns:1fr 1fr}@page{size:A4;margin:12mm}}

/* ===== Strong HR + Timetable Professional UI ===== */
:root{--apg-blue:#425CC7;--apg-gold:#FFB71B;--apg-navy:#132048;--apg-purple:#9078b7;--apg-light:#f4f7ff;--apg-border:#dce5f7;--apg-muted:#667085;--apg-card:#fff}
.brand-logo{background:#fff!important;overflow:hidden}.brand-logo img{max-width:100%;max-height:100%;object-fit:contain}.sidebar{background:linear-gradient(180deg,#132048 0%,#425CC7 100%)}.btn-primary,.lang-btn.active{background:#425CC7!important;border-color:#425CC7!important}.page-title,.card-head h2,h2{color:#132048}.stat-card.gold{background:linear-gradient(135deg,#FFB71B,#ffd56b);color:#132048}.stat-card.blue{background:linear-gradient(135deg,#425CC7,#132048)}
.apg-kicker{display:inline-flex;padding:7px 13px;border-radius:999px;background:#fff4d6;border:1px solid #ffe4a1;color:#8a6100;font-weight:900;margin-bottom:10px;letter-spacing:.04em}.hr-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:28px!important;border-radius:28px!important;background:linear-gradient(135deg,#fff 0%,#f6f8ff 100%);position:relative;overflow:hidden}.hr-hero:after{content:"";position:absolute;right:-70px;top:-70px;width:190px;height:190px;background:rgba(255,183,27,.2);border-radius:50%}.hr-hero h2{font-size:30px;margin:0 0 10px;color:#132048}.hr-hero p{font-size:16px;line-height:1.8;color:#667085;max-width:980px}.hr-hero-actions{display:flex;gap:10px;flex-wrap:wrap;position:relative;z-index:2}.apg-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0 22px}.apg-tab{padding:13px 18px;border-radius:999px;border:1px solid #dce5f7;background:#fff;font-weight:900;color:#132048;box-shadow:0 8px 20px rgba(19,32,72,.04)}.apg-tab.active{background:#425CC7;color:#fff;border-color:#425CC7}.hr-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.hr-kpi{border-radius:26px;padding:22px;min-height:145px;border:1px solid #dce5f7;box-shadow:0 12px 28px rgba(19,32,72,.07);display:flex;flex-direction:column;justify-content:space-between}.hr-kpi span{font-size:15px;font-weight:900}.hr-kpi strong{font-size:42px;line-height:1}.hr-kpi small{color:#667085;font-size:14px}.hr-kpi.blue{background:linear-gradient(135deg,#425CC7,#132048);color:#fff}.hr-kpi.blue small{color:rgba(255,255,255,.78)}.hr-kpi.gold{background:linear-gradient(135deg,#FFB71B,#ffdc76);color:#132048}.hr-kpi.white{background:#fff;color:#132048}.hr-kpi.purple{background:linear-gradient(135deg,#9078b7,#425CC7);color:#fff}.hr-kpi.purple small{color:rgba(255,255,255,.78)}.hr-grid.two{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}.pipeline{display:grid;gap:15px}.pipeline>div{display:grid;grid-template-columns:130px 1fr 40px;gap:12px;align-items:center}.bar-track{height:13px;background:#edf2ff;border-radius:999px;overflow:hidden}.bar-fill{display:block;height:100%;background:linear-gradient(90deg,#425CC7,#FFB71B);border-radius:999px}.quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.quick-grid a,.tt-flow span{border:1px solid #dce5f7;background:#fbfdff;border-radius:18px;padding:16px;font-weight:900;color:#132048}.email-box{display:grid;gap:12px}.profile-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;background:#fbfdff;border:1px solid #dce5f7;border-radius:22px;padding:18px;margin-bottom:14px}.profile-head h2{margin:0}.mini-list{display:grid;gap:10px;margin-top:12px}.tt-hero{background:linear-gradient(135deg,#fff 0%,#fff8e8 100%)}.tt-flow{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.tt-add{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr 120px 130px auto;gap:10px;margin-bottom:16px;align-items:end}.tt-matrix{overflow:auto;border:1px solid #dce5f7;border-radius:22px}.tt-matrix table{min-width:1050px}.tt-matrix th{background:#132048;color:#fff;text-align:center}.tt-matrix td{text-align:center;vertical-align:top}.tt-cell{min-width:140px;height:92px;background:#fff}.tt-cell b{display:block;color:#132048;font-size:14px}.tt-cell small{display:block;color:#425CC7;font-weight:800;margin-top:5px}.tt-cell em{display:inline-flex;margin-top:6px;font-style:normal;background:#fff4d6;color:#8a6100;border-radius:999px;padding:3px 8px;font-size:12px}.muted{color:#667085}.btn.small{padding:7px 11px;font-size:12px}.public-card{border:1px solid #dce5f7}.public-form h2{color:#132048}.public-hero img{box-shadow:0 20px 50px rgba(0,0,0,.18)}
@media(max-width:1200px){.hr-kpis{grid-template-columns:repeat(2,1fr)}.hr-grid.two{grid-template-columns:1fr}.tt-add{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.hr-hero{flex-direction:column;align-items:flex-start}.hr-kpis,.quick-grid,.tt-flow,.tt-add{grid-template-columns:1fr}.pipeline>div{grid-template-columns:1fr}.apg-tab{width:100%;text-align:center}.hr-hero h2{font-size:24px}}

/* Student Affairs profile edit additions */
.student-profile-nav{display:flex;justify-content:space-between;gap:12px;margin:14px 0 18px;align-items:center;flex-wrap:wrap}.student-profile-nav .disabled{opacity:.45;pointer-events:none}.student-top{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.student-avatar-wrap{flex:0 0 auto}.student-avatar{width:96px;height:96px;border-radius:22px;object-fit:cover;border:4px solid #FFB71B;background:#fff}.student-avatar.placeholder{display:flex;align-items:center;justify-content:center;background:#425CC7;color:white;font-weight:900}.arabic-name{font-size:18px;color:#132048;font-weight:700;margin:.25rem 0}.inline-grid{margin:0!important}.doc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-top:12px}.doc-card{border:1px solid rgba(66,92,199,.18);background:#fff;border-radius:18px;padding:14px;box-shadow:0 6px 18px rgba(19,32,72,.06);display:flex;flex-direction:column;gap:6px}.doc-card a{text-decoration:none;color:#132048}.doc-card strong{color:#425CC7;display:block}.doc-card span{color:#6b7280;font-size:13px}.doc-upload-row{display:grid;grid-template-columns:170px 1fr 1fr;gap:10px;margin-bottom:10px}.link-danger{background:none;border:0;color:#d93025;cursor:pointer;padding:0;text-align:left;font-weight:700}@media(max-width:760px){.doc-upload-row{grid-template-columns:1fr}.student-profile-nav{justify-content:center}.student-top{align-items:flex-start}.student-avatar{width:78px;height:78px}}



/* ===== APG unified color/readability refresh - May 2026 ===== */
:root{
  --apg-blue:#425CC7;
  --apg-gold:#FFB71B;
  --apg-navy:#132048;
  --apg-kg:#9078b7;
  --apg-light:#f3f6ff;
  --apg-border:#d8e2f5;
  --apg-text:#132048;
  --apg-muted:#60708d;
}
body{color:var(--apg-text);background:linear-gradient(180deg,#f7f9ff 0%,#eef3ff 100%);}
.sidebar{background:linear-gradient(180deg,var(--apg-navy) 0%,#1c2f68 100%)}
.btn-primary,.adm-tab.active,.lang-btn.active{background:var(--apg-blue)!important;border-color:var(--apg-blue)!important;color:#fff!important}
.btn-gold{background:var(--apg-gold)!important;border-color:var(--apg-gold)!important;color:#132048!important;font-weight:800}
.btn,.adm-tab,.small{font-weight:700}.btn.small{padding:8px 12px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.stat-card.blue,.stat-card.navy,.um-kpi-card.primary,.hero-card,.adm-hero,.sa-hero{background:linear-gradient(135deg,var(--apg-blue) 0%,var(--apg-navy) 100%)!important;color:#fff!important}
.stat-card.gold,.um-kpi-card.gold{background:linear-gradient(135deg,var(--apg-gold),#ffd56b)!important;color:#132048!important}
.stat-card.gold h3,.stat-card.gold strong,.stat-card.gold span,.um-kpi-card.gold *{color:#132048!important}
.stat-card.blue h3,.stat-card.blue strong,.stat-card.blue span,.stat-card.navy h3,.stat-card.navy strong,.stat-card.navy span,.adm-hero h2,.adm-hero p,.adm-hero .adm-kicker,.sa-hero h2,.sa-hero p,.sa-hero .adm-kicker{color:#fff!important;opacity:1!important}
.stat-card.white h3,.stat-card.white strong{color:var(--apg-navy)!important}.stat-card.white span{color:var(--apg-muted)!important}
.card,.panel,.um-section-card{border-radius:24px;border-color:var(--apg-border);box-shadow:0 16px 36px rgba(19,32,72,.07)}
.module-tile,.mini-card,.shortcut-card,.class-block{transition:.18s ease}.module-tile:hover,.mini-card:hover,.shortcut-card:hover,.class-block:hover{transform:translateY(-2px);box-shadow:0 18px 34px rgba(19,32,72,.10)}
.shortcut-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.shortcut-card{border-radius:20px;padding:18px;min-height:110px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid var(--apg-border)}
.shortcut-card.blue{background:var(--apg-blue);color:#fff}.shortcut-card.gold{background:var(--apg-gold);color:#132048}.shortcut-card.navy{background:var(--apg-navy);color:#fff}.shortcut-card.kg{background:var(--apg-kg);color:#fff}.shortcut-card.white{background:#fff;color:#132048}
.shortcut-card strong{font-size:18px}.shortcut-card span{font-size:13px;opacity:.9}.shortcut-controls{display:grid;grid-template-columns:1fr 1fr 160px auto;gap:10px;margin-top:14px;align-items:end}
.adm-actions .btn,.print-actions .btn{display:inline-flex!important;margin:4px 4px 4px 0;min-width:180px;justify-content:center;font-weight:800}.print-section-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.print-section-panel label{padding:10px 12px;border:1px solid var(--apg-border);border-radius:12px;background:#fff}
.hidden-print-section{display:none!important}.empty-field{display:none!important}.print-field strong:empty{display:none}.print-field:has(strong:empty){display:none}
.pagination-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px}.pagination-pages{display:flex;gap:6px;flex-wrap:wrap}.pagination-pages a,.pagination-pages span{padding:8px 12px;border:1px solid var(--apg-border);border-radius:10px;background:#fff}.pagination-pages .active{background:var(--apg-blue);color:#fff;border-color:var(--apg-blue)}
.attendance-bulk-bar{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0;padding:12px;border-radius:16px;background:#f8fbff;border:1px solid var(--apg-border)}
.report-kpi-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:16px}.report-kpi{border-radius:18px;padding:16px;border:1px solid var(--apg-border);background:#fff}.report-kpi strong{display:block;font-size:28px;color:var(--apg-blue)}.report-kpi span{color:var(--apg-muted);font-size:13px}
.class-block-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.class-block{background:#fff;border:1px solid var(--apg-border);border-radius:20px;padding:16px}.class-name{font-size:26px;font-weight:900;color:var(--apg-blue)}
.hr-page .stat-card span,.tt-page .stat-card span{color:inherit!important;opacity:.95!important}.hr-page .stat-card.blue,.hr-page .stat-card.navy,.hr-page .stat-card.kg,.tt-page .stat-card.blue,.tt-page .stat-card.navy{color:#fff!important}
.um-section-index{background:linear-gradient(135deg,var(--apg-blue),var(--apg-gold))!important;color:#fff!important}.um-kpi-card.primary .um-kpi-label,.um-kpi-card.primary .um-kpi-value,.um-kpi-card.primary .um-kpi-meta{color:#fff!important}
@media(max-width:1100px){.shortcut-grid,.class-block-grid,.report-kpi-grid{grid-template-columns:1fr 1fr}.shortcut-controls{grid-template-columns:1fr}}
@media(max-width:700px){.shortcut-grid,.class-block-grid,.report-kpi-grid,.print-section-panel{grid-template-columns:1fr}}
@media print{.no-print,.sidebar,.topbar,.adm-tabs,.workflow-card{display:none!important}.main-panel{padding:0!important}.card,.adm-printable{box-shadow:none!important;border:0!important}.print-grid{grid-template-columns:1fr 1fr!important}.section-title{break-after:avoid}.adm-page{background:#fff!important}}

/* ===== APG UI consistency patch - 2026-05-10 ===== */
:root{
  --apg-blue:#425CC7!important;
  --apg-gold:#FFB71B!important;
  --apg-navy:#132048!important;
  --apg-kg:#9078b7!important;
  --apg-text:#132048!important;
  --apg-border:#d8e2f4!important;
  --apg-light:#f3f6ff!important;
}
body{color:#132048!important;background:#f3f6ff!important;}
.sidebar{background:linear-gradient(180deg,#132048 0%,#243a83 100%)!important;}
.stat-card.blue,.stat-card.navy,.um-kpi-card.primary,.hr-stat.blue,.hr-stat.navy{background:linear-gradient(135deg,#425CC7 0%,#132048 100%)!important;color:#fff!important;}
.stat-card.gold,.um-kpi-card.gold,.hr-stat.gold{background:linear-gradient(135deg,#FFB71B 0%,#f4c65e 100%)!important;color:#fff!important;}
.stat-card.gold *,.um-kpi-card.gold *,.hr-stat.gold *{color:#fff!important;}
.shortcut-card.blue,.shortcut-card.navy,.shortcut-card.kg,.shortcut-row-card.blue,.shortcut-row-card.navy,.shortcut-row-card.kg{color:#fff!important;}
.shortcut-card.gold,.shortcut-row-card.gold{color:#fff!important;background:#FFB71B!important;}
.shortcut-card.gold *,.shortcut-row-card.gold *{color:#fff!important;}
.shortcut-card.blue,.shortcut-row-card.blue{background:#425CC7!important;}
.shortcut-card.navy,.shortcut-row-card.navy{background:#132048!important;}
.shortcut-card.kg,.shortcut-row-card.kg{background:#9078b7!important;}
.shortcut-card.white,.shortcut-row-card.white{background:#fff!important;color:#132048!important;}
.btn-primary,.lang-btn.active,.nav-link.active{background:#425CC7!important;border-color:#425CC7!important;color:#fff!important;}
.btn-danger{background:#bf2018!important;border-color:#bf2018!important;color:#fff!important;}
.badge.soft{background:#eef3ff!important;color:#425CC7!important;}
/* Make all wide module banners consistent and readable */
.hr-hero,.adm-hero,.sa-hero,.tt-hero{
  background:linear-gradient(135deg,#425CC7 0%,#132048 100%)!important;
  color:#fff!important;
  border-radius:28px!important;
}
.hr-hero h1,.hr-hero h2,.hr-hero h3,.hr-hero p,
.adm-hero h1,.adm-hero h2,.adm-hero h3,.adm-hero p,
.sa-hero h1,.sa-hero h2,.sa-hero h3,.sa-hero p,
.tt-hero h1,.tt-hero h2,.tt-hero h3,.tt-hero p{color:#fff!important;opacity:1!important;}
.hr-hero .hr-muted,.adm-hero .text-muted,.sa-hero .text-muted,.tt-hero .text-muted{color:rgba(255,255,255,.88)!important;}
.apg-kicker,.section-chip{background:rgba(255,183,27,.18)!important;border:1px solid rgba(255,183,27,.5)!important;color:#fff!important;}
.hr-hero .apg-kicker,.adm-hero .apg-kicker,.sa-hero .apg-kicker,.tt-hero .apg-kicker{background:#FFB71B!important;color:#132048!important;}
/* Dashboard shortcuts: vertical functional list */
.shortcuts-panel{min-width:0;overflow:hidden;}
.shortcut-list-vertical{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;margin-top:14px;}
.shortcut-row-card{border-radius:18px;padding:14px 16px;display:grid;gap:10px;border:1px solid var(--apg-border);box-shadow:0 10px 24px rgba(19,32,72,.08);}
.shortcut-row-main{display:flex;align-items:center;gap:14px;min-height:54px;}
.shortcut-row-main strong{display:block;font-size:18px;line-height:1.2;}
.shortcut-row-main small{display:block;font-size:13px;opacity:.88;margin-top:4px;}
.shortcut-icon{width:42px;height:42px;border-radius:14px;background:rgba(255,255,255,.18);display:grid;place-items:center;font-size:22px;flex:0 0 42px;}
.shortcut-edit{background:rgba(255,255,255,.14);border-radius:14px;padding:10px;}
.shortcut-edit summary{cursor:pointer;font-weight:800;}
.shortcut-inline-form{display:grid;grid-template-columns:1fr 1fr 130px auto;gap:8px;margin-top:10px;}
.shortcut-edit form + form{margin-top:8px;}
.shortcut-add-form{display:grid!important;grid-template-columns:1fr 1fr 150px auto!important;gap:10px!important;margin-top:16px!important;}
/* Student affairs export / yellow buttons */
.sa-hero .btn,.adm-hero .btn,.hr-hero .btn,.tt-hero .btn,.hr-hero .hr-btn{font-weight:800!important;}
.sa-hero .btn-primary,.sa-hero .gold,.sa-hero a[href*='export'],.hr-btn.primary{background:#FFB71B!important;border-color:#FFB71B!important;color:#132048!important;}
/* Users page color unification */
.um-kpi-card,.um-mini-box,.metric-card,.card,.panel{border-color:#d8e2f4!important;}
.um-page-title,.um-section-head h2,.page-title,h1,h2,h3{color:#132048;}
.um-section-index{background:#fff8e2!important;color:#425CC7!important;border:1px solid #ffe4a3!important;}
/* Prevent dark text on blue banners caused by local styles */
.hr-hero *:not(.hr-btn):not(.btn):not(input):not(select):not(textarea){color:#fff!important;}
.hr-hero .hr-btn.primary{color:#132048!important;}
.hr-hero .hr-btn:not(.primary),.hr-hero .btn-outline{color:#132048!important;background:#fff!important;}
@media(max-width:1100px){.shortcut-inline-form,.shortcut-add-form{grid-template-columns:1fr!important}.panel.two-col{grid-template-columns:1fr!important}}

/* ===== APG LMS Module ===== */
.lms-page{display:grid;gap:18px}.lms-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;background:linear-gradient(135deg,#ffffff 0%,#f4f7ff 55%,#fff7df 100%);position:relative;overflow:hidden}.lms-hero:after{content:"";position:absolute;right:-70px;bottom:-90px;width:230px;height:230px;border-radius:50%;background:rgba(255,183,27,.22)}.lms-hero>*{position:relative;z-index:1}.lms-hero h2{margin:0 0 8px;color:var(--apg-navy);font-size:32px}.lms-two{align-items:start}.lms-class-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.lms-class-card{display:block;overflow:hidden;border:1px solid var(--apg-border);border-radius:24px;background:#fff;box-shadow:0 14px 30px rgba(19,32,72,.07);text-decoration:none;color:inherit;transition:.18s}.lms-class-card:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(19,32,72,.11)}.lms-class-cover{min-height:128px;background:linear-gradient(135deg,var(--apg-blue),#2e429d);color:#fff;padding:20px;display:flex;flex-direction:column;justify-content:space-between}.lms-class-cover strong{font-size:22px}.lms-class-cover span{opacity:.94;font-weight:700}.lms-class-body{padding:18px}.lms-class-body p{margin:0 0 8px;color:var(--apg-muted)}.lms-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:18px;align-items:start}.lms-side{position:sticky;top:16px}.lms-side h2{margin:0 0 10px;color:var(--apg-navy)}.lms-feed{display:grid;gap:16px}.lms-post{display:grid;gap:12px}.lms-post-head{display:flex;gap:14px;align-items:flex-start}.lms-post-head h2{margin:0 0 5px;color:var(--apg-navy)}.lms-type{display:inline-flex;align-items:center;justify-content:center;padding:8px 10px;border-radius:999px;background:#eef4ff;color:var(--apg-blue);font-size:12px;font-weight:900;text-transform:uppercase}.lms-type.assignment{background:#fff7df;color:#84610d}.lms-type.quiz{background:#f5efff;color:#7452a2}.lms-type.material{background:#edfdf3;color:#196236}.lms-chip{display:inline-flex;width:max-content;padding:9px 12px;border-radius:12px;background:#f8fafc;border:1px solid var(--apg-border);font-weight:800;color:var(--apg-navy)}.lms-comments{display:grid;gap:8px;border-top:1px solid var(--apg-border);padding-top:12px}.lms-comments div{background:#f8fafc;border-radius:14px;padding:10px}.lms-comment-form{display:flex;gap:10px;align-items:center}.lms-comment-form input{flex:1}.lms-work-item{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;padding:16px;border:1px solid var(--apg-border);border-radius:20px;margin-bottom:14px;background:#fbfdff}.lms-work-item h3{margin:10px 0 6px;color:var(--apg-navy)}.lms-submit{display:grid;gap:8px}.grade-form{display:grid;gap:6px;min-width:180px}.form-grid textarea{border-radius:16px;border:1px solid #d7e0ea;background:#fff;padding:12px 14px;font-size:15px;font-family:inherit}.status-chip{display:inline-flex;padding:7px 10px;border-radius:999px;background:#eef4ff;color:var(--apg-blue);font-weight:800;font-size:12px}@media(max-width:1200px){.lms-class-grid{grid-template-columns:1fr 1fr}.lms-layout,.lms-work-item{grid-template-columns:1fr}.lms-side{position:static}}@media(max-width:700px){.lms-hero{flex-direction:column;align-items:flex-start}.lms-class-grid{grid-template-columns:1fr}.lms-comment-form{flex-direction:column;align-items:stretch}}

/* APG V9 refinements */
.apg-assistant-widget{position:fixed;right:24px;bottom:24px;z-index:9999;width:min(390px,calc(100vw - 32px));font-family:inherit}
.apg-assistant-widget details{background:#fff;border:1px solid #dbe4ff;border-radius:22px;box-shadow:0 18px 55px rgba(19,32,72,.22);overflow:hidden}
.apg-assistant-widget summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:10px;padding:14px 16px;background:linear-gradient(135deg,#132048,#425CC7);color:#fff}
.apg-assistant-widget summary::-webkit-details-marker{display:none}.apg-assistant-widget summary small{margin-inline-start:auto;opacity:.8;font-size:11px}
.assistant-form{padding:14px;display:grid;grid-template-columns:1fr auto;gap:8px}.assistant-form input{border:1px solid #dce3f4;border-radius:14px;padding:11px 12px;min-width:0}.assistant-answer{padding:0 14px 14px;color:#132048}.assistant-answer p{background:#f7f9ff;border-radius:14px;padding:12px;line-height:1.55}.assistant-kb-list{display:grid;gap:6px;font-size:12px}.assistant-hint{padding:0 14px 14px;margin:0;color:#667085;line-height:1.5}.shortcut-list-vertical{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.shortcut-row-card{border-radius:20px;border:1px solid #dce3f4;background:#fff;box-shadow:0 10px 25px rgba(19,32,72,.06);overflow:hidden}.shortcut-row-card .shortcut-row-main{padding:14px;display:flex;gap:12px;text-decoration:none;color:#132048}.shortcut-row-main small{display:block;color:#667085;margin-top:3px}.shortcut-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:14px;background:#f2f5ff}.shortcut-edit{padding:0 14px 14px}.shortcut-inline-form{display:grid;gap:8px}.shortcut-inline-form input,.shortcut-inline-form select,.shortcut-add-form input,.shortcut-add-form select{border:1px solid #dce3f4;border-radius:12px;padding:10px}.shortcut-add-form{margin-top:14px;display:grid;grid-template-columns:1.2fr 1.2fr .8fr auto;gap:10px}@media(max-width:800px){.shortcut-add-form{grid-template-columns:1fr}.apg-assistant-widget{right:12px;bottom:12px}}
