/* AuditFlow v7.9 — Jira-style project layout: left project sidebar holds the
 * project nav + assessment-flow buttons; content sits on the right. Supports
 * an icon-only collapsed rail. Light + Atlassian dark palettes. */

.standard-project-page {
  display: grid;
  grid-template-columns: 232px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}
.standard-project-page .project-main { min-width: 0; }

.project-sidebar {
  position: sticky;
  top: 8px;
  display: flex;
  flex-direction: column;
  max-height: calc(100vh - 24px);
  background: var(--panel, #fff);
  border: 1px solid var(--line, #dfe1e6);
  border-radius: var(--radius, 16px);
  box-shadow: var(--shadow, 0 10px 30px rgba(11,38,50,.07));
  overflow: hidden;
}
.project-sidebar-head {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 13px 13px 11px;
  border-bottom: 1px solid var(--line, #dfe1e6);
}
.project-sidebar-avatar {
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  background: var(--blue-soft, #e9f2ff);
  color: var(--blue, #0c66e4);
}
.project-sidebar-avatar svg { width: 17px; height: 17px; }
.project-sidebar-identity { flex: 1; min-width: 0; }
.project-sidebar-identity strong { display: block; font-size: 12.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.project-sidebar-identity small { display: block; margin-top: 2px; color: var(--muted, #5e6c84); font-size: 10.5px; }
.project-sidebar-head .icon-btn { flex: 0 0 auto; }

.project-sidebar-nav { flex: 1; overflow-y: auto; padding: 8px 8px 12px; }
.project-sidebar-nav .nav-group-label {
  margin: 12px 8px 5px;
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--muted-2, #7a869a);
}
.project-sidebar-nav button {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 8px 10px;
  margin: 1px 0;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #42526E;
  font-size: 12.5px;
  font-weight: 600;
  text-align: left;
  cursor: pointer;
}
.project-sidebar-nav button:hover { background: rgba(9, 30, 66, 0.04); }
.project-sidebar-nav button.active { background: #E9F2FF; color: #0C66E4; box-shadow: inset 3px 0 0 #0C66E4; }
.project-sidebar-nav button .sidebar-icon, .project-sidebar-nav button .phase-icon { flex: 0 0 18px; display: grid; place-items: center; }
.project-sidebar-nav button .sidebar-icon svg, .project-sidebar-nav button .phase-icon svg { width: 16px; height: 16px; }
.project-sidebar-nav button.active .sidebar-icon, .project-sidebar-nav button.active .phase-icon { color: #0C66E4; }
.project-sidebar-nav .sidebar-count { margin-left: auto; min-width: 20px; padding: 1px 6px; border-radius: 20px; background: rgba(9,30,66,.06); color: #6B778C; font-size: 10.5px; text-align: center; }
.project-sidebar-foot { padding: 9px; border-top: 1px solid var(--line, #dfe1e6); }
.project-sidebar-foot .btn { width: 100%; justify-content: flex-start; }

/* Collapsed icon-only rail (colored icons + hover tooltip). */
.project-sidebar.collapsed { grid-template-columns: auto; }
.standard-project-page:has(.project-sidebar.collapsed) { grid-template-columns: 56px minmax(0, 1fr); }
.project-sidebar.collapsed .project-sidebar-head { justify-content: center; padding: 12px 8px; }
.project-sidebar.collapsed .project-sidebar-identity, .project-sidebar.collapsed .sidebar-label, .project-sidebar.collapsed .sidebar-count { display: none; }
.project-sidebar.collapsed .project-sidebar-nav button { justify-content: center; padding: 9px 8px; }
.project-sidebar.collapsed .nav-group-label { text-align: center; font-size: 0; }
.project-sidebar.collapsed .nav-group-label::after { content: "· ·"; font-size: 9px; letter-spacing: 2px; }
.project-sidebar.collapsed .project-sidebar-foot .btn { justify-content: center; }
.project-sidebar.collapsed .project-sidebar-foot .btn .sidebar-label { display: none; }

/* Atlassian dark palette. */
[data-theme="dark"] .project-sidebar { background: #22272B; border-color: rgba(206,206,217,0.14); }
[data-theme="dark"] .project-sidebar-head { border-bottom-color: rgba(206,206,217,0.14); }
[data-theme="dark"] .project-sidebar-avatar { background: rgba(102,157,241,0.15); color: #669DF1; }
[data-theme="dark"] .project-sidebar-identity strong { color: #DEE4EA; }
[data-theme="dark"] .project-sidebar-nav button { color: #A9ABAF; }
[data-theme="dark"] .project-sidebar-nav button:hover { background: rgba(206,206,217,0.06); }
[data-theme="dark"] .project-sidebar-nav button.active { background: rgba(206,206,217,0.10); color: #DEE4EA; box-shadow: inset 3px 0 0 #669DF1; }
[data-theme="dark"] .project-sidebar-nav button.active .sidebar-icon, [data-theme="dark"] .project-sidebar-nav button.active .phase-icon { color: #669DF1; }
[data-theme="dark"] .project-sidebar-nav .sidebar-count { background: rgba(206,206,217,0.10); color: #A9ABAF; }
[data-theme="dark"] .project-sidebar-foot { border-top-color: rgba(206,206,217,0.14); }

@media (max-width: 960px) {
  .standard-project-page, .standard-project-page:has(.project-sidebar.collapsed) { grid-template-columns: 1fr; }
  .project-sidebar { position: static; max-height: none; }
  .project-sidebar-nav { display: grid; grid-template-columns: repeat(2, 1fr); }
  .project-sidebar.collapsed .project-sidebar-nav { grid-template-columns: repeat(6, 1fr); }
}

/* v7.9 top bar: icon-only controls with hover tooltips (no inline text). */
.top-actions .ai-status {
  position: relative;
  width: 32px;
  height: 32px;
  padding: 0;
  display: grid;
  place-items: center;
  background: transparent;
  color: var(--ink, #172b4d);
  border-radius: 3px;
  font-size: inherit;
  font-weight: inherit;
}
.top-actions .ai-status:hover { background: #f4f5f7; }
.top-actions .ai-status [data-icon] { width: 17px; height: 17px; }
.ai-status .ai-status-dot {
  position: absolute;
  top: 5px;
  right: 5px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #27a96a;
  border: 1.5px solid var(--panel, #fff);
}
.ai-status.busy .ai-status-dot { background: #d8891b; animation: pulse 1s infinite; }
.ai-status.warn .ai-status-dot { background: #d8891b; }
[data-theme="dark"] .top-actions .ai-status { color: #CECFD2; }
[data-theme="dark"] .top-actions .ai-status:hover { background: rgba(206,206,217,0.08); }
[data-theme="dark"] .ai-status .ai-status-dot { border-color: #22272B; }

/* v7.9 server collaboration: visible ownership, process ACLs, and leases. */
.collaboration-lock-banner {
  min-width: 0;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  margin: 0 0 12px;
  padding: 10px 12px;
  border: 1px solid #f5cd47;
  border-radius: 6px;
  background: #fff7d6;
  color: #172b4d;
}
.collaboration-lock-banner > span { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 4px; background: #ffe380; color: #7f5f01; }
.collaboration-lock-banner svg { width: 16px; height: 16px; }
.collaboration-lock-banner strong, .collaboration-lock-banner small { display: block; }
.collaboration-lock-banner strong { font-size: 11px; }
.collaboration-lock-banner small { margin-top: 3px; color: #6b5d25; font-size: 9px; line-height: 1.45; }
.collaboration-lock-banner em { color: #7f5f01; font-size: 9px; font-style: normal; white-space: nowrap; }
.collaboration-lock-banner.compact { margin-bottom: 10px; }
.ai-result-row.collaboration-locked, .trace-indicator-node.collaboration-locked { background: #fffae7; }
.ai-result-row.collaboration-locked { box-shadow: inset 3px 0 0 #e2b203; }
.collaboration-member-policy { align-content: start; padding: 9px; border: 1px solid var(--line, #dfe1e6); border-radius: 6px; background: var(--panel-subtle, #f7f8f9); }
.collaboration-member-grid .collaboration-member-policy > small { margin: 2px 0 0; font-size: 8px; }
.collaboration-member-grid .collaboration-member-policy select[multiple] { height: 76px; padding: 4px; }
.collaboration-member-grid .collaboration-member-policy select[multiple] option { padding: 4px 6px; }
[data-theme="dark"] .collaboration-lock-banner { border-color: #7f5f01; background: #332e1b; color: #dee4ea; }
[data-theme="dark"] .collaboration-lock-banner small { color: #b6a868; }
[data-theme="dark"] .ai-result-row.collaboration-locked, [data-theme="dark"] .trace-indicator-node.collaboration-locked { background: rgba(226,178,3,.08); }

@media (max-width: 720px) {
  .collaboration-lock-banner { grid-template-columns: 30px minmax(0, 1fr); }
  .collaboration-lock-banner em { grid-column: 2; }
}

/* Keep global controls reachable when translated navigation grows. */
.jira-header { overflow: hidden; }
.jira-header .brand { flex: 0 0 auto; }
.jira-header .side-nav { min-width: 0; flex: 1 1 auto; overflow: hidden; }
.jira-header .side-nav a { flex: 0 0 auto; white-space: nowrap; }
.jira-header .top-actions { position: relative; z-index: 2; flex: 0 0 auto; margin-left: 8px; }
.jira-header .top-actions .icon-btn,
.jira-header .top-actions .profile-link { flex: 0 0 32px; }
.jira-header #themeToggle,
.jira-header #languageToggle { display: grid; }

@media (max-width: 1780px) {
  .jira-header .side-nav .nav-secondary,
  .jira-header .side-nav .nav-group-label { display: none; }
}

@media (max-width: 760px) {
  .jira-header { overflow: visible; }
  .jira-header .top-actions #aiStatus,
  .jira-header .top-actions #notificationsBtn,
  .jira-header .top-actions .help-manual-link { display: none; }
  .jira-header .top-actions { gap: 6px; margin-left: auto; }
  .jira-header .top-actions #menuToggle { display: grid; }
}

/* Match geometry and control states across the light and dark palettes. */
[data-theme="dark"] .app-shell { padding-top: 56px; }
[data-theme="dark"] .jira-header,
[data-theme="dark"] .jira-header .brand { height: 56px; }
[data-theme="dark"] .topbar { height: 36px; padding: 0 24px; }
[data-theme="dark"] .jira-header .top-actions .icon-btn {
  border-color: #3d444d;
  background: #21262d;
  color: #dee4ea;
}
[data-theme="dark"] .jira-header .top-actions .icon-btn:hover {
  border-color: #6e7681;
  background: #30363d;
}
[data-theme="dark"] .jira-header .top-actions .icon-btn[aria-pressed="true"] {
  border-color: #669df1;
  color: #79c0ff;
  background: rgba(56, 139, 253, 0.16);
}
[data-theme="light"] .jira-header .top-actions .icon-btn[aria-pressed="true"] {
  border-color: #0c66e4;
  color: #0c66e4;
  background: #e9f2ff;
}
[data-theme="dark"] .table-toolbar,
[data-theme="dark"] .data-table th { background: #161b22; }
[data-theme="dark"] .data-table td { color: #b1bac4; }
[data-theme="dark"] .data-table tbody tr:hover { background: rgba(56, 139, 253, 0.08); }
[data-theme="dark"] .code-tag {
  border-color: rgba(56, 139, 253, 0.38);
  background: rgba(56, 139, 253, 0.12);
  color: #79c0ff;
}
