/* ═══ DARK THEME TOPBAR (same as TenantTracker) ═══ */
body.dark .topbar { background:#1f1f1f; border-bottom-color:#333; }
body.dark .topbar-brand-name { color:#e8e8e8; }
body.dark .topbar-brand-sep { background:#555; }
body.dark .topbar-app-name { color:#999; }
body.dark .topbar-search { background:#3b3b3b; }
body.dark .topbar-search:focus-within { background:#2d2d2d; border-color:#4da3e8; }
body.dark .topbar-search input { color:#f3f2f1; }
body.dark .topbar-icon-btn { color:#ccc; }
body.dark .topbar-icon-btn:hover { background:#3b3b3b; color:#fff; }
body.dark .search-results { background:#2d2d2d; border-color:#444; }
body.dark .search-item { color:#ddd; }
body.dark .search-item:hover { background:#3b3b3b; }

/* ═══ KBD STYLE ═══ */
.kbd { background:var(--row-hover); border:1px solid var(--azure-border); border-radius:2px; padding:1px 6px; font-size:10px; font-family:monospace; }

/* ═══ FETCH BAR ═══ */
.fetch-bar {
  background: var(--blade-bg);
  border-bottom: 1px solid var(--azure-border);
  padding: 8px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-shrink: 0;
  flex-wrap: wrap;
  z-index: 10;
}
.fetch-bar-left { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.fetch-bar-right { display:flex; align-items:center; gap:8px; flex-shrink:0; }
.fetch-label { font-size:12px; font-weight:600; color:var(--azure-text-muted); white-space:nowrap; }
.fetch-arrow { font-size:12px; color:var(--azure-text-light); }
.fetch-date-input {
  height:28px; padding:0 8px; border:1px solid var(--azure-border);
  border-radius:2px; font-size:12px; color:var(--azure-text);
  background:var(--blade-bg); outline:none; cursor:pointer;
}
.fetch-date-input:focus { border-color:var(--azure-blue); }
.fetch-presets { display:flex; gap:4px; }
.fetch-preset {
  height:24px; padding:0 8px; border:1px solid var(--azure-border);
  border-radius:10px; font-size:11px; background:none; color:var(--azure-text-muted);
  cursor:pointer; transition:all .15s;
}
.fetch-preset:hover, .fetch-preset.active {
  background:var(--azure-blue); color:#fff; border-color:var(--azure-blue);
}
.fetch-go-btn {
  display:flex; align-items:center; gap:5px; height:28px; padding:0 12px;
  background:var(--azure-blue); color:#fff; border:none; border-radius:2px;
  font-size:12px; font-weight:600; cursor:pointer; transition:background .15s;
}
.fetch-go-btn:hover { background:var(--azure-blue-hover); }
.fetch-go-btn:disabled { background:#c8c6c4; cursor:not-allowed; }
.fetch-status-text { font-size:12px; color:var(--azure-text-muted); }
.fetch-status-text.loaded { color:var(--azure-green); font-weight:600; }
.fetch-status-text.error { color:var(--azure-red); }

/* ═══ LOADING OVERLAY ═══ */
.loading-overlay {
  position:absolute; inset:0; background:rgba(0,0,0,.45);
  z-index:500; display:flex; align-items:center; justify-content:center;
}
.main { position:relative; flex:1; display:flex; flex-direction:column; overflow:hidden; }
.loading-card {
  background:var(--blade-bg); border:1px solid var(--azure-border);
  border-radius:4px; padding:28px 32px; min-width:360px;
  box-shadow:0 8px 32px rgba(0,0,0,.3);
}
.loading-title { font-size:15px; font-weight:600; color:var(--azure-text); margin-bottom:18px; }
.loading-row { display:flex; align-items:center; justify-content:space-between; margin-bottom:6px; font-size:12px; color:var(--azure-text-muted); }
.loading-count { font-weight:700; color:var(--azure-blue); font-variant-numeric:tabular-nums; }
.progress-track { height:4px; background:var(--azure-border); border-radius:2px; overflow:hidden; margin-bottom:4px; }
.progress-fill { height:100%; background:var(--azure-blue); border-radius:2px; transition:width .3s; }
.loading-note { font-size:11px; color:var(--azure-text-light); margin-top:14px; margin-bottom:14px; }
.fetch-cancel-btn {
  width:100%; padding:7px 0; border:1px solid var(--azure-border); background:none;
  color:var(--azure-text-muted); cursor:pointer; border-radius:2px; font-size:12px;
}
.fetch-cancel-btn:hover { background:var(--row-hover); color:var(--azure-text); }

/* ═══ SUB-TABS (sign-ins / audit category filter) ═══ */
.sub-tabs {
  display:flex; gap:0; background:var(--blade-bg);
  border-bottom:1px solid var(--azure-border);
  padding:0 4px; flex-shrink:0; overflow-x:auto;
}
.sub-tab {
  padding:7px 14px; font-size:12px; font-weight:500;
  color:var(--azure-text-muted); background:none; border:none;
  border-bottom:2px solid transparent; cursor:pointer;
  white-space:nowrap; transition:color .15s; margin-bottom:-1px;
}
.sub-tab:hover { color:var(--azure-text); }
.sub-tab.active { color:var(--azure-blue); border-bottom-color:var(--azure-blue); font-weight:600; }

/* ═══ TOOLBAR SELECT ═══ */
.toolbar-select {
  height:26px; padding:0 6px; border:1px solid var(--azure-border);
  border-radius:2px; background:var(--blade-bg); color:var(--azure-text);
  font-size:12px; cursor:pointer; outline:none;
}
.toolbar-select:focus { border-color:var(--azure-blue); }

/* ═══ DATA STATUS BAR ═══ */
.data-status-bar {
  background:var(--row-hover); border-bottom:1px solid var(--azure-border);
  padding:5px 12px; font-size:11px; color:var(--azure-text-muted); flex-shrink:0;
}

/* ═══ EMPTY STATE ═══ */
.empty-state {
  display:flex; flex-direction:column; align-items:center;
  justify-content:center; padding:80px 40px; text-align:center;
}
.empty-icon { font-size:56px; margin-bottom:16px; opacity:.4; }
.empty-title { font-size:20px; font-weight:300; color:var(--azure-text); margin-bottom:8px; }
.empty-sub { font-size:13px; color:var(--azure-text-muted); max-width:480px; line-height:1.6; margin-bottom:10px; }
.empty-tip { font-size:12px; color:var(--azure-text-light); }

/* ═══ PAGINATION BAR ═══ */
.pagination-bar {
  display:flex; align-items:center; gap:8px; padding:6px 12px;
  background:var(--blade-bg); border-top:1px solid var(--azure-border);
  font-size:12px; color:var(--azure-text-muted); flex-shrink:0;
}
.pagination-bar button {
  padding:3px 10px; border:1px solid var(--azure-border); border-radius:2px;
  background:none; color:var(--azure-text); cursor:pointer; font-size:11px;
}
.pagination-bar button:hover { background:var(--row-hover); }
.pagination-bar button:disabled { opacity:.4; cursor:not-allowed; }
.pagination-bar .page-info { flex:1; text-align:center; }

/* ═══ OVERVIEW STAT BARS ═══ */
.dist-bar-row { display:flex; align-items:center; gap:8px; margin-bottom:8px; font-size:12px; }
.dist-bar-label { min-width:120px; color:var(--azure-text-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dist-bar-track { flex:1; height:6px; background:var(--azure-border); border-radius:3px; overflow:hidden; }
.dist-bar-fill { height:100%; border-radius:3px; }
.dist-bar-count { min-width:48px; text-align:right; font-weight:600; color:var(--azure-text); font-variant-numeric:tabular-nums; }

/* ═══ DETAIL PANEL EXTRA ═══ */
.detail-prop-block { margin-bottom:4px; }
.detail-prop-label { font-size:11px; color:var(--azure-text-muted); margin-bottom:1px; }
.detail-prop-value { font-size:13px; color:var(--azure-text); word-break:break-all; }
.detail-prop-value.mono { font-family:monospace; font-size:11px; }
.detail-prop-value.code-block {
  background:var(--row-hover); padding:8px; border-radius:2px;
  font-family:monospace; font-size:11px; white-space:pre-wrap; word-break:break-all;
  max-height:300px; overflow-y:auto; margin-top:4px;
  border:1px solid var(--azure-border);
}
.detail-kv-table { width:100%; border-collapse:collapse; font-size:12px; margin-top:6px; }
.detail-kv-table td { padding:5px 8px; border-bottom:1px solid var(--azure-border); vertical-align:top; }
.detail-kv-table td:first-child { font-weight:600; color:var(--azure-text-muted); white-space:nowrap; width:40%; }
.detail-kv-table td:last-child { word-break:break-all; }
.detail-kv-table tr:last-child td { border-bottom:none; }

/* CA Policies table */
.ca-table { width:100%; border-collapse:collapse; font-size:11px; margin-top:8px; }
.ca-table th { padding:5px 8px; background:var(--row-hover); font-weight:600; color:var(--azure-text-muted); text-align:left; border-bottom:1px solid var(--azure-border); font-size:10px; text-transform:uppercase; }
.ca-table td { padding:5px 8px; border-bottom:1px solid var(--azure-border); vertical-align:top; word-break:break-word; }
.ca-table tr:last-child td { border-bottom:none; }

/* Modified props */
.mod-table { width:100%; border-collapse:collapse; font-size:11px; margin-top:8px; }
.mod-table th { padding:5px 8px; background:var(--row-hover); font-weight:600; color:var(--azure-text-muted); text-align:left; border-bottom:1px solid var(--azure-border); font-size:10px; text-transform:uppercase; }
.mod-table td { padding:5px 8px; border-bottom:1px solid var(--azure-border); vertical-align:top; word-break:break-word; }
.mod-table tr:last-child td { border-bottom:none; }
.mod-old { color:var(--azure-red); text-decoration:line-through; }
.mod-new { color:var(--azure-green); }

/* Sign-in row hover effect */
.data-table tbody tr { cursor:pointer; }

/* Risk badges */
.badge-risk-none { background:var(--tag-bg); color:var(--azure-text-muted); }
.badge-risk-low { background:#fff4ce; color:#7a5200; }
.badge-risk-medium { background:#fff1e5; color:var(--azure-orange); }
.badge-risk-high { background:#fde7e9; color:var(--azure-red); }
.badge-risk-hidden { background:#f4f0ff; color:var(--azure-purple); }

/* Operation type badges */
.badge-op-add { background:#dff6dd; color:var(--azure-green); }
.badge-op-update { background:var(--azure-blue-light); color:var(--azure-blue); }
.badge-op-delete { background:#fde7e9; color:var(--azure-red); }
.badge-op-other { background:var(--tag-bg); color:var(--azure-text-muted); }

/* CA status */
.badge-ca-success { background:#dff6dd; color:var(--azure-green); }
.badge-ca-failure { background:#fde7e9; color:var(--azure-red); }
.badge-ca-notapplied { background:var(--tag-bg); color:var(--azure-text-muted); }
.badge-ca-unknown { background:#fff4ce; color:#7a5200; }

/* IP address monospace */
.cell-ip { font-family:monospace; font-size:11px; }
.cell-corr { font-family:monospace; font-size:10px; color:var(--azure-text-light); }

/* ═══ MODALS ═══ */
.modal-backdrop {
  display:none; position:fixed; inset:0; z-index:2000;
  background:rgba(0,0,0,.5); align-items:center; justify-content:center;
}
.modal-backdrop.open { display:flex; }
.modal {
  background:var(--blade-bg); border:1px solid var(--azure-border);
  border-radius:4px; width:100%; max-width:560px;
  box-shadow:0 8px 32px rgba(0,0,0,.3);
  max-height:85vh; display:flex; flex-direction:column; overflow:hidden;
}
.modal-header {
  display:flex; align-items:center; gap:12px;
  padding:16px 20px; border-bottom:1px solid var(--azure-border); flex-shrink:0;
}
.modal-header-title { font-size:16px; font-weight:600; color:var(--azure-text); flex:1; }
.modal-close {
  background:none; border:none; font-size:18px; cursor:pointer;
  color:var(--azure-text-muted); width:28px; height:28px;
  display:flex; align-items:center; justify-content:center; border-radius:2px;
}
.modal-close:hover { background:var(--row-hover); color:var(--azure-text); }
.modal-body { padding:20px; overflow-y:auto; flex:1; }
.modal-footer {
  padding:12px 20px; border-top:1px solid var(--azure-border);
  display:flex; justify-content:flex-end; gap:8px; flex-shrink:0;
}
.modal-btn {
  padding:6px 18px; border:1px solid var(--azure-border); border-radius:2px;
  background:none; color:var(--azure-text); cursor:pointer; font-size:13px;
}
.modal-btn:hover { background:var(--row-hover); }
.modal-btn.primary { background:var(--azure-blue); color:#fff; border-color:var(--azure-blue); }
.modal-btn.primary:hover { background:var(--azure-blue-hover); }

/* Theme card labels (theme-grid/card/preview are in themes.css) */
.theme-name { font-size:11px; font-weight:600; color:var(--azure-text); margin-top:4px; }
.theme-desc { font-size:10px; color:var(--azure-text-muted); margin-top:1px; }

/* ═══ LAYOUT OVERRIDES ═══ */
/* Override base.css .content-area (which has overflow-y:auto) and .tab-pane (which has padding:16px 20px) */
.content-area { display:flex !important; flex-direction:column !important; flex:1 !important; overflow:hidden !important; }
.tab-pane { display:none !important; flex-direction:column; flex:1; overflow:hidden; padding:0 !important; }
.tab-pane.active { display:flex !important; }
#pane-overview.active { display:block !important; overflow-y:auto !important; padding:16px 20px !important; }

/* Make the table wrapper fill available flex space */
#pane-signins .data-table-wrap,
#pane-audit .data-table-wrap,
#pane-msgtrace .data-table-wrap,
#pane-riskdet .data-table-wrap,
#pane-riskyusers .data-table-wrap { flex:1; min-height:0; overflow:auto; max-height:none; }

/* Notification description — render \n as line breaks */
.nf-desc { white-space: pre-line; }

/* Notification copy button */
.nf-item { position: relative; }
.nf-copy-btn {
  display: none; position: absolute; top: 6px; right: 6px;
  background: var(--blade-bg); border: 1px solid var(--azure-border);
  border-radius: 2px; font-size: 10px; padding: 2px 7px;
  cursor: pointer; color: var(--azure-text-muted); white-space: nowrap;
}
.nf-item:hover .nf-copy-btn { display: block; }
.nf-copy-btn:hover { background: var(--azure-blue); color: #fff; border-color: var(--azure-blue); }

/* Dark mode date input */
body.dark .fetch-date-input { background:#2d2d2d; border-color:#3a3a3a; color:#f3f2f1; color-scheme:dark; }
body.dark .toolbar-select { background:#2d2d2d; border-color:#3a3a3a; color:#f3f2f1; }
body.dark .loading-card { background:#2d2d2d; border-color:#3a3a3a; }
body.dark .sub-tab.active { color:var(--azure-blue); }
body.dark .modal { background:#2d2d2d; border-color:#3a3a3a; }
