/* =========================================================
   MR2026 - Main Stylesheet
   تم فصله من index.php ضمن عملية إعادة الهيكلة (V2.8.6)
   دمج 3 كتل <style> متفرقة كانت مضمّنة سابقًا في نفس الصفحة
   ========================================================= */

    :root{
      --brand-1:#0f4c81;
      --brand-2:#1a73b8;
      --brand-3:#12b3a8;
      --brand-grad: linear-gradient(120deg,#0f4c81 0%,#1a73b8 55%,#12b3a8 100%);
      --ink:#1c2733;
      --muted:#6b7c93;
      --bg:#eef2f6;
      --surface:#ffffff;
      --line:#e3e9f0;
      --radius-lg:18px;
      --radius-md:14px;
      --radius-sm:10px;
      --shadow-sm:0 2px 8px rgba(15,40,70,.06);
      --shadow-md:0 10px 30px rgba(15,40,70,.08);
      --success:#1aa179;
      --warning:#e2a53a;
      --danger:#d64550;
      --info:#2a9fd6;
    }
    *{ box-sizing:border-box; }
    body { font-family: 'Cairo','Tajawal', 'Segoe UI', Tahoma, sans-serif; background: var(--bg); color: var(--ink); font-size: 14px; }
    ::-webkit-scrollbar{ width:8px; height:8px; }
    ::-webkit-scrollbar-thumb{ background:#c3d0dd; border-radius:10px; }

    /* ---------- Header ---------- */
    .header-bar { background: var(--brand-grad); color:#fff; padding: 14px 22px; box-shadow: var(--shadow-md); display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; position:sticky; top:0; z-index:1030; border-bottom:3px solid rgba(255,255,255,.15); }
    .header-bar h5 { font-size: 1.05rem; margin-bottom:0; font-weight:800; letter-spacing:.2px; display:flex; align-items:center; }
    .header-bar h5 i{ background:rgba(255,255,255,.18); padding:8px; border-radius:10px; margin-left:10px; font-size:.95rem; }
    .header-bar .btn { font-size:.75rem; padding:.4rem .75rem; border-radius:8px; font-weight:700; }
    .header-bar .btn-success{ background:#12b3a8; border-color:#12b3a8; }
    .header-bar .btn-outline-light{ border-color:rgba(255,255,255,.5); }
    .header-bar .btn-outline-light:hover{ background:rgba(255,255,255,.15); }
  .notification-btn{position:relative;min-width:38px!important;width:38px;height:36px;padding:0!important;border-radius:999px!important;display:inline-flex;align-items:center;justify-content:center;}
  .notification-btn .notification-count{position:absolute;top:-4px;right:-3px;min-width:18px;height:18px;line-height:18px;padding:0 4px;border-radius:999px;font-size:.62rem;border:2px solid rgba(0,0,0,.05);}
  .notification-item{border:1px solid var(--line);border-right:4px solid #6c757d;border-radius:10px;padding:10px 12px;background:#fff;transition:.15s ease;}
  .notification-item:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm);}
  .notification-item.unread{background:#f8fbff;}
  .notification-item.level-danger{border-right-color:#dc3545;} .notification-item.level-warning{border-right-color:#ffc107;} .notification-item.level-info{border-right-color:#0dcaf0;} .notification-item.level-success{border-right-color:#198754;}
  .notification-dot{width:8px;height:8px;border-radius:50%;display:inline-block;background:#0d6efd;margin-left:6px;}
  .notification-modal-list{max-height:62vh;overflow:auto;}

    #userInfo{ font-weight:700; border-radius:20px; padding:.4rem .8rem !important; background:rgba(255,255,255,.92) !important; }

    /* ---------- Login ---------- */
    .login-container { max-width: 430px; margin: 8vh auto; padding: 0 15px; }
    body:has(#loginSection:not(.hidden)){ background: var(--brand-grad); min-height:100vh; }
    .login-container .card{ border-radius: 22px; overflow:hidden; }
    .login-container .card-body{ padding:2.4rem 2rem !important; }
    .login-icon-wrap{ width:72px; height:72px; border-radius:50%; background:linear-gradient(135deg,#eaf3fb,#dff5f2); display:flex; align-items:center; justify-content:center; margin:0 auto 14px; }
    .login-icon-wrap i{ font-size:1.8rem; background:var(--brand-grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }

    .hidden { display: none !important; }

    /* ---------- Tabs ---------- */
    #mainTabs.nav-tabs{ border:none; gap:6px; background:transparent !important; padding:4px; }
    .nav-tabs .nav-link { font-size:.85rem; padding:10px 8px; border:none; border-radius: var(--radius-sm); color: var(--muted); font-weight:700; background:#fff; transition:.15s; }
    .nav-tabs .nav-link i { margin-left:6px; }
    .nav-tabs .nav-link.active{ background: var(--brand-grad); color:#fff; box-shadow: var(--shadow-sm); }
    .nav-tabs .nav-link:hover:not(.active){ background:#f1f6fb; color:var(--brand-1); }

    .bg-white.rounded-bottom{ border-radius: var(--radius-lg) !important; box-shadow: var(--shadow-md) !important; border:1px solid var(--line); }

    /* ---------- Dashboard Sidebar ---------- */
    .dash-sidebar{ background:#fff; border:1px solid var(--line); border-radius: var(--radius-md); padding:16px; box-shadow: var(--shadow-sm); position:sticky; top:78px; }
    .dash-placeholder{ background:#f7fafc; border:2px dashed var(--line); border-radius: var(--radius-md); color: var(--muted); }
    .dash-placeholder i{ color:var(--brand-2); opacity:.6; }
    @media (max-width: 991px){ .dash-sidebar{ position:static; } }

    /* ---------- Filter bar ---------- */
    .filter-bar{ background:#fff; border:1px solid var(--line); border-radius: var(--radius-md); padding:14px !important; box-shadow:var(--shadow-sm); }
    .filter-bar .form-label{ color:var(--brand-1); font-weight:700; }
    .form-select, .form-control{ border-radius: 10px; border:1px solid var(--line); }
    .form-select:focus, .form-control:focus{ border-color:var(--brand-2); box-shadow:0 0 0 .2rem rgba(26,115,184,.15); }

    /* ---------- Stat Cards ---------- */
    .card-stat { border: none; border-radius: var(--radius-md); box-shadow: var(--shadow-sm); padding: 16px 14px; margin-bottom: 10px; position:relative; overflow:hidden; background:#fff !important; color:var(--ink) !important; border-right:5px solid var(--brand-2); transition:.15s; }
    .card-stat:hover{ transform: translateY(-3px); box-shadow: var(--shadow-md); }
    .card-stat span.small{ color:var(--muted); font-weight:700; }
    .card-stat h2 { font-size: 1.7rem; font-weight:800; }
    .card-stat.stat-total{ border-color: var(--brand-2); }
    .card-stat.stat-total h2{ color:var(--brand-2); }
    .card-stat.stat-full{ border-color: var(--success); }
    .card-stat.stat-full h2{ color:var(--success); }
    .card-stat.stat-partial{ border-color: var(--warning); }
    .card-stat.stat-partial h2{ color:var(--warning); }
    .card-stat.stat-none{ border-color: var(--danger); }
    .card-stat.stat-none h2{ color:var(--danger); }
    .card-stat.stat-rate{ border-color: var(--info); }
    .card-stat.stat-rate h2{ color:var(--info); }

    /* ---------- Category / Evaluation ---------- */
    .category-header { background: linear-gradient(90deg,#f1f6fb,#ffffff); color:var(--brand-1); font-weight:800; padding: 10px 16px; border-radius: var(--radius-sm); border-right: 5px solid var(--brand-3); margin-top: 16px; margin-bottom:8px; font-size:.92rem; box-shadow: var(--shadow-sm); }
    .eval-item-card { padding: 10px 14px; margin-bottom: 8px; border: 1px solid var(--line); border-radius: var(--radius-sm); background:#fff; box-shadow: var(--shadow-sm); transition:.15s; }
    .eval-item-card:hover{ border-color:var(--brand-2); }
    .eval-item-card .item-label { font-size:.86rem; font-weight:600; display:block; margin-bottom:6px; color:var(--ink); }
    .eval-item-card .item-select { width:100%; }
    .eval-item-card .item-select select { width:100%; padding:5px 8px; font-size:.8rem; border-radius:8px; }
    .eval-item-card .item-notes { width:100%; margin-top:6px; }
    .eval-item-card .item-notes textarea { width:100%; font-size:.8rem; padding:6px 8px; border-radius:8px; border:1px solid var(--line); resize:vertical; min-height:40px; }

    /* ---------- Buttons ---------- */
    .btn{ border-radius:10px; font-weight:700; }
    .btn-primary{ background:var(--brand-grad); border:none; }
    .btn-outline-primary{ color:var(--brand-1); border-color:var(--brand-1); }
    .btn-outline-primary:hover{ background:var(--brand-grad); border-color:transparent; }
    .btn-success{ background:var(--success); border-color:var(--success); }
    .btn-warning{ background:var(--warning); border-color:var(--warning); color:#fff; }
    .btn-info{ background:var(--info); border-color:var(--info); color:#fff; }

    .kpi-mini-card{border:1px solid var(--line);border-radius:12px;padding:10px;background:#fbfdff;height:100%;}
    .kpi-mini-card.readiness-mini{border-top:4px solid var(--info);}
    .kpi-mini-card.completion-mini{border-top:4px solid var(--brand-3);}
    .kpi-mini-value{font-size:1.55rem;font-weight:800;line-height:1.2;margin:4px 0;color:var(--brand-1);}
    .kpi-progress{height:9px;border-radius:20px;background:#e9eff5;}
    .status-stack{display:flex;height:18px;border-radius:20px;overflow:hidden;background:#eef2f6;border:1px solid var(--line);}
    .status-segment{height:100%;min-width:0;transition:width .25s ease;}
    .seg-done,.seg-dot-done{background:#1aa179;}
    .seg-missing,.seg-dot-missing{background:#d64550;}
    .seg-deferred,.seg-dot-deferred{background:#e2a53a;}
    .seg-na,.seg-dot-na{background:#8896a6;}
    .seg-dot-done,.seg-dot-missing,.seg-dot-deferred,.seg-dot-na{display:inline-block;width:9px;height:9px;border-radius:50%;margin-left:4px;vertical-align:middle;}

    @media (max-width: 576px) {
      .header-bar h5 { font-size: 0.85rem; }
      .header-bar .btn { font-size: 0.65rem; padding: 0.2rem 0.4rem; }
      .card-stat h2 { font-size: 1.3rem; }
      .card-stat .small { font-size: 0.7rem; }
      .nav-tabs .nav-link { font-size: 0.7rem; padding: 8px 4px; }
      .nav-tabs .nav-link i { display: block; margin:0 0 2px; }
      .form-label { font-size: 0.85rem; }
      .form-select, .form-control { font-size: 0.85rem; }
      .btn { font-size: 0.85rem; padding: 6px 12px; }
      .modal-dialog { margin: 10px; }
      .container-fluid { padding-left: 8px; padding-right: 8px; }
    }
    .table-responsive { font-size: 0.8rem; border-radius: var(--radius-sm); overflow:hidden; box-shadow: var(--shadow-sm); }
    .table-responsive th, .table-responsive td { padding: 8px 10px; white-space: nowrap; vertical-align:middle; }
    .table thead.table-dark th{ background:var(--brand-1) !important; border-color:var(--brand-1); font-weight:700; }
    .table-striped>tbody>tr:nth-of-type(odd)>*{ background-color:#f7fafc; }
    .table-hover tbody tr:hover{ background:#eef6fb; }
    .admin-card { margin-bottom: 15px; border-radius: var(--radius-md) !important; }
    .comparison-card { background:#fff; border:1px solid var(--line); border-radius: var(--radius-md); padding: 16px; margin-top: 15px; box-shadow: var(--shadow-sm); }
    .improvement-up { color: var(--success); font-weight:700; }
    .improvement-down { color: var(--danger); font-weight:700; }
    .improvement-same { color: var(--muted); font-weight:700; }
    .badge-pending { background-color: var(--warning); color: #fff; }
    .item-detail-modal .modal-body { max-height: 70vh; overflow-y: auto; }
    .modal-content{ border-radius: var(--radius-md); border:none; overflow:hidden; }
    .modal-header.bg-primary{ background: var(--brand-grad) !important; border:none; }
    .badge{ border-radius:8px; font-weight:700; }
    .status-dot{ display:inline-block; width:9px; height:9px; border-radius:50%; margin-left:4px; vertical-align:middle; }
  
  .seg-unassessed { background: #8896a6 !important; }
  .seg-dot-unassessed { background: #8896a6 !important; }

  .corrective-panel{border:1px solid #e9ecef!important;} .corrective-panel .table td,.corrective-panel .table th{white-space:nowrap;}

  /* V2.6 Executive Decision Center */
  .decision-center{border:1px solid #e3eaf2;border-radius:14px;background:linear-gradient(180deg,#fbfdff 0%,#fff 100%);box-shadow:0 6px 18px rgba(24,52,84,.06);padding:12px;}
  .decision-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;}
  .decision-title{font-weight:800;color:#17324d;font-size:.95rem;}
  .decision-sub{font-size:.72rem;color:#6c7b8a;}
  .insight-card{border:1px solid #e7edf4;border-radius:11px;background:#fff;padding:10px;height:100%;}
  .insight-card .num{font-size:1.25rem;font-weight:800;line-height:1.1;}
  .insight-list{max-height:220px;overflow:auto;}
  .insight-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 4px;border-bottom:1px solid #edf1f5;font-size:.75rem;}
  .insight-row:last-child{border-bottom:0;}
  .risk-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex:0 0 auto;}
  .decision-empty{padding:16px;text-align:center;color:#748291;font-size:.78rem;}


  /* ===== V2.1 Modern UI / UX layer ===== */
  :root{
    --ui-bg:#f5f8fb;
    --ui-surface:#ffffff;
    --ui-surface-2:#fbfdff;
    --ui-border:#e7edf4;
    --ui-shadow:0 8px 24px rgba(15,40,70,.06);
    --ui-shadow-hover:0 14px 34px rgba(15,40,70,.10);
    --ui-radius:18px;
  }
  body{background:var(--ui-bg);}
  .header-bar{
    padding:12px 20px;
    box-shadow:0 6px 22px rgba(6,31,58,.14);
    backdrop-filter:blur(10px);
  }
  .header-bar h5{font-size:1rem;gap:2px;}
  .header-bar .btn{border-radius:999px;min-height:36px;}
  #userInfo{box-shadow:inset 0 0 0 1px rgba(15,76,129,.06);}

  #mainTabs.nav-tabs{
    position:sticky;top:76px;z-index:1020;
    margin:10px 0 0;
    background:rgba(245,248,251,.88) !important;
    backdrop-filter:blur(12px);
    border:1px solid rgba(231,237,244,.9);
    border-radius:16px 16px 0 0;
    padding:6px;
    box-shadow:0 4px 16px rgba(15,40,70,.04);
  }
  .nav-tabs .nav-link{
    min-height:42px;
    display:flex;align-items:center;justify-content:center;gap:6px;
    color:#61758a;
    border:1px solid transparent;
  }
  .nav-tabs .nav-link.active{
    box-shadow:0 8px 18px rgba(15,76,129,.18);
  }

  .bg-white.rounded-bottom{
    background:transparent !important;
    border:none !important;
    box-shadow:none !important;
  }

  .dash-sidebar{
    border-radius:20px;
    background:rgba(255,255,255,.94);
    box-shadow:var(--ui-shadow);
    border-color:var(--ui-border);
  }
  .dash-sidebar h6{font-size:.98rem;display:flex;align-items:center;gap:8px;}
  .dash-sidebar .form-label{font-size:.78rem;margin-bottom:6px;}
  .dash-sidebar .form-select{min-height:42px;font-size:.84rem;background-color:#fbfdff;}
  .dash-sidebar .btn{min-height:42px;}

  .filter-bar{
    border-radius:18px;
    box-shadow:var(--ui-shadow);
    background:rgba(255,255,255,.92);
  }
  .filter-bar .form-select,.filter-bar .form-control{min-height:40px;}

  .card-stat{
    border-radius:18px;
    min-height:128px;
    padding:18px 16px;
    box-shadow:var(--ui-shadow);
    border-right-width:4px;
    background:linear-gradient(180deg,#fff 0%,#fbfdff 100%) !important;
  }
  .card-stat:hover{transform:translateY(-2px);box-shadow:var(--ui-shadow-hover);}
  .card-stat h2{font-size:1.85rem;letter-spacing:-.3px;margin:6px 0;}
  .card-stat .small{line-height:1.65;}

  .comparison-card{
    border-radius:18px;
    border-color:var(--ui-border);
    box-shadow:var(--ui-shadow);
    background:linear-gradient(180deg,#fff 0%,#fcfdff 100%);
  }
  .comparison-card h6,.comparison-card h5{letter-spacing:-.15px;}

  .kpi-mini-card{
    border-color:var(--ui-border);
    border-radius:16px;
    background:#fff;
    box-shadow:0 4px 12px rgba(15,40,70,.04);
    padding:14px;
  }
  .kpi-mini-value{font-size:1.72rem;}
  .kpi-progress{height:10px;box-shadow:inset 0 1px 2px rgba(15,40,70,.04);}
  .status-stack{height:20px;border:none;background:#eef3f7;box-shadow:inset 0 1px 2px rgba(15,40,70,.06);}

  .category-header{
    position:sticky;top:128px;z-index:10;
    border:1px solid var(--ui-border);
    border-right:5px solid var(--brand-3);
    background:linear-gradient(90deg,#f7fbff,#fff);
    box-shadow:0 4px 14px rgba(15,40,70,.05);
  }
  .eval-item-card{
    border-radius:14px;
    border-color:var(--ui-border);
    box-shadow:0 3px 10px rgba(15,40,70,.035);
    padding:13px 14px;
  }
  .eval-item-card:hover{box-shadow:0 6px 18px rgba(15,40,70,.07);}
  .eval-item-card .item-label{font-size:.88rem;line-height:1.75;}
  .eval-item-card .item-select select{min-height:38px;}
  .eval-item-card .item-notes textarea{min-height:44px;background:#fbfdff;}

  #evaluationTab .row.g-2.mb-3.filter-bar{
    position:sticky;top:76px;z-index:1015;
    box-shadow:0 6px 18px rgba(15,40,70,.08);
  }
  #evaluationTab .card.border-0.bg-light.p-3.mb-3{
    background:linear-gradient(180deg,#fff 0%,#fafdff 100%) !important;
    border:1px solid var(--ui-border) !important;
    border-radius:18px !important;
    box-shadow:var(--ui-shadow);
  }
  #evaluationTab .card.border-0.bg-light.p-3.mb-3 .btn{min-height:40px;}

  .table-responsive{
    border:1px solid var(--ui-border);
    box-shadow:var(--ui-shadow);
    border-radius:16px;
    background:#fff;
  }
  .table-responsive table{margin-bottom:0;}
  .table-responsive th{position:sticky;top:0;z-index:5;}
  .table-responsive td,.table-responsive th{padding:10px 12px;}
  .table-hover tbody tr{transition:background-color .12s ease, transform .12s ease;}

  .modal-content{border-radius:20px;box-shadow:0 22px 60px rgba(0,0,0,.18);}
  .modal-header{padding:14px 18px;}
  .modal-body{padding:18px;}

  .badge{padding:.42rem .62rem;}
  .btn{transition:transform .12s ease, box-shadow .12s ease, opacity .12s ease;}
  .btn:hover{transform:translateY(-1px);}
  .btn:active{transform:none;}
  .btn:disabled{cursor:not-allowed;transform:none;opacity:.62;}

  .dash-placeholder{background:linear-gradient(180deg,#fbfdff,#f5f8fb);}

  /* smooth reveal / loading feedback */
  .fade-in{animation:uiFadeIn .2s ease both;}
  @keyframes uiFadeIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}

  /* compact action footer for evaluation */
  #evaluationTab .text-end .btn,
  #evaluationTab .d-flex.justify-content-end .btn{min-height:42px;}

  @media (max-width: 991px){
    #mainTabs.nav-tabs{position:static;}
    #evaluationTab .row.g-2.mb-3.filter-bar{position:static;}
    .category-header{position:static;}
    .dash-sidebar{margin-bottom:12px;}
  }
  @media (max-width: 576px){
    .header-bar{padding:10px 12px;}
    .header-bar h5{font-size:.82rem;}
    .header-bar .btn{min-height:32px;padding:.25rem .5rem;}
    #mainTabs.nav-tabs{gap:4px;padding:4px;}
    .nav-tabs .nav-link{min-height:38px;font-size:.72rem;}
    .card-stat{min-height:108px;padding:14px 12px;}
    .card-stat h2{font-size:1.45rem;}
    .comparison-card{padding:12px;}
  }

  /* ===== V2.1.1 Compact dashboard layout ===== */
  @media (min-width: 992px){
    .dash-sidebar{
      position:sticky;
      top:86px;
      max-height:calc(100vh - 104px);
      overflow-y:auto;
      padding:12px;
      border-radius:14px;
      scrollbar-width:thin;
    }
    .dash-sidebar h6{font-size:.86rem;margin-bottom:10px !important;}
    .dash-sidebar .mb-3{margin-bottom:9px !important;}
    .dash-sidebar .form-label{font-size:.71rem;margin-bottom:4px;}
    .dash-sidebar .form-select{min-height:36px;height:36px;font-size:.78rem;padding:.35rem .6rem;}
    .dash-sidebar .btn{min-height:36px;padding:.38rem .65rem;font-size:.78rem;}
    .dash-sidebar small{font-size:.68rem;line-height:1.55;}
  }

  /* More compact KPI/stat cards */
  .card-stat{
    min-height:96px;
    padding:11px 12px;
    border-radius:14px;
    margin-bottom:8px;
  }
  .card-stat h2{font-size:1.48rem;margin:4px 0 !important;}
  .card-stat .small{font-size:.72rem;line-height:1.45;}

  .comparison-card{padding:12px;}
  .comparison-card h6{font-size:.82rem;}
  .kpi-mini-card{padding:9px;border-radius:12px;}
  .kpi-mini-value{font-size:1.4rem;}
  .kpi-progress{height:8px;}
  .status-stack{height:16px;}

  #dashboardTab{padding:12px !important;}
  #dashboardTab .row.g-3{--bs-gutter-y:.65rem;--bs-gutter-x:.65rem;}
  #dashboardTab .row.g-2{--bs-gutter-y:.5rem;--bs-gutter-x:.5rem;}

  /* Keep the main content visible under the sticky tabs/header */
  #dashboardTab{scroll-margin-top:90px;}
  #mainTabs.nav-tabs{top:76px;}

  @media (max-width: 991px){
    .dash-sidebar{max-height:none;overflow:visible;}
    .card-stat{min-height:90px;}
  }

  @media (max-width: 576px){
    .card-stat{min-height:82px;padding:10px;}
    .card-stat h2{font-size:1.28rem;}
    .card-stat .small{font-size:.67rem;}
    .comparison-card{padding:10px;}
  }

  .report-tile{border:1px solid var(--line);background:#fff;border-radius:14px;padding:15px;display:flex;gap:12px;align-items:flex-start;transition:.18s ease;box-shadow:var(--shadow-sm);}
  .report-tile:hover{transform:translateY(-2px);border-color:#b8c9dc;box-shadow:0 8px 22px rgba(20,40,70,.10);}
  .report-tile i{font-size:1.45rem;width:28px;text-align:center;margin-top:2px;}
  .report-tile strong{display:block;color:#17324d;font-size:.92rem;}
  .report-tile small{display:block;color:#6c757d;margin-top:4px;font-size:.75rem;}



/* ===== V2.8.20 Mobile & Responsive Optimization ===== */
html{scroll-behavior:smooth;}
body{-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:hidden;}
img,svg,canvas{max-width:100%;}
.header-actions{min-width:0;}

/* Make touch targets comfortable without inflating desktop UI */
@media (pointer:coarse){
  .btn,.form-select,.form-control,.nav-tabs .nav-link{min-height:44px;}
  .notification-btn{width:44px!important;height:44px;}
}

@media (max-width: 991.98px){
  .container-fluid.mt-3{margin-top:.65rem!important;padding-left:.65rem!important;padding-right:.65rem!important;}
  .header-bar{position:sticky;top:0;padding:9px 10px;gap:8px;align-items:flex-start;}
  .header-bar h5{width:100%;justify-content:center;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .header-bar h5 img{height:30px!important;}
  .header-actions{width:100%;display:flex!important;flex-wrap:nowrap!important;gap:6px!important;overflow-x:auto;overflow-y:hidden;padding:2px 1px 5px;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
  .header-actions::-webkit-scrollbar{display:none;}
  .header-actions > *{flex:0 0 auto;}
  #userInfo{max-width:46vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-height:36px;display:inline-flex;align-items:center;}

  /* Mobile tab bar behaves like a native horizontal navigation strip */
  #mainTabs.nav-tabs{display:flex;flex-wrap:nowrap;justify-content:flex-start!important;overflow-x:auto;overflow-y:hidden;white-space:nowrap;gap:5px;padding:5px;margin-top:6px;border-radius:13px;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scrollbar-width:none;}
  #mainTabs.nav-tabs::-webkit-scrollbar{display:none;}
  #mainTabs .nav-item{flex:0 0 auto;min-width:auto;scroll-snap-align:start;}
  #mainTabs .nav-link{min-width:104px;padding:9px 11px;font-size:.77rem;display:inline-flex;flex-direction:row;}
  #mainTabs .nav-link i{display:inline-block;margin:0 0 0 5px!important;}

  #dashboardTab,#evaluationTab,#usersTab,#itemsAdminTab,#requestsTab,#auditTab{padding:10px!important;}
  .dash-sidebar{padding:11px;border-radius:13px;margin-bottom:10px;background:#fff;}
  .dash-sidebar .mb-3{margin-bottom:.65rem!important;}
  .dash-sidebar .form-select{min-height:42px;}
  .filter-bar{padding:10px!important;border-radius:13px;}
  .filter-bar > [class*="col-"]{margin-bottom:2px;}

  .card-stat{min-height:84px;padding:9px 10px;}
  .card-stat h2{font-size:1.3rem;}
  .kpi-mini-card{padding:9px;}
  .kpi-mini-value{font-size:1.28rem;}
  .decision-center{padding:9px;}
  .insight-list{max-height:180px;}

  /* Tables stay usable on phones rather than squeezing columns unreadably */
  .table-responsive{overflow-x:auto!important;overflow-y:visible;-webkit-overflow-scrolling:touch;border-radius:12px;}
  .table-responsive > table{min-width:720px;width:max-content;max-width:none;}
  .table-responsive th,.table-responsive td{font-size:.76rem;padding:8px 9px!important;}
  .table-responsive th:first-child,.table-responsive td:first-child{position:sticky;right:0;z-index:3;background:inherit;box-shadow:-5px 0 8px rgba(15,40,70,.04);}
  .table-responsive thead th:first-child{z-index:6;background:#f8f9fa;}

  .category-header{font-size:.84rem;padding:9px 11px;margin-top:10px;}
  .eval-item-card{padding:11px;margin-bottom:7px;}
  .eval-item-card .item-label{font-size:.84rem;line-height:1.65;}
  .eval-item-card .item-select select{min-height:44px;font-size:.84rem;}
  .eval-item-card .item-notes textarea{min-height:58px;font-size:.82rem;}

  /* Modal sheets use almost the full viewport on mobile/tablet */
  .modal-dialog{max-width:calc(100vw - 20px);margin:10px auto;}
  .modal-content{max-height:calc(100dvh - 20px);border-radius:16px;}
  .modal-body{overflow-y:auto;-webkit-overflow-scrolling:touch;padding:14px;}
  .modal-header,.modal-footer{padding:11px 14px;flex-shrink:0;}
  .modal-footer{gap:6px;}
  .modal-footer .btn{margin:0;}

  /* Prevent wide chart/canvas blocks from breaking the viewport */
  canvas{width:100%!important;height:auto!important;min-height:180px;}
}

@media (max-width: 575.98px){
  body{font-size:13px;}
  .login-container{margin:3vh auto;padding:0 10px;}
  .login-container .card-body{padding:1.6rem 1.1rem!important;}
  .login-container img{max-width:145px!important;}
  .login-container .form-control{min-height:52px;font-size:16px;} /* prevents iOS zoom */

  .header-bar h5{justify-content:flex-start;font-size:.8rem;}
  .header-actions .btn{font-size:.7rem;padding:.36rem .56rem;min-height:38px;}
  .header-actions .btn i{margin-left:3px!important;margin-right:0!important;}
  #userInfo{max-width:42vw;font-size:.68rem!important;}

  #mainTabs .nav-link{min-width:92px;font-size:.7rem;padding:8px 9px;}
  #mainTabs .badge{font-size:.55rem;padding:.24rem .34rem;}

  #dashboardTab,#evaluationTab,#usersTab,#itemsAdminTab,#requestsTab,#auditTab{padding:8px!important;}
  .dash-sidebar h6{font-size:.8rem;}
  .dash-sidebar small{font-size:.68rem;}

  .row.g-2,.row.g-3{--bs-gutter-x:.5rem;--bs-gutter-y:.5rem;}
  .card-stat{min-height:76px;padding:8px;border-radius:11px;}
  .card-stat h2{font-size:1.18rem;}
  .card-stat .small{font-size:.64rem;line-height:1.35;}
  .comparison-card,.decision-center,.filter-bar{border-radius:12px;}
  .comparison-card{padding:9px;}

  .btn{font-size:.78rem;padding:7px 10px;}
  .form-select,.form-control{font-size:16px;} /* avoid mobile browser auto-zoom */
  .form-label{font-size:.78rem;}

  .table-responsive > table{min-width:660px;}
  .table-responsive th,.table-responsive td{font-size:.71rem;padding:7px 8px!important;}

  .report-tile{padding:11px;gap:9px;border-radius:11px;}
  .report-tile i{font-size:1.2rem;width:24px;}
  .report-tile strong{font-size:.82rem;}
  .report-tile small{font-size:.68rem;}

  .notification-modal-list{max-height:68dvh;}
  .notification-item{padding:9px 10px;}
  .notification-item .d-flex.justify-content-between{flex-direction:column;}
  .notification-item .d-flex.gap-1.flex-shrink-0{width:100%;justify-content:flex-end;}

  /* Action rows wrap instead of overflowing */
  .d-flex.justify-content-between,.d-flex.justify-content-end,.d-flex.align-items-center{min-width:0;}
  .mobile-wrap-actions,.modal-footer,.card-body > .d-flex{flex-wrap:wrap;}
}

@media (max-width: 380px){
  #mainTabs .nav-link{min-width:84px;font-size:.66rem;}
  .header-actions .btn{padding:.34rem .46rem;}
  .card-stat h2{font-size:1.08rem;}
}

/* Safe-area support for modern phones */
@supports (padding: max(0px)){
  .header-bar{padding-top:max(9px,env(safe-area-inset-top));padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right));}
  body{padding-bottom:env(safe-area-inset-bottom);}
}

/* =========================================================
   V2.9.0 — Modern Government Dashboard / Premium UI refresh
   Visual-only layer. No business logic, permissions or API changes.
   ========================================================= */
:root{
  --m29-navy:#0b2f4f;
  --m29-blue:#0e5e9c;
  --m29-cyan:#159eaa;
  --m29-bg:#f3f6f9;
  --m29-panel:#ffffff;
  --m29-soft:#f8fafc;
  --m29-border:#e2e8f0;
  --m29-text:#172434;
  --m29-muted:#64748b;
  --m29-shadow:0 10px 30px rgba(15,42,68,.07);
  --m29-shadow-hover:0 16px 38px rgba(15,42,68,.11);
}
html{scroll-behavior:smooth}
body{background:var(--m29-bg);color:var(--m29-text);letter-spacing:0}
body:before{content:"";position:fixed;inset:0 0 auto 0;height:230px;background:linear-gradient(180deg,rgba(14,94,156,.045),transparent);pointer-events:none;z-index:-1}

/* Top app bar */
.header-bar{background:rgba(8,43,72,.97);background-image:linear-gradient(110deg,#092d4d 0%,#0d527f 64%,#117f88 100%);padding:11px 22px;min-height:64px;border-bottom:1px solid rgba(255,255,255,.14);box-shadow:0 8px 28px rgba(5,30,52,.18)}
.header-bar h5{font-size:1rem;font-weight:800;white-space:nowrap}
.header-bar h5 img{height:38px!important;border-radius:10px!important;background:#fff;padding:3px;box-shadow:0 3px 12px rgba(0,0,0,.14)}
.header-actions{gap:6px!important}
.header-bar .btn{min-height:36px;padding:.42rem .78rem;border-radius:10px!important;font-size:.73rem;box-shadow:none!important}
.header-bar .btn-light{background:rgba(255,255,255,.96);border-color:transparent}
.header-bar .btn-success{background:#138f82;border-color:#138f82}
#userInfo{font-size:.72rem!important;border-radius:10px!important;padding:.5rem .7rem!important;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.notification-btn{border-radius:10px!important}

/* Page shell + navigation */
.container-fluid.mt-3{max-width:1800px;margin-inline:auto;padding-inline:22px!important}
#mainTabs.nav-tabs{top:74px;margin-top:12px;padding:5px;background:rgba(255,255,255,.94)!important;border:1px solid var(--m29-border);border-radius:14px!important;box-shadow:0 5px 20px rgba(15,42,68,.055);gap:4px;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}
#mainTabs::-webkit-scrollbar{display:none}
#mainTabs .nav-item{min-width:max-content;flex:1 0 auto}
.nav-tabs .nav-link{min-height:40px;padding:8px 14px;border-radius:10px!important;background:transparent;color:#5d7184;font-size:.79rem;white-space:nowrap}
.nav-tabs .nav-link i{color:#7890a5;transition:.18s ease}
.nav-tabs .nav-link.active{background:#edf5fb;color:var(--m29-blue);box-shadow:inset 0 0 0 1px #d6e8f6!important}
.nav-tabs .nav-link.active i{color:var(--m29-blue)}
.nav-tabs .nav-link:hover:not(.active){background:#f7f9fb;color:var(--m29-navy)}

/* Panels */
#dashboardTab,#evaluationTab,#supervisionTab,#usersTab,#itemsAdminTab,#requestsTab,#auditTab{padding:18px!important}
.card,.filter-bar,.dash-sidebar,.decision-center{border-color:var(--m29-border)!important}
.card{border-radius:16px!important;box-shadow:0 5px 18px rgba(15,42,68,.045)}
.card:hover{box-shadow:0 8px 24px rgba(15,42,68,.065)}
.card-header{border-bottom:1px solid var(--m29-border);padding:.85rem 1rem;font-weight:800}
.card-body{padding:1rem}
.bg-light{background-color:var(--m29-soft)!important}
.dash-sidebar{top:138px;border-radius:16px;padding:18px;box-shadow:var(--m29-shadow)}
.dash-sidebar h6{color:var(--m29-navy)!important;padding-bottom:12px;border-bottom:1px solid var(--m29-border);margin-bottom:16px!important}
.dash-placeholder{background:linear-gradient(145deg,#fff,#f8fbfd);border:1px dashed #cbd8e3;min-height:330px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.dash-placeholder i{width:64px;height:64px;display:grid;place-items:center;border-radius:18px;background:#edf5fb;font-size:1.65rem!important;color:var(--m29-blue)}

/* Inputs */
.form-label{color:#53687b;font-weight:700!important;font-size:.78rem}
.form-control,.form-select{min-height:40px;border:1px solid #dbe4ec;border-radius:10px;background-color:#fff;color:var(--m29-text);transition:border-color .15s,box-shadow .15s,background .15s}
.form-control:hover,.form-select:hover{border-color:#b9cad8}
.form-control:focus,.form-select:focus{border-color:#6ca8d0;box-shadow:0 0 0 3px rgba(14,94,156,.10)}
textarea.form-control{min-height:78px}

/* Buttons */
.btn{border-radius:10px;font-weight:700;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:#0e5e9c;border-color:#0e5e9c;box-shadow:0 4px 12px rgba(14,94,156,.14)}
.btn-primary:hover{background:#0b4f85;border-color:#0b4f85}
.btn-success{background:#148b70;border-color:#148b70}
.btn-danger{background:#c94b56;border-color:#c94b56}
.btn-warning{background:#d99b32;border-color:#d99b32}
.btn-outline-primary{color:#0e5e9c;border-color:#aac9df;background:#fff}

/* KPI cards */
.card-stat{border:1px solid var(--m29-border)!important;border-right:1px solid var(--m29-border)!important;border-radius:15px!important;padding:16px 17px;box-shadow:0 6px 20px rgba(15,42,68,.05);min-height:105px}
.card-stat:before{content:"";position:absolute;right:0;top:18px;bottom:18px;width:4px;border-radius:6px 0 0 6px;background:var(--brand-2)}
.card-stat.stat-full:before{background:var(--success)}.card-stat.stat-none:before{background:var(--danger)}.card-stat.stat-rate:before{background:var(--info)}.card-stat.stat-partial:before{background:var(--warning)}
.card-stat:hover{transform:translateY(-2px);box-shadow:var(--m29-shadow-hover)}
.card-stat h2{font-size:1.65rem;letter-spacing:-.5px;margin-top:5px}
.card-stat span.small{font-size:.73rem;color:var(--m29-muted)}
.kpi-mini-card{border-radius:14px;background:#fff;border:1px solid var(--m29-border);padding:14px;box-shadow:0 4px 14px rgba(15,42,68,.035)}
.kpi-mini-value{font-size:1.65rem;color:var(--m29-navy)}

/* Evaluation content */
.category-header{background:#edf5fb;color:var(--m29-navy);border:1px solid #d9e8f3;border-right:4px solid var(--m29-blue);box-shadow:none;border-radius:11px;padding:11px 14px}
.eval-item-card{border:1px solid var(--m29-border);border-radius:13px;padding:12px 14px;box-shadow:none}
.eval-item-card:hover{border-color:#bdd4e4;background:#fcfdff;box-shadow:0 5px 16px rgba(15,42,68,.04)}

/* Tables */
.table-responsive{border:1px solid var(--m29-border);border-radius:13px;background:#fff}
.table{margin-bottom:0;color:var(--m29-text)}
.table>:not(caption)>*>*{padding:.68rem .72rem;border-bottom-color:#e8eef3;vertical-align:middle}
.table thead th{background:#f4f7fa!important;color:#42596d;font-size:.74rem;font-weight:800;border-bottom:1px solid #dbe5ed;white-space:nowrap;position:sticky;top:0;z-index:2}
.table tbody td{font-size:.78rem}
.table-hover>tbody>tr:hover>*{background:#f8fbfd}

/* Modals and notifications */
.modal-content{border:0;border-radius:18px;box-shadow:0 24px 70px rgba(8,34,57,.20);overflow:hidden}
.modal-header{padding:1rem 1.15rem;border-bottom:1px solid var(--m29-border)}
.modal-footer{border-top:1px solid var(--m29-border);background:#fbfcfd}
.notification-item{border-radius:12px;border-color:var(--m29-border);box-shadow:0 2px 8px rgba(15,42,68,.025)}

/* Badges and status */
.badge{border-radius:7px;padding:.38em .6em;letter-spacing:0}
.alert{border-radius:12px;border-width:1px}
.progress{border-radius:999px;background:#e8eef3;overflow:hidden}

/* Login */
body:has(#loginSection:not(.hidden)){background:radial-gradient(circle at 18% 12%,rgba(30,144,160,.28),transparent 30%),linear-gradient(135deg,#082c4b,#0d527f 58%,#117f88);}
.login-container{max-width:440px;margin:7vh auto}
.login-container .card{border-radius:22px!important;box-shadow:0 28px 80px rgba(3,26,45,.28)!important}
.login-container .card-body{padding:2.25rem!important}
.login-icon-wrap{border-radius:18px;width:68px;height:68px;background:#edf5fb}

/* Responsive */
@media (max-width:991.98px){
  .header-bar{position:sticky;padding:10px 12px;gap:8px}.header-bar h5{width:100%;justify-content:center}.header-actions{width:100%;justify-content:center}
  #mainTabs.nav-tabs{top:116px}.dash-sidebar{position:static}.container-fluid.mt-3{padding-inline:10px!important}
  #dashboardTab,#evaluationTab,#supervisionTab,#usersTab,#itemsAdminTab,#requestsTab,#auditTab{padding:12px!important}
}
@media (max-width:575.98px){
  .header-bar h5{font-size:.85rem}.header-bar h5 img{height:32px!important}.header-bar .btn{font-size:.67rem;padding:.35rem .55rem;min-height:33px}
  #userInfo{max-width:100%;width:100%;text-align:center}.notification-btn{width:34px;height:33px;min-width:34px!important}
  #mainTabs.nav-tabs{top:145px;border-radius:12px!important}.nav-tabs .nav-link{min-height:38px;padding:7px 10px;font-size:.7rem}.nav-tabs .nav-link i{display:inline-block;margin:0!important}
  .card-stat{min-height:90px;padding:13px 14px}.card-stat h2{font-size:1.4rem}.modal-dialog{margin:8px}
}
