:root {
  --navy-950: #041f3a;
  --navy-900: #073763;
  --navy-800: #0b4f86;
  --navy-700: #1469a9;
  --blue-100: #eaf4fb;
  --blue-50: #f5f9fc;
  --gold: #caa15a;
  --gold-light: #e8d2a6;
  --ink: #152236;
  --muted: #66758b;
  --line: #dce5ee;
  --surface: #ffffff;
  --canvas: #f3f6f9;
  --green: #169873;
  --orange: #e28a24;
  --red: #d64b4b;
  --purple: #7357b5;
  --shadow: 0 12px 30px rgba(4, 31, 58, 0.08);
  --radius: 18px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Tahoma, Arial, sans-serif;
}

* { box-sizing: border-box; }
html { background: var(--canvas); }
body { margin: 0; color: var(--ink); background: var(--canvas); min-height: 100vh; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.hidden { display: none !important; }
.muted { color: var(--muted); }
.mobile-only { display: none; }

.login-screen { min-height: 100vh; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(380px, 0.65fr); background: #fff; }
.login-visual { position: relative; overflow: hidden; padding: 48px 6vw; color: white; display: flex; flex-direction: column; justify-content: space-between; background: radial-gradient(circle at 16% 18%, rgba(202,161,90,.35), transparent 24%), linear-gradient(135deg, #052b50 0%, #073763 45%, #0b5e9e 100%); }
.login-visual::after { content: ""; position: absolute; inset: auto -8% -22% auto; width: 65%; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; box-shadow: 0 0 0 70px rgba(255,255,255,.035), 0 0 0 140px rgba(255,255,255,.025); }
.login-copy { position: relative; z-index: 1; max-width: 760px; margin-bottom: 6vh; }
.login-copy h1 { font-size: clamp(38px, 5vw, 72px); line-height: 1.12; margin: 12px 0 20px; letter-spacing: -.035em; }
.login-copy p { max-width: 650px; font-size: 19px; line-height: 1.9; color: rgba(255,255,255,.78); }
.feature-row { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 28px; }
.feature-row span { border: 1px solid rgba(255,255,255,.22); background: rgba(255,255,255,.08); padding: 9px 14px; border-radius: 99px; font-size: 13px; }
.login-card { align-self: center; width: min(430px, calc(100% - 56px)); margin: auto; padding: 42px; border: 1px solid var(--line); border-radius: 24px; box-shadow: 0 24px 60px rgba(4,31,58,.12); }
.login-card h2 { font-size: 34px; margin: 8px 0 6px; }
.login-card p { margin-top: 0; margin-bottom: 28px; }
.mobile-brand { display: none; }
.demo-note { margin-top: 16px; padding: 12px 14px; border-radius: 12px; background: var(--blue-50); color: var(--muted); font-size: 12px; line-height: 1.7; }

.brand-mark { display: flex; align-items: center; gap: 12px; direction: ltr; }
.brand-mark svg { width: 54px; height: 54px; flex: 0 0 auto; }
.brand-mark strong { display: block; font-size: 29px; letter-spacing: .02em; }
.brand-mark span { display: block; font-size: 10px; letter-spacing: .02em; opacity: .8; }
.brand-mark.large svg { width: 72px; height: 72px; }
.brand-mark.large strong { font-size: 44px; }
.brand-mark.compact svg { width: 46px; height: 46px; }
.brand-mark.compact strong { color: white; font-size: 25px; }
.brand-mark.compact span { color: rgba(255,255,255,.67); }

.eyebrow { display: block; color: var(--navy-700); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.eyebrow.light { color: var(--gold-light); }
.field-label { display: block; font-weight: 700; font-size: 13px; margin: 18px 0 8px; }
input, select, textarea { width: 100%; border: 1px solid var(--line); border-radius: 12px; background: white; color: var(--ink); padding: 12px 14px; outline: none; transition: .18s ease; }
input:focus, select:focus, textarea:focus { border-color: var(--navy-700); box-shadow: 0 0 0 4px rgba(20,105,169,.11); }
textarea { resize: vertical; }

.button { border: 0; border-radius: 12px; padding: 12px 18px; font-weight: 800; transition: .18s ease; }
.button:hover:not(:disabled) { transform: translateY(-1px); }
.button.primary { color: white; background: linear-gradient(135deg, var(--navy-800), var(--navy-700)); box-shadow: 0 8px 20px rgba(11,79,134,.22); }
.button.secondary { color: var(--navy-900); background: var(--blue-100); }
.button.light { color: var(--navy-900); background: white; }
.button.full { width: 100%; margin-top: 24px; }
.button:disabled { opacity: .55; cursor: not-allowed; }
.icon-button { border: 0; background: transparent; color: inherit; width: 38px; height: 38px; border-radius: 10px; font-size: 22px; }
.icon-button:hover { background: rgba(255,255,255,.08); }
.text-button { border: 0; background: transparent; color: var(--navy-700); font-weight: 800; }

.app-shell { min-height: 100vh; display: grid; grid-template-columns: 272px 1fr; }
.sidebar { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; color: white; background: linear-gradient(180deg, var(--navy-950), var(--navy-900)); box-shadow: 12px 0 40px rgba(4,31,58,.12); z-index: 20; }
.sidebar-brand { min-height: 88px; padding: 16px 18px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(255,255,255,.09); }
.main-nav { flex: 1; overflow-y: auto; padding: 14px 10px 20px; scrollbar-width: thin; }
.nav-section-title { color: rgba(255,255,255,.38); font-size: 10px; font-weight: 900; padding: 14px 13px 7px; letter-spacing: .08em; }
.nav-item { width: 100%; display: flex; align-items: center; gap: 11px; color: rgba(255,255,255,.76); background: transparent; border: 0; padding: 11px 13px; margin: 2px 0; border-radius: 11px; text-align: right; font-weight: 700; font-size: 13px; }
.nav-item:hover { color: white; background: rgba(255,255,255,.06); }
.nav-item.active { color: white; background: linear-gradient(135deg, rgba(34,139,217,.85), rgba(20,105,169,.72)); box-shadow: inset 0 0 0 1px rgba(255,255,255,.11); }
.nav-icon { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 7px; background: rgba(255,255,255,.08); font-size: 13px; }
.nav-status { margin-right: auto; font-size: 9px; color: rgba(255,255,255,.45); }
.nav-status.partial { color: #f4c774; }
.sidebar-footer { padding: 14px; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid rgba(255,255,255,.09); }
.user-mini { display: flex; align-items: center; gap: 10px; min-width: 0; }
.user-mini .avatar { width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; background: var(--gold); color: var(--navy-950); font-weight: 900; }
.user-mini strong, .user-mini span { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 140px; }
.user-mini strong { font-size: 12px; }
.user-mini span { font-size: 9px; color: rgba(255,255,255,.5); margin-top: 3px; }

.main-content { min-width: 0; }
.topbar { height: 88px; padding: 0 32px; display: flex; align-items: center; justify-content: space-between; background: rgba(255,255,255,.93); border-bottom: 1px solid var(--line); backdrop-filter: blur(18px); position: sticky; top: 0; z-index: 10; }
.topbar-title { display: flex; align-items: center; gap: 10px; }
.topbar h1 { margin: 4px 0 0; font-size: 23px; }
.topbar-actions { display: flex; align-items: center; gap: 8px; }
.top-action { position: relative; border: 1px solid var(--line); background: white; width: 40px; height: 40px; border-radius: 11px; }
.notification i { position: absolute; width: 7px; height: 7px; border-radius: 50%; background: var(--red); top: 7px; right: 7px; }
.date-chip { padding: 10px 14px; border-radius: 12px; background: var(--blue-50); color: var(--muted); font-size: 12px; }

.view { display: none; padding: 28px 32px 50px; }
.view.active { display: block; }
.hero-strip { min-height: 185px; display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 32px 38px; color: white; border-radius: 22px; background: radial-gradient(circle at 15% 30%, rgba(202,161,90,.25), transparent 25%), linear-gradient(120deg, #062f58, #0b5d9d); box-shadow: var(--shadow); overflow: hidden; position: relative; }
.hero-strip::after { content: ""; position: absolute; width: 320px; height: 320px; border: 55px solid rgba(255,255,255,.04); border-radius: 50%; left: -70px; top: -75px; }
.hero-strip > * { position: relative; z-index: 1; }
.hero-strip h2 { margin: 8px 0; font-size: 31px; }
.hero-strip p { margin: 0; color: rgba(255,255,255,.72); }

.metrics-grid { display: grid; grid-template-columns: repeat(6, minmax(150px, 1fr)); gap: 14px; margin: 18px 0; }
.metric-card { background: white; border: 1px solid var(--line); border-radius: 16px; padding: 18px; box-shadow: 0 7px 18px rgba(4,31,58,.04); }
.metric-top { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.metric-icon { width: 38px; height: 38px; border-radius: 11px; display: grid; place-items: center; background: var(--blue-100); color: var(--navy-700); font-weight: 900; }
.metric-card h3 { font-size: 24px; margin: 17px 0 5px; direction: ltr; text-align: right; }
.metric-card p { margin: 0; color: var(--muted); font-size: 11px; }
.metric-card.alert .metric-icon { background: #fceaea; color: var(--red); }
.metric-card.good .metric-icon { background: #e7f7f1; color: var(--green); }

.dashboard-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 18px; }
.dashboard-grid.lower { margin-top: 18px; }
.span-2 { grid-column: span 2; }
.panel { background: white; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 7px 18px rgba(4,31,58,.04); padding: 21px; }
.panel-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
.panel-header h3 { margin: 5px 0 0; font-size: 18px; }
.progress-list { display: grid; gap: 18px; }
.progress-row { display: grid; grid-template-columns: minmax(180px, 1.5fr) 3fr 54px; align-items: center; gap: 14px; }
.progress-row strong { display: block; font-size: 13px; }
.progress-row small { color: var(--muted); font-size: 10px; }
.progress-track { height: 10px; border-radius: 99px; background: #edf2f6; overflow: hidden; }
.progress-track i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--navy-700), #2a91d1); }
.progress-row em { font-style: normal; font-weight: 900; font-size: 12px; }
.alerts-list { display: grid; gap: 10px; }
.alert-item { display: flex; gap: 10px; padding: 12px; border-radius: 12px; background: var(--blue-50); }
.alert-dot { flex: 0 0 auto; width: 9px; height: 9px; border-radius: 50%; margin-top: 5px; background: var(--navy-700); }
.alert-item.warning .alert-dot { background: var(--orange); }
.alert-item.danger .alert-dot { background: var(--red); }
.alert-item strong { display: block; font-size: 12px; }
.alert-item p { margin: 4px 0 0; color: var(--muted); font-size: 11px; line-height: 1.6; }
.quick-actions { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.quick-actions button { border: 1px solid var(--line); background: white; border-radius: 13px; min-height: 85px; display: grid; place-items: center; align-content: center; gap: 7px; color: var(--ink); }
.quick-actions button:hover { border-color: var(--navy-700); background: var(--blue-50); }
.quick-actions b { font-size: 24px; color: var(--navy-700); }
.quick-actions span { font-size: 12px; font-weight: 800; }
.roadmap { display: grid; gap: 11px; }
.roadmap > div { display: grid; grid-template-columns: 90px 1fr auto; align-items: center; gap: 12px; padding: 13px 14px; border: 1px solid var(--line); border-radius: 12px; }
.roadmap strong { color: var(--navy-800); font-size: 12px; }
.roadmap span { font-size: 12px; color: var(--muted); }
.roadmap i { font-style: normal; font-size: 10px; font-weight: 900; border-radius: 99px; padding: 5px 8px; color: var(--orange); background: #fff3e3; }
.roadmap i.done { color: var(--green); background: #e8f7f2; }

.section-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.section-toolbar h2 { font-size: 28px; margin: 6px 0; }
.section-toolbar p { color: var(--muted); margin: 0; }
.filter-bar { display: grid; grid-template-columns: minmax(260px, 1fr) 210px; gap: 12px; margin-bottom: 14px; }
.table-card { background: white; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; box-shadow: 0 7px 18px rgba(4,31,58,.04); }
table { width: 100%; border-collapse: collapse; }
th, td { padding: 14px 16px; text-align: right; border-bottom: 1px solid var(--line); vertical-align: middle; }
th { background: var(--blue-50); color: var(--muted); font-size: 10px; letter-spacing: .03em; }
td { font-size: 12px; }
tr:last-child td { border-bottom: 0; }
.project-cell strong { display: block; font-size: 13px; }
.project-cell small { color: var(--muted); }
.status-pill { display: inline-flex; align-items: center; gap: 6px; border-radius: 99px; padding: 6px 9px; background: #e8f7f2; color: var(--green); font-size: 10px; font-weight: 900; }
.status-pill.delayed { background: #fceaea; color: var(--red); }
.status-pill.hold { background: #fff3e3; color: var(--orange); }
.status-pill.closed { background: #eef1f4; color: #6b7583; }
.mini-progress { width: 120px; height: 7px; border-radius: 99px; background: #edf2f6; overflow: hidden; display: inline-block; vertical-align: middle; margin-left: 8px; }
.mini-progress i { display: block; height: 100%; border-radius: inherit; background: var(--navy-700); }
.row-action { border: 0; border-radius: 9px; background: var(--blue-100); color: var(--navy-800); padding: 7px 10px; font-weight: 800; font-size: 10px; }
.empty-table { padding: 42px; text-align: center; color: var(--muted); }

.report-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.report-card { background: white; border: 1px solid var(--line); border-radius: var(--radius); padding: 19px; box-shadow: 0 7px 18px rgba(4,31,58,.04); }
.report-card-header { display: flex; justify-content: space-between; gap: 16px; align-items: start; border-bottom: 1px solid var(--line); padding-bottom: 13px; margin-bottom: 13px; }
.report-card h3 { font-size: 15px; margin: 4px 0 0; }
.report-date { color: var(--navy-700); font-weight: 900; font-size: 12px; }
.report-stats { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 13px; }
.report-stats span { background: var(--blue-50); border-radius: 9px; padding: 7px 9px; font-size: 10px; color: var(--muted); }
.report-card p { font-size: 12px; line-height: 1.75; }
.report-card .obstacles { color: var(--muted); background: #fafbfc; border-radius: 10px; padding: 10px; }
.report-footer { display: flex; align-items: center; justify-content: space-between; margin-top: 15px; font-size: 10px; color: var(--muted); }

.empty-state { min-height: calc(100vh - 180px); background: white; border: 1px dashed #c9d6e2; border-radius: 22px; display: grid; place-items: center; align-content: center; text-align: center; padding: 40px; }
.empty-state h2 { margin: 9px 0; font-size: 29px; }
.empty-state p { max-width: 600px; color: var(--muted); line-height: 1.8; }
.empty-icon { width: 74px; height: 74px; border-radius: 22px; display: grid; place-items: center; color: white; background: linear-gradient(135deg, var(--navy-800), var(--navy-700)); font-size: 30px; margin-bottom: 16px; }
.planned-tags { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; margin-top: 12px; }
.planned-tags span { background: var(--blue-50); color: var(--navy-700); padding: 7px 10px; border-radius: 99px; font-size: 11px; font-weight: 800; }

.modal-backdrop { position: fixed; inset: 0; z-index: 100; background: rgba(4,31,58,.62); display: grid; place-items: center; padding: 24px; backdrop-filter: blur(6px); }
.modal { width: min(820px, 100%); max-height: calc(100vh - 48px); overflow-y: auto; background: white; border-radius: 22px; box-shadow: 0 35px 90px rgba(0,0,0,.28); }
.modal-header { display: flex; align-items: center; justify-content: space-between; padding: 22px 24px; border-bottom: 1px solid var(--line); }
.modal-header h2 { margin: 5px 0 0; }
.modal .icon-button:hover { background: var(--blue-50); }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; padding: 24px; }
.form-grid label span { display: block; font-size: 12px; font-weight: 800; margin-bottom: 7px; }
.form-grid .wide { grid-column: 1 / -1; }
.form-actions { display: flex; justify-content: flex-end; gap: 10px; padding-top: 8px; }

.toast { position: fixed; z-index: 200; left: 24px; bottom: 24px; max-width: 360px; padding: 13px 16px; color: white; background: var(--navy-950); border-radius: 12px; box-shadow: var(--shadow); opacity: 0; transform: translateY(12px); pointer-events: none; transition: .22s ease; font-size: 12px; }
.toast.show { opacity: 1; transform: translateY(0); }
.toast.error { background: #9c2e2e; }

@media (max-width: 1250px) {
  .metrics-grid { grid-template-columns: repeat(3, 1fr); }
  .login-screen { grid-template-columns: 1fr 440px; }
}

@media (max-width: 980px) {
  .mobile-only { display: inline-grid; place-items: center; }
  .app-shell { grid-template-columns: 1fr; }
  .sidebar { position: fixed; right: -290px; width: 280px; transition: right .22s ease; }
  .sidebar.open { right: 0; }
  .topbar { padding: 0 18px; }
  .view { padding: 22px 18px 40px; }
  .dashboard-grid { grid-template-columns: 1fr; }
  .span-2 { grid-column: auto; }
  .report-grid { grid-template-columns: 1fr; }
  .login-screen { grid-template-columns: 1fr; }
  .login-visual { display: none; }
  .login-card { margin: 40px auto; }
  .mobile-brand { display: block; margin-bottom: 34px; }
}

@media (max-width: 720px) {
  .metrics-grid { grid-template-columns: repeat(2, 1fr); }
  .hero-strip { padding: 26px; align-items: flex-start; flex-direction: column; }
  .hero-strip h2 { font-size: 25px; }
  .section-toolbar { align-items: flex-start; flex-direction: column; }
  .filter-bar { grid-template-columns: 1fr; }
  .date-chip { display: none; }
  .topbar-actions { gap: 4px; }
  .progress-row { grid-template-columns: 1fr 54px; }
  .progress-row .progress-track { grid-column: 1 / -1; }
  .roadmap > div { grid-template-columns: 1fr; }
  .form-grid { grid-template-columns: 1fr; }
  .form-grid .wide { grid-column: auto; }
  .table-card { overflow-x: auto; }
  table { min-width: 840px; }
}

@media (max-width: 480px) {
  .metrics-grid { grid-template-columns: 1fr; }
  .login-card { width: calc(100% - 28px); padding: 28px 22px; }
  .quick-actions { grid-template-columns: 1fr 1fr; }
  .topbar h1 { font-size: 18px; }
  .topbar .eyebrow { display: none; }
  .modal-backdrop { padding: 8px; }
}

/* =========================================================
   WDL v0.2 — Engineering navigation system
   ========================================================= */
.desktop-only { display: inline-grid; }
.app-shell {
  grid-template-columns: 320px minmax(0, 1fr);
  transition: grid-template-columns .28s cubic-bezier(.2,.8,.2,1);
}
.app-shell.sidebar-collapsed { grid-template-columns: 92px minmax(0, 1fr); }

.sidebar {
  isolation: isolate;
  background:
    radial-gradient(circle at 35% 4%, rgba(50,148,214,.19), transparent 26%),
    linear-gradient(180deg, #031a31 0%, #062c50 52%, #041f3a 100%);
  box-shadow: -12px 0 45px rgba(3,26,49,.17);
  transition: width .28s cubic-bezier(.2,.8,.2,1);
  overflow: hidden;
}
.sidebar-blueprint {
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: .34;
  background-image:
    linear-gradient(rgba(255,255,255,.022) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.022) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.012) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.012) 1px, transparent 1px);
  background-size: 44px 44px, 44px 44px, 11px 11px, 11px 11px;
}
.sidebar::after {
  content: "";
  position: absolute;
  inset-inline-end: 0;
  top: 0;
  bottom: 0;
  width: 1px;
  background: linear-gradient(transparent, rgba(113,198,255,.55), transparent);
  pointer-events: none;
}
.sidebar-brand {
  min-height: 98px;
  padding: 17px 20px;
  background: rgba(1,16,31,.29);
  border-bottom-color: rgba(150,213,255,.1);
}
.brand-mark.compact { min-width: 0; }
.brand-mark.compact svg {
  width: 49px;
  height: 49px;
  filter: drop-shadow(0 7px 13px rgba(0,0,0,.22));
}
.brand-copy { min-width: 0; }
.brand-mark.compact .brand-copy strong {
  font-size: 26px;
  line-height: 1;
  letter-spacing: .09em;
}
.brand-mark.compact .brand-copy span {
  margin-top: 4px;
  color: rgba(255,255,255,.75);
  font-size: 10px;
  white-space: nowrap;
}
.brand-mark.compact .brand-copy small {
  display: block;
  margin-top: 6px;
  color: var(--gold-light);
  font-size: 7px;
  font-weight: 800;
  letter-spacing: .16em;
  white-space: nowrap;
}
.sidebar-tools { padding: 13px 14px 8px; }
.nav-search {
  height: 43px;
  display: grid;
  grid-template-columns: 21px minmax(0,1fr) auto;
  align-items: center;
  gap: 9px;
  padding: 0 12px;
  border: 1px solid rgba(162,216,252,.13);
  border-radius: 12px;
  background: rgba(255,255,255,.055);
  color: rgba(255,255,255,.65);
  transition: .2s ease;
}
.nav-search:focus-within {
  border-color: rgba(99,187,247,.52);
  background: rgba(255,255,255,.09);
  box-shadow: 0 0 0 3px rgba(31,134,203,.12);
}
.nav-search svg,
.logout-button svg,
.sidebar-collapse-button svg,
.group-chevron,
.nav-icon svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.nav-search svg { width: 18px; height: 18px; }
.nav-search input {
  min-width: 0;
  height: 39px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: white;
  font-size: 11px;
  box-shadow: none !important;
}
.nav-search input::placeholder { color: rgba(255,255,255,.37); }
.nav-search kbd {
  padding: 3px 5px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 5px;
  color: rgba(255,255,255,.38);
  background: rgba(0,0,0,.12);
  font: 8px/1.2 inherit;
}
.main-nav {
  padding: 7px 11px 14px;
  scrollbar-color: rgba(108,190,244,.22) transparent;
}
.nav-group {
  margin: 5px 0 9px;
  border-radius: 14px;
}
.nav-group-toggle {
  width: 100%;
  min-height: 47px;
  display: grid;
  grid-template-columns: 27px minmax(0,1fr) auto 20px;
  align-items: center;
  gap: 9px;
  padding: 7px 9px;
  border: 0;
  border-radius: 10px;
  color: rgba(255,255,255,.66);
  background: transparent;
  text-align: right;
  transition: .18s ease;
}
.nav-group-toggle:hover { color: white; background: rgba(255,255,255,.035); }
.group-code {
  width: 27px;
  height: 27px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(205,225,239,.16);
  border-radius: 8px;
  color: var(--gold-light);
  background: rgba(0,0,0,.09);
  font-size: 9px;
  font-weight: 900;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
.group-copy { min-width: 0; }
.group-copy strong,
.group-copy small { display: block; }
.group-copy strong { color: rgba(255,255,255,.77); font-size: 11px; }
.group-copy small { margin-top: 3px; color: rgba(255,255,255,.28); font-size: 7px; letter-spacing: .1em; text-transform: uppercase; }
.group-count {
  min-width: 22px;
  color: rgba(255,255,255,.25);
  font: 8px ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  text-align: center;
}
.group-chevron {
  width: 16px;
  height: 16px;
  color: rgba(255,255,255,.32);
  transition: transform .2s ease;
}
.nav-group.open .group-chevron { transform: rotate(90deg); }
.nav-group-items {
  display: none;
  gap: 3px;
  padding: 4px 0 3px;
}
.nav-group.open .nav-group-items { display: grid; }
.nav-item {
  position: relative;
  min-height: 54px;
  display: grid;
  grid-template-columns: 27px 35px minmax(0,1fr) auto;
  align-items: center;
  gap: 9px;
  margin: 0;
  padding: 7px 9px;
  border: 1px solid transparent;
  border-radius: 12px;
  color: rgba(228,241,250,.66);
  overflow: hidden;
}
.nav-item::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  top: 10px;
  bottom: 10px;
  width: 2px;
  border-radius: 4px;
  background: transparent;
}
.nav-item:hover {
  color: white;
  background: rgba(255,255,255,.045);
  border-color: rgba(255,255,255,.045);
  transform: translateX(-1px);
}
.nav-item.active {
  color: white;
  background:
    linear-gradient(90deg, rgba(21,111,174,.22), transparent 75%),
    rgba(27,119,180,.16);
  border-color: rgba(104,194,250,.18);
  box-shadow: inset 0 1px rgba(255,255,255,.035), 0 6px 18px rgba(0,0,0,.08);
}
.nav-item.active::before { background: linear-gradient(var(--gold-light), var(--gold)); box-shadow: 0 0 12px rgba(202,161,90,.6); }
.nav-index {
  color: rgba(255,255,255,.24);
  font: 8px ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: .04em;
}
.nav-item.active .nav-index { color: var(--gold-light); }
.nav-icon {
  width: 35px;
  height: 35px;
  border: 1px solid rgba(176,221,250,.1);
  border-radius: 10px;
  color: rgba(193,226,247,.72);
  background: rgba(255,255,255,.035);
  transition: .18s ease;
}
.nav-icon svg { width: 18px; height: 18px; }
.nav-item:hover .nav-icon { color: white; border-color: rgba(176,221,250,.2); background: rgba(255,255,255,.075); }
.nav-item.active .nav-icon {
  color: white;
  border-color: rgba(112,199,255,.28);
  background: linear-gradient(145deg, rgba(44,147,214,.38), rgba(9,73,119,.42));
  box-shadow: inset 0 1px rgba(255,255,255,.08);
}
.nav-label { min-width: 0; text-align: right; }
.nav-label strong,
.nav-label small { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.nav-label strong { font-size: 11px; font-weight: 750; }
.nav-label small { margin-top: 4px; color: rgba(255,255,255,.28); font-size: 7px; letter-spacing: .035em; }
.nav-item.active .nav-label small { color: rgba(207,233,250,.48); }
.module-state {
  justify-self: end;
  font: 7px ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: .04em;
}
.module-state.active,
.module-state.partial {
  padding: 3px 5px;
  border-radius: 5px;
}
.module-state.active { color: #76e4bd; background: rgba(22,152,115,.12); }
.module-state.partial { color: #f4c774; background: rgba(226,138,36,.11); }
.module-state.planned {
  width: 6px;
  height: 6px;
  border: 1px solid rgba(255,255,255,.27);
  border-radius: 50%;
}
.nav-no-results { margin: 24px 8px; padding: 18px 11px; border: 1px dashed rgba(255,255,255,.12); border-radius: 12px; text-align: center; color: rgba(255,255,255,.38); font-size: 10px; }
.sidebar-system-card {
  margin: 0 14px 11px;
  min-height: 52px;
  display: grid;
  grid-template-columns: 10px minmax(0,1fr) auto;
  align-items: center;
  gap: 9px;
  padding: 10px 11px;
  border: 1px solid rgba(133,204,249,.1);
  border-radius: 12px;
  background: rgba(255,255,255,.035);
}
.system-pulse { width: 8px; height: 8px; border-radius: 50%; background: #35d29e; box-shadow: 0 0 0 4px rgba(53,210,158,.1), 0 0 12px rgba(53,210,158,.45); }
.sidebar-system-card strong,
.sidebar-system-card small { display: block; }
.sidebar-system-card strong { color: rgba(255,255,255,.78); font-size: 9px; }
.sidebar-system-card small { margin-top: 3px; color: rgba(255,255,255,.32); font-size: 7px; }
.sidebar-system-card b { color: rgba(255,255,255,.32); font: 8px ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.sidebar-footer {
  min-height: 70px;
  padding: 10px 14px;
  background: rgba(1,16,31,.22);
  border-top-color: rgba(150,213,255,.09);
}
.user-mini .avatar {
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 11px;
  background: linear-gradient(145deg, var(--gold-light), #b88435);
  box-shadow: 0 6px 18px rgba(0,0,0,.18);
}
.logout-button { display: grid; place-items: center; color: rgba(255,255,255,.48); }
.logout-button svg { width: 18px; height: 18px; }
.logout-button:hover { color: #ffc7c7; background: rgba(214,75,75,.12); }
.sidebar-overlay { display: none; }
.sidebar-collapse-button {
  width: 34px;
  height: 34px;
  place-items: center;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 10px;
  color: var(--navy-700);
  background: white;
  transition: .2s ease;
}
.sidebar-collapse-button:hover { border-color: #a8c8df; background: var(--blue-50); }
.sidebar-collapse-button svg { width: 17px; height: 17px; transition: transform .25s ease; }
.sidebar-collapsed .sidebar-collapse-button svg { transform: rotate(180deg); }
.breadcrumb { display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 9px; font-weight: 700; }
.breadcrumb span:first-child { color: var(--navy-700); letter-spacing: .1em; }
.breadcrumb i { color: #b9c5cf; font-style: normal; }
.topbar h1 { margin-top: 5px; }

/* compact engineering rail */
.sidebar-collapsed .sidebar-brand { justify-content: center; padding-inline: 10px; }
.sidebar-collapsed .brand-mark.compact { gap: 0; }
.sidebar-collapsed .brand-copy,
.sidebar-collapsed .sidebar-tools,
.sidebar-collapsed .group-copy,
.sidebar-collapsed .group-count,
.sidebar-collapsed .group-chevron,
.sidebar-collapsed .nav-index,
.sidebar-collapsed .nav-label,
.sidebar-collapsed .module-state,
.sidebar-collapsed .sidebar-system-card,
.sidebar-collapsed .user-copy { display: none; }
.sidebar-collapsed .brand-mark.compact svg { width: 48px; height: 48px; }
.sidebar-collapsed .main-nav { padding-inline: 10px; }
.sidebar-collapsed .nav-group { margin-bottom: 5px; }
.sidebar-collapsed .nav-group-toggle {
  grid-template-columns: 1fr;
  min-height: 28px;
  padding: 3px;
  pointer-events: none;
}
.sidebar-collapsed .group-code { margin: auto; width: 25px; height: 20px; border: 0; background: transparent; color: rgba(255,255,255,.28); }
.sidebar-collapsed .nav-group-items { display: grid; }
.sidebar-collapsed .nav-item {
  grid-template-columns: 1fr;
  justify-items: center;
  min-height: 48px;
  padding: 6px;
}
.sidebar-collapsed .nav-item::before { top: 9px; bottom: 9px; }
.sidebar-collapsed .nav-icon { width: 36px; height: 36px; }
.sidebar-collapsed .sidebar-footer { justify-content: center; padding-inline: 8px; }
.sidebar-collapsed .user-mini { gap: 0; }
.sidebar-collapsed .logout-button { display: none; }

@media (max-width: 980px) {
  .desktop-only { display: none !important; }
  .app-shell,
  .app-shell.sidebar-collapsed { grid-template-columns: 1fr; }
  .sidebar {
    right: -330px;
    width: 320px;
    max-width: calc(100vw - 36px);
    box-shadow: -25px 0 80px rgba(0,0,0,.28);
  }
  .sidebar.open { right: 0; }
  .sidebar-overlay {
    position: fixed;
    inset: 0;
    z-index: 19;
    display: block;
    border: 0;
    background: rgba(3,18,33,.55);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    backdrop-filter: blur(3px);
    transition: .22s ease;
  }
  .sidebar-overlay.show { opacity: 1; visibility: visible; pointer-events: auto; }
  body.sidebar-mobile-open { overflow: hidden; }
}

@media (max-width: 480px) {
  .sidebar { max-width: calc(100vw - 18px); }
  .sidebar-brand { min-height: 88px; }
}

/* =========================================================
   WDL v0.3 — Multicolor engineering visibility system
   ========================================================= */
:root {
  --accent: #38BDF8;
  --accent-light: #BAE6FD;
  --accent-soft: #E0F2FE;
  --accent-rgb: 56,189,248;
}

/* Dynamic section accent */
.eyebrow { color: var(--accent); }
.breadcrumb span:first-child { color: var(--accent); }
.sidebar-collapse-button { color: var(--accent); }
.sidebar-collapse-button:hover { border-color: rgba(var(--accent-rgb),.45); background: var(--accent-soft); }
input:focus, select:focus, textarea:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 4px rgba(var(--accent-rgb),.13);
}
.button.primary {
  background: linear-gradient(135deg, var(--accent), color-mix(in srgb, var(--accent) 72%, #071d36 28%));
  box-shadow: 0 9px 22px rgba(var(--accent-rgb),.25);
}
.text-button { color: var(--accent); }
.progress-track i,
.mini-progress i { background: linear-gradient(90deg, var(--accent), color-mix(in srgb, var(--accent) 64%, white 36%)); }
.hero-strip {
  background:
    radial-gradient(circle at 14% 28%, rgba(var(--accent-rgb),.33), transparent 27%),
    radial-gradient(circle at 85% 20%, rgba(251,191,36,.18), transparent 22%),
    linear-gradient(120deg, #05233f, color-mix(in srgb, var(--accent) 45%, #073763 55%));
}

/* Group colors */
.nav-group-toggle:hover {
  background: linear-gradient(90deg, rgba(var(--group-rgb),.08), rgba(255,255,255,.018));
  border-color: rgba(var(--group-rgb),.12);
}
.group-code {
  color: var(--group-light);
  border-color: rgba(var(--group-rgb),.30);
  background: rgba(var(--group-rgb),.10);
  box-shadow: inset 0 0 14px rgba(var(--group-rgb),.05);
}
.group-copy strong { color: var(--group-light); }
.group-copy small { color: rgba(var(--group-rgb),.68); }
.group-count { color: rgba(var(--group-rgb),.70); }
.group-chevron { color: rgba(var(--group-rgb),.72); }

/* Every module has its own color identity */
.nav-item { color: rgba(232,244,252,.72); }
.nav-item .nav-index { color: rgba(var(--tone-rgb),.72); }
.nav-item .nav-icon {
  color: var(--tone-light);
  border-color: rgba(var(--tone-rgb),.24);
  background: rgba(var(--tone-rgb),.09);
  box-shadow: inset 0 0 16px rgba(var(--tone-rgb),.035);
}
.nav-item .nav-label strong { color: var(--tone-light); }
.nav-item .nav-label small { color: rgba(var(--tone-rgb),.63); }
.nav-item:hover {
  background: linear-gradient(90deg, rgba(var(--tone-rgb),.12), rgba(255,255,255,.022));
  border-color: rgba(var(--tone-rgb),.18);
}
.nav-item:hover .nav-icon {
  color: #fff;
  border-color: rgba(var(--tone-rgb),.48);
  background: rgba(var(--tone-rgb),.24);
  box-shadow: 0 0 18px rgba(var(--tone-rgb),.13);
}
.nav-item:hover .nav-label strong { color: #fff; }
.nav-item.active {
  background:
    linear-gradient(90deg, rgba(var(--tone-rgb),.28), rgba(var(--tone-rgb),.075) 68%, transparent),
    rgba(255,255,255,.025);
  border-color: rgba(var(--tone-rgb),.34);
  box-shadow: inset 0 1px rgba(255,255,255,.045), 0 8px 20px rgba(0,0,0,.10), 0 0 22px rgba(var(--tone-rgb),.045);
}
.nav-item.active::before {
  width: 3px;
  background: linear-gradient(var(--tone-light), var(--tone));
  box-shadow: 0 0 13px rgba(var(--tone-rgb),.78);
}
.nav-item.active .nav-index { color: var(--tone-light); }
.nav-item.active .nav-icon {
  color: #fff;
  border-color: rgba(var(--tone-rgb),.58);
  background: linear-gradient(145deg, rgba(var(--tone-rgb),.58), rgba(var(--tone-rgb),.22));
  box-shadow: inset 0 1px rgba(255,255,255,.12), 0 7px 16px rgba(var(--tone-rgb),.16);
}
.nav-item.active .nav-label strong { color: #fff; }
.nav-item.active .nav-label small { color: var(--tone-light); opacity: .75; }

/* Multicolor KPI cards */
.metric-card {
  position: relative;
  overflow: hidden;
  border-top: 3px solid var(--metric-tone, var(--accent));
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.metric-card::after {
  content: "";
  position: absolute;
  width: 92px;
  height: 92px;
  left: -34px;
  top: -40px;
  border-radius: 50%;
  background: rgba(var(--metric-rgb, var(--accent-rgb)),.08);
}
.metric-card:hover { transform: translateY(-3px); box-shadow: 0 14px 28px rgba(var(--metric-rgb, var(--accent-rgb)),.12); }
.metric-card .metric-icon {
  color: var(--metric-tone, var(--accent));
  background: rgba(var(--metric-rgb, var(--accent-rgb)),.11);
  border: 1px solid rgba(var(--metric-rgb, var(--accent-rgb)),.14);
}
.metric-card h3 { color: color-mix(in srgb, var(--metric-tone, var(--accent)) 72%, #132238 28%); }
.metric-card p { color: #526277; font-weight: 700; }
.metric-kpi {
  color: var(--metric-tone, var(--accent));
  background: rgba(var(--metric-rgb, var(--accent-rgb)),.09);
  border-radius: 99px;
  padding: 4px 7px;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .09em;
}

/* Colorful quick actions with consistent readability */
.quick-actions button { --qa: 59,130,246; position: relative; overflow: hidden; }
.quick-actions button:nth-child(1) { --qa: 59,130,246; }
.quick-actions button:nth-child(2) { --qa: 249,115,22; }
.quick-actions button:nth-child(3) { --qa: 244,63,94; }
.quick-actions button:nth-child(4) { --qa: 99,102,241; }
.quick-actions button::before { content: ""; position: absolute; inset: 0; background: linear-gradient(145deg, rgba(var(--qa),.08), transparent 58%); pointer-events: none; }
.quick-actions button b { color: rgb(var(--qa)); }
.quick-actions button:hover { border-color: rgba(var(--qa),.38); background: rgba(var(--qa),.055); box-shadow: 0 9px 18px rgba(var(--qa),.09); }
.quick-actions button:hover span { color: rgb(var(--qa)); }

/* Better-colored information hierarchy */
.panel-header h3 { color: #162942; }
.panel:nth-child(1) .panel-header .eyebrow { color: #3B82F6; }
.panel:nth-child(2) .panel-header .eyebrow { color: #EF4444; }
.dashboard-grid.lower .panel:nth-child(1) .panel-header .eyebrow { color: #F97316; }
.dashboard-grid.lower .panel:nth-child(2) .panel-header .eyebrow { color: #8B5CF6; }
.roadmap > div:nth-child(1) strong { color: #16A34A; }
.roadmap > div:nth-child(2) strong { color: #F97316; }
.roadmap > div:nth-child(3) strong { color: #8B5CF6; }

/* Tables and filters inherit current module color */
.table-card { border-top: 3px solid rgba(var(--accent-rgb),.75); }
thead th { color: color-mix(in srgb, var(--accent) 72%, #24364b 28%); background: linear-gradient(180deg, var(--accent-soft), #fff); }
.filter-bar { border-inline-start: 4px solid var(--accent); }
.section-toolbar h2 { color: color-mix(in srgb, var(--accent) 48%, #14263e 52%); }
.row-action { color: var(--accent); border-color: rgba(var(--accent-rgb),.24); background: rgba(var(--accent-rgb),.065); }
.row-action:hover { background: rgba(var(--accent-rgb),.13); border-color: rgba(var(--accent-rgb),.42); }

/* Accessible colored status pills */
.status-pill { background: #DCFCE7; color: #15803D; }
.status-pill.delayed { background: #FEE2E2; color: #B91C1C; }
.status-pill.hold { background: #FFEDD5; color: #C2410C; }
.status-pill.closed { background: #E2E8F0; color: #475569; }
.module-state.active { color: #6EE7B7; background: rgba(16,185,129,.16); }
.module-state.partial { color: #FCD34D; background: rgba(245,158,11,.14); }

@media (prefers-reduced-motion: reduce) {
  .metric-card, .nav-item, .nav-icon, .button { transition: none !important; }
}

/* Operational workspaces — v0.4 */
.workspace-hero {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  padding: 22px;
  margin-bottom: 16px;
  border: 1px solid rgba(var(--accent-rgb), .18);
  border-top: 4px solid var(--accent);
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(var(--accent-rgb), .09), rgba(255,255,255,.98) 42%),
    #fff;
  box-shadow: 0 12px 30px rgba(15, 36, 62, .07);
}
.workspace-hero-icon {
  width: 68px;
  height: 68px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  color: var(--accent);
  background: linear-gradient(145deg, rgba(var(--accent-rgb), .2), rgba(var(--accent-rgb), .06));
  border: 1px solid rgba(var(--accent-rgb), .22);
  box-shadow: inset 0 1px rgba(255,255,255,.7), 0 10px 22px rgba(var(--accent-rgb), .12);
}
.workspace-hero-icon svg { width: 34px; height: 34px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.workspace-hero-copy h2 { margin: 4px 0 7px; font-size: clamp(22px, 2vw, 30px); color: color-mix(in srgb, var(--accent) 42%, #12243c 58%); }
.workspace-hero-copy p { margin: 0; color: #617087; max-width: 780px; line-height: 1.8; }

.workspace-tabs {
  display: flex;
  align-items: center;
  gap: 8px;
  overflow-x: auto;
  padding: 4px 2px 12px;
  margin-bottom: 8px;
  scrollbar-width: thin;
}
.workspace-tab {
  flex: 0 0 auto;
  border: 1px solid #dbe4ee;
  background: #fff;
  color: #536276;
  border-radius: 12px;
  padding: 10px 13px;
  font: inherit;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
  transition: .18s ease;
}
.workspace-tab b { display: inline-grid; place-items: center; min-width: 21px; height: 21px; margin-inline-start: 6px; padding: 0 5px; border-radius: 999px; background: #eef3f8; color: #66758a; font-size: 10px; }
.workspace-tab:hover { border-color: rgba(var(--accent-rgb), .38); color: var(--accent); transform: translateY(-1px); }
.workspace-tab.active { color: #fff; border-color: var(--accent); background: linear-gradient(135deg, var(--accent), color-mix(in srgb, var(--accent) 72%, #0b2846 28%)); box-shadow: 0 8px 18px rgba(var(--accent-rgb), .2); }
.workspace-tab.active b { background: rgba(255,255,255,.18); color: #fff; }

.workspace-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 14px;
}
.workspace-metric {
  min-height: 96px;
  padding: 16px;
  border-radius: 15px;
  border: 1px solid #e1e8f0;
  background: #fff;
  position: relative;
  overflow: hidden;
  box-shadow: 0 7px 18px rgba(20, 43, 70, .045);
}
.workspace-metric::before { content: ""; position: absolute; inset-inline-start: 0; top: 0; bottom: 0; width: 4px; background: var(--accent); }
.workspace-metric::after { content: ""; position: absolute; width: 80px; height: 80px; border-radius: 50%; inset-inline-end: -28px; top: -34px; background: rgba(var(--accent-rgb), .08); }
.workspace-metric span { display: block; color: #68778a; font-size: 11px; font-weight: 800; margin-bottom: 11px; }
.workspace-metric strong { display: block; color: color-mix(in srgb, var(--accent) 54%, #14263e 46%); font-size: 24px; letter-spacing: -.02em; }
.workspace-metric.open::before { background: #f59e0b; }
.workspace-metric.projects::before { background: #06b6d4; }
.workspace-metric.done::before { background: #22c55e; }

.workspace-controls {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 220px;
  gap: 12px;
  padding: 12px;
  margin-bottom: 12px;
  border: 1px solid #e0e7ef;
  border-inline-start: 4px solid var(--accent);
  border-radius: 14px;
  background: #fff;
}
.workspace-controls input,
.workspace-controls select { width: 100%; }

.category-chip {
  display: inline-flex;
  align-items: center;
  min-height: 27px;
  padding: 4px 9px;
  border-radius: 999px;
  background: rgba(var(--accent-rgb), .09);
  color: color-mix(in srgb, var(--accent) 72%, #24364c 28%);
  border: 1px solid rgba(var(--accent-rgb), .16);
  font-size: 10px;
  font-weight: 900;
  white-space: nowrap;
}
.row-actions { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.row-action.danger { color: #c24141; border-color: rgba(220,38,38,.2); background: rgba(239,68,68,.06); }
.row-action.danger:hover { color: #991b1b; border-color: rgba(220,38,38,.35); background: rgba(239,68,68,.12); }
.hidden-field { display: none !important; }

@media (max-width: 980px) {
  .workspace-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .workspace-hero { grid-template-columns: 56px minmax(0, 1fr); padding: 16px; }
  .workspace-hero-icon { width: 54px; height: 54px; border-radius: 15px; }
  .workspace-hero-icon svg { width: 28px; height: 28px; }
  .workspace-hero .button { grid-column: 1 / -1; width: 100%; }
  .workspace-controls { grid-template-columns: 1fr; }
  .workspace-metrics { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 460px) {
  .workspace-metrics { grid-template-columns: 1fr; }
}

/* ===== v0.5 Project control, archive, BOQ and HR ===== */
.toolbar-actions { display:flex; align-items:center; gap:9px; flex-wrap:wrap; }
.button.small { padding:8px 11px; border-radius:10px; font-size:11px; }
.button.warning { color:#7c3f00; background:linear-gradient(135deg,#fef3c7,#fde68a); border:1px solid #f6c94c; }
.button.warning.attention { animation:approvalPulse 1.8s infinite; }
.button.danger { color:#fff; background:linear-gradient(135deg,#ef4444,#b91c1c); box-shadow:0 8px 18px rgba(220,38,38,.2); }
.button.danger.ghost { color:#b91c1c; background:#fff1f2; border:1px solid #fecdd3; box-shadow:none; }
.button-count { display:inline-grid; place-items:center; min-width:20px; height:20px; border-radius:999px; padding:0 5px; margin-inline-start:5px; background:#fff; color:#9a3412; font-size:10px; }
@keyframes approvalPulse { 50% { box-shadow:0 0 0 6px rgba(245,158,11,.13); } }

.project-mode-banner { display:flex; justify-content:space-between; gap:16px; align-items:center; margin-bottom:14px; padding:15px 18px; border:1px solid #c4b5fd; border-inline-start:5px solid #7c3aed; border-radius:15px; background:linear-gradient(135deg,#f5f3ff,#fff); }
.project-mode-banner div { display:grid; gap:3px; }
.project-mode-banner strong { color:#4c1d95; }
.project-mode-banner span { color:#6d5a86; font-size:12px; }

.project-cards-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
.project-card { position:relative; overflow:hidden; padding:18px; border:1px solid #dce6f1; border-radius:19px; background:linear-gradient(145deg,#fff 0%,#f8fbff 100%); box-shadow:0 10px 28px rgba(18,52,86,.07); transition:.2s ease; }
.project-card::before { content:""; position:absolute; inset-inline-start:0; top:0; bottom:0; width:5px; background:linear-gradient(#3b82f6,#06b6d4); }
.project-card:hover { transform:translateY(-2px); box-shadow:0 15px 34px rgba(18,52,86,.11); }
.project-card.archived { filter:saturate(.7); background:linear-gradient(145deg,#fafafa,#f1f5f9); }
.project-card.archived::before { background:linear-gradient(#7c3aed,#64748b); }
.project-card-head,.project-card-main,.project-card-actions,.boq-header { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.project-code-badge { padding:6px 10px; border-radius:9px; background:#eaf3ff; color:#175a9c; border:1px solid #cfe2f7; font-size:11px; font-weight:900; direction:ltr; }
.project-card-main { align-items:flex-start; padding:18px 0 16px; }
.project-card-main h3 { margin:0 0 7px; color:#102a47; font-size:17px; line-height:1.55; }
.project-card-main p { margin:0 0 7px; color:#53677d; font-size:12px; }
.project-card-main small { color:#7a8a9b; }
.progress-ring { --progress:0deg; width:82px; height:82px; flex:0 0 82px; display:grid; place-items:center; align-content:center; border-radius:50%; background:conic-gradient(var(--accent,#3b82f6) var(--progress),#e7eef6 0); position:relative; }
.progress-ring::after { content:""; position:absolute; inset:8px; border-radius:50%; background:#fff; box-shadow:inset 0 0 0 1px #edf2f7; }
.progress-ring span,.progress-ring small { position:relative; z-index:1; }
.progress-ring span { font-weight:950; color:#153b65; font-size:16px; }
.progress-ring small { font-size:8px; color:#738398; margin-top:2px; }
.progress-ring.large { width:160px; height:160px; flex-basis:160px; }
.progress-ring.large::after { inset:14px; }
.progress-ring.large span { font-size:28px; }
.project-stat-row { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; padding:12px 0; border-top:1px dashed #dbe5ee; border-bottom:1px dashed #dbe5ee; }
.project-stat-row div { min-width:0; }
.project-stat-row span { display:block; color:#7b8998; font-size:9px; margin-bottom:4px; }
.project-stat-row strong { display:block; overflow:hidden; text-overflow:ellipsis; color:#263d57; font-size:11px; }
.project-card-actions { justify-content:flex-start; padding-top:14px; flex-wrap:wrap; }
.pending-delete-note { margin-top:10px; padding:8px 10px; border-radius:10px; color:#9a3412; background:#fff7ed; border:1px solid #fed7aa; font-size:11px; font-weight:800; }
.archive-reason { display:grid; grid-template-columns:auto 1fr auto; gap:6px; align-items:center; margin-top:10px; padding:10px; border-radius:10px; background:#ede9fe; color:#5b4a74; font-size:11px; }
.full-span { grid-column:1/-1; }

.modal-xl { width:min(1240px,100%); }
.project-detail-content { padding:20px 22px 25px; }
.detail-summary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-bottom:20px; }
.detail-summary-grid > div { min-height:82px; padding:14px; border:1px solid #dfe8f2; border-radius:14px; background:linear-gradient(145deg,#fff,#f8fbff); }
.detail-summary-grid span { display:block; color:#75869a; font-size:10px; margin-bottom:9px; }
.detail-summary-grid strong { color:#173958; font-size:14px; }
.boq-header { margin:12px 0; }
.boq-header h3 { margin:4px 0 0; }
.boq-progress { display:grid; grid-template-columns:1fr auto; gap:12px; align-items:center; margin-bottom:12px; }
.boq-progress > div,.inline-progress { height:8px; overflow:hidden; border-radius:999px; background:#e6edf5; }
.boq-progress i,.inline-progress i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#8b5cf6,#06b6d4); }
.inline-progress { display:inline-block; width:60px; margin-inline-end:6px; vertical-align:middle; }
tfoot td { font-weight:900; background:#f6f9fc; }
.embedded { box-shadow:none; border-radius:13px; }

.progress-editor { display:grid; grid-template-columns:180px 1fr; gap:24px; align-items:center; padding:25px; }
.progress-form-fields { display:grid; gap:15px; }
.progress-form-fields > strong { color:#173b60; font-size:16px; }
.progress-form-fields label { display:grid; gap:7px; color:#65778a; font-size:11px; font-weight:800; }
.progress-form-fields input[type="range"] { width:100%; accent-color:var(--accent); }
.progress-number-wrap { display:flex; align-items:center; border:1px solid #d8e1eb; border-radius:12px; overflow:hidden; }
.progress-number-wrap input { border:0; flex:1; font-size:22px; font-weight:900; }
.progress-number-wrap span { padding:0 15px; color:#47708f; font-weight:900; }
.approval-notice { display:grid; gap:5px; padding:14px; border-radius:13px; background:#fff7ed; border:1px solid #fed7aa; color:#9a4f12; }
.approval-notice span { font-size:12px; }
.danger-text { color:#dc2626 !important; }

.hr-layout { display:grid; grid-template-columns:1.05fr .95fr; gap:14px; }
.hr-layout .panel { min-width:0; }
.hr-controls { grid-template-columns:minmax(0,1fr) 210px auto; }
.workspace-metrics > article { position:relative; overflow:hidden; min-height:95px; padding:16px; border:1px solid #e1e8f0; border-radius:15px; background:#fff; box-shadow:0 7px 18px rgba(20,43,70,.045); }
.workspace-metrics > article::before { content:""; position:absolute; inset-inline-start:0; top:0; bottom:0; width:4px; background:linear-gradient(#e11d48,#f97316); }
.workspace-metrics > article span { display:block; color:#68778a; font-size:11px; font-weight:800; margin-bottom:8px; }
.workspace-metrics > article strong { display:block; color:#9f1239; font-size:25px; }
.workspace-metrics > article small { color:#8b98a8; font-size:9px; }
.file-field input { padding:10px; border:1px dashed #b9c9da; background:#f8fbff; }
.file-field small { color:#7c8da0; }
.attendance-pill { display:inline-flex; align-items:center; padding:5px 9px; border-radius:999px; font-size:10px; font-weight:900; background:#edf2f7; color:#546477; }
.attendance-pill.present { background:#dcfce7; color:#166534; }
.attendance-pill.absent { background:#fee2e2; color:#991b1b; }
.attendance-pill.leave { background:#fef3c7; color:#92400e; }
.attendance-pill.sick { background:#e0e7ff; color:#3730a3; }
.attendance-pill.holiday { background:#cffafe; color:#155e75; }

@media (max-width:1100px) {
  .project-cards-grid,.hr-layout { grid-template-columns:1fr; }
}
@media (max-width:720px) {
  .section-toolbar,.project-card-head,.project-card-main,.project-card-actions,.boq-header,.project-mode-banner { align-items:stretch; flex-direction:column; }
  .project-stat-row,.detail-summary-grid { grid-template-columns:1fr 1fr; }
  .progress-ring { align-self:center; }
  .progress-editor { grid-template-columns:1fr; }
  .progress-ring.large { justify-self:center; }
  .hr-controls { grid-template-columns:1fr; }
  .modal-xl { width:100%; }
}
@media (max-width:460px) {
  .project-stat-row,.detail-summary-grid { grid-template-columns:1fr; }
}

/* v0.6 — Project control center and detailed BOQ */
.project-actions-dropdown{position:relative;display:inline-flex}
.project-menu-toggle{min-width:142px;justify-content:space-between}
.project-dropdown-menu{position:absolute;z-index:60;top:calc(100% + 9px);inset-inline-start:0;width:290px;max-height:440px;overflow:auto;padding:8px;border:1px solid #d8e4f0;border-radius:16px;background:rgba(255,255,255,.98);box-shadow:0 22px 50px rgba(15,39,66,.2);opacity:0;visibility:hidden;transform:translateY(-8px) scale(.98);transition:.18s ease;backdrop-filter:blur(16px)}
.project-dropdown-menu.show{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.project-menu-item{width:100%;display:flex;align-items:center;gap:10px;padding:10px;border:0;border-radius:11px;background:transparent;color:#17324f;text-align:start;cursor:pointer;transition:.15s ease}
.project-menu-item:hover{background:linear-gradient(90deg,#eff6ff,#f8fbff);transform:translateX(-2px)}
.project-menu-item b{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:10px;background:#eaf3ff;color:#2563eb;font-size:12px}
.project-menu-item span{display:flex;flex-direction:column;font-weight:700;font-size:12px}.project-menu-item small{font-weight:500;color:#7d8da0;font-size:9px;margin-top:2px}
.project-workspace-head{display:grid;grid-template-columns:auto 1fr minmax(260px,420px);align-items:center;gap:18px;margin-bottom:16px;padding:18px;border:1px solid #dbe7f3;border-radius:20px;background:linear-gradient(135deg,#fff 0%,#f4f9ff 55%,#eef7ff 100%);box-shadow:0 12px 32px rgba(26,65,104,.08)}
.project-workspace-title h2{margin:4px 0 5px;color:#112e4d;font-size:21px}.project-workspace-title p{margin:0;color:#61758b;font-size:12px}
.project-workspace-tools{display:flex;gap:9px;align-items:center}.project-workspace-tools input{min-width:220px}
.project-workspace-layout{display:grid;grid-template-columns:238px minmax(0,1fr);gap:16px;align-items:start}
.project-workspace-menu{position:sticky;top:84px;display:flex;flex-direction:column;gap:6px;padding:10px;border:1px solid #dce8f4;border-radius:18px;background:linear-gradient(180deg,#0f2c49,#153c62);box-shadow:0 14px 34px rgba(15,44,73,.16)}
.project-workspace-nav{display:flex;align-items:center;gap:10px;padding:10px;border:0;border-radius:12px;background:transparent;color:#dcecff;text-align:start;cursor:pointer;transition:.15s ease}
.project-workspace-nav:hover{background:rgba(255,255,255,.08)}.project-workspace-nav.active{background:linear-gradient(90deg,#1e7bd6,#2ba6df);color:#fff;box-shadow:0 8px 20px rgba(17,125,218,.28)}
.project-workspace-nav b{display:grid;place-items:center;flex:0 0 32px;height:32px;border-radius:9px;background:rgba(255,255,255,.11);font-size:11px}.project-workspace-nav span{display:flex;flex-direction:column;font-size:12px;font-weight:750}.project-workspace-nav small{font-size:8px;color:rgba(255,255,255,.62);font-weight:500;margin-top:2px}.project-workspace-nav.active small{color:rgba(255,255,255,.82)}
.project-workspace-main{min-width:0}.project-workspace-main>div{min-height:560px}
.project-page-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px;padding:16px 18px;border:1px solid #dce8f4;border-radius:18px;background:#fff}.project-page-heading h3{margin:3px 0 0;color:#173451;font-size:18px}.project-page-heading p{margin:5px 0 0;color:#718297;font-size:11px}.project-page-heading.compact{padding:12px 16px;margin-top:15px}
.project-overview-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px;border-radius:20px;background:linear-gradient(135deg,#102e4d,#135f92 58%,#2e9dcc);color:#fff;box-shadow:0 16px 38px rgba(15,61,96,.22)}.project-overview-hero span{font-size:10px;letter-spacing:1.5px;opacity:.75}.project-overview-hero h2{margin:7px 0;font-size:23px}.project-overview-hero p{margin:0;color:#d8edff}.progress-ring.large{width:112px;height:112px}.progress-ring.xlarge{width:160px;height:160px}.progress-ring.large span,.progress-ring.xlarge span{font-size:21px}
.project-mini-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:14px 0}.project-mini-metric{padding:14px;border:1px solid #dce7f3;border-radius:15px;background:linear-gradient(145deg,#fff,#f6faff);box-shadow:0 7px 18px rgba(20,54,88,.05)}.project-mini-metric span{display:block;color:#73859a;font-size:9px}.project-mini-metric strong{display:block;margin-top:6px;color:#173451;font-size:15px}.project-mini-metric small{display:block;color:#8a99aa;font-size:8px;margin-top:4px}
.project-overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.project-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.project-facts>div{padding:12px;border-radius:12px;background:#f4f8fc}.project-facts span{display:block;color:#7c8c9f;font-size:9px}.project-facts b{display:block;margin-top:5px;color:#193752;font-size:12px}
.financial-bars{display:flex;flex-direction:column;gap:15px}.financial-bars>div{display:grid;grid-template-columns:1fr auto;gap:8px}.financial-bars span{color:#6d7f93;font-size:10px}.financial-bars b{color:#173451;font-size:11px}.financial-bars i{grid-column:1/-1;height:9px;border-radius:999px;background:#e4edf5;overflow:hidden}.financial-bars em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#22c55e,#06b6d4)}
.project-wide-table{overflow:auto;max-width:100%}.project-wide-table table{min-width:1100px}.boq-full-table table{min-width:1880px}.boq-full-table th{position:sticky;top:0;z-index:2;white-space:nowrap;background:#143958;color:#fff}.boq-full-table td{white-space:nowrap}.boq-full-table .boq-description{min-width:260px;white-space:normal;line-height:1.55}.boq-full-table tfoot td{position:sticky;bottom:0;background:#edf6ff;font-weight:800;color:#153754}.boq-overrun{background:#fff5f5}.negative-value{color:#c62828!important;font-weight:800}
.boq-calculation-preview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:12px;border:1px dashed #a8c4df;border-radius:14px;background:#f6fbff}.boq-calculation-preview div{padding:9px;border-radius:10px;background:#fff}.boq-calculation-preview span{display:block;color:#73859a;font-size:9px}.boq-calculation-preview b{display:block;margin-top:5px;color:#153754}
.project-progress-showcase{display:grid;grid-template-columns:190px 1fr;align-items:center;gap:24px;padding:22px;border:1px solid #dbe7f2;border-radius:20px;background:linear-gradient(145deg,#fff,#f4f9fe)}
.project-report-grid{grid-template-columns:1fr}.team-lead-card{margin-bottom:12px;padding:18px;border-radius:17px;background:linear-gradient(135deg,#7c3aed,#4f46e5);color:#fff}.team-lead-card span{display:block;font-size:10px;opacity:.75}.team-lead-card strong{display:block;margin-top:6px;font-size:18px}
@media(max-width:1200px){.project-mini-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.project-workspace-head{grid-template-columns:auto 1fr}.project-workspace-tools{grid-column:1/-1}.project-workspace-tools input{flex:1}}
@media(max-width:900px){.project-workspace-layout{grid-template-columns:1fr}.project-workspace-menu{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.project-overview-grid{grid-template-columns:1fr}.project-mini-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.project-progress-showcase{grid-template-columns:1fr;justify-items:center}.project-workspace-head{grid-template-columns:1fr}.project-workspace-tools{grid-column:auto;flex-direction:column;align-items:stretch}.project-workspace-tools input{min-width:0}}
@media(max-width:560px){.project-workspace-menu{grid-template-columns:1fr}.project-mini-metrics,.boq-calculation-preview,.project-facts{grid-template-columns:1fr}.project-page-heading,.project-overview-hero{align-items:stretch;flex-direction:column}.project-dropdown-menu{width:min(290px,calc(100vw - 48px))}}
.project-card{overflow:visible}.project-card:has(.project-dropdown-menu.show){z-index:30}

/* v0.7 — permissions, project editing, Excel-like BOQ entry and AI scan draft */
.modal-xxl{width:min(1500px,97vw);max-height:94vh}
.permission-note{display:flex;gap:14px;align-items:center;padding:14px 16px;border:1px solid rgba(59,130,246,.24);background:rgba(59,130,246,.08);border-radius:14px}.permission-note b{color:#1d4ed8}.permission-note span{color:var(--muted)}
.permission-table table{min-width:700px}.permission-user{display:flex;flex-direction:column;gap:3px}.permission-user small{color:var(--muted)}
.permission-switch{display:inline-flex;align-items:center;gap:10px}.permission-switch input{width:42px;height:22px;accent-color:#2563eb}.permission-fixed{font-size:12px;font-weight:800;color:#7c3aed;background:#ede9fe;padding:5px 10px;border-radius:999px}
.project-edit-authorized{border-color:rgba(59,130,246,.25)!important;background:linear-gradient(180deg,rgba(59,130,246,.08),rgba(255,255,255,.96))!important}
.project-workspace-tools{flex-wrap:wrap}
.boq-action-cluster{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.boq-import-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:14px}.boq-import-methods{display:flex;gap:8px;flex-wrap:wrap}.import-mode{border:1px solid var(--line);background:#fff;color:#334155;border-radius:12px;padding:10px 14px;font:inherit;font-weight:800;cursor:pointer}.import-mode.active{border-color:#7c3aed;background:#f3e8ff;color:#6d28d9;box-shadow:0 0 0 3px rgba(124,58,237,.08)}.boq-import-actions{display:flex;gap:8px}
.boq-import-panel{margin-bottom:14px}.import-help,.ai-upload-card{border:1px solid #dbeafe;background:linear-gradient(135deg,#eff6ff,#f8fafc);border-radius:16px;padding:14px 16px;display:flex;align-items:center;gap:14px;justify-content:space-between;flex-wrap:wrap}.import-help>div,.ai-upload-card>div{display:flex;flex-direction:column;gap:4px}.import-help b,.ai-upload-card b{color:#1e3a8a}.import-help span,.ai-upload-card span{font-size:13px;color:#64748b}.ai-upload-card input{max-width:360px}.ai-status{margin-top:10px;padding:10px 12px;border-radius:12px;background:#f8fafc;color:#475569;font-size:13px}.ai-status.ok{background:#ecfdf5;color:#047857}.ai-status.error{background:#fef2f2;color:#b91c1c}.ai-status.loading{background:#fff7ed;color:#c2410c}
.boq-grid-wrap{overflow:auto;border:1px solid #cbd5e1;border-radius:14px;background:#fff;max-height:55vh}.boq-entry-grid{border-collapse:separate;border-spacing:0;min-width:1380px;width:100%;font-size:13px}.boq-entry-grid th{position:sticky;top:0;z-index:4;background:#172554;color:#fff;padding:10px 8px;white-space:nowrap;border-left:1px solid rgba(255,255,255,.12)}.boq-entry-grid td{padding:0;border-left:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;background:#fff}.boq-entry-grid tr:nth-child(even) td{background:#f8fafc}.boq-entry-grid tr:focus-within td{background:#eff6ff}.boq-entry-grid .grid-row-no{width:42px;text-align:center;background:#f1f5f9!important;font-weight:800;color:#64748b}.boq-entry-grid input{width:100%;min-width:90px;border:0;border-radius:0;background:transparent;padding:10px 8px;font:inherit;outline:none}.boq-entry-grid input:focus{box-shadow:inset 0 0 0 2px #3b82f6;background:#fff}.boq-entry-grid input[data-col="description"]{min-width:360px}.boq-entry-grid input[data-col="itemNo"]{min-width:110px}.boq-entry-grid input[data-col="unit"]{min-width:90px}.boq-entry-grid input[data-col="confidence"]{min-width:70px;color:#6d28d9;font-weight:800}.boq-entry-grid .grid-delete{border:0;background:transparent;color:#dc2626;font-size:18px;cursor:pointer;padding:8px 12px}.boq-entry-grid .grid-delete:hover{background:#fee2e2}.boq-import-summary{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:12px 0;color:#475569}.boq-import-summary b{color:#0f172a}.boq-import-summary .warning{color:#b45309}.boq-import-summary .error{color:#b91c1c}
.ai-confidence-low{background:#fff7ed!important}.ai-confidence-very-low{background:#fef2f2!important}
@media(max-width:900px){.modal-xxl{width:100vw;max-height:100vh;border-radius:0}.boq-import-toolbar{align-items:stretch}.boq-import-methods,.boq-import-actions{width:100%}.import-mode{flex:1}.ai-upload-card{align-items:stretch}.ai-upload-card input{max-width:none;width:100%}}
.quick-user-form{display:grid;grid-template-columns:1.2fr 1.3fr .85fr 1fr auto;gap:8px;margin:14px 0}.quick-user-form input,.quick-user-form select{min-width:0;border:1px solid var(--line);border-radius:10px;padding:10px 11px;font:inherit;background:#fff}.quick-user-form input:focus,.quick-user-form select:focus{outline:0;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}
@media(max-width:900px){.quick-user-form{grid-template-columns:1fr}}

/* v0.8 — BOQ intelligence, formulas, grouping and export */
.boq-export-menu{position:relative}.boq-export-options{position:absolute;top:calc(100% + 8px);left:0;z-index:40;min-width:170px;background:#fff;border:1px solid #d7e0e7;border-radius:12px;padding:7px;box-shadow:0 18px 45px rgba(15,23,42,.18);display:none}.boq-export-options.show{display:grid}.boq-export-options button{border:0;background:transparent;text-align:right;padding:9px 11px;border-radius:8px;font:inherit;color:#25364a;cursor:pointer}.boq-export-options button:hover{background:#eef5f9;color:#0b5f8f}
.boq-selection-summary{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 14px;margin:12px 0;background:linear-gradient(135deg,#eff8ff,#f5f3ff);border:1px solid #cfe4f3;border-radius:14px}.boq-selection-summary>div{min-width:120px;padding:6px 10px;border-left:1px solid #dbe7ef}.boq-selection-summary b{display:block;font-size:16px;color:#123b5d}.boq-selection-summary span{font-size:11px;color:#64748b}.boq-selection-summary.hidden{display:none}
.boq-group-pill{display:inline-flex;padding:4px 8px;border-radius:999px;background:#eef2ff;color:#4f46e5;font-size:11px;font-weight:700;white-space:nowrap}.boq-custom-input{width:115px;min-width:90px;padding:6px 7px;border:1px solid #d3dde6;border-radius:7px;background:#fff}.boq-custom-input:focus{outline:2px solid rgba(14,116,144,.18);border-color:#0e7490}.boq-formula-cell{font-weight:700;color:#7c3aed;background:#faf5ff}.boq-full-table th:first-child,.boq-full-table td:first-child{position:sticky;right:0;z-index:3;background:inherit}.boq-full-table thead th:first-child{background:#163a56}
.boq-group-summary{margin-top:18px}.boq-group-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}.boq-group-cards article{border:1px solid #dce5eb;border-radius:15px;padding:14px;background:linear-gradient(145deg,#fff,#f7fafc);box-shadow:0 8px 22px rgba(15,23,42,.05)}.boq-group-cards article>span{font-size:10px;font-weight:800;color:#0e7490;letter-spacing:.08em}.boq-group-cards h4{margin:5px 0 12px;font-size:15px}.boq-group-cards article>div{display:grid;grid-template-columns:1fr auto;gap:10px;padding:6px 0;border-top:1px dashed #dce5eb}.boq-group-cards b{font-size:13px}.boq-group-cards small{color:#64748b}
.formula-help{display:grid;gap:4px;padding:12px 14px;margin-bottom:14px;border-radius:12px;background:#f0f9ff;border:1px solid #bae6fd;color:#334155}.formula-help b{color:#075985}.formula-help span{font-size:12px;line-height:1.7}.formula-help code{direction:ltr;display:inline-block;background:#fff;padding:2px 5px;border-radius:5px;color:#7c3aed}
.compact-form{margin-bottom:16px}.boq-config-list{display:grid;gap:8px;max-height:320px;overflow:auto;border-top:1px solid #e2e8f0;padding-top:12px}.boq-config-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #e2e8f0;border-radius:11px;background:#fff}.boq-config-row div{display:grid;gap:3px}.boq-config-row b{font-size:13px;color:#1e293b}.boq-config-row small{font-size:11px;color:#64748b;direction:ltr;text-align:right}
@media (max-width:900px){.boq-action-cluster{display:flex;overflow-x:auto;padding-bottom:5px}.boq-action-cluster>.button,.boq-export-menu>.button{white-space:nowrap}.boq-selection-summary{align-items:stretch}.boq-selection-summary>div{min-width:calc(50% - 6px)}}

/* v0.9 — Unified document center */
.document-button{background:linear-gradient(135deg,#0f766e,#0891b2)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 8px 20px rgba(8,145,178,.18)}
.document-button:hover{filter:brightness(1.04);transform:translateY(-1px)}
.modal-subtitle{margin:5px 0 0;color:#6b7f93;font-size:12px}
.document-center-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.document-search-wrap{display:flex;align-items:center;gap:8px;flex:1;min-width:280px}.document-search-wrap input{flex:1;min-width:220px}.document-search-wrap select{min-width:150px}
.document-upload-panel{margin:0 0 16px;padding:16px;border:1px solid #bae6fd;border-radius:17px;background:linear-gradient(145deg,#effbff,#f8fafc);box-shadow:0 8px 24px rgba(8,145,178,.07)}
.document-upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.document-upload-grid .wide{grid-column:1/-1}
.document-pending-files{display:grid;gap:8px;margin-top:14px;max-height:300px;overflow:auto}
.document-pending-row{display:grid;grid-template-columns:48px minmax(150px,1.1fr) minmax(170px,1.4fr) 150px 150px auto;gap:9px;align-items:end;padding:10px;border:1px solid #dce7ef;border-radius:13px;background:#fff}
.document-file-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#0f766e,#0891b2);color:#fff;font-size:9px;font-weight:900;letter-spacing:.04em}
.document-file-meta{display:flex;flex-direction:column;gap:4px;min-width:0}.document-file-meta strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.document-file-meta small{color:#718096}
.document-pending-row label{display:grid;gap:5px}.document-pending-row label span{font-size:9px;color:#6b7f93}.document-pending-row input,.document-pending-row select{min-width:0;border:1px solid #d6e1ea;border-radius:9px;padding:8px;font:inherit;background:#fff}
.document-metrics{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:14px}.document-metrics article{border-top:3px solid #0891b2}
.document-table{overflow:auto;max-height:56vh}.document-table table{min-width:1180px}.document-description{margin:5px 0 0;color:#64748b;font-size:11px;line-height:1.5;max-width:320px}
.empty-table.compact{padding:12px}
@media(max-width:1100px){.document-pending-row{grid-template-columns:44px 1fr 1fr}.document-pending-row label:nth-of-type(2),.document-pending-row label:nth-of-type(3){grid-column:auto}.document-pending-row .remove-pending-document{justify-self:start}.document-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.document-center-toolbar,.document-search-wrap{align-items:stretch;flex-direction:column}.document-search-wrap{width:100%}.document-search-wrap input,.document-search-wrap select{width:100%;min-width:0}.document-upload-grid{grid-template-columns:1fr}.document-upload-grid .wide{grid-column:auto}.document-pending-row{grid-template-columns:42px 1fr}.document-pending-row label,.document-pending-row .remove-pending-document{grid-column:1/-1}.document-metrics{grid-template-columns:1fr}}

/* v0.10 - project photos and tender control */
.photo-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;margin-top:18px}
.photo-card{display:grid;grid-template-columns:82px 1fr;gap:14px;align-items:start;background:#fff;border:1px solid #dbe5ec;border-radius:16px;padding:14px;box-shadow:0 8px 24px rgba(15,23,42,.06)}
.photo-placeholder{height:82px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent-soft),#fff);border:1px dashed var(--accent);color:var(--accent);font-weight:800;letter-spacing:.08em}
.photo-card strong{display:block;margin-bottom:5px}.photo-card p{margin:0 0 7px;color:#475569;font-size:13px;line-height:1.55}.photo-card small{color:#64748b}
.tender-form{max-height:72vh;overflow:auto;padding-inline:2px}
.tender-detail-toolbar{display:flex;justify-content:flex-end;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.tender-details-info{background:linear-gradient(135deg,#fff1f7,#fff);border:1px solid #fbcfe8;border-radius:18px;padding:18px;margin-bottom:16px}
.tender-details-info>p{margin:14px 0 0;color:#475569;line-height:1.8}
.tender-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.tender-facts div{background:#fff;border:1px solid #f1d5e4;border-radius:12px;padding:12px}.tender-facts span{display:block;color:#64748b;font-size:12px;margin-bottom:5px}.tender-facts b{color:#831843}
.ai-upload-card input[type=file]{max-width:100%;min-width:260px}
@media(max-width:720px){.photo-card{grid-template-columns:1fr}.photo-placeholder{height:130px}.tender-detail-toolbar{justify-content:stretch}.tender-detail-toolbar .button{flex:1}.tender-facts{grid-template-columns:1fr}}

/* =========================================================
   WDL v0.11 — Precision Engineering Interface
   ========================================================= */
:root {
  --surface-0: #f2f6fa;
  --surface-1: #ffffff;
  --surface-2: #f8fbfd;
  --engineering-blue: #0a6cae;
  --engineering-cyan: #13b8c4;
  --engineering-gold: #e4a62b;
  --engineering-orange: #ef7b2d;
  --engineering-violet: #7457d9;
  --engineering-green: #16a36a;
  --engineering-red: #d64756;
  --deep-steel: #092238;
  --steel-700: #324f65;
  --steel-500: #668196;
  --steel-200: #d9e4ec;
}
body {
  background:
    linear-gradient(rgba(8,45,72,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(8,45,72,.025) 1px, transparent 1px),
    radial-gradient(circle at 85% 8%, rgba(19,184,196,.09), transparent 28%),
    radial-gradient(circle at 15% 92%, rgba(116,87,217,.07), transparent 24%),
    var(--surface-0);
  background-size: 32px 32px, 32px 32px, auto, auto, auto;
  color: var(--deep-steel);
}
.main-content { background: transparent; }
.topbar {
  height: 86px;
  margin: 14px 18px 0;
  border: 1px solid rgba(122,153,176,.24);
  border-radius: 20px;
  background: rgba(255,255,255,.88);
  backdrop-filter: blur(18px);
  box-shadow: 0 12px 34px rgba(8,42,67,.08);
}
.topbar::after {
  content: ""; position: absolute; right: 24px; left: 24px; bottom: -1px; height: 3px;
  background: linear-gradient(90deg, var(--accent), transparent 45%, var(--engineering-gold));
  border-radius: 10px;
}
.view { padding-top: 24px; }
.sidebar {
  background:
    linear-gradient(180deg, rgba(7,31,50,.98), rgba(7,43,69,.98)),
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: auto, 26px 26px, 26px 26px;
  border-left: 1px solid rgba(130,190,224,.16);
  box-shadow: -12px 0 42px rgba(3,20,34,.16);
}
.sidebar-brand { border-bottom-color: rgba(255,255,255,.09); }
.nav-item { border: 1px solid transparent; }
.nav-item:hover { border-color: rgba(var(--tone-rgb),.22); transform: translateX(-2px); }
.nav-item.active {
  background: linear-gradient(110deg, rgba(var(--tone-rgb),.22), rgba(var(--tone-rgb),.05));
  border-color: rgba(var(--tone-rgb),.35);
  box-shadow: inset -4px 0 0 var(--tone), 0 8px 20px rgba(0,0,0,.14);
}
.hero-strip, .workspace-hero {
  position: relative; overflow: hidden;
  background:
    linear-gradient(120deg, rgba(7,40,65,.98), rgba(11,95,145,.95)),
    linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
  background-size: auto, 28px 28px, 28px 28px;
  box-shadow: 0 18px 44px rgba(7,48,78,.18);
}
.hero-strip::after, .workspace-hero::after {
  content:""; position:absolute; width:260px; height:260px; left:-80px; top:-110px;
  border: 24px solid rgba(255,255,255,.055); border-radius:50%;
}
.panel, .table-card, .project-card, .report-card, .workspace-metric, .metric-card {
  border-color: rgba(121,151,172,.22);
  box-shadow: 0 12px 30px rgba(8,43,68,.065);
}
.panel:hover, .project-card:hover, .metric-card:hover { box-shadow: 0 18px 40px rgba(8,43,68,.105); }
.button { min-height: 40px; border-radius: 12px; letter-spacing: .01em; }
.button.primary {
  background: linear-gradient(135deg, var(--accent, var(--engineering-blue)), color-mix(in srgb, var(--accent, var(--engineering-blue)) 70%, #061f34));
  box-shadow: 0 9px 20px rgba(var(--accent-rgb,10,108,174),.24);
}
.button.document-button { background: linear-gradient(135deg,#5c60d9,#7c4ed3); color:#fff; border:0; }
input, select, textarea { border-color: #cbd9e3; background: #fbfdff; }
input:focus, select:focus, textarea:focus { box-shadow: 0 0 0 4px rgba(var(--accent-rgb,10,108,174),.1); }

/* Project profiles */
.project-card-main { grid-template-columns: 104px minmax(0,1fr) auto; align-items:center; }
.project-profile-visual { width:104px; height:82px; border-radius:16px; overflow:hidden; border:1px solid rgba(95,133,158,.25); background:#eaf2f7; }
.project-profile-visual img { width:100%; height:100%; object-fit:cover; display:block; }
.project-profile-placeholder { width:100%; height:100%; display:grid; place-items:center; align-content:center; background:linear-gradient(145deg,#0b6ca9,#16a1b0); color:#fff; }
.project-profile-placeholder span { font-size:22px; font-weight:950; letter-spacing:.08em; }
.project-profile-placeholder small { font-size:8px; opacity:.75; letter-spacing:.18em; }
.project-card-copy { min-width:0; }
.project-card-copy h3 { margin-top:0; }

/* Employee and project team images */
.employee-identity { display:flex; align-items:center; gap:10px; min-width:190px; }
.employee-identity img, .employee-avatar-fallback { width:44px; height:44px; flex:0 0 44px; border-radius:13px; object-fit:cover; display:grid; place-items:center; background:linear-gradient(135deg,#dbeafe,#c4b5fd); color:#27425a; font-size:17px; font-weight:900; border:2px solid #fff; box-shadow:0 5px 14px rgba(20,58,86,.13); }
.employee-avatar-fallback.large { width:68px; height:68px; flex-basis:68px; border-radius:18px; font-size:24px; }
.team-member-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:14px; }
.team-member-card { display:grid; grid-template-columns:68px 1fr auto; align-items:center; gap:13px; padding:15px; background:#fff; border:1px solid var(--steel-200); border-radius:17px; box-shadow:0 9px 22px rgba(8,43,68,.06); }
.team-member-card img { width:68px; height:68px; border-radius:18px; object-fit:cover; }
.team-member-card p { margin:4px 0; color:var(--steel-700); }
.team-member-card small { color:var(--steel-500); }

/* Document approval and preview cards */
.document-table { background:transparent; border:0; box-shadow:none; overflow:visible; }
.document-card-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(330px,1fr)); gap:16px; }
.document-card { overflow:hidden; background:#fff; border:1px solid var(--steel-200); border-radius:20px; box-shadow:0 12px 28px rgba(8,43,68,.075); transition:.2s ease; }
.document-card:hover { transform:translateY(-3px); box-shadow:0 20px 42px rgba(8,43,68,.12); }
.document-card.approved { border-color:rgba(22,163,106,.28); }
.document-card.draft { border-color:rgba(228,166,43,.35); }
.document-thumb { position:relative; height:178px; overflow:hidden; background:linear-gradient(145deg,#e9f0f5,#f9fbfd); border-bottom:1px solid var(--steel-200); }
.document-thumb img, .document-thumb iframe { width:100%; height:100%; object-fit:cover; border:0; display:block; background:#fff; }
.file-extension-preview { height:100%; display:grid; place-items:center; align-content:center; background:linear-gradient(145deg,#eef4f8,#dde8ef); color:#35566e; }
.file-extension-preview strong { font-size:31px; letter-spacing:.08em; }
.file-extension-preview small { margin-top:8px; }
.document-status-chip { position:absolute; top:12px; right:12px; border-radius:999px; padding:6px 10px; font-size:10px; font-weight:900; backdrop-filter:blur(8px); box-shadow:0 5px 14px rgba(0,0,0,.15); }
.document-status-chip.approved { background:rgba(225,250,240,.94); color:#08714a; }
.document-status-chip.draft { background:rgba(255,246,216,.95); color:#93620a; }
.document-card-body { padding:16px; }
.document-card-title { display:flex; justify-content:space-between; align-items:start; gap:10px; }
.document-card-title strong { display:block; font-size:14px; }
.document-card-title small { display:block; color:var(--steel-500); margin-top:3px; word-break:break-all; }
.document-meta { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin:13px 0; }
.document-meta div { padding:9px; background:#f6f9fb; border-radius:10px; }
.document-meta dt { color:var(--steel-500); font-size:9px; font-weight:800; }
.document-meta dd { margin:4px 0 0; font-size:10px; font-weight:750; }
.document-card-actions { display:flex; flex-wrap:wrap; gap:7px; }
.document-card-actions .row-action { flex:1 0 auto; }

/* Notifications */
.notification { position:relative; }
.notification-badge { position:absolute; min-width:18px; height:18px; padding:0 4px; border-radius:999px; top:-5px; right:-7px; display:grid; place-items:center; background:#df3648; color:#fff; border:2px solid #fff; font-size:9px; font-weight:950; }
.notification-drawer { position:fixed; z-index:250; top:0; left:-430px; width:min(420px,calc(100vw - 24px)); height:100vh; background:#f8fbfd; border-right:1px solid var(--steel-200); box-shadow:22px 0 60px rgba(3,24,40,.22); transition:left .26s ease; display:flex; flex-direction:column; }
.notification-drawer.open { left:0; }
.notification-overlay { position:fixed; inset:0; z-index:240; background:rgba(4,25,41,.38); backdrop-filter:blur(3px); }
.notification-drawer-head { display:flex; align-items:center; justify-content:space-between; padding:22px; color:#fff; background:linear-gradient(135deg,#08263e,#0d78ad); }
.notification-drawer-head h3 { margin:5px 0 0; }
.notification-drawer-head .icon-button { color:#fff; border-color:rgba(255,255,255,.25); }
.notification-drawer-toolbar { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:13px 18px; border-bottom:1px solid var(--steel-200); font-size:11px; }
.notification-list { padding:14px; overflow:auto; display:grid; gap:10px; }
.notification-item { display:grid; grid-template-columns:34px 1fr; gap:11px; padding:14px; background:#fff; border:1px solid var(--steel-200); border-radius:15px; cursor:pointer; box-shadow:0 7px 18px rgba(8,43,68,.05); }
.notification-item.unread { border-right:4px solid var(--engineering-orange); }
.notification-item.urgent { background:linear-gradient(120deg,#fff,#fff7f2); }
.notification-priority { width:34px; height:34px; border-radius:11px; display:grid; place-items:center; background:#fff0e7; color:#c75418; font-weight:950; }
.notification-item.medium .notification-priority { background:#e8f4fb; color:#0a6cae; }
.notification-item-head { display:flex; justify-content:space-between; gap:10px; }
.notification-item-head span { font-size:9px; color:var(--engineering-red); font-weight:850; }
.notification-item p { margin:6px 0; font-size:11px; color:var(--steel-700); line-height:1.65; }
.notification-item small { color:var(--steel-500); }

/* Tender document staging */
.tender-document-upload { padding:17px; border:1px dashed #9db7c9; border-radius:16px; background:linear-gradient(135deg,#f8fbfd,#eef6fa); }
.tender-upload-title { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.tender-upload-title span { display:block; font-weight:900; }
.tender-upload-title small { display:block; color:var(--steel-500); margin-top:4px; }
.upload-capacity { padding:7px 10px; border-radius:999px; background:#dff3f5; color:#08757c; font-size:9px; }
.tender-document-drafts { display:grid; gap:8px; margin-top:12px; }
.tender-document-draft { display:grid; grid-template-columns:50px minmax(0,1fr) auto 30px; align-items:center; gap:8px; padding:8px; background:#fff; border:1px solid var(--steel-200); border-radius:11px; }
.file-type-mini { height:36px; border-radius:9px; display:grid; place-items:center; background:#e8eefc; color:#4856a8; font-size:9px; font-weight:900; }
.remove-tender-document { width:28px; height:28px; border:0; border-radius:8px; background:#fde9eb; color:#b92d3d; font-weight:900; }

@media (max-width:760px) {
  .topbar { margin:8px 8px 0; border-radius:15px; }
  .project-card-main { grid-template-columns:82px 1fr; }
  .project-profile-visual { width:82px; height:70px; }
  .project-card-main .progress-ring { grid-column:1 / -1; justify-self:end; }
  .document-card-grid { grid-template-columns:1fr; }
  .document-meta { grid-template-columns:1fr; }
  .tender-document-draft { grid-template-columns:42px 1fr 30px; }
  .tender-document-draft small { display:none; }
}
.notification-toolbar-actions { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.photo-placeholder.actual-photo { padding:0; overflow:hidden; background:#eef4f8; }
.photo-placeholder.actual-photo img { width:100%; height:100%; object-fit:cover; display:block; }
.team-lead-card { display:flex; align-items:center; gap:14px; }
.team-lead-card > img, .team-lead-card > .employee-avatar-fallback { width:62px; height:62px; border-radius:17px; object-fit:cover; flex:0 0 62px; }
.team-lead-card > div { display:grid; gap:3px; }
.team-lead-card small { color:var(--steel-500); }


/* Taht Al-Inshaa v0.12 — lifecycle benchmark foundation */
.lifecycle-flow { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.lifecycle-flow button { position:relative; overflow:hidden; min-height:120px; padding:17px; text-align:right; border:1px solid var(--steel-200); border-radius:17px; background:linear-gradient(145deg,#fff,#f3f8fb); color:var(--steel-900); cursor:pointer; box-shadow:0 8px 22px rgba(8,43,68,.055); transition:.2s ease; }
.lifecycle-flow button::after { content:''; position:absolute; inset:auto -22px -30px auto; width:88px; height:88px; border-radius:50%; background:rgba(var(--accent-rgb),.08); }
.lifecycle-flow button:hover { transform:translateY(-3px); border-color:rgba(var(--accent-rgb),.35); box-shadow:0 16px 32px rgba(8,43,68,.10); }
.lifecycle-flow b { display:inline-grid; place-items:center; width:34px; height:34px; margin-bottom:13px; border-radius:11px; background:linear-gradient(135deg,#0c5688,#16a3b6); color:#fff; font-size:11px; box-shadow:0 7px 16px rgba(12,86,136,.22); }
.lifecycle-flow strong,.lifecycle-flow span { display:block; }
.lifecycle-flow strong { font-size:13px; }
.lifecycle-flow span { margin-top:6px; color:var(--steel-600); font-size:10px; line-height:1.55; }
.brand-copy strong { font-size:14px; }
.sidebar.collapsed .brand-copy strong { display:none; }
@media (max-width:1050px){ .lifecycle-flow { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:620px){ .lifecycle-flow { grid-template-columns:1fr; } }

/* =========================================================
   Taht Al-Inshaa v0.14 — Engineering Canvas & Stability Pass
   ========================================================= */
:root {
  --canvas-base: #edf4f8;
  --canvas-deep: #dfeaf1;
  --card-white: rgba(255,255,255,.96);
  --heading: #09243b;
  --body-text: #2f4b61;
  --label-text: #18394f;
  --line-strong: #c6d8e4;
  --cyan-electric: #14a9c1;
  --blue-electric: #1477bd;
  --orange-electric: #ee842f;
  --gold-electric: #d9a42d;
  --violet-electric: #7455d7;
  --green-electric: #1c9f72;
  --shadow-soft: 0 12px 32px rgba(12,47,70,.085);
  --shadow-lift: 0 22px 52px rgba(10,43,66,.13);
}

html, body { min-height:100%; }
body {
  color: var(--heading);
  background-color: var(--canvas-base);
  background-image: url('/engineering-grid.svg?v=0.14.0');
  background-size: cover;
  background-position: center top;
  background-attachment: fixed;
}
body::before {
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background:
    linear-gradient(115deg, rgba(255,255,255,.72), rgba(255,255,255,.18) 48%, rgba(209,230,241,.34)),
    radial-gradient(circle at 88% 7%, rgba(20,169,193,.13), transparent 28%),
    radial-gradient(circle at 8% 90%, rgba(116,85,215,.075), transparent 24%);
}
body.modal-open { overflow:hidden; }

.main-content {
  position:relative;
  isolation:isolate;
  background:linear-gradient(180deg, rgba(238,246,250,.52), rgba(245,249,252,.70));
}
.main-content::before {
  content:"";
  position:fixed;
  inset:0 272px 0 0;
  z-index:-1;
  pointer-events:none;
  background:
    linear-gradient(90deg, transparent 0 73%, rgba(16,101,149,.025) 73% 73.12%, transparent 73.12%),
    linear-gradient(0deg, transparent 0 64%, rgba(16,101,149,.025) 64% 64.12%, transparent 64.12%);
}
.view { position:relative; z-index:1; }

/* Sidebar: deep blueprint with multi-shade icon blocks */
.sidebar {
  background:
    linear-gradient(180deg, rgba(4,29,49,.985), rgba(7,48,76,.985)),
    url('/engineering-grid.svg?v=0.14.0');
  background-size:auto, 720px auto;
  background-position:center, 65% center;
  border-left:1px solid rgba(148,210,236,.22);
  box-shadow:-18px 0 55px rgba(4,28,46,.19);
}
.sidebar::after {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(145deg, rgba(255,255,255,.025), transparent 30%, rgba(20,169,193,.035));
}
.sidebar > * { position:relative; z-index:1; }
.sidebar-brand {
  min-height:94px;
  background:linear-gradient(90deg, rgba(255,255,255,.025), rgba(255,255,255,.07), rgba(255,255,255,.02));
  box-shadow:inset 0 -1px rgba(255,255,255,.09);
}
.brand-copy strong { color:#fff; font-size:15px; letter-spacing:.02em; }
.brand-copy span { color:#b8d9e9 !important; }
.brand-copy small { color:#64c8d6; font-size:7px; letter-spacing:.14em; }
.nav-group { border-radius:15px; margin-bottom:8px; overflow:hidden; border:1px solid rgba(255,255,255,.035); }
.nav-group.open { background:rgba(255,255,255,.018); border-color:rgba(var(--group-rgb),.15); }
.nav-group-toggle { min-height:58px; }
.nav-item {
  min-height:58px;
  margin:5px 2px;
  border-radius:14px;
  color:#c9dbe7;
  background:rgba(255,255,255,.012);
}
.nav-label strong { color:#eef8fc; font-weight:800; }
.nav-label small { color:#7fa3b8; }
.nav-icon {
  width:38px;
  height:38px;
  border-radius:12px;
  color:#fff;
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--tone) 88%, #fff 12%), color-mix(in srgb, var(--tone) 62%, #061c2d 38%));
  border:1px solid rgba(255,255,255,.25);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.34),
    inset 0 -8px 14px rgba(2,20,34,.18),
    0 7px 15px rgba(var(--tone-rgb),.20);
}
.nav-icon svg { width:19px; height:19px; stroke:#fff; filter:drop-shadow(0 1px 1px rgba(0,0,0,.22)); }
.nav-item:hover .nav-icon {
  transform:translateY(-1px) scale(1.035);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.42), 0 10px 22px rgba(var(--tone-rgb),.32);
}
.nav-item.active {
  background:linear-gradient(100deg, rgba(var(--tone-rgb),.26), rgba(255,255,255,.045));
  border-color:rgba(var(--tone-rgb),.44);
  box-shadow:inset -4px 0 0 var(--tone), 0 10px 25px rgba(0,0,0,.18);
}
.nav-item.active .nav-icon { box-shadow:inset 0 1px 0 rgba(255,255,255,.46), 0 10px 24px rgba(var(--tone-rgb),.38); }
.nav-index { color:#8eb0c3; }

/* Top bar and title contrast */
.topbar {
  height:88px;
  margin:14px 20px 0;
  padding-inline:24px;
  border:1px solid rgba(91,130,155,.26);
  border-radius:22px;
  background:rgba(255,255,255,.94);
  box-shadow:0 16px 42px rgba(7,42,65,.10);
  backdrop-filter:blur(22px) saturate(1.15);
}
.topbar::before {
  content:"";
  position:absolute;
  right:0;
  top:0;
  bottom:0;
  width:7px;
  border-radius:0 22px 22px 0;
  background:linear-gradient(180deg, var(--accent), color-mix(in srgb,var(--accent) 58%,#08263e));
}
.topbar h1 { color:var(--heading); font-size:24px; font-weight:900; text-shadow:none; }
.breadcrumb span { color:#527186; }
.breadcrumb span:last-child { color:var(--accent); font-weight:800; }
.top-action, .engineering-icon-button {
  display:grid;
  place-items:center;
  border:1px solid #ccdae4;
  background:linear-gradient(145deg,#fff,#edf5f9);
  color:#1d587e;
  box-shadow:inset 0 1px 0 #fff, 0 6px 14px rgba(11,55,83,.08);
}
.engineering-icon-button svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.top-action:hover { color:#fff; border-color:var(--accent); background:linear-gradient(145deg,var(--accent),color-mix(in srgb,var(--accent) 64%,#08263e)); }
.date-chip { background:#eef5f9; border:1px solid #d8e5ed; color:#36586f; font-weight:700; }

/* Readable engineering page headers */
.section-toolbar {
  position:relative;
  align-items:center;
  padding:20px 22px;
  border:1px solid rgba(101,141,165,.24);
  border-radius:19px;
  background:rgba(255,255,255,.91);
  box-shadow:var(--shadow-soft);
  overflow:hidden;
}
.section-toolbar::before {
  content:"";
  position:absolute;
  right:0;
  top:0;
  bottom:0;
  width:6px;
  background:linear-gradient(180deg,var(--accent),color-mix(in srgb,var(--accent) 55%,#143247));
}
.section-toolbar::after {
  content:"";
  position:absolute;
  left:-35px;
  top:-60px;
  width:150px;
  height:150px;
  border:18px solid rgba(var(--accent-rgb),.045);
  transform:rotate(35deg);
}
.section-toolbar > * { position:relative; z-index:1; }
.section-toolbar h2, .workspace-hero-copy h2, .panel-header h3, .project-page-heading h3 {
  color:var(--heading);
  text-shadow:none;
  font-weight:900;
}
.section-toolbar p, .workspace-hero-copy p { color:#536f82; }
.section-toolbar .eyebrow {
  display:inline-flex;
  padding:5px 9px;
  border-radius:999px;
  color:color-mix(in srgb,var(--accent) 82%,#16374e);
  background:rgba(var(--accent-rgb),.08);
}

.hero-strip, .workspace-hero {
  border:1px solid rgba(125,196,222,.26);
  background:
    linear-gradient(120deg, rgba(5,34,56,.985), rgba(8,91,139,.97)),
    url('/engineering-grid.svg?v=0.14.0');
  background-size:auto, 950px auto;
  background-position:center, center 45%;
  box-shadow:0 22px 54px rgba(5,45,72,.21);
}
.hero-strip::before, .workspace-hero::before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg, transparent 58%, rgba(255,255,255,.045)),
    radial-gradient(circle at 85% 15%, rgba(28,202,213,.20), transparent 25%),
    linear-gradient(135deg, transparent 0 70%, rgba(227,167,47,.08) 70% 72%, transparent 72%);
}
.hero-strip h2, .workspace-hero-copy h2 { color:#fff !important; text-shadow:0 2px 12px rgba(0,0,0,.22); }
.hero-strip p, .workspace-hero-copy p { color:#d4e8f3 !important; }
.hero-strip .eyebrow, .workspace-hero .eyebrow { color:#f5c86c !important; }
.workspace-hero-icon {
  color:#fff;
  background:linear-gradient(145deg,var(--accent),color-mix(in srgb,var(--accent) 58%,#07283f));
  border:1px solid rgba(255,255,255,.30);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.34), 0 12px 26px rgba(var(--accent-rgb),.30);
}

/* Cards and icon shading */
.panel, .table-card, .project-card, .report-card, .workspace-metric, .metric-card, .empty-state {
  background:var(--card-white);
  border:1px solid rgba(104,143,168,.24);
  box-shadow:var(--shadow-soft);
  backdrop-filter:blur(8px);
}
.metric-card {
  position:relative;
  overflow:hidden;
  min-height:145px;
}
.metric-card::before {
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:linear-gradient(180deg,var(--metric-tone),color-mix(in srgb,var(--metric-tone) 55%,#102e43));
}
.metric-card .metric-icon {
  width:44px;
  height:44px;
  border-radius:14px;
  color:#fff;
  background:linear-gradient(145deg,color-mix(in srgb,var(--metric-tone) 86%,#fff),color-mix(in srgb,var(--metric-tone) 68%,#092238));
  border:1px solid rgba(255,255,255,.38);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.38), inset 0 -9px 14px rgba(0,0,0,.10), 0 9px 20px rgba(var(--metric-rgb),.23);
}
.metric-card h3 { color:var(--heading); font-weight:950; }
.metric-card p { color:#4e6a7e; font-size:11px; }
.metric-kpi { color:#68849a; background:#eef5f8; border:1px solid #dce8ee; }

.quick-actions { gap:12px; }
.quick-actions button {
  min-height:104px;
  border:1px solid rgba(99,137,161,.26);
  background:linear-gradient(145deg,#fff,#f3f8fb);
  box-shadow:0 9px 22px rgba(8,43,68,.06);
}
.quick-actions button b {
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:14px;
  color:#fff;
  background:linear-gradient(145deg,rgb(var(--qa)),color-mix(in srgb,rgb(var(--qa)) 64%,#092338));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.38),0 9px 18px rgba(var(--qa),.22);
  font-size:18px;
}
.quick-actions button:nth-child(5) { --qa: 14,165,165; }
.quick-actions button:nth-child(6) { --qa: 116,85,215; }
.quick-actions span { color:#17384f; }
.lifecycle-flow button { background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(238,246,250,.96)); }
.lifecycle-flow strong { color:#12354c; }
.lifecycle-flow span { color:#5c7587; }
.lifecycle-flow b { background:linear-gradient(145deg,var(--accent),color-mix(in srgb,var(--accent) 58%,#08263e)); }

/* Stable forms and high contrast inputs */
.modal-backdrop {
  background:rgba(4,28,46,.69);
  backdrop-filter:blur(9px);
  overscroll-behavior:contain;
}
.modal {
  border:1px solid rgba(170,204,222,.48);
  background:#fdfefe;
  box-shadow:0 40px 110px rgba(0,0,0,.34);
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}
.modal-header {
  position:sticky;
  top:0;
  z-index:8;
  background:linear-gradient(135deg,#ffffff,#edf6fa);
  border-bottom:1px solid #d4e2ea;
  box-shadow:0 6px 16px rgba(8,43,68,.055);
}
.modal-header::before {
  content:"";
  position:absolute;
  right:0;
  top:0;
  bottom:0;
  width:5px;
  background:linear-gradient(180deg,var(--accent),color-mix(in srgb,var(--accent) 55%,#143247));
}
.modal-header h2 { color:var(--heading); font-weight:900; }
.modal-header .eyebrow { color:var(--accent); }
.modal-subtitle { color:#4f6d81; }
.form-grid label span, .field-label { color:var(--label-text); }
input, select, textarea {
  color:#102f45;
  background:#fff;
  border:1px solid #bdcfda;
  box-shadow:inset 0 1px 2px rgba(11,50,74,.025);
}
input::placeholder, textarea::placeholder { color:#8ba0af; }
input:focus, select:focus, textarea:focus {
  border-color:var(--accent);
  background:#fff;
  box-shadow:0 0 0 4px rgba(var(--accent-rgb),.11),0 7px 16px rgba(7,47,73,.055);
}
.form-actions {
  position:sticky;
  bottom:0;
  z-index:5;
  margin-inline:-24px;
  margin-bottom:-24px;
  padding:14px 24px;
  background:rgba(250,253,255,.96);
  border-top:1px solid #d9e5ec;
  backdrop-filter:blur(12px);
}
.button.primary {
  color:#fff;
  background:linear-gradient(145deg,var(--accent),color-mix(in srgb,var(--accent) 62%,#09283f));
  border:1px solid rgba(255,255,255,.16);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.30),0 10px 22px rgba(var(--accent-rgb),.22);
}
.button.secondary { color:#183d56; background:linear-gradient(145deg,#f7fbfd,#e7f1f6); border:1px solid #c7d9e4; }
.button:hover:not(:disabled) { transform:translateY(-2px); filter:saturate(1.05); }
.form-safety-note {
  display:flex;
  gap:11px;
  align-items:center;
  padding:12px 14px;
  border:1px solid #cbe6dd;
  border-radius:13px;
  background:#f0fbf7;
  color:#1a6049;
}
.form-safety-note > span { width:28px; height:28px; display:grid; place-items:center; border-radius:9px; color:#fff; background:#1b9d70; font-weight:900; }
.form-safety-note strong, .form-safety-note small { display:block; }
.form-safety-note small { margin-top:3px; color:#4f7568; }

/* Notification composer targeting */
.modal-notification { width:min(980px,96vw); }
.notification-composer-header { background:linear-gradient(135deg,#fff,#edf5fb); }
.audience-fieldset {
  margin:0;
  padding:16px;
  border:1px solid #cbdce6;
  border-radius:16px;
  background:#f8fbfd;
}
.audience-fieldset legend { padding:0 9px; color:#183c55; font-weight:900; font-size:12px; }
.audience-mode-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }
.audience-mode-card {
  position:relative;
  display:grid !important;
  grid-template-columns:42px 1fr;
  grid-template-rows:auto auto;
  gap:2px 11px;
  align-items:center;
  padding:13px;
  border:1px solid #d0dee7;
  border-radius:14px;
  background:#fff;
  cursor:pointer;
  transition:.18s ease;
}
.audience-mode-card input { position:absolute; opacity:0; pointer-events:none; }
.audience-mode-card .audience-mode-icon { grid-row:1 / 3; width:42px; height:42px; display:grid; place-items:center; border-radius:13px; background:#e8f2f8; color:#176da2; font-size:19px; font-weight:900; }
.audience-mode-card strong { color:#17394f; font-size:13px; }
.audience-mode-card small { color:#6a8292; }
.audience-mode-card.active { border-color:#2498bd; background:linear-gradient(145deg,#fff,#edf9fb); box-shadow:0 0 0 3px rgba(36,152,189,.10); }
.audience-mode-card.active .audience-mode-icon { color:#fff; background:linear-gradient(145deg,#1fa7bf,#176b9d); box-shadow:0 7px 15px rgba(23,107,157,.22); }
.notification-audience-custom { display:grid; gap:13px; margin-top:14px; }
.recipient-filter-block { padding:13px; border:1px solid #d7e3ea; border-radius:14px; background:#fff; }
.recipient-filter-title { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:9px; }
.recipient-filter-title strong { color:#16394f; }
.recipient-filter-title small { color:#7890a0; }
.recipient-chip-grid { display:flex; flex-wrap:wrap; gap:8px; }
.recipient-chip { position:relative; display:inline-flex !important; margin:0; cursor:pointer; }
.recipient-chip input { position:absolute; opacity:0; pointer-events:none; }
.recipient-chip span { margin:0 !important; padding:8px 11px; border:1px solid #cfdde6; border-radius:999px; background:#f5f9fb; color:#35576c; font-size:11px !important; }
.recipient-chip input:checked + span { color:#fff; border-color:#167ba9; background:linear-gradient(145deg,#1aa5bd,#176b9e); box-shadow:0 6px 14px rgba(23,107,158,.18); }
.users-block input[type=search] { margin-bottom:10px; }
.recipient-user-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; max-height:245px; overflow:auto; padding:2px; }
.recipient-user-card {
  position:relative;
  display:grid !important;
  grid-template-columns:38px minmax(0,1fr) 22px;
  align-items:center;
  gap:9px;
  padding:9px;
  margin:0;
  border:1px solid #d6e2e9;
  border-radius:12px;
  background:#fbfdfe;
  cursor:pointer;
}
.recipient-user-card input { position:absolute; opacity:0; pointer-events:none; }
.recipient-avatar { width:38px; height:38px; display:grid; place-items:center; border-radius:11px; background:linear-gradient(145deg,#d7ecf4,#d8d7f4); color:#315771; font-weight:900; }
.recipient-user-copy strong, .recipient-user-copy small { display:block; }
.recipient-user-copy strong { color:#17384f; font-size:11px; }
.recipient-user-copy small { color:#718897; margin-top:4px; font-size:9px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.recipient-check { width:20px; height:20px; display:grid; place-items:center; border-radius:7px; color:transparent; border:1px solid #c7d7e0; }
.recipient-user-card:has(input:checked) { border-color:#2596b9; background:#effafd; box-shadow:0 0 0 2px rgba(37,150,185,.08); }
.recipient-user-card input:checked ~ .recipient-check { color:#fff; border-color:#1683a9; background:#1683a9; }
.recipient-summary { margin-top:12px; padding:10px 12px; border-radius:11px; color:#1b604b; background:#e9f8f2; border:1px solid #c8eadc; font-size:11px; font-weight:800; }
.recipient-summary.warning { color:#8a3d27; background:#fff1ea; border-color:#f2d0c1; }
.recipient-empty { color:#7b91a0; }
.notification-audience { display:block; width:max-content; max-width:100%; margin:6px 0; padding:4px 7px; border-radius:7px; color:#527086; background:#eef5f8; font-size:9px; font-style:normal; }

/* Keep dropdowns visible while interacting */
.project-actions-dropdown { position:relative; }
.project-dropdown-menu {
  z-index:80;
  box-shadow:0 22px 48px rgba(7,39,61,.18);
  border:1px solid #c5d8e4;
  background:#fff;
}
.project-dropdown-menu.show { display:grid; animation:menuReveal .16s ease both; }
.project-dropdown-menu button { color:#193c53; }
.project-dropdown-menu button:hover { background:#edf7fa; }
@keyframes menuReveal { from { opacity:0; transform:translateY(-6px) scale(.985); } to { opacity:1; transform:none; } }

/* Contrast patches for legacy dynamic views */
.workspace-metric strong, .project-stat-row strong, .detail-summary-grid strong { color:#12354c; }
.workspace-metric span, .project-stat-row span, .detail-summary-grid span { color:#678092; }
.table-card thead th { color:#183a50; background:#edf4f8; border-bottom-color:#c9dbe5; }
.table-card tbody td { color:#294b60; }
.report-card h3, .project-card h3 { color:#11344b; }
.project-card p, .report-card p { color:#526e80; }
.status-pill { text-shadow:none; }

@media (max-width:980px) {
  .main-content::before { inset:0; }
  .topbar { margin:8px 8px 0; padding-inline:13px; }
  .topbar-actions .date-chip { display:none; }
  .recipient-user-grid { grid-template-columns:1fr; }
  .audience-mode-grid { grid-template-columns:1fr; }
  .section-toolbar { padding:16px; }
}
@media (max-width:680px) {
  body { background-size:auto 820px; }
  .view { padding-inline:10px; }
  .topbar h1 { font-size:18px; }
  .topbar .document-button { display:none; }
  .modal-backdrop { padding:0; place-items:stretch; }
  .modal { width:100vw; max-height:100vh; height:100vh; border-radius:0; }
  .modal-header { border-radius:0; }
  .form-grid { grid-template-columns:1fr; padding:18px 14px; }
  .form-grid .wide { grid-column:auto; }
  .form-actions { margin-inline:-14px; margin-bottom:-18px; padding:12px 14px; }
  .quick-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hero-strip { border-radius:17px; }
}
.quick-actions b svg { width:22px; height:22px; fill:none; stroke:#fff; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }

/* v0.14 — project imagery and company organization */
.progress-project-identity{display:flex;align-items:center;gap:12px;min-width:0}.progress-project-identity>div{min-width:0}.progress-project-thumb{width:48px;height:48px;border-radius:14px;object-fit:cover;border:1px solid rgba(15,76,129,.16);box-shadow:0 7px 18px rgba(15,23,42,.1);background:#fff;flex:0 0 auto}.progress-project-thumb.fallback{display:grid;place-items:center;font-weight:900;font-size:11px;letter-spacing:.04em;color:#0f4c81;background:linear-gradient(145deg,#e0f2fe,#fff)}.project-progress-row{grid-template-columns:minmax(250px,1.3fr) minmax(140px,1fr) 58px;align-items:center}.project-profile-visual img{transition:transform .35s ease,filter .35s ease}.project-card:hover .project-profile-visual img{transform:scale(1.035);filter:saturate(1.08) contrast(1.02)}

.departments-toolbar{position:relative;overflow:hidden}.departments-toolbar:after{content:"";position:absolute;inset-inline-end:-30px;bottom:-58px;width:230px;height:160px;background:linear-gradient(135deg,rgba(15,118,110,.08),rgba(14,165,233,.02));clip-path:polygon(0 100%,42% 16%,58% 48%,72% 0,100% 100%);pointer-events:none}.department-filter-bar{align-items:center}.switch-filter{display:flex!important;align-items:center;gap:9px;padding:0 14px;border:1px solid #d7e2ef;border-radius:13px;background:#fff;min-height:44px;color:#334155;font-weight:700}.switch-filter input{width:17px;height:17px;accent-color:#0f766e}.organization-legend{display:flex;flex-wrap:wrap;gap:12px;margin:14px 0 18px;padding:12px 16px;border:1px solid rgba(148,163,184,.24);border-radius:16px;background:rgba(255,255,255,.78);backdrop-filter:blur(8px);color:#475569;font-size:13px}.organization-legend span{display:flex;align-items:center;gap:7px}.organization-legend i{width:10px;height:10px;border-radius:3px;display:inline-block}.legend-root{background:#0f766e}.legend-child{background:#38bdf8}.legend-manager{background:#f59e0b}
.department-org-chart{display:grid;gap:18px;padding:6px 0 30px}.department-node{position:relative}.department-children{margin-inline-start:34px;margin-top:13px;padding-inline-start:24px;border-inline-start:2px dashed rgba(14,116,144,.2);display:grid;gap:13px}.department-children>.department-node:before{content:"";position:absolute;top:35px;inset-inline-start:-25px;width:25px;border-top:2px dashed rgba(14,116,144,.2)}.department-card{position:relative;display:grid;grid-template-columns:7px 76px minmax(240px,1fr) minmax(180px,.7fr) auto;gap:16px;align-items:center;min-height:128px;padding:18px 20px;border:1px solid rgba(148,163,184,.24);border-radius:22px;background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(248,250,252,.95));box-shadow:0 16px 36px rgba(15,23,42,.07);overflow:hidden;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.department-card:hover{transform:translateY(-2px);box-shadow:0 20px 44px rgba(15,23,42,.1);border-color:color-mix(in srgb,var(--department-color) 30%,#d7e2ef)}.department-card.inactive{opacity:.58;filter:grayscale(.2)}.department-card-accent{align-self:stretch;border-radius:9px;background:linear-gradient(180deg,var(--department-color),color-mix(in srgb,var(--department-color) 55%,#0f172a));box-shadow:0 0 0 6px color-mix(in srgb,var(--department-color) 8%,transparent)}.department-card-code{display:grid;place-items:center;width:68px;height:68px;border-radius:20px;background:color-mix(in srgb,var(--department-color) 10%,white);border:1px solid color-mix(in srgb,var(--department-color) 22%,white);color:var(--department-color);font-weight:900;font-size:13px;letter-spacing:.04em}.department-card-copy{min-width:0}.department-kind{display:inline-flex;padding:4px 8px;border-radius:999px;background:color-mix(in srgb,var(--department-color) 9%,white);color:var(--department-color);font-size:10px;font-weight:900;margin-bottom:5px}.department-card-copy h3{margin:0;color:#0f172a;font-size:19px}.department-card-copy small{display:block;color:#64748b;margin-top:2px;font-weight:700}.department-card-copy p{margin:8px 0 0;color:#475569;line-height:1.65;font-size:13px}.department-card-stats{display:grid;grid-template-columns:repeat(2,minmax(70px,1fr));gap:8px}.department-card-stats>span{padding:9px 10px;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0;color:#64748b;font-size:12px}.department-card-stats b{color:#0f172a;font-size:16px}.department-manager{grid-column:1/-1!important;color:#334155!important}.department-actions{display:flex;flex-direction:column;gap:7px;min-width:88px}.department-actions .row-action{justify-content:center}.checkbox-label{display:flex!important;flex-direction:row!important;align-items:center!important;gap:10px!important;padding:12px 13px;border:1px solid #dbe4ef;border-radius:13px;background:#f8fafc}.checkbox-label input{width:18px;height:18px;accent-color:#0f766e}

@media(max-width:1050px){.department-card{grid-template-columns:7px 62px 1fr auto}.department-card-stats{grid-column:3/5;grid-template-columns:repeat(3,1fr)}.department-manager{grid-column:auto!important}.department-actions{grid-column:2/5;flex-direction:row;justify-content:flex-end}.department-card-code{width:58px;height:58px}.department-children{margin-inline-start:18px;padding-inline-start:16px}}
@media(max-width:700px){.project-progress-row{grid-template-columns:1fr 48px}.project-progress-row .progress-track{grid-column:1/-1}.progress-project-thumb{width:42px;height:42px;border-radius:12px}.department-card{grid-template-columns:6px 54px 1fr;padding:14px;gap:11px}.department-card-stats{grid-column:2/4;grid-template-columns:1fr 1fr}.department-manager{grid-column:1/-1!important}.department-actions{grid-column:2/4;overflow:auto;justify-content:flex-start}.department-card-copy h3{font-size:16px}.department-card-copy p{font-size:12px}.department-children{margin-inline-start:8px;padding-inline-start:10px}.department-card-code{width:50px;height:50px;border-radius:15px;font-size:10px}.organization-legend{font-size:11px}}

/* v0.16 project intelligence and geolocation */
.project-card { overflow: visible; }
.project-card-cover{height:150px;border-radius:18px 18px 0 0;overflow:hidden;position:relative;background:linear-gradient(135deg,#0f2745,#1d5b8f);margin:-1px -1px 0}.project-card-cover>img{width:100%;height:100%;object-fit:cover}.project-card-cover-overlay{position:absolute;inset:0;padding:14px;display:flex;align-items:flex-start;justify-content:space-between;background:linear-gradient(180deg,rgba(5,20,39,.22),transparent 55%,rgba(5,20,39,.46))}.project-cover-fallback{height:100%;display:grid;place-content:center;text-align:center;color:#dbeafe;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:22px 22px}.project-cover-fallback span{font-size:26px;font-weight:950;letter-spacing:.16em}.project-cover-fallback small{font-size:9px;letter-spacing:.28em}.project-card-main.enhanced{padding-top:16px}.project-contact-line{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:10px}.project-map-link{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:12px;background:#e0f2fe;color:#075985;font-size:11px;font-weight:900;text-decoration:none}.project-map-link:hover{background:#bae6fd}.project-map-link.disabled{background:#f1f5f9;color:#64748b}.project-manager-chip{display:flex;align-items:center;gap:8px}.project-manager-chip>img,.project-manager-chip>span{width:34px;height:34px;border-radius:50%;object-fit:cover;display:grid;place-content:center;background:#dbeafe;color:#1d4ed8;font-weight:900;border:2px solid #fff;box-shadow:0 4px 12px rgba(15,23,42,.14)}.project-manager-chip small{display:grid;font-size:9px;color:#64748b}.project-manager-chip b{font-size:11px;color:#0f172a}.project-custom-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;padding:0 16px 14px}.project-custom-metrics>div{border-right:4px solid var(--metric-color);background:linear-gradient(135deg,color-mix(in srgb,var(--metric-color) 9%,white),#fff);padding:10px 12px;border-radius:12px;display:grid;gap:5px}.project-custom-metrics span{font-size:10px;color:#64748b}.project-custom-metrics strong{font-size:13px;color:#0f172a}.project-card-actions{position:relative;z-index:6}.project-actions-dropdown{position:relative}.project-dropdown-menu{z-index:80}.location-input-row{display:grid;grid-template-columns:1fr auto;gap:8px}.project-full-profile{display:grid;grid-template-columns:220px 1fr 130px;gap:20px;align-items:center;padding:18px;background:linear-gradient(135deg,#f8fbff,#eef7ff);border:1px solid #d7e8f6;border-radius:20px}.project-full-cover{height:160px;border-radius:16px;overflow:hidden;background:#0f2745}.project-full-cover img{width:100%;height:100%;object-fit:cover}.project-full-identity>span{font-size:11px;font-weight:900;color:#2563eb}.project-full-identity h2{margin:4px 0;color:#0f2745}.project-full-identity p{margin:0;color:#64748b}.project-location-manager{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:16px}.project-location-manager>a,.project-location-manager>span{color:#0369a1;font-weight:900;text-decoration:none}.full-manager{display:flex;gap:10px;align-items:center}.full-manager>img,.full-manager>span{width:50px;height:50px;border-radius:50%;object-fit:cover;background:#dbeafe;display:grid;place-content:center;color:#1d4ed8;font-size:20px;font-weight:900}.full-manager>div{display:grid}.full-manager small{color:#64748b;font-size:9px}.full-manager strong{font-size:12px}.full-manager em{font-style:normal;color:#64748b;font-size:10px}.project-metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.project-metric-grid article{border-top:4px solid var(--metric-color);padding:14px;border-radius:14px;background:#fff;box-shadow:0 8px 20px rgba(15,23,42,.06);display:grid;gap:8px}.project-metric-grid span{font-size:11px;color:#64748b}.project-metric-grid strong{font-size:18px;color:#0f172a}.photo-gallery.compact .photo-card{min-height:0}.latest-project-photos{margin-top:18px}.checkbox-label{display:flex!important;align-items:center!important;gap:8px!important}.checkbox-label input{width:auto!important}.checkbox-label span{margin:0!important}
@media(max-width:900px){.project-full-profile{grid-template-columns:1fr}.project-full-cover{height:200px}.project-card-cover{height:125px}.location-input-row{grid-template-columns:1fr}.project-card-actions{display:grid;grid-template-columns:1fr 1fr}.project-card-actions .project-actions-dropdown{grid-column:span 2}.project-card-actions .project-actions-dropdown>button{width:100%}}

/* ========================================================================== */
/* v0.16 — project-isolated portals, role login and engineering visual system */
/* ========================================================================== */
body{
  background-color:#eef3f8;
  background-image:
    linear-gradient(rgba(16,75,122,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(16,75,122,.035) 1px,transparent 1px),
    radial-gradient(circle at 9% 8%,rgba(14,165,233,.10),transparent 23%),
    radial-gradient(circle at 91% 92%,rgba(202,161,90,.09),transparent 28%);
  background-size:28px 28px,28px 28px,auto,auto;
}

.login-screen{
  grid-template-columns:minmax(480px,.82fr) minmax(620px,1.18fr);
  background:
    linear-gradient(90deg,rgba(255,255,255,.98),rgba(247,250,253,.98)),
    repeating-linear-gradient(0deg,transparent 0 31px,rgba(11,79,134,.035) 31px 32px),
    repeating-linear-gradient(90deg,transparent 0 31px,rgba(11,79,134,.035) 31px 32px);
}
.login-visual{
  order:2;
  background:
    linear-gradient(155deg,rgba(2,26,51,.12),transparent 42%),
    radial-gradient(circle at 22% 16%,rgba(72,194,255,.22),transparent 24%),
    linear-gradient(135deg,#062e57 0%,#064d87 48%,#0a72b8 100%);
}
.login-visual:before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.32;
  background-image:
    linear-gradient(rgba(255,255,255,.075) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.075) 1px,transparent 1px),
    linear-gradient(135deg,transparent 48%,rgba(255,255,255,.07) 49% 51%,transparent 52%);
  background-size:40px 40px,40px 40px,160px 160px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.8),transparent 94%);
}
.login-card{
  order:1;
  width:min(590px,calc(100% - 54px));
  max-height:calc(100vh - 48px);
  overflow:auto;
  padding:30px 34px;
  border-color:rgba(133,160,187,.30);
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(20px);
  box-shadow:0 26px 80px rgba(4,31,58,.13),inset 0 1px 0 rgba(255,255,255,.86);
}
.login-card h2{font-size:30px}.login-card p{margin-bottom:18px}
.login-role-section{margin:14px 0 8px;padding:14px;border:1px solid #dce8f2;border-radius:18px;background:linear-gradient(145deg,#f8fbfe,#eef6fb)}
.login-role-section>.field-label{margin:0 0 10px;color:#123b60;font-weight:900}
.login-role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-height:250px;overflow:auto;padding:2px}
.login-role-card{display:flex;align-items:center;gap:10px;min-height:64px;padding:10px 12px;border:1px solid #d8e4ef;border-radius:14px;background:#fff;color:#334155;text-align:right;transition:.2s ease;box-shadow:0 5px 14px rgba(15,23,42,.035)}
.login-role-card:hover{transform:translateY(-1px);border-color:#7cc3ed;box-shadow:0 9px 20px rgba(6,78,133,.10)}
.login-role-card>b{width:36px;height:36px;display:grid;place-items:center;flex:0 0 auto;border-radius:11px;background:#eaf5fc;color:#0875b8;font-size:18px;box-shadow:inset 0 0 0 1px rgba(8,117,184,.10)}
.login-role-card span{min-width:0}.login-role-card strong,.login-role-card small{display:block}.login-role-card strong{font-size:12px;color:#163653}.login-role-card small{font-size:9px;color:#7a899a;margin-top:3px;line-height:1.35}
.login-role-card.active{border-color:#0b85c8;background:linear-gradient(135deg,#e8f7ff,#f8fcff);box-shadow:0 0 0 3px rgba(14,165,233,.10),0 10px 22px rgba(7,82,137,.11)}
.login-role-card.active>b{color:#fff;background:linear-gradient(135deg,#0ea5e9,#0369a1)}

.app-shell{grid-template-columns:300px 1fr}
.sidebar{
  background:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),
    radial-gradient(circle at 16% 12%,rgba(14,165,233,.22),transparent 25%),
    linear-gradient(180deg,#031c35 0%,#052f54 55%,#063d6b 100%);
  background-size:24px 24px,24px 24px,auto,auto;
  box-shadow:14px 0 45px rgba(2,21,41,.19)
}
.sidebar-tools{padding:12px 13px 4px}
.assigned-project-switcher{margin-top:10px;padding:10px;border:1px solid rgba(255,255,255,.11);border-radius:14px;background:rgba(255,255,255,.055)}
.assigned-project-switcher span{display:block;margin-bottom:6px;color:#8ed8ff;font-size:9px;font-weight:900;letter-spacing:.04em}
.assigned-project-switcher select{padding:9px 10px;border-color:rgba(255,255,255,.12);background:#082f52;color:#fff;font-size:11px}
.project-portal-identity{margin:8px 5px 13px;padding:12px;display:grid;grid-template-columns:58px 1fr;gap:12px;align-items:center;border:1px solid color-mix(in srgb,var(--project-color) 46%,rgba(255,255,255,.12));border-radius:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--project-color) 24%,#062b4b),color-mix(in srgb,var(--project-secondary) 16%,#062b4b));box-shadow:0 14px 28px rgba(0,0,0,.12),inset 0 1px 0 rgba(255,255,255,.10)}
.project-portal-image{width:58px;height:58px;border-radius:15px;overflow:hidden;display:grid;place-items:center;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18)}
.project-portal-image img{width:100%;height:100%;object-fit:cover}.project-portal-image span{font-size:12px;font-weight:950;color:#fff;letter-spacing:.08em}
.project-portal-identity div:last-child{min-width:0}.project-portal-identity small,.project-portal-identity strong,.project-portal-identity div>span{display:block}
.project-portal-identity small{color:#9ce0ff;font-size:8px;font-weight:900}.project-portal-identity strong{margin:4px 0;color:#fff;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-portal-identity div>span{color:rgba(255,255,255,.66);font-size:9px;line-height:1.5}
.project-nav-caption{display:flex;align-items:end;justify-content:space-between;padding:5px 12px 8px;color:#fff}.project-nav-caption span{font-size:11px;font-weight:900}.project-nav-caption small{font-size:8px;color:rgba(255,255,255,.4)}
.project-portal-nav.active{background:linear-gradient(135deg,color-mix(in srgb,var(--tone) 82%,#052846),color-mix(in srgb,var(--tone-light) 58%,#052846));box-shadow:inset 3px 0 0 rgba(255,255,255,.72),0 8px 18px rgba(0,0,0,.13)}
.project-portal-nav .nav-icon b{font-size:14px}
.project-portal-empty{margin:12px;padding:18px;border:1px dashed rgba(255,255,255,.22);border-radius:15px;background:rgba(255,255,255,.045);text-align:center}.project-portal-empty b,.project-portal-empty span{display:block}.project-portal-empty span{margin-top:7px;color:rgba(255,255,255,.55);font-size:10px;line-height:1.6}

.main-content{position:relative;background:transparent}
.main-content:before{content:"";position:fixed;inset:88px 0 0 300px;z-index:-1;pointer-events:none;background-image:linear-gradient(rgba(19,83,129,.026) 1px,transparent 1px),linear-gradient(90deg,rgba(19,83,129,.026) 1px,transparent 1px),radial-gradient(circle at 80% 15%,rgba(14,165,233,.08),transparent 26%);background-size:32px 32px,32px 32px,auto}
.topbar{background:rgba(251,253,255,.88);border-bottom-color:#dbe7f0;box-shadow:0 8px 28px rgba(5,41,72,.045)}
.topbar h1{color:#102f4a}.topbar .eyebrow{color:#0875b8}
.view{color:#172b3f}
.view h1,.view h2,.view h3,.view h4,.card h1,.card h2,.card h3{color:#102f4a}

.project-workspace{--project-color:#2563eb;--project-secondary:#0f766e}
.project-workspace-head{position:relative;overflow:hidden;border-color:color-mix(in srgb,var(--project-color) 25%,#dbe7ef);background:linear-gradient(135deg,color-mix(in srgb,var(--project-color) 8%,white),#fff 48%,color-mix(in srgb,var(--project-secondary) 7%,white))}
.project-workspace-head:after{content:"";position:absolute;inset:auto -35px -80px auto;width:270px;height:210px;opacity:.16;background:linear-gradient(135deg,var(--project-color),var(--project-secondary));clip-path:polygon(0 100%,34% 45%,49% 70%,67% 25%,100% 100%)}

.access-section-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:8px 0 10px;color:#173b5a}.access-section-title b{font-size:14px}.access-section-title span{font-size:10px;color:#718096}
.project-assignment-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-height:310px;overflow:auto;padding:3px}
.project-access-option{position:relative;display:grid!important;grid-template-columns:auto 1fr 135px auto;align-items:center;gap:9px;padding:11px 12px!important;border:1px solid #dbe6ef;border-inline-start:5px solid var(--project-color);border-radius:14px;background:#fff;box-shadow:0 6px 16px rgba(15,23,42,.04)}
.project-access-option input{width:17px;height:17px;accent-color:var(--project-color)}.project-access-option span{display:grid;min-width:0}.project-access-option b{color:var(--project-color);font-size:9px}.project-access-option strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-access-option select{padding:8px;font-size:10px}.project-access-option em{font-style:normal;color:#c47c11;font-size:9px;font-weight:900}
.responsibility-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.responsibility-grid label,.permission-switch{display:flex!important;align-items:center!important;gap:8px!important;margin:0!important;padding:10px 11px;border:1px solid #dbe6ef;border-radius:12px;background:#f8fbfd;color:#334155;font-size:10px;font-weight:800}.responsibility-grid input,.permission-switch input{width:16px!important;height:16px!important;accent-color:#0875b8}
.portal-pill{display:inline-flex;padding:5px 9px;border-radius:999px;background:#e5f4fc;color:#0369a1;font-size:9px;font-weight:900;margin-bottom:3px}.assignment-tags{display:flex;flex-wrap:wrap;gap:5px}.assignment-tags span{padding:5px 7px;border-radius:8px;border-inline-start:3px solid var(--tag-color);background:color-mix(in srgb,var(--tag-color) 8%,white);font-size:9px;font-weight:800}.assignment-tags em{color:#94a3b8;font-size:10px}.permission-fixed{color:#047857;font-size:10px;font-weight:900}

.team-lead-card{display:flex;align-items:center;gap:14px;padding:18px;border:1px solid color-mix(in srgb,var(--team-color) 25%,#dbe6ef);border-radius:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--team-color) 10%,white),#fff);box-shadow:0 10px 25px rgba(15,23,42,.05)}
.team-lead-card img,.team-lead-card>.employee-avatar-fallback{width:68px;height:68px;border-radius:18px;object-fit:cover}.team-lead-card div{display:grid}.team-lead-card span{color:#64748b;font-size:9px}.team-lead-card strong{font-size:17px;color:#102f4a}.team-lead-card small{color:#64748b;margin-top:3px}
.team-member-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-top:14px}.team-member-card{display:grid;grid-template-columns:54px 1fr auto;gap:11px;align-items:center;padding:14px;border:1px solid #dce7ef;border-radius:16px;background:#fff;box-shadow:0 8px 20px rgba(15,23,42,.045)}.team-member-card img,.team-member-card>.employee-avatar-fallback{width:54px;height:54px;border-radius:15px;object-fit:cover}.team-member-card div{min-width:0}.team-member-card strong,.team-member-card p,.team-member-card small,.team-member-card em{display:block}.team-member-card p{margin:3px 0;color:#36516a;font-size:11px}.team-member-card small{color:#7b8b9b;font-size:9px}.team-member-card em{margin-top:6px;color:#52677b;font-size:9px;font-style:normal;line-height:1.45}.team-member-card .danger{grid-column:3}

@media(max-width:1180px){
  .login-screen{grid-template-columns:minmax(420px,.9fr) minmax(480px,1.1fr)}
  .project-assignment-picker{grid-template-columns:1fr}.responsibility-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .login-screen{display:block}.login-visual{display:none}.login-card{width:min(640px,calc(100% - 28px));max-height:none;margin:14px auto}.mobile-brand{display:block}
  .app-shell{grid-template-columns:1fr}.main-content:before{inset-inline-start:0}.login-role-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .login-card{padding:22px 18px}.login-role-grid{grid-template-columns:1fr;max-height:330px}.login-role-card{min-height:58px}
  .responsibility-grid{grid-template-columns:1fr}.project-access-option{grid-template-columns:auto 1fr}.project-access-option select{grid-column:2}.project-access-option em{position:absolute;top:7px;inset-inline-end:8px}
  .team-member-grid{grid-template-columns:1fr}.team-member-card{grid-template-columns:48px 1fr}.team-member-card .status-pill,.team-member-card .danger{grid-column:2}.team-member-card img,.team-member-card>.employee-avatar-fallback{width:48px;height:48px}
}
/* Preserve the Arabic split-screen orientation: visual panel right, sign-in panel left. */
.login-visual,.login-card{order:initial}

/* v0.17 progress risk gradient, approval workflow, and work-progress schedule */
.progress-ring{background:conic-gradient(var(--progress-color,var(--accent,#ef4444)) var(--progress),#e7eef6 0)}
.progress-track i,.mini-progress i,.boq-progress i,.inline-progress i,.schedule-progress i{transition:width .35s ease,background .35s ease}
.progress-color-legend{display:grid;grid-template-columns:auto minmax(120px,1fr) auto;align-items:center;gap:10px;margin:0 0 14px;padding:10px 14px;border:1px solid #dbe7f2;border-radius:14px;background:rgba(255,255,255,.88);font-size:10px;font-weight:900;color:#52677d}
.progress-color-legend i{display:block;height:9px;border-radius:999px;background:linear-gradient(90deg,#dc2626 0%,#f97316 25%,#ca8a04 50%,#65a30d 75%,#16a34a 100%);box-shadow:inset 0 0 0 1px rgba(15,23,42,.08)}
.progress-summary-metrics{width:100%;grid-template-columns:repeat(5,minmax(110px,1fr))}
.progress-schedule-table table{min-width:1450px}
.schedule-progress{display:inline-block;width:92px;height:8px;margin-inline-end:7px;vertical-align:middle;overflow:hidden;border-radius:999px;background:#e7edf3}
.schedule-progress.compact{width:72px}
.schedule-progress i{display:block;height:100%;border-radius:inherit}
.progress-delayed-row{background:linear-gradient(90deg,rgba(254,226,226,.7),rgba(255,255,255,.25))}
.positive-value{color:#15803d;font-weight:900}.negative-value{color:#dc2626!important;font-weight:900}

.notification-item{cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.notification-item:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(15,45,75,.12)}
.notification-item.action-required{border-color:#f59e0b;background:linear-gradient(145deg,#fffbeb,#fff)}
.notification-audience.action{color:#9a3412;background:#ffedd5;border:1px solid #fdba74}
.notification-details-content{display:grid;gap:16px;padding:4px}
.notification-detail-card,.workflow-detail-card{border:1px solid #dbe7f2;border-radius:18px;background:linear-gradient(145deg,#fff,#f6faff);padding:18px;box-shadow:0 10px 30px rgba(15,45,75,.08)}
.notification-detail-card.urgent{border-inline-start:6px solid #ef4444}.notification-detail-card.medium{border-inline-start:6px solid #0ea5e9}
.notification-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.notification-detail-head span{font-size:10px;font-weight:900;color:#64748b}.notification-detail-head h3{margin:6px 0 0;color:#123c62;font-size:20px}.notification-detail-card>p{color:#435a70;line-height:1.8;white-space:pre-wrap}
.notification-detail-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 0}.notification-detail-card dl div,.workflow-detail-grid div{padding:10px;border-radius:12px;background:#f1f6fb}.notification-detail-card dt,.workflow-detail-grid span{font-size:9px;color:#718196}.notification-detail-card dd,.workflow-detail-grid b{margin:4px 0 0;color:#183d60;font-size:12px}
.notification-action-chip{padding:6px 10px;border-radius:999px;font-size:10px!important}.notification-action-chip.pending{background:#fef3c7;color:#92400e}.notification-action-chip.approved{background:#dcfce7;color:#166534}.notification-action-chip.rejected{background:#fee2e2;color:#991b1b}
.workflow-detail-title{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:14px}.workflow-detail-title span{font-size:10px;color:#0e7490;font-weight:900}.workflow-detail-title strong{color:#123c62}.workflow-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.workflow-detail-card>p{margin:14px 0 0;color:#435a70;line-height:1.7}.workflow-review-note{margin-top:14px;padding:12px;border-radius:13px;background:#fff7ed;border:1px solid #fed7aa}.workflow-review-note span{font-size:10px;font-weight:900;color:#9a3412}.workflow-review-note p{margin:5px 0 0;color:#7c2d12}
.notification-decision-panel{margin-top:16px;padding:16px;border:1px solid #d8e5ef;border-radius:18px;background:#f8fbfe}.notification-decision-panel label{display:grid;gap:7px;color:#52677d;font-size:11px;font-weight:900}.notification-decision-panel textarea{min-height:100px}
.form-actions{flex-wrap:wrap}

@media(max-width:900px){.progress-summary-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.workflow-detail-grid,.notification-detail-card dl{grid-template-columns:1fr}.notification-detail-head,.workflow-detail-title{flex-direction:column;align-items:flex-start}}


/* v0.17.1 — project card information alignment */
.project-stat-row{
  align-items:stretch;
  direction:rtl;
}
.project-stat-row>div{
  min-width:0;
  display:grid;
  grid-template-rows:auto minmax(24px,auto);
  align-content:start;
  justify-items:stretch;
  gap:5px;
  padding:10px 11px;
  border:1px solid rgba(148,163,184,.22);
  border-radius:12px;
  background:linear-gradient(145deg,rgba(248,250,252,.96),rgba(255,255,255,.99));
  text-align:right;
}
.project-stat-row>div>span,
.project-stat-row>div>strong{
  display:block;
  width:100%;
  margin:0;
  box-sizing:border-box;
  text-align:right;
  justify-self:stretch;
}
.project-stat-row>div>span{
  min-height:16px;
  line-height:1.45;
  color:#64748b;
  font-weight:800;
}
.project-stat-row>div>strong{
  min-height:24px;
  line-height:1.55;
  color:#0f2f49;
  font-size:12px;
  font-weight:950;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
}
.project-stat-row>div>strong[dir="ltr"]{
  direction:ltr;
  unicode-bidi:isolate;
  text-align:right;
}
.project-custom-metrics>div{
  text-align:right;
  align-content:start;
}
.project-custom-metrics>div>span,
.project-custom-metrics>div>strong{
  width:100%;
  text-align:right;
}
@media(max-width:700px){
  .project-stat-row{grid-template-columns:1fr 1fr;}
}
@media(max-width:430px){
  .project-stat-row{grid-template-columns:1fr;}
}

/* v0.18 Official correspondence composer */
.letter-button{background:linear-gradient(135deg,#0f4c81,#2563eb);color:#fff;border:1px solid rgba(37,99,235,.35);box-shadow:0 8px 20px rgba(37,99,235,.18)}
.letter-button:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(37,99,235,.24)}
.official-letters-panel{margin:18px 0 22px;padding:18px;border:1px solid #c8d8e8;border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(239,246,255,.92));box-shadow:0 12px 30px rgba(15,76,129,.08)}
.official-letters-panel.hidden{display:none}
.official-letters-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}.official-letters-head h3{margin:4px 0;color:#12304a}.official-letters-head p{margin:0;color:#64748b}.official-letter-filters{display:flex;gap:8px;min-width:min(480px,48%)}.official-letter-filters input{flex:1}.official-letter-filters select{min-width:145px}
.official-letters-table th{white-space:nowrap}.official-letters-table td{vertical-align:top}.official-letters-table td:nth-child(4){min-width:240px}
.modal-xl{width:min(1180px,96vw);max-height:94vh}.official-letter-modal-header{background:linear-gradient(135deg,#0b2741,#0f4c81 58%,#1d6aa5);color:#fff}.official-letter-modal-header .eyebrow,.official-letter-modal-header .modal-subtitle{color:#d7ebfb}.official-letter-modal-header .icon-button{color:#fff}
.official-letter-form{display:grid;gap:14px;padding:18px 20px 0;overflow:auto;max-height:calc(94vh - 112px);background:linear-gradient(180deg,#f8fbff,#eef5fb)}
.letter-form-section{border:1px solid #cadbea;border-radius:15px;background:rgba(255,255,255,.94);padding:15px;box-shadow:0 5px 16px rgba(15,76,129,.05)}.letter-form-section>h3{margin:0 0 12px;color:#0f4c81;font-size:15px;border-right:4px solid #38bdf8;padding-right:9px}.letter-body-field{display:grid;gap:7px}.letter-body-field textarea{font-family:Tahoma,Arial,sans-serif;font-size:15px;line-height:1.9;min-height:270px;background:#fff}.letter-body-field small{color:#64748b}.print-options-section{background:linear-gradient(135deg,#eff8ff,#f8fafc)}.letter-print-hint{align-self:end;border:1px dashed #7eb2d7;border-radius:12px;background:#eaf5ff;padding:10px 12px;display:grid;gap:3px;color:#31566f}.letter-print-hint strong{color:#0f4c81}.sticky-letter-actions{position:sticky;bottom:0;z-index:2;margin:0 -20px;padding:13px 20px;background:rgba(255,255,255,.97);border-top:1px solid #cbdbe8;box-shadow:0 -8px 22px rgba(15,23,42,.08)}
@media(max-width:850px){.official-letters-head{display:grid}.official-letter-filters{min-width:0;width:100%;display:grid}.modal-xl{width:100vw;max-height:100vh;border-radius:0}.official-letter-form{max-height:calc(100vh - 105px);padding:12px 12px 0}.sticky-letter-actions{margin:0 -12px;padding:10px 12px;display:grid;grid-template-columns:1fr 1fr}.sticky-letter-actions .button{width:100%}.official-letters-table{min-width:980px}}

/* v0.19 — access governance and system diagnostics */
.global-permission-grid{margin-top:8px;padding-top:10px;border-top:1px dashed rgba(100,116,139,.25)}
.access-profile-summary{margin-top:12px;padding:12px 14px;border:1px solid rgba(59,130,246,.2);border-radius:14px;background:linear-gradient(135deg,rgba(239,246,255,.96),rgba(248,250,252,.96));display:grid;gap:5px;color:#0f172a}
.access-profile-summary b{font-size:.9rem;color:#1d4ed8}.access-profile-summary span{font-size:.78rem;color:#475569;line-height:1.65}
.profile-pill,.scope-pill{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border-radius:999px;font-size:.72rem;font-weight:800;line-height:1.2}
.profile-pill{background:#eef2ff;color:#4338ca;border:1px solid #c7d2fe}
.scope-pill{background:#f1f5f9;color:#334155;border:1px solid #cbd5e1}
.scope-system_full{background:#fee2e2;color:#991b1b;border-color:#fecaca}.scope-all_projects{background:#fef3c7;color:#92400e;border-color:#fde68a}.scope-assigned_projects{background:#dcfce7;color:#166534;border-color:#bbf7d0}.scope-view_only{background:#e2e8f0;color:#475569;border-color:#cbd5e1}
.permission-summary{display:flex;flex-wrap:wrap;gap:5px;max-width:280px}.permission-summary>span:not(.muted){padding:3px 7px;border-radius:8px;background:#eff6ff;color:#1e40af;font-size:.68rem;font-weight:700}.permission-summary small{padding:3px 7px;color:#64748b}
.diagnostics-content{min-height:280px;display:grid;align-content:start;gap:14px}.diagnostic-hero{padding:16px 18px;border-radius:16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.diagnostic-hero b{font-size:1.05rem}.diagnostic-hero span{font-size:.78rem}.diagnostic-hero.healthy{background:linear-gradient(135deg,#dcfce7,#ecfdf5);border:1px solid #86efac;color:#166534}.diagnostic-hero.attention{background:linear-gradient(135deg,#fff7ed,#fef2f2);border:1px solid #fdba74;color:#9a3412}
.diagnostic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.diagnostic-grid article{display:grid;gap:8px;padding:14px;border-radius:14px;border:1px solid rgba(148,163,184,.28);background:rgba(255,255,255,.88);box-shadow:0 8px 22px rgba(15,23,42,.05)}.diagnostic-grid strong{font-size:.74rem;color:#64748b}.diagnostic-grid b{font-size:.95rem;color:#0f172a}.diagnostic-grid small{color:#64748b;line-height:1.5}.diagnostic-recommendations{padding:14px;border-radius:14px;background:#fffbeb;border:1px solid #fde68a}.diagnostic-recommendations p{margin:6px 0;color:#78350f;font-size:.82rem}.loading-state{padding:36px;text-align:center;color:#64748b}
.user-access-basic select,.user-access-basic input{min-height:44px}
@media (max-width:900px){.diagnostic-grid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.diagnostic-grid{grid-template-columns:1fr}.diagnostic-hero{align-items:flex-start;flex-direction:column}.profile-pill,.scope-pill{white-space:normal}}

.password-policy{display:flex;flex-direction:column;gap:.35rem;padding:1rem;border:1px solid rgba(21,101,160,.18);border-radius:14px;background:linear-gradient(135deg,rgba(20,108,167,.08),rgba(202,161,90,.09));color:#17344c}.password-policy span{font-size:.86rem;color:#536a7c}.modal[data-locked="1"] .close-modal{display:none!important}

/* v0.20 usability, approvals, expenses and document governance */
.nav-search{background:#fff!important;border-color:#b9cedd!important;color:#31566e!important;box-shadow:inset 0 0 0 1px rgba(15,76,129,.03)}
.nav-search:focus-within{background:#fff!important;border-color:#38bdf8!important;box-shadow:0 0 0 3px rgba(14,165,233,.16)!important}
.nav-search input{color:#12354c!important;background:#fff!important;font-weight:700!important}
.nav-search input::placeholder{color:#7890a3!important;opacity:1}.nav-search svg{color:#0f659c!important}.nav-search kbd{color:#5b7183!important;background:#eef5f9!important;border-color:#c7d8e4!important}
.approval-inbox-panel{margin:16px 0 22px;padding:18px;border:1px solid #f5c76b;border-radius:18px;background:linear-gradient(145deg,#fffbeb,#fff);box-shadow:0 12px 28px rgba(180,83,9,.08)}
.approval-inbox-panel.hidden{display:none}.approval-inbox-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:13px}.approval-inbox-head h3{margin:4px 0;color:#7c3e09}.approval-inbox-head p{margin:0;color:#7b6248}
.expense-governance-table table{min-width:1500px}.expense-category-chip{display:inline-flex;margin-bottom:5px;padding:4px 7px;border-radius:8px;background:#eaf4fb;color:#0f5f91;font-size:9px;font-weight:900}.expense-notes-cell{min-width:210px;white-space:pre-wrap;line-height:1.6}.expense-confirmed-row{background:linear-gradient(90deg,rgba(220,252,231,.45),transparent)}.expense-draft-row{background:linear-gradient(90deg,rgba(254,249,195,.38),transparent)}.expense-confirmed-by{display:block;margin-top:5px;color:#4b735a}.pending-change-badge{display:block;margin-top:6px;padding:4px 7px;border-radius:8px;background:#ffedd5;color:#9a3412;font-size:9px;font-style:normal;font-weight:900}.expense-confirmation-note{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1px solid #f5d47a;border-radius:13px;background:#fffbea;color:#6f4d0a}.expense-confirmation-note strong{white-space:nowrap}.expense-confirmation-note span{line-height:1.6}.expense-change-summary{display:grid;gap:5px;padding:13px;border:1px solid #cbdce8;border-radius:13px;background:#f7fbfe}.expense-change-summary strong{color:#143c59}.expense-change-summary span{color:#526c80}.expense-change-summary p{margin:3px 0 0;color:#64748b;white-space:pre-wrap}
.letterhead-template-section{background:linear-gradient(135deg,#f4f9fc,#fff)!important;border-color:#bcd4e3!important}.letterhead-template-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.letterhead-template-head h3{margin:0 0 5px!important}.letterhead-template-head p{margin:0;color:#61798b;font-size:11px}.letterhead-status{margin-top:10px;padding:10px 12px;border-radius:11px;background:#edf6fb;color:#31566e;font-size:11px}.letterhead-status strong{color:#0e5c8d}.text-button{border:0;background:transparent;color:#0369a1;text-decoration:underline;cursor:pointer;font:inherit}
.project-stat-row strong{color:#0e3048!important;opacity:1!important}.project-stat-row>div{overflow:visible!important}.project-stat-row>div>strong{font-variant-numeric:tabular-nums}
.workspace-tab{white-space:normal}.official-letter-modal .letter-form-section{border:none!important;box-shadow:none!important}.official-letter-modal .letter-form-section>h3{border:0!important;padding-right:0!important}
@media(max-width:900px){.approval-inbox-head,.letterhead-template-head{display:grid}.expense-governance-table{overflow:auto}}

/* v0.20.1 executive approval inbox visibility */
.top-action.approval{position:relative;background:linear-gradient(135deg,#fff7ed,#ffedd5);color:#c2410c;border-color:#fdba74}
.top-action.approval:hover{background:linear-gradient(135deg,#ffedd5,#fed7aa)}
.dashboard-approval-panel{margin:18px 0;padding:18px;border:1px solid #f5c26b;border-radius:18px;background:linear-gradient(145deg,#fffaf0,#fff7e8);box-shadow:0 12px 30px rgba(180,83,9,.09)}
.dashboard-approval-panel.hidden{display:none}
.dashboard-approval-list{display:grid;gap:10px;margin-top:14px}
.dashboard-approval-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:13px 14px;border:1px solid #fed7aa;border-radius:14px;background:#fff;box-shadow:0 5px 15px rgba(124,45,18,.05)}
.dashboard-approval-card span{display:block;color:#c2410c;font-size:9px;font-weight:900;text-transform:uppercase}
.dashboard-approval-card strong{display:block;margin-top:4px;color:#422006;font-size:13px}
.dashboard-approval-card p{margin:4px 0 0;color:#78716c;font-size:10px}
.approval-inbox-panel{border-color:#f5c26b!important;background:linear-gradient(145deg,#fffaf0,#fff)!important}
.approval-inbox-panel .empty-table{color:#78716c}
@media(max-width:700px){.dashboard-approval-card{grid-template-columns:1fr}.dashboard-approval-card .button{width:100%}}

/* v0.20.2 interactive executive dashboard and review actions */
.dashboard-metric-card{appearance:none;width:100%;font:inherit;text-align:right;cursor:pointer;border:1px solid rgba(var(--metric-rgb),.16);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;background:var(--surface,#fff)}
.dashboard-metric-card:hover,.dashboard-metric-card:focus-visible{transform:translateY(-3px);box-shadow:0 16px 34px rgba(var(--metric-rgb),.18);border-color:rgba(var(--metric-rgb),.5);outline:none}
.dashboard-metric-card small{display:block;margin-top:8px;color:var(--metric-tone);font-size:9px;font-weight:900;opacity:.82}
.dashboard-metric-card .metric-kpi{color:var(--metric-tone)}
.dashboard-project-link{appearance:none;width:100%;border:1px solid transparent;background:transparent;color:inherit;text-align:right;font:inherit;cursor:pointer;transition:background .16s ease,border-color .16s ease,transform .16s ease}
.dashboard-project-link:hover,.dashboard-project-link:focus-visible{background:#f3f8fc;border-color:#9fc3dd;transform:translateX(-2px);outline:none}
.dashboard-project-title{color:#0f4c81;text-decoration:underline;text-decoration-color:rgba(15,76,129,.28);text-underline-offset:3px}
.dashboard-alert-item{display:grid;grid-template-columns:auto minmax(0,1fr);cursor:pointer;border:1px solid transparent;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.dashboard-alert-item:hover,.dashboard-alert-item:focus-visible{transform:translateY(-1px);box-shadow:0 9px 22px rgba(15,42,67,.12);border-color:#9fc3dd;outline:none}
.dashboard-alert-item.unread{background:linear-gradient(135deg,#eff8ff,#fff);border-color:#bae6fd}
.dashboard-alert-copy{min-width:0}.dashboard-alert-copy small{display:block;margin-top:5px;color:#7b8ca0;font-size:9px}.alert-open-hint{display:inline-block;margin-top:7px;color:#0f4c81;font-size:9px;font-weight:900}
.dashboard-alert-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.dashboard-alert-actions .row-action{font-size:9px;padding:6px 9px}.row-action.warning{color:#92400e;background:#fef3c7;border-color:#fcd34d}
.notification-decision-panel .decision-help{margin:0 0 12px;color:#64748b;font-size:10px;line-height:1.6}.notification-decision-panel input{width:100%}.workflow-review-note.revision{background:#eff6ff;border-color:#bfdbfe}.workflow-review-note.revision span{color:#1d4ed8}.workflow-review-note.revision p{color:#1e3a8a}
.notification-action-chip.revision_requested{background:#dbeafe;color:#1d4ed8}
@media(max-width:700px){.dashboard-alert-actions{display:grid;grid-template-columns:repeat(3,1fr)}.dashboard-alert-actions .row-action{width:100%}.dashboard-project-link{grid-template-columns:1fr}.dashboard-metric-card small{font-size:8px}}
.notification-inline-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.notification-inline-actions .row-action{font-size:9px;padding:6px 9px}

/* v0.20.3 — complete approval request details and attachments */
#notificationDetailsModal{width:min(1180px,96vw);max-height:94vh;overflow:auto}
.workflow-entity-details{margin-top:16px;padding:16px;border:1px solid #cbddea;border-radius:18px;background:linear-gradient(145deg,#f8fbff,#fff);box-shadow:0 10px 28px rgba(15,76,129,.07)}
.workflow-entity-title{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid #dbe7ef}.workflow-entity-title span{font-size:10px;font-weight:900;color:#0e7490;letter-spacing:.04em}.workflow-entity-title strong{font-size:16px;color:#123c62;text-align:left}
.workflow-entity-section{padding:12px 0;border-bottom:1px solid #e4edf4}.workflow-entity-section:last-of-type{border-bottom:0}.workflow-entity-section h4,.workflow-attachments-section h4{margin:0 0 10px;color:#123c62;font-size:13px}
.workflow-entity-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.workflow-entity-field{display:grid;gap:5px;align-content:start;padding:10px 11px;border:1px solid #dce8f1;border-radius:12px;background:#fff;min-width:0}.workflow-entity-field.wide{grid-column:1/-1}.workflow-entity-field.financial{border-color:#bfdbfe;background:linear-gradient(145deg,#eff6ff,#fff)}.workflow-entity-field>span{font-size:9px;color:#718196;font-weight:800}.workflow-entity-field>strong{font-size:12px;color:#173b5a;line-height:1.6;word-break:break-word}.workflow-money-value{color:#0f4c81;font-size:14px}.workflow-multiline{white-space:normal;line-height:1.85}.workflow-source-missing{padding:12px;border:1px dashed #f59e0b;border-radius:12px;background:#fffbeb;color:#92400e;font-size:11px}
.workflow-attachments-section{margin-top:14px;padding-top:14px;border-top:2px solid #dbe7ef}.workflow-attachments-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.workflow-attachments-head p{margin:2px 0 10px;color:#64748b;font-size:10px}.workflow-attachment-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.workflow-attachment-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px;border:1px solid #dce7ef;border-radius:14px;background:#fff}.workflow-attachment-card.invoice{border-color:#f59e0b;background:linear-gradient(145deg,#fffbeb,#fff)}.workflow-attachment-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#eaf4fb;color:#0f4c81;font-size:10px;font-weight:950}.workflow-attachment-card.invoice .workflow-attachment-icon{background:#fef3c7;color:#92400e}.workflow-attachment-copy{min-width:0}.workflow-attachment-copy strong,.workflow-attachment-copy span,.workflow-attachment-copy small,.workflow-attachment-copy p{display:block}.workflow-attachment-copy strong{color:#163d60;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workflow-attachment-copy span{margin-top:3px;color:#52677d;font-size:10px}.workflow-attachment-copy small{margin-top:3px;color:#8190a0;font-size:9px}.workflow-attachment-copy p{margin:6px 0 0;color:#52677d;font-size:10px}.workflow-attachment-actions{display:grid;gap:5px}.workflow-no-attachments{padding:14px;border:1px dashed #cbd5e1;border-radius:12px;text-align:center;color:#64748b;background:#f8fafc}
@media(max-width:900px){.workflow-entity-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.workflow-attachment-list{grid-template-columns:1fr}.workflow-entity-title{flex-direction:column}.workflow-entity-title strong{text-align:right}}
@media(max-width:580px){#notificationDetailsModal{width:100vw;max-height:100vh;border-radius:0}.workflow-entity-fields{grid-template-columns:1fr}.workflow-entity-field.wide{grid-column:auto}.workflow-attachment-card{grid-template-columns:38px minmax(0,1fr)}.workflow-attachment-actions{grid-column:2;display:flex}.workflow-entity-details{padding:11px}}

/* v0.20.4 — stable notification typing and governed user-account requests */
.modal-notification,
.notification-composer-form,
.notification-audience-custom,
.notification-drawer,
.notification-list{
  overflow-anchor:none;
  scrollbar-gutter:stable;
}
.users-block{
  min-height:330px;
  overflow-anchor:none;
}
.users-block>input[type="search"]{
  position:sticky;
  top:0;
  z-index:2;
  margin-bottom:10px;
  color:#17324a;
  background:#fff;
}
.recipient-user-grid{
  height:245px;
  min-height:245px;
  max-height:245px;
  align-content:start;
  overflow-y:auto;
  overflow-x:hidden;
  overflow-anchor:none;
  scrollbar-gutter:stable both-edges;
  contain:layout paint;
}
.recipient-user-grid .recipient-empty{
  min-height:210px;
  display:grid;
  place-items:center;
}
.user-account-request-actions{
  grid-column:1/-1;
  display:flex;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:9px;
  padding-top:8px;
}
.user-account-requests-section{
  margin:18px 0;
  padding:15px;
  border:1px solid #cbdbea;
  border-radius:16px;
  background:linear-gradient(145deg,#f8fbff,#fff);
}
.user-account-requests-section .access-directory-head p{
  margin:4px 0 0;
  color:#64748b;
  font-size:11px;
}
.account-request-row td{
  vertical-align:top;
}
.request-status-pill{
  display:inline-flex;
  align-items:center;
  padding:6px 9px;
  border-radius:999px;
  font-size:10px;
  font-weight:900;
  white-space:nowrap;
}
.request-status-pill.status-draft{background:#e2e8f0;color:#334155}
.request-status-pill.status-pending{background:#fef3c7;color:#92400e}
.request-status-pill.status-approved{background:#dcfce7;color:#166534}
.request-status-pill.status-rejected{background:#fee2e2;color:#991b1b}
.request-status-pill.status-revision_requested{background:#ffedd5;color:#9a3412}
.approved-account-name{display:block;margin-top:4px;color:#166534}
.permission-user>b[dir="ltr"]{display:block;color:#0f4c81;font-size:11px;margin-top:2px}
@media(max-width:760px){
  .user-account-request-actions{display:grid;grid-template-columns:1fr}.user-account-request-actions .button{width:100%}
  .users-block{min-height:310px}.recipient-user-grid{height:225px;min-height:225px;max-height:225px}
}

/* v0.20.5 company documents and notification document review */
.document-review-inbox{display:grid;gap:14px;margin-top:16px;padding:15px;border:1px solid #cbd5e1;border-radius:16px;background:linear-gradient(145deg,#f8fafc,#eef6ff)}
.document-review-list{display:grid;gap:10px}.document-review-card{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:start;padding:13px;border:1px solid #dbe7f0;border-radius:14px;background:#fff;box-shadow:0 5px 14px rgba(15,23,42,.05)}
.document-review-file-icon{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1d4ed8;font-size:11px;font-weight:900}
.document-review-copy{display:grid;gap:3px;min-width:0}.document-review-copy strong{color:#102a43}.document-review-copy span,.document-review-copy small{color:#64748b;font-size:10px}.document-review-copy p{margin:3px 0 0;color:#475569;font-size:11px;line-height:1.6}
.document-review-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:310px}.document-review-actions .row-action{white-space:nowrap}
body[data-accent="company-documents"] #showRecordForm{background:linear-gradient(135deg,#0f766e,#0d9488);border-color:transparent;color:#fff;box-shadow:0 9px 22px rgba(15,118,110,.2)}
body[data-accent="company-documents"] #showRecordForm:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(15,118,110,.26)}
@media(max-width:780px){.document-review-card{grid-template-columns:42px 1fr}.document-review-actions{grid-column:1/-1;justify-content:flex-start;max-width:none}}

/* v0.20.6 purchase request pricing and supplier details */
.purchase-total-preview{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 15px;border:1px solid #bfdbfe;border-radius:13px;background:linear-gradient(135deg,#eff6ff,#f8fafc);color:#334155}.purchase-total-preview span{font-weight:700}.purchase-total-preview strong{font-size:18px;color:#0f4c81;direction:ltr}.purchase-requests-table{min-width:1540px}.purchase-requests-table td{vertical-align:top}.purchase-requests-table td:nth-child(5){min-width:220px}.purchase-form-actions{flex-wrap:wrap}.document-count-note{display:block;margin-top:5px;color:#64748b}.project-wide-table{overflow:auto}.project-wide-table table{min-width:1450px}
@media(max-width:760px){.purchase-total-preview{align-items:flex-start;flex-direction:column}.purchase-form-actions{display:grid;grid-template-columns:1fr 1fr}.purchase-form-actions .button{width:100%}}

/* v0.20.8 — dedicated user-account creation and permissions */
.user-account-identity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.user-account-identity-grid>label{display:grid;gap:6px}.user-account-identity-grid>label>span{font-size:12px;font-weight:900;color:#20384f}.user-account-identity-grid>label>small{font-size:10px;color:#718096}.user-account-identity-grid .wide{grid-column:1/-1}.user-account-form-status{min-height:42px;margin:10px 0 0;padding:10px 13px;border-radius:12px;border:1px solid #c4b5fd;background:#f5f3ff;color:#4c1d95;font-weight:800}.user-account-request-actions{display:flex;flex-wrap:wrap;gap:10px;position:sticky;bottom:0;z-index:4;padding:14px 0;background:rgba(255,255,255,.97);border-top:1px solid #dbe5ee}.button.success{background:linear-gradient(135deg,#16a34a,#15803d);color:#fff;border-color:transparent;box-shadow:0 8px 20px rgba(22,163,74,.2)}.button.success:hover{transform:translateY(-1px)}
.user-account-launch-card{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:18px;padding:20px;margin-bottom:18px;border:1px solid #c4b5fd;border-radius:20px;background:linear-gradient(135deg,#faf5ff,#eef2ff);box-shadow:0 12px 30px rgba(124,58,237,.08)}.user-account-launch-card h3{margin:4px 0 6px;color:#3b1b72}.user-account-launch-card p{margin:0;color:#64748b}.user-account-launch-icon{width:58px;height:58px;border-radius:17px;display:grid;place-items:center;font-size:30px;font-weight:900;color:#fff;background:linear-gradient(135deg,#7c3aed,#4f46e5);box-shadow:0 10px 24px rgba(79,70,229,.24)}.users-workspace-section{margin-top:16px;border:1px solid #dbe5ee;border-radius:18px;background:#fff;overflow:hidden}.users-workspace-section .access-directory-head{padding:15px 16px;border-bottom:1px solid #e7eef5}.users-workspace-section table{margin:0}.users-workspace-section td small{display:block;margin-top:3px;color:#718096}
#projectPermissionsModal{width:min(1320px,96vw);max-height:95vh}#projectPermissionsModal>.approval-notice{margin:14px 18px 0}#projectPermissionsModal .user-access-form{padding:16px 18px}.user-account-requests-section{margin-top:18px}
@media(max-width:820px){.user-account-identity-grid{grid-template-columns:1fr}.user-account-launch-card{grid-template-columns:50px 1fr}.user-account-launch-card>.button{grid-column:1/-1}.user-account-request-actions{display:grid;grid-template-columns:1fr 1fr}.user-account-request-actions .button{width:100%}}

/* v0.20.9 immutable approval decision archive */
.approval-history-button{background:linear-gradient(135deg,#0f766e,#0d9488)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 8px 18px rgba(13,148,136,.2)}
.approval-status-tabs{display:grid;grid-template-columns:repeat(5,minmax(135px,1fr));gap:9px;margin:14px 0}.approval-status-tab{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid #cbd5e1;border-radius:13px;background:#fff;color:#334155;padding:11px 13px;font-weight:800;cursor:pointer;transition:.18s ease}.approval-status-tab b{min-width:27px;height:27px;border-radius:999px;display:grid;place-items:center;background:#e2e8f0;color:#334155;font-size:11px}.approval-status-tab:hover{transform:translateY(-1px);border-color:#94a3b8}.approval-status-tab.active{border-color:#f59e0b;background:#fff7ed;color:#9a4b08;box-shadow:0 8px 20px rgba(245,158,11,.13)}.approval-status-tab.approved.active{border-color:#22c55e;background:#f0fdf4;color:#166534}.approval-status-tab.approved.active b{background:#dcfce7;color:#166534}.approval-status-tab.rejected.active{border-color:#ef4444;background:#fef2f2;color:#991b1b}.approval-status-tab.rejected.active b{background:#fee2e2;color:#991b1b}.approval-status-tab.revision.active{border-color:#f97316;background:#fff7ed;color:#9a3412}.approval-status-tab.revision.active b{background:#ffedd5;color:#9a3412}.approval-status-tab.all.active{border-color:#6366f1;background:#eef2ff;color:#3730a3}.approval-status-tab.all.active b{background:#e0e7ff;color:#3730a3}
.approval-archive-controls{display:grid;grid-template-columns:minmax(220px,.35fr) minmax(280px,1fr);gap:10px;margin-bottom:10px}.approval-archive-notice{display:flex;align-items:center;gap:10px;padding:11px 13px;margin-bottom:12px;border:1px dashed #0d9488;border-radius:13px;background:#f0fdfa;color:#315b58}.approval-archive-notice strong{color:#0f766e;white-space:nowrap}.approval-archive-notice span{font-size:11px}.approval-archive-table td{vertical-align:top}.approval-archive-table td:nth-child(1){min-width:250px}.approval-archive-table td:nth-child(2){min-width:170px}.approval-archive-table td small{display:block;margin-top:4px;color:#64748b}.immutable-copy-chip{display:inline-flex;margin-top:7px;border-radius:999px;padding:3px 8px;background:#ccfbf1;color:#115e59;font-size:9px;font-style:normal;font-weight:900}.decision-note{max-width:250px;white-space:normal;line-height:1.55}.status-pill.danger{background:#fee2e2;color:#991b1b}.status-pill.warning{background:#ffedd5;color:#9a3412}.workflow-archive-banner{display:flex;align-items:center;gap:10px;margin:12px 0;padding:11px 13px;border:1px solid #99f6e4;border-radius:12px;background:#f0fdfa;color:#315b58}.workflow-archive-banner strong{color:#0f766e;white-space:nowrap}.workflow-archive-banner span{font-size:11px;line-height:1.6}
@media(max-width:980px){.approval-status-tabs{grid-template-columns:repeat(2,minmax(140px,1fr))}.approval-status-tab.all{grid-column:1/-1}.approval-archive-controls{grid-template-columns:1fr}.approval-archive-table{min-width:1120px}}
@media(max-width:560px){.approval-status-tabs{grid-template-columns:1fr}.approval-status-tab.all{grid-column:auto}.approval-archive-notice,.workflow-archive-banner{align-items:flex-start;flex-direction:column}}

/* v0.21.0 reliability, request-state synchronization, AI drafting, and alert ergonomics */
.dashboard-alerts-panel{display:flex;flex-direction:column;min-height:430px;max-height:430px;overflow:hidden}
.dashboard-alerts-panel .panel-header{flex:0 0 auto}.dashboard-alerts-panel .alerts-list{flex:1 1 auto;min-height:0;overflow-y:auto;padding-inline-end:6px;scrollbar-gutter:stable}.dashboard-alerts-panel .alerts-list::-webkit-scrollbar{width:8px}.dashboard-alerts-panel .alerts-list::-webkit-scrollbar-thumb{background:#b8c9d8;border-radius:999px}.dashboard-alerts-panel .alerts-list::-webkit-scrollbar-track{background:#edf3f8;border-radius:999px}
.alert-item,.notification-item{position:relative}.alert-item .alert-dot{background:#64748b}.alert-item.decision-pending .alert-dot,.notification-item.decision-pending::before{background:#2563eb}.alert-item.decision-approved .alert-dot,.notification-item.decision-approved::before{background:#16a34a}.alert-item.decision-rejected .alert-dot,.notification-item.decision-rejected::before{background:#dc2626}.alert-item.decision-revision .alert-dot,.notification-item.decision-revision::before{background:#f59e0b}.alert-item.decision-neutral .alert-dot,.notification-item.decision-neutral::before{background:#94a3b8}
.notification-item{padding-inline-start:28px}.notification-item::before{content:"";position:absolute;inset-inline-start:11px;top:17px;width:9px;height:9px;border-radius:50%;background:#94a3b8;box-shadow:0 0 0 4px rgba(148,163,184,.12)}
.review-state-note{display:inline-flex;align-items:center;min-height:30px;padding:5px 9px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:10px;font-weight:900;white-space:nowrap}

/* Entire visible button surface is clickable; decorative children never capture pointer events. */
button,.button,.row-action,.top-action,.text-button,.nav-item,.project-menu-item,.metric-card,.progress-row{position:relative;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
button>*,.button>*,.row-action>*,.top-action>*,.text-button>*,.nav-item>*,.project-menu-item>*,.metric-card>*,.progress-row>*{pointer-events:none}
button::before,button::after,.button::before,.button::after,.row-action::before,.row-action::after{pointer-events:none}
.row-action,.button{display:inline-flex;align-items:center;justify-content:center;min-height:34px;line-height:1.2}.row-action{padding:8px 11px}.icon-button{display:grid;place-items:center;min-width:38px;min-height:38px}

.official-letter-ai-section{border-color:#a5b4fc;background:linear-gradient(145deg,#eef2ff,#ffffff)}.letter-ai-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:12px}.letter-ai-head h3{margin:0 0 4px;color:#3730a3}.letter-ai-head p{margin:0;color:#64748b;line-height:1.65}.ai-feature-status{flex:0 0 auto;padding:6px 10px;border-radius:999px;background:#e0e7ff;color:#3730a3;font-size:10px;font-weight:900}.letter-ai-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.letter-ai-grid .wide{grid-column:1/-1}.letter-ai-actions{display:flex;flex-wrap:wrap;gap:8px}.official-letter-ai-section textarea{background:#fff;min-height:92px}

.purchase-review-header{background:linear-gradient(135deg,#0b2741,#0f4c81 60%,#1e88c9);color:#fff}.purchase-review-header .eyebrow,.purchase-review-header .modal-subtitle{color:#d7ebfb}.purchase-review-content{display:grid;gap:15px;padding:18px;max-height:64vh;overflow:auto;background:#f5f9fc}.purchase-review-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.purchase-review-summary>div{padding:11px;border:1px solid #dbe7f1;border-radius:12px;background:#fff}.purchase-review-summary>div.wide{grid-column:1/-1}.purchase-review-summary span{display:block;color:#64748b;font-size:9px}.purchase-review-summary strong{display:block;margin-top:5px;color:#163a59}.purchase-workflow-state{display:grid;gap:5px;padding:13px;border:1px solid #fdba74;border-radius:13px;background:#fff7ed}.purchase-workflow-state strong{color:#9a3412}.purchase-workflow-state span{color:#7c2d12;font-size:11px}.purchase-workflow-state p{margin:3px 0 0;white-space:pre-wrap}.purchase-review-decision{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px 18px;border-top:1px solid #dbe7f1;background:#fff}.purchase-review-decision.hidden{display:none}.purchase-review-decision .form-actions{grid-column:1/-1}

@media(max-width:900px){.dashboard-alerts-panel{min-height:360px;max-height:360px}.letter-ai-grid,.purchase-review-summary,.purchase-review-decision{grid-template-columns:1fr}.purchase-review-summary>div.wide,.purchase-review-decision .form-actions{grid-column:1}.letter-ai-head{display:grid}}

/* v0.21.1 user account governance and immediate refresh */
.recently-created-user{animation:recent-account-pulse 2.8s ease;background:rgba(34,197,94,.12)!important;outline:2px solid rgba(34,197,94,.35);outline-offset:-2px}
@keyframes recent-account-pulse{0%,35%{background:rgba(34,197,94,.28);box-shadow:inset 0 0 0 2px rgba(34,197,94,.5)}100%{background:rgba(34,197,94,.08);box-shadow:none}}
.user-edit-section{margin-top:4px;padding-top:6px;border-top:1px solid rgba(148,163,184,.28)}
#userAccountApprovalNotice{position:relative;z-index:1}
#quickUserGlobalSection.hidden{display:none}

/* v0.21.2 — alert legend and governed operational archive */
.dashboard-alerts-panel .alerts-list{border-bottom:1px solid #dbe6ef;padding-bottom:8px}
.alert-status-legend{flex:0 0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 12px;padding:10px 4px 0;margin-top:6px;font-size:10px;font-weight:800;color:#42566a}
.alert-status-legend span{display:flex;align-items:center;gap:7px;white-space:nowrap}
.legend-dot{display:inline-block;width:13px;height:13px;border-radius:50%;box-shadow:0 0 0 3px rgba(148,163,184,.14)}
.legend-dot.pending{background:#2563eb}.legend-dot.approved{background:#16a34a}.legend-dot.rejected{background:#dc2626}.legend-dot.revision{background:#f59e0b}
.alert-item .alert-dot{width:13px;height:13px;margin-top:4px;box-shadow:0 0 0 3px rgba(148,163,184,.12)}
.archive-toggle-button{background:linear-gradient(135deg,#475569,#1e293b)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 7px 17px rgba(30,41,59,.15)}
.archive-toggle-button.active{background:linear-gradient(135deg,#b45309,#d97706)!important}
.archived-record-row{background:linear-gradient(90deg,#fff7ed,#fff)}
.archived-record-row td{border-bottom-color:#fed7aa!important}
.archive-reason-note{display:block;margin-top:6px;padding:5px 7px;border-radius:8px;background:#fff1e6;color:#9a3412;font-size:9px;font-style:normal;line-height:1.5}
.restore-state-text{display:block;margin-top:5px;color:#7c5b36;font-size:9px;font-weight:800;max-width:170px;line-height:1.45}
#recordArchiveActionNotice{background:linear-gradient(135deg,#fff7ed,#fffbeb);border-color:#fdba74}
#recordArchiveActionNotice b{color:#9a3412}
.row-action:disabled{cursor:not-allowed;opacity:.58;transform:none!important}
@media(max-width:700px){.alert-status-legend{grid-template-columns:1fr}.legend-dot{width:14px;height:14px}.alert-status-legend span{font-size:9px}}

/* v0.21.3 purchase approvals, attachments, printing and archive visibility */
.purchase-inline-attachments{border:1px solid #b9d4e8;border-radius:14px;background:linear-gradient(135deg,#f8fbff,#edf7ff);padding:14px;display:grid;gap:12px}.purchase-attachment-heading strong{display:block;color:#0f4c81;font-size:14px}.purchase-attachment-heading span{display:block;color:#64748b;font-size:11px;margin-top:3px}.purchase-attachment-controls{display:grid;grid-template-columns:minmax(190px,.35fr) minmax(280px,1fr);gap:10px}.purchase-file-picker input[type=file]{background:#fff;border:1px dashed #6fa9d1;padding:10px}.purchase-attachment-summary{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap;border-radius:10px;background:#fff;padding:9px 11px;color:#475569;font-size:11px}.purchase-attachment-summary strong{color:#0f4c81}.purchase-attachment-summary span{max-width:100%;overflow-wrap:anywhere}.approval-print-button,.approval-print-action{background:linear-gradient(135deg,#166534,#22c55e)!important;color:#fff!important;border-color:transparent!important}.purchase-review-record-actions{display:flex;gap:10px;flex-wrap:wrap;padding:12px 18px;border-top:1px solid #d7e4ee;background:#f8fbfd}.purchase-review-summary>div:first-child{grid-column:span 1}.purchase-review-summary .wide{grid-column:1/-1}
@media(max-width:720px){.purchase-attachment-controls{grid-template-columns:1fr}.purchase-review-record-actions{display:grid;grid-template-columns:1fr}.purchase-review-record-actions .button{width:100%}}

/* v0.21.4 project-manager assignment controls */
.project-full-access-option{display:flex!important;align-items:center;gap:7px;padding:7px 9px;border:1px solid #bfdbfe;border-radius:10px;background:#eff6ff;color:#1e3a8a;font-size:10px;font-weight:900;cursor:pointer;white-space:nowrap}.project-full-access-option input{width:16px!important;height:16px!important}.project-full-access-option.recommended{border-color:#22c55e;background:#f0fdf4;color:#166534}.project-full-access-option:has(input:checked){border-color:#16a34a;background:#dcfce7;color:#14532d;box-shadow:0 0 0 2px rgba(34,197,94,.12)}
.project-access-option{grid-template-columns:auto minmax(150px,1fr) 145px minmax(150px,auto) auto}
@media(max-width:850px){.project-access-option{grid-template-columns:auto 1fr}.project-access-option select,.project-full-access-option{grid-column:2}.project-access-option em{grid-column:2}}

/* v0.21.6 persistent data and project-account selector */
.project-picker-source{display:none!important}
.project-picker-launcher{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px;border:1px solid #cbdbea;border-radius:14px;background:linear-gradient(145deg,#f8fbff,#eef6fc)}
.project-picker-summary{display:grid;gap:4px;min-width:0}.project-picker-summary b{color:#14324a;font-size:13px}.project-picker-summary span{color:#64748b;font-size:11px;line-height:1.6;white-space:normal}.project-picker-summary.all-projects-selected{padding-right:10px;border-right:4px solid #16a34a}.project-picker-summary.all-projects-selected b{color:#166534}
.project-account-picker-body{display:grid;gap:14px;padding:18px;max-height:68vh;overflow:auto;background:#f7fafc}
.all-projects-access-card{display:flex;gap:12px;align-items:flex-start;padding:15px;border:2px solid #86efac;border-radius:15px;background:linear-gradient(135deg,#f0fdf4,#dcfce7);cursor:pointer}.all-projects-access-card input{margin-top:4px;width:20px;height:20px}.all-projects-access-card span{display:grid;gap:4px}.all-projects-access-card b{color:#166534}.all-projects-access-card small{color:#3f6212;line-height:1.6}
.project-picker-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:8px;position:sticky;top:0;z-index:2;padding:9px;border:1px solid #d7e3ec;border-radius:12px;background:rgba(255,255,255,.96);box-shadow:0 6px 18px rgba(15,42,67,.07)}
.project-account-picker-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.project-picker-card{display:grid;grid-template-columns:auto 10px minmax(0,1fr);gap:10px;align-items:center;padding:13px;border:1px solid #cfdae4;border-radius:14px;background:#fff;cursor:pointer;transition:.18s ease;position:relative}.project-picker-card:hover{border-color:#60a5fa;transform:translateY(-1px);box-shadow:0 8px 18px rgba(37,99,235,.09)}.project-picker-card.selected{border-color:#2563eb;background:linear-gradient(145deg,#eff6ff,#fff);box-shadow:0 0 0 2px rgba(37,99,235,.08)}
.project-picker-card>.project-picker-check{width:20px;height:20px}.project-picker-color{width:8px;height:44px;border-radius:8px;background:var(--project-color,#2563eb)}.project-picker-info{display:grid;gap:2px;min-width:0}.project-picker-info b{font-size:10px;color:#2563eb}.project-picker-info strong{font-size:12px;color:#0f2b43;white-space:normal}.project-picker-info small{font-size:9px;color:#64748b}.project-picker-full{grid-column:3;display:flex;gap:6px;align-items:center;padding-top:7px;margin-top:4px;border-top:1px dashed #d7e3ec;color:#334155;font-size:10px}.project-picker-full input{width:16px;height:16px}
@media(max-width:800px){.project-picker-launcher{grid-template-columns:1fr}.project-picker-launcher .button{width:100%}.project-picker-toolbar{grid-template-columns:1fr 1fr}.project-picker-toolbar input{grid-column:1/-1}.project-account-picker-list{grid-template-columns:1fr}}

/* v0.21.7 — project access, alert filters, and unified printing */
.alert-legend.filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:11px 12px;border-top:1px solid #d9e4ed;background:#f8fbfd}
.alert-filter-chip{position:relative;display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:7px 11px;border:1px solid #cad8e5;border-radius:999px;background:#fff;color:#334155;font:700 11px Tahoma,Arial,sans-serif;cursor:pointer;z-index:2}
.alert-filter-chip:hover,.alert-filter-chip.active{border-color:#2563eb;background:#eff6ff;color:#1d4ed8;box-shadow:0 5px 14px rgba(37,99,235,.12)}
.alert-filter-chip b{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#e2e8f0;color:#334155;font-size:10px}
.legend-dot{display:inline-block;width:14px;height:14px;border-radius:50%;flex:0 0 14px;box-shadow:0 0 0 3px rgba(148,163,184,.14)}
.legend-dot.pending{background:#2563eb}.legend-dot.approved{background:#16a34a}.legend-dot.rejected{background:#dc2626}.legend-dot.revision{background:#f97316}
.legend-dot.all-colors{background:conic-gradient(#2563eb 0 25%,#16a34a 25% 50%,#dc2626 50% 75%,#f97316 75% 100%)}
.project-portal-identity-button{width:100%;border:0;text-align:right;cursor:pointer;position:relative;z-index:2}.project-portal-identity-button>*{pointer-events:none}.project-portal-projects{padding:8px 10px 4px}.project-portal-project-list{display:grid;gap:7px}.project-portal-project-button{position:relative;display:grid;grid-template-columns:10px 54px minmax(0,1fr);align-items:center;gap:7px;width:100%;min-height:42px;border:1px solid #d7e2eb;border-radius:11px;background:#fff;color:#334155;text-align:right;padding:7px 9px;cursor:pointer;z-index:2}.project-portal-project-button>*{pointer-events:none}.project-portal-project-button>span{width:8px;height:28px;border-radius:99px;background:var(--project-color)}.project-portal-project-button b{font-size:10px;color:#64748b}.project-portal-project-button strong{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-portal-project-button:hover,.project-portal-project-button.active{border-color:var(--project-color,#2563eb);background:#f8fbff;box-shadow:0 6px 16px rgba(15,76,129,.1)}
.notification-print-panel{margin-top:12px;padding:12px;border:1px solid #b9d4e8;border-radius:13px;background:linear-gradient(135deg,#f8fbff,#eef7ff)}.notification-print-panel .button{width:100%;min-height:42px}
.company-print-template-controls{position:relative;z-index:3}.company-print-template-controls button,.company-print-template-controls label{pointer-events:auto}
.row-action,.button,.icon-button,.nav-item,.project-portal-nav{position:relative;z-index:2}.row-action>* ,.button>* ,.icon-button>* ,.nav-item>*{pointer-events:none}
@media(max-width:720px){.alert-filter-chip{flex:1 1 calc(50% - 8px);justify-content:center}.project-portal-project-button{grid-template-columns:9px 45px minmax(0,1fr)}}

/* v0.21.8 simplified account creation */
.simplified-user-form{gap:14px;padding:18px}.simple-account-section{border:1px solid #d6e2ec;border-radius:18px;background:#fff;padding:18px;box-shadow:0 8px 22px rgba(15,42,67,.06)}.simple-account-heading{display:flex;justify-content:space-between;gap:16px;margin-bottom:14px}.simple-account-heading h3{margin:3px 0;color:#12304a}.simple-account-heading p{margin:0;color:#64748b;font-size:12px}.simple-account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.simple-account-grid .wide{grid-column:1/-1}.simple-email-field em{font-style:normal;font-size:10px;color:#64748b}.project-selection-section{background:linear-gradient(145deg,#f7fbff,#fff)}.simple-primary-project{display:block;max-width:440px;margin-top:12px}.simple-advanced-toggle{justify-self:start;border:0;background:transparent;color:#2563eb;font-weight:800;cursor:pointer;padding:6px 2px}.simple-account-advanced{border:1px dashed #a9bdd0;border-radius:15px;background:#f8fafc;padding:15px}.advanced-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.simplified-actions{position:sticky;bottom:0;z-index:3;background:rgba(255,255,255,.96);border-top:1px solid #d7e1ea;padding:13px;margin:0 -18px -18px}.user-account-secondary-panel{margin-top:12px;border:1px solid #d7e1ea;border-radius:14px;background:#fff;overflow:hidden}.user-account-secondary-panel>summary{cursor:pointer;padding:14px 17px;font-weight:900;color:#173b5a;background:#f5f9fc}.user-account-secondary-panel[open]>summary{border-bottom:1px solid #d7e1ea}.user-account-secondary-panel>*:not(summary){margin:14px}.simplified-user-form #quickUserProjectsSection.hidden,.simplified-user-form #quickUserAdvancedSettings.hidden{display:none!important}
@media(max-width:760px){.simple-account-grid,.advanced-grid{grid-template-columns:1fr}.simple-account-grid .wide{grid-column:auto}.simplified-actions{display:grid;grid-template-columns:1fr 1fr}.simplified-actions .button{width:100%}}

/* ============================================================
   v0.22.0 — Multi-company theme library and separated sidebar groups
   ============================================================ */
:root{
  --theme-sidebar-start:#041f3a;--theme-sidebar-end:#073763;
  --theme-login-start:#052b50;--theme-login-mid:#073763;--theme-login-end:#0b5e9e;
  --theme-accent:#caa15a;--theme-accent-rgb:202,161,90;--theme-canvas:#f3f6f9;--theme-surface:#ffffff;
}
html[data-app-theme="logo"]{
  --navy-950:#041F3A;--navy-900:#073763;--navy-800:#0C4F86;--navy-700:#2D80BF;
  --blue-100:#DDEFFC;--blue-50:#F4F9FD;--gold:#CAA15A;--gold-light:#F1D9AA;
  --theme-sidebar-start:#041F3A;--theme-sidebar-end:#073763;
  --theme-login-start:#052B50;--theme-login-mid:#073763;--theme-login-end:#0B5E9E;
  --theme-accent:#CAA15A;--theme-accent-rgb:202,161,90;--theme-canvas:#F3F6F9;
  --ink:#11283D;--muted:#647789;--line:#D7E0E8;
}
html[data-app-theme="blueprint"]{
  --navy-950:#031D36;--navy-900:#062F58;--navy-800:#075985;--navy-700:#0284C7;
  --blue-100:#D9F0FD;--blue-50:#F1F7FB;--gold:#38BDF8;--gold-light:#BAE6FD;
  --theme-sidebar-start:#031D36;--theme-sidebar-end:#075985;
  --theme-login-start:#031D36;--theme-login-mid:#075985;--theme-login-end:#0EA5E9;
  --theme-accent:#38BDF8;--theme-accent-rgb:56,189,248;--theme-canvas:#F1F7FB;
  --ink:#123047;--muted:#60798D;--line:#D3E2EC;
}
html[data-app-theme="graphite"]{
  --navy-950:#111827;--navy-900:#202936;--navy-800:#374151;--navy-700:#596579;
  --blue-100:#F3E8C8;--blue-50:#FAF7EF;--gold:#D7B36F;--gold-light:#F3DFB0;
  --theme-sidebar-start:#111827;--theme-sidebar-end:#2B3442;
  --theme-login-start:#111827;--theme-login-mid:#2B3442;--theme-login-end:#4B5563;
  --theme-accent:#D7B36F;--theme-accent-rgb:215,179,111;--theme-canvas:#F4F4F2;
  --ink:#202936;--muted:#687386;--line:#D9DDE3;
}
html[data-app-theme="desert"]{
  --navy-950:#2F1D14;--navy-900:#4A2F20;--navy-800:#764524;--navy-700:#A35F2D;
  --blue-100:#F7E5D2;--blue-50:#FDF8F1;--gold:#E1AD62;--gold-light:#F5DBAD;
  --theme-sidebar-start:#2F1D14;--theme-sidebar-end:#633C25;
  --theme-login-start:#3A2418;--theme-login-mid:#6F4327;--theme-login-end:#AA6B34;
  --theme-accent:#E1AD62;--theme-accent-rgb:225,173,98;--theme-canvas:#F7F1E9;
  --ink:#34261F;--muted:#78695E;--line:#E5D8CA;
}
html[data-app-theme="emerald"]{
  --navy-950:#032E2A;--navy-900:#054B43;--navy-800:#087568;--navy-700:#0F9F8D;
  --blue-100:#DFF7F1;--blue-50:#F0FBF8;--gold:#95C86D;--gold-light:#D9F2C5;
  --theme-sidebar-start:#032E2A;--theme-sidebar-end:#075F55;
  --theme-login-start:#032E2A;--theme-login-mid:#075F55;--theme-login-end:#0F9F8D;
  --theme-accent:#95C86D;--theme-accent-rgb:149,200,109;--theme-canvas:#F0F7F5;
  --ink:#153632;--muted:#5E7773;--line:#D5E5E1;
}
html[data-app-theme="ocean"]{
  --navy-950:#061E2D;--navy-900:#082F49;--navy-800:#075985;--navy-700:#0284C7;
  --blue-100:#DDF4FC;--blue-50:#F2FAFD;--gold:#22D3EE;--gold-light:#CFFAFE;
  --theme-sidebar-start:#061E2D;--theme-sidebar-end:#075985;
  --theme-login-start:#061E2D;--theme-login-mid:#0369A1;--theme-login-end:#06B6D4;
  --theme-accent:#22D3EE;--theme-accent-rgb:34,211,238;--theme-canvas:#F0F8FB;
  --ink:#0F3040;--muted:#607D8B;--line:#D5E5EC;
}
html[data-app-theme="royal"]{
  --navy-950:#1E1B4B;--navy-900:#312E81;--navy-800:#3730A3;--navy-700:#4F46E5;
  --blue-100:#E0E7FF;--blue-50:#F5F6FF;--gold:#F5C451;--gold-light:#FDE9A9;
  --theme-sidebar-start:#1E1B4B;--theme-sidebar-end:#312E81;
  --theme-login-start:#1E1B4B;--theme-login-mid:#4338CA;--theme-login-end:#6366F1;
  --theme-accent:#F5C451;--theme-accent-rgb:245,196,81;--theme-canvas:#F4F5FA;
  --ink:#25234D;--muted:#6B6A89;--line:#DCDCED;
}
html[data-app-theme="violet"]{
  --navy-950:#2E0249;--navy-900:#3B0764;--navy-800:#5B21B6;--navy-700:#7C3AED;
  --blue-100:#F0E5FF;--blue-50:#FBF7FF;--gold:#EC4899;--gold-light:#FBCFE8;
  --theme-sidebar-start:#2E0249;--theme-sidebar-end:#5B21B6;
  --theme-login-start:#2E0249;--theme-login-mid:#6D28D9;--theme-login-end:#C026D3;
  --theme-accent:#EC4899;--theme-accent-rgb:236,72,153;--theme-canvas:#F8F4FA;
  --ink:#3A2145;--muted:#79667F;--line:#E4D9E8;
}
html[data-app-theme="burgundy"]{
  --navy-950:#34030F;--navy-900:#4C0519;--navy-800:#881337;--navy-700:#9F1239;
  --blue-100:#FBE3EA;--blue-50:#FFF6F8;--gold:#D4A574;--gold-light:#F1D7BA;
  --theme-sidebar-start:#34030F;--theme-sidebar-end:#6B0F2A;
  --theme-login-start:#34030F;--theme-login-mid:#881337;--theme-login-end:#BE123C;
  --theme-accent:#D4A574;--theme-accent-rgb:212,165,116;--theme-canvas:#F8F2F3;
  --ink:#3B2028;--muted:#7B6269;--line:#E8D7DB;
}
html[data-app-theme="copper"]{
  --navy-950:#2A0D05;--navy-900:#431407;--navy-800:#7C2D12;--navy-700:#9A3412;
  --blue-100:#F7E2D8;--blue-50:#FEF8F5;--gold:#D97706;--gold-light:#FCD9A5;
  --theme-sidebar-start:#2A0D05;--theme-sidebar-end:#6B250F;
  --theme-login-start:#2A0D05;--theme-login-mid:#9A3412;--theme-login-end:#C2410C;
  --theme-accent:#D97706;--theme-accent-rgb:217,119,6;--theme-canvas:#F8F3EF;
  --ink:#3A241B;--muted:#7A665C;--line:#E7DBD4;
}
html[data-app-theme="forest"]{
  --navy-950:#031B0D;--navy-900:#052E16;--navy-800:#14532D;--navy-700:#166534;
  --blue-100:#DCF7E5;--blue-50:#F3FBF5;--gold:#84CC16;--gold-light:#E3F5B5;
  --theme-sidebar-start:#031B0D;--theme-sidebar-end:#14532D;
  --theme-login-start:#031B0D;--theme-login-mid:#166534;--theme-login-end:#15803D;
  --theme-accent:#84CC16;--theme-accent-rgb:132,204,22;--theme-canvas:#F1F7F2;
  --ink:#173A22;--muted:#617767;--line:#D7E5DA;
}
html[data-app-theme="teal"]{
  --navy-950:#02201F;--navy-900:#042F2E;--navy-800:#115E59;--navy-700:#0F766E;
  --blue-100:#D8F5F2;--blue-50:#F1FBFA;--gold:#2DD4BF;--gold-light:#CCFBF1;
  --theme-sidebar-start:#02201F;--theme-sidebar-end:#115E59;
  --theme-login-start:#02201F;--theme-login-mid:#0F766E;--theme-login-end:#14B8A6;
  --theme-accent:#2DD4BF;--theme-accent-rgb:45,212,191;--theme-canvas:#F0F8F7;
  --ink:#173B39;--muted:#5E7A77;--line:#D4E7E4;
}
html[data-app-theme="steel"]{
  --navy-950:#0F172A;--navy-900:#1E293B;--navy-800:#334155;--navy-700:#475569;
  --blue-100:#E2E8F0;--blue-50:#F8FAFC;--gold:#38BDF8;--gold-light:#BAE6FD;
  --theme-sidebar-start:#0F172A;--theme-sidebar-end:#334155;
  --theme-login-start:#0F172A;--theme-login-mid:#334155;--theme-login-end:#64748B;
  --theme-accent:#38BDF8;--theme-accent-rgb:56,189,248;--theme-canvas:#F1F5F9;
  --ink:#1E293B;--muted:#64748B;--line:#D8E0E8;
}
html[data-app-theme="slate"]{
  --navy-950:#1E293B;--navy-900:#334155;--navy-800:#475569;--navy-700:#64748B;
  --blue-100:#E8EDF2;--blue-50:#FAFBFC;--gold:#94A3B8;--gold-light:#E2E8F0;
  --theme-sidebar-start:#1E293B;--theme-sidebar-end:#475569;
  --theme-login-start:#1E293B;--theme-login-mid:#475569;--theme-login-end:#64748B;
  --theme-accent:#94A3B8;--theme-accent-rgb:148,163,184;--theme-canvas:#F5F6F8;
  --ink:#273443;--muted:#687584;--line:#DCE1E7;
}
html[data-app-theme="sunrise"]{
  --navy-950:#431407;--navy-900:#7C2D12;--navy-800:#C2410C;--navy-700:#EA580C;
  --blue-100:#FEE6D7;--blue-50:#FFF9F4;--gold:#FACC15;--gold-light:#FEF3A7;
  --theme-sidebar-start:#431407;--theme-sidebar-end:#9A3412;
  --theme-login-start:#431407;--theme-login-mid:#C2410C;--theme-login-end:#F97316;
  --theme-accent:#FACC15;--theme-accent-rgb:250,204,21;--theme-canvas:#FAF5EF;
  --ink:#452B20;--muted:#7B695F;--line:#E8DDD5;
}
html[data-app-theme="rose"]{
  --navy-950:#350318;--navy-900:#500724;--navy-800:#9D174D;--navy-700:#BE185D;
  --blue-100:#FCE1EC;--blue-50:#FFF6FA;--gold:#FB7185;--gold-light:#FFE4E6;
  --theme-sidebar-start:#350318;--theme-sidebar-end:#831843;
  --theme-login-start:#350318;--theme-login-mid:#9D174D;--theme-login-end:#DB2777;
  --theme-accent:#FB7185;--theme-accent-rgb:251,113,133;--theme-canvas:#F9F3F6;
  --ink:#40222F;--muted:#7A6470;--line:#E7D9DF;
}
html[data-app-theme="monochrome"]{
  --navy-950:#030712;--navy-900:#111827;--navy-800:#374151;--navy-700:#4B5563;
  --blue-100:#E5E7EB;--blue-50:#FAFAFA;--gold:#D1D5DB;--gold-light:#F3F4F6;
  --theme-sidebar-start:#030712;--theme-sidebar-end:#1F2937;
  --theme-login-start:#030712;--theme-login-mid:#1F2937;--theme-login-end:#4B5563;
  --theme-accent:#D1D5DB;--theme-accent-rgb:209,213,219;--theme-canvas:#F3F4F6;
  --ink:#111827;--muted:#6B7280;--line:#D7DADF;
}
html[data-app-theme="highcontrast"]{
  --navy-950:#000000;--navy-900:#111111;--navy-800:#1F2937;--navy-700:#1D4ED8;
  --blue-100:#DBEAFE;--blue-50:#FFFFFF;--gold:#FDE047;--gold-light:#FEF9C3;
  --theme-sidebar-start:#000000;--theme-sidebar-end:#111827;
  --theme-login-start:#000000;--theme-login-mid:#1E3A8A;--theme-login-end:#1D4ED8;
  --theme-accent:#FDE047;--theme-accent-rgb:253,224,71;--theme-canvas:#FFFFFF;
  --ink:#000000;--muted:#374151;--line:#9CA3AF;
}
html{background:var(--theme-canvas)}
body{background:var(--theme-canvas)}
.login-screen{background:var(--theme-surface)}
.login-visual{
  background:
    radial-gradient(circle at 16% 18%,rgba(var(--theme-accent-rgb),.34),transparent 25%),
    linear-gradient(135deg,var(--theme-login-start) 0%,var(--theme-login-mid) 48%,var(--theme-login-end) 100%);
}
.sidebar{
  background:
    radial-gradient(circle at 20% 8%,rgba(var(--theme-accent-rgb),.12),transparent 28%),
    linear-gradient(180deg,var(--theme-sidebar-start),var(--theme-sidebar-end));
}
.hero-strip{
  background:
    radial-gradient(circle at 15% 30%,rgba(var(--theme-accent-rgb),.25),transparent 25%),
    linear-gradient(120deg,var(--theme-sidebar-start),var(--theme-login-end));
}
.user-mini .avatar{background:var(--theme-accent)}

/* Clear visual separation between the major sidebar sections. */
.nav-group{
  position:relative;
  overflow:hidden;
  margin:7px 0 11px;
  border:1px solid rgba(var(--group-rgb),.24);
  border-inline-start:4px solid var(--group-tone);
  background:
    linear-gradient(135deg,rgba(var(--group-rgb),.15),rgba(var(--group-rgb),.045) 58%,rgba(0,0,0,.055));
  box-shadow:inset 0 1px rgba(255,255,255,.035),0 5px 15px rgba(0,0,0,.08);
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease;
}
.nav-group::after{
  content:"";
  position:absolute;
  inset-inline-end:-34px;
  top:-38px;
  width:90px;
  height:90px;
  border-radius:50%;
  background:rgba(var(--group-rgb),.075);
  pointer-events:none;
}
.nav-group:hover,.nav-group.open{
  border-color:rgba(var(--group-rgb),.42);
  background:linear-gradient(135deg,rgba(var(--group-rgb),.20),rgba(var(--group-rgb),.065) 64%,rgba(0,0,0,.055));
  box-shadow:inset 0 1px rgba(255,255,255,.045),0 8px 20px rgba(var(--group-rgb),.08);
}
.nav-group-toggle{
  position:relative;
  z-index:1;
  min-height:50px;
  background:linear-gradient(90deg,rgba(var(--group-rgb),.08),transparent 70%);
}
.nav-group-toggle:hover{background:linear-gradient(90deg,rgba(var(--group-rgb),.16),rgba(255,255,255,.02))}
.group-code{
  color:#fff;
  border-color:rgba(var(--group-rgb),.48);
  background:linear-gradient(145deg,rgba(var(--group-rgb),.72),rgba(var(--group-rgb),.28));
  box-shadow:0 4px 12px rgba(var(--group-rgb),.14);
}
.group-copy strong{color:#fff}.group-copy small{color:var(--group-light);opacity:.62}.group-count,.group-chevron{color:var(--group-light);opacity:.65}
.nav-group-items{position:relative;z-index:1;padding:5px 5px 7px}
.sidebar-collapsed .nav-group{border-inline-start-width:3px;margin-bottom:7px}
.sidebar-collapsed .nav-group-toggle{background:rgba(var(--group-rgb),.08)}

/* Theme selector shown before login. */
.login-theme-section{margin-top:16px;padding:12px;border:1px solid var(--line);border-radius:16px;background:var(--blue-50)}
.theme-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:9px}
.theme-section-heading>span{font-size:12px;font-weight:900;color:var(--navy-900)}
.theme-section-heading small{max-width:250px;color:var(--muted);font-size:9px;line-height:1.5;text-align:left}
.login-theme-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;max-height:238px;overflow:auto;scrollbar-gutter:stable;padding:2px}
.theme-choice{min-width:0;padding:8px 5px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);text-align:center;transition:.18s ease}
.theme-choice:hover{transform:translateY(-1px);border-color:var(--theme-accent);box-shadow:0 6px 14px rgba(var(--theme-accent-rgb),.12)}
.theme-choice.active{border-color:var(--theme-accent);box-shadow:0 0 0 3px rgba(var(--theme-accent-rgb),.14);background:linear-gradient(145deg,#fff,var(--blue-50))}
.theme-choice b,.theme-choice small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.theme-choice b{font-size:9px;margin-top:5px}.theme-choice small{font-size:7px;color:var(--muted);margin-top:2px}
.theme-swatch{height:20px;display:flex;overflow:hidden;border-radius:7px;box-shadow:inset 0 0 0 1px rgba(15,23,42,.09)}.theme-swatch i{flex:1}
.theme-logo i:nth-child(1){background:#073763}.theme-logo i:nth-child(2){background:#2D80BF}.theme-logo i:nth-child(3){background:#CAA15A}
.theme-blueprint i:nth-child(1){background:#062F58}.theme-blueprint i:nth-child(2){background:#0EA5E9}.theme-blueprint i:nth-child(3){background:#38BDF8}
.theme-graphite i:nth-child(1){background:#202936}.theme-graphite i:nth-child(2){background:#64748B}.theme-graphite i:nth-child(3){background:#D7B36F}
.theme-desert i:nth-child(1){background:#4A2F20}.theme-desert i:nth-child(2){background:#A35F2D}.theme-desert i:nth-child(3){background:#E1AD62}
.theme-emerald i:nth-child(1){background:#054B43}.theme-emerald i:nth-child(2){background:#0F9F8D}.theme-emerald i:nth-child(3){background:#95C86D}
.theme-ocean i:nth-child(1){background:#082F49}.theme-ocean i:nth-child(2){background:#0284C7}.theme-ocean i:nth-child(3){background:#22D3EE}
.theme-royal i:nth-child(1){background:#312E81}.theme-royal i:nth-child(2){background:#4F46E5}.theme-royal i:nth-child(3){background:#F5C451}
.theme-violet i:nth-child(1){background:#3B0764}.theme-violet i:nth-child(2){background:#7C3AED}.theme-violet i:nth-child(3){background:#EC4899}
.theme-burgundy i:nth-child(1){background:#4C0519}.theme-burgundy i:nth-child(2){background:#9F1239}.theme-burgundy i:nth-child(3){background:#D4A574}
.theme-copper i:nth-child(1){background:#431407}.theme-copper i:nth-child(2){background:#9A3412}.theme-copper i:nth-child(3){background:#D97706}
.theme-forest i:nth-child(1){background:#052E16}.theme-forest i:nth-child(2){background:#166534}.theme-forest i:nth-child(3){background:#84CC16}
.theme-teal i:nth-child(1){background:#042F2E}.theme-teal i:nth-child(2){background:#0F766E}.theme-teal i:nth-child(3){background:#2DD4BF}
.theme-steel i:nth-child(1){background:#1E293B}.theme-steel i:nth-child(2){background:#475569}.theme-steel i:nth-child(3){background:#38BDF8}
.theme-slate i:nth-child(1){background:#334155}.theme-slate i:nth-child(2){background:#64748B}.theme-slate i:nth-child(3){background:#94A3B8}
.theme-sunrise i:nth-child(1){background:#7C2D12}.theme-sunrise i:nth-child(2){background:#EA580C}.theme-sunrise i:nth-child(3){background:#FACC15}
.theme-rose i:nth-child(1){background:#500724}.theme-rose i:nth-child(2){background:#BE185D}.theme-rose i:nth-child(3){background:#FB7185}
.theme-monochrome i:nth-child(1){background:#111827}.theme-monochrome i:nth-child(2){background:#4B5563}.theme-monochrome i:nth-child(3){background:#D1D5DB}
.theme-highcontrast i:nth-child(1){background:#000000}.theme-highcontrast i:nth-child(2){background:#1D4ED8}.theme-highcontrast i:nth-child(3){background:#FDE047}

/* Theme selector available after login. */
.sidebar-theme-picker{display:grid;grid-template-columns:1fr;gap:6px;margin-top:10px;padding:10px;border:1px solid rgba(255,255,255,.11);border-radius:14px;background:rgba(255,255,255,.055)}
.sidebar-theme-picker>span{color:var(--gold-light);font-size:9px;font-weight:900;letter-spacing:.04em}
.sidebar-theme-picker select{height:36px;padding:7px 9px;border-color:rgba(255,255,255,.14);background:rgba(0,0,0,.20);color:#fff;font-size:10px}
.sidebar-theme-picker select option{color:#111827;background:#fff}
.sidebar-collapsed .sidebar-theme-picker{display:none}

@media(max-width:980px){.login-theme-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:720px){
  .login-theme-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-height:260px}
  .theme-section-heading{display:grid}.theme-section-heading small{text-align:right}
}

/* v0.22.1 automatic project completion date */
input[readonly][type="date"]{background:color-mix(in srgb,var(--surface,#fff) 82%,var(--accent,#2563eb) 18%);color:var(--text,#0f172a);font-weight:800;cursor:not-allowed}

/* v0.22.3 — project overview cards are fully interactive */
.project-overview-action,
.project-overview-media-action,
.project-identity-action,
.project-manager-action,
.project-overview-ring-action,
.project-panel-heading-action,
.project-facts>button,
.financial-bars>button,
.section-title-action,
.project-photo-action{
  font:inherit;color:inherit;text-align:inherit;border:0;appearance:none;-webkit-appearance:none;cursor:pointer;
}
.project-overview-action{position:relative;width:100%;min-width:0;text-align:right;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease}
.project-overview-action:hover,.project-overview-action:focus-visible{transform:translateY(-3px);border-color:color-mix(in srgb,var(--workspace-primary,#2563eb) 48%,#dce7f3);box-shadow:0 14px 28px color-mix(in srgb,var(--workspace-primary,#2563eb) 15%,transparent);background:linear-gradient(145deg,#fff,color-mix(in srgb,var(--workspace-primary,#2563eb) 7%,white));outline:none}
.project-card-open-hint{display:block;margin-top:8px;color:var(--workspace-primary,#2563eb);font-size:8px;font-style:normal;font-weight:900;opacity:.78}
.project-overview-action:hover .project-card-open-hint{opacity:1}
.project-full-cover.project-overview-media-action{padding:0;position:relative;width:100%;transition:transform .18s ease,box-shadow .18s ease}
.project-full-cover.project-overview-media-action>em{position:absolute;inset:auto 10px 10px;z-index:2;padding:7px 9px;border-radius:10px;background:rgba(7,25,45,.78);color:#fff;font-size:9px;font-style:normal;font-weight:900;opacity:0;transform:translateY(5px);transition:.18s ease}
.project-full-cover.project-overview-media-action:hover{transform:translateY(-2px);box-shadow:0 14px 26px rgba(15,23,42,.2)}
.project-full-cover.project-overview-media-action:hover>em,.project-full-cover.project-overview-media-action:focus-visible>em{opacity:1;transform:none}
.project-identity-action{display:grid;width:100%;padding:5px 0;background:transparent;border-radius:12px;transition:background .16s ease,padding .16s ease}
.project-identity-action:hover,.project-identity-action:focus-visible{background:color-mix(in srgb,var(--workspace-primary,#2563eb) 7%,white);padding-inline:10px;outline:none}
.project-identity-action>span{font-size:11px;font-weight:900;color:#2563eb}.project-identity-action h2{margin:4px 0;color:#0f2745}.project-identity-action p{margin:0;color:#64748b}.project-identity-action>em{font-style:normal;color:var(--workspace-primary,#2563eb);font-size:9px;font-weight:900;margin-top:5px}
.full-manager.project-manager-action{background:transparent;padding:6px;border-radius:14px;transition:background .16s ease,transform .16s ease}
.full-manager.project-manager-action:hover,.full-manager.project-manager-action:focus-visible{background:color-mix(in srgb,var(--workspace-primary,#2563eb) 8%,white);transform:translateY(-1px);outline:none}
.full-manager.project-manager-action i{display:block;font-style:normal;font-size:8px;color:var(--workspace-primary,#2563eb);margin-top:3px}
.project-overview-ring-action{border:0!important;cursor:pointer;position:relative;transition:transform .16s ease,filter .16s ease}
.project-overview-ring-action:hover,.project-overview-ring-action:focus-visible{transform:scale(1.045);filter:drop-shadow(0 9px 13px rgba(15,23,42,.16));outline:none}
.project-overview-ring-action>em{position:absolute;bottom:17px;font-style:normal;font-size:7px;color:var(--workspace-primary,#2563eb);font-weight:900}
.project-overview-panel{overflow:hidden}.project-panel-heading-action{display:flex;width:100%;padding:0;background:transparent;text-align:right;border-radius:12px}.project-panel-heading-action:hover,.project-panel-heading-action:focus-visible{background:color-mix(in srgb,var(--workspace-primary,#2563eb) 6%,white);outline:none}.project-panel-heading-action small,.project-overview-panel>.panel-header small{display:block;color:var(--workspace-primary,#2563eb);font-size:8px;margin-top:4px;font-weight:900}
.project-facts>button,.project-facts>a{display:block;text-decoration:none;padding:12px;border-radius:12px;background:#f4f8fc;color:inherit;text-align:right;transition:transform .15s ease,background .15s ease,box-shadow .15s ease}
.project-facts>button:hover,.project-facts>a:hover,.project-facts>button:focus-visible,.project-facts>a:focus-visible{transform:translateY(-2px);background:color-mix(in srgb,var(--workspace-primary,#2563eb) 8%,white);box-shadow:0 9px 18px rgba(15,23,42,.08);outline:none}
.project-facts button span,.project-facts a span{display:block;color:#7c8c9f;font-size:9px}.project-facts button b,.project-facts a b{display:block;margin-top:5px;color:#193752;font-size:12px}.project-facts button em,.project-facts a em{display:block;margin-top:6px;color:var(--workspace-primary,#2563eb);font-style:normal;font-size:8px;font-weight:900}
.financial-bars>button{display:grid;grid-template-columns:1fr auto;gap:8px;width:100%;padding:10px;border-radius:13px;background:#f8fafc;text-align:right;transition:transform .15s ease,background .15s ease,box-shadow .15s ease}
.financial-bars>button:hover,.financial-bars>button:focus-visible{transform:translateY(-2px);background:color-mix(in srgb,var(--workspace-primary,#2563eb) 7%,white);box-shadow:0 9px 18px rgba(15,23,42,.08);outline:none}.financial-bars>button i{grid-column:1/-1}.financial-bars>button small{grid-column:1/-1;color:var(--workspace-primary,#2563eb);font-size:8px;font-weight:900}
.section-title-action{display:block;background:transparent;padding:5px 0;text-align:right;border-radius:10px}.section-title-action:hover,.section-title-action:focus-visible{background:color-mix(in srgb,var(--workspace-primary,#2563eb) 6%,white);padding-inline:8px;outline:none}.section-title-action h3,.section-title-action p{margin-block:0 4px}.section-title-action small{color:var(--workspace-primary,#2563eb);font-size:8px;font-weight:900}
.photo-card.project-photo-action{width:100%;text-align:right;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.photo-card.project-photo-action:hover,.photo-card.project-photo-action:focus-visible{transform:translateY(-3px);border-color:color-mix(in srgb,var(--workspace-primary,#2563eb) 45%,#dbe5ec);box-shadow:0 14px 27px rgba(15,23,42,.12);outline:none}.photo-card.project-photo-action em{display:block;margin-top:6px;color:var(--workspace-primary,#2563eb);font-size:8px;font-style:normal;font-weight:900}
.project-overview-action>*,.project-overview-media-action>*,.project-identity-action>*,.project-manager-action>*,.project-overview-ring-action>*,.project-panel-heading-action>*,.project-facts>button>*,.financial-bars>button>*,.section-title-action>*,.project-photo-action>*{pointer-events:none}
@media(max-width:560px){.project-full-profile{gap:13px}.project-overview-ring-action{justify-self:center}.project-card-open-hint{font-size:9px}}

/* v0.22.4 — official correspondence numbering, folders, scanner inbox, and AI archive */
.field-help{display:block;margin-top:5px;color:#64748b;font-size:10px;line-height:1.5}.official-letter-folders{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:0 0 16px}.official-folder-card{position:relative;display:grid;grid-template-columns:34px 1fr auto;grid-template-areas:"icon title count" "icon code count";align-items:center;gap:2px 9px;min-height:72px;padding:11px 13px;border:1px solid #c9dbea;border-radius:15px;background:linear-gradient(145deg,#fff,#f5f9fd);color:#17324a;text-align:right;cursor:pointer;box-shadow:0 6px 18px rgba(15,76,129,.06);transition:.18s ease}.official-folder-card:hover,.official-folder-card.active{transform:translateY(-2px);border-color:var(--accent,#2563eb);box-shadow:0 10px 24px rgba(37,99,235,.14)}.official-folder-card.active{background:linear-gradient(145deg,rgba(var(--theme-command-rgb,37,99,235),.13),#fff)}.official-folder-card .folder-icon{grid-area:icon;width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#e8f1fa;color:#0f4c81}.official-folder-card strong{grid-area:title}.official-folder-card small{grid-area:code;color:#64748b}.official-folder-card b{grid-area:count;min-width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#0f4c81;color:#fff}.signed-copy-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;background:#dcfce7;color:#166534;font-size:10px;font-weight:800}
.correspondence-archive-panel{margin:20px 0;padding:18px;border:1px solid #c9dbea;border-radius:20px;background:linear-gradient(145deg,#f9fcff,#eef6fb);box-shadow:0 12px 30px rgba(15,76,129,.07)}.correspondence-archive-panel.hidden{display:none}.correspondence-archive-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}.correspondence-archive-head h3{margin:4px 0;color:#102f4c}.correspondence-archive-head p{margin:0;color:#64748b}.archive-head-actions{display:flex;gap:8px;flex-wrap:wrap}.correspondence-archive-filters{display:grid;grid-template-columns:180px 220px 1fr;gap:8px;margin-bottom:12px}.correspondence-archive-table th{white-space:nowrap}.correspondence-archive-table td{vertical-align:top}.correspondence-archive-table td:nth-child(4){min-width:260px}.correspondence-archive-table td p{margin:5px 0 0;color:#64748b;font-size:10px;line-height:1.55}.archive-seq{font-size:18px;color:#0f4c81}.direction-chip{display:inline-flex;padding:5px 10px;border-radius:999px;font-size:10px;font-weight:900}.direction-chip.outgoing{background:#dbeafe;color:#1d4ed8}.direction-chip.incoming{background:#fef3c7;color:#92400e}.ai-analyzed-chip{display:block;margin-top:5px;color:#7c3aed;font-weight:800}.correspondence-modal-header{background:linear-gradient(135deg,#0b3558,#0f6b78 60%,#148e8a);color:#fff}.correspondence-modal-header .eyebrow,.correspondence-modal-header .modal-subtitle{color:#d8f3f2}.correspondence-archive-form{padding:18px;max-height:calc(94vh - 112px);overflow:auto}.correspondence-file-drop{border:1px dashed #7aa7c7;border-radius:14px;padding:13px;background:#f6fbff}.pending-file-list{display:grid;gap:7px}.archive-file-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px;border:1px solid #d6e3ee;border-radius:11px;background:#fff}.archive-file-row strong,.archive-file-row small{display:block}.ai-archive-actions{display:flex;align-items:center;gap:12px;padding:12px;border-radius:14px;background:linear-gradient(135deg,#f3e8ff,#eef6ff);border:1px solid #ddd6fe}.ai-archive-actions span{color:#5b4b73;font-size:11px}.ai-button{background:linear-gradient(135deg,#7c3aed,#2563eb)!important;color:#fff!important}.check-card{display:flex!important;align-items:center;gap:9px;min-height:48px;padding:10px 12px;border:1px solid #d3dfeb;border-radius:12px;background:#fff}.check-card input{width:18px;height:18px}.archive-detail-files{margin-top:14px;padding-top:12px;border-top:1px solid #d7e1ea}.scanner-modal-header{background:linear-gradient(135deg,#172554,#1e3a8a,#2563eb);color:#fff}.scanner-modal-header .eyebrow,.scanner-modal-header .modal-subtitle{color:#dbeafe}.scanner-inbox-body{padding:18px;display:grid;gap:14px}.scanner-path-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:12px;border:1px solid #c7d7e6;border-radius:14px;background:#f8fbfe}.scanner-path-card code{direction:ltr;text-align:left;padding:7px 9px;border-radius:8px;background:#e6eef6;color:#12324d;overflow:auto}.scanner-path-card>div{display:flex;gap:7px}.scanner-import-options{padding:12px;border:1px solid #d6e2ec;border-radius:14px;background:#fff}.scanner-file-list{display:grid;gap:8px;max-height:360px;overflow:auto;padding:3px}.scanner-file-card{display:grid;grid-template-columns:auto 46px 1fr;align-items:center;gap:10px;padding:10px;border:1px solid #d7e2ec;border-radius:12px;background:#fff;cursor:pointer}.scanner-file-card:has(input:checked){border-color:#2563eb;background:#eff6ff}.scanner-file-card input{width:18px;height:18px}.scanner-file-type{width:44px;height:38px;display:grid;place-items:center;border-radius:9px;background:#dbeafe;color:#1e40af;font-size:9px;font-weight:900}.scanner-file-card strong,.scanner-file-card small{display:block}.scanner-file-card small{color:#64748b;margin-top:3px}
@media(max-width:900px){.correspondence-archive-head{display:grid}.correspondence-archive-filters{grid-template-columns:1fr}.scanner-path-card{grid-template-columns:1fr}.scanner-path-card>div{flex-wrap:wrap}.ai-archive-actions{align-items:flex-start;flex-direction:column}.official-letter-folders{grid-template-columns:1fr 1fr}.correspondence-archive-table{min-width:1150px}}
@media(max-width:560px){.official-letter-folders{grid-template-columns:1fr}.archive-head-actions{display:grid;width:100%}.archive-head-actions .button{width:100%}}

/* v0.22.6 — correspondence delivery history and fully theme-derived row separation */
.communication-settings-button{background:linear-gradient(135deg,var(--theme-accent),var(--navy-700));color:#fff;border:0;box-shadow:0 8px 18px rgba(var(--theme-accent-rgb),.2)}
.communication-settings-header{background:linear-gradient(135deg,var(--theme-sidebar-start),var(--theme-sidebar-end));color:#fff}.communication-settings-header .eyebrow,.communication-settings-header .modal-subtitle{color:rgba(255,255,255,.76)}
.communication-settings-form{display:grid;gap:14px;padding:18px;background:var(--theme-canvas);max-height:calc(92vh - 105px);overflow:auto}.communication-config-card{padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.05)}.communication-config-title{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:12px;margin-bottom:14px}.communication-config-title h3{margin:0;color:var(--navy-900)}.communication-config-title p{margin:3px 0 0;color:var(--muted);font-size:10px}.channel-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;font-size:21px;font-weight:900}.channel-icon.email{background:#e0f2fe;color:#0369a1}.channel-icon.whatsapp{background:#dcfce7;color:#15803d}.config-state{padding:5px 9px;border-radius:999px;background:#f1f5f9;color:#64748b;font-size:9px;font-weight:900}.config-state.ready{background:#dcfce7;color:#166534}
.correspondence-send-header{background:linear-gradient(135deg,var(--theme-sidebar-start),var(--theme-login-end));color:#fff}.correspondence-send-header .eyebrow,.correspondence-send-header .modal-subtitle{color:rgba(255,255,255,.78)}.correspondence-send-form{display:grid;gap:14px;padding:18px;background:var(--theme-canvas);max-height:calc(94vh - 108px);overflow:auto}.send-context-card{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.send-context-card>div{padding:11px 12px;border:1px solid var(--line);border-radius:13px;background:#fff}.send-context-card span,.send-context-card strong{display:block}.send-context-card span{font-size:9px;color:var(--muted)}.send-context-card strong{margin-top:4px;color:var(--navy-900)}
.send-channel-tabs{display:grid;grid-template-columns:1fr 1fr;gap:10px}.send-channel-tab{display:flex;align-items:center;justify-content:center;gap:9px;padding:13px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);font-weight:900}.send-channel-tab span{font-size:20px}.send-channel-tab.active{border-color:var(--theme-accent);background:linear-gradient(145deg,rgba(var(--theme-accent-rgb),.15),#fff);box-shadow:0 0 0 3px rgba(var(--theme-accent-rgb),.10)}.send-channel-fields,.send-message-field,.send-files-section{padding:14px;border:1px solid var(--line);border-radius:15px;background:#fff}.send-message-field{display:grid;gap:7px}.channel-mode-notice{align-self:end;padding:10px 12px;border-radius:12px;background:var(--blue-50);color:var(--muted)}.channel-mode-notice strong,.channel-mode-notice span{display:block}.channel-mode-notice strong{color:var(--navy-900)}.channel-mode-notice span{margin-top:3px;font-size:9px}
.send-files-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}.send-files-head h3{margin:0;color:var(--navy-900)}.send-files-head p{margin:3px 0 0;color:var(--muted);font-size:10px}.send-file-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.send-file-card{display:grid;grid-template-columns:auto 44px 1fr;align-items:center;gap:9px;padding:10px;border:1px solid var(--line);border-radius:12px;background:#f8fafc;cursor:pointer}.send-file-card:has(input:checked){border-color:var(--navy-700);background:rgba(var(--theme-accent-rgb),.09)}.send-file-card input{width:18px;height:18px}.send-file-icon{width:42px;height:34px;display:grid;place-items:center;border-radius:9px;background:var(--navy-900);color:#fff;font-size:9px;font-weight:900}.send-file-card strong,.send-file-card small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.send-file-card small{margin-top:3px;color:var(--muted);font-size:9px}
.dispatch-history-section{padding:14px;border:1px solid var(--line);border-radius:15px;background:#fff}.dispatch-history-list{display:grid;gap:8px}.dispatch-history-row{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;padding:9px 11px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}.dispatch-history-row.sent{border-inline-start:5px solid var(--green)}.dispatch-history-row.failed{border-inline-start:5px solid var(--red)}.dispatch-history-row .dispatch-channel-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:color-mix(in srgb,var(--theme-accent) 16%,#fff);color:var(--navy-900);font-size:17px}.dispatch-history-row strong,.dispatch-history-row small{display:block}.dispatch-history-row small{margin-top:3px;color:var(--muted);font-size:9px}.dispatch-history-row p{margin:5px 0 0;color:var(--red);font-size:9px}.dispatch-history-row>b{padding:5px 8px;border-radius:999px;background:#dcfce7;color:#166534;font-size:9px}.dispatch-history-row.failed>b{background:#fee2e2;color:#991b1b}
.official-letters-table tbody tr.correspondence-color-bar,.correspondence-archive-table tbody tr.correspondence-color-bar{position:relative;--row-accent:var(--navy-700);background:color-mix(in srgb,var(--row-accent) 9%,#fff);transition:.18s ease}.official-letters-table tbody tr.correspondence-color-bar td:first-child,.correspondence-archive-table tbody tr.correspondence-color-bar td:first-child{border-right:7px solid var(--row-accent)}.official-letters-table tbody tr.bar-1,.correspondence-archive-table tbody tr.bar-1{--row-accent:var(--navy-700)}.official-letters-table tbody tr.bar-2,.correspondence-archive-table tbody tr.bar-2{--row-accent:var(--theme-accent)}.official-letters-table tbody tr.bar-3,.correspondence-archive-table tbody tr.bar-3{--row-accent:var(--theme-sidebar-end)}.official-letters-table tbody tr.bar-4,.correspondence-archive-table tbody tr.bar-4{--row-accent:var(--theme-login-end)}.official-letters-table tbody tr.bar-5,.correspondence-archive-table tbody tr.bar-5{--row-accent:var(--theme-login-mid)}.official-letters-table tbody tr.correspondence-color-bar:hover,.correspondence-archive-table tbody tr.correspondence-color-bar:hover{background:color-mix(in srgb,var(--row-accent) 14%,#fff);box-shadow:inset 0 0 0 1px var(--row-accent)}
@media(max-width:850px){.send-context-card{grid-template-columns:1fr 1fr}.send-file-grid{grid-template-columns:1fr}.communication-config-title{grid-template-columns:42px 1fr}.communication-config-title .config-state{grid-column:2}.send-channel-tabs{grid-template-columns:1fr}.correspondence-send-form,.communication-settings-form{padding:11px}.official-letters-table tbody tr.correspondence-color-bar td:first-child,.correspondence-archive-table tbody tr.correspondence-color-bar td:first-child{border-right-width:5px}}

/* v0.22.8 — installable mobile PWA */
html,body{overscroll-behavior-y:none}.network-status-banner{position:fixed;z-index:260;right:50%;bottom:calc(18px + env(safe-area-inset-bottom));transform:translateX(50%);display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:9px;width:min(520px,calc(100vw - 28px));padding:10px 12px;border:1px solid #fecaca;border-radius:14px;background:#fff1f2;color:#881337;box-shadow:0 16px 40px rgba(76,5,25,.2)}.network-status-banner>span{width:10px;height:10px;border-radius:50%;background:#e11d48;box-shadow:0 0 0 5px rgba(225,29,72,.12)}.network-status-banner strong{font-size:11px}.network-status-banner button{border:0;border-radius:9px;padding:7px 10px;background:#881337;color:#fff;font-size:10px;font-weight:900}.install-app-login{width:100%;display:grid;grid-template-columns:46px 1fr;align-items:center;gap:11px;margin-top:10px;padding:10px 12px;border:1px solid #bfd5e7;border-radius:14px;background:linear-gradient(135deg,#f8fbff,#eaf4fb);color:var(--navy-900);text-align:right}.install-app-login img{width:44px;height:44px;border-radius:12px}.install-app-login strong,.install-app-login small{display:block}.install-app-login small{margin-top:3px;color:var(--muted);font-size:9px}.sidebar-install-button{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:9px;width:calc(100% - 20px);margin:6px 10px 9px;padding:9px;border:1px solid rgba(255,255,255,.15);border-radius:13px;background:linear-gradient(135deg,rgba(var(--theme-accent-rgb),.2),rgba(255,255,255,.05));color:#fff;text-align:right}.sidebar-install-button img{width:36px;height:36px;border-radius:10px}.sidebar-install-button strong,.sidebar-install-button small{display:block}.sidebar-install-button strong{font-size:10px}.sidebar-install-button small{margin-top:2px;color:rgba(255,255,255,.58);font-size:8px}.sidebar-install-button>b{display:grid;place-items:center;width:26px;height:26px;border-radius:9px;background:var(--theme-accent);color:var(--theme-sidebar-start);font-size:16px}.install-help-panel{position:fixed;z-index:270;right:50%;bottom:calc(18px + env(safe-area-inset-bottom));transform:translateX(50%);display:grid;grid-template-columns:56px 1fr;align-items:center;gap:12px;width:min(460px,calc(100vw - 28px));padding:15px 42px 15px 15px;border:1px solid rgba(255,255,255,.15);border-radius:18px;background:linear-gradient(135deg,#041f3a,#073763);color:#fff;box-shadow:0 24px 70px rgba(4,31,58,.38)}.install-help-panel img{width:54px;height:54px;border-radius:14px}.install-help-panel strong,.install-help-panel p{display:block}.install-help-panel p{margin:4px 0 0;color:rgba(255,255,255,.7);font-size:10px;line-height:1.65}.install-help-close{position:absolute;top:7px;right:7px;width:29px;height:29px;border:0;border-radius:9px;background:rgba(255,255,255,.09);color:#fff;font-size:19px}.sidebar-system-card.offline{border-color:rgba(251,113,133,.34);background:rgba(127,29,29,.18)}.sidebar-system-card.offline .system-pulse{background:#fb7185;box-shadow:0 0 0 5px rgba(251,113,133,.12)}
@media(display-mode:standalone){.install-app-login,.sidebar-install-button{display:none!important}.topbar{padding-top:env(safe-area-inset-top);height:calc(88px + env(safe-area-inset-top))}.sidebar-brand{padding-top:calc(16px + env(safe-area-inset-top))}.sidebar-footer{padding-bottom:calc(14px + env(safe-area-inset-bottom))}}
@supports(-webkit-touch-callout:none){body{min-height:-webkit-fill-available}}
@media(max-width:720px){button,.button,.row-action,.nav-item{touch-action:manipulation}.network-status-banner{bottom:calc(10px + env(safe-area-inset-bottom))}.install-help-panel{bottom:calc(10px + env(safe-area-inset-bottom));grid-template-columns:48px 1fr;padding:13px 38px 13px 13px}.install-help-panel img{width:46px;height:46px}.topbar{padding-inline:max(14px,env(safe-area-inset-left)) max(14px,env(safe-area-inset-right))}.view{padding-inline:max(14px,env(safe-area-inset-left)) max(14px,env(safe-area-inset-right))}}

/* v0.22.9 — complete desktop/mobile responsive normalization */
.main-content,.view,.panel,.table-card,.workspace-shell,.project-workspace,.project-workspace-content{min-width:0}
.mobile-scroll-table{width:100%}
@media(max-width:980px){
  body{overflow-x:hidden}.app-shell,.main-content,.view{width:100%;max-width:100%}.sidebar{height:100dvh;max-height:100dvh}.main-nav{overscroll-behavior:contain}.main-content:before{inset-inline:0}
  .view{padding:18px 14px calc(34px + env(safe-area-inset-bottom))}.panel{padding:16px;border-radius:16px}.dashboard-grid,.dashboard-grid.lower{gap:12px}.project-cards-grid{grid-template-columns:1fr}.project-card{padding:14px}
  .topbar{height:auto;min-height:76px;padding-block:10px;gap:9px}.topbar-title{min-width:0;flex:1}.topbar-title>div:last-child{min-width:0}.topbar h1{max-width:48vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breadcrumb{max-width:48vw;overflow:hidden;white-space:nowrap}.topbar-actions{flex:0 0 auto}.topbar-actions .button{white-space:nowrap}
  #openGlobalDocuments,#manageCompanyPrintTemplate,#previewCompanyPrintTemplate{display:none!important}
  .hero-strip{min-height:0;padding:22px;border-radius:17px}.hero-strip h2{font-size:23px}.hero-strip p{font-size:12px;line-height:1.8}.section-toolbar,.panel-header,.project-page-heading,.access-directory-head,.official-letters-head,.correspondence-archive-head{align-items:stretch}
  .toolbar-actions,.archive-head-actions,.boq-action-cluster{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:5px;scrollbar-width:thin}.toolbar-actions>.button,.archive-head-actions>.button,.boq-action-cluster>.button{flex:0 0 auto;white-space:nowrap}
  .filter-bar,.workspace-controls,.correspondence-archive-filters{grid-template-columns:1fr}.filter-bar>*{min-width:0}.report-grid,.document-grid,.photo-gallery,.lifecycle-flow{grid-template-columns:1fr}
  .modal-backdrop{padding:0;align-items:stretch}.modal,.modal-xl,.modal-xxl{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0}.modal-header{position:sticky;top:0;z-index:12;padding:16px 14px;background:#fff}.modal-header h2{font-size:20px}.modal-subtitle{font-size:10px;line-height:1.55}.modal form,.modal-body{max-width:100%}.form-grid,.simple-account-grid,.advanced-grid,.quick-user-form,.letter-ai-grid,.purchase-review-summary,.purchase-review-decision{grid-template-columns:1fr}.form-grid{padding:14px;gap:12px}.form-grid .wide,.simple-account-grid .wide,.purchase-review-summary>div.wide,.purchase-review-decision .form-actions{grid-column:auto}.modal form>.form-actions{position:sticky;bottom:0;z-index:10;margin-inline:-14px;padding:11px 14px calc(11px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid var(--line);box-shadow:0 -8px 24px rgba(15,23,42,.08)}
  .official-letter-form,.correspondence-archive-form,.correspondence-send-form,.communication-settings-form,.purchase-review-content{max-height:calc(100dvh - 82px);padding:12px}.letter-form-section,.communication-config-card,.send-channel-fields,.send-message-field,.send-files-section,.dispatch-history-section{padding:12px}.letter-body-field textarea{min-height:42dvh}
  .project-workspace-layout{gap:12px}.project-workspace-menu{position:static}.project-workspace-head,.project-overview-hero{padding:15px}.project-workspace-tools{width:100%}.project-workspace-tools input{width:100%;min-width:0}.project-mini-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.project-overview-grid{grid-template-columns:1fr}
  .document-center-toolbar,.document-search-wrap{align-items:stretch}.document-search-wrap{min-width:0;width:100%}.document-search-wrap input,.document-search-wrap select{width:100%;min-width:0}.document-upload-grid,.document-pending-row{grid-template-columns:1fr}.document-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .approval-status-tabs{display:flex;overflow-x:auto;gap:7px;padding-bottom:5px}.approval-status-tab,.approval-status-tab.all{flex:0 0 145px;grid-column:auto}.notification-drawer{width:min(94vw,420px)}
  .send-context-card,.send-file-grid{grid-template-columns:1fr 1fr}.scanner-path-card{grid-template-columns:1fr}.responsibility-grid{grid-template-columns:1fr 1fr}.project-assignment-picker{grid-template-columns:1fr}
  .sidebar-system-card{margin-bottom:calc(8px + env(safe-area-inset-bottom))}
}
@media(max-width:760px){
  input,select,textarea{font-size:16px}.button,.row-action{min-height:42px}.icon-button,.top-action{min-width:42px;min-height:42px}.view{padding:13px 10px calc(28px + env(safe-area-inset-bottom))}.panel{padding:13px}.topbar{min-height:68px;padding:8px 10px}.topbar h1{max-width:44vw;font-size:16px}.breadcrumb{max-width:44vw;font-size:8px}.topbar-actions{gap:3px}.topbar-actions .top-action{width:42px}.hero-strip{padding:18px}.hero-strip h2{font-size:20px}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.metric-card{padding:13px}.metric-card h3{font-size:19px;margin-top:12px}.quick-actions{grid-template-columns:1fr 1fr}.section-toolbar h2{font-size:22px}.section-toolbar p{font-size:11px;line-height:1.7}
  .table-card:has(>table.mobile-card-table),.table-card:has(.mobile-card-table){overflow:visible;border:0;background:transparent;box-shadow:none}.mobile-card-table{display:block;width:100%;min-width:0!important;border:0;background:transparent}.mobile-card-table thead{display:none}.mobile-card-table tbody{display:grid;gap:11px;width:100%}.mobile-card-table tbody tr{display:block;width:100%;overflow:hidden;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 7px 20px rgba(15,23,42,.06)}.mobile-card-table tbody td{display:grid;grid-template-columns:minmax(92px,34%) minmax(0,1fr);align-items:start;gap:10px;width:100%;min-width:0!important;padding:10px 11px;border:0;border-bottom:1px solid color-mix(in srgb,var(--line) 72%,transparent);white-space:normal!important;text-align:right;overflow-wrap:anywhere}.mobile-card-table tbody td:last-child{border-bottom:0}.mobile-card-table tbody td::before{content:attr(data-label);color:var(--muted);font-size:9px;font-weight:900;line-height:1.55}.mobile-card-table tbody td[data-label=""]::before{display:none}.mobile-card-table tbody td[colspan]{display:block;text-align:center}.mobile-card-table tbody td[colspan]::before{display:none}.mobile-card-table .row-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.mobile-card-table .row-actions .row-action,.mobile-card-table .row-actions .button{width:100%;white-space:normal}.mobile-card-table tfoot{display:block;margin-top:10px}.mobile-card-table tfoot tr,.mobile-card-table tfoot td{display:block;width:100%}.mobile-card-table tr.correspondence-color-bar{border-inline-start:6px solid var(--row-accent)}.official-letters-table.mobile-card-table tbody tr.correspondence-color-bar td:first-child,.correspondence-archive-table.mobile-card-table tbody tr.correspondence-color-bar td:first-child{border-right:0}.mobile-scroll-table{min-width:1050px}.boq-entry-grid.mobile-scroll-table{min-width:1380px}.boq-full-table .mobile-scroll-table{min-width:1880px}.boq-grid-wrap,.boq-full-table,.progress-schedule-table{max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}.boq-grid-wrap:before,.boq-full-table:before,.progress-schedule-table:before{content:"اسحب الجدول يميناً ويساراً لعرض جميع الأعمدة";position:sticky;right:0;z-index:6;display:block;width:max-content;margin:0 0 6px;padding:5px 9px;border-radius:8px;background:#eaf4fb;color:#0f4c81;font-size:9px;font-weight:900}
  .login-screen{min-height:100dvh;background:var(--theme-canvas)}.login-card{width:100%;min-height:100dvh;max-width:none;margin:0;padding:calc(20px + env(safe-area-inset-top)) 14px calc(20px + env(safe-area-inset-bottom));border:0;border-radius:0;box-shadow:none}.mobile-brand{margin-bottom:18px}.login-role-section,.login-theme-section{padding:10px}.login-role-grid{grid-template-columns:1fr;max-height:none}.login-role-card{min-height:56px}.login-theme-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-height:205px}.theme-section-heading{display:grid}.theme-section-heading small{max-width:none;text-align:right}.install-app-login{min-height:64px}
  .project-stat-row,.detail-summary-grid,.project-mini-metrics,.boq-calculation-preview,.document-metrics,.send-context-card,.send-file-grid,.responsibility-grid{grid-template-columns:1fr 1fr}.project-workspace-menu{grid-template-columns:1fr 1fr}.project-overview-hero,.project-page-heading{align-items:stretch;flex-direction:column}.project-full-profile{gap:12px}.project-full-cover{height:170px}.project-card-actions{grid-template-columns:1fr 1fr}.project-card-actions .button,.project-card-actions .project-actions-dropdown{width:100%}.official-letter-folders{grid-template-columns:1fr}.official-letters-panel,.correspondence-archive-panel{padding:12px;margin:12px 0}.official-letter-filters{grid-template-columns:1fr}.correspondence-archive-head,.official-letters-head{gap:10px}.archive-head-actions{display:grid;grid-template-columns:1fr 1fr;overflow:visible}.archive-head-actions>.button{width:100%;white-space:normal}.sticky-letter-actions{grid-template-columns:1fr 1fr;padding-bottom:calc(10px + env(safe-area-inset-bottom))}.workflow-entity-fields,.workflow-attachment-list{grid-template-columns:1fr}.workflow-attachment-card{grid-template-columns:38px minmax(0,1fr)}.workflow-attachment-actions{grid-column:2;display:flex;flex-wrap:wrap}.notification-drawer{width:100vw}.notification-item{border-radius:12px}.dashboard-alert-actions{grid-template-columns:1fr 1fr}.department-card{border-radius:16px}.department-children{margin-inline-start:4px;padding-inline-start:8px}
}
@media(max-width:430px){
  .metrics-grid,.project-stat-row,.detail-summary-grid,.project-mini-metrics,.boq-calculation-preview,.document-metrics,.send-context-card,.send-file-grid,.responsibility-grid{grid-template-columns:1fr}.project-workspace-menu{grid-template-columns:1fr}.mobile-card-table tbody td{grid-template-columns:88px minmax(0,1fr);padding:9px}.mobile-card-table .row-actions{grid-template-columns:1fr}.archive-head-actions,.sticky-letter-actions{grid-template-columns:1fr}.topbar h1,.breadcrumb{max-width:39vw}.toast{left:10px;right:10px;max-width:none;bottom:calc(10px + env(safe-area-inset-bottom))}.login-theme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:981px){.table-card,.project-wide-table,.document-table,.boq-grid-wrap{scrollbar-gutter:stable}.main-content{overflow-x:hidden}}

/* v0.22.10 — full menu/button interaction and viewport hardening */
button,.button,[role="button"],a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button,.button,[role="button"]{touch-action:manipulation}
button:focus-visible,.button:focus-visible,[role="button"]:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--theme-accent,#2d80bf) 72%,#fff);outline-offset:2px}
button[aria-disabled="true"],button:disabled{cursor:not-allowed}
img,video,canvas{max-width:100%}
.topbar-title,.section-toolbar>div,.panel-header>div,.project-page-heading>div,.modal-header>div{min-width:0}
.section-toolbar h2,.panel-header h2,.panel-header h3,.project-page-heading h3,.modal-header h2{overflow-wrap:anywhere}

@media(max-width:980px){
  .sidebar[aria-hidden="true"]{visibility:hidden}.sidebar.open{visibility:visible}
  .project-dropdown-menu{max-height:min(440px,68dvh)}
}
@media(max-width:760px){
  button{min-height:42px}
  .toolbar-actions,.boq-action-cluster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;gap:8px;padding-bottom:0}
  .toolbar-actions>.button,.boq-action-cluster>.button{width:100%;min-width:0;white-space:normal}
  .modal .form-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;width:100%}
  .modal .form-actions>.button,.modal .form-actions>button{width:100%;min-width:0;white-space:normal}
  .project-dropdown-menu{position:fixed;inset:auto 10px calc(10px + env(safe-area-inset-bottom)) 10px;width:auto;max-height:68dvh;border-radius:18px;z-index:240;overscroll-behavior:contain;box-shadow:0 26px 80px rgba(4,31,58,.38)}
  .project-dropdown-menu.show{padding:10px}
  .project-dropdown-menu .project-menu-item{min-height:50px}
}
@media(max-width:430px){
  #focusGlobalSearch{display:none!important}
  .toolbar-actions,.boq-action-cluster,.modal .form-actions{grid-template-columns:1fr}
  .topbar-title{gap:6px}.topbar h1,.breadcrumb{max-width:43vw}
}

/* v0.22.11 — compact phone composition based on real iPhone screenshots */
@media(max-width:760px){
  .workspace-hero{height:auto!important;min-height:0!important;grid-template-columns:48px minmax(0,1fr)!important;grid-auto-rows:auto;align-items:start;gap:11px;padding:15px!important}
  .workspace-hero-icon{width:48px;height:48px;border-radius:14px}
  .workspace-hero-copy{min-width:0}.workspace-hero-copy h2{font-size:21px;line-height:1.3;margin:2px 0 5px}.workspace-hero-copy p{font-size:11px;line-height:1.65}
  .workspace-hero>.toolbar-actions{grid-column:1/-1!important;display:flex!important;align-items:stretch;flex-wrap:wrap;width:100%;gap:8px;overflow:visible;padding:0;margin-top:3px}
  .workspace-hero>.toolbar-actions>.button{grid-column:auto!important;flex:1 1 145px;width:auto!important;min-width:0;min-height:44px;padding:9px 10px;white-space:normal;line-height:1.45}
  .workspace-tabs{margin-top:2px;padding-bottom:8px}.workspace-tab{min-height:42px;padding:8px 11px}

  .metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px}
  .metric-card{min-height:105px!important;padding:11px!important}
  .metric-card .metric-top{display:flex;align-items:center;justify-content:space-between;gap:6px}
  .metric-card .metric-icon{width:38px;height:38px;border-radius:12px}
  .metric-card h3{margin:8px 0 3px!important;font-size:20px!important}.metric-card p{font-size:10px;line-height:1.4}.dashboard-metric-card small{margin-top:5px;font-size:7.5px;line-height:1.35}

  .workspace-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px}
  .workspace-metric,.workspace-metrics>article{min-height:84px!important;padding:12px!important}
  .workspace-metric span,.workspace-metrics>article span{margin-bottom:6px;font-size:9px}.workspace-metric strong,.workspace-metrics>article strong{font-size:20px}

  .lifecycle-flow{grid-template-columns:1fr!important;gap:9px}
  .lifecycle-flow button{display:grid;grid-template-columns:46px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;column-gap:11px;min-height:82px!important;padding:11px 13px!important}
  .lifecycle-flow b{grid-column:1;grid-row:1/3;width:38px;height:38px;margin:0}
  .lifecycle-flow strong,.lifecycle-flow span{grid-column:2;min-width:0}.lifecycle-flow strong{align-self:end;font-size:12px}.lifecycle-flow span{align-self:start;margin-top:3px;font-size:9px}

  .quick-actions button{min-height:86px}.dashboard-alert-item{align-items:start}.dashboard-alert-copy strong,.dashboard-alert-copy p{overflow-wrap:anywhere}.dashboard-alert-copy p{line-height:1.65}
  .dashboard-alerts-panel{min-height:0!important;max-height:none!important}
  .dashboard-alerts-panel .alerts-list{flex:none;max-height:230px;min-height:0}
  .alert-status-legend{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px}
  .alert-filter-chip{min-width:0;padding:7px 8px;justify-content:center}.alert-filter-chip:last-child{grid-column:1/-1}
}
@media(max-width:380px){
  .workspace-hero>.toolbar-actions>.button{flex-basis:125px;font-size:10px}
  .metric-card{min-height:92px!important}.workspace-metric,.workspace-metrics>article{min-height:76px!important}
}

/* v0.22.12 — iPhone status-bar isolation (must remain the final topbar rule) */
@media(display-mode:standalone) and (max-width:980px){
  .topbar{top:0!important;margin-top:0!important;padding-top:calc(8px + env(safe-area-inset-top))!important;padding-bottom:8px!important;min-height:calc(68px + env(safe-area-inset-top))!important}
}
@supports(-webkit-touch-callout:none){
  @media(max-width:980px){
    .topbar{top:0;margin-top:0;padding-top:calc(8px + env(safe-area-inset-top))!important;padding-bottom:8px;min-height:calc(68px + env(safe-area-inset-top))}
    .notification-drawer{padding-top:env(safe-area-inset-top)}
  }
}

/* v0.22.13 — Safe Area for every full-screen modal header on iPhone */
@media(display-mode:standalone) and (max-width:980px){
  .modal-header{top:0!important;padding-top:calc(16px + env(safe-area-inset-top))!important;min-height:calc(76px + env(safe-area-inset-top))!important}
}
@supports(-webkit-touch-callout:none){
  @media(max-width:980px){
    .modal-header{top:0!important;padding-top:calc(16px + env(safe-area-inset-top))!important;min-height:calc(76px + env(safe-area-inset-top))!important}
    .modal-header>.icon-button,.modal-header>.close-modal{align-self:flex-start;margin-top:0}
  }
}

/* v0.22.14 — readable modal headings and a single vertical phone scroll area */
@media(max-width:980px){
  .modal-header .eyebrow{color:color-mix(in srgb,var(--accent,#2563eb) 82%,#102f4a)!important;opacity:1;text-shadow:none}
  .modal-header .modal-subtitle{color:#496478!important;opacity:1;text-shadow:none;font-weight:700}
  .modal-header h2{color:#102f4a!important;text-shadow:none}

  #officialLetterModal,#correspondenceArchiveModal,#communicationSettingsModal,#correspondenceSendModal{display:flex;flex-direction:column;overflow:hidden!important}
  #officialLetterModal.hidden,#correspondenceArchiveModal.hidden,#communicationSettingsModal.hidden,#correspondenceSendModal.hidden{display:none}
  .official-letter-form,.correspondence-archive-form,.communication-settings-form,.correspondence-send-form{flex:1 1 auto;min-height:0;max-height:none!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y}

  input[type="date"],input[type="time"],input[type="month"]{display:block;width:100%!important;min-width:0!important;max-width:100%!important;direction:ltr;text-align:right;touch-action:pan-y}
  input[type="date"]::-webkit-date-and-time-value,input[type="time"]::-webkit-date-and-time-value,input[type="month"]::-webkit-date-and-time-value{width:100%;min-width:0;text-align:right}
  input[type="date"]::-webkit-datetime-edit,input[type="time"]::-webkit-datetime-edit,input[type="month"]::-webkit-datetime-edit{min-width:0;padding:0;text-align:right}
}

/* v0.23.0 — System Administration Console */
.system-console-toolbar{align-items:flex-start}.system-console-hero{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 18px;padding:24px 28px;border:1px solid #cbd5e1;border-radius:24px;overflow:hidden;background:linear-gradient(135deg,#0f2745,#164e63 62%,#0f766e);color:#fff;box-shadow:0 18px 44px rgba(15,39,69,.2)}
.system-console-hero::before{content:"";position:absolute;inset:-70% auto auto -10%;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.14),transparent 68%);pointer-events:none}.system-console-hero.attention{background:linear-gradient(135deg,#4a2515,#92400e 58%,#c2410c)}.system-console-hero.loading{background:linear-gradient(135deg,#334155,#475569)}.system-console-hero>div:first-child{position:relative;z-index:1}.system-console-hero span{display:block;font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:#bae6fd}.system-console-hero h3{margin:7px 0 5px;font-size:25px}.system-console-hero p{margin:0;color:#dbeafe;font-size:12px}.system-health-orbit{position:relative;z-index:1;width:116px;height:116px;flex:0 0 116px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.28);box-shadow:inset 0 0 0 12px rgba(255,255,255,.04)}.system-health-orbit i{position:absolute;inset:13px;border-radius:50%;border:4px solid #5eead4;border-inline-start-color:rgba(255,255,255,.15);animation:systemOrbit 2.8s linear infinite}.system-console-hero.attention .system-health-orbit i{border-color:#fdba74;border-inline-start-color:rgba(255,255,255,.15)}.system-health-orbit b{font-size:16px}.system-console-hero.loading .system-health-orbit i{border-color:#cbd5e1;border-inline-start-color:transparent}@keyframes systemOrbit{to{transform:rotate(360deg)}}
.system-console-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:18px}.system-console-metric{padding:16px;border:1px solid #d9e3ec;border-radius:17px;background:#fff;box-shadow:0 8px 22px rgba(15,23,42,.055);position:relative;overflow:hidden}.system-console-metric::after{content:"";position:absolute;inset:auto -14px -22px auto;width:80px;height:80px;border-radius:50%;background:var(--metric-soft,#dbeafe);opacity:.65}.system-console-metric span,.system-console-metric b,.system-console-metric small{position:relative;z-index:1;display:block}.system-console-metric span{color:#64748b;font-size:9px;font-weight:800}.system-console-metric b{margin:6px 0;font-size:25px;color:#102a43}.system-console-metric small{font-size:8px;color:#94a3b8}.system-console-metric.users{--metric-soft:#dbeafe}.system-console-metric.sessions{--metric-soft:#cffafe}.system-console-metric.projects{--metric-soft:#dcfce7}.system-console-metric.documents{--metric-soft:#ede9fe}.system-console-metric.approvals{--metric-soft:#fef3c7}.system-console-metric.activity{--metric-soft:#ffe4e6}
.system-console-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:16px;margin-bottom:18px}.system-resource-panel{min-height:330px}.system-host-badge{padding:7px 10px;border-radius:999px;background:#eef6fb;color:#31556f;font-size:9px;font-weight:900}.system-resource-bars{display:grid;gap:14px}.system-resource-row{display:grid;grid-template-columns:1fr auto;gap:8px;padding:11px;border-radius:14px;background:#f8fafc;border:1px solid #e5edf4}.system-resource-row>div b,.system-resource-row>div span{display:block}.system-resource-row>div b{font-size:11px;color:#1e3a56}.system-resource-row>div span{margin-top:3px;font-size:9px;color:#72859a}.system-resource-row>strong{font-size:11px;color:#0f766e}.system-resource-row>i{grid-column:1/-1;height:8px;border-radius:999px;background:#dfe8ef;overflow:hidden}.system-resource-row>i>em{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#38bdf8,#0f766e);transition:width .35s ease}.system-storage-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.system-storage-summary span{padding:9px;border-radius:11px;background:#eef5f9;color:#60768a;font-size:9px}.system-storage-summary b{display:block;margin-top:3px;color:#173a54;font-size:11px}
.system-service-list{display:grid;gap:8px}.system-service-card{display:grid;grid-template-columns:12px 1fr auto;align-items:center;gap:10px;padding:10px 11px;border:1px solid #e2e8f0;border-radius:13px;background:#fff}.system-service-card>i{width:11px;height:11px;border-radius:50%;background:#94a3b8;box-shadow:0 0 0 4px rgba(148,163,184,.13)}.system-service-card.ok>i,.system-service-card.configured>i{background:#16a34a;box-shadow:0 0 0 4px rgba(22,163,74,.13)}.system-service-card.not-configured>i{background:#f59e0b;box-shadow:0 0 0 4px rgba(245,158,11,.14)}.system-service-card.error>i,.system-service-card.attention>i{background:#dc2626;box-shadow:0 0 0 4px rgba(220,38,38,.13)}.system-service-card div b,.system-service-card div span{display:block}.system-service-card div b{font-size:10px;color:#1f3c55}.system-service-card div span{font-size:8px;color:#7b8da0;margin-top:2px;word-break:break-all}.system-service-card>strong{font-size:8px;padding:5px 7px;border-radius:999px;background:#f1f5f9;color:#475569}
.system-maintenance-actions{display:grid;gap:9px}.system-maintenance-actions button{display:grid;gap:3px;width:100%;padding:13px 14px;border:1px solid #dce6ef;border-radius:14px;background:linear-gradient(145deg,#fff,#f7fafc);text-align:right;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.system-maintenance-actions button:hover,.system-maintenance-actions button:focus-visible{transform:translateY(-2px);border-color:#7dd3fc;box-shadow:0 10px 20px rgba(14,116,144,.1);outline:none}.system-maintenance-actions button b{color:#17415d;font-size:11px}.system-maintenance-actions button span{color:#73879a;font-size:9px}.system-maintenance-actions button>*{pointer-events:none}
.system-backup-list{display:grid;gap:8px;max-height:265px;overflow:auto;padding-inline-end:3px}.system-backup-list article{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}.system-backup-list article div{min-width:0}.system-backup-list article b,.system-backup-list article span{display:block}.system-backup-list article b{font-size:9px;color:#1e3a56;direction:ltr;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.system-backup-list article span{font-size:8px;color:#7b8da0;margin-top:3px}
.system-audit-panel{margin-bottom:20px}.system-audit-panel .panel-header{align-items:flex-start}.system-audit-panel .panel-header p{margin:4px 0 0;color:#73879a;font-size:10px}.system-audit-controls{display:flex;gap:8px;align-items:center;min-width:min(620px,55%)}.system-audit-controls input{flex:1}.system-audit-controls select{min-width:190px}.system-action-pill{display:inline-flex;padding:5px 8px;border-radius:999px;background:#e0f2fe;color:#075985;font-size:8px;font-weight:900}.system-audit-detail{display:block;max-width:360px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;direction:ltr;text-align:left;font-size:8px;color:#475569;background:#f1f5f9;padding:5px 7px;border-radius:7px}.system-audit-panel table td{vertical-align:top}
@media(max-width:1200px){.system-console-metrics{grid-template-columns:repeat(3,1fr)}.system-console-grid{grid-template-columns:1fr}.system-audit-controls{min-width:0;width:100%;flex-wrap:wrap}.system-audit-panel .panel-header{display:grid;gap:12px}}
@media(max-width:650px){.system-console-hero{padding:19px;align-items:flex-start}.system-console-hero h3{font-size:19px}.system-health-orbit{width:82px;height:82px;flex-basis:82px}.system-console-metrics{grid-template-columns:repeat(2,1fr)}.system-console-metric b{font-size:21px}.system-storage-summary{grid-template-columns:1fr}.system-audit-controls{display:grid;grid-template-columns:1fr}.system-audit-controls select{min-width:0}.system-audit-controls .button{width:100%}}
