:root {
  font-family:"Geeza Pro","Noto Sans Arabic",Tahoma,Arial,sans-serif;
  color:#242c3c;
  background:#e4e7ed;
  font-synthesis:none;
  font-size: 15px;
  line-height: 1.8;
  --blue:#1559ed;
  --navy:#232b3c;
  --muted: #5e697a;
  --line:#e5e7ec;
  --radius:26px;
  --space: 22px;
}
* {
  box-sizing:border-box;
}
body {
  margin:0;
}
a {
  color:inherit;
  text-decoration:none;
}
button,input,textarea,select {
  font:inherit;
}
button,a,input,textarea,select,summary {
  -webkit-tap-highlight-color:transparent;
}
button,a,summary {
  touch-action:manipulation;
}
button {
  cursor:pointer;
}
button:disabled {
  cursor:wait;
  opacity:.6;
}
button,textarea,select,input {
  max-width:100%;
}
button {
  border:0;
}
svg {
  flex-shrink:0;
  vertical-align:middle;
}
h1,h2,h3,h4,p {
  margin:0;
}
h1 {
  font-size: 29px;
  line-height:1.5;
  letter-spacing: 0;
  font-weight:700;
}
h2 {
  font-size:18px;
  line-height:1.7;
  font-weight:700;
}
h3 {
  font-size:15px;
}
h4 {
  font-size:13px;
}
p,li {
  overflow-wrap:anywhere;
}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible {
  outline:3px solid #1559ed;
  outline-offset:4px;
}
main:focus {
  outline:none;
}
bdi {
  unicode-bidi:isolate;
}
p[dir=auto],li[dir=auto] {
  text-align:start;
  white-space:pre-wrap;
}
.workspace {
  display:flex;
  max-width:1800px;
  min-height:calc(100vh - 48px);
  margin:24px auto;
  background:#f2f4f8;
  border:1px solid #eef0f4;
  border-radius:34px;
  box-shadow:0 20px 55px #2738540b;
  overflow:clip;
}
.sidebar {
  width: 230px;
  flex-shrink:0;
  padding: 28px 18px 22px;
  display:flex;
  flex-direction:column;
  position:sticky;
  top:0;
  height:calc(100vh - 48px);
}
.brand {
  display:flex;
  align-items:center;
  gap:10px;
  font-size:17px;
  font-weight:700;
  padding:3px 0 24px;
  border-bottom:1px solid #dce0e8;
  white-space:nowrap;
}
.brand small {
  display:block;
  font:8px Arial,sans-serif;
  letter-spacing:1.15px;
  color:var(--muted);
  margin-top:3px;
}
.brand-mark {
  display:grid;
  place-items:center;
  width:39px;
  height:39px;
  flex-shrink:0;
  color:white;
  background:var(--blue);
  border:5px solid white;
  border-radius:14px;
  box-shadow:0 2px 5px #22334b10;
}
.primary,.secondary,.text-button {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  gap:9px;
  font-weight:600;
  border-radius:15px;
  line-height:1.5;
  min-height:44px;
  padding:12px 20px;
  transition:background .15s;
}
.primary {
  background:var(--blue);
  color:white;
  box-shadow:0 3px 5px #1559ed12;
}
.primary:hover {
  background:#1046c6;
}
.secondary {
  background:white;
  border:1px solid #d9dde6;
  color:var(--navy);
}
.secondary:hover {
  background:#eef2f9;
}
.sidebar-action {
  margin: 22px 0 24px;
  border-radius:20px;
  min-height:51px;
}
.nav-label {
  font-size: 12px;
  color:#778091;
  margin: 0 14px 10px;
}
nav {
  display:grid;
  gap:7px;
}
.nav-item {
  display:flex;
  align-items:center;
  gap: 11px;
  padding: 11px 14px;
  border:1px solid transparent;
  border-radius:22px;
  color: #4d586a;
  min-height: 48px;
  font-size: 15px;
  font-weight: 500;
}
.nav-item:hover {
  background:#e9edf4;
}
.nav-item.active {
  background: #e4ebf8;
  border-color: #cbd8ee;
  color: #174ca6;
  font-weight:700;
  box-shadow: inset -3px 0 0 var(--blue);
}
.nav-item.active svg {
  color:var(--blue);
}
.nav-item small {
  margin-inline-start:auto;
  font-size:11px;
  background:white;
  border-radius:12px;
  min-width:22px;
  text-align:center;
}
.sidebar-bottom {
  margin-top:auto;
  padding: 32px 12px 0;
}
.connection {
  display:flex;
  gap:8px;
  align-items:center;
  font-size:12px;
  color:var(--muted);
}
.connection svg {
  color:var(--blue);
}
.sidebar-bottom strong {
  display:block;
  font-size:21px;
  margin-top:8px;
}
.sidebar-bottom p {
  font-size: 12px;
  color:var(--muted);
}
.sidebar-note {
  margin-top:25px;
  border-top:1px solid #dce0e8;
  padding-top:20px;
  font-size:12px;
  color:#757e8c;
}
.main-shell {
  min-width:0;
  flex:1;
  padding:20px 22px 0;
}
.topbar {
  min-height: 62px;
  border-radius:26px;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px 24px;
  margin-bottom: 14px;
  box-shadow:0 3px 3px #22334b05;
}
.breadcrumb {
  font-size: 13px;
  color:var(--muted);
}
.breadcrumb span {
  padding:0 13px;
  color:#bdc3cf;
}
.breadcrumb strong {
  color:var(--navy);
  font-weight:500;
}
.top-actions {
  display:flex;
  gap:18px;
  align-items:center;
}
.icon-button {
  width:38px;
  height:38px;
  border:1px solid #eef0f4;
  border-radius:50%;
  background:#f7f8fb;
  display:grid;
  place-items:center;
  color:var(--muted);
}
.icon-button:hover {
  color:var(--blue);
}
.top-divider {
  height:25px;
  width:1px;
  background:var(--line);
}
.profile {
  display:flex;
  align-items:center;
  gap:9px;
  font-size: 12px;
}
.profile small {
  display:block;
  font-size: 11px;
  color:var(--muted);
}
.avatar {
  width:34px;
  height:34px;
  background:#e4edff;
  color:var(--blue);
  border-radius:50%;
  display:grid;
  place-items:center;
  font-size:17px;
}
main {
  background:#fff;
  border-radius:30px 30px 0 0;
  padding: 26px;
  min-height:calc(100vh - 157px);
}
.page-heading {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  margin-bottom: 22px;
}
.eyebrow {
  font-size:11px;
  color:var(--muted);
  display:block;
  margin-bottom:6px;
}
.page-heading p {
  color:var(--muted);
  margin-top:6px;
  font-size: 14px;
}
.today {
  font-size:11px;
  background:#f7f8fb;
  border-radius:30px;
  padding:8px 16px;
  white-space:nowrap;
  color:var(--muted);
}
.overview-grid {
  display:grid;
  grid-template-columns: minmax(0, 2.15fr) minmax(260px, 1fr);
  gap: 18px;
  grid-template-areas: "metrics coverage" "question coverage" "company priorities";
  margin-bottom: 18px;
}
.overview-primary,.overview-secondary {
  min-width:0;
  display: contents;
}
.metrics {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap: 12px;
  margin-bottom: 0;
  grid-area: metrics;
}
.metric {
  border-radius:28px;
  padding: 18px 18px 16px;
  min-height: 168px;
  display:flex;
  flex-direction:column;
  transition:transform .15s;
}
.metric:hover {
  transform:translateY(-3px);
}
.metric>span {
  font-size: 15px;
  font-weight:600;
}
.metric small {
  font-size: 12px;
  color:#546177;
  margin-top:5px;
  line-height: 1.65;
}
.metric>div {
  display:flex;
  align-items:end;
  justify-content:space-between;
  margin-top:auto;
  padding-top:16px;
}
.metric strong {
  font-family:Arial,sans-serif;
  font-size: 34px;
  font-weight:500;
  line-height:1.2;
  font-variant-numeric: tabular-nums;
}
.round-arrow {
  width:34px;
  height:34px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--navy);
  color:white;
  box-shadow:0 0 0 6px white;
}
.blue {
  background:#d4e1fc;
}
.neutral-card {
  background:#e9e9ee;
}
.warm {
  background:#faedda;
}
.panel {
  border:1px solid #dfe3e9;
  border-radius:var(--radius);
  padding:var(--space);
  box-shadow:0 2px 2px #22334b04;
  margin-bottom: 18px;
  background:white;
  min-width:0;
}
.section-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom: 12px;
}
.section-heading h2 {
  display:flex;
  align-items:center;
  gap:9px;
}
.section-heading h2 svg {
  width:18px;
}
.subtle,.muted {
  color:var(--muted);
  font-size: 13px;
}
.ask-card {
  border-radius:var(--radius);
  padding: 22px;
  background: #f1f5ff;
  margin-bottom: 0;
  border: 1px solid #c9d9f7;
  grid-area: question;
  box-shadow: 0 3px 12px #1559ed08;
}
.ask-card .section-heading {
  margin-bottom:12px;
}
.ask-card h2 {
  font-size: 19px;
}
.ask-card h2 svg {
  color:var(--blue);
}
.question-form label,form>label:not(.file-zone) {
  display:block;
  font-size:12px;
  font-weight:600;
  margin:0 0 8px;
}
.compact label {
  position:absolute;
  width:1px;
  height:1px;
  clip-path:inset(50%);
  overflow:hidden;
}
textarea {
  display:block;
  width:100%;
  resize:vertical;
  min-height: 96px;
  border:1px solid #d9dfec;
  border-radius:15px;
  background:#fff;
  padding: 14px 16px;
  color:var(--navy);
  font-size: 16px;
  line-height: 1.8;
  text-align: start;
}
textarea::placeholder {
  color:#7b8496;
}
.question-bottom {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 14px;
  margin-top: 14px;
  flex-wrap: wrap;
}
.question-bottom .subtle {
  font-size: 12px;
  flex: 1 1 190px;
}
.question-bottom .primary {
  font-size: 14px;
  min-height: 44px;
  padding: 11px 18px;
  flex-shrink: 0;
}
.company-status {
  font-size: 18px;
  line-height: 1.85;
  margin-bottom:10px;
}
.company-panel .muted {
  line-height:1.9;
}
.panel-footer {
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  border-top:1px solid var(--line);
  padding-top: 12px;
  margin-top: 14px;
  font-size: 12px;
  color:var(--muted);
  flex-wrap: wrap;
}
.text-button {
  background:transparent;
  color:var(--blue);
  padding:4px 0;
  font-size: 13px;
  min-height:36px;
}
.text-button svg {
  width:16px;
}
.coverage-card {
  background:var(--navy);
  color:white;
  border-radius:28px;
  padding: 22px;
  margin-bottom:22px;
}
.coverage-card .eyebrow {
  color:#bac8e4;
}
.coverage-card h2 {
  font-size:17px;
}
.coverage-value {
  display:flex;
  align-items:baseline;
  gap: 10px;
  margin: 10px 0;
}
.coverage-value strong {
  font-size: 42px;
  font-weight:500;
  line-height:1.3;
  font-family:Arial,sans-serif;
  font-variant-numeric: tabular-nums;
}
.coverage-value span {
  font-size:23px;
  color:#bdc5d4;
}
.coverage-bars {
  display:flex;
  gap: 6px;
  margin: 12px 0 10px;
  direction:rtl;
}
.coverage-bars span {
  height:8px;
  flex:1;
  border-radius:4px;
  background:#4b5362;
}
.coverage-bars .filled {
  background:#7ba4ff;
}
.coverage-card p {
  font-size: 12px;
  color:#c7cfdd;
  line-height: 1.75;
}
.coverage-card>a {
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-top:1px solid #485060;
  margin-top: 12px;
  padding-top: 12px;
  font-size: 13px;
}
.coverage-card>a svg {
  width:16px;
}
.priority-panel {
  padding: 22px;
  grid-area: priorities;
  margin-bottom: 0;
}
.count {
  border:1px solid var(--line);
  border-radius:20px;
  min-width:24px;
  text-align:center;
  color:var(--muted);
  font-size:11px;
}
.findings {
  list-style:none;
  padding:0;
  margin:0;
}
.findings li {
  font-size: 14px;
  line-height: 1.85;
  padding: 10px 0;
  border-bottom:1px solid #eef0f3;
}
.findings li:first-child {
  padding-top:3px;
}
.findings li:last-child {
  border-bottom:0;
  padding-bottom:0;
}
.priority-panel .findings {
  counter-reset:priority;
}
.priority-panel li {
  counter-increment:priority;
  padding-inline-start:32px;
  position:relative;
}
.priority-panel li::before {
  content:counter(priority,decimal-leading-zero);
  position:absolute;
  inset-inline-start:0;
  font:12px Arial,sans-serif;
  color:#7384a1;
  top:9px;
}
.two-columns {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap: 18px;
}
.empty {
  padding: 10px 0;
  color:#78818f;
  font-size: 14px;
  line-height: 1.85;
}
.badge {
  display:inline-flex;
  align-items:center;
  gap:5px;
  font-size: 12px;
  border-radius:20px;
  padding: 4px 10px;
  white-space: normal;
  background:#f0f2f5;
  color:#657082;
  line-height:1.7;
  text-align: start;
}
.dot {
  width:5px;
  height:5px;
  background:currentColor;
  border-radius:50%;
  flex-shrink:0;
}
.badge.success {
  background:#eef6f2;
  color:#326950;
}
.badge.warning {
  background:#fff4e1;
  color:#8a601a;
}
.department-section {
  margin-top:5px;
}
.department-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.department-card {
  border:1px solid #dfe3e9;
  border-radius:24px;
  padding: 19px;
  min-width:0;
  background:#fff;
  box-shadow:0 2px 2px #22334b04;
  transition:border-color .15s,box-shadow .15s;
  display: flex;
  flex-direction: column;
}
.department-card:hover {
  border-color:#9cb8f4;
  box-shadow:0 5px 20px #2c497b09;
}
.department-top {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
  margin-bottom:15px;
}
.department-icon {
  width:34px;
  height:34px;
  background:#f2f5fa;
  color:#6b7f9c;
  display:grid;
  place-items:center;
  border-radius:11px;
}
.department-card h3 {
  font-size: 15px;
  line-height: 1.75;
  min-height: 52px;
}
.department-code {
  display:block;
  font:9px Arial,sans-serif;
  letter-spacing: .5px;
  color:#8290a2;
  margin: 5px 0 14px;
  font-size: 11px;
  overflow-wrap: anywhere;
  text-align: start;
}
.department-stats {
  display:grid;
  grid-template-columns:1fr 1fr;
  margin-top: auto;
}
.department-stats>div+div {
  border-inline-start:1px solid var(--line);
  padding-inline-start:18px;
}
.department-stats small {
  font-size: 12px;
  color:var(--muted);
  display:block;
}
.department-stats strong {
  font:22px Arial,sans-serif;
  display:block;
  margin-top: 5px;
  font-size: 22px;
  font-variant-numeric: tabular-nums;
}
.department-bottom {
  margin-top: 16px;
  padding-top: 10px;
  border-top:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:var(--muted);
  font-size: 11px;
  gap: 8px;
}
.department-bottom time {
  font-size: 12px;
}
.department-bottom>svg {
  width:17px;
  color:var(--navy);
}
footer {
  display:flex;
  justify-content:space-between;
  gap:20px;
  font-size: 12px;
  color:#798393;
  border-top:1px solid var(--line);
  margin-top: 26px;
  padding-top:18px;
}
.response-summary {
  font-size:20px;
  line-height:1.9;
  margin-bottom:18px;
}
.answer {
  font-size:14px;
  line-height:2;
  margin-bottom:25px;
}
.original-question {
  border-inline-start:3px solid #afc6f7;
  padding-inline-start:15px;
  font-size:12px;
  color:var(--muted);
  margin:18px 0;
}
.status-block {
  background:#f3f6fc;
  border-radius:16px;
  padding:18px;
  margin-bottom:25px;
}
.status-block p {
  margin-top:8px;
  font-size:13px;
}
.response .two-columns {
  margin-bottom:25px;
}
.response h3 {
  margin-bottom:12px;
}
.actions-block {
  border-top:1px solid var(--line);
  padding-top:20px;
  margin-top:20px;
}
.response details {
  border-top:1px solid var(--line);
  margin-top:25px;
  padding-top:18px;
}
.response summary {
  cursor:pointer;
  font-weight:600;
  color:var(--blue);
  min-height:35px;
}
.response details>h3 {
  margin-top:20px;
}
.source-department {
  margin-top:20px;
  background:#f7f8fb;
  padding:20px;
  border-radius:16px;
  font-size: 14px;
}
.source-department h4 {
  margin-top:14px;
}
.source {
  font-size: 12px;
  color:var(--muted);
  margin-top:15px;
  overflow-wrap:anywhere;
}
.source bdi {
  display:inline-block;
  max-width:100%;
  overflow-wrap:anywhere;
}
.unavailable {
  padding:18px 0;
  border-bottom:1px solid var(--line);
  font-size:12px;
}
.unavailable .badge {
  margin-inline-start:12px;
}
.unavailable p {
  margin:8px 0;
}
.back-link {
  display:inline-block;
  font-size:12px;
  color:var(--blue);
  margin-bottom:18px;
}
.snapshot-panel {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:22px;
}
.snapshot-panel>div {
  display:flex;
  flex-direction:column;
  gap:5px;
}
.snapshot-panel strong {
  font-size:25px;
}
.snapshot-panel .small-value {
  font-size: 14px;
}
.snapshot-file {
  width:100%;
  border-top:1px solid var(--line);
  padding-top:14px;
  font-size: 13px;
  color:var(--muted);
}
.upload-layout {
  display:grid;
  grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr);
  gap:24px;
}
.upload-layout>.panel {
  align-self:start;
  padding:30px;
}
select {
  width:100%;
  padding:12px;
  background:#fff;
  color:var(--navy);
  border:1px solid #d9dfec;
  border-radius:12px;
}
.file-zone {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
  border:1px dashed #a9bee4;
  border-radius:24px;
  background:#f8faff;
  padding:35px 20px;
  margin:24px 0 12px;
  cursor:pointer;
  text-align:center;
}
.file-zone>svg {
  width:30px;
  height:30px;
  color:var(--blue);
}
.file-zone>span {
  font: 13px Arial,sans-serif;
  color:var(--muted);
}
input[type=file] {
  font-size:11px;
  width:100%;
  max-width:290px;
  color:var(--muted);
  margin-top:10px;
}
input::file-selector-button {
  font:inherit;
  background:white;
  border:1px solid #d9dfec;
  border-radius:9px;
  padding:7px;
  margin-inline-end:10px;
  cursor:pointer;
}
.selected-file {
  font-size: 13px;
  color:var(--blue);
  margin-bottom:16px;
}
.upload-layout form>.primary {
  margin-top:24px;
}
.upload-help ol {
  padding-inline-start:20px;
  font-size:12px;
  color:#5f697a;
}
.upload-help li {
  margin:12px 0;
}
progress {
  width:100%;
  accent-color:var(--blue);
  height:8px;
  margin-top:20px;
}
#upload-progress p {
  font-size:12px;
  color:var(--muted);
}
.success-message {
  color:#326950;
  background:#eef6f2;
  border-radius:12px;
  padding:15px;
  margin-top:18px;
}
.error-text,.alert {
  color:#9e3434;
  background:#fff1ef;
  border-radius:12px;
  padding:12px 16px;
  font-size:12px;
  margin-top:12px;
}
.alert {
  margin:0 0 20px;
}
.notice {
  color:#2b508b;
  background:#edf3ff;
  padding:12px 16px;
  border-radius:12px;
  font-size:12px;
  margin-bottom:20px;
}
.pending {
  font-size:12px;
  color:#426090;
  display:flex;
  gap:9px;
  align-items:center;
  margin-top:15px;
}
.spinner {
  display:inline-block;
  width:13px;
  height:13px;
  border:2px solid #c1d2f5;
  border-top-color:var(--blue);
  border-radius:50%;
  animation:spin 1s linear infinite;
}
.settings-panel {
  max-width:800px;
}
.setting-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:20px 0;
  border-bottom:1px solid var(--line);
  margin-bottom:15px;
}
input[type=checkbox] {
  width:22px;
  height:22px;
  accent-color:var(--blue);
}
.skip-link {
  position:fixed;
  z-index:10;
  inset-inline-start:15px;
  top:-100px;
  background:white;
  border:2px solid var(--blue);
  border-radius:10px;
  padding:10px;
}
.skip-link:focus {
  top:10px;
}
.dense {
  --space:18px;
}
.dense .department-card {
  padding:15px;
}
.dense .findings li {
  padding-block:8px;
}
[hidden] {
  display:none!important;
}
@keyframes spin {
  to {
    transform:rotate(360deg);
  }
}
@media(min-width:1500px) {
  .workspace {
    margin:32px;
    min-height:calc(100vh - 64px);
  }
  main {
    padding:30px;
  }
  .sidebar {
    width:240px;
  }
  .metric {
    min-height:168px;
  }
  .department-grid {
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}
@media(max-width:1150px) {
  .workspace {
    margin:12px;
  }
  .sidebar {
    width:218px;
    padding:26px 14px;
  }
  .brand {
    font-size:14px;
  }
  .brand small {
    font-size:9px;
    letter-spacing:.6px;
  }
  .brand-mark {
    width:34px;
    height:34px;
  }
  .main-shell {
    padding:14px 14px 0;
  }
  main {
    padding:24px;
  }
  .overview-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-areas:"metrics metrics" "question question" "company coverage" "priorities coverage";
  }

  .department-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .today {
    display:none;
  }
  .upload-layout {
    grid-template-columns:1fr;
  }
  .upload-layout>aside {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
  }
}
@media(max-width:760px) {
  :root {
    font-size:13px;
    --space:20px;
  }
  .workspace {
    display:block;
    margin:0;
    border:0;
    border-radius:0;
  }
  .sidebar {
    width:auto;
    height:auto;
    position:static;
    padding:16px 18px 10px;
  }
  .brand {
    border:0;
    padding:0;
    font-size:16px;
  }
  .brand small {
    font-size:9px;
    letter-spacing:.6px;
  }
  .sidebar-action,.nav-label,.sidebar-bottom {
    display:none;
  }
  .sidebar nav {
    display:flex;
    overflow-x:auto;
    gap:6px;
    margin-top:16px;
    padding-bottom:5px;
  }
  .nav-item {
    flex-shrink:0;
    font-size:13px;
    gap:6px;
    padding:8px 11px;
    min-height:40px;
  }
  .nav-item svg {
    width:16px;
    height:16px;
  }
  .nav-item small {
    display:none;
  }
  .main-shell {
    padding:0 10px;
  }
  .topbar {
    min-height:56px;
    padding:10px 15px;
    margin-bottom:10px;
    border-radius:20px;
  }
  .top-actions {
    gap:10px;
  }
  .profile>span:last-child,.top-divider {
    display:none;
  }
  .breadcrumb {
    font-size:12px;
  }
  .breadcrumb span {
    padding:0 8px;
  }
  .avatar {
    width:30px;
    height:30px;
  }
  .icon-button {
    width:32px;
    height:32px;
  }
  main {
    padding:23px 16px;
    border-radius:24px 24px 0 0;
  }
  .page-heading {
    margin-bottom:23px;
    align-items:start;
    flex-wrap:wrap;
    gap:10px;
  }
  h1 {
    font-size:24px;
  }
  h2 {
    font-size:16px;
  }
  .page-heading p {
    font-size:12px;
  }
  .metrics {
    gap:8px;
  }
  .metric {
    padding:17px 12px 16px;
    border-radius:20px;
    min-height:162px;
  }
  .metric>span {
    font-size:12px;
  }
  .metric small {
    font-size:12px;
  }
  .metric strong {
    font-size:27px;
  }
  .round-arrow {
    width:25px;
    height:25px;
    box-shadow:0 0 0 4px #fff;
  }
  .round-arrow svg {
    width:14px;
  }
  .ask-card {
    padding:18px;
  }
  .ask-card .subtle {
    font-size:11px;
  }
  .ask-card h2 {
    font-size:17px;
  }
  .question-bottom {
    align-items:center;
    flex-direction:row;
  }
  .question-bottom .primary {
    align-self:end;
  }
  .overview-secondary {
    grid-template-columns:1fr;
  }
  .two-columns {
    grid-template-columns:1fr;
    gap:0;
  }
  .response .two-columns {
    gap:20px;
  }
  .coverage-card {
    padding:24px;
  }
  .department-grid {
    gap:12px;
  }
  .department-card {
    padding:16px;
    border-radius:20px;
  }
  .department-top {
    flex-wrap:wrap;
  }
  .department-card h3 {
    font-size:14px;
    min-height:52px;
  }
  .department-code {
    font-size:11px;
    letter-spacing:.5px;
  }
  .department-stats strong {
    font-size:20px;
  }
  .department-stats>div+div {
    padding-inline-start:10px;
  }
  .department-bottom time {
    font-size:11px;
  }
  .section-heading {
    gap:8px;
    flex-wrap:wrap;
  }
  .panel-footer {
    flex-wrap:wrap;
  }
  footer {
    flex-direction:column;
    gap:6px;
  }
  .response-summary {
    font-size:18px;
  }
  .upload-layout>.panel {
    padding:20px;
  }
  .upload-layout>aside {
    grid-template-columns:1fr;
    gap:0;
  }
  .snapshot-panel {
    gap:20px;
  }
  .snapshot-panel>div {
    flex:1 1 40%;
  }
  .setting-row {
    align-items:start;
  }
  .setting-row bdi {
    font-size:12px;
  }
  .file-zone {
    padding:26px 12px;
  }
}
@media(max-width:370px) {
  .department-grid {
    grid-template-columns:1fr;
  }
  .metric small {
    font-size:12px;
  }
  .round-arrow {
    display:none;
  }
  .metric {
    padding:14px 10px;
    min-height:145px;
  }
  .metric>span {
    font-size:11px;
  }
  h1 {
    font-size:22px;
  }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important;
  }
}

/* Explicit writing directions for values, with natural direction for user prose. */
bdi[dir="ltr"] {
  direction: ltr;
  unicode-bidi: isolate;
  font-variant-numeric: tabular-nums;
}
.coverage-ratio {
  direction: ltr;
  unicode-bidi: isolate;
  justify-content: flex-start;
  width: fit-content;
}
.overview-grid .coverage-card {
  display: flex;
  flex-direction: column;
  grid-area: coverage;
  margin-bottom: 0;
}
.overview-grid .coverage-card>a {
  margin-top: auto;
}
.company-panel {
  grid-area: company;
  margin-bottom: 0;
}
.company-empty {
  display: flex;
  align-items: center;
  gap: 14px;
}
.company-empty h3 {
  font-size: 17px;
  margin-bottom: 4px;
}
.company-empty p {
  font-size: 14px;
  color: var(--muted);
}
.empty-icon {
  display: grid;
  place-items: center;
  background: #eef3fc;
  color: #4d6f9f;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  flex-shrink: 0;
}
.decision-panels .panel {
  padding-block: 20px;
}
.department-card .badge {
  max-width: calc(100% - 42px);
}
.question-form textarea:placeholder-shown {
  direction: rtl;
  text-align: right;
}
.question-form textarea:focus {
  border-color: var(--blue);
}
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.file-zone:focus-within {
  outline: 3px solid var(--blue);
  outline-offset: 4px;
}
.file-zone .file-picker-label {
  background: white;
  color: var(--blue);
  border: 1px solid #c9d9f7;
  border-radius: 12px;
  padding: 9px 20px;
  font: inherit;
}
@media(max-width:760px) {
  .overview-grid {
    grid-template-columns: minmax(0,1fr);
    grid-template-areas: "metrics" "question" "company" "priorities" "coverage";
    gap: 16px;
  }
  .question-bottom .subtle {
    flex-basis: 150px;
  }
  .metrics {
    grid-template-columns: repeat(3,minmax(0,1fr));
  }
}
@media(max-width:480px) {
  .department-grid {
    grid-template-columns: minmax(0,1fr);
  }
  .metrics {
    grid-template-columns: minmax(0,1fr);
  }
  .metric {
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    column-gap: 14px;
  }
  .metric>span, .metric small {
    grid-column: 1;
  }
  .metric>div {
    grid-column: 2;
    grid-row: 1 / 3;
    padding-top: 0;
    align-items: center;
    gap: 16px;
  }
  .company-empty {
    align-items: flex-start;
  }
}

/* Authentication extends the existing surfaces and spacing. */
.login-shell { min-height: 100vh; display: grid; place-items: center; background: #f2f4f8; padding: 24px; }
.login-card { width: min(100%, 430px); padding: 32px; }
.login-card .brand { margin-bottom: 24px; }
.login-card h1 { margin-bottom: 8px; }
.login-card form { margin-top: 24px; }
.login-card input, .user-form input:not([type=checkbox]) { display: block; width: 100%; padding: 11px 14px; border: 1px solid #d9dfec; border-radius: 12px; background: white; color: var(--navy); }
.login-card label { margin-top: 16px; }
.login-card .primary { width: 100%; margin-top: 24px; }
.user-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin-top: 20px; }
.user-form label { display: block; }
.user-form fieldset { border: 1px solid var(--line); border-radius: 14px; padding: 16px; }
.user-form input[type=checkbox] { vertical-align: middle; margin-inline-end: 8px; }
.user-row { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; border-bottom: 1px solid var(--line); padding: 18px 0; }
.user-row>div { flex: 1; min-width: 200px; }
.user-row bdi { overflow-wrap: anywhere; }
@media(max-width:760px) { .user-form { grid-template-columns: minmax(0,1fr); } .top-actions { flex-wrap: wrap; } }

/* Task 10: evidence-first cards within the existing RTL design system. */
.executive-command { display: grid; gap: 20px; margin-block: 20px; }
.executive-command h2 { font-size: 21px; text-wrap: balance; }
.executive-items { display: grid; gap: 12px; }
.executive-item { border: 1px solid var(--border, #e7e9ef); border-radius: 18px; padding: 18px; min-width: 0; background: #fff; }
.executive-item h3 { font-size: 18px; margin-block: 12px 8px; }
.executive-item p { margin-block: 8px; line-height: 1.75; overflow-wrap: anywhere; }
.executive-item-meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.executive-item-meta a { font-size: 14px; color: var(--blue, #2359da); }
.executive-next { padding-inline-start: 12px; border-inline-start: 3px solid #2359da; margin-block: 14px; }
.executive-next strong { font-size: 13px; color: #687487; }
.source-facts { padding-inline-start: 20px; overflow-wrap: anywhere; }
.source-facts li { margin-block: 10px; }
.freshness-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: 14px; }
.freshness-item { border-block-start: 1px solid #e7e9ef; padding-block: 14px; min-width: 0; }
.suggested-questions { display: flex; flex-wrap: wrap; gap: 8px; margin-block: 18px 10px; }
.suggestion { border: 1px solid #dce3ed; border-radius: 12px; background: #f7f9fc; color: #25456c; padding: 9px 12px; font: inherit; font-size: 14px; cursor: pointer; }
.suggestion:hover { background: #edf3ff; border-color: #2359da; }
.suggestion:disabled { opacity: .55; cursor: wait; }
.badge.critical { color: #9f2636; background: #fff0f1; }
.department-highlight { font-size: 14px; line-height: 1.7; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.executive-command bdi { overflow-wrap: anywhere; }
@media (min-width: 1350px) { .executive-section:first-of-type .executive-items { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.technical-audit pre { white-space: pre-wrap; overflow-wrap: anywhere; text-align: left; font-size: 12px; line-height: 1.6; }

.alert-bell { position: relative; }
.alert-bell > summary { display: flex; align-items: center; gap: 6px; cursor: pointer; color: var(--blue); padding: 8px; border-radius: 12px; }
.alert-popover { position: absolute; inset-inline-end: 0; top: 100%; z-index: 20; width: min(360px, 86vw); padding: 20px; background: white; border: 1px solid var(--line); border-radius: 20px; box-shadow: 0 12px 35px #17233b18; max-height: 70vh; overflow: auto; }
.alert-popover h2 { font-size: 18px; }
.alert-recent { display: grid; gap: 6px; padding-block: 14px; border-bottom: 1px solid var(--line); font-size: 14px; }
.alert-filters { display: flex; gap: 16px; flex-wrap: wrap; align-items: end; margin-bottom: 20px; }
.alert-filters label { display: grid; gap: 8px; flex: 1 1 150px; }
.alert-row { padding-block: 18px; border-bottom: 1px solid var(--line); }
.alert-row h3 { margin-block: 12px; }
.alert-detail { margin-bottom: 24px; }
.alert-detail details { margin-block: 16px; }
.alert-detail summary { cursor: pointer; color: var(--blue); font-weight: 600; }

/* Alert presentation only: comfortable reading width and distinct evidence layers. */
.alerts-list > h2 { font-size: 20px; margin-block: 0 16px; }
.alerts-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 350px), 1fr)); gap: 18px; align-items: start; }
.alert-row { display: flex; flex-direction: column; min-width: 0; height: 100%; padding: 22px; border: 1px solid var(--line); border-radius: 22px; background: white; box-shadow: 0 3px 14px #17233b05; }
.alert-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.alert-class { font-size: 13px; font-weight: 600; color: var(--muted, #667085); }
.alert-row h3 { font-size: 19px; line-height: 1.7; margin-block: 16px 6px; overflow-wrap: anywhere; }
.alert-row h3 a { color: var(--navy, #17233b); }
.alert-department { font-size: 14px; font-weight: 600; color: var(--blue); margin-block: 0 10px; }
.alert-reason { font-size: 16px; line-height: 1.85; margin-block: 0 18px; max-inline-size: 70ch; overflow-wrap: anywhere; }
.alert-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px 20px; margin-block-start: auto; padding-block-start: 14px; border-block-start: 1px solid var(--line); }
.alert-time { display: block; font-size: 13px; color: var(--muted, #667085); line-height: 1.8; }
.alert-footer .text-button { margin: 0; padding: 4px 0; font-size: 14px; }
.alert-detail { padding: clamp(20px, 3vw, 32px); }
.alert-detail > h2 { font-size: 22px; line-height: 1.7; margin-block: 16px 8px; }
.alert-detail > .subtle { font-size: 13px; max-inline-size: 75ch; }
.alert-detail .executive-evidence { border: 1px solid var(--line); border-radius: 16px; background: #fafbfd; padding: 16px 20px; }
.alert-detail .executive-evidence > summary { font-size: 16px; line-height: 1.8; }
.alert-detail .evidence-readable { padding-block: 12px; line-height: 1.8; }
.alert-detail .evidence-readable > h4 { font-size: 18px; margin-block: 6px 12px; }
.alert-detail .source-department { background: white; border: 1px solid var(--line); border-radius: 12px; padding: 14px 18px; margin-block: 12px; }
.alert-detail .source-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 8px 24px; }
.alert-detail .source-facts li { margin-block: 2px; }
.alert-detail .technical-audit { border-block-start: 1px dashed #cbd3df; padding-block-start: 18px; }
.alert-detail .technical-audit > summary { font-size: 14px; color: #59677c; }
.alert-detail .technical-audit pre { max-height: 420px; overflow: auto; background: #f0f3f7; border-radius: 12px; padding: 16px; }
.alert-recent strong { font-size: 15px; line-height: 1.75; overflow-wrap: anywhere; }
.alert-filters select { min-width: 0; width: 100%; }
.alert-row a:focus-visible, .alert-detail summary:focus-visible, .alert-recent:focus-visible { outline: 2px solid var(--blue); outline-offset: 4px; border-radius: 4px; }
@media (max-width: 600px) {
  .alert-row { padding: 18px; }
  .alert-detail .executive-evidence { padding: 14px; }
  .alert-footer { align-items: flex-start; flex-direction: column; gap: 8px; }
}
