@import url('https://fonts.googleapis.com/css2?family=Tajawal:wght@400;500;700;800;900&display=swap');
:root{
  --primary:#0b6b73;
  --primary-2:#0f7f7a;
  --accent:#18b394;
  --accent-2:#43d6b7;
  --deep:#052c35;
  --dark:#073742;
  --ink:#113b42;
  --bg:#f4faf8;
  --card:#ffffff;
  --muted:#6b7f86;
  --gold:#c79a45;
  --gold-2:#e4c374;
  --line:#dcece8;
}
*{box-sizing:border-box}
body{font-family:'Tajawal',Arial,sans-serif;background:radial-gradient(circle at 8% 2%,rgba(24,179,148,.10),transparent 28%),linear-gradient(135deg,#f8fcfb,#eef8f5);color:var(--ink);min-height:100vh}
.fw-black{font-weight:900}.text-white-75{color:rgba(255,255,255,.75)}.text-white-60{color:rgba(255,255,255,.60)}.min-vh-75{min-height:75vh}
.landing{min-height:100vh;background:linear-gradient(115deg,rgba(5,44,53,.96),rgba(8,91,94,.94) 54%,rgba(12,123,109,.90)),radial-gradient(circle at 18% 18%,rgba(228,195,116,.42),transparent 27%);color:#fff;overflow-x:hidden;position:relative}
.landing:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.75),transparent 85%);pointer-events:none}
.landing-orb{position:absolute;border-radius:999px;filter:blur(4px);opacity:.55;pointer-events:none}.orb-1{width:330px;height:330px;left:-90px;top:70px;background:radial-gradient(circle,rgba(67,214,183,.35),transparent 65%)}.orb-2{width:250px;height:250px;right:9%;bottom:4%;background:radial-gradient(circle,rgba(228,195,116,.30),transparent 65%)}
.landing-nav{padding:14px 18px;border:1px solid rgba(255,255,255,.13);border-radius:28px;background:rgba(255,255,255,.07);backdrop-filter:blur(16px)}
.hero-card{background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.07));border:1px solid rgba(255,255,255,.20);backdrop-filter:blur(18px);border-radius:34px;box-shadow:0 28px 80px rgba(0,0,0,.28)}
.hero-badge{display:inline-flex;gap:.5rem;align-items:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.20);border-radius:999px;padding:.62rem 1.05rem;color:#e7fffa;font-weight:800}.hero-subtitle{font-size:1.7rem;color:#dffbf5;font-weight:800;line-height:1.45}.hero-note{display:inline-flex;align-items:center;gap:.55rem;color:#e7fff8;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.13);padding:.85rem 1rem;border-radius:18px;font-weight:800}
.btn-gradient{border:0;background:linear-gradient(135deg,var(--accent),var(--primary-2));color:white!important;border-radius:18px;padding:.82rem 1.25rem;box-shadow:0 16px 34px rgba(24,179,148,.24);font-weight:900}.btn-gradient:hover{transform:translateY(-1px);filter:brightness(1.04)}
.brand{display:flex;align-items:center;gap:13px}.brand-logo{width:66px;height:66px;object-fit:contain;background:linear-gradient(135deg,rgba(5,44,53,.96),rgba(8,105,95,.92));border:1px solid rgba(228,195,116,.45);border-radius:20px;padding:8px;box-shadow:0 14px 30px rgba(0,0,0,.22)}.brand strong{display:block;font-size:1.12rem;font-weight:900;line-height:1.3}.brand small{display:block;color:#d7fbf4;font-weight:700;line-height:1.4}.brand-official{min-width:0}.official-card-head{display:flex;align-items:center;gap:14px}.official-card-logo{width:78px;height:78px;object-fit:contain;background:linear-gradient(135deg,rgba(5,44,53,.96),rgba(8,105,95,.92));border:1px solid rgba(228,195,116,.45);border-radius:24px;padding:10px}.feature-line{display:flex;align-items:center;gap:12px;padding:14px 15px;border-radius:20px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.12);font-weight:800}.feature-line i{width:38px;height:38px;display:grid;place-items:center;border-radius:14px;background:rgba(24,179,148,.22);color:#bffff2;font-size:1.25rem}
.login-page .login-card{max-width:470px;margin:auto}.login-logo{width:96px;height:96px;object-fit:contain;background:linear-gradient(135deg,rgba(5,44,53,.96),rgba(8,105,95,.92));border:1px solid rgba(228,195,116,.45);border-radius:28px;padding:12px;box-shadow:0 16px 38px rgba(0,0,0,.24)}
.app-shell{display:flex;min-height:100vh}.sidebar{width:302px;background:linear-gradient(180deg,var(--deep),#074b56 57%,#08695f);color:#e9fffb;padding:22px;position:fixed;top:0;bottom:0;right:0;overflow:auto;box-shadow:-18px 0 50px rgba(5,44,53,.17)}.sidebar:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 10%,rgba(228,195,116,.16),transparent 28%),radial-gradient(circle at 80% 80%,rgba(67,214,183,.15),transparent 34%);pointer-events:none}.sidebar>*{position:relative}.sidebar-brand{padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.13)}.sidebar .brand-logo{width:58px;height:58px;border-radius:18px}.sidebar .nav-link{color:#def8f3;border-radius:17px;padding:12px 14px;font-weight:800}.sidebar .nav-link:hover,.sidebar .nav-link.active{background:rgba(255,255,255,.13);color:#fff}.sidebar i{margin-left:8px}.sidebar-footer{padding:15px;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}.sidebar-footer small{display:block;color:#c3ece6}.sidebar-footer strong{display:block;color:#fff;font-size:.95rem}
.content{margin-right:302px;width:calc(100% - 302px);padding:26px}.topbar{display:flex;justify-content:space-between;align-items:center;padding:21px 25px;border-radius:30px;background:linear-gradient(135deg,var(--primary),var(--deep));color:#fff;box-shadow:0 18px 50px rgba(13,37,51,.18);margin-bottom:22px;position:relative;overflow:hidden}.topbar:after{content:"";position:absolute;left:22px;top:-45px;width:170px;height:170px;background:radial-gradient(circle,rgba(228,195,116,.25),transparent 65%);pointer-events:none}.topbar>*{position:relative}.topbar-eyebrow{display:inline-flex;color:#d7fff7;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.13);border-radius:999px;padding:.25rem .75rem;font-weight:800;margin-bottom:.55rem}.topbar h1{font-size:1.55rem;font-weight:900;margin:0}.topbar p{margin:.28rem 0 0;color:#d5eee9}
.cardx{background:rgba(255,255,255,.90);backdrop-filter:blur(10px);border:1px solid rgba(11,107,115,.08);border-radius:27px;padding:22px;box-shadow:0 18px 45px rgba(13,37,51,.08)}.kpi{position:relative;overflow:hidden}.kpi:before{content:"";position:absolute;inset:0 auto 0 0;width:6px;background:linear-gradient(var(--gold-2),var(--accent),var(--primary))}.kpi .icon{width:52px;height:52px;border-radius:18px;background:rgba(24,179,148,.12);display:grid;place-items:center;color:var(--primary-2);font-size:1.45rem}.kpi .value{font-size:2rem;font-weight:900;color:var(--deep)}
.table{vertical-align:middle}.table thead th{background:#eef8f6;color:#12434f;border:0}.badge-soft{padding:.45rem .7rem;border-radius:999px;font-weight:800}.status-warning{background:#fff5d6;color:#9b6a00}.status-info{background:#dff6ff;color:#006482}.status-success{background:#dcfce7;color:#166534}.form-control,.form-select{border-radius:15px;padding:.76rem .95rem;border:1px solid #d8e7e5}.form-control:focus,.form-select:focus{border-color:var(--accent);box-shadow:0 0 0 .25rem rgba(24,179,148,.14)}.shadow-soft{box-shadow:0 16px 35px rgba(13,37,51,.08);border:0;border-radius:18px}.empty-state{text-align:center;padding:80px 20px}.empty-state i{font-size:4rem;color:var(--accent)}.timeline{border-right:3px solid #d9eee9;margin-right:15px;padding-right:22px}.timeline-item{position:relative;margin-bottom:18px}.timeline-item:before{content:"";position:absolute;right:-31px;top:4px;width:14px;height:14px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px #e1f7f1}
@media(max-width:900px){.sidebar{position:relative;width:100%;height:auto}.app-shell{display:block}.content{margin:0;width:100%;padding:16px}.topbar{display:block}.sidebar .nav{display:grid;grid-template-columns:repeat(2,1fr)}.brand-logo{width:56px;height:56px}.landing-nav{align-items:flex-start!important;gap:14px;flex-direction:column}.hero-subtitle{font-size:1.25rem}}

.logout-form{margin:0;position:relative;z-index:5}.logout-form .btn{font-weight:800;border-radius:16px;padding:.65rem 1rem}


/* تحسينات توافق المتصفحات وثبات العناصر */
*, *::before, *::after { -webkit-box-sizing: border-box; box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
button, input, select, textarea { font-family: inherit; }
img { max-width: 100%; }
.brand-logo,.official-card-logo,.login-logo{
  background-color:#052c35;
  -webkit-backdrop-filter:saturate(150%) blur(4px);
  backdrop-filter:saturate(150%) blur(4px);
}
.logout-btn{
  position:relative;
  z-index:20;
  font-weight:800;
  border-radius:16px;
  padding:.65rem 1rem;
  pointer-events:auto;
  text-decoration:none;
  white-space:nowrap;
}
.logout-btn:hover{ text-decoration:none; }
.btn, .nav-link, a { -webkit-tap-highlight-color: transparent; }
.min-vh-75{ min-height:75vh; }
@supports not ((backdrop-filter: blur(4px)) or (-webkit-backdrop-filter: blur(4px))) {
  .glass,.hero-card,.login-card,.stat-card,.data-card{ background:rgba(255,255,255,.12)!important; }
  .brand-logo,.official-card-logo,.login-logo{ background:#052c35!important; }
}
@media (max-width: 576px){
  .sidebar .nav{ grid-template-columns:1fr; }
  .display-3{ font-size:2.5rem; }
  .hero-subtitle{ font-size:1.05rem; }
  .topbar .logout-btn{ margin-top:14px; display:inline-flex; align-items:center; }
}
/* HR-TRANS-PATCH: topbar password/logout buttons alignment */
.topbar{
  justify-content:flex-start !important;
  gap:10px !important;
}
.topbar > div:first-child{
  margin-left:auto !important;
}
.topbar > a.btn[href*="change_password"],
.topbar > a.btn[href*="logout"]{
  width:155px !important;
  height:44px !important;
  padding:0 14px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  flex:0 0 auto !important;
  white-space:nowrap !important;
  border-radius:14px !important;
  font-weight:800 !important;
}
@media(max-width:900px){
  .topbar{
    align-items:flex-start !important;
    gap:10px !important;
    flex-wrap:wrap !important;
  }
  .topbar > div:first-child{
    width:100% !important;
    margin-left:0 !important;
  }
  .topbar > a.btn[href*="change_password"],
  .topbar > a.btn[href*="logout"]{
    width:auto !important;
    min-width:150px !important;
  }
}
/* /HR-TRANS-PATCH */
