/* DISPATCH */
.dispatch-layout {
  display: grid;
  grid-template-columns: 1fr 1.4fr 280px;
  gap: 16px;
  height: calc(100% - 60px);
}
.dispatch-queue, .dispatch-active, .dispatch-units {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 14px;
  overflow-y: auto;
}
.dispatch-queue h3, .dispatch-active h3, .dispatch-units h3 {
  font-size: 11px; font-family: var(--font-mono);
  color: var(--text-muted); letter-spacing: 1px;
  margin-bottom: 12px; text-transform: uppercase;
}
.call-list { display: flex; flex-direction: column; gap: 8px; }
.call-card {
  background: var(--bg-tertiary);
  border: 1px solid var(--border);
  border-left: 3px solid var(--code2);
  border-radius: 4px;
  padding: 10px 12px;
  cursor: pointer;
  transition: var(--transition);
}
.call-card:hover { background: var(--bg-hover); }
.call-card.code1 { border-left-color: var(--code1); }
.call-card.code2 { border-left-color: var(--code2); }
.call-card.code3 { border-left-color: var(--code3); }
.call-card.code4 { border-left-color: var(--code4); }
.call-card .call-header {
  display: flex; justify-content: space-between; align-items: center;
  margin-bottom: 4px;
}
.call-card .call-id { font-family: var(--font-mono); font-size: 11px; color: var(--text-muted); }
.call-card .call-priority {
  font-size: 10px; font-weight: 700; padding: 1px 6px;
  border-radius: 3px; font-family: var(--font-mono);
}
.call-card .call-priority.code1 { background: rgba(34,197,94,0.2); color: var(--code1); }
.call-card .call-priority.code2 { background: rgba(59,130,246,0.2); color: var(--code2); }
.call-card .call-priority.code3 { background: rgba(245,158,11,0.2); color: var(--code3); }
.call-card .call-priority.code4 { background: rgba(239,68,68,0.2); color: var(--code4); }
.call-card .call-type { font-weight: 600; font-size: 13px; margin-bottom: 2px; }
.call-card .call-loc { font-size: 12px; color: var(--text-secondary); }
.call-card .call-time { font-size: 11px; color: var(--text-muted); margin-top: 4px; }

.active-call-panel { min-height: 200px; }
.active-call-detail .acd-header {
  display: flex; justify-content: space-between; align-items: flex-start;
  margin-bottom: 16px;
}
.active-call-detail .acd-id { font-family: var(--font-mono); font-size: 12px; color: var(--text-muted); }
.active-call-detail .acd-type { font-size: 18px; font-weight: 600; margin: 4px 0; }
.active-call-detail .acd-desc {
  background: var(--bg-tertiary); padding: 12px;
  border-radius: var(--radius); margin: 12px 0;
  font-size: 13px; line-height: 1.6; color: var(--text-secondary);
}
.acd-info { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 16px; }
.acd-info-item { font-size: 12px; }
.acd-info-item .lab { color: var(--text-muted); display: block; font-size: 11px; }
.acd-actions { display: flex; flex-wrap: wrap; gap: 8px; }

.units-list { display: flex; flex-direction: column; gap: 6px; }
.unit-item {
  display: flex; justify-content: space-between; align-items: center;
  padding: 8px 10px; background: var(--bg-tertiary);
  border-radius: 4px; font-size: 12px;
}
.unit-item .u-status { font-size: 10px; font-weight: 600; padding: 1px 6px; border-radius: 3px; }
.unit-item .u-status.available { background: rgba(34,197,94,0.2); color: var(--success); }
.unit-item .u-status.busy { background: rgba(245,158,11,0.2); color: var(--warning); }
.unit-item .u-status.emergency { background: rgba(239,68,68,0.2); color: var(--danger); }

/* CASES */
.cases-layout {
  display: grid; grid-template-columns: 340px 1fr;
  gap: 16px; height: calc(100% - 60px);
}
.case-list {
  background: var(--bg-card); border: 1px solid var(--border);
  border-radius: var(--radius); overflow-y: auto;
}
.case-item {
  padding: 12px 14px; border-bottom: 1px solid var(--border);
  cursor: pointer; transition: var(--transition);
}
.case-item:hover, .case-item.active { background: var(--bg-hover); }
.case-item .ci-header { display: flex; justify-content: space-between; margin-bottom: 4px; }
.case-item .ci-id { font-family: var(--font-mono); font-size: 11px; color: var(--text-muted); }
.case-item .ci-severity {
  font-size: 10px; font-weight: 700; padding: 1px 6px;
  border-radius: 3px; font-family: var(--font-mono);
}
.ci-severity.minor { background: rgba(34,197,94,0.15); color: var(--success); }
.ci-severity.low { background: rgba(59,130,246,0.15); color: var(--info); }
.ci-severity.medium { background: rgba(245,158,11,0.15); color: var(--warning); }
.ci-severity.high { background: rgba(239,68,68,0.15); color: var(--danger); }
.ci-severity.severe, .ci-severity.critical { background: rgba(239,68,68,0.3); color: #ff6b6b; }
.case-item .ci-type { font-weight: 600; font-size: 13px; }
.case-item .ci-meta { font-size: 11px; color: var(--text-muted); margin-top: 2px; }
.case-item .ci-status {
  display: inline-block; margin-top: 4px;
  font-size: 10px; padding: 1px 6px; border-radius: 3px;
  background: var(--bg-tertiary); color: var(--text-secondary);
}

.case-detail {
  background: var(--bg-card); border: 1px solid var(--border);
  border-radius: var(--radius); padding: 20px; overflow-y: auto;
}
.cd-header { margin-bottom: 20px; }
.cd-header .cd-id { font-family: var(--font-mono); font-size: 12px; color: var(--text-muted); }
.cd-header .cd-title { font-size: 20px; font-weight: 600; margin: 4px 0; }
.cd-section { margin-bottom: 20px; }
.cd-section h4 {
  font-size: 11px; font-family: var(--font-mono); letter-spacing: 1px;
  color: var(--text-muted); text-transform: uppercase; margin-bottom: 8px;
  border-bottom: 1px solid var(--border); padding-bottom: 4px;
}
.cd-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.cd-field { font-size: 13px; }
.cd-field .lab { color: var(--text-muted); font-size: 11px; display: block; }
.cd-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.cd-list-item {
  padding: 8px 10px; background: var(--bg-tertiary);
  border-radius: 4px; margin-bottom: 6px; font-size: 13px;
  cursor: pointer; transition: var(--transition);
}
.cd-list-item:hover { background: var(--bg-hover); }
.cd-list-item .cli-title { font-weight: 500; }
.cd-list-item .cli-meta { font-size: 11px; color: var(--text-muted); }

/* SUBJECTS */
.subjects-layout {
  display: grid; grid-template-columns: 340px 1fr;
  gap: 16px; height: calc(100% - 60px);
}
.subject-list {
  background: var(--bg-card); border: 1px solid var(--border);
  border-radius: var(--radius); overflow-y: auto;
}
.subject-item {
  padding: 12px 14px; border-bottom: 1px solid var(--border);
  cursor: pointer; transition: var(--transition);
  display: flex; gap: 12px; align-items: center;
}
.subject-item:hover, .subject-item.active { background: var(--bg-hover); }
.subject-avatar {
  width: 40px; height: 40px; border-radius: 50%;
  background: var(--bg-tertiary); display: flex;
  align-items: center; justify-content: center;
  font-weight: 600; font-size: 14px; color: var(--accent);
  flex-shrink: 0;
}
.subject-item .si-name { font-weight: 600; font-size: 13px; }
.subject-item .si-meta { font-size: 11px; color: var(--text-muted); }
.subject-item .si-flags { display: flex; gap: 4px; margin-top: 2px; }
.flag {
  font-size: 9px; font-weight: 700; padding: 1px 5px;
  border-radius: 2px; font-family: var(--font-mono);
}
.flag.wanted { background: rgba(239,68,68,0.2); color: var(--danger); }
.flag.arrested { background: rgba(245,158,11,0.2); color: var(--warning); }
.flag.suspect { background: rgba(59,130,246,0.2); color: var(--info); }
.flag.cleared { background: rgba(34,197,94,0.2); color: var(--success); }

.subject-detail {
  background: var(--bg-card); border: 1px solid var(--border);
  border-radius: var(--radius); padding: 20px; overflow-y: auto;
}

/* EVIDENCE */
.evidence-layout {
  display: grid; grid-template-columns: 340px 1fr;
  gap: 16px; height: calc(100% - 60px);
}
.evidence-list {
  background: var(--bg-card); border: 1px solid var(--border);
  border-radius: var(--radius); overflow-y: auto;
}
.evidence-item {
  padding: 12px 14px; border-bottom: 1px solid var(--border);
  cursor: pointer; transition: var(--transition);
}
.evidence-item:hover, .evidence-item.active { background: var(--bg-hover); }
.evidence-item .ei-id { font-family: var(--font-mono); font-size: 11px; color: var(--text-muted); }
.evidence-item .ei-type { font-weight: 600; font-size: 13px; }
.evidence-item .ei-status {
  display: inline-block; font-size: 10px; padding: 1px 6px;
  border-radius: 3px; margin-top: 4px; font-family: var(--font-mono);
}
.ei-status.valid { background: rgba(34,197,94,0.15); color: var(--success); }
.ei-status.pending { background: rgba(245,158,11,0.15); color: var(--warning); }
.ei-status.invalid, .ei-status.contested { background: rgba(239,68,68,0.15); color: var(--danger); }
.ei-status.inconclusive { background: rgba(139,156,179,0.15); color: var(--text-secondary); }

.evidence-detail {
  background: var(--bg-card); border: 1px solid var(--border);
  border-radius: var(--radius); padding: 20px; overflow-y: auto;
}

/* WARRANTS */
.warrants-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 12px; }
.warrant-card {
  background: var(--bg-card); border: 1px solid var(--border);
  border-radius: var(--radius); padding: 14px;
}
.warrant-card .wc-header { display: flex; justify-content: space-between; margin-bottom: 8px; }
.warrant-card .wc-id { font-family: var(--font-mono); font-size: 11px; color: var(--text-muted); }
.warrant-card .wc-type {
  font-size: 10px; font-weight: 700; padding: 1px 6px;
  border-radius: 3px; background: rgba(59,130,246,0.15); color: var(--info);
}
.warrant-card .wc-subject { font-weight: 600; font-size: 14px; margin-bottom: 4px; }
.warrant-card .wc-reason { font-size: 12px; color: var(--text-secondary); margin-bottom: 8px; }
.warrant-card .wc-meta { font-size: 11px; color: var(--text-muted); }

/* WANTED BOARD */
.wanted-board {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 14px;
}
.wanted-card {
  background: var(--bg-card); border: 1px solid var(--border);
  border-radius: var(--radius); padding: 16px; text-align: center;
  border-top: 3px solid var(--danger);
}
.wanted-card.level-low { border-top-color: var(--warning); }
.wanted-card.level-medium { border-top-color: var(--code3); }
.wanted-card.level-high { border-top-color: var(--danger); }
.wanted-card.level-critical { border-top-color: #ff0000; box-shadow: 0 0 12px rgba(239,68,68,0.2); }
.wanted-avatar {
  width: 64px; height: 64px; border-radius: 50%;
  background: var(--bg-tertiary); margin: 0 auto 10px;
  display: flex; align-items: center; justify-content: center;
  font-size: 22px; font-weight: 700; color: var(--danger);
}
.wanted-card .w-name { font-weight: 600; font-size: 14px; }
.wanted-card .w-id { font-family: var(--font-mono); font-size: 11px; color: var(--text-muted); }
.wanted-card .w-crimes { font-size: 12px; color: var(--text-secondary); margin: 6px 0; }
.wanted-card .w-level {
  display: inline-block; font-size: 10px; font-weight: 700;
  padding: 2px 8px; border-radius: 3px; font-family: var(--font-mono);
  background: rgba(239,68,68,0.15); color: var(--danger);
}

/* VEHICLES */
.vehicles-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; }
.vehicle-card {
  background: var(--bg-card); border: 1px solid var(--border);
  border-radius: var(--radius); padding: 14px;
}
.vehicle-card .vc-plate {
  font-family: var(--font-mono); font-size: 16px; font-weight: 700;
  letter-spacing: 2px; margin-bottom: 6px;
}
.vehicle-card .vc-model { font-size: 13px; color: var(--text-secondary); }
.vehicle-card .vc-owner { font-size: 12px; color: var(--text-muted); margin-top: 4px; }
.vehicle-card .vc-flags { margin-top: 8px; display: flex; gap: 4px; flex-wrap: wrap; }

/* DATABASE */
.db-search-box { display: flex; gap: 10px; margin-bottom: 20px; }
.db-results { }
.db-result-item {
  background: var(--bg-card); border: 1px solid var(--border);
  border-radius: var(--radius); padding: 12px 16px; margin-bottom: 8px;
  cursor: pointer; transition: var(--transition);
}
.db-result-item:hover { background: var(--bg-hover); }
.db-result-item .dbr-type {
  font-size: 10px; font-family: var(--font-mono); color: var(--accent);
  text-transform: uppercase; letter-spacing: 1px;
}
.db-result-item .dbr-title { font-weight: 600; font-size: 14px; }
.db-result-item .dbr-meta { font-size: 12px; color: var(--text-muted); }

/* COURT */
.court-list { display: flex; flex-direction: column; gap: 10px; }
.court-case {
  background: var(--bg-card); border: 1px solid var(--border);
  border-radius: var(--radius); padding: 16px;
  display: flex; justify-content: space-between; align-items: center;
}
.court-case .cc-info h4 { font-size: 14px; margin-bottom: 4px; }
.court-case .cc-info .cc-meta { font-size: 12px; color: var(--text-muted); }
.court-case .cc-phase {
  font-family: var(--font-mono); font-size: 11px; font-weight: 600;
  padding: 4px 10px; border-radius: 4px;
  background: var(--bg-tertiary); color: var(--text-secondary);
}

/* PRISON */
.inmates-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; }
.inmate-card {
  background: var(--bg-card); border: 1px solid var(--border);
  border-radius: var(--radius); padding: 14px;
}
.inmate-card .ic-id { font-family: var(--font-mono); font-size: 11px; color: var(--text-muted); }
.inmate-card .ic-name { font-weight: 600; font-size: 14px; }
.inmate-card .ic-crime { font-size: 12px; color: var(--text-secondary); margin: 4px 0; }
.inmate-card .ic-sentence { font-size: 12px; color: var(--text-muted); }
.inmate-card .ic-security {
  display: inline-block; margin-top: 6px;
  font-size: 10px; font-weight: 700; padding: 1px 6px;
  border-radius: 3px; font-family: var(--font-mono);
}
.ic-security.min { background: rgba(34,197,94,0.15); color: var(--success); }
.ic-security.med { background: rgba(245,158,11,0.15); color: var(--warning); }
.ic-security.max { background: rgba(239,68,68,0.15); color: var(--danger); }

/* FORENSICS */
.forensics-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.pending-analysis, .lab-results {
  background: var(--bg-card); border: 1px solid var(--border);
  border-radius: var(--radius); padding: 16px;
}
.pending-analysis h3, .lab-results h3 {
  font-size: 11px; font-family: var(--font-mono); color: var(--text-muted);
  letter-spacing: 1px; text-transform: uppercase; margin-bottom: 12px;
}
.analysis-item {
  padding: 10px; background: var(--bg-tertiary); border-radius: 4px;
  margin-bottom: 8px; font-size: 13px;
}
.analysis-item .ai-type { font-weight: 600; }
.analysis-item .ai-progress {
  height: 3px; background: var(--bg-primary); border-radius: 2px;
  margin-top: 6px; overflow: hidden;
}
.analysis-item .ai-bar { height: 100%; background: var(--accent); transition: width 1s; }

/* IA */
.ia-list { display: flex; flex-direction: column; gap: 10px; }
.ia-case {
  background: var(--bg-card); border: 1px solid var(--border);
  border-radius: var(--radius); padding: 14px;
}
.ia-case .ia-header { display: flex; justify-content: space-between; margin-bottom: 6px; }
.ia-case .ia-status {
  font-size: 10px; font-weight: 700; padding: 1px 6px;
  border-radius: 3px; font-family: var(--font-mono);
}
.ia-status.open { background: rgba(245,158,11,0.15); color: var(--warning); }
.ia-status.cleared { background: rgba(34,197,94,0.15); color: var(--success); }
.ia-status.action { background: rgba(239,68,68,0.15); color: var(--danger); }

/* PERSONNEL */
.personnel-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px; }
.person-card {
  background: var(--bg-card); border: 1px solid var(--border);
  border-radius: var(--radius); padding: 14px; text-align: center;
}
.person-card .pc-avatar {
  width: 48px; height: 48px; border-radius: 50%;
  background: var(--bg-tertiary); margin: 0 auto 8px;
  display: flex; align-items: center; justify-content: center;
  font-weight: 600; color: var(--accent);
}
.person-card .pc-name { font-weight: 600; }
.person-card .pc-rank { font-size: 12px; color: var(--text-muted); font-family: var(--font-mono); }
.person-card .pc-role { font-size: 12px; color: var(--text-secondary); margin-top: 2px; }

/* REPORTS */
.reports-list { display: flex; flex-direction: column; gap: 8px; }
.report-item {
  background: var(--bg-card); border: 1px solid var(--border);
  border-radius: var(--radius); padding: 12px 16px;
  display: flex; justify-content: space-between; align-items: center;
  cursor: pointer; transition: var(--transition);
}
.report-item:hover { background: var(--bg-hover); }
.report-item .ri-type { font-family: var(--font-mono); font-size: 11px; color: var(--accent); }
.report-item .ri-title { font-weight: 500; }
.report-item .ri-date { font-size: 12px; color: var(--text-muted); }

/* STATS */
.stats-dashboard {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px;
}
.stat-card {
  background: var(--bg-card); border: 1px solid var(--border);
  border-radius: var(--radius); padding: 20px; text-align: center;
}
.stat-card .sc-val {
  font-size: 32px; font-weight: 700; font-family: var(--font-mono);
  color: var(--accent);
}
.stat-card .sc-lab { font-size: 12px; color: var(--text-muted); margin-top: 4px; }
.stat-card.wide { grid-column: span 2; }

/* PROFILE FULL */
.profile-full {
  display: grid; grid-template-columns: 280px 1fr; gap: 20px;
}
.profile-card {
  background: var(--bg-card); border: 1px solid var(--border);
  border-radius: var(--radius); padding: 24px; text-align: center;
}
.profile-avatar {
  width: 80px; height: 80px; border-radius: 50%;
  background: linear-gradient(135deg, var(--accent-dim), var(--accent));
  margin: 0 auto 16px;
  display: flex; align-items: center; justify-content: center;
  font-size: 28px; font-weight: 700;
}
.profile-card .pf-name { font-size: 18px; font-weight: 600; }
.profile-card .pf-rank {
  font-family: var(--font-mono); font-size: 13px; color: var(--accent);
  letter-spacing: 1px; margin: 4px 0 12px;
}
.profile-stats {
  background: var(--bg-card); border: 1px solid var(--border);
  border-radius: var(--radius); padding: 20px;
}
.profile-stats h3 {
  font-size: 12px; font-family: var(--font-mono); color: var(--text-muted);
  letter-spacing: 1px; text-transform: uppercase; margin-bottom: 12px;
}
.ps-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px; }
.ps-item { text-align: center; padding: 10px; background: var(--bg-tertiary); border-radius: 4px; }
.ps-item .ps-val { font-size: 20px; font-weight: 700; font-family: var(--font-mono); }
.ps-item .ps-lab { font-size: 11px; color: var(--text-muted); }

/* INTERROGATION UI */
.interrogation-ui { }
.int-suspect {
  display: flex; gap: 16px; align-items: center;
  margin-bottom: 20px; padding-bottom: 16px;
  border-bottom: 1px solid var(--border);
}
.int-avatar {
  width: 56px; height: 56px; border-radius: 50%;
  background: var(--bg-tertiary); display: flex;
  align-items: center; justify-content: center;
  font-size: 20px; font-weight: 700; color: var(--accent);
}
.int-strategies {
  display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px;
}
.int-strategy {
  padding: 6px 12px; border-radius: 4px; font-size: 12px;
  background: var(--bg-tertiary); border: 1px solid var(--border);
  color: var(--text-secondary); cursor: pointer; transition: var(--transition);
}
.int-strategy:hover, .int-strategy.active {
  background: var(--accent-dim); border-color: var(--accent); color: var(--accent);
}
.int-questions { display: flex; flex-direction: column; gap: 6px; margin-bottom: 16px; }
.int-question {
  padding: 10px 12px; background: var(--bg-tertiary); border-radius: 4px;
  cursor: pointer; font-size: 13px; transition: var(--transition);
  border: 1px solid transparent;
}
.int-question:hover { border-color: var(--accent); background: var(--bg-hover); }
.int-log {
  max-height: 200px; overflow-y: auto;
  font-size: 13px; background: var(--bg-deep);
  border-radius: var(--radius); padding: 12px;
}
.int-log .il-entry { margin-bottom: 8px; }
.int-log .il-q { color: var(--accent); font-weight: 500; }
.int-log .il-a { color: var(--text-secondary); margin-left: 12px; }
.int-log .il-obs { color: var(--warning); font-size: 12px; font-style: italic; margin-left: 12px; }
