/* LC_95I_ADMIN_DASHBOARD_CSS_START */
:root {
    --bg: #111318;
    --panel: #1b2029;
    --panel-strong: #242b36;
    --text: #f4f0e7;
    --muted: #b9c0ca;
    --line: #3a4350;
    --accent: #d5b36a;
    --danger: #f0a7a7;
    --success: #a9dfbf;
    --warn: #ffd58a;
}

* { box-sizing: border-box; }
body.admin-dashboard {
    margin: 0;
    min-height: 100vh;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    background: radial-gradient(circle at top, #202839 0, var(--bg) 52%);
    color: var(--text);
}

a { color: var(--accent); }
.admin-header,
.admin-footer {
    padding: 1rem clamp(1rem, 4vw, 3rem);
    background: rgba(0, 0, 0, 0.28);
    border-bottom: 1px solid var(--line);
}
.admin-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}
.admin-header h1 { margin: 0; font-size: clamp(1.5rem, 3vw, 2.4rem); }
.eyebrow {
    margin: 0 0 .35rem;
    color: var(--accent);
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: .75rem;
    font-weight: 700;
}
.admin-main { padding: clamp(1rem, 4vw, 3rem); }
.panel,
.status-card,
.module-card,
.health-card {
    background: color-mix(in srgb, var(--panel) 90%, black);
    border: 1px solid var(--line);
    border-radius: 16px;
    box-shadow: 0 16px 48px rgba(0, 0, 0, .25);
}
.panel { padding: 1.25rem; margin-bottom: 1.25rem; }
.login-panel { max-width: 520px; margin: 2rem auto; }
.staff-form { display: grid; gap: 1rem; margin-top: 1rem; }
.staff-form label { display: grid; gap: .35rem; color: var(--muted); }
input,
button {
    font: inherit;
    border-radius: 10px;
    border: 1px solid var(--line);
    padding: .75rem .9rem;
}
input { background: #0f131a; color: var(--text); }
button {
    background: var(--accent);
    color: #1d1605;
    font-weight: 700;
    cursor: pointer;
}
.logout-form button { padding: .55rem .75rem; }
.alert,
.flash {
    border-radius: 12px;
    padding: .8rem 1rem;
    margin: 1rem 0;
    border: 1px solid var(--line);
}
.alert,
.flash-error { background: rgba(240, 167, 167, .12); color: var(--danger); }
.flash-success { background: rgba(169, 223, 191, .13); color: var(--success); }
.flash-info { background: rgba(213, 179, 106, .12); color: var(--accent); }
.safe-note,
.redaction-note { color: var(--muted); border-left: 4px solid var(--accent); padding-left: 1rem; margin-top: 1rem; }
.status-grid,
.nav-grid,
.ops-health-grid,
.detail-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    margin-bottom: 1.25rem;
}
.detail-grid { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.status-card,
.module-card,
.health-card { padding: 1rem; }
.status-card .label,
.module-card span,
.health-status,
small,
dt { color: var(--muted); }
.status-card strong,
.health-card strong { display: block; margin: .2rem 0; font-size: 1.1rem; }
.health-card { border-top: 4px solid var(--line); }
.health-card.status-ok { border-top-color: var(--success); }
.health-card.status-warn { border-top-color: var(--warn); }
.health-card.status-fail { border-top-color: var(--danger); }
.health-status { display: inline-block; font-size: .75rem; font-weight: 800; letter-spacing: .08em; }
.module-card-header { display: flex; justify-content: space-between; gap: .75rem; align-items: baseline; }
.module-card h3,
.health-card h3 { margin: 0 0 .5rem; }
.module-card.is-disabled { opacity: .76; }
dl { display: grid; grid-template-columns: 7rem 1fr; gap: .25rem .75rem; margin: .75rem 0 0; }
dd { margin: 0; }
.warning-panel { border-color: color-mix(in srgb, var(--danger) 60%, var(--line)); }
.mini-table { width: 100%; border-collapse: collapse; margin-top: 1rem; }
.mini-table th,
.mini-table td { text-align: left; padding: .6rem; border-bottom: 1px solid var(--line); vertical-align: top; }
.mini-table th { color: var(--accent); }
.ops-intro { border-color: color-mix(in srgb, var(--accent) 55%, var(--line)); }
.admin-footer { border-top: 1px solid var(--line); border-bottom: 0; color: var(--muted); }
@media (max-width: 720px) {
    .admin-header { align-items: flex-start; flex-direction: column; }
    dl { grid-template-columns: 1fr; }
}
/* LC_95J_ADMIN_OPS_HEALTH_CSS_END */
/* LC_95I_ADMIN_DASHBOARD_CSS_END */

/* LC_95K_SUPPORT_DASHBOARD_CSS_START */
.support-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 1rem;
    margin-bottom: 1.25rem;
}
.support-form textarea,
.support-form select {
    width: 100%;
    font: inherit;
    border-radius: 10px;
    border: 1px solid var(--line);
    padding: .75rem .9rem;
    background: #0f131a;
    color: var(--text);
}
.support-form textarea { min-height: 6rem; resize: vertical; }
.support-intro { border-color: color-mix(in srgb, var(--accent) 45%, var(--line)); }
.safe-note ul { margin-top: .75rem; }
.success-panel { border-color: var(--success); }
.warning-panel { border-color: var(--warn); }
.redaction-note { color: var(--muted); }
/* LC_95K_SUPPORT_DASHBOARD_CSS_END */

/* LC_95L_MODERATION_DASHBOARD_CSS_START */
.moderation-hero { border-color: rgba(255, 188, 90, 0.32); }
.moderation-controls { border-color: rgba(129, 212, 250, 0.28); }
.moderation-form textarea { min-height: 7rem; }
.moderation-table { overflow-x: auto; }
.moderation-table code { word-break: break-all; }
.redaction-note { color: var(--muted); font-size: 0.95rem; }
.metric-fail { border-color: rgba(255, 110, 110, 0.6); }
.metric-warn { border-color: rgba(255, 210, 120, 0.45); }
.metric-ok { border-color: rgba(120, 220, 160, 0.4); }
/* LC_95L_MODERATION_DASHBOARD_CSS_END */

/* LC_95M_CONTENT_PACK_MANAGER_CSS_START */
.content-pack-hero,
.content-pack-controls,
.content-pack-checklist {
    border-style: solid;
}
.content-pack-form input,
.content-pack-form select,
.content-pack-form textarea {
    max-width: 100%;
}
.content-pack-stages .metric-card pre {
    max-height: 14rem;
    overflow: auto;
}
.content-pack-checklist li {
    margin-bottom: 0.35rem;
}
/* LC_95M_CONTENT_PACK_MANAGER_CSS_END */


/* LC_95N_WORLD_CONTENT_EDITOR_CSS_START */
.world-content-editor { border-left: 4px solid rgba(255, 255, 255, 0.22); }
.cards-grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); }
.compact-card { min-height: 5rem; }
.metric-label { display: block; font-size: 0.85rem; opacity: 0.78; }
.metric-value { display: block; font-size: 1.75rem; margin-top: 0.25rem; }
.stacked-form { display: grid; gap: 1rem; }
.compact-form { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); align-items: end; }
.result-box { border-radius: 0.75rem; margin-top: 1rem; padding: 1rem; border: 1px solid rgba(255, 255, 255, 0.2); }
.result-box.success { background: rgba(46, 160, 67, 0.12); }
.result-box.error { background: rgba(248, 81, 73, 0.12); }
.key-values { display: grid; gap: 0.35rem 1rem; grid-template-columns: minmax(8rem, 12rem) 1fr; }
.key-values dt { font-weight: 700; opacity: 0.8; }
.key-values dd { margin: 0; }
.collection-preview { margin: 0.5rem 0; padding: 0.75rem; border: 1px solid rgba(255, 255, 255, 0.14); border-radius: 0.75rem; }
.guardrail-card ul { margin-bottom: 0; }
/* LC_95N_WORLD_CONTENT_EDITOR_CSS_END */


/* LC_95O1_AI_RUNTIME_CSS_START */
.ai-runtime-hero,
.ai-runtime-cards {
    border-color: rgba(122, 154, 196, 0.45);
}
.ai-runtime-hero .redaction-note {
    max-width: 72rem;
}
/* LC_95O1_AI_RUNTIME_CSS_END */

/* LC_95O2_AI_CONTEXT_PACK_CSS_START */
.ai-context-pack-dashboard .filter-form {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    align-items: end;
}
.ai-context-pack-dashboard code {
    overflow-wrap: anywhere;
}
.ai-context-pack-dashboard .wide-card {
    margin-top: 1rem;
}
/* LC_95O2_AI_CONTEXT_PACK_CSS_END */


/* LC_95O3_AI_GENERATED_PROPOSAL_CSS_START */
.ai-generated-proposals-panel .filter-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
    gap: 0.85rem;
    margin: 1rem 0;
}
.ai-generated-proposals-panel .filter-grid label {
    display: grid;
    gap: 0.35rem;
}
.ai-generated-proposals-panel .filter-grid input,
.ai-generated-proposals-panel .filter-grid select {
    width: 100%;
}
.ai-generated-proposals-panel code {
    white-space: pre-wrap;
    word-break: break-word;
}
.ai-generated-proposals-panel .warning {
    border-style: dashed;
}
/* LC_95O3_AI_GENERATED_PROPOSAL_CSS_END */


/* LC_95O4_AI_PROPOSAL_VALIDATION_CSS_START */
.ai-validation-panel .warning { border: 1px solid currentColor; padding: .75rem; font-weight: 600; }
.ai-validation-panel table { width: 100%; border-collapse: collapse; margin-top: 1rem; }
.ai-validation-panel th, .ai-validation-panel td { border-bottom: 1px solid currentColor; padding: .45rem; text-align: left; vertical-align: top; }
/* LC_95O4_AI_PROPOSAL_VALIDATION_CSS_END */

/* LC_95O5_AI_PROPOSAL_REVIEW_CSS */
.ai-review-panel .stacked-form textarea { min-height: 5rem; }
.ai-review-panel .warning { border-left: 4px solid currentColor; padding-left: 1rem; }
.ai-review-panel .notice.success { font-weight: 600; }


/* LC_95P_ROLLBACK_COMPENSATION_DASHBOARD_CSS */
.rollback-compensation-panel { border-left: 4px solid #7a2e2e; }
.danger-panel { border: 1px solid rgba(154, 47, 47, 0.4); }
.compact-record { border-top: 1px solid rgba(255,255,255,0.12); padding: 0.75rem 0; }
.compact-record dt { font-weight: 700; }
.two-column { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 1rem; }
.stacked-form textarea { width: 100%; }

/* LC_95Q_AUDIT_EVIDENCE_SEARCH_STYLES */
.audit-evidence-panel .filter-form {
  align-items: end;
}
.status-list {
  list-style: none;
  padding-left: 0;
}
.status-list li {
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  padding: 0.45rem 0;
}


/* LC_95R_BACKUP_MONITORING_INCIDENT_DASHBOARD_CSS */
.backup-monitoring-incident-panel .runbook-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
  gap: 1rem;
}
.backup-monitoring-incident-panel .posture-card {
  border: 1px solid rgba(255, 255, 255, 0.14);
  padding: 0.9rem;
  border-radius: 0.5rem;
}
.backup-monitoring-incident-panel .posture-card strong {
  display: block;
  margin-bottom: 0.25rem;
}
.backup-monitoring-incident-panel .incident-summary {
  border-left: 4px solid currentColor;
  padding-left: 1rem;
}
.backup-monitoring-incident-panel .filter-form {
  align-items: end;
}

/* LC_95S_ADMIN_DASHBOARD_UX_ACCESSIBILITY_CSS_START */
.skip-link {
  position: absolute;
  left: 1rem;
  top: 0.5rem;
  transform: translateY(-140%);
  background: #fff8dc;
  color: #1d1b16;
  padding: 0.65rem 0.9rem;
  border: 2px solid currentColor;
  border-radius: 0.35rem;
  z-index: 1000;
}
.skip-link:focus,
.skip-link:focus-visible {
  transform: translateY(0);
}
.admin-dashboard :focus-visible {
  outline: 3px solid #f5d06f;
  outline-offset: 3px;
}
.admin-dashboard button,
.admin-dashboard input,
.admin-dashboard select,
.admin-dashboard textarea,
.admin-dashboard a {
  min-height: 44px;
}
.admin-screen-reader-summary {
  max-width: 60rem;
  margin: 0.25rem 0 0;
  font-size: 0.95rem;
}
.a11y-note,
.form-guidance,
.error-summary,
.risk-acknowledgement {
  border-left: 4px solid currentColor;
  padding-left: 0.85rem;
}
.touch-target {
  min-width: 44px;
  min-height: 44px;
}
.admin-main[tabindex="-1"]:focus {
  outline: none;
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.001ms !important;
  }
}
@media (forced-colors: active), (prefers-contrast: more) {
  .flash,
  .posture-card,
  .danger-panel,
  .error-summary,
  .risk-acknowledgement {
    border: 2px solid CanvasText;
  }
  .skip-link {
    background: Canvas;
    color: CanvasText;
  }
}
@media (max-width: 720px) {
  .admin-header,
  .two-column,
  .backup-monitoring-incident-panel .runbook-grid {
    grid-template-columns: 1fr;
  }
  .logout-form {
    justify-self: start;
  }
}
/* LC_95S_ADMIN_DASHBOARD_UX_ACCESSIBILITY_CSS_END */
