/* HENDAR v0.32.4 — approved visual refresh.
   This file is intentionally loaded after the historical design system. It
   preserves the v0.32 operational DOM while applying the approved command
   dashboard, Cairo typography, v0.33 navigation language and global glass
   interaction treatment. */

@font-face {
  font-family:"Cairo";
  font-style:normal;
  font-display:swap;
  font-weight:200 1000;
  src:url("/fonts/cairo-arabic-wght-normal.woff2") format("woff2-variations");
  unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1;
}

@font-face {
  font-family:"Cairo";
  font-style:normal;
  font-display:swap;
  font-weight:200 1000;
  src:url("/fonts/cairo-latin-wght-normal.woff2") format("woff2-variations");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

:root {
  --ds-font:"Cairo","Segoe UI",Tahoma,Arial,sans-serif;
  --v32r-navy-950:#07131f;
  --v32r-navy-900:#092139;
  --v32r-navy-800:#142b40;
  --v32r-navy-700:#1e3a50;
  --v32r-gold:#ba8a47;
  --v32r-gold-bright:#d2aa69;
  --v32r-glass-border:rgba(255,255,255,.58);
  --v32r-glass-shadow:0 18px 44px rgba(11,35,54,.12),inset 0 1px 0 rgba(255,255,255,.78);
  --v32r-panel-shadow:0 10px 30px rgba(18,38,54,.07);
}

html,
body,
body *,
body *::before,
body *::after,
input,
select,
textarea,
button,
option,
pre,
code,
kbd,
samp {
  font-family:var(--ds-font) !important;
}

html,body,#appShell { font-synthesis:none; }
body { letter-spacing:0; }

/* v0.33 sidebar list language, carried into the v0.32 codebase. */
.app-shell { grid-template-columns:272px minmax(0,1fr); }
.sidebar {
  color:#d7e0e7;
  background:
    radial-gradient(circle at 100% 0,rgba(186,138,71,.11),transparent 29%),
    var(--v32r-navy-900);
  border-inline-start:1px solid rgba(255,255,255,.045);
  box-shadow:-1px 0 rgba(255,255,255,.03);
}
.sidebar-blueprint { opacity:.055; }
.sidebar-brand {
  min-height:74px;
  padding:10px 17px;
  border-bottom-color:rgba(255,255,255,.075);
  background:rgba(255,255,255,.018);
}
.sidebar-brand .brand-mark.compact { gap:10px; }
.sidebar-brand .hendar-logo-image {
  width:44px;
  height:44px;
  padding:3px;
  border:1px solid rgba(210,170,105,.35);
  border-radius:12px;
  background:#f8fafc;
}
.sidebar-brand .brand-copy strong { color:#f5f7f8; font-size:21px; line-height:1.1; }
.sidebar-brand .brand-copy span {
  margin-top:4px;
  color:#9aabb6;
  font-size:7.5px;
  letter-spacing:.55px;
  direction:ltr;
  text-align:right;
  white-space:nowrap;
}
.sidebar-brand .brand-copy small { display:none; }
.sidebar-tools { padding:12px 13px 4px; }
.nav-search,
.assigned-project-switcher,
.sidebar-theme-picker,
.sidebar-density-picker { border-radius:11px; }
.main-nav { padding:5px 12px 10px; }
.nav-section-title,.nav-group-title { color:#718796 !important; font-size:9.5px !important; letter-spacing:0 !important; }
.nav-group {
  margin:5px 0 8px;
  border:1px solid rgba(var(--group-rgb),.14);
  border-inline-start:2px solid rgba(var(--group-rgb),.46);
  border-radius:11px;
  background:rgba(255,255,255,.018);
  box-shadow:none;
}
.nav-group::after { opacity:.34; }
.nav-group:hover,.nav-group.open {
  border-color:rgba(var(--group-rgb),.25);
  background:rgba(255,255,255,.025);
  box-shadow:none;
}
.nav-group-toggle { min-height:47px; background:transparent; }
.nav-group-toggle:hover { background:rgba(255,255,255,.035); }
.group-code {
  color:var(--v32r-gold-bright);
  border-color:rgba(210,170,105,.25);
  background:rgba(255,255,255,.035);
  box-shadow:none;
}
.group-copy strong { color:#cbd5dc; }
.group-copy small,.group-count,.group-chevron { color:#718796; opacity:1; }
.nav-group-items { padding:4px; }
.nav-item {
  min-height:46px;
  margin:3px 0;
  padding:0 10px;
  border-radius:10px;
  color:#a9b8c1;
}
.nav-item:hover { color:#fff; background:rgba(255,255,255,.045); transform:none; }
.nav-item.active {
  color:#fff;
  background:#162a3c !important;
  border-color:rgba(255,255,255,.045);
  box-shadow:none !important;
}
.nav-item.active::before {
  content:"";
  position:absolute;
  inset-inline-start:0;
  top:8px;
  bottom:8px;
  width:3px;
  border-radius:3px;
  background:var(--v32r-gold-bright);
}
.nav-icon { color:#91a3af; background:transparent !important; border-color:transparent; }
.nav-item:hover .nav-icon { color:#fff; background:rgba(255,255,255,.04) !important; }
.nav-item.active .nav-icon { color:var(--v32r-gold-bright); background:transparent !important; }
.sidebar-system-card {
  margin:7px 13px 2px;
  padding:10px;
  border-color:rgba(255,255,255,.08);
  border-radius:11px;
  background:rgba(255,255,255,.035);
}
.sidebar-system-card>b { color:var(--v32r-gold-bright); }
.sidebar-footer { padding:10px 14px 14px; background:rgba(0,0,0,.08); }

/* Product bar in the same proportions as the approved command screen. */
.topbar {
  height:96px;
  margin:0 !important;
  padding:0 42px;
  border:0 !important;
  border-bottom:1px solid var(--ds-border) !important;
  border-radius:0 !important;
  background:rgba(var(--ds-surface-rgb),.965) !important;
  box-shadow:none !important;
  backdrop-filter:blur(18px) saturate(1.12);
}
.topbar::before { display:none !important; }
.topbar h1 { margin-top:3px; font-size:27px; line-height:1.25; }
.topbar h1::after { display:none; }
.breadcrumb { font-size:11px; }
.topbar-actions { gap:10px; }
.top-action,.engineering-icon-button { width:44px; height:44px; border-radius:12px; }
.date-chip { min-height:44px; display:flex; align-items:center; padding-inline:16px; border-radius:12px; }

/* Approved command dashboard. */
#dashboardView.enterprise-dashboard-view {
  display:grid !important;
  grid-template-columns:minmax(0,1fr);
  gap:28px !important;
  width:100%;
  max-width:none;
  margin:0;
  padding:30px 38px 52px;
  align-content:start;
}
#dashboardView.enterprise-dashboard-view>* { margin:0 !important; }

#dashboardView .enterprise-command-hero {
  min-height:258px !important;
  display:grid;
  grid-template-columns:minmax(0,1.6fr) minmax(340px,.64fr) !important;
  gap:42px;
  align-items:center;
  padding:30px 56px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  border-radius:25px;
  color:#fff;
  background:
    radial-gradient(circle at 10% 42%,rgba(67,203,160,.13),transparent 27%),
    linear-gradient(118deg,#0b2a43,#15567f);
  box-shadow:0 17px 40px rgba(8,38,60,.16);
}
#dashboardView .enterprise-command-copy { align-self:center; }
#dashboardView .enterprise-command-eyebrow {
  padding:0;
  border:0;
  background:transparent;
  color:rgba(255,255,255,.64);
  font-size:11px;
  font-weight:700;
  letter-spacing:.12em;
}
#dashboardView .enterprise-command-copy h2 {
  margin:8px 0 5px;
  color:#fff;
  font-size:clamp(34px,2.5vw,46px);
  line-height:1.2;
  letter-spacing:-.02em;
}
#dashboardView .enterprise-command-copy p {
  max-width:820px;
  margin:0;
  color:rgba(255,255,255,.74);
  font-size:14px;
  line-height:1.8;
}
#dashboardView .enterprise-command-actions {
  direction:ltr;
  display:flex;
  gap:10px;
  margin-top:18px;
}
#dashboardView .enterprise-command-actions .button {
  min-height:46px;
  padding:10px 20px;
  direction:rtl;
  border-radius:12px;
  font-size:12px;
}
#dashboardView .enterprise-command-actions .light { color:#0b2a43; background:#fff; }
#dashboardView .enterprise-command-actions .command-outline {
  color:#fff;
  border:1px solid rgba(255,255,255,.24);
  background:rgba(255,255,255,.07);
  box-shadow:inset 0 1px rgba(255,255,255,.08);
}
#dashboardView .enterprise-command-actions .command-outline:hover { background:rgba(255,255,255,.14); }
#dashboardView .enterprise-command-meta { margin-top:17px; color:rgba(255,255,255,.58); font-size:10px; }
#dashboardView #executiveTodayLabel { display:none; }

#dashboardView .enterprise-health-stage {
  direction:ltr;
  display:grid;
  grid-template-columns:178px minmax(125px,1fr) !important;
  gap:24px;
  align-items:center;
  justify-content:center;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
}
#dashboardView .enterprise-health-gauge { width:178px; height:178px; box-shadow:none; }
#dashboardView .enterprise-health-gauge::before { inset:16px; background:rgba(11,43,68,.95); }
#dashboardView .enterprise-health-gauge b { font-size:43px; }
#dashboardView .enterprise-health-gauge span { font-size:10px; }
#dashboardView .enterprise-health-gauge small { margin-top:5px; font-size:9px; }
#dashboardView .enterprise-health-notes {
  direction:rtl;
  display:grid;
  gap:12px;
  justify-content:stretch;
}
#dashboardView .enterprise-health-notes span {
  min-width:0;
  padding:0;
  color:rgba(255,255,255,.78);
  border:0;
  background:transparent;
  font-size:11px;
}

#dashboardView .enterprise-metrics-grid {
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:18px !important;
  direction:rtl;
}
#dashboardView .enterprise-kpi-card {
  position:relative;
  min-height:140px !important;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  padding:20px 22px !important;
  overflow:hidden;
  text-align:right;
  border:1px solid var(--ds-border);
  border-inline-end:4px solid var(--metric-tone);
  border-radius:18px !important;
  background:linear-gradient(145deg,rgba(var(--ds-surface-rgb),.99),rgba(var(--ds-surface-rgb),.91));
  box-shadow:var(--v32r-panel-shadow);
}
#dashboardView .enterprise-kpi-card::before { display:none; }
#dashboardView .enterprise-kpi-card::after {
  content:"";
  position:absolute;
  inset:-38px auto auto -32px;
  width:110px;
  height:110px;
  border-radius:50%;
  background:rgba(var(--metric-rgb),.055);
}
#dashboardView .enterprise-kpi-card .metric-top {
  position:absolute;
  top:18px;
  inset-inline-end:18px;
  z-index:1;
}
#dashboardView .enterprise-kpi-card .metric-icon {
  width:42px;
  height:42px;
  color:var(--metric-tone);
  border:1px solid rgba(var(--metric-rgb),.12);
  border-radius:12px;
  background:rgba(var(--metric-rgb),.09);
}
#dashboardView .enterprise-kpi-card .metric-icon svg {
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
#dashboardView .enterprise-kpi-card .metric-kpi { display:none; }
#dashboardView .enterprise-kpi-card>p {
  order:1;
  margin:0 0 4px !important;
  color:var(--ds-muted);
  font-size:12px !important;
  font-weight:650;
}
#dashboardView .dashboard-metric-value {
  order:2;
  display:flex;
  align-items:baseline;
  gap:6px;
  direction:rtl;
}
#dashboardView .dashboard-metric-value h3 {
  margin:0 !important;
  color:var(--ds-heading);
  font-size:27px !important;
  line-height:1.4;
  direction:ltr;
}
#dashboardView .dashboard-metric-value b { color:var(--ds-heading); font-size:11px; font-weight:750; }
#dashboardView .enterprise-kpi-card>small {
  order:3;
  display:block;
  margin-top:5px;
  color:var(--ds-muted);
  font-size:9.5px !important;
}
#dashboardView .enterprise-kpi-glow { display:none; }

#dashboardView .executive-intelligence-grid {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:20px !important;
}
#dashboardView .executive-deadlines-card { order:1; }
#dashboardView .executive-financial-card { order:2; }
#dashboardView .executive-portfolio-card { order:3; }
#dashboardView .executive-intelligence-grid>.panel {
  min-height:376px !important;
  padding:24px 26px !important;
  border:1px solid var(--ds-border);
  border-radius:20px !important;
  background:linear-gradient(145deg,rgba(var(--ds-surface-rgb),.99),rgba(var(--ds-surface-rgb),.94));
  box-shadow:var(--v32r-panel-shadow);
}
#dashboardView .executive-panel-head { min-height:62px; align-items:flex-start; margin-bottom:15px; }
#dashboardView .executive-panel-head .eyebrow { color:#9bb0c1; font-size:9px; letter-spacing:.1em; }
#dashboardView .executive-panel-head h3 { margin-top:5px; font-size:22px; line-height:1.35; }
#dashboardView .executive-panel-head p { margin-top:3px; color:var(--ds-muted); font-size:10.5px; }
#dashboardView .executive-panel-head .text-button { color:var(--ds-accent); font-size:10px; }

#dashboardView .portfolio-health-layout {
  direction:ltr;
  display:grid;
  grid-template-columns:178px minmax(0,1fr) !important;
  gap:28px;
  align-items:center;
  margin-top:20px;
}
#dashboardView .portfolio-status-donut { width:174px; height:174px; }
#dashboardView .portfolio-status-donut::before { inset:20px; }
#dashboardView .portfolio-status-donut b { font-size:37px; }
#dashboardView .portfolio-status-legend { direction:rtl; gap:8px; }
#dashboardView .portfolio-status-legend button {
  min-height:42px;
  padding:8px 10px;
  border:0;
  border-radius:10px;
  background:transparent;
  box-shadow:none;
}
#dashboardView .portfolio-status-legend button:hover { background:var(--ds-hover); }

#dashboardView .executive-financial-snapshot { margin-top:5px; }
#dashboardView .financial-command-total { display:none; }
#dashboardView .financial-command-bars { display:grid; gap:11px; }
#dashboardView .financial-command-bars button {
  padding:7px 0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
#dashboardView .financial-command-bars button:hover { padding-inline:7px; border-radius:10px; background:var(--ds-hover); }
#dashboardView .financial-command-bars span,#dashboardView .financial-command-bars b { font-size:10px; }
#dashboardView .financial-command-bars i { height:9px; margin-top:7px; }

#dashboardView .executive-deadline-list { display:grid; gap:10px; max-height:none; margin-top:12px; overflow:visible; }
#dashboardView .deadline-row {
  min-height:66px;
  padding:8px 10px;
  border:1px solid transparent;
  border-radius:12px;
  background:var(--ds-surface-subtle);
}
#dashboardView .deadline-row:hover { border-color:var(--ds-border-strong); }
#dashboardView .deadline-date { min-width:48px; min-height:48px; border-radius:11px; }
#dashboardView .deadline-copy strong { font-size:11.5px; }
#dashboardView .deadline-copy small { font-size:9px; }
#dashboardView .deadline-row em { font-size:9px; }

#dashboardView .enterprise-main-grid {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) !important;
  gap:20px !important;
}
#dashboardView .enterprise-main-grid>.panel {
  grid-column:1/-1 !important;
  padding:22px 26px !important;
  border:1px solid var(--ds-border);
  border-radius:20px !important;
  box-shadow:var(--v32r-panel-shadow);
}
#dashboardView .enterprise-progress-panel { min-height:274px !important; }
#dashboardView .enterprise-progress-list { max-height:230px; padding-inline-end:3px; overflow:auto; }
#dashboardView .enterprise-progress-row {
  min-height:58px;
  grid-template-columns:minmax(240px,1.25fr) minmax(165px,.65fr) minmax(250px,1.2fr) auto;
  padding:10px 12px;
  border-radius:12px;
}
#dashboardView .dashboard-alerts-panel { min-height:320px; max-height:none; }

#dashboardView .enterprise-operations-grid {
  display:grid !important;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr) minmax(320px,.8fr) !important;
  gap:20px !important;
}
#dashboardView .enterprise-operations-grid>.panel,
#dashboardView .enterprise-actions-row>.panel {
  min-height:340px;
  padding:22px 24px !important;
  border:1px solid var(--ds-border);
  border-radius:20px !important;
  box-shadow:var(--v32r-panel-shadow);
}
#dashboardView .enterprise-actions-row { display:grid; grid-template-columns:minmax(320px,.7fr) minmax(0,1.3fr); gap:20px !important; }

/* Global glass response: strong on controls, restrained on information cards. */
:is(
  .panel,.metric-card,.project-card,.report-card,.workspace-metric,.table-card,
  .document-card,.team-member-card,.team-roster-card,.official-letter-register,
  .settlement-register-section,.notification-item,.communication-config-card,
  .engineering-org-chart,.project-team-roster,.section-toolbar,.filter-bar
) {
  transition:transform .22s var(--ds-ease),border-color .22s var(--ds-ease),box-shadow .22s var(--ds-ease),background .22s var(--ds-ease);
}

:is(
    .panel,.metric-card,.project-card,.report-card,.workspace-metric,.table-card,
    .document-card,.team-member-card,.team-roster-card,.official-letter-register,
    .settlement-register-section,.notification-item,.communication-config-card,
    .engineering-org-chart,.project-team-roster,.section-toolbar,.filter-bar
):hover {
    border-color:color-mix(in srgb,var(--ds-primary) 22%,var(--ds-border));
    background-image:linear-gradient(145deg,rgba(var(--ds-surface-rgb),.98),rgba(var(--ds-surface-rgb),.82));
    box-shadow:var(--v32r-glass-shadow);
    backdrop-filter:blur(18px) saturate(1.18);
  }

:is(
    .button,.row-action,.top-action,.engineering-icon-button,.icon-button,
    .nav-item,.nav-group-toggle,.project-workspace-nav,.workspace-tab,
    .quick-actions button,.lifecycle-flow button,.deadline-row,.command-matrix-row,
    .portfolio-status-filter,.financial-command-bars button,.system-maintenance-actions button,
    .theme-system-choice,.theme-studio-card
) {
    position:relative;
    overflow:hidden;
    isolation:isolate;
  }

:is(
    .button,.row-action,.top-action,.engineering-icon-button,.icon-button,
    .nav-item,.nav-group-toggle,.project-workspace-nav,.workspace-tab,
    .quick-actions button,.lifecycle-flow button,.deadline-row,.command-matrix-row,
    .portfolio-status-filter,.financial-command-bars button,.system-maintenance-actions button,
    .theme-system-choice,.theme-studio-card
)::after {
    content:"";
    position:absolute;
    z-index:-1;
    inset:-85% auto -85% -42%;
    width:34%;
    pointer-events:none;
    transform:translateX(0) rotate(17deg);
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.58),transparent);
    opacity:0;
    transition:transform .62s ease,opacity .2s ease;
  }

:is(
    .button,.row-action,.top-action,.engineering-icon-button,.icon-button,
    .nav-item,.nav-group-toggle,.project-workspace-nav,.workspace-tab,
    .quick-actions button,.lifecycle-flow button,.deadline-row,.command-matrix-row,
    .portfolio-status-filter,.financial-command-bars button,.system-maintenance-actions button,
    .theme-system-choice,.theme-studio-card
):hover::after {
    transform:translateX(520%) rotate(17deg);
    opacity:.72;
  }

:is(
    .button,.row-action,.top-action,.engineering-icon-button,.icon-button,
    .project-workspace-nav,.workspace-tab,.quick-actions button,.lifecycle-flow button,
    .deadline-row,.command-matrix-row,.portfolio-status-filter,.financial-command-bars button,
    .system-maintenance-actions button
):hover {
    border-color:color-mix(in srgb,var(--ds-primary) 30%,var(--ds-border));
    box-shadow:0 11px 28px rgba(11,35,54,.12),inset 0 1px rgba(255,255,255,.68);
    backdrop-filter:blur(14px) saturate(1.2);
  }

tbody tr:hover {
    background:linear-gradient(90deg,rgba(var(--ds-primary-rgb),.09),rgba(var(--ds-surface-rgb),.72));
    box-shadow:inset 3px 0 0 var(--ds-primary),inset 0 1px rgba(255,255,255,.72);
  }

input:hover,select:hover,textarea:hover {
    background:linear-gradient(145deg,rgba(var(--ds-surface-rgb),.98),rgba(var(--ds-surface-rgb),.86));
    box-shadow:inset 0 1px rgba(255,255,255,.76),0 8px 20px rgba(11,35,54,.05);
    backdrop-filter:blur(12px);
}

/* Login cards remain the reference glass interaction used throughout. */
.login-role-card,.theme-choice {
  background:linear-gradient(145deg,rgba(var(--ds-surface-rgb),.84),rgba(var(--ds-surface-rgb),.64));
  border-color:rgba(var(--ds-surface-rgb),.72);
  box-shadow:inset 0 1px rgba(255,255,255,.72),0 8px 24px rgba(8,31,49,.055);
  backdrop-filter:blur(15px) saturate(1.15);
}
.login-role-card:hover,.theme-choice:hover {
  transform:translateY(-3px);
  border-color:color-mix(in srgb,var(--ds-primary) 32%,var(--ds-border));
  background:linear-gradient(145deg,rgba(var(--ds-surface-rgb),.94),rgba(var(--ds-surface-rgb),.72));
  box-shadow:var(--v32r-glass-shadow);
}

#dashboardView .enterprise-kpi-card:hover {
    transform:translateY(-4px);
    border-color:color-mix(in srgb,var(--metric-tone) 42%,var(--ds-border));
    border-inline-end-color:var(--metric-tone);
    background:
      radial-gradient(circle at 18% 8%,rgba(255,255,255,.88),transparent 42%),
      linear-gradient(145deg,rgba(var(--ds-surface-rgb),.90),rgba(var(--ds-surface-rgb),.64));
    box-shadow:var(--v32r-glass-shadow);
    backdrop-filter:blur(18px) saturate(1.22);
}

:is(html[data-theme="midnight"],html[data-app-theme="midnight"]) {
  --v32r-glass-border:rgba(255,255,255,.14);
  --v32r-glass-shadow:0 20px 48px rgba(0,0,0,.35),inset 0 1px rgba(255,255,255,.12);
}

@media (max-width:1500px) {
  .app-shell { grid-template-columns:246px minmax(0,1fr); }
  #dashboardView.enterprise-dashboard-view { padding-inline:28px; gap:22px !important; }
  #dashboardView .enterprise-command-hero { grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr) !important; padding-inline:38px; }
  #dashboardView .enterprise-health-stage { grid-template-columns:150px minmax(115px,1fr) !important; gap:16px; }
  #dashboardView .enterprise-health-gauge { width:150px; height:150px; }
  #dashboardView .enterprise-intelligence-grid { gap:15px !important; }
  #dashboardView .portfolio-health-layout { grid-template-columns:145px minmax(0,1fr) !important; gap:16px; }
  #dashboardView .portfolio-status-donut { width:142px; height:142px; }
}

@media (max-width:1180px) {
  #dashboardView .enterprise-metrics-grid { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
  #dashboardView .executive-intelligence-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  #dashboardView .executive-deadlines-card { grid-column:1/-1; }
  #dashboardView .enterprise-operations-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  #dashboardView .enterprise-activity-panel { grid-column:1/-1; }
}

@media (max-width:980px) {
  .app-shell { grid-template-columns:minmax(0,1fr); }
  .sidebar { width:min(286px,88vw); }
  .topbar { height:72px; padding-inline:16px; }
  .topbar h1 { font-size:19px; }
  #dashboardView.enterprise-dashboard-view { padding:18px 14px 38px; gap:16px !important; }
  #dashboardView .enterprise-command-hero { grid-template-columns:1fr !important; padding:26px; }
  #dashboardView .enterprise-health-stage { justify-content:start; }
  #dashboardView .executive-intelligence-grid,
  #dashboardView .enterprise-operations-grid,
  #dashboardView .enterprise-actions-row { grid-template-columns:1fr !important; }
  #dashboardView .executive-deadlines-card,#dashboardView .enterprise-activity-panel { grid-column:auto; }
  #dashboardView .enterprise-progress-row { grid-template-columns:1fr auto; }
  #dashboardView .enterprise-progress-row .progress-track { grid-column:1/-1; }
}

@media (max-width:680px) {
  .topbar-actions .document-button { display:none; }
  #dashboardView .enterprise-command-copy h2 { font-size:29px; }
  #dashboardView .enterprise-command-copy p { font-size:11px; }
  #dashboardView .enterprise-command-actions { direction:rtl; display:grid; grid-template-columns:1fr; }
  #dashboardView .enterprise-metrics-grid { grid-template-columns:1fr !important; }
  #dashboardView .enterprise-kpi-card { min-height:126px !important; }
  #dashboardView .enterprise-health-stage { grid-template-columns:1fr !important; justify-items:center; }
  #dashboardView .enterprise-health-notes { width:100%; }
  #dashboardView .portfolio-health-layout { grid-template-columns:1fr !important; justify-items:center; }
  #dashboardView .portfolio-status-legend { width:100%; }
  #dashboardView .enterprise-progress-row { grid-template-columns:1fr; }
  #dashboardView .enterprise-progress-row .progress-track { grid-column:auto; }
}

@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}

/* v0.32.4 dashboard binding pass — equal command panels, visible labels and active glass navigation. */
.app-shell { grid-template-columns:318px minmax(0,1fr) !important; }

.main-nav {
  overflow-y:auto;
  scrollbar-gutter:stable;
}

.nav-group-toggle {
  min-height:auto !important;
  padding:10px 9px !important;
  align-items:center;
}

.nav-item {
  min-height:56px !important;
  padding:8px 10px !important;
  align-items:center;
  overflow:visible !important;
}

.nav-label,
.group-copy {
  min-width:0;
}

.nav-label strong,
.nav-label small,
.group-copy strong,
.group-copy small {
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  line-height:1.35 !important;
}

.nav-label strong { font-size:12px !important; }
.nav-label small { margin-top:3px !important; font-size:9px !important; }
.group-copy strong { font-size:12px !important; }
.group-copy small { margin-top:2px !important; font-size:9px !important; }

.sidebar .nav-group,
.sidebar .nav-item,
.sidebar .nav-group-toggle,
.sidebar-system-card,
.sidebar-theme-picker,
.sidebar-density-picker,
.assigned-project-switcher,
.nav-search {
  backdrop-filter:blur(16px) saturate(1.16);
}

.sidebar .nav-item {
  background:linear-gradient(145deg,rgba(255,255,255,.036),rgba(255,255,255,.014));
  border-color:rgba(255,255,255,.045);
  box-shadow:inset 0 1px rgba(255,255,255,.035);
}

.sidebar .nav-item:hover {
  background:linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.045)) !important;
  border-color:rgba(255,255,255,.10);
  box-shadow:inset 0 1px rgba(255,255,255,.12),0 10px 26px rgba(0,0,0,.14);
}

.sidebar .nav-item.active {
  background:linear-gradient(135deg,rgba(255,255,255,.11),rgba(255,255,255,.045)) !important;
  border-color:rgba(210,170,105,.28);
  box-shadow:inset 0 1px rgba(255,255,255,.12),inset 3px 0 0 var(--v32r-gold-bright),0 12px 28px rgba(0,0,0,.16) !important;
}

:is(
  .panel,.metric-card,.project-card,.report-card,.workspace-metric,.table-card,
  .document-card,.team-member-card,.team-roster-card,.official-letter-register,
  .settlement-register-section,.notification-item,.communication-config-card,
  .engineering-org-chart,.project-team-roster,.section-toolbar,.filter-bar,
  .modal,.modal-header,.dropdown-menu,[class*="dropdown-menu"],[class*="popover"],
  .workspace-tab,.quick-actions button,.lifecycle-flow button,.deadline-row,
  .command-matrix-row,.portfolio-status-filter,.financial-command-bars button,
  .alert-filter-chip,.executive-activity-row,.progress-row
) {
  backdrop-filter:blur(16px) saturate(1.14);
}

:is(
  .panel,.metric-card,.project-card,.report-card,.workspace-metric,.table-card,
  .document-card,.team-member-card,.team-roster-card,.official-letter-register,
  .settlement-register-section,.notification-item,.communication-config-card,
  .engineering-org-chart,.project-team-roster,.section-toolbar,.filter-bar
) {
  background:linear-gradient(145deg,rgba(var(--ds-surface-rgb),.94),rgba(var(--ds-surface-rgb),.78)) !important;
  border-color:color-mix(in srgb,var(--ds-border) 76%,rgba(255,255,255,.62));
  box-shadow:0 12px 30px rgba(11,35,54,.07),inset 0 1px rgba(255,255,255,.58);
}

#dashboardView .enterprise-command-copy h2 {
  font-size:clamp(25px,2vw,34px) !important;
  line-height:1.18 !important;
}

#dashboardView .enterprise-command-copy p {
  font-size:12.5px !important;
}

#dashboardView .enterprise-metrics-grid {
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:16px !important;
}

#dashboardView .enterprise-kpi-card {
  min-height:136px !important;
  justify-content:flex-start !important;
  padding:18px 18px 16px !important;
  border:1px solid color-mix(in srgb,var(--metric-tone) 22%,var(--ds-border)) !important;
  border-inline-end:4px solid var(--metric-tone) !important;
  background:
    radial-gradient(circle at 12% 8%,rgba(255,255,255,.68),transparent 38%),
    linear-gradient(145deg,rgba(var(--ds-surface-rgb),.90),rgba(var(--ds-surface-rgb),.66)) !important;
  box-shadow:0 14px 34px rgba(11,35,54,.08),inset 0 1px rgba(255,255,255,.72) !important;
}

#dashboardView .enterprise-kpi-card .metric-top {
  top:15px;
  inset-inline-end:15px;
}

#dashboardView .enterprise-kpi-card>p {
  padding-inline-end:54px;
  font-size:11.5px !important;
}

#dashboardView .dashboard-metric-value h3 {
  font-size:24px !important;
}

#dashboardView .metric-source-chip {
  order:4;
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  margin-top:10px;
  padding:4px 9px;
  border:1px solid rgba(var(--metric-rgb),.20);
  border-radius:999px;
  color:color-mix(in srgb,var(--metric-tone) 74%,var(--ds-heading));
  background:rgba(var(--metric-rgb),.075);
  font-size:8.5px;
  font-weight:850;
  line-height:1.3;
}

#dashboardView .executive-intelligence-grid,
#dashboardView .enterprise-main-grid {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:20px !important;
  align-items:stretch !important;
  grid-auto-rows:360px !important;
}

#dashboardView .executive-intelligence-grid>.panel,
#dashboardView .enterprise-main-grid>.panel {
  grid-column:auto !important;
  height:360px !important;
  min-height:360px !important;
  max-height:360px !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
  padding:21px 22px !important;
}

#dashboardView .enterprise-main-grid>.panel {
  min-width:0;
}

#dashboardView .executive-panel-head {
  flex:0 0 auto;
  min-height:0 !important;
  margin-bottom:12px !important;
  gap:10px;
}

#dashboardView .executive-panel-head h3 {
  font-size:19px !important;
  line-height:1.3 !important;
}

#dashboardView .executive-panel-head p {
  font-size:10px !important;
  line-height:1.55 !important;
}

#dashboardView .portfolio-health-layout,
#dashboardView .executive-financial-snapshot,
#dashboardView .executive-deadline-list,
#dashboardView .enterprise-progress-list,
#dashboardView .alerts-list,
#dashboardView .project-command-matrix,
#dashboardView .portfolio-trend-chart,
#dashboardView .executive-activity-list,
#dashboardView .quick-actions {
  min-height:0 !important;
}

#dashboardView .portfolio-health-layout {
  flex:1 1 auto;
  grid-template-columns:142px minmax(0,1fr) !important;
  gap:16px !important;
  margin-top:4px !important;
}

#dashboardView .portfolio-status-donut {
  width:138px !important;
  height:138px !important;
}

#dashboardView .portfolio-status-donut b { font-size:31px !important; }

#dashboardView .portfolio-status-legend {
  max-height:214px;
  overflow:auto;
  padding-inline-end:3px;
}

#dashboardView .financial-command-bars {
  flex:1 1 auto;
  overflow:auto;
  padding-inline-end:3px;
}

#dashboardView .executive-deadline-list,
#dashboardView .enterprise-progress-list,
#dashboardView .alerts-list,
#dashboardView .project-command-matrix {
  flex:1 1 auto;
  max-height:none !important;
  height:auto !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding-inline-end:5px !important;
  scrollbar-gutter:stable !important;
}

#dashboardView .dashboard-alerts-panel .alerts-list {
  border-bottom:0;
  padding-bottom:0;
}

#dashboardView .alert-status-legend {
  flex:0 0 auto;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
  margin-top:10px;
  padding-top:8px;
  border-top:1px solid color-mix(in srgb,var(--ds-border) 82%,transparent);
}

#dashboardView .alert-filter-chip {
  min-height:29px;
  padding:5px 7px;
  border-radius:9px;
  font-size:8.5px;
}

#dashboardView .alert-filter-chip:first-child {
  grid-column:1/-1;
}

#dashboardView .enterprise-progress-row {
  min-height:74px;
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:7px 10px;
  padding:9px 10px;
}

#dashboardView .enterprise-progress-row .progress-track {
  grid-column:1/-1;
}

#dashboardView .enterprise-progress-row>em {
  display:none;
}

#dashboardView .progress-project-identity {
  min-width:0;
}

#dashboardView .progress-project-identity small,
#dashboardView .dashboard-project-title {
  white-space:normal;
}

#dashboardView .command-matrix-row {
  min-height:66px;
  grid-template-columns:30px minmax(0,1fr) auto !important;
  gap:6px 9px;
  padding:9px 10px;
}

#dashboardView .command-progress {
  grid-column:2/-1;
}

#dashboardView .command-schedule {
  grid-column:2;
}

#dashboardView .command-risk {
  grid-row:1;
  grid-column:3;
}

#dashboardView .enterprise-operations-grid {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:20px !important;
  align-items:stretch !important;
  grid-auto-rows:318px !important;
}

#dashboardView .enterprise-operations-grid>.panel {
  height:318px !important;
  min-height:318px !important;
  max-height:318px !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
  padding:20px 22px !important;
}

#dashboardView .enterprise-quick-actions-panel .quick-actions {
  flex:1 1 auto;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:9px !important;
  overflow-y:auto;
  padding-inline-end:3px;
}

#dashboardView .quick-actions button {
  min-height:76px !important;
  padding:10px !important;
  border:1px solid color-mix(in srgb,var(--ds-border) 82%,rgba(255,255,255,.65));
  background:linear-gradient(145deg,rgba(var(--ds-surface-rgb),.84),rgba(var(--ds-surface-rgb),.62)) !important;
}

#dashboardView .enterprise-trend-panel .portfolio-trend-chart,
#dashboardView .enterprise-activity-panel .executive-activity-list {
  flex:1 1 auto;
  overflow:auto !important;
  max-height:none !important;
  height:auto !important;
  padding-inline-end:3px;
}

#dashboardView .enterprise-trend-panel .portfolio-trend-chart {
  grid-template-rows:minmax(0,1fr) auto !important;
}

#dashboardView .enterprise-actions-row {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) !important;
  gap:20px !important;
  align-items:start !important;
}

#dashboardView .enterprise-actions-row>.enterprise-lifecycle-panel {
  grid-column:1/-1 !important;
  height:auto !important;
  min-height:210px !important;
  max-height:none !important;
  overflow:visible !important;
}

#dashboardView .lifecycle-flow {
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
}

#dashboardView .lifecycle-flow button {
  min-height:86px !important;
  background:linear-gradient(145deg,rgba(var(--ds-surface-rgb),.84),rgba(var(--ds-surface-rgb),.62)) !important;
}

#dashboardView ::-webkit-scrollbar {
  display:block !important;
  width:8px;
  height:8px;
}

#dashboardView ::-webkit-scrollbar-track {
  background:rgba(148,163,184,.12);
  border-radius:999px;
}

#dashboardView ::-webkit-scrollbar-thumb {
  background:rgba(100,116,139,.38);
  border-radius:999px;
}

#dashboardView * {
  scrollbar-width:thin !important;
  scrollbar-color:rgba(100,116,139,.42) rgba(148,163,184,.12) !important;
}

.workspace-source-empty {
  display:grid;
  gap:7px;
  padding:22px;
  text-align:center;
}

.workspace-source-empty strong {
  color:var(--ds-heading);
  font-size:15px;
}

.workspace-source-empty span {
  color:var(--ds-muted);
  font-size:11px;
  line-height:1.7;
}

@media (max-width:1500px) {
  .app-shell { grid-template-columns:300px minmax(0,1fr) !important; }
  #dashboardView .executive-intelligence-grid,
  #dashboardView .enterprise-main-grid,
  #dashboardView .enterprise-operations-grid {
    gap:16px !important;
  }
  #dashboardView .executive-intelligence-grid,
  #dashboardView .enterprise-main-grid {
    grid-auto-rows:350px !important;
  }
  #dashboardView .executive-intelligence-grid>.panel,
  #dashboardView .enterprise-main-grid>.panel {
    height:350px !important;
    min-height:350px !important;
    max-height:350px !important;
  }
  #dashboardView .lifecycle-flow {
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}

@media (max-width:1180px) {
  .app-shell { grid-template-columns:280px minmax(0,1fr) !important; }
  #dashboardView .enterprise-metrics-grid {
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
  #dashboardView .executive-intelligence-grid,
  #dashboardView .enterprise-main-grid,
  #dashboardView .enterprise-operations-grid {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    grid-auto-rows:auto !important;
  }
  #dashboardView .executive-intelligence-grid>.panel,
  #dashboardView .enterprise-main-grid>.panel,
  #dashboardView .enterprise-operations-grid>.panel {
    height:360px !important;
    min-height:360px !important;
    max-height:360px !important;
  }
}

@media (max-width:980px) {
  .app-shell { grid-template-columns:minmax(0,1fr) !important; }
  .sidebar { width:min(320px,92vw) !important; }
  #dashboardView .executive-intelligence-grid,
  #dashboardView .enterprise-main-grid,
  #dashboardView .enterprise-operations-grid,
  #dashboardView .enterprise-actions-row {
    grid-template-columns:1fr !important;
  }
  #dashboardView .executive-intelligence-grid>.panel,
  #dashboardView .enterprise-main-grid>.panel,
  #dashboardView .enterprise-operations-grid>.panel {
    height:auto !important;
    min-height:300px !important;
    max-height:none !important;
  }
  #dashboardView .lifecycle-flow {
    grid-template-columns:1fr 1fr !important;
  }
}

@media (max-width:680px) {
  #dashboardView .enterprise-command-copy h2 { font-size:26px !important; }
  #dashboardView .enterprise-metrics-grid { grid-template-columns:1fr !important; }
  #dashboardView .lifecycle-flow,
  #dashboardView .enterprise-quick-actions-panel .quick-actions {
    grid-template-columns:1fr !important;
  }
}

/* Sidebar correction: glass belongs to the pointed item, not the whole menu group. */
.sidebar .nav-group,
.sidebar .nav-group:hover,
.sidebar .nav-group.open {
  backdrop-filter:none !important;
  background:rgba(255,255,255,.018) !important;
  box-shadow:none !important;
}

.sidebar .nav-group::after,
.sidebar .nav-group-toggle::after {
  display:none !important;
}

.sidebar .nav-group-toggle,
.sidebar .nav-group-toggle:hover {
  overflow:visible !important;
  isolation:auto !important;
  backdrop-filter:none !important;
  background:transparent !important;
  box-shadow:none !important;
}

.sidebar .nav-group-toggle:hover {
  background:rgba(255,255,255,.035) !important;
}

.sidebar .nav-item {
  position:relative;
  isolation:isolate;
  overflow:hidden !important;
  backdrop-filter:none !important;
  background:transparent !important;
  box-shadow:none !important;
}

.sidebar .nav-item::after {
  content:"" !important;
  position:absolute !important;
  z-index:0 !important;
  inset:0 !important;
  width:auto !important;
  pointer-events:none !important;
  transform:none !important;
  opacity:0 !important;
  border-radius:inherit;
  background:
    linear-gradient(115deg,transparent 0 26%,rgba(255,255,255,.16) 42%,transparent 58%),
    linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.035)) !important;
  transition:opacity .18s ease !important;
}

.sidebar .nav-item:hover::after {
  opacity:1 !important;
  transform:none !important;
}

.sidebar .nav-item > * {
  position:relative;
  z-index:1;
}

.sidebar .nav-item:hover {
  color:#fff;
  border-color:rgba(255,255,255,.10);
  background:transparent !important;
  box-shadow:0 10px 24px rgba(0,0,0,.10) !important;
}

.sidebar .nav-item.active {
  background:#162a3c !important;
  border-color:rgba(210,170,105,.28);
  box-shadow:inset 3px 0 0 var(--v32r-gold-bright) !important;
}

.sidebar .nav-item.active:hover::after {
  opacity:.55 !important;
}

.sidebar .nav-item.active::before {
  z-index:2;
}

/* v0.32.4 — final sidebar and page-spacing correction. */
.view:not(#dashboardView) {
  padding-top:12px !important;
}

.view:not(#dashboardView)>:first-child {
  margin-top:0 !important;
}

#workspaceView,
#projectsView,
#daily-reportsView,
#procurementView,
#departmentsView,
#hrView,
#system-consoleView,
#projectWorkspaceView {
  align-content:start !important;
  scroll-margin-top:0 !important;
}

/* Keep every project sub-page attached directly to the application header. */
#projectWorkspaceView.active {
  display:block !important;
  padding-top:12px !important;
  min-height:0 !important;
}
#projectWorkspaceView .project-workspace-layout,
#projectWorkspaceView .project-workspace-main,
#projectWorkspaceView #projectWorkspaceContent {
  align-self:start !important;
  margin-top:0 !important;
  padding-top:0 !important;
}

#workspaceView .workspace-hero,
.view:not(#dashboardView) .section-toolbar,
.view:not(#dashboardView) .project-workspace-head {
  margin-top:0 !important;
  margin-bottom:12px !important;
}

.sidebar .nav-group,
.sidebar .nav-group:hover,
.sidebar .nav-group.open,
.sidebar .nav-group:focus-within {
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  filter:none !important;
  backdrop-filter:none !important;
}

.sidebar .nav-group,
.sidebar .nav-group:hover,
.sidebar .nav-group.open {
  border-color:rgba(var(--group-rgb),.14) !important;
  border-inline-start-color:rgba(var(--group-rgb),.46) !important;
}

.sidebar .nav-group::before,
.sidebar .nav-group::after,
.sidebar .nav-group-toggle::before,
.sidebar .nav-group-toggle::after {
  content:none !important;
  display:none !important;
  opacity:0 !important;
}

/* v0.32.5 — deterministic page origin and optional interface sound control. */
.main-content {
  align-self:start !important;
  min-height:100vh;
}

.main-content > .view,
.main-content > .view.active {
  align-content:normal !important;
  justify-content:normal !important;
  place-content:normal !important;
  min-height:0 !important;
  margin-block-start:0 !important;
  transform-origin:top center;
}

.main-content > .view.active {
  display:block !important;
}

.main-content > .view.active > :first-child {
  margin-block-start:0 !important;
}

.sidebar-sound-setting {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:8px;
  padding:9px 10px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:13px;
  background:rgba(255,255,255,.05);
  color:#fff;
}
.sidebar-sound-setting span,.sidebar-sound-setting strong,.sidebar-sound-setting small { display:block; }
.sidebar-sound-setting strong { font-size:11px; }
.sidebar-sound-setting small { margin-top:2px;color:rgba(255,255,255,.55);font-size:8px; }
.sidebar-sound-setting input { width:34px;height:18px;flex:0 0 auto;accent-color:var(--ds-accent);cursor:pointer; }
.sidebar-music-controls{display:grid;gap:7px;padding:8px 10px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(255,255,255,.035)}
.sidebar-music-controls label{display:grid;grid-template-columns:82px minmax(0,1fr);gap:7px;align-items:center;color:rgba(255,255,255,.7);font-size:9px;font-weight:800}
.sidebar-music-controls select{min-width:0;width:100%;height:28px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#102437;color:#fff;font-family:inherit;font-size:9px;padding-inline:6px}
.sidebar-music-controls input[type="range"]{width:100%;accent-color:var(--ds-accent);cursor:pointer}

.reports-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}
.reports-type-column{min-width:0;padding:12px;border:1px solid var(--ds-border);border-radius:var(--ds-radius-lg);background:color-mix(in srgb,var(--ds-surface) 94%,var(--ds-primary) 6%);box-shadow:var(--ds-shadow-sm)}
.reports-type-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.reports-type-head div{display:flex;align-items:center;gap:8px}.reports-type-head span{font-weight:900;color:var(--ds-heading)}.reports-type-head strong{display:grid;place-items:center;min-width:25px;height:25px;border-radius:999px;background:var(--ds-selected);color:var(--ds-primary);font-size:10px}
.reports-type-scroll{display:grid;gap:10px;max-height:calc(100vh - 235px);overflow:auto;padding-inline-end:3px}.reports-type-column .report-card{margin:0;padding:14px}.reports-type-column .report-footer{align-items:flex-start;gap:8px;flex-direction:column}.reports-type-column .row-actions{flex-wrap:wrap}
.gantt-edit-activity{width:max-content;margin-top:5px;padding:3px 7px;border:1px solid color-mix(in srgb,var(--ds-primary) 30%,var(--ds-border));border-radius:8px;background:var(--ds-surface);color:var(--ds-primary);font:800 8px Cairo,sans-serif;cursor:pointer}
@media(max-width:1100px){.reports-type-grid{grid-template-columns:1fr}.reports-type-scroll{max-height:520px}}

.sidebar .nav-group-toggle,
.sidebar .nav-group-toggle:hover,
.sidebar .nav-group.open .nav-group-toggle {
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  filter:none !important;
  backdrop-filter:none !important;
  transform:none !important;
}

.sidebar .nav-item {
  background:transparent !important;
  background-image:none !important;
  filter:none !important;
  backdrop-filter:none !important;
  box-shadow:none !important;
}

.sidebar .nav-item:hover,
.sidebar .nav-item:focus-visible {
  background:transparent !important;
  background-image:none !important;
  box-shadow:0 8px 18px rgba(0,0,0,.10) !important;
}

.sidebar .nav-item:hover::after,
.sidebar .nav-item:focus-visible::after {
  content:"" !important;
  display:block !important;
  position:absolute !important;
  z-index:0 !important;
  inset:0 !important;
  border-radius:inherit !important;
  opacity:1 !important;
  pointer-events:none !important;
  background:
    linear-gradient(110deg,transparent 0 30%,rgba(255,255,255,.18) 45%,transparent 60%),
    rgba(255,255,255,.055) !important;
  transform:none !important;
}

.sidebar .nav-item.active {
  background:#162a3c !important;
  background-image:none !important;
  box-shadow:inset 3px 0 0 var(--v32r-gold-bright) !important;
}

.sidebar .nav-item.active:hover::after {
  opacity:.32 !important;
}

/* v0.32.4 project payroll and Gantt control surfaces */
.glossy-panel,
.payroll-hero,
.ai-gantt-bridge,
.gantt-control-board,
.payroll-control-grid>.panel {
  position:relative;
  overflow:hidden;
  border:1px solid rgba(148,163,184,.26);
  background:
    linear-gradient(135deg,rgba(255,255,255,.92),rgba(255,255,255,.72)),
    radial-gradient(circle at 15% 15%,rgba(45,128,191,.12),transparent 34%),
    radial-gradient(circle at 85% 5%,rgba(211,155,55,.14),transparent 30%);
  box-shadow:0 18px 42px rgba(15,35,52,.10);
  backdrop-filter:blur(18px) saturate(1.25);
}

.glossy-panel::after,
.payroll-control-grid>.panel::after,
.gantt-control-board::after {
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:42%;
  height:100%;
  pointer-events:none;
  background:linear-gradient(110deg,transparent,rgba(255,255,255,.28),transparent);
  transform:skewX(-14deg) translateX(-120%);
  transition:transform .65s ease;
}

.glossy-panel:hover::after,
.payroll-control-grid>.panel:hover::after,
.gantt-control-board:hover::after {
  transform:skewX(-14deg) translateX(230%);
}

.payroll-hero {
  border-radius:26px;
  padding:22px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  margin-bottom:16px;
}

.payroll-hero-copy h4,
.ai-gantt-bridge h4,
.gantt-header h4 {
  margin:3px 0 6px;
  color:#0b253c;
  font-size:24px;
  font-weight:900;
}

.payroll-hero-copy p,
.ai-gantt-bridge p,
.gantt-header p {
  margin:0;
  color:#60758a;
  line-height:1.8;
}

.payroll-period-control {
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px;
  border-radius:18px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(148,163,184,.28);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75);
}

.payroll-period-control input {
  min-width:160px;
  border:0;
  background:transparent;
  font-weight:900;
  color:#102a43;
}

.payroll-metrics .project-mini-metric {
  border-radius:20px;
  background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(245,249,252,.82));
  box-shadow:0 14px 30px rgba(15,35,52,.08);
}

.payroll-control-grid {
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);
  gap:16px;
  margin:16px 0;
}

.payroll-control-grid>.panel {
  border-radius:24px;
  padding:18px;
}

.payroll-source-flow,
.ai-gantt-steps {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:9px;
  margin-top:12px;
}

.payroll-source-flow span,
.ai-gantt-steps span {
  padding:9px 12px;
  border-radius:999px;
  background:rgba(11,43,68,.08);
  color:#102a43;
  font-weight:850;
}

.payroll-source-flow i,
.ai-gantt-steps i {
  width:28px;
  height:2px;
  border-radius:99px;
  background:linear-gradient(90deg,#2d80bf,#d39b37);
}

.payroll-source-stats {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:16px;
}

.payroll-source-stats div {
  padding:13px;
  border-radius:18px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(148,163,184,.18);
}

.payroll-source-stats b {
  display:block;
  color:#0b253c;
  font-size:22px;
}

.payroll-policy-card ul {
  margin:12px 0 0;
  padding:0 18px 0 0;
  color:#496478;
  line-height:2;
}

.project-payroll-table tbody tr {
  transition:background .18s ease,transform .18s ease;
}

.project-payroll-table tbody tr:hover {
  background:rgba(45,128,191,.055);
  transform:translateY(-1px);
}

.project-payroll-table td strong,
.project-payroll-table td small {
  display:block;
}

.payroll-type-chip {
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(45,128,191,.10);
  color:#0b5d91;
  font-weight:900;
}

.payroll-missing-rate {
  background:rgba(245,158,11,.08);
}

.ai-gantt-bridge {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:16px;
  align-items:center;
  border-radius:24px;
  padding:18px;
  margin:16px 0;
}

.gantt-control-board {
  border-radius:26px;
  padding:13px;
  margin:12px 0;
}

.gantt-control-board.empty {
  padding:24px;
}

.gantt-header {
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  margin-bottom:10px;
}

.gantt-header-tools{display:grid;gap:7px;justify-items:end}
.gantt-column-controls{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.gantt-column-controls label{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:5px 9px;border:1px solid rgba(148,163,184,.24);border-radius:10px;background:rgba(255,255,255,.72);color:#3d5d73;font-size:10px;font-weight:850;cursor:pointer}
.gantt-column-controls input{width:15px;height:15px;margin:0;accent-color:var(--ds-primary,#0b5d91)}

.gantt-range {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border-radius:16px;
  background:rgba(15,43,65,.08);
  color:#102a43;
  white-space:nowrap;
}

.gantt-feature-strip {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:-2px 0 9px;
}

.gantt-feature-strip span {
  padding:5px 9px;
  border-radius:999px;
  background:rgba(15,76,129,.08);
  border:1px solid rgba(15,76,129,.10);
  color:#31566f;
  font-size:11px;
  font-weight:900;
}

/* v0.35.0 — Primavera/MS Project inspired RTL schedule matrix. */
.gantt-table-shell{--gantt-row-height:42px;--gantt-head-height:38px;display:grid;grid-template-columns:minmax(430px,.95fr) minmax(720px,1.55fr);direction:rtl;max-width:100%;overflow:auto;border:1px solid rgba(148,163,184,.28);border-radius:14px;background:rgba(255,255,255,.72);box-shadow:inset 0 1px 0 rgba(255,255,255,.85);scrollbar-gutter:stable}
.gantt-table-shell.details-visible{grid-template-columns:minmax(640px,1.16fr) minmax(720px,1.55fr)}
.gantt-data-pane,.gantt-chart-pane{min-width:0;background:rgba(255,255,255,.66)}
.gantt-data-pane{border-inline-end:1px solid rgba(148,163,184,.28)}
.gantt-data-head,.gantt-data-row{display:grid;grid-template-columns:minmax(220px,1fr) 102px 102px;align-items:stretch;min-width:430px}
.details-visible .gantt-data-head,.details-visible .gantt-data-row{grid-template-columns:minmax(210px,.9fr) 98px 98px minmax(220px,1fr);min-width:640px}
.gantt-data-head{position:sticky;top:0;z-index:8;height:var(--gantt-head-height);background:rgba(239,246,250,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(148,163,184,.32);color:#28495f;font-size:10px;font-weight:900}
.gantt-data-head>span{display:flex;align-items:center;padding-inline:10px;border-inline-end:1px solid rgba(148,163,184,.22)}
.gantt-data-head>span:nth-child(2),.gantt-data-head>span:nth-child(3){justify-content:center;padding-inline:4px}
.details-hidden .gantt-detail-head,.details-hidden .gantt-detail-cell{display:none}
.gantt-data-row{height:var(--gantt-row-height);border-bottom:1px solid rgba(148,163,184,.18);background:rgba(255,255,255,.72);transition:background .16s ease}
.gantt-data-row:nth-child(odd){background:rgba(245,249,252,.72)}
.gantt-data-row:hover{background:color-mix(in srgb,var(--ds-primary,#0b5d91) 7%,#fff)}
.gantt-data-row.summary{background:color-mix(in srgb,var(--ds-primary,#0b5d91) 9%,#fff);font-weight:900}
.gantt-data-row.critical{box-shadow:inset -3px 0 0 #d97706}
.gantt-data-row.unscheduled{opacity:.7}
.gantt-title-cell,.gantt-data-row>time,.gantt-detail-cell{min-width:0;border-inline-end:1px solid rgba(148,163,184,.17)}
.gantt-title-cell{display:flex;align-items:center;padding-inline:10px;overflow:hidden}
.gantt-title-cell button,.gantt-title-cell>span{display:block;width:100%;min-width:0;border:0;background:transparent;color:#16384f;font:850 11px Cairo,sans-serif;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gantt-title-cell button{cursor:pointer}.gantt-title-cell button:hover{color:var(--ds-primary,#0b5d91);text-decoration:underline;text-underline-offset:3px}
.gantt-data-row.level-1 .gantt-title-cell{padding-inline-start:22px}.gantt-data-row.level-2 .gantt-title-cell{padding-inline-start:36px}
.gantt-data-row>time{display:grid;place-items:center;padding:3px;color:#506b7e;font-size:9.5px;font-weight:800;white-space:nowrap}
.gantt-detail-cell{display:grid;align-content:center;gap:1px;padding:3px 8px;overflow:hidden;color:#60798a}
.gantt-detail-cell span,.gantt-detail-cell em{display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:8px;line-height:1.3;font-style:normal}
.gantt-detail-cell b{color:#0b5d91}.gantt-detail-cell em{color:#7d5b20}
.gantt-chart-pane{min-width:720px;overflow:hidden}
.gantt-chart-pane .gantt-scale{position:sticky;top:0;z-index:8;height:var(--gantt-head-height);min-height:var(--gantt-head-height);direction:rtl;background:rgba(239,246,250,.96);border-bottom:1px solid rgba(148,163,184,.32);backdrop-filter:blur(12px)}
.gantt-chart-pane .gantt-scale span{font-size:9px}
.gantt-chart-pane .gantt-today{inset-inline-start:var(--left);top:0;bottom:auto;height:calc(var(--gantt-head-height) + var(--gantt-row-count,1)*var(--gantt-row-height));z-index:6}
.gantt-chart-rows{position:relative;direction:rtl;min-height:calc(var(--gantt-row-count)*var(--gantt-row-height))}
.gantt-chart-rows .gantt-row-track{height:var(--gantt-row-height);min-height:var(--gantt-row-height);min-width:720px;direction:rtl;border-bottom:1px solid rgba(148,163,184,.18);background:linear-gradient(90deg,rgba(148,163,184,.15) 1px,transparent 1px) 0 0/12.5% 100%,linear-gradient(180deg,rgba(255,255,255,.82),rgba(247,250,252,.7))}
.gantt-chart-rows .gantt-row-track:nth-child(even){background:linear-gradient(90deg,rgba(148,163,184,.15) 1px,transparent 1px) 0 0/12.5% 100%,linear-gradient(180deg,rgba(248,251,253,.88),rgba(242,247,250,.72))}
.gantt-chart-rows .gantt-row-track.critical{background:linear-gradient(90deg,rgba(217,119,6,.12) 1px,transparent 1px) 0 0/12.5% 100%,linear-gradient(180deg,rgba(255,251,235,.74),rgba(255,247,237,.5))}
.gantt-chart-rows .gantt-row-track.unscheduled{display:grid;place-items:center;background:repeating-linear-gradient(135deg,rgba(148,163,184,.08) 0,rgba(148,163,184,.08) 6px,transparent 6px,transparent 12px)}
.gantt-unscheduled-note{color:#8795a1;font-size:9px;font-weight:800}
.gantt-chart-rows .gantt-baseline-bar{z-index:1;inset-block-start:5px;height:4px}
.gantt-chart-rows .gantt-bar{z-index:3;inset-block-start:50%;min-width:0;height:18px;border-radius:6px;box-shadow:0 5px 12px rgba(15,35,52,.16)}
.gantt-chart-rows .gantt-bar::before{inset-block:0;inset-inline-start:0;inset-inline-end:auto;background:linear-gradient(270deg,#1f8f7a,#55d6a8)}
.gantt-chart-rows .gantt-bar.has-progress::after{inset-block:0;inset-inline-start:0;inset-inline-end:auto}
.gantt-chart-rows .gantt-bar.status-delayed::before{background:linear-gradient(270deg,#d97706,#fbbf24)}
.gantt-chart-rows .gantt-bar.status-on_hold::before{background:linear-gradient(270deg,#64748b,#94a3b8)}
.gantt-chart-rows .gantt-bar.status-completed::before{background:linear-gradient(270deg,#15803d,#22c55e)}
.gantt-chart-rows .gantt-bar span,.gantt-chart-rows .gantt-bar em{padding-inline:5px;font-size:8px;line-height:18px}
.gantt-chart-rows .gantt-planned-marker{z-index:4;top:8px;bottom:8px}
.gantt-chart-rows .gantt-report-link{z-index:5;inset-inline-start:var(--left);top:27px;transform:translateX(50%);padding:1px 5px;font-size:7px;line-height:1.25;white-space:nowrap}
.gantt-milestone{position:absolute;z-index:4;inset-inline-start:var(--left);top:50%;width:18px;height:18px;transform:translate(50%,-50%);color:#16816d}
.gantt-milestone i{display:block;width:13px;height:13px;margin:2px;background:currentColor;border:2px solid rgba(255,255,255,.9);transform:rotate(45deg);box-shadow:0 4px 9px rgba(15,35,52,.22)}
.gantt-milestone span{position:absolute;inset:auto 18px 1px auto;min-width:30px;color:#28495f;font-size:7px;font-weight:900;white-space:nowrap}.gantt-milestone.critical{color:#d97706}
.gantt-dependency-layer{position:absolute;inset:0;z-index:4;width:100%;height:100%;overflow:visible;pointer-events:none}
.gantt-dependency-path{fill:none;stroke:#55778f;stroke-width:1.25;vector-effect:non-scaling-stroke;opacity:.82}
.gantt-dependency-path.critical{stroke:#c66e18;stroke-width:1.7}.gantt-dependency-origin{fill:#fff;stroke:#55778f;stroke-width:1;vector-effect:non-scaling-stroke}.gantt-dependency-layer marker path{fill:#55778f}
.gantt-legend .dependency{height:2px;border-radius:0;background:#55778f;position:relative}.gantt-legend .dependency::after{content:"";position:absolute;left:-1px;top:-3px;border:4px solid transparent;border-right-color:#55778f}

.gantt-timeline {
  position:relative;
  display:grid;
  grid-template-columns:minmax(190px,260px) minmax(520px,1fr);
  gap:0 12px;
  overflow:auto;
  padding-bottom:6px;
}

.gantt-label-head,
.gantt-scale {
  position:sticky;
  top:0;
  z-index:2;
  min-height:40px;
  border-bottom:1px solid rgba(148,163,184,.28);
  background:rgba(248,251,253,.92);
  backdrop-filter:blur(10px);
}

.gantt-label-head {
  display:flex;
  align-items:center;
  padding-inline:12px;
  border-radius:14px 14px 0 0;
  font-weight:900;
  color:#102a43;
}

.gantt-scale {
  position:relative;
  display:flex;
  justify-content:space-between;
  align-items:center;
  min-width:620px;
  padding-inline:8px;
  color:#708397;
  font-size:11px;
  font-weight:800;
}

.gantt-today {
  position:absolute;
  top:0;
  bottom:0;
  width:2px;
  background:#d39b37;
  box-shadow:0 0 0 4px rgba(211,155,55,.12);
}

.gantt-row-label,
.gantt-row-track {
  min-height:62px;
  border-bottom:1px solid rgba(148,163,184,.20);
}

.gantt-row-label {
  display:grid;
  align-content:center;
  gap:2px;
  padding:9px 12px;
  color:#102a43;
}

.gantt-row-label strong {
  font-size:12px;
  color:#0b5d91;
}

.gantt-row-label span {
  font-weight:900;
}

.gantt-row-label small {
  color:#708397;
}

.gantt-row-label em {
  color:#8a9aad;
  font-size:10px;
  font-style:normal;
}
.gantt-row-label.level-1{padding-inline-start:24px;background:linear-gradient(90deg,color-mix(in srgb,var(--ds-primary) 5%,transparent),transparent)}
.gantt-row-label.level-2{padding-inline-start:40px}
.gantt-row-label.summary{border-inline-start:4px solid color-mix(in srgb,var(--ds-primary) 72%,transparent);background:color-mix(in srgb,var(--ds-primary) 8%,var(--ds-surface))}
.gantt-row-label.summary>span{font-weight:900;color:var(--ds-primary)}
.gantt-range>small{display:block;width:100%;color:var(--ds-muted,var(--muted,#708397));font-size:8px;font-weight:800;text-align:center}
.gantt-feature-strip .gantt-range-warning{border-color:color-mix(in srgb,#d97706 50%,transparent);background:color-mix(in srgb,#f59e0b 12%,var(--ds-surface));color:#9a4d08}
.gantt-timeline .gantt-row-track.outside-range{background:repeating-linear-gradient(135deg,color-mix(in srgb,#dc2626 5%,var(--ds-surface)) 0,color-mix(in srgb,#dc2626 5%,var(--ds-surface)) 8px,transparent 8px,transparent 16px)}

.gantt-row-label.critical {
  border-inline-start:3px solid #d97706;
  background:linear-gradient(90deg,rgba(217,119,6,.08),transparent 48%);
}

.gantt-row-track {
  position:relative;
  min-width:620px;
  background:
    linear-gradient(90deg,rgba(148,163,184,.16) 1px,transparent 1px) 0 0 / 20% 100%,
    linear-gradient(180deg,rgba(255,255,255,.76),rgba(246,250,253,.62));
}

.gantt-row-track.critical {
  background:
    linear-gradient(90deg,rgba(217,119,6,.12) 1px,transparent 1px) 0 0 / 20% 100%,
    linear-gradient(180deg,rgba(255,251,235,.72),rgba(255,247,237,.52));
}

.gantt-baseline-bar {
  position:absolute;
  inset-block-start:10px;
  inset-inline-start:var(--left);
  width:var(--width);
  height:7px;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(11,93,145,.24),rgba(11,93,145,.10));
  border:1px dashed rgba(11,93,145,.45);
}

.gantt-baseline-bar::after {
  content:"";
  display:block;
  width:var(--planned);
  height:100%;
  border-radius:inherit;
  background:rgba(11,93,145,.38);
}

.gantt-bar {
  position:absolute;
  inset-block-start:50%;
  inset-inline-start:var(--left);
  width:var(--width);
  min-width:54px;
  height:28px;
  transform:translateY(-50%);
  border-radius:999px;
  overflow:hidden;
  background:linear-gradient(90deg,#b8c6d4,#d8e1ea);
  box-shadow:0 10px 20px rgba(15,35,52,.14);
}

.gantt-bar::before {
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:var(--done);
  background:linear-gradient(90deg,#1f8f7a,#55d6a8);
}

.gantt-bar.has-progress::after {
  content:"";
  position:absolute;
  z-index:2;
  inset:0 auto 0 0;
  width:var(--done);
  max-width:100%;
  border-radius:inherit;
  pointer-events:none;
  background:
    radial-gradient(circle at 10px 50%,rgba(255,255,255,.58) 0 2px,transparent 3px),
    linear-gradient(115deg,transparent 0 18%,rgba(255,255,255,.32) 30%,transparent 46%);
  background-size:42px 100%,90px 100%;
  opacity:0;
  transform:translateX(-18px);
}

.gantt-bar.has-progress:hover::after,
.gantt-row-track:hover .gantt-bar.has-progress::after {
  opacity:1;
  animation:gantt-progress-wave 1.15s ease-in-out infinite;
}

.gantt-bar.no-progress::after {
  content:none;
}

@keyframes gantt-progress-wave {
  0% { background-position:-86px 0,-120px 0; transform:translateX(-12px); }
  50% { transform:translateX(4px); }
  100% { background-position:86px 0,120px 0; transform:translateX(12px); }
}

.gantt-bar.status-delayed::before {
  background:linear-gradient(90deg,#d97706,#fbbf24);
}

.gantt-bar.status-on_hold::before {
  background:linear-gradient(90deg,#64748b,#94a3b8);
}

.gantt-bar.status-completed::before {
  background:linear-gradient(90deg,#15803d,#22c55e);
}

.gantt-bar.critical {
  box-shadow:0 10px 22px rgba(217,119,6,.22);
}

.gantt-bar span,
.gantt-bar em {
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  height:100%;
  padding-inline:10px;
  color:#fff;
  font-weight:900;
  font-size:11px;
  text-shadow:0 1px 2px rgba(0,0,0,.24);
}

.gantt-bar em {
  float:inline-end;
  opacity:.84;
  font-style:normal;
}

.gantt-planned-marker {
  position:absolute;
  top:12px;
  bottom:12px;
  inset-inline-start:var(--left);
  width:2px;
  border-radius:99px;
  background:#0b5d91;
  opacity:.52;
}

.gantt-report-link {
  position:absolute;
  top:35px;
  transform:translateX(-50%);
  display:inline-flex;
  padding:3px 7px;
  border-radius:999px;
  background:#eaf7f1;
  color:#16875f;
  border:1px solid rgba(22,135,95,.18);
  font-size:10px;
  font-weight:900;
}

.gantt-legend {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:14px;
  color:#60758a;
  font-size:12px;
  font-weight:800;
}

.gantt-legend span {
  display:inline-flex;
  align-items:center;
  gap:6px;
}

.gantt-legend i {
  width:26px;
  height:8px;
  border-radius:999px;
}

.gantt-legend .actual { background:linear-gradient(90deg,#1f8f7a,#55d6a8); }
.gantt-legend .baseline { background:#9fb8cc;border:1px dashed #0b5d91; }
.gantt-legend .critical { background:linear-gradient(90deg,#d97706,#fbbf24); }
.gantt-legend .daily { background:#eaf7f1;border:1px solid rgba(22,135,95,.35); }

.gantt-draft-note {
  margin:-6px 0 14px;
  padding:10px 14px;
  border-radius:16px;
  background:rgba(211,155,55,.12);
  color:#84520e;
  font-weight:850;
}

.report-progress-linker-card {
  border:1px solid rgba(148,163,184,.26);
  border-radius:20px;
  padding:16px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.96),rgba(248,251,253,.84)),
    radial-gradient(circle at 90% 0,rgba(45,128,191,.10),transparent 32%);
  box-shadow:0 12px 26px rgba(15,35,52,.07);
}

.report-progress-linker-card.empty {
  color:#60758a;
}

.report-progress-linker-card.error {
  border-color:rgba(220,107,93,.32);
  background:linear-gradient(135deg,rgba(255,247,247,.96),rgba(255,255,255,.84));
}

.report-progress-linker-head {
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  margin-bottom:12px;
}

.report-progress-linker-head h4,
.report-progress-linker-card h4 {
  margin:3px 0 5px;
  color:#102a43;
  font-size:17px;
}

.report-progress-linker-head p,
.report-progress-linker-card p {
  margin:0;
  color:#60758a;
  line-height:1.7;
}

.report-progress-linker-head>span {
  display:inline-flex;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(45,128,191,.10);
  color:#0b5d91;
  font-weight:900;
  white-space:nowrap;
}

.report-progress-update-grid {
  display:grid;
  gap:10px;
  max-height:280px;
  overflow:auto;
  padding-inline-end:4px;
}

.report-progress-update-row {
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(120px,.35fr) minmax(180px,.55fr);
  gap:10px;
  align-items:end;
  padding:10px;
  border:1px solid rgba(148,163,184,.18);
  border-radius:16px;
  background:rgba(255,255,255,.72);
}

.report-progress-update-row strong,
.report-progress-update-row small {
  display:block;
}

.report-progress-update-row small {
  color:#708397;
  margin-top:4px;
}

.progress-source-chip {
  display:inline-flex;
  padding:5px 8px;
  border-radius:999px;
  font-size:11px;
  font-weight:900;
  background:rgba(100,116,139,.10);
  color:#475569;
}

.progress-source-chip.daily {
  background:rgba(22,135,95,.12);
  color:#16875f;
}

.progress-source-chip.manual {
  background:rgba(15,76,129,.10);
  color:#0b5d91;
}

@media(max-width:760px) {
  .report-progress-update-row {
    grid-template-columns:1fr;
  }
}

@media(max-width:980px) {
  .payroll-hero,
  .payroll-control-grid,
  .ai-gantt-bridge,
  .gantt-header {
    grid-template-columns:1fr;
    display:grid;
  }
  .gantt-timeline {
    grid-template-columns:minmax(160px,210px) minmax(560px,1fr);
  }
  .gantt-header-tools{justify-items:stretch}.gantt-column-controls{justify-content:flex-start}.gantt-table-shell,.gantt-table-shell.details-visible{grid-template-columns:minmax(430px,.95fr) minmax(720px,1.55fr)}
}

@media(prefers-reduced-motion:reduce){.gantt-dependency-path,.gantt-bar,.gantt-control-board::after{animation:none!important;transition:none!important}}

/* v0.32.10 — deterministic global content origin
   Every application view starts directly below the top bar. This final layer
   deliberately neutralises inherited grid alignment, stale offsets and scroll
   anchoring from older layouts without changing the internal card grids. */
html,
body {
  margin:0 !important;
  padding:0 !important;
  scroll-padding-block-start:0 !important;
  overflow-anchor:none;
}

.app-shell {
  align-items:start !important;
  align-content:start !important;
}

.main-content {
  display:block !important;
  align-self:stretch !important;
  align-content:start !important;
  justify-content:start !important;
  min-height:100vh !important;
  margin:0 !important;
  padding:0 !important;
  overflow-anchor:none;
}

.main-content > .topbar {
  margin-block-end:0 !important;
}

.main-content > .view {
  position:relative !important;
  inset:auto !important;
  top:auto !important;
  align-self:start !important;
  align-content:start !important;
  justify-content:start !important;
  place-content:start !important;
  min-height:0 !important;
  height:auto !important;
  margin:0 auto !important;
  padding-block-start:12px !important;
  scroll-margin:0 !important;
  overflow-anchor:none;
}

.main-content > #dashboardView {
  padding-block-start:20px !important;
}

.main-content > .view > :first-child,
#projectWorkspaceView > :first-child,
#projectWorkspaceContent > :first-child {
  margin-block-start:0 !important;
}

#projectWorkspaceView,
#projectWorkspaceView .project-workspace-layout,
#projectWorkspaceView .project-workspace-main,
#projectWorkspaceContent {
  align-self:start !important;
  align-content:start !important;
  min-height:0 !important;
  margin-block-start:0 !important;
  padding-block-start:0 !important;
  transform:none !important;
}

#projectWorkspaceView .project-workspace-main > div {
  min-height:0 !important;
}

.main-content > .view.view-entering {
  animation:hendar-view-origin-enter .18s ease-out both !important;
}

@keyframes hendar-view-origin-enter {
  from { opacity:.82; }
  to { opacity:1; }
}

/* v0.32.16 — measured page-origin invariant. The application shell is a
   strict normal-flow stack; runtime measurement removes any legacy offset
   reintroduced after asynchronous rendering or browser state restoration. */
.main-content{display:flow-root!important;block-size:auto!important;min-block-size:100vh!important;}
.main-content>.topbar{position:sticky!important;inset-block-start:0!important;}
.main-content>.view.active:not([hidden]){display:flow-root!important;position:relative!important;inset:0 auto auto!important;min-block-size:0!important;block-size:auto!important;margin-block:0!important;transform:none!important;filter:none!important;will-change:auto!important;}
.main-content>.view.active:not([hidden])>*{position:relative;}
.main-content>.view.active:not([hidden])[data-origin-correction]{will-change:auto!important;}
#projectWorkspaceView.active:not([hidden]){grid-template-rows:none!important;}
#projectWorkspaceView .project-workspace-layout{min-block-size:0!important;block-size:auto!important;}

/* v0.32.16 — BOQ quantities are the authoritative progress source. */
.report-boq-groups{display:grid;gap:12px;margin-top:14px}.report-boq-group{border:1px solid color-mix(in srgb,var(--border) 75%,transparent);border-radius:16px;background:color-mix(in srgb,var(--surface) 86%,transparent);overflow:hidden}.report-boq-group>summary{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:13px 16px;cursor:pointer;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 9%,transparent),transparent);list-style:none}.report-boq-group>summary::-webkit-details-marker{display:none}.report-boq-item-grid{display:grid;gap:9px;padding:12px}.report-boq-item{display:grid;grid-template-columns:minmax(280px,1.7fr) minmax(150px,.65fr) minmax(180px,.8fr);gap:10px;align-items:end;padding:12px;border:1px solid var(--border);border-radius:13px;background:var(--surface)}.report-boq-select{display:flex!important;align-items:flex-start;gap:10px}.report-boq-select input{margin-top:5px}.report-boq-select span{display:grid;gap:4px}.report-boq-select small{color:var(--muted)}.report-boq-preview{grid-column:1/-1;padding:7px 10px;border-radius:9px;background:color-mix(in srgb,var(--success) 10%,transparent);color:var(--success);font-weight:700}.report-boq-live-summary{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.report-boq-live-summary span{padding:9px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface)}.report-progress-linker-card.aggregate details{margin-top:12px;padding:10px 12px;border:1px solid var(--border);border-radius:12px}.gantt-view-switch{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 0}.gantt-view-switch>span{color:var(--muted);font-size:.82rem;margin-inline-start:auto}@media(max-width:900px){.report-boq-item{grid-template-columns:1fr}.gantt-view-switch>span{width:100%;margin:0}}

/* Compact, searchable two-level BOQ picker used by daily reports. */
.report-boq-filterbar{position:sticky;top:0;z-index:4;display:grid;grid-template-columns:minmax(220px,1.4fr) repeat(2,minmax(170px,.8fr));gap:8px;margin-top:12px;padding:9px;border:1px solid color-mix(in srgb,var(--border) 78%,transparent);border-radius:13px;background:color-mix(in srgb,var(--surface) 90%,transparent);backdrop-filter:blur(14px) saturate(125%)}
.report-boq-filterbar label{display:grid;gap:3px}.report-boq-filterbar label span{font-size:.68rem;color:var(--muted);font-weight:800}.report-boq-filterbar input,.report-boq-filterbar select{height:34px;min-height:34px;padding:4px 9px;border-radius:8px;font-size:.78rem}
.report-boq-subgroups{display:grid;gap:6px;padding:7px}.report-boq-subgroup{border:1px solid color-mix(in srgb,var(--border) 76%,transparent);border-radius:11px;overflow:hidden;background:color-mix(in srgb,var(--surface) 96%,var(--primary) 4%)}
.report-boq-subgroup>summary,.report-boq-subgroup>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 10px;cursor:pointer;list-style:none;background:color-mix(in srgb,var(--primary) 5%,transparent);font-size:.77rem}.report-boq-subgroup>summary::-webkit-details-marker{display:none}
.report-boq-item-grid{gap:4px;padding:5px}.report-boq-item.compact{grid-template-columns:minmax(250px,2fr) minmax(108px,.58fr) auto minmax(120px,.75fr);gap:6px;align-items:center;padding:6px 8px;border-radius:9px;min-height:48px}
.report-boq-item.compact label{margin:0;gap:2px}.report-boq-item.compact label>span{font-size:.64rem}.report-boq-item.compact input[type="text"],.report-boq-item.compact input[type="number"],.report-boq-item.compact input:not([type]){height:30px;min-height:30px;padding:3px 7px;font-size:.74rem;border-radius:7px}
.report-boq-item.compact .report-boq-select strong{font-size:.77rem;line-height:1.3}.report-boq-item.compact .report-boq-select small{font-size:.64rem;line-height:1.35}.report-boq-item.compact .report-boq-select input{width:16px;height:16px;margin-top:2px}
.report-boq-complete-toggle{min-height:30px;padding:4px 9px;border:1px solid color-mix(in srgb,var(--success) 45%,var(--border));border-radius:8px;background:color-mix(in srgb,var(--success) 7%,var(--surface));color:var(--success);font:800 .69rem Cairo,sans-serif;white-space:nowrap;cursor:pointer}.report-boq-complete-toggle.active{background:var(--success);color:#fff;box-shadow:0 5px 13px color-mix(in srgb,var(--success) 25%,transparent)}.report-boq-complete-toggle:disabled{opacity:.42;cursor:not-allowed}
.report-boq-completion-reason{grid-column:1/-1;display:grid!important;grid-template-columns:130px 1fr;align-items:center;gap:7px;padding-inline-start:24px}.report-boq-completion-reason.hidden{display:none!important}
.report-boq-item.compact .report-boq-preview{grid-column:1/-1;display:flex;gap:5px;flex-wrap:wrap;padding:3px 6px;font-size:.64rem}.report-boq-item.compact .report-boq-preview span{padding-inline-end:6px;border-inline-end:1px solid color-mix(in srgb,var(--success) 25%,transparent)}
.report-boq-item[hidden],.report-boq-subgroup[hidden],.report-boq-main-group[hidden]{display:none!important}
@media(max-width:1050px){.report-boq-filterbar{grid-template-columns:1fr}.report-boq-item.compact{grid-template-columns:1fr 140px}.report-boq-complete-toggle{grid-column:2}.report-boq-note-field{grid-column:1/-1}}
@media(max-width:650px){.report-boq-item.compact{grid-template-columns:1fr}.report-boq-complete-toggle{grid-column:auto}.report-boq-completion-reason{grid-template-columns:1fr;padding:0}}
.boq-excess-panel{margin-top:16px;overflow:hidden}.boq-excess-panel.warning{border-color:color-mix(in srgb,var(--warning) 38%,var(--border))}.boq-excess-panel.critical{border-color:color-mix(in srgb,var(--danger) 42%,var(--border))}.boq-excess-panel.warning .panel-header{background:linear-gradient(135deg,color-mix(in srgb,var(--warning) 10%,transparent),transparent)}.boq-excess-panel.critical .panel-header{background:linear-gradient(135deg,color-mix(in srgb,var(--danger) 10%,transparent),transparent)}.boq-excess-total{display:grid;text-align:end;gap:2px}.boq-excess-total b{font-size:1.15rem}.boq-excess-total span{font-size:.68rem;color:var(--muted)}.boq-config-child{margin-inline-start:24px;border-inline-start:3px solid color-mix(in srgb,var(--primary) 35%,transparent)}

/* v0.32.16 — engineering organization blueprint and payroll rounding. */
.engineering-org-chart{border-radius:26px;background:linear-gradient(145deg,color-mix(in srgb,var(--team-color) 4%,var(--surface)),var(--surface));box-shadow:0 22px 55px rgba(8,30,49,.10)}.engineering-org-chart .org-chart-toolbar{position:relative;overflow:hidden;padding:22px 24px;background:linear-gradient(115deg,color-mix(in srgb,var(--team-color) 13%,var(--surface)),color-mix(in srgb,var(--team-secondary) 5%,var(--surface)))}.engineering-org-chart .org-chart-toolbar:after{content:"";position:absolute;inset-inline-end:-50px;inset-block-start:-85px;width:210px;height:210px;border:1px solid color-mix(in srgb,var(--team-color) 18%,transparent);border-radius:50%;box-shadow:0 0 0 24px color-mix(in srgb,var(--team-color) 4%,transparent),0 0 0 52px color-mix(in srgb,var(--team-color) 3%,transparent)}.org-tree-canvas{padding:34px 28px 40px;background-color:color-mix(in srgb,var(--surface) 96%,var(--team-color));background-image:linear-gradient(color-mix(in srgb,var(--team-color) 8%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--team-color) 8%,transparent) 1px,transparent 1px),linear-gradient(color-mix(in srgb,var(--team-color) 3%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--team-color) 3%,transparent) 1px,transparent 1px);background-size:80px 80px,80px 80px,16px 16px,16px 16px}.org-tree-node{--connector:color-mix(in srgb,var(--team-color) 48%,#9fb2c2)}.org-tree-node.is-root{padding-bottom:22px}.org-tree-node.is-root:after{content:"";position:absolute;inset-inline-start:50%;bottom:0;height:22px;border-inline-start:2px solid var(--connector)}.org-tree-node.is-root>.org-person-card{max-width:620px}.org-tree-branches{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:24px 18px;margin:0;padding:30px 0 0;border:0}.org-tree-branches:before{content:"";position:absolute;inset-inline:10%;top:0;border-top:2px solid var(--connector)}.org-tree-branches>li{padding-top:16px}.org-tree-branches>li:before{inset-inline-start:50%;top:0;width:0;height:16px;border:0;border-inline-start:2px solid var(--connector)}.org-tree-branches .org-tree-branches{grid-template-columns:1fr;gap:14px;margin-top:18px;padding:22px 0 0}.org-tree-branches .org-tree-branches:before{inset-inline-start:50%;inset-inline-end:auto;width:2px;height:22px;border:0;background:var(--connector)}.org-tree-branches .org-tree-branches>li{padding-top:14px}.engineering-card{grid-template-columns:8px 58px minmax(0,1fr) 12px auto!important;gap:11px!important;min-height:92px;padding:12px 13px 12px 0!important;border-radius:18px!important;border-color:color-mix(in srgb,var(--team-color) 19%,var(--border))!important;background:linear-gradient(135deg,color-mix(in srgb,var(--team-color) 5%,var(--surface)),var(--surface) 58%)!important;box-shadow:0 10px 24px rgba(8,30,49,.075)!important;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.engineering-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--team-color) 48%,var(--border))!important;box-shadow:0 18px 34px color-mix(in srgb,var(--team-color) 15%,transparent)!important}.org-card-rail{align-self:stretch;display:grid;place-items:center;border-radius:8px;background:linear-gradient(180deg,var(--team-color),var(--team-secondary));color:#fff;font-size:8px;writing-mode:vertical-rl}.org-card-rail span{letter-spacing:.12em}.org-node-status{width:9px;height:9px;border-radius:50%;background:#28b486;box-shadow:0 0 0 4px color-mix(in srgb,#28b486 15%,transparent)}.org-tree-node[data-depth="0"]>.engineering-card{border-width:2px!important;background:linear-gradient(135deg,color-mix(in srgb,var(--team-color) 17%,var(--surface)),var(--surface))!important}.org-tree-node[data-depth="1"]>.engineering-card .org-card-rail{background:linear-gradient(180deg,var(--team-secondary),color-mix(in srgb,var(--team-secondary) 60%,#08263d))}.org-tree-node[data-depth="2"]>.engineering-card{transform:scale(.985)}.org-tree-node[data-depth="2"]>.engineering-card:hover{transform:scale(.985) translateY(-3px)}.org-person-card.virtual{grid-template-columns:48px minmax(0,1fr) 12px!important;padding-inline:13px!important}.org-card-copy>small{letter-spacing:.06em;text-transform:none}.payroll-rounding-badge{display:inline-flex;margin-inline-start:7px;padding:3px 7px;border:1px solid color-mix(in srgb,#d4931c 35%,var(--border));border-radius:999px;background:color-mix(in srgb,#d4931c 12%,var(--surface));color:#a66a00;font-size:9px;font-weight:900;white-space:nowrap}@media(max-width:900px){.org-tree-canvas{padding:22px 12px 28px}.org-tree-branches{grid-template-columns:1fr;padding-top:24px}.engineering-card{grid-template-columns:7px 46px minmax(0,1fr) 10px auto!important}.org-tree-branches:before{display:none}}

/* Barcode & smart traceability center. Glass is scoped to actionable surfaces;
   it never blankets the full navigation or hides labels. */
.barcode-scan-trigger{position:relative;isolation:isolate;display:inline-flex!important;align-items:center;gap:8px!important;border:1px solid color-mix(in srgb,#14b8a6 42%,var(--border))!important;background:linear-gradient(135deg,color-mix(in srgb,#0f766e 94%,#fff),color-mix(in srgb,#0b4b78 92%,#fff))!important;color:#fff!important;box-shadow:0 9px 22px rgba(8,70,78,.18)!important;overflow:hidden}.barcode-scan-trigger:before{content:"";position:absolute;inset:-80% -35%;z-index:-1;background:linear-gradient(110deg,transparent 34%,rgba(255,255,255,.24) 47%,transparent 60%);translate:-60% 0;transition:translate .5s ease}.barcode-scan-trigger:hover:before{translate:60% 0}.barcode-scan-trigger-icon{font:900 17px/1 monospace}.barcode-center-view{--barcode-teal:#0f8c84;--barcode-navy:#0b3452;--barcode-gold:#c38a2f;padding-block-end:28px!important}.barcode-center-toolbar{border-radius:22px;padding:19px 21px!important;background:linear-gradient(120deg,color-mix(in srgb,var(--surface) 88%,#d7f7f3),color-mix(in srgb,var(--surface) 95%,#dceeff));border:1px solid color-mix(in srgb,#0f8c84 20%,var(--border));box-shadow:0 16px 38px rgba(10,47,70,.08)}.barcode-metrics{grid-template-columns:repeat(6,minmax(0,1fr))!important;margin:14px 0!important}.barcode-metric{position:relative;overflow:hidden;min-width:0;border-color:color-mix(in srgb,#0f8c84 14%,var(--border))!important;background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 94%,#d8f4f1),var(--surface))!important}.barcode-metric:after{content:"";position:absolute;inset:auto -18px -32px auto;width:70px;height:70px;border:1px solid color-mix(in srgb,#0f8c84 16%,transparent);border-radius:50%}.barcode-metric.warning strong{color:#bd6f14}.glass-control-bar{border:1px solid color-mix(in srgb,var(--border) 70%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--surface) 86%,transparent),color-mix(in srgb,var(--surface) 70%,#dceeff));-webkit-backdrop-filter:blur(16px) saturate(130%);backdrop-filter:blur(16px) saturate(130%);box-shadow:inset 0 1px rgba(255,255,255,.58),0 12px 28px rgba(9,42,65,.07)}.barcode-center-controls{display:grid;grid-template-columns:minmax(280px,1fr) minmax(170px,.3fr) minmax(170px,.3fr) auto;align-items:center;gap:9px;padding:10px 12px;border-radius:16px}.barcode-search-wrap{display:flex;align-items:center;gap:8px}.barcode-search-wrap>span{color:var(--muted);font-size:20px}.barcode-search-wrap input{width:100%}.barcode-live-toggle,.barcode-continuous-toggle{display:flex!important;align-items:center;gap:8px!important;padding:8px 10px;border:1px solid var(--border);border-radius:11px;background:color-mix(in srgb,var(--surface) 82%,transparent);white-space:nowrap}.barcode-live-toggle input,.barcode-continuous-toggle input{width:18px!important;height:18px!important}.barcode-center-tabs{display:flex;gap:7px;margin:12px 0;padding:6px;border:1px solid var(--border);border-radius:15px;background:color-mix(in srgb,var(--surface) 82%,transparent);overflow:auto;scrollbar-width:thin}.barcode-center-tabs button,.barcode-mode-tabs button{min-height:38px;padding:8px 13px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--muted);font:800 11px Cairo,sans-serif;white-space:nowrap;cursor:pointer}.barcode-center-tabs button:hover,.barcode-mode-tabs button:hover{background:color-mix(in srgb,#0f8c84 7%,var(--surface));color:var(--text)}.barcode-center-tabs button.active,.barcode-mode-tabs button.active{border-color:color-mix(in srgb,#0f8c84 32%,var(--border));background:linear-gradient(135deg,color-mix(in srgb,#0f8c84 14%,var(--surface)),color-mix(in srgb,#0b4b78 8%,var(--surface)));color:#0b6e69;box-shadow:0 5px 13px rgba(15,140,132,.10)}.barcode-center-content{min-height:390px}.barcode-center-loading,.barcode-center-error{min-height:390px;display:grid;place-items:center;align-content:center;gap:12px;text-align:center;border:1px dashed var(--border);border-radius:20px;background:color-mix(in srgb,var(--surface) 82%,transparent)}.barcode-center-loading i,.barcode-result-loading i{width:32px;height:32px;border:3px solid color-mix(in srgb,#0f8c84 20%,transparent);border-top-color:#0f8c84;border-radius:50%;animation:barcode-spin .8s linear infinite}@keyframes barcode-spin{to{rotate:1turn}}.barcode-center-error>b{width:54px;height:54px;display:grid;place-items:center;border-radius:50%;background:#fee2e2;color:#b91c1c;font-size:24px}.barcode-center-error p{margin:0;color:var(--muted)}.barcode-overview-grid{display:grid;grid-template-columns:1.2fr .72fr 1fr;gap:12px}.barcode-overview-grid>.panel,.barcode-overview-lower>.panel,.project-barcode-grid>.panel{margin:0!important;border-radius:19px!important;overflow:hidden}.barcode-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.barcode-quick-scan{display:flex;align-items:center;gap:10px;min-width:0;padding:10px;border:1px solid var(--border);border-radius:13px;background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 90%,transparent),color-mix(in srgb,#0f8c84 5%,var(--surface)));color:var(--text);text-align:right;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.barcode-quick-scan:hover{transform:translateY(-2px);border-color:color-mix(in srgb,#0f8c84 38%,var(--border));box-shadow:0 12px 22px rgba(15,140,132,.10)}.barcode-quick-scan>b{width:32px;height:32px;display:grid;place-items:center;flex:0 0 auto;border-radius:10px;background:color-mix(in srgb,#0f8c84 12%,var(--surface));color:#0f8c84;font-size:16px}.barcode-quick-scan span,.barcode-quick-scan strong,.barcode-quick-scan small{display:block;min-width:0}.barcode-quick-scan strong{font-size:11px}.barcode-quick-scan small{margin-top:2px;color:var(--muted);font-size:9px}.barcode-health-rings{height:100%;display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}.barcode-health-rings>div{--angle:calc(var(--value) * 3.6deg);width:105px;aspect-ratio:1;display:grid;place-items:center;align-content:center;border-radius:50%;background:radial-gradient(circle at center,var(--surface) 58%,transparent 59%),conic-gradient(#0f8c84 var(--angle),color-mix(in srgb,var(--border) 75%,transparent) 0);box-shadow:inset 0 0 0 1px color-mix(in srgb,#0f8c84 8%,transparent)}.barcode-health-rings b,.barcode-health-rings span{display:block;text-align:center}.barcode-health-rings b{font-size:20px}.barcode-health-rings span{font-size:9px;color:var(--muted)}.barcode-event-list{display:grid;gap:7px;max-height:310px;overflow:auto}.barcode-event-list article{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:9px;align-items:center;padding:8px;border:1px solid color-mix(in srgb,var(--border) 80%,transparent);border-radius:11px;background:color-mix(in srgb,var(--surface) 91%,transparent)}.barcode-event-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#dff7f1;color:#087568;font-weight:900}.barcode-event-icon.danger{background:#fee2e2;color:#b91c1c}.barcode-event-icon.hold{background:#fff1d5;color:#a65d00}.barcode-event-list strong,.barcode-event-list small{display:block}.barcode-event-list strong{font-size:10px}.barcode-event-list small,.barcode-event-list time{color:var(--muted);font-size:8.5px}.barcode-overview-lower{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:12px;margin-top:12px}.barcode-register-section>.project-page-heading{margin-bottom:10px}.barcode-register-count{padding:7px 11px;border:1px solid var(--border);border-radius:999px;color:var(--muted);font-size:10px}.barcode-warehouse-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.glass-card{border:1px solid color-mix(in srgb,var(--border) 75%,transparent);background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 88%,transparent),color-mix(in srgb,var(--surface) 72%,#e3f5f3));-webkit-backdrop-filter:blur(13px) saturate(125%);backdrop-filter:blur(13px) saturate(125%);box-shadow:inset 0 1px rgba(255,255,255,.52),0 12px 28px rgba(8,39,60,.07)}.barcode-warehouse-card{padding:14px;border-radius:17px}.barcode-warehouse-top{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:start}.barcode-warehouse-top>span:first-child{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,#0f8c84,#0b4b78);color:#fff;font-size:18px}.barcode-warehouse-top small,.barcode-warehouse-top h3,.barcode-warehouse-top p{display:block;margin:0}.barcode-warehouse-top small{color:#0f8c84;font-size:9px;font-weight:900}.barcode-warehouse-top h3{font-size:14px}.barcode-warehouse-top p{margin-top:3px;color:var(--muted);font-size:9px}.barcode-warehouse-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:13px}.barcode-warehouse-stats span{padding:7px;border-radius:9px;background:color-mix(in srgb,var(--surface) 82%,transparent);color:var(--muted);font-size:8px;text-align:center}.barcode-warehouse-stats b{display:block;color:var(--text);font-size:12px}.barcode-capacity{height:5px;margin:9px 0;background:color-mix(in srgb,var(--border) 75%,transparent);border-radius:99px;overflow:hidden}.barcode-capacity i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0f8c84,#38bdf8)}.barcode-stock-warning{display:block!important;color:#b76000!important}.barcode-linked-chip,.barcode-unlinked-chip{display:inline-flex;padding:4px 7px;border-radius:999px;background:#ddf7f0;color:#087568;font-size:9px;font-weight:900}.barcode-unlinked-chip{background:#fff0d7;color:#a65d00}.barcode-action-chip{display:inline-flex;padding:4px 8px;border:1px solid color-mix(in srgb,#0f8c84 22%,var(--border));border-radius:999px;background:color-mix(in srgb,#0f8c84 8%,var(--surface));color:#087568;font-size:9px;font-weight:900}.barcode-tag-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.barcode-tag-card{display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px;padding:12px;border-radius:17px}.barcode-tag-preview{height:100px;padding:6px;border-radius:12px;background:#fff;display:grid;place-items:center;overflow:hidden}.barcode-tag-preview svg{width:100%;height:100%;display:block}.barcode-tag-copy{min-width:0}.barcode-tag-copy h3{margin:7px 0 2px;font-size:13px}.barcode-tag-copy p{margin:0;color:var(--muted);font-size:9px}.barcode-tag-copy code{display:block;margin-top:7px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#0f8c84;font-size:8px}.barcode-tag-actions{grid-column:1/-1;display:flex;gap:6px;flex-wrap:wrap}.code128-svg rect{fill:#081622}.code128-svg text{fill:#081622}.barcode-empty>b{display:block;margin:auto auto 7px;color:#0f8c84;font-size:24px}.barcode-empty strong,.barcode-empty span{display:block}.barcode-empty span{margin-top:4px;color:var(--muted);font-size:9px}

.barcode-scanner-modal{width:min(1240px,97vw)!important;max-height:min(920px,96vh)!important;overflow:hidden!important}.barcode-scanner-header{background:linear-gradient(115deg,color-mix(in srgb,var(--surface) 92%,#d9f6f2),color-mix(in srgb,var(--surface) 92%,#dbeafe));border-bottom:1px solid color-mix(in srgb,#0f8c84 20%,var(--border))}.barcode-scanner-header-actions{display:flex;align-items:center;gap:10px}.scanner-capability-chip{display:inline-flex;padding:6px 9px;border-radius:999px;background:#ddf7f0;color:#087568;font-size:8.5px;font-weight:900}.scanner-capability-chip.limited{background:#fff0d7;color:#a65d00}.barcode-scanner-layout{display:grid;grid-template-columns:minmax(0,1.38fr) minmax(330px,.62fr);min-height:630px;max-height:calc(96vh - 95px);overflow:hidden}.barcode-capture-stage{padding:14px;overflow:auto}.barcode-mode-tabs{display:flex;gap:6px;padding:5px;border:1px solid var(--border);border-radius:13px;background:color-mix(in srgb,var(--surface) 85%,transparent)}.barcode-mode-tabs button{flex:1}.scanner-mode-panel{display:none!important}.scanner-mode-panel.active{display:block!important}.barcode-camera-panel{position:relative;height:380px;margin-top:10px;border-radius:18px;background:#06131d;overflow:hidden}.barcode-camera-panel video,.barcode-library-reader{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:none}.barcode-camera-panel video.active,.barcode-library-reader.active{display:block}.barcode-library-reader video{width:100%!important;height:100%!important;object-fit:cover!important}.barcode-library-reader>div:first-child{display:none!important}.barcode-file-reader-hidden{position:absolute!important;width:1px!important;height:1px!important;inset:auto!important;overflow:hidden!important;opacity:.001!important;pointer-events:none!important}.barcode-camera-reticle{position:absolute;z-index:4;inset:22% 18%;pointer-events:none}.barcode-camera-reticle i{position:absolute;width:42px;height:42px;border-color:#55e1cf;border-style:solid;filter:drop-shadow(0 0 5px rgba(34,211,194,.6))}.barcode-camera-reticle i:nth-child(1){top:0;right:0;border-width:3px 3px 0 0;border-radius:0 9px 0 0}.barcode-camera-reticle i:nth-child(2){top:0;left:0;border-width:3px 0 0 3px;border-radius:9px 0 0}.barcode-camera-reticle i:nth-child(3){bottom:0;right:0;border-width:0 3px 3px 0;border-radius:0 0 9px}.barcode-camera-reticle i:nth-child(4){bottom:0;left:0;border-width:0 0 3px 3px;border-radius:0 0 0 9px}.barcode-camera-reticle span{position:absolute;inset-inline:7%;top:50%;height:1px;background:linear-gradient(90deg,transparent,#55e1cf,transparent);box-shadow:0 0 8px #55e1cf;animation:barcode-laser 2s ease-in-out infinite}@keyframes barcode-laser{0%,100%{translate:0 -80px;opacity:.35}50%{translate:0 80px;opacity:1}}.barcode-camera-empty{position:absolute;z-index:2;inset:0;display:grid;place-items:center;align-content:center;gap:7px;color:#d5e3eb;text-align:center}.barcode-camera-empty.hidden{display:none}.barcode-camera-empty b{font-size:42px;color:#55e1cf}.barcode-camera-empty strong{font-size:15px}.barcode-camera-empty span{max-width:330px;color:#89a0ae;font-size:10px;line-height:1.7}.barcode-camera-actions{position:absolute;z-index:5;inset:auto 12px 12px;display:flex;justify-content:center;gap:7px}.barcode-input-panel{min-height:380px;margin-top:10px;padding:50px 28px;border:1px dashed color-mix(in srgb,#0f8c84 35%,var(--border));border-radius:18px;background:linear-gradient(145deg,color-mix(in srgb,#0f8c84 5%,var(--surface)),var(--surface));text-align:center}.barcode-input-panel h3{margin:8px 0 3px}.barcode-input-panel p{margin:0 auto 18px;max-width:560px;color:var(--muted);font-size:10px}.usb-scanner-illustration{display:grid;place-items:center;width:95px;height:95px;margin:auto;border-radius:27px;background:linear-gradient(145deg,#0f8c84,#0b4b78);color:#fff;box-shadow:0 18px 35px rgba(15,140,132,.2)}.usb-scanner-illustration span{font-size:40px}.barcode-input-panel>input{width:min(560px,100%);height:54px;text-align:center;font:700 15px monospace;direction:ltr}.barcode-image-drop{display:grid!important;place-items:center;gap:7px;min-height:220px;cursor:pointer}.barcode-image-drop input{position:absolute;opacity:0;pointer-events:none}.barcode-image-drop>span{font-size:45px;color:#0f8c84}.barcode-image-drop strong{font-size:15px}.barcode-image-drop small{color:var(--muted)}.barcode-image-status{margin-top:12px}.scanner-working,.scanner-success,.scanner-error{display:inline-flex;padding:7px 11px;border-radius:999px;background:#e0f2fe;color:#075985;font-size:10px}.scanner-success{background:#dcfce7;color:#166534}.scanner-error{background:#fee2e2;color:#991b1b}.barcode-manual-row{display:flex;gap:8px;max-width:650px;margin:auto}.barcode-manual-row input{flex:1;height:52px;text-align:left;direction:ltr;font:700 13px monospace}.barcode-scan-options{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr)) minmax(150px,auto);gap:7px;margin-top:10px;padding:9px;border-radius:14px}.barcode-scan-options label:not(.barcode-continuous-toggle){display:grid;gap:3px}.barcode-scan-options label>span{color:var(--muted);font-size:8.5px}.barcode-continuous-toggle>span,.barcode-continuous-toggle strong,.barcode-continuous-toggle small{display:block}.barcode-continuous-toggle small{color:var(--muted);font-size:8px}.barcode-result-stage{padding:14px;border-inline-start:1px solid var(--border);background:linear-gradient(155deg,color-mix(in srgb,var(--surface) 92%,#dcefeb),var(--surface));overflow:auto}.barcode-result-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.barcode-result-heading h3{margin:0}.barcode-session-count{padding:6px 9px;border-radius:999px;background:color-mix(in srgb,#0f8c84 9%,var(--surface));color:#087568;font-size:9px;font-weight:900}.barcode-scan-result{min-height:285px;margin:10px 0;padding:13px;border:1px solid var(--border);border-radius:17px;background:color-mix(in srgb,var(--surface) 91%,transparent);box-shadow:inset 0 1px rgba(255,255,255,.55),0 12px 25px rgba(8,39,60,.07)}.barcode-scan-result.empty,.barcode-result-loading{display:grid;place-items:center;align-content:center;text-align:center}.barcode-result-placeholder>b{font-size:44px;color:#0f8c84}.barcode-result-placeholder strong,.barcode-result-placeholder span{display:block}.barcode-result-placeholder span{margin-top:4px;color:var(--muted);font-size:9px}.barcode-result-status{display:flex;align-items:center;gap:10px}.barcode-result-status>b{width:37px;height:37px;display:grid;place-items:center;border-radius:12px;background:#d9f7ef;color:#087568;font-size:18px}.barcode-scan-result.denied .barcode-result-status>b{background:#fee2e2;color:#b91c1c}.barcode-result-status span,.barcode-result-status strong{display:block}.barcode-result-status span{color:var(--muted);font-size:8px}.barcode-result-status strong{font-size:11px}.barcode-result-entity{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:9px;align-items:center;margin:12px 0;padding:10px;border-radius:13px;background:linear-gradient(135deg,color-mix(in srgb,#0f8c84 8%,var(--surface)),var(--surface))}.barcode-result-entity-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,#0f8c84,#0b4b78);color:#fff;font-size:20px}.barcode-result-entity small,.barcode-result-entity h3,.barcode-result-entity p{display:block;margin:0}.barcode-result-entity small{color:#0f8c84;font:800 8px monospace}.barcode-result-entity h3{font-size:13px}.barcode-result-entity p{color:var(--muted);font-size:8px}.barcode-scan-result dl{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin:0}.barcode-scan-result dl>div{padding:7px;border:1px solid color-mix(in srgb,var(--border) 80%,transparent);border-radius:9px}.barcode-scan-result dt{color:var(--muted);font-size:7.5px}.barcode-scan-result dd{margin:2px 0 0;font-size:9px;font-weight:800}.barcode-movement-confirmation{display:flex;justify-content:space-between;gap:8px;margin-top:8px;padding:8px;border-radius:9px;background:#dcfce7;color:#166534;font-size:9px}.barcode-result-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.barcode-scan-result.denied>code{display:block;margin:18px 0 8px;padding:8px;border-radius:8px;background:#f8fafc;color:#991b1b;text-align:center}.barcode-scan-result.denied>p{color:var(--muted);font-size:9px;text-align:center}.barcode-session-head{display:flex;align-items:center;justify-content:space-between;margin:11px 0 7px;font-size:10px}.barcode-session-list{display:grid;gap:5px;max-height:215px;overflow:auto}.barcode-session-row{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;align-items:center;padding:7px;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--surface) 88%,transparent);color:var(--text);text-align:right;cursor:pointer}.barcode-session-row>span{width:26px;height:26px;display:grid;place-items:center;border-radius:8px;background:#dcfce7;color:#166534}.barcode-session-row.failed>span{background:#fee2e2;color:#991b1b}.barcode-session-row strong,.barcode-session-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.barcode-session-row strong{font-size:9px}.barcode-session-row small{color:var(--muted);font-size:7.5px}.barcode-entity-modal .checkbox-label{justify-content:flex-start}.project-barcode-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0;padding:9px;border-radius:15px}.project-barcode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.project-barcode-grid .table-card{max-height:440px;overflow:auto}.project-barcode-movements{margin-top:12px!important}.project-barcode-movements .table-card{max-height:430px;overflow:auto}

@media(max-width:1180px){.barcode-metrics{grid-template-columns:repeat(3,minmax(0,1fr))!important}.barcode-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.barcode-overview-grid>.barcode-event-card{grid-column:1/-1}.barcode-warehouse-grid,.barcode-tag-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.barcode-scanner-layout{grid-template-columns:minmax(0,1fr) 340px}.barcode-scan-options{grid-template-columns:repeat(2,minmax(140px,1fr))}.barcode-continuous-toggle{grid-column:1/-1}}
@media(max-width:820px){.topbar-actions .barcode-scan-trigger>span:last-child{display:none}.topbar-actions .barcode-scan-trigger{width:40px;padding:0!important;justify-content:center}.barcode-center-toolbar{padding:14px!important}.barcode-center-controls{grid-template-columns:1fr 1fr}.barcode-search-wrap{grid-column:1/-1}.barcode-overview-grid,.barcode-overview-lower,.project-barcode-grid{grid-template-columns:1fr}.barcode-warehouse-grid,.barcode-tag-grid{grid-template-columns:1fr}.barcode-scanner-modal{width:100vw!important;max-height:100dvh!important;border-radius:0!important}.barcode-scanner-layout{display:block;max-height:calc(100dvh - 88px);overflow:auto}.barcode-capture-stage{overflow:visible}.barcode-result-stage{border-inline-start:0;border-top:1px solid var(--border)}.barcode-camera-panel,.barcode-input-panel{height:330px;min-height:330px}.project-barcode-actions{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.barcode-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}.barcode-center-controls{grid-template-columns:1fr}.barcode-center-controls>*{grid-column:1}.barcode-mode-tabs{overflow:auto}.barcode-mode-tabs button{min-width:92px}.barcode-camera-panel,.barcode-input-panel{height:290px;min-height:290px}.barcode-camera-reticle{inset:22% 10%}.barcode-scan-options{grid-template-columns:1fr}.barcode-tag-card{grid-template-columns:82px minmax(0,1fr)}.barcode-tag-preview{height:82px}.project-barcode-actions{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.barcode-scan-trigger:before,.barcode-camera-reticle span,.barcode-center-loading i,.barcode-result-loading i{animation:none!important}.barcode-quick-scan{transition:none!important}}

/* Operational scanner fields and protected label previews. */
#barcodeScannerNotesField{grid-column:1/-1}.barcode-tag-preview.protected{align-content:center;gap:4px;background:linear-gradient(145deg,color-mix(in srgb,#0f8c84 10%,#fff),#fff);color:#0f8c84;text-align:center}.barcode-tag-preview.protected>span{font:900 34px/1 monospace}.barcode-tag-preview.protected>small{color:#527082;font-size:8px}.barcode-scan-options label.hidden{display:none!important}

/* Persistent information rail: it follows the viewport while application
   content scrolls, but returns to normal flow for paper output. */
.app-shell:not(.hidden) .main-content{overflow:visible!important;contain:none!important}
.app-shell:not(.hidden) .main-content>.topbar{position:-webkit-sticky!important;position:sticky!important;inset-block-start:0!important;top:0!important;z-index:120!important;isolation:isolate;margin-block-start:0!important}

/* Governed warehouse directory and safe-edit dialog. */
.barcode-register-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.barcode-warehouse-meta{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:10px}.barcode-warehouse-meta span{display:inline-flex;align-items:center;min-height:23px;padding:4px 8px;border:1px solid color-mix(in srgb,#0f8c84 18%,var(--border));border-radius:999px;background:color-mix(in srgb,#0f8c84 6%,var(--surface));color:var(--muted);font-size:8px;font-weight:800}.warehouse-management-modal{width:min(840px,96vw)!important}.warehouse-management-header{background:linear-gradient(120deg,color-mix(in srgb,var(--surface) 88%,#d7f7f3),color-mix(in srgb,var(--surface) 94%,#dceeff));border-bottom-color:color-mix(in srgb,#0f8c84 22%,var(--border))!important}.warehouse-management-modal input[readonly],.warehouse-management-modal select:disabled{cursor:not-allowed;opacity:.72;background:color-mix(in srgb,var(--surface) 72%,var(--border))}.warehouse-governance-note{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:9px;padding:11px 13px;border:1px solid color-mix(in srgb,#0f8c84 25%,var(--border));border-radius:13px;background:linear-gradient(135deg,color-mix(in srgb,#0f8c84 9%,var(--surface)),var(--surface));color:var(--muted);font-size:10px;line-height:1.75}.warehouse-governance-note b{color:#087568;white-space:nowrap}

@media(max-width:980px){.app-shell:not(.hidden) .main-content>.topbar{z-index:15!important}}
@media(max-width:680px){.barcode-register-actions{width:100%;justify-content:stretch}.barcode-register-actions .button{flex:1}.warehouse-governance-note{grid-template-columns:1fr}}
@media print{.app-shell:not(.hidden) .main-content>.topbar{position:static!important;inset:auto!important;top:auto!important;isolation:auto!important;transform:none!important}.app-shell:not(.hidden) .main-content{overflow:visible!important}}

/* v0.35.0 — focused readability, RTL progress and schedule corrections. */
html,
body {
  min-block-size:100%;
  overflow-x:clip;
  overscroll-behavior:none;
}

body { overflow-y:auto; }

.main-content > .view,
.main-content > .view.active:not([hidden]),
.main-content > .view.view-entering,
.main-content > .view.view-leaving {
  transform:none !important;
  filter:none !important;
  will-change:auto !important;
  backface-visibility:visible;
}

.main-content > .view.active:not([hidden]) {
  display:flow-root !important;
  contain:none !important;
  overflow-anchor:none;
}

.main-content > .view.active:not([hidden]) > :first-child {
  margin-block-start:0 !important;
}

.main-content > .view.active:not([hidden])[data-origin-correction] {
  translate:none !important;
  will-change:auto !important;
}

.top-action,
.engineering-icon-button,
.notification { position:relative; overflow:visible !important; }

.topbar-actions .notification-badge {
  inset-block-start:3px;
  inset-inline-start:3px;
  inset-block-end:auto;
  inset-inline-end:auto;
  min-width:20px;
  height:20px;
  padding-inline:4px;
  border:2px solid var(--ds-surface,#fff);
  font-size:10px;
  line-height:1;
  z-index:4;
}

.brand-mark.large .hendar-logo-image.hendar-lockup-ar {
  width:154px;
  height:118px;
  object-fit:cover;
  object-position:center 51%;
  border-radius:24px;
}

.mobile-brand .hendar-logo-image.hendar-lockup-en {
  width:66px;
  height:66px;
  border-radius:16px;
}

.sidebar-brand .hendar-logo-image.hendar-lockup-en {
  width:44px;
  height:44px;
  padding:0;
  object-fit:cover;
  border-radius:12px;
}

/* Keep 0% risk on the right and 100% complete on the left in RTL. */
.progress-color-legend i {
  background:linear-gradient(to left,#dc2626 0%,#f97316 25%,#ca8a04 50%,#65a30d 75%,#16a34a 100%);
}

/* The predecessor/sequence column remains visible in both Gantt modes. */
.gantt-table-shell,
.gantt-table-shell.details-hidden,
.gantt-table-shell.details-visible {
  grid-template-columns:minmax(640px,1.16fr) minmax(720px,1.55fr);
}

.gantt-data-head,
.gantt-data-row,
.details-visible .gantt-data-head,
.details-visible .gantt-data-row {
  grid-template-columns:minmax(210px,.9fr) 98px 98px minmax(220px,1fr);
  min-width:640px;
}

.details-hidden .gantt-detail-head,
.details-hidden .gantt-detail-cell { display:grid !important; }

.gantt-detail-head {
  justify-content:flex-start !important;
  font-size:0;
}

.gantt-detail-head::after {
  content:"التتابع / السابق";
  font-size:10px;
}

.details-hidden .gantt-detail-cell span { display:none; }
.gantt-detail-cell em {
  display:block;
  color:#785718;
  font-size:9px;
  font-weight:850;
  line-height:1.45;
  white-space:normal;
}

/* Readable percentages, exact geometry and a varied fallback palette. */
.gantt-chart-rows .gantt-bar {
  --gantt-bar-start:var(--gantt-bar-color,#1f8f7a);
  --gantt-bar-end:var(--gantt-bar-color,#55d6a8);
  min-width:4px;
  height:26px;
  overflow:visible;
  border-radius:8px;
  background:color-mix(in srgb,var(--gantt-bar-start) 18%,#d8e1ea);
  isolation:isolate;
}

.gantt-chart-rows .gantt-bar::before {
  border-radius:inherit;
  background:linear-gradient(270deg,var(--gantt-bar-start),var(--gantt-bar-end));
}

.gantt-chart-rows .gantt-row-track:nth-child(6n + 2) .gantt-bar:not(.status-delayed):not(.status-on_hold):not(.status-completed) { --gantt-bar-start:#2563a6; --gantt-bar-end:#60a5fa; }
.gantt-chart-rows .gantt-row-track:nth-child(6n + 3) .gantt-bar:not(.status-delayed):not(.status-on_hold):not(.status-completed) { --gantt-bar-start:#7c3a99; --gantt-bar-end:#c084fc; }
.gantt-chart-rows .gantt-row-track:nth-child(6n + 4) .gantt-bar:not(.status-delayed):not(.status-on_hold):not(.status-completed) { --gantt-bar-start:#0e7490; --gantt-bar-end:#22d3ee; }
.gantt-chart-rows .gantt-row-track:nth-child(6n + 5) .gantt-bar:not(.status-delayed):not(.status-on_hold):not(.status-completed) { --gantt-bar-start:#9a5a12; --gantt-bar-end:#f0b44d; }
.gantt-chart-rows .gantt-row-track:nth-child(6n + 6) .gantt-bar:not(.status-delayed):not(.status-on_hold):not(.status-completed) { --gantt-bar-start:#9f365f; --gantt-bar-end:#f472b6; }

.gantt-chart-rows .gantt-bar[style*="--gantt-bar-color"] {
  --gantt-bar-start:var(--gantt-bar-color);
  --gantt-bar-end:var(--gantt-bar-color);
}

.gantt-chart-rows .gantt-bar.status-delayed { --gantt-bar-start:#c56606; --gantt-bar-end:#fbbf24; }
.gantt-chart-rows .gantt-bar.status-on_hold { --gantt-bar-start:#526173; --gantt-bar-end:#94a3b8; }
.gantt-chart-rows .gantt-bar.status-completed { --gantt-bar-start:#15803d; --gantt-bar-end:#4ade80; }

.gantt-chart-rows .gantt-bar span,
.gantt-chart-rows .gantt-bar em {
  position:absolute;
  z-index:6;
  top:50%;
  height:auto;
  min-width:36px;
  padding:3px 6px;
  border-radius:999px;
  font-size:10px;
  line-height:1;
  white-space:nowrap;
  pointer-events:none;
}

.gantt-chart-rows .gantt-bar span {
  inset-inline-start:50%;
  transform:translate(50%,-50%);
  justify-content:center;
  background:rgba(7,31,51,.82);
  color:#fff;
  box-shadow:0 2px 7px rgba(7,31,51,.22);
}

.gantt-chart-rows .gantt-bar em {
  inset-inline-end:calc(100% + 4px);
  transform:translateY(-50%);
  min-width:32px;
  border:1px solid rgba(148,163,184,.35);
  background:rgba(var(--ds-surface-rgb),.94);
  color:var(--ds-text,#183247);
  text-shadow:none;
}

/* Register sections and the DOM hooks used by synchronized top/bottom scrollbars. */
.progress-register-section {
  display:grid;
  grid-template-rows:auto auto minmax(0,1fr);
  gap:0;
  margin-block:16px;
  border:1px solid var(--ds-border,var(--line));
  border-radius:16px;
  background:var(--ds-surface,#fff);
  overflow:hidden;
}

.progress-register-header,
.progress-register-toolbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border-bottom:1px solid var(--ds-border,var(--line));
  background:var(--ds-surface-subtle,#f5f8fb);
}

.progress-register-header h3,
.progress-register-toolbar h3 { margin:0; font-size:15px; }

.progress-register-section .table-card,
.progress-register-section .table-scroll-viewport {
  margin:0;
  border:0;
  border-radius:0;
  box-shadow:none;
}

.table-scroll-shell { min-width:0; }
.table-scrollbar { max-width:100%; overflow-x:auto; overflow-y:hidden; scrollbar-gutter:stable; }
.table-scrollbar > .table-scroll-spacer { height:1px; }
.table-scrollbar-top { border-bottom:1px solid var(--ds-border,var(--line)); background:var(--ds-surface,#fff); }
.table-scroll-viewport { max-width:100%; overflow:auto; scrollbar-gutter:stable; }
.table-scroll-shell:not(.has-dual-scroll) > .table-scrollbar-top { display:none; }

.progress-schedule-table:has(tbody tr:nth-child(4)),
.progress-register-section .table-scroll-viewport:has(tbody tr:nth-child(4)) {
  max-block-size:250px;
  overflow:auto !important;
  overscroll-behavior:contain;
}

.progress-schedule-table:has(> table.hendar-data-grid),
.progress-register-section .table-card:has(> table.hendar-data-grid) {
  overflow:auto !important;
}

/* New activity sequencing and colour controls. */
.progress-bar-color-field { display:grid; align-content:start; gap:7px; }
.progress-bar-color-field > span { color:var(--ds-muted,var(--muted)); font-size:10px; font-weight:850; }
.progress-bar-color-control { display:flex; align-items:center; gap:10px; min-height:42px; }
#progressItemBarColor { width:64px; min-width:64px; height:40px; padding:3px; cursor:pointer; }
.progress-bar-color-control .checkbox-label { margin:0; white-space:nowrap; }
.progress-bar-color-field:has(#progressItemAutomaticColor:checked) #progressItemBarColor { opacity:.55; }
.progress-auto-link-field { align-items:flex-start; padding:10px 12px; border:1px solid var(--ds-border,var(--line)); border-radius:12px; background:var(--ds-surface-subtle,#f6f8fb); }
.progress-auto-link-field span,.progress-auto-link-field strong,.progress-auto-link-field small { display:block; }
.progress-auto-link-field small { margin-top:3px; color:var(--ds-muted,var(--muted)); line-height:1.55; }

@media(max-width:760px) {
  .gantt-table-shell,
  .gantt-table-shell.details-hidden,
  .gantt-table-shell.details-visible { grid-template-columns:minmax(560px,1fr) minmax(680px,1.25fr); }
  .gantt-data-head,
  .gantt-data-row,
  .details-visible .gantt-data-head,
  .details-visible .gantt-data-row { grid-template-columns:minmax(190px,.9fr) 88px 88px minmax(190px,1fr); min-width:560px; }
  .brand-mark.large .hendar-logo-image.hendar-lockup-ar { width:132px; height:102px; }
}

@media print {
  .progress-register-header,
  .progress-register-toolbar { break-after:avoid; }
  .progress-register-section { break-inside:avoid; overflow:visible; }
  .table-scrollbar-top { display:none !important; }
  .table-scroll-viewport,
  .progress-schedule-table { max-block-size:none !important; overflow:visible !important; }
}

/* v0.35.0 dynamic Gantt markup: sequence, title, predecessor, dates, details. */
.details-hidden .gantt-data-head,
.details-hidden .gantt-data-row {
  grid-template-columns:44px minmax(210px,1fr) minmax(175px,.8fr) 96px 96px;
  min-width:720px;
}

.details-visible .gantt-data-head,
.details-visible .gantt-data-row {
  grid-template-columns:44px minmax(210px,.9fr) minmax(175px,.75fr) 96px 96px minmax(220px,1fr);
  min-width:940px;
}

.gantt-data-head > span:nth-child(1),
.gantt-data-row > .gantt-sequence-cell,
.gantt-data-head > span:nth-child(4),
.gantt-data-head > span:nth-child(5) { justify-content:center; text-align:center; }

.details-hidden .gantt-detail-head,
.details-hidden .gantt-detail-cell { display:none !important; }
.gantt-detail-head { font-size:10px; }
.gantt-detail-head::after { content:none; }
.gantt-sequence-cell { display:grid; place-items:center; font-weight:900; color:#5d7486; border-inline-end:1px solid rgba(148,163,184,.22); }
.gantt-predecessor-cell { display:flex; align-items:center; padding:6px 9px; color:#785718; background:rgba(213,164,58,.07); border-inline-end:1px solid rgba(148,163,184,.22); font-size:9px; font-weight:850; line-height:1.45; }

.gantt-chart-rows .gantt-bar {
  --gantt-bar-start:var(--gantt-bar-color,#1f8f7a);
  --gantt-bar-end:var(--gantt-bar-color,#55d6a8);
}
.gantt-chart-rows .gantt-bar[style*="--gantt-bar-color"] {
  --gantt-bar-start:var(--gantt-bar-color) !important;
  --gantt-bar-end:var(--gantt-bar-color) !important;
}

.dual-table-scroll-top {
  max-width:100%;
  height:17px;
  overflow-x:auto;
  overflow-y:hidden;
  border-bottom:1px solid var(--ds-border,var(--line));
  background:var(--ds-surface,#fff);
  scrollbar-gutter:stable;
}
.dual-table-scroll-top > div { height:1px; }
.dual-scroll-table { max-width:100%; overflow:auto !important; scrollbar-gutter:stable; }
.progress-register-section .dual-scroll-table[data-row-count]:has(tbody tr:nth-child(4)) { max-block-size:250px; }
.progress-register-header > .print-progress-register { order:-1; flex:0 0 auto; }

.gantt-smart-audit { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:10px 14px 0; padding:10px 12px; border:1px solid rgba(148,163,184,.32); border-radius:12px; background:rgba(241,245,249,.82); }
.gantt-smart-audit div { display:grid; gap:3px; }
.gantt-smart-audit strong { font-size:11px; color:#183f5b; }
.gantt-smart-audit span { font-size:9px; color:#667d8e; }
.gantt-smart-audit.attention { border-color:rgba(217,119,6,.38); background:rgba(255,247,237,.88); }
.gantt-smart-audit.healthy { border-color:rgba(22,163,74,.32); background:rgba(240,253,244,.86); }

@media(max-width:760px) {
  .details-hidden .gantt-data-head,.details-hidden .gantt-data-row { grid-template-columns:40px minmax(190px,1fr) minmax(160px,.8fr) 88px 88px; min-width:666px; }
  .details-visible .gantt-data-head,.details-visible .gantt-data-row { grid-template-columns:40px minmax(190px,.9fr) minmax(160px,.75fr) 88px 88px minmax(190px,1fr); min-width:850px; }
  .gantt-smart-audit { align-items:stretch; flex-direction:column; }
}

/* v0.35.0 — hidden views must leave the layout completely. Several legacy
   dashboard rules use display:grid!important; without this final invariant the
   hidden dashboard keeps its full height and pushes every selected list below
   the visible viewport. */
#dashboardView.enterprise-dashboard-view[hidden],
.main-content > .view[hidden] {
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

/* v0.37.3 maintenance — restore reliable page scrolling.
   The application uses document scrolling on desktop and modal-local scrolling
   only for overlays. Avoid clip/contain rules that swallow wheel and touch input. */
html {
  min-block-size:100%;
  overflow-x:hidden !important;
  overflow-y:auto !important;
  overscroll-behavior-y:auto !important;
  scrollbar-gutter:stable;
}
body {
  min-block-size:100%;
  block-size:auto !important;
  overflow-x:hidden !important;
  overflow-y:visible !important;
  overscroll-behavior-y:auto !important;
  touch-action:pan-y pinch-zoom;
}
.app-shell:not(.hidden),
.app-shell:not(.hidden) .main-content {
  min-block-size:100vh;
  block-size:auto !important;
  max-block-size:none !important;
  overflow:visible !important;
}
.main-content > .view.active:not([hidden]) {
  min-block-size:calc(100vh - 72px);
  max-block-size:none !important;
  overflow:visible !important;
  touch-action:pan-y pinch-zoom;
}
.modal:not(.hidden) {
  overflow-y:auto !important;
  overscroll-behavior:contain;
  touch-action:pan-y pinch-zoom;
}
.table-card,
.table-scroll-viewport,
.dual-scroll-table {
  overscroll-behavior:auto;
}
@media print {
  html,body,.app-shell:not(.hidden),.app-shell:not(.hidden) .main-content,
  .main-content > .view.active:not([hidden]) { overflow:visible !important; }
}


/* HENDAR v0.45.0 — fixed navigation rail and visible EDIE center. */
@media (min-width:981px){
  .app-shell{position:relative;}
  .sidebar{position:fixed!important;inset-block:0!important;inset-inline-start:0!important;width:272px!important;height:100dvh!important;max-height:100dvh!important;transform:none!important;z-index:120;overflow:hidden!important;}
  .app-shell.sidebar-collapsed .sidebar{width:92px!important;}
  .main-content{grid-column:2!important;min-width:0;}
  .main-nav{flex:1 1 auto;min-height:0;overflow-y:auto!important;overscroll-behavior:contain;scrollbar-gutter:stable;}
  .sidebar-brand,.sidebar-tools,.sidebar-edie-launch,.sidebar-system-card,.sidebar-footer{flex:0 0 auto;}
}
.sidebar-edie-launch{margin:7px 12px 5px;padding:10px 11px;border:1px solid rgba(34,211,238,.3);border-radius:13px;background:linear-gradient(135deg,rgba(6,182,212,.18),rgba(14,116,144,.08));color:#e9fbff;display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;text-align:right;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.sidebar-edie-launch:hover{border-color:rgba(103,232,249,.58);background:linear-gradient(135deg,rgba(6,182,212,.28),rgba(14,116,144,.13))}
.sidebar-edie-mark{font:900 10px/1 Cairo,sans-serif!important;letter-spacing:.08em;color:#062b37;background:#67e8f9;border-radius:8px;padding:8px 6px}
.sidebar-edie-launch strong,.sidebar-edie-launch small{display:block}.sidebar-edie-launch strong{font-size:11px}.sidebar-edie-launch small{margin-top:2px;color:rgba(255,255,255,.55);font-size:8px}.sidebar-edie-launch>b{color:#67e8f9}
.sidebar-collapsed .sidebar-edie-launch{grid-template-columns:1fr;margin-inline:10px;padding:8px}.sidebar-collapsed .sidebar-edie-launch>span:not(.sidebar-edie-mark),.sidebar-collapsed .sidebar-edie-launch>b{display:none}
.edie-center-view{padding-bottom:40px}.edie-center-toolbar{align-items:flex-start}.edie-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:20px;padding:26px;border-radius:24px;background:linear-gradient(135deg,#082f49,#0e7490);color:#fff;box-shadow:0 18px 46px rgba(8,47,73,.18);overflow:hidden;position:relative}.edie-hero:after{content:"";position:absolute;width:260px;height:260px;border:1px solid rgba(255,255,255,.12);border-radius:50%;left:-90px;bottom:-150px}.edie-hero>div,.edie-dropzone{position:relative;z-index:1}.edie-hero span{font-size:10px;font-weight:900;letter-spacing:.16em;color:#67e8f9}.edie-hero h3{margin:8px 0;font-size:26px}.edie-hero p{margin:0;max-width:720px;color:rgba(255,255,255,.72);line-height:1.8}.edie-dropzone{min-height:150px;border:1.5px dashed rgba(255,255,255,.34);border-radius:18px;background:rgba(255,255,255,.08);display:grid;place-items:center;align-content:center;gap:7px;text-align:center;cursor:pointer;padding:20px}.edie-dropzone:hover{background:rgba(255,255,255,.13);border-color:#67e8f9}.edie-dropzone input{position:absolute;opacity:0;pointer-events:none}.edie-dropzone b{font-size:14px}.edie-dropzone small{color:rgba(255,255,255,.62);font-size:10px}.edie-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.edie-metrics article{padding:16px;border:1px solid var(--ds-border,#d8e2e8);border-radius:16px;background:#fff;box-shadow:var(--v32r-panel-shadow)}.edie-metrics small,.edie-metrics span,.edie-metrics strong{display:block}.edie-metrics small{color:#6b7f8d;font-size:9px}.edie-metrics strong{margin:7px 0 3px;font-size:22px;color:#0e5f75}.edie-metrics span{font-size:9px;color:#8293a0}.edie-workspace-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:16px}.edie-panel{border:1px solid #d8e4ea;border-radius:20px;background:#fff;box-shadow:var(--v32r-panel-shadow);overflow:hidden}.edie-panel>header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:17px 19px;border-bottom:1px solid #e6edf1;background:#f9fbfc}.edie-panel header span{font-size:8px;font-weight:900;letter-spacing:.13em;color:#0891b2}.edie-panel h4{margin:3px 0 0;color:#12354c}.edie-empty-state{min-height:170px;display:grid;place-items:center;align-content:center;text-align:center;padding:24px;color:#738694}.edie-empty-state b,.edie-empty-state span{display:block}.edie-empty-state b{color:#26485e;margin-bottom:5px}.edie-file-list{padding:10px}.edie-file-list article{display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center;padding:10px;border:1px solid #e2eaee;border-radius:13px;margin:7px 0}.edie-file-list strong,.edie-file-list small{display:block}.edie-file-list small{color:#7b8e9a;font-size:9px;margin-top:2px}.edie-file-list button{border:0;background:#eef4f6;border-radius:8px;width:29px;height:29px;cursor:pointer}.edie-file-icon{min-width:42px;text-align:center;padding:9px 5px;border-radius:9px;background:#cffafe;color:#0e7490;font-size:9px;font-weight:900}.edie-pipeline{list-style:none;margin:0;padding:14px}.edie-pipeline li{display:grid;grid-template-columns:32px 1fr;gap:10px;align-items:center;padding:10px;border-radius:12px}.edie-pipeline li+li{border-top:1px solid #edf2f5}.edie-pipeline li>b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#e8f0f4;color:#5b7382}.edie-pipeline li.ready>b{background:#06b6d4;color:#fff}.edie-pipeline strong,.edie-pipeline small{display:block}.edie-pipeline small{font-size:9px;color:#7d8f9b}.edie-results-panel{margin-top:16px}.edie-analysis-summary{padding:20px}.edie-analysis-banner{display:flex;gap:11px;align-items:center;padding:14px;border-radius:14px;background:#ecfeff;border:1px solid #a5f3fc}.edie-analysis-banner strong,.edie-analysis-banner small{display:block}.edie-analysis-banner small{margin-top:3px;color:#55717f}.edie-analysis-actions{display:flex;gap:10px;margin-top:13px}.edie-action-button{background:#0891b2!important;color:#fff!important;border-color:#0891b2!important}
@media(max-width:980px){.sidebar-edie-launch{margin-inline:12px}.edie-hero,.edie-workspace-grid{grid-template-columns:1fr}.edie-metrics{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.edie-metrics{grid-template-columns:1fr}.edie-analysis-actions{flex-direction:column}.edie-hero h3{font-size:21px}}
/* v0.48.0 compact experience center + post-analysis tender linking */
.sidebar-experience-menu{border:1px solid rgba(255,255,255,.10);border-radius:14px;background:rgba(255,255,255,.045);overflow:hidden}
.sidebar-experience-menu>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px;cursor:pointer;color:#fff}
.sidebar-experience-menu>summary::-webkit-details-marker{display:none}.sidebar-experience-menu>summary span{display:grid;gap:2px}.sidebar-experience-menu>summary strong{font-size:10px}.sidebar-experience-menu>summary small{font-size:8px;color:rgba(255,255,255,.58)}.sidebar-experience-menu>summary b{transition:transform .2s ease}.sidebar-experience-menu[open]>summary b{transform:rotate(180deg)}
.sidebar-experience-content{display:grid;gap:8px;padding:0 8px 9px}.sidebar-experience-content .sidebar-theme-picker,.sidebar-experience-content .sidebar-density-picker{margin:0}.sidebar-volume-control{display:grid;grid-template-columns:90px 1fr;align-items:center;gap:8px;padding:7px 9px;border-radius:10px;background:rgba(255,255,255,.035);color:rgba(255,255,255,.75);font-size:9px;font-weight:800}.sidebar-volume-control input{width:100%;accent-color:var(--ds-accent)}
.sidebar-music-next{height:30px;border:1px solid rgba(255,255,255,.14);border-radius:9px;background:rgba(255,255,255,.06);color:#fff;font:inherit;font-size:9px;font-weight:900;cursor:pointer}.sidebar-music-next:hover{background:rgba(255,255,255,.12)}
html[data-app-theme="light"] .sidebar-experience-menu{background:#f5f9fc;border-color:var(--line)}html[data-app-theme="light"] .sidebar-experience-menu>summary{color:var(--ink)}html[data-app-theme="light"] .sidebar-experience-menu>summary small{color:var(--muted)}html[data-app-theme="light"] .sidebar-volume-control{background:#fff;color:var(--ink)}html[data-app-theme="light"] .sidebar-music-next{background:#fff;color:var(--ink);border-color:var(--line)}
.edie-center-toolbar .toolbar-actions{align-items:center}.edie-link-after-analysis{display:grid;grid-template-columns:minmax(220px,1fr) minmax(230px,.7fr) auto;gap:12px;align-items:center;margin:16px 20px 20px;padding:15px;border:1px solid #cfe3ea;border-radius:16px;background:linear-gradient(135deg,#f8fdff,#eef9fb)}.edie-link-after-analysis div{display:grid;gap:3px}.edie-link-after-analysis small{font-size:8px;font-weight:900;letter-spacing:.12em;color:#0891b2}.edie-link-after-analysis strong{color:#12354c}.edie-link-after-analysis span{font-size:9px;color:#6d8390}.edie-link-after-analysis select{height:42px;border:1px solid #bfd6df;border-radius:12px;background:#fff;padding:0 12px;color:#12344d;font:inherit;font-weight:800}
@media(max-width:900px){.edie-link-after-analysis{grid-template-columns:1fr}.sidebar-experience-menu{margin-bottom:4px}}
/* v0.48.0 — sidebar accordion + Engineering Agent Platform */
.edie-agent-card{margin:14px 0;padding:16px 18px;border:1px solid rgba(18,139,126,.22);border-radius:18px;background:linear-gradient(135deg,rgba(10,72,101,.96),rgba(12,118,112,.9));color:#fff;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;box-shadow:0 16px 34px rgba(5,48,69,.16)}
.edie-agent-card small{display:block;font-size:9px;letter-spacing:.12em;opacity:.72}.edie-agent-card strong{display:block;font-size:18px;margin-top:3px}.edie-agent-card>div>span{display:block;margin-top:3px;font-size:12px;opacity:.82}.edie-agent-card>b{width:66px;height:66px;border-radius:50%;display:grid;place-items:center;border:5px solid rgba(255,255,255,.25);background:rgba(255,255,255,.1);font-size:18px}.edie-agent-card ul{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:2px 0 0;padding:0;list-style:none}.edie-agent-card li{padding:9px 10px;border-radius:11px;background:rgba(255,255,255,.09);display:flex;gap:7px;align-items:center;font-size:11px}.edie-agent-card li em{font-style:normal;font-size:8px;padding:3px 5px;border-radius:6px;background:rgba(255,255,255,.16)}
@media(max-width:800px){.edie-agent-card ul{grid-template-columns:1fr}}

/* v0.75.0 — Gantt Phase 2 spreadsheet grid over the inherited schedule foundation. */
.gantt-foundation-panel {
  display:grid;
  gap:12px;
  margin:0 0 14px;
  padding:14px;
  border:1px solid color-mix(in srgb,var(--ds-primary,#0b5d91) 22%,var(--ds-border,#d8e2ea));
  border-radius:18px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--ds-primary,#0b5d91) 7%,#fff),color-mix(in srgb,var(--ds-accent,#c99535) 5%,#fff));
  box-shadow:0 12px 30px rgba(15,44,67,.07);
}
.gantt-foundation-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.gantt-foundation-panel>header h4{margin:2px 0 3px;color:var(--ds-text,#17384f);font-size:15px}
.gantt-foundation-panel>header p{margin:0;color:var(--ds-muted,#60798a);font-size:10px;line-height:1.55}
.gantt-foundation-revision{display:inline-grid;place-items:center;min-width:72px;min-height:34px;padding:6px 10px;border-radius:12px;background:#0b5d91;color:#fff;font-size:11px;font-weight:950;letter-spacing:.4px;direction:ltr}
.gantt-foundation-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.gantt-foundation-metrics article{display:grid;gap:3px;min-width:0;padding:9px 11px;border:1px solid rgba(148,163,184,.2);border-radius:12px;background:rgba(255,255,255,.78)}
.gantt-foundation-metrics small{color:var(--ds-muted,#60798a);font-size:8.5px;font-weight:800}
.gantt-foundation-metrics b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ds-text,#17384f);font-size:11px}
.gantt-foundation-controls{display:grid;grid-template-columns:minmax(160px,.7fr) minmax(240px,1fr) auto auto;gap:8px;align-items:end}
.gantt-foundation-controls label{display:grid;gap:5px}
.gantt-foundation-controls label>span{color:var(--ds-muted,#60798a);font-size:9px;font-weight:900}
.gantt-foundation-controls :is(input,select){min-height:38px;border:1px solid var(--ds-border,#d8e2ea);border-radius:10px;background:#fff;color:var(--ds-text,#17384f);padding:7px 10px;font:800 10px Cairo,sans-serif}
#progressItemForm input[readonly]{background:color-mix(in srgb,var(--ds-surface-subtle,#f3f6f8) 86%,#fff);color:var(--ds-muted,#60798a);cursor:not-allowed}
#progressItemWbs+input[type="hidden"]+datalist+small{display:block;margin-top:5px;color:var(--ds-muted,#60798a);font-size:8.5px;line-height:1.5}
@media(max-width:900px){.gantt-foundation-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.gantt-foundation-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.gantt-foundation-controls .button{width:100%}}
@media(max-width:620px){.gantt-foundation-panel>header{display:grid}.gantt-foundation-revision{justify-self:start}.gantt-foundation-metrics,.gantt-foundation-controls{grid-template-columns:1fr}}

/* v0.75.0 — Excel-like governed activity spreadsheet for HENDAR Gantt. */
.gantt-spreadsheet-workspace {
  margin:14px 0;
  border:1px solid color-mix(in srgb,var(--ds-border,var(--line)) 88%,transparent);
  border-radius:18px;
  background:var(--ds-surface,#fff);
  box-shadow:0 12px 34px rgba(15,47,70,.08);
  overflow:hidden;
}
.gantt-spreadsheet-workspace.unavailable,
.gantt-spreadsheet-workspace.read-only-mode { padding:14px; }
.gantt-spreadsheet-header {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:14px 16px 10px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--ds-primary,#0b5d91) 7%,#fff),#fff);
  border-bottom:1px solid var(--ds-border,var(--line));
}
.gantt-spreadsheet-header h4 { margin:2px 0 3px; color:var(--ds-text,#183247); font-size:16px; }
.gantt-spreadsheet-header p { margin:0; color:var(--ds-muted,var(--muted)); font-size:10px; line-height:1.65; }
.gantt-grid-selection-status {
  flex:0 0 auto;
  min-width:124px;
  padding:7px 11px;
  border:1px solid color-mix(in srgb,var(--ds-primary,#0b5d91) 24%,transparent);
  border-radius:999px;
  background:color-mix(in srgb,var(--ds-primary,#0b5d91) 8%,#fff);
  color:var(--ds-primary,#0b5d91);
  font-size:10px;
  font-weight:900;
  text-align:center;
}
.gantt-spreadsheet-toolbar,
.gantt-grid-bulk-bar {
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  padding:9px 12px;
  border-bottom:1px solid var(--ds-border,var(--line));
  background:var(--ds-surface-subtle,#f5f8fb);
}
.gantt-spreadsheet-toolbar label { display:inline-flex; align-items:center; gap:6px; color:var(--ds-muted,var(--muted)); font-size:10px; font-weight:850; }
.gantt-spreadsheet-toolbar select,
.gantt-grid-bulk-bar select,
.gantt-grid-bulk-bar input {
  min-height:32px;
  border:1px solid var(--ds-border,var(--line));
  border-radius:9px;
  background:var(--ds-surface,#fff);
  color:var(--ds-text,#183247);
  font:800 10px Cairo,sans-serif;
  padding:5px 8px;
}
.gantt-grid-bulk-bar input { min-width:220px; flex:1 1 240px; }
.gantt-grid-shortcuts { margin-inline-start:auto; color:var(--ds-muted,var(--muted)); font-size:9px; font-weight:800; direction:ltr; }
.gantt-grid-columns-panel {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:7px 12px;
  padding:10px 12px;
  border-bottom:1px solid var(--ds-border,var(--line));
  background:color-mix(in srgb,var(--ds-primary,#0b5d91) 3%,#fff);
}
.gantt-grid-columns-panel label { display:flex; align-items:center; gap:7px; min-height:30px; color:var(--ds-text,#183247); font-size:10px; font-weight:800; cursor:pointer; }
.gantt-grid-columns-panel input { width:15px; height:15px; accent-color:var(--ds-primary,#0b5d91); }
.gantt-sheet-scroll {
  max-width:100%;
  max-block-size:520px;
  overflow:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable both-edges;
  background:#fff;
  outline:none;
}
.gantt-sheet { min-width:max-content; direction:rtl; }
.gantt-sheet-head,
.gantt-sheet-row { display:grid; min-width:max-content; direction:rtl; }
.gantt-sheet-head {
  position:sticky;
  top:0;
  z-index:25;
  background:#123f5d;
  color:#fff;
  box-shadow:0 2px 0 rgba(15,47,70,.12);
}
.gantt-sheet-header-cell,
.gantt-sheet-cell {
  position:relative;
  min-width:0;
  border-inline-end:1px solid rgba(148,163,184,.24);
  border-bottom:1px solid rgba(148,163,184,.22);
  overflow:hidden;
}
.gantt-sheet-header-cell {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:5px 10px;
  color:#fff;
  font-size:9.5px;
  font-weight:900;
  white-space:nowrap;
  cursor:grab;
  user-select:none;
}
.gantt-sheet-header-cell.dragging { opacity:.45; }
.gantt-sheet-header-cell.drag-target { background:#1b6a91; box-shadow:inset 3px 0 0 #fbbf24; }
.gantt-sheet-column-resizer {
  position:absolute;
  inset-block:0;
  inset-inline-end:-3px;
  z-index:4;
  width:8px;
  cursor:col-resize;
  touch-action:none;
}
.gantt-sheet-column-resizer::after { content:""; position:absolute; inset-block:7px; inset-inline-start:3px; width:1px; background:rgba(255,255,255,.34); }
.gantt-sheet-row { background:#fff; }
.gantt-sheet-row:nth-child(odd) { background:#f8fafc; }
.gantt-sheet-row:hover { background:#eef6fb; }
.gantt-sheet-row.row-selected { background:#e8f3fa; }
.gantt-sheet-row.critical { box-shadow:inset -3px 0 0 #d97706; }
.gantt-sheet-cell {
  display:flex;
  align-items:center;
  min-height:38px;
  padding:5px 8px;
  color:#24465d;
  font-size:9.5px;
  font-weight:750;
  white-space:nowrap;
  text-overflow:ellipsis;
  cursor:default;
  outline:none;
}
.gantt-sheet-cell > span { display:block; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.gantt-sheet-cell.editable { cursor:cell; background-image:linear-gradient(135deg,transparent 0 88%,rgba(11,93,145,.12) 88%); }
.gantt-sheet-cell.readonly { color:#6a7f8f; background-color:rgba(241,245,249,.46); }
.gantt-sheet-cell.selected { background:#d9edf8 !important; box-shadow:inset 0 0 0 1px #5ca9cf; }
.gantt-sheet-cell.active { z-index:6; background:#fff !important; box-shadow:inset 0 0 0 2px #0b7aab,0 0 0 1px #fff; }
.gantt-sheet-cell.editing { padding:2px; overflow:visible; }
.gantt-sheet-cell.editing input,
.gantt-sheet-cell.editing select { width:100%; min-width:0; height:32px; border:2px solid #0b7aab; border-radius:5px; background:#fff; color:#16384f; font:800 10px Cairo,sans-serif; padding:3px 6px; outline:none; }
.gantt-sheet-cell.select-cell { justify-content:center; padding:0; }
.gantt-sheet-cell.select-cell input,
.gantt-sheet-header-cell input { width:16px; height:16px; accent-color:#0b7aab; }
.gantt-sheet-head > :first-child,
.gantt-sheet-row > :first-child {
  position:sticky;
  inset-inline-start:0;
  z-index:12;
  background:inherit;
  box-shadow:-1px 0 0 rgba(148,163,184,.3);
}
.gantt-sheet-head > :first-child { z-index:32; background:#123f5d; }
.gantt-spreadsheet-workspace.density-compact .gantt-sheet-cell { min-height:30px; padding-block:3px; font-size:8.7px; }
.gantt-spreadsheet-workspace.density-compact .gantt-sheet-header-cell { min-height:32px; }
.gantt-spreadsheet-workspace.density-comfortable .gantt-sheet-cell { min-height:48px; padding-block:8px; font-size:10.5px; }
.gantt-spreadsheet-workspace.density-comfortable .gantt-sheet-header-cell { min-height:44px; }
.gantt-sheet-empty { min-width:720px; min-height:90px; }
.gantt-spreadsheet-footer {
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:8px 12px;
  border-top:1px solid var(--ds-border,var(--line));
  background:var(--ds-surface-subtle,#f5f8fb);
  color:var(--ds-muted,var(--muted));
  font-size:9px;
  font-weight:750;
}
body.gantt-grid-resizing { cursor:col-resize !important; user-select:none !important; }
body.gantt-grid-resizing * { cursor:col-resize !important; }

@media(max-width:760px) {
  .gantt-spreadsheet-header { flex-direction:column; align-items:stretch; }
  .gantt-grid-selection-status { align-self:flex-start; }
  .gantt-grid-shortcuts { display:none; }
  .gantt-sheet-scroll { max-block-size:430px; }
  .gantt-spreadsheet-footer { flex-direction:column; }
}

/* v0.75.0 — Gantt Phase 3 advanced CPM analysis and multi-calendar controls. */
.gantt-foundation-controls.phase3{grid-template-columns:minmax(150px,.7fr) minmax(190px,1fr) minmax(190px,1fr) minmax(130px,.55fr) minmax(140px,.6fr) auto}
.gantt-foundation-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.gantt-cpm-analysis{display:grid;gap:12px;margin:0 0 14px;padding:15px;border:1px solid color-mix(in srgb,#0b7a74 28%,var(--ds-border,#d8e2ea));border-radius:18px;background:linear-gradient(135deg,color-mix(in srgb,#0b7a74 7%,#fff),color-mix(in srgb,#0b5d91 5%,#fff));box-shadow:0 12px 30px rgba(15,44,67,.07)}
.gantt-cpm-analysis.blocked{border-color:color-mix(in srgb,#b45309 42%,var(--ds-border,#d8e2ea));background:linear-gradient(135deg,#fffaf0,#fff)}
.gantt-cpm-analysis>header{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.gantt-cpm-analysis h4{margin:2px 0 3px;color:var(--ds-text,#17384f);font-size:15px}.gantt-cpm-analysis header p{margin:0;color:var(--ds-muted,#60798a);font-size:10px;line-height:1.55}
.gantt-cpm-engine{min-width:154px;display:grid;gap:2px;padding:9px 12px;border-radius:13px;background:#083f53;color:#fff;direction:ltr;text-align:left}.gantt-cpm-engine small{font-size:7.5px;letter-spacing:.12em;opacity:.7}.gantt-cpm-engine b{font-size:10px}.gantt-cpm-engine em{font-size:8px;font-style:normal;color:#9ff4d9}
.gantt-cpm-analysis.blocked .gantt-cpm-engine{background:#8a3f0f}.gantt-cpm-analysis.blocked .gantt-cpm-engine em{color:#fff2c7}
.gantt-cpm-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.gantt-cpm-metrics article{display:grid;gap:3px;padding:9px 10px;border:1px solid rgba(148,163,184,.2);border-radius:12px;background:rgba(255,255,255,.82)}.gantt-cpm-metrics article.danger{border-color:rgba(185,28,28,.32);background:#fff4f4}.gantt-cpm-metrics small{font-size:8px;color:var(--ds-muted,#60798a);font-weight:850}.gantt-cpm-metrics b{font-size:11px;color:var(--ds-text,#17384f)}.gantt-cpm-metrics .danger b{color:#b91c1c}
.gantt-cpm-path{display:grid;gap:7px;padding:11px;border:1px dashed rgba(11,93,145,.25);border-radius:13px;background:rgba(255,255,255,.62)}.gantt-cpm-path>strong{font-size:10px;color:#164761}.gantt-cpm-path>div{display:flex;align-items:center;gap:6px;overflow:auto;padding-bottom:3px}.gantt-cpm-path span{display:inline-flex;align-items:center;gap:6px;min-width:max-content;padding:6px 8px;border-radius:9px;background:#e8f3f7;color:#17455d;font-size:9px;font-weight:850}.gantt-cpm-path span b{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:#0b5d91;color:#fff;font-size:8px}.gantt-cpm-path span.empty{background:transparent;color:var(--ds-muted,#60798a);font-weight:750}.gantt-cpm-path i{font-style:normal;color:#879aa7}
.gantt-cpm-review{display:flex;align-items:center;justify-content:space-between;gap:12px}.gantt-cpm-review>div{display:grid;gap:2px}.gantt-cpm-review strong{font-size:11px;color:var(--ds-text,#17384f)}.gantt-cpm-review small{font-size:8.5px;color:var(--ds-muted,#60798a)}
.gantt-cpm-diagnostics{display:grid;gap:6px;margin:0;padding:0;list-style:none}.gantt-cpm-diagnostics li{display:grid;grid-template-columns:56px minmax(0,1fr);align-items:center;gap:9px;padding:8px 10px;border-radius:11px;border:1px solid rgba(148,163,184,.2);background:#fff}.gantt-cpm-diagnostics li>span{display:grid;place-items:center;min-height:26px;border-radius:8px;background:#e8eef3;color:#466173;font-size:8px;font-weight:900}.gantt-cpm-diagnostics li div{display:grid;gap:2px}.gantt-cpm-diagnostics strong{font-size:9px;color:#24465d}.gantt-cpm-diagnostics small{font-size:7.8px;color:#708491;direction:ltr;text-align:right}.gantt-cpm-diagnostics .severity-critical,.gantt-cpm-diagnostics .severity-high{border-color:rgba(185,28,28,.28);background:#fff7f7}.gantt-cpm-diagnostics .severity-critical>span,.gantt-cpm-diagnostics .severity-high>span{background:#fee2e2;color:#991b1b}.gantt-cpm-diagnostics .severity-medium>span{background:#fef3c7;color:#92400e}.gantt-cpm-diagnostics li.blocking{box-shadow:inset -3px 0 0 #b91c1c}.gantt-cpm-clear{padding:10px 12px;border-radius:11px;background:#ecfdf5;color:#166534;font-size:9px;font-weight:850}
.gantt-sheet-row.near-critical{box-shadow:inset -3px 0 0 #eab308}.gantt-sheet-row.negative-float{background:#fff1f2}.gantt-sheet-row.negative-float .gantt-sheet-cell.readonly{color:#991b1b}
.gantt-data-row.near-critical{box-shadow:inset -3px 0 0 #eab308}.gantt-data-row.negative-float{background:#fff1f2}.gantt-chart-rows .gantt-row-track.near-critical{background:linear-gradient(90deg,rgba(234,179,8,.12) 1px,transparent 1px) 0 0/12.5% 100%,linear-gradient(180deg,rgba(254,252,232,.75),rgba(254,249,195,.42))}.gantt-chart-rows .gantt-row-track.negative-float{box-shadow:inset 0 0 0 1px rgba(185,28,28,.22)}
.gantt-bar.near-critical,.gantt-milestone.near-critical{box-shadow:0 9px 20px rgba(234,179,8,.28);filter:saturate(1.15)}.gantt-bar.negative-float,.gantt-milestone.negative-float{outline:2px solid #dc2626;outline-offset:1px}.gantt-legend i.near-critical{background:#eab308}.gantt-legend i.negative-float{background:#dc2626}
@media(max-width:1180px){.gantt-foundation-controls.phase3{grid-template-columns:repeat(3,minmax(0,1fr))}.gantt-cpm-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.gantt-foundation-actions{grid-column:1/-1}}
@media(max-width:720px){.gantt-foundation-controls.phase3,.gantt-cpm-metrics{grid-template-columns:1fr}.gantt-cpm-analysis>header,.gantt-cpm-review{display:grid}.gantt-cpm-engine{justify-self:start}.gantt-foundation-actions{grid-column:auto}}

/* v0.75.0 — Gantt Phase 3 advanced CPM intelligence. */

/* v0.94.1 — one direct-edit Gantt surface with an overlaying, printable timeline. */
.gantt-direct-workbench{
  --gantt-direct-head:40px;
  --gantt-direct-row:42px;
  position:relative;
  overflow:visible;
}
.gantt-direct-workbench .gantt-spreadsheet-header{
  display:grid;
  grid-template-columns:minmax(260px,1fr) auto auto;
  align-items:center;
}
.gantt-direct-workbench .gantt-range{
  min-width:210px;
}
.gantt-direct-workbench .gantt-spreadsheet-toolbar{
  position:relative;
  z-index:52;
  overflow:visible;
}
.gantt-relation-guide{
  position:relative;
  margin-inline-start:auto;
}
.gantt-relation-guide>summary{
  min-height:32px;
  display:flex;
  align-items:center;
  padding:5px 10px;
  border:1px solid color-mix(in srgb,var(--ds-primary,#0b5d91) 24%,var(--ds-border,#d8e2ea));
  border-radius:9px;
  background:#fff;
  color:var(--ds-primary,#0b5d91);
  font-size:10px;
  font-weight:900;
  cursor:pointer;
  list-style:none;
}
.gantt-relation-guide>summary::-webkit-details-marker{display:none}
.gantt-relation-guide[open]>summary{background:#eaf5f8}
.gantt-relation-guide>div{
  position:absolute;
  inset-block-start:calc(100% + 7px);
  inset-inline-end:0;
  z-index:90;
  width:min(520px,82vw);
  display:grid;
  grid-template-columns:92px minmax(0,1fr);
  gap:7px 10px;
  padding:13px;
  border:1px solid #bfd5e1;
  border-radius:12px;
  background:#fff;
  box-shadow:0 18px 38px rgba(14,49,70,.2);
  color:#476579;
  font-size:10px;
  line-height:1.65;
}
.gantt-relation-guide>div b{
  direction:ltr;
  color:#0b5d91;
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
}
.gantt-unified-shell{
  position:relative;
  max-width:100%;
  overflow:hidden;
  border:1px solid rgba(148,163,184,.34);
  border-radius:14px;
  background:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85);
}
.gantt-direct-workbench .gantt-unified-scroll{
  position:relative;
  max-block-size:620px;
  overflow-x:hidden;
  overflow-y:auto;
  scrollbar-gutter:stable;
  background:#fff;
}
.gantt-unified-stage{
  position:relative;
  width:100%;
  min-width:0;
  min-height:calc(var(--gantt-direct-head) + var(--gantt-row-count,0)*var(--gantt-direct-row));
  direction:rtl;
  overflow:visible;
}
.gantt-direct-workbench .gantt-sheet{
  position:relative;
  z-index:1;
  min-width:var(--gantt-data-width);
  max-width:none;
  margin-inline-start:0;
  margin-inline-end:auto;
  direction:rtl;
}
.gantt-direct-workbench .gantt-sheet-head{
  height:var(--gantt-direct-head);
  min-height:var(--gantt-direct-head);
}
.gantt-direct-workbench .gantt-sheet-header-cell{
  min-height:var(--gantt-direct-head);
  height:var(--gantt-direct-head);
  cursor:default;
}
.gantt-direct-workbench .gantt-sheet-row,
.gantt-direct-workbench .gantt-sheet-cell{
  min-height:var(--gantt-direct-row);
  height:var(--gantt-direct-row);
}
.gantt-direct-workbench .gantt-sheet-cell{
  padding-inline:8px;
}
.gantt-sequence-select-all,
.gantt-sequence-row-value{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  margin:0;
  cursor:pointer;
}
.gantt-sequence-select-all input,
.gantt-sequence-row-value input{
  flex:0 0 auto;
  width:15px;
  height:15px;
  accent-color:#0b7aab;
}
.gantt-sequence-select-all b{font-size:9px}
.gantt-direct-title-cell>span{
  padding-inline-start:calc(min(10,var(--hierarchy-level,0))*13px);
  font-weight:850;
}
.gantt-direct-relation-cell{
  justify-content:flex-start;
  text-align:left;
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
  font-variant-numeric:tabular-nums;
}
.gantt-direct-relation-cell>span{direction:ltr}
.gantt-direct-workbench .gantt-overlay-pane{
  position:absolute;
  inset-block:0;
  left:0;
  right:auto;
  z-index:35;
  width:var(--gantt-chart-width);
  min-width:0!important;
  max-width:calc(100% - 260px);
  height:100%;
  overflow:hidden;
  border-inline-end:1px solid #87a7ba;
  background:#fff;
  box-shadow:12px 0 24px rgba(15,47,70,.13);
}
.gantt-direct-workbench .gantt-overlay-pane .gantt-scale{
  position:sticky;
  inset-block-start:0;
  z-index:12;
  width:100%;
  min-width:0;
  height:var(--gantt-direct-head);
  min-height:var(--gantt-direct-head);
}
.gantt-direct-workbench .gantt-overlay-pane .gantt-chart-rows{
  min-width:0;
  min-height:calc(var(--gantt-row-count)*var(--gantt-direct-row));
}
.gantt-direct-workbench .gantt-overlay-pane .gantt-row-track{
  width:100%;
  min-width:0;
  height:var(--gantt-direct-row);
  min-height:var(--gantt-direct-row);
}
.gantt-direct-workbench.zoom-day .gantt-chart-rows{
  background-size:3.125% 100%;
}
.gantt-direct-workbench.zoom-month .gantt-chart-rows{
  background-size:25% 100%;
}
.gantt-direct-workbench.critical-emphasis .gantt-sheet-row:not(.critical):not(.summary-row),
.gantt-direct-workbench.critical-emphasis .gantt-row-track:not(.critical):not(.summary-row){opacity:.32}
.gantt-direct-workbench.critical-emphasis .gantt-sheet-row.critical,
.gantt-direct-workbench.critical-emphasis .gantt-row-track.critical{filter:saturate(1.25)}
.gantt-timeline-splitter{
  position:absolute;
  inset-block:0;
  left:calc(var(--gantt-chart-width) - 8px);
  z-index:48;
  width:16px;
  min-width:16px;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  cursor:col-resize;
  touch-action:none;
}
.gantt-timeline-splitter>span{
  position:sticky;
  inset-block-start:calc(50% - 31px);
  display:block;
  width:12px;
  height:62px;
  margin-inline:auto;
  border:1px solid #5e8ca5;
  border-radius:8px;
  background:linear-gradient(90deg,#f8fcfe,#d9e9f1);
  box-shadow:0 5px 15px rgba(13,70,111,.24);
}
.gantt-timeline-splitter>span::after{
  content:"⋮";
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:#0b5d91;
  font-size:22px;
  font-weight:900;
}
.gantt-timeline-splitter:focus-visible>span{
  outline:3px solid rgba(14,165,233,.34);
  outline-offset:2px;
}
body.gantt-timeline-resizing,
body.gantt-timeline-resizing *{cursor:col-resize!important;user-select:none!important}
.gantt-direct-workbench .gantt-legend{
  margin:9px 12px 0;
}
@media(max-width:900px){
  .gantt-direct-workbench .gantt-spreadsheet-header{grid-template-columns:1fr auto}
  .gantt-direct-workbench .gantt-grid-selection-status{grid-column:1/-1;justify-self:start}
}
@media(max-width:620px){
  .gantt-direct-workbench .gantt-spreadsheet-header{grid-template-columns:1fr}
  .gantt-direct-workbench .gantt-range{justify-self:start}
  .gantt-relation-guide{margin-inline-start:0}
  .gantt-direct-workbench .gantt-overlay-pane{max-width:calc(100% - 210px)}
}
.gantt-foundation-controls.phase3{grid-template-columns:minmax(140px,.65fr) minmax(190px,.85fr) minmax(205px,1fr) minmax(135px,.55fr) minmax(135px,.55fr) auto;align-items:end}
.gantt-foundation-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.gantt-phase3-foundation{border-color:color-mix(in srgb,#0b5d91 34%,var(--ds-border,#d8e2ea));background:linear-gradient(135deg,color-mix(in srgb,#0b5d91 8%,#fff),color-mix(in srgb,#16a085 6%,#fff))}
.gantt-cpm-analysis{display:grid;gap:12px;margin:0 0 14px;padding:15px;border:1px solid color-mix(in srgb,#0b5d91 22%,var(--ds-border,#d8e2ea));border-radius:18px;background:linear-gradient(145deg,#fff,color-mix(in srgb,#edf7f5 72%,#fff));box-shadow:0 12px 32px rgba(15,47,70,.07)}
.gantt-cpm-analysis.blocked{border-color:color-mix(in srgb,#b45309 45%,var(--ds-border,#d8e2ea));background:linear-gradient(145deg,#fff7ed,#fff)}
.gantt-cpm-analysis>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.gantt-cpm-analysis>header h4{margin:2px 0 3px;color:var(--ds-text,#17384f);font-size:15px}
.gantt-cpm-analysis>header p{max-width:820px;margin:0;color:var(--ds-muted,#60798a);font-size:10px;line-height:1.55}
.gantt-cpm-engine{display:grid;gap:2px;min-width:132px;padding:9px 11px;border-radius:13px;background:#0b5d91;color:#fff;text-align:center;direction:ltr}
.gantt-cpm-engine small{font-size:7px;letter-spacing:.6px;opacity:.75}.gantt-cpm-engine b{font-size:9px;overflow-wrap:anywhere}.gantt-cpm-engine em{font:800 8px Cairo,sans-serif;color:#bff5e6}
.gantt-cpm-analysis.blocked .gantt-cpm-engine{background:#9a3412}.gantt-cpm-analysis.blocked .gantt-cpm-engine em{color:#ffedd5}
.gantt-cpm-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.gantt-cpm-metrics article{display:grid;gap:4px;min-width:0;padding:10px 11px;border:1px solid rgba(148,163,184,.2);border-radius:12px;background:rgba(255,255,255,.84)}
.gantt-cpm-metrics article.danger{border-color:rgba(220,38,38,.3);background:#fff1f2}.gantt-cpm-metrics small{color:var(--ds-muted,#60798a);font-size:8px;font-weight:850}.gantt-cpm-metrics b{color:var(--ds-text,#17384f);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gantt-cpm-metrics .danger b{color:#b42318}
.gantt-cpm-path{display:grid;gap:7px;padding:11px 12px;border-radius:13px;background:color-mix(in srgb,#0b5d91 5%,#fff);border:1px solid color-mix(in srgb,#0b5d91 15%,transparent)}
.gantt-cpm-path>strong{font-size:10px;color:#0b5d91}.gantt-cpm-path>div{display:flex;align-items:center;gap:6px;overflow:auto;padding-bottom:3px}.gantt-cpm-path span{display:flex;align-items:center;gap:6px;flex:0 0 auto;padding:6px 8px;border-radius:9px;background:#fff;border:1px solid #d8e5ec;font-size:8.5px;font-weight:800}.gantt-cpm-path span b{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#d97706;color:#fff}.gantt-cpm-path i{font-style:normal;color:#8da1af}.gantt-cpm-path .empty{color:var(--ds-muted,#60798a);font-weight:700}
.gantt-cpm-review{display:flex;align-items:center;justify-content:space-between;gap:12px}.gantt-cpm-review>div{display:grid;gap:2px}.gantt-cpm-review strong{font-size:10px;color:var(--ds-text,#17384f)}.gantt-cpm-review small{font-size:8.5px;color:var(--ds-muted,#60798a)}
.gantt-cpm-diagnostics{display:grid;gap:7px;margin:0;padding:0;list-style:none}.gantt-cpm-diagnostics li{display:grid;grid-template-columns:62px minmax(0,1fr);gap:9px;align-items:start;padding:8px 10px;border-radius:11px;border:1px solid #e0e7ec;background:#fff}.gantt-cpm-diagnostics li>span{display:grid;place-items:center;min-height:25px;border-radius:8px;background:#edf2f6;color:#40566a;font-size:8px;font-weight:900}.gantt-cpm-diagnostics li>div{display:grid;gap:2px}.gantt-cpm-diagnostics strong{font-size:9px;color:#203c52}.gantt-cpm-diagnostics small{font-size:7.5px;color:#738897}.gantt-cpm-diagnostics li.severity-critical,.gantt-cpm-diagnostics li.blocking{border-color:#fecaca;background:#fff1f2}.gantt-cpm-diagnostics li.severity-critical>span,.gantt-cpm-diagnostics li.blocking>span{background:#b42318;color:#fff}.gantt-cpm-diagnostics li.severity-high{border-color:#fed7aa;background:#fff7ed}.gantt-cpm-diagnostics li.severity-high>span{background:#c45d0a;color:#fff}.gantt-cpm-diagnostics li.severity-medium>span{background:#d97706;color:#fff}.gantt-cpm-clear{padding:9px 11px;border-radius:11px;background:#ecfdf5;color:#116149;font-size:9px;font-weight:850}
.gantt-sheet-row.near-critical .gantt-sheet-cell{background:color-mix(in srgb,#f59e0b 7%,var(--ds-surface,#fff))}.gantt-sheet-row.negative-float .gantt-sheet-cell{background:color-mix(in srgb,#dc2626 7%,var(--ds-surface,#fff))}.gantt-sheet-row.negative-float .gantt-sheet-cell[data-col-key="totalFloat"] span,.gantt-sheet-row.negative-float .gantt-sheet-cell[data-col-key="contractFloat"] span{color:#b42318;font-weight:950}.gantt-sheet-row.near-critical .gantt-sheet-cell[data-col-key="totalFloat"] span{color:#a15c00;font-weight:900}
@media(max-width:1180px){.gantt-foundation-controls.phase3{grid-template-columns:repeat(3,minmax(0,1fr))}.gantt-cpm-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.gantt-foundation-controls.phase3,.gantt-cpm-metrics{grid-template-columns:1fr 1fr}.gantt-cpm-analysis>header,.gantt-cpm-review{display:grid}.gantt-cpm-engine{justify-self:start}.gantt-foundation-actions{grid-column:1/-1}}
@media(max-width:480px){.gantt-foundation-controls.phase3,.gantt-cpm-metrics{grid-template-columns:1fr}}

/* v0.75.0 — Gantt Phase 4 immutable baselines, variance control, S-curve, and rolling look-ahead. */
.gantt-progress-tracking{display:grid;gap:13px;margin:0 0 14px;padding:16px;border:1px solid color-mix(in srgb,#6d28d9 22%,var(--ds-border,#d8e2ea));border-radius:18px;background:linear-gradient(145deg,#fff,color-mix(in srgb,#f5f3ff 78%,#fff));box-shadow:0 12px 32px rgba(46,32,91,.07)}
.gantt-progress-tracking>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.gantt-progress-tracking>header h4{margin:2px 0 3px;color:var(--ds-text,#17384f);font-size:15px}.gantt-progress-tracking>header p{max-width:820px;margin:0;color:var(--ds-muted,#60798a);font-size:10px;line-height:1.55}
.gantt-baseline-controls{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.gantt-baseline-controls label{display:grid;gap:4px;min-width:190px;color:var(--ds-muted,#60798a);font-size:8px;font-weight:850}.gantt-baseline-controls select{min-height:34px;border:1px solid var(--ds-border,#d8e2ea);border-radius:9px;background:#fff;color:var(--ds-text,#17384f);padding:4px 8px;font:800 9px Cairo,sans-serif}
.gantt-progress-no-baseline{display:grid;gap:3px;padding:13px 14px;border:1px dashed #c4b5fd;border-radius:13px;background:#faf5ff;color:#5b21b6}.gantt-progress-no-baseline b{font-size:10px}.gantt-progress-no-baseline span{font-size:8.5px;color:#6b5c7c}
.gantt-progress-metrics{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px}.gantt-progress-metrics article{display:grid;gap:3px;min-width:0;padding:9px 10px;border:1px solid rgba(148,163,184,.2);border-radius:12px;background:rgba(255,255,255,.88)}.gantt-progress-metrics article.danger{border-color:#fecaca;background:#fff1f2}.gantt-progress-metrics article.success{border-color:#bbf7d0;background:#f0fdf4}.gantt-progress-metrics small{color:var(--ds-muted,#60798a);font-size:7.7px;font-weight:850}.gantt-progress-metrics b{color:var(--ds-text,#17384f);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gantt-progress-metrics em{color:#6b7280;font-size:7px;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gantt-progress-metrics .danger b{color:#b42318}.gantt-progress-metrics .success b{color:#166534}
.gantt-progress-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:12px}.gantt-scurve-card,.gantt-variance-card{display:grid;gap:10px;min-width:0;padding:12px;border:1px solid rgba(148,163,184,.22);border-radius:14px;background:rgba(255,255,255,.84)}.gantt-scurve-card>header,.gantt-variance-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.gantt-scurve-card header div,.gantt-variance-card header div{display:grid;gap:2px}.gantt-scurve-card header span,.gantt-variance-card header span{color:#7c3aed;font-size:7px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.gantt-scurve-card header b,.gantt-variance-card header b{color:var(--ds-text,#17384f);font-size:10px}.gantt-scurve-card header small,.gantt-variance-card header small{color:var(--ds-muted,#60798a);font-size:7.5px}
.gantt-scurve{display:grid;gap:7px}.gantt-scurve svg{display:block;width:100%;height:auto;min-height:190px;border-radius:11px;background:linear-gradient(180deg,#fbfdff,#f7f7ff);border:1px solid #e7e6f3}.gantt-scurve-grid line{stroke:#dce4ea;stroke-width:.45}.gantt-scurve-baseline{fill:none;stroke:#7c3aed;stroke-width:2.4}.gantt-scurve-current{fill:none;stroke:#0b7a74;stroke-width:2.2;stroke-dasharray:5 3}.gantt-scurve-actual{fill:none;stroke:#d97706;stroke-width:2.7}.gantt-scurve-status{stroke:#dc2626;stroke-width:1;stroke-dasharray:3 3}.gantt-scurve-legend{display:flex;gap:11px;align-items:center;flex-wrap:wrap;color:#60798a;font-size:7.5px;font-weight:800}.gantt-scurve-legend span{display:flex;align-items:center;gap:5px}.gantt-scurve-legend i{display:block;width:18px;height:3px;border-radius:3px}.gantt-scurve-legend .baseline{background:#7c3aed}.gantt-scurve-legend .current{background:#0b7a74}.gantt-scurve-legend .actual{background:#d97706}.gantt-scurve-empty{display:grid;place-items:center;min-height:190px;border:1px dashed #d8e2ea;border-radius:11px;color:#718394;font-size:9px}
.gantt-variance-table{max-height:260px;overflow:auto;border:1px solid #e4e9ed;border-radius:11px}.gantt-variance-table table{width:100%;border-collapse:collapse;font-size:8px}.gantt-variance-table th{position:sticky;top:0;z-index:2;background:#233f59;color:#fff;padding:7px;text-align:right}.gantt-variance-table td{padding:7px;border-bottom:1px solid #edf1f4;color:#365267;vertical-align:top}.gantt-variance-table button{all:unset;cursor:pointer;color:#0b5d91;font-weight:900}.gantt-variance-table button:hover{text-decoration:underline}.gantt-tracking-chip,.gantt-severity-chip{display:inline-flex;align-items:center;min-height:21px;padding:2px 6px;border-radius:999px;font-size:7px;font-weight:900;white-space:nowrap}.gantt-tracking-chip{background:#eef2ff;color:#4338ca}.gantt-severity-chip.severity-critical{background:#fee2e2;color:#991b1b}.gantt-severity-chip.severity-high{background:#ffedd5;color:#9a3412}.gantt-severity-chip.severity-medium{background:#fef3c7;color:#92400e}.gantt-severity-chip.severity-low{background:#dcfce7;color:#166534}
.gantt-lookahead{display:grid;gap:9px}.gantt-lookahead>header{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.gantt-lookahead>header h5{margin:2px 0 0;color:var(--ds-text,#17384f);font-size:12px}.gantt-lookahead>header small{color:var(--ds-muted,#60798a);font-size:8px}.gantt-lookahead-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.gantt-lookahead-card{display:grid;gap:8px;min-width:0;padding:11px;border:1px solid #e0e7ec;border-radius:13px;background:#fff}.gantt-lookahead-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.gantt-lookahead-card h6{margin:0;color:#17384f;font-size:10px}.gantt-lookahead-card header span{color:#7b8d99;font-size:7px}.gantt-lookahead-card header b{display:grid;place-items:center;min-width:30px;height:30px;border-radius:50%;background:#eaf4f8;color:#0b5d91;font-size:10px}.gantt-lookahead-stats{display:flex;gap:5px;flex-wrap:wrap}.gantt-lookahead-stats span{padding:3px 6px;border-radius:7px;background:#f1f5f9;color:#4d6373;font-size:7px;font-weight:850}.gantt-lookahead-stats span.danger{background:#fee2e2;color:#991b1b}.gantt-lookahead-list{display:grid;gap:5px;max-height:210px;overflow:auto}.gantt-lookahead-item{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:7px;align-items:center;padding:6px 7px;border:1px solid #edf1f4;border-radius:9px;background:#fbfcfd;text-align:right}.gantt-lookahead-item>span{display:grid;place-items:center;min-height:23px;border-radius:7px;background:#eef2ff;color:#4338ca;font-size:6.8px;font-weight:900}.gantt-lookahead-item.bucket-overdue>span{background:#fee2e2;color:#991b1b}.gantt-lookahead-item.bucket-in-progress>span{background:#dcfce7;color:#166534}.gantt-lookahead-item button{all:unset;display:grid;gap:1px;min-width:0;cursor:pointer}.gantt-lookahead-item strong{overflow:hidden;color:#24465d;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.gantt-lookahead-item small{color:#718594;font-size:7px}.gantt-lookahead-item em{color:#526a7b;font-size:7px;font-style:normal;white-space:nowrap}
.gantt-sheet-row.tracking-overdue .gantt-sheet-cell,.gantt-sheet-row.tracking-severity-critical .gantt-sheet-cell{background:color-mix(in srgb,#dc2626 7%,var(--ds-surface,#fff))}.gantt-sheet-row.tracking-behind .gantt-sheet-cell,.gantt-sheet-row.tracking-forecast-delay .gantt-sheet-cell,.gantt-sheet-row.tracking-severity-high .gantt-sheet-cell{background:color-mix(in srgb,#f97316 7%,var(--ds-surface,#fff))}.gantt-sheet-row.tracking-ahead .gantt-sheet-cell{background:color-mix(in srgb,#16a34a 6%,var(--ds-surface,#fff))}.gantt-sheet-row .gantt-sheet-cell[data-col-key="finishVariance"] span,.gantt-sheet-row .gantt-sheet-cell[data-col-key="progressVariance"] span{font-weight:900}.gantt-sheet-row.tracking-overdue .gantt-sheet-cell[data-col-key="finishVariance"] span,.gantt-sheet-row.tracking-behind .gantt-sheet-cell[data-col-key="progressVariance"] span,.gantt-sheet-row.tracking-forecast-delay .gantt-sheet-cell[data-col-key="finishVariance"] span{color:#b42318}.gantt-sheet-row.tracking-ahead .gantt-sheet-cell[data-col-key="progressVariance"] span{color:#166534}

/* v0.94.1 — fast tree workbench, bounded controls, and selectable professional bar profiles. */
.gantt-tree-mode-control,.gantt-bar-style-control{display:flex;align-items:center;gap:6px;color:#476579;font-size:8.5px;font-weight:900;white-space:nowrap}
.gantt-tree-mode-control select,.gantt-bar-style-control select{min-height:30px;max-width:170px;border:1px solid #cbdbe5;border-radius:8px;background:#fff;color:#17384f;padding:3px 7px;font:800 8.5px Cairo,sans-serif}
.gantt-tree-title{display:flex!important;align-items:center;gap:5px;min-width:0;width:100%}
.gantt-tree-label{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gantt-tree-toggle{display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;margin:0;padding:0;border:1px solid #a9c4d4;border-radius:6px;background:#f7fbfd;color:#0b5d91;font:900 9px/1 Cairo,sans-serif;cursor:pointer}
.gantt-tree-toggle:hover{border-color:#0b7aab;background:#eaf5fb}
.gantt-tree-toggle:focus-visible{outline:2px solid #38bdf8;outline-offset:1px}
.gantt-tree-leaf{display:block;flex:0 0 22px;width:22px;height:1px;background:linear-gradient(90deg,#b7c9d4 0 45%,transparent 45%)}
.gantt-sheet-row.summary-row .gantt-tree-label{font-weight:950;color:#123f5d}
.gantt-sheet-row.saving,.gantt-row-track.saving{opacity:.68}
.gantt-direct-workbench .gantt-sheet-row,.gantt-direct-workbench .gantt-row-track{content-visibility:auto;contain:layout style;contain-intrinsic-size:auto var(--gantt-direct-row)}
.gantt-sheet-row.saving::after{content:"جارٍ الحفظ";position:sticky;inset-inline-start:4px;z-index:8;align-self:center;padding:2px 6px;border-radius:8px;background:#fff7d6;color:#8a5a00;font-size:7px;font-weight:900;pointer-events:none}
.gantt-direct-workbench.bar-style-project .gantt-chart-rows .gantt-bar{height:14px;border-radius:1px;border:1px solid color-mix(in srgb,var(--gantt-bar-color,#2563eb) 72%,#14283a);box-shadow:none}
.gantt-direct-workbench.bar-style-project .gantt-chart-rows .gantt-bar::before{border-radius:0;background:var(--gantt-bar-color,#2563eb)}
.gantt-direct-workbench.bar-style-project .gantt-chart-rows .gantt-bar.summary{height:9px;border-width:0 0 3px;background:#172b3a}
.gantt-direct-workbench.bar-style-project .gantt-chart-rows .gantt-bar.summary::before{background:#172b3a}
.gantt-direct-workbench.bar-style-project .gantt-chart-rows .gantt-bar span{line-height:14px;font-size:7px}
.gantt-direct-workbench.bar-style-primavera .gantt-chart-rows .gantt-bar{height:11px;border-radius:0;border:1px solid #113d5a;background:transparent;box-shadow:0 1px 0 rgba(255,255,255,.7)}
.gantt-direct-workbench.bar-style-primavera .gantt-chart-rows .gantt-bar::before{border-radius:0;background:var(--gantt-bar-color,#0b7a74)}
.gantt-direct-workbench.bar-style-primavera .gantt-chart-rows .gantt-bar.has-progress::after{border-radius:0;background:rgba(5,31,48,.42)}
.gantt-direct-workbench.bar-style-primavera .gantt-chart-rows .gantt-bar.summary{height:7px;border:0;background:#0b3f60}
.gantt-direct-workbench.bar-style-primavera .gantt-chart-rows .gantt-bar span{overflow:visible;line-height:11px;font-size:7px;color:#102d40;background:rgba(255,255,255,.9);text-shadow:none;transform:translate(50%,-13px)}
.gantt-direct-workbench.bar-style-hendar .gantt-chart-rows .gantt-bar{border-radius:6px}
@media(max-width:720px){.gantt-tree-mode-control,.gantt-bar-style-control{width:100%;justify-content:space-between}.gantt-tree-mode-control select,.gantt-bar-style-control select{flex:1;max-width:none}}
@media(max-width:1240px){.gantt-progress-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.gantt-progress-layout{grid-template-columns:1fr}.gantt-lookahead-grid{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:800px){.gantt-progress-tracking>header,.gantt-lookahead>header{display:grid}.gantt-baseline-controls{align-items:stretch}.gantt-progress-metrics{grid-template-columns:1fr 1fr}.gantt-lookahead-grid{grid-template-columns:1fr}}

/* v0.75.0 Phase 4 finishing pass — governed baseline/progress controls. */
.gantt-foundation-controls.phase4{grid-template-columns:repeat(6,minmax(0,1fr))}.gantt-foundation-controls.phase4 .gantt-foundation-actions{grid-column:span 2}
.gantt-integrity-chip{display:inline-flex;align-items:center;gap:5px;width:max-content;margin-top:7px;padding:4px 8px;border-radius:999px;font-size:7.5px;font-weight:900}.gantt-integrity-chip.valid{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}.gantt-integrity-chip.invalid{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}
.gantt-progress-metrics article.warning{border-color:#fde68a;background:#fffbeb}.gantt-progress-metrics article.warning b{color:#92400e}
.gantt-scurve-wrap{display:grid;gap:7px}.gantt-scurve-wrap>svg.gantt-scurve{display:block;width:100%;height:auto;min-height:190px;border-radius:11px;background:linear-gradient(180deg,#fbfdff,#f7f7ff);border:1px solid #e7e6f3}.gantt-scurve .grid line{stroke:#dce4ea;stroke-width:.45}.gantt-scurve .grid text{fill:#718394;font:7px Cairo,Tahoma,sans-serif}.gantt-scurve path{fill:none;vector-effect:non-scaling-stroke}.gantt-scurve path.baseline{stroke:#7c3aed;stroke-width:2.4}.gantt-scurve path.current{stroke:#0b7a74;stroke-width:2.2;stroke-dasharray:5 3}.gantt-scurve path.actual{stroke:#d97706;stroke-width:2.7}.gantt-scurve-axis{display:flex;justify-content:space-between;gap:8px;color:#718394;font-size:7.2px}.gantt-scurve-axis b{color:#b42318;font-size:7.3px}.gantt-scurve-legend span:before{content:"";display:block;width:18px;height:3px;border-radius:3px}.gantt-scurve-legend span.baseline:before{background:#7c3aed}.gantt-scurve-legend span.current:before{background:#0b7a74}.gantt-scurve-legend span.actual:before{background:#d97706}
.gantt-lookahead-card.selected{border-color:#7c3aed;box-shadow:0 0 0 2px rgba(124,58,237,.1),0 10px 24px rgba(78,53,133,.08)}.gantt-lookahead-card>header div{display:grid;gap:2px}.gantt-lookahead-card>header em{display:grid;place-items:center;min-width:36px;height:29px;border-radius:999px;background:#eef2ff;color:#4338ca;font-size:7.2px;font-style:normal;font-weight:900}.gantt-lookahead-card header b{display:block;min-width:0;height:auto;border-radius:0;background:transparent;color:#24465d;font-size:8.2px}.gantt-lookahead-metrics{display:flex;gap:5px;flex-wrap:wrap}.gantt-lookahead-metrics span{padding:3px 6px;border-radius:7px;background:#f1f5f9;color:#4d6373;font-size:7px;font-weight:850}.gantt-lookahead-metrics span:first-child{background:#fee2e2;color:#991b1b}.gantt-lookahead-activity{display:grid;gap:2px;width:100%;padding:7px 8px;border:1px solid #edf1f4;border-radius:9px;background:#fbfcfd;color:#24465d;text-align:right;cursor:pointer}.gantt-lookahead-activity:hover{border-color:#c4b5fd;background:#faf5ff}.gantt-lookahead-activity>span{display:flex;align-items:center;gap:7px;min-width:0;font-size:8px;font-weight:800}.gantt-lookahead-activity>span b{flex:0 0 auto;padding:2px 5px;border-radius:6px;background:#eef2ff;color:#4338ca;font-size:6.8px}.gantt-lookahead-activity>small{overflow:hidden;color:#718594;font-size:7px;text-overflow:ellipsis;white-space:nowrap}.gantt-lookahead-activity.overdue{border-color:#fecaca;background:#fff7f7}.gantt-lookahead-activity.in_progress{border-color:#bbf7d0;background:#f5fff8}.gantt-lookahead-activity.no-evidence{box-shadow:inset -3px 0 #d97706}
.gantt-progress-history{display:grid;gap:9px;padding:12px;border:1px solid rgba(148,163,184,.22);border-radius:14px;background:rgba(255,255,255,.84)}.gantt-progress-history>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.gantt-progress-history>header div{display:grid;gap:2px}.gantt-progress-history h5{margin:0;color:var(--ds-text,#17384f);font-size:11px}.gantt-progress-history>header small{color:var(--ds-muted,#60798a);font-size:7.5px}.gantt-progress-history ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0;padding:0;list-style:none}.gantt-progress-history li{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;padding:8px 9px;border:1px solid #e8edf1;border-radius:10px;background:#fbfcfd}.gantt-progress-history li>span{display:grid;gap:2px;min-width:0}.gantt-progress-history li b{overflow:hidden;color:#24465d;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.gantt-progress-history li small{color:#718594;font-size:6.8px}.gantt-progress-history li em{flex:0 0 auto;color:#0b7a74;font-size:7px;font-style:normal;font-weight:900}.gantt-progress-history-empty{padding:11px;border:1px dashed #d8e2ea;border-radius:10px;color:#718394;font-size:8px;text-align:center}
@media(max-width:1280px){.gantt-foundation-controls.phase4{grid-template-columns:repeat(3,minmax(0,1fr))}.gantt-progress-history ul{grid-template-columns:1fr 1fr}}
@media(max-width:800px){.gantt-foundation-controls.phase4{grid-template-columns:1fr 1fr}.gantt-foundation-controls.phase4 .gantt-foundation-actions{grid-column:1/-1}.gantt-progress-history>header{display:grid}.gantt-progress-history ul{grid-template-columns:1fr}}
@media(max-width:480px){.gantt-foundation-controls.phase4{grid-template-columns:1fr}}
