/* ============================================
   DOSSIER DOCUMENT PAGES — Shared Styles
   ============================================ */
:root {
  --primary:#1a73e8; --primary-dark:#1557b0; --primary-light:#e8f0fe;
  --secondary:#34a853; --danger:#ea4335; --warning:#fbbc04;
  --text:#1a1a1a; --text-secondary:#5f6368; --text-muted:#9aa0a6;
  --bg:#f8f9fa; --border:#e0e0e0;
  --red:#C8102E; --blue:#1B4D8E; --gold:#B45309; --green:#16a34a;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Tajawal',sans-serif;
  background:var(--bg);color:var(--text);
  line-height:1.7;direction:rtl;
}
a{color:var(--primary);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%}

/* Nav */
.doc-nav{
  position:sticky;top:0;z-index:100;
  background:rgba(255,255,255,.92);backdrop-filter:blur(16px);
  border-bottom:1px solid var(--border);
  padding:0 40px;
}
.doc-nav-inner{
  max-width:900px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  height:60px;gap:16px;
}
.doc-nav-logo{
  display:flex;align-items:center;gap:10px;
  text-decoration:none;color:var(--text);
  font-weight:800;font-size:1rem;
}
.doc-nav-logo img{height:32px}
.doc-nav-links{display:flex;gap:20px;align-items:center}
.doc-nav-links a{
  font-size:.88rem;font-weight:600;color:var(--text-secondary);
  text-decoration:none;transition:color .2s;
}
.doc-nav-links a:hover{color:var(--red)}

/* Page Header */
.doc-page-header{
  background:linear-gradient(135deg,#111 0%,#1a1a2e 100%);
  padding:60px 40px 48px;color:#fff;
}
.dph-inner{max-width:900px;margin:0 auto}
.dph-meta{
  display:flex;align-items:center;gap:12px;
  margin-bottom:16px;flex-wrap:wrap;
}
.dph-num{
  width:48px;height:48px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  font-weight:900;font-size:1.2rem;color:#fff;
}
.dph-cat{
  font-size:.8rem;font-weight:600;padding:4px 14px;
  border-radius:20px;background:rgba(255,255,255,.12);color:rgba(255,255,255,.8);
}
.dph-date{font-size:.8rem;color:rgba(255,255,255,.5)}
.doc-page-header h1{font-size:clamp(1.4rem,3vw,2rem);font-weight:900;margin-bottom:8px;line-height:1.4}
.doc-page-header p{font-size:1rem;color:rgba(255,255,255,.7);max-width:700px}

/* Content */
.doc-content{max-width:900px;margin:0 auto;padding:40px 40px 60px}

/* Section */
.doc-section{margin-bottom:40px}
.doc-section h2{
  font-size:1.3rem;font-weight:800;margin-bottom:16px;
  padding-bottom:8px;border-bottom:2px solid var(--border);
  color:var(--text);
}
.doc-section h3{font-size:1.05rem;font-weight:700;margin:20px 0 10px;color:var(--text)}
.doc-section p{font-size:.95rem;color:var(--text-secondary);margin-bottom:12px;line-height:1.8}

/* Tables */
.doc-table{
  width:100%;border-collapse:collapse;margin:16px 0 24px;
  font-size:.88rem;background:#fff;border-radius:12px;
  overflow:hidden;border:1px solid var(--border);
}
.doc-table thead{background:#f1f5f9}
.doc-table th{
  padding:12px 16px;text-align:start;font-weight:700;
  color:var(--text);border-bottom:2px solid var(--border);
  font-size:.82rem;
}
.doc-table td{
  padding:10px 16px;border-bottom:1px solid #f0f0f0;
  color:var(--text-secondary);vertical-align:top;
}
.doc-table tbody tr:hover{background:#fafbfc}
.doc-table tbody tr:last-child td{border-bottom:none}
.doc-table tfoot td{
  font-weight:800;color:var(--text);background:#f8f9fa;
  border-top:2px solid var(--border);
}

/* Callout */
.doc-callout{
  padding:16px 20px;border-radius:12px;
  margin:16px 0 24px;font-size:.9rem;
  line-height:1.7;
}
.doc-callout-red{background:#fef2f2;border-right:4px solid var(--red);color:#991b1b}
.doc-callout-green{background:#f0fdf4;border-right:4px solid var(--green);color:#166534}
.doc-callout-blue{background:#eff6ff;border-right:4px solid var(--blue);color:#1e3a5f}
.doc-callout-amber{background:#fffbeb;border-right:4px solid var(--gold);color:#78350f}

/* Stats Row */
.doc-stats-row{
  display:flex;flex-wrap:wrap;gap:16px;
  justify-content:center;margin:24px 0 32px;
}
.doc-stat-card{
  background:#fff;border:1px solid var(--border);border-radius:14px;
  padding:20px 24px;text-align:center;min-width:140px;flex:1;
}
.doc-stat-num{font-size:1.8rem;font-weight:900;color:var(--red);display:block}
.doc-stat-label{font-size:.82rem;color:var(--text-secondary);margin-top:4px}

/* Numbered List */
.doc-numbered{counter-reset:item;list-style:none;padding:0}
.doc-numbered li{
  counter-increment:item;position:relative;
  padding:10px 0 10px 0;margin-right:40px;
  font-size:.92rem;color:var(--text-secondary);
  border-bottom:1px solid #f0f0f0;
}
.doc-numbered li::before{
  content:counter(item);position:absolute;right:-40px;top:10px;
  width:28px;height:28px;border-radius:50%;
  background:var(--red);color:#fff;font-size:.75rem;
  font-weight:700;display:flex;align-items:center;justify-content:center;
}

/* Profile Cards */
.doc-profile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin:16px 0}
.doc-profile-card{
  background:#fff;border:1px solid var(--border);border-radius:14px;
  padding:24px;transition:transform .2s,box-shadow .2s;
}
.doc-profile-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.06)}
.doc-profile-card h4{font-size:1rem;font-weight:700;margin-bottom:4px;color:var(--text)}
.doc-profile-role{font-size:.82rem;font-weight:600;color:var(--red);margin-bottom:8px}
.doc-profile-card p{font-size:.85rem;color:var(--text-secondary);margin-bottom:6px}
.doc-profile-skills{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.doc-profile-skills span{
  font-size:.72rem;font-weight:600;padding:3px 10px;
  border-radius:20px;background:#f1f5f9;color:var(--text-secondary);
}

/* Org Chart */
.org-chart{margin:24px 0}
.org-level{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-bottom:12px;position:relative}
.org-level::after{
  content:'';position:absolute;bottom:-6px;left:50%;
  width:2px;height:12px;background:var(--border);
}
.org-level:last-child::after{display:none}
.org-box{
  background:#fff;border:1px solid var(--border);border-radius:10px;
  padding:10px 18px;font-size:.82rem;font-weight:600;
  text-align:center;min-width:120px;
}
.org-box.org-head{background:var(--red);color:#fff;border-color:var(--red);font-weight:800}
.org-box.org-tech{border-color:var(--blue);color:var(--blue)}
.org-box.org-peda{border-color:var(--green);color:var(--green)}
.org-box.org-inst{border-color:var(--gold);color:var(--gold)}

/* Gantt-style timeline */
.doc-timeline{margin:24px 0}
.doc-tl-item{
  display:flex;gap:16px;padding:16px 0;
  border-bottom:1px solid #f0f0f0;
}
.doc-tl-item:last-child{border-bottom:none}
.doc-tl-phase{
  width:100px;flex-shrink:0;font-weight:700;
  font-size:.85rem;color:var(--text);
}
.doc-tl-period{
  width:100px;flex-shrink:0;font-size:.8rem;
  color:var(--text-secondary);
}
.doc-tl-content{flex:1;font-size:.88rem;color:var(--text-secondary)}

/* Charter/Document Template */
.doc-charter{
  background:#fff;border:2px solid var(--border);border-radius:14px;
  padding:32px;margin:24px 0;font-size:.9rem;
  line-height:2;color:var(--text);
}
.doc-charter h3{text-align:center;margin-bottom:16px;font-size:1.1rem}
.doc-charter ol{padding-right:20px;margin:12px 0}
.doc-charter ol li{margin-bottom:6px}

/* Key Facts */
.doc-key-facts{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
  gap:12px;margin:20px 0;
}
.doc-key-fact{
  background:#fff;border:1px solid var(--border);border-radius:10px;
  padding:14px 18px;font-size:.88rem;font-weight:600;
  color:var(--text);display:flex;align-items:center;gap:8px;
}
.doc-key-fact svg{color:var(--red);flex-shrink:0}

/* Prev/Next Navigation */
.doc-prev-next{
  display:flex;justify-content:space-between;align-items:center;
  padding:24px 0;margin-top:40px;border-top:2px solid var(--border);
  gap:16px;
}
.doc-prev-next a{
  display:flex;align-items:center;gap:8px;
  font-size:.9rem;font-weight:600;color:var(--text-secondary);
  text-decoration:none;padding:10px 18px;border-radius:10px;
  transition:all .2s;border:1px solid var(--border);
}
.doc-prev-next a:hover{background:#fff;color:var(--red);border-color:var(--red)}
.doc-prev-next a svg{flex-shrink:0}
.doc-prev-next .dpn-spacer{flex:1}

/* Footer */
.doc-footer{
  background:#0f172a;padding:24px 40px;text-align:center;
  color:#64748b;font-size:.82rem;
}
.doc-footer strong{color:#94a3b8}

/* Responsive */
@media(max-width:768px){
  .doc-nav{padding:0 16px}
  .doc-page-header{padding:40px 20px 32px}
  .doc-content{padding:24px 20px 40px}
  .doc-table{font-size:.78rem}
  .doc-table th,.doc-table td{padding:8px 10px}
  .ds-bar-label{width:120px;font-size:.78rem}
  .doc-stat-card{min-width:100px;padding:14px 12px}
  .doc-stat-num{font-size:1.4rem}
  .doc-profile-grid{grid-template-columns:1fr}
  .doc-key-facts{grid-template-columns:1fr}
  .doc-prev-next{flex-wrap:wrap}
  .doc-prev-next a{flex:1;justify-content:center}
  .doc-tl-item{flex-direction:column;gap:4px}
  .doc-tl-phase,.doc-tl-period{width:auto}
  .doc-numbered li{margin-right:36px}
  .doc-footer{padding:20px 16px}
}
