/* ==========================================================================
   Fusion Roleplay — Judiciary Theme (global + admin)
   ========================================================================== */

/* ---------- Color tokens ---------- */
:root{
  --fp-bg:#0b1f24;
  --fp-surface:#0f1e22;
  --fp-border:rgba(255,255,255,.08);
  --fp-fg:#e5f2f3;
  --fp-muted:#b9d8dd;

  --fp-teal:#00c8d7;
  --fp-teal-2:#68f6ff;
  --fp-gold:#f4c84a;

  --fp-glow:0 0 24px rgba(0,200,215,.45);
}

/* Warrant show: improve readability of readonly inputs */
.form-control[readonly],
.form-control:disabled {
  background-color: #0f2029 !important; /* dark background */
  color: #ffffff !important;            /* white text */
  opacity: 1;                           /* override Bootstrap dimming */
  border: 1px solid #1e3a47;            /* subtle border */
}

/* Optional: make the text inside look more natural */
.form-control[readonly]::placeholder,
.form-control:disabled::placeholder {
  color: #aaa !important;               /* lighter placeholder */
}

/* ---------- Base ---------- */
body{
  background:var(--fp-bg);
  color:var(--fp-fg);
}
.container{ max-width:1140px; }

/* Gradient top line */
.fusion-topline{
  height:6px;
  background:linear-gradient(90deg,#22e0e0,#79ffe8 40%,#ffd34d 75%,#ffc03d);
  box-shadow:0 2px 10px rgba(34,224,224,.35);
}

/* Header */
.fusion-header{
  background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,0));
  border-color: rgba(255,255,255,.06) !important;
}
.fusion-logo{ height:38px; width:auto; }

/* ---------- Cards ---------- */
.card{
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));
  border:1px solid var(--fp-border);
  border-radius:16px;
  box-shadow:0 10px 30px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.04);
}
.card:hover{
  transform: translateY(-2px);
  box-shadow:0 14px 36px rgba(0,255,200,.20);
}

/* ---------- Tables ---------- */
.table{
  color:#dfeef0;
  --bs-table-bg: transparent;
}
.table> :not(caption)>*>*{
  background-color: rgba(255,255,255,.02) !important;
  border-bottom-color: var(--fp-border);
}
.table thead th{
  background: rgba(0,213,205,.12) !important;
  color:#c8fff9;
}

/* ---------- Forms ---------- */
.form-control,
.form-select,
textarea,
input[type="text"],
input[type="number"],
input[type="date"],
input[type="search"],
input[type="email"] {
  background-color: rgba(255,255,255,.06) !important;
  color: #e8fbff !important;
  caret-color: var(--fp-teal-2) !important;
  border: 1px solid var(--fp-border) !important;
}

.form-control:focus,
.form-select:focus,
textarea:focus {
  background-color: rgba(255,255,255,.08) !important;
  color: #ffffff !important;
  border-color: rgba(30,230,255,.55) !important;
  box-shadow: 0 0 0 0.2rem rgba(30,230,255,.15) !important;
}

/* Placeholder contrast */
.form-control::placeholder,
textarea::placeholder {
  color: rgba(233,248,250,.65) !important;
}

/* Kill WebKit autofill's white/yellow background */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
select:-webkit-autofill {
  -webkit-text-fill-color: #e8fbff !important;
  -webkit-box-shadow: 0 0 0px 1000px rgba(255,255,255,.06) inset !important;
  transition: background-color 9999s ease-in-out 0s !important;
}

/* ---------- Buttons ---------- */
.btn-fusion{
  background:linear-gradient(135deg,var(--fp-teal),var(--fp-teal-2));
  color:#001015;
  border-radius:9999px;
  font-weight:700;
  border:0;
}
.btn-fusion:hover{ filter:brightness(1.05); }
.btn-ghost{
  border:1px solid rgba(255,255,255,.15);
  border-radius:10px;
  color:#e9f8fa;
}
.btn-ghost:hover{ background:rgba(255,255,255,.06); color:#fff; }

/* ---------- Pills ---------- */
.pill,
.pill:link,
.pill:visited{
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.4rem .8rem;
  border-radius:999px;
  background:rgba(0,200,215,.08);
  border:1px solid rgba(0,200,215,.25);
  color:#aefaff !important;
  text-decoration:none !important;
  font-weight:700;
}
.pill:hover{ background:rgba(0,200,215,.14); filter:brightness(1.02); }
.pill-active{
  background:linear-gradient(135deg,var(--fp-teal),var(--fp-teal-2));
  color:#001015 !important;
  border-color:transparent;
}
.pill-count{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:1.35rem; padding:.05rem .45rem;
  border-radius:999px; font-size:.75rem; font-weight:800;
  background:rgba(255,255,255,.14); color:#e7f9fb;
}
.pill-active .pill-count{ background:rgba(0,0,0,.25); color:#fff; }

/* ---------- Chips ---------- */
.chip{ padding:.2rem .55rem; border-radius:999px; font-size:.8rem; font-weight:700; }
.chip-success{ background:rgba(25,135,84,.15); color:#5effc0; }
.chip-warn{ background:rgba(255,193,7,.10); color:#ffe69b; }
.chip-secondary{ background:rgba(108,117,125,.12); color:#cfd7dc; }
.chip-dark{ background:rgba(255,255,255,.08); color:#e3edf0; }

/* ---------- Case chip ---------- */
.case-chip{
  display:inline-block; padding:.15rem .45rem; border-radius:.5rem;
  background:rgba(255,255,255,.06);
  font-weight:700; font-size:.85rem; color:#d9f7fb;
}

/* ---------- Verdict badges ---------- */
.badge-verdict{ padding:.2rem .5rem; border-radius:.5rem; font-weight:800; }
.badge-guilty{ background:rgba(220,53,69,.15); color:#ff6b7d; }
.badge-notg{ background:rgba(25,135,84,.15); color:#5effc0; }
.badge-mixed{ background:rgba(13,110,253,.12); color:#8fd0ff; }

/* ---------- Empty state ---------- */
.empty-state{
  margin:.75rem; padding:2rem; text-align:center;
  border:1px dashed rgba(255,255,255,.22);
  border-radius:1rem; color:#b4c7cc;
}
.empty-state .empty-icon{ font-size:1.75rem; margin-bottom:.5rem; }
.empty-state .empty-title{ font-weight:700; margin-bottom:.25rem; }
.empty-state .empty-sub{ opacity:.85; }

/* ---------- Footer ---------- */
.fusion-footer{ border-top:1px solid rgba(255,255,255,.06); }

/* --- Force pill overrides --- */
a.pill,
a.pill:link,
a.pill:visited {
  display:inline-flex !important;
  align-items:center !important;
  gap:.5rem !important;
  padding:.4rem .8rem !important;
  border-radius:999px !important;
  background:rgba(0,200,215,.08) !important;
  border:1px solid rgba(0,200,215,.25) !important;
  color:#aefaff !important;
  text-decoration:none !important;
  font-weight:700 !important;
}
a.pill:hover {
  background:rgba(0,200,215,.14) !important;
  color:#eaffff !important;
}
a.pill-active,
a.pill-active:link,
a.pill-active:visited {
  background:linear-gradient(135deg,var(--fp-teal),var(--fp-teal-2)) !important;
  color:#001015 !important;
  border-color:transparent !important;
}
a.pill-active .pill-count {
  background:rgba(0,0,0,.25) !important;
  color:#fff !important;
}

/* ---------- Docket body styling ---------- */
.case-summary,
.case-summary *{
  color:#e5f2f3 !important;
}
.case-summary hr{ border-color: var(--fp-border); }

.docket-body,
.docket-body *{
  color:#e5f2f3 !important;
  line-height:1.55;
  font-size:.95rem;
}
.docket-body h1,
.docket-body h2,
.docket-body h3{
  color:#ffffff !important;
  font-weight:700;
  margin-top:1.1rem;
  margin-bottom:.55rem;
}
.docket-body p{ margin-bottom:.75rem; }
.docket-body strong{ color:#ffffff !important; }
.docket-body em{ color:#c2f7ff !important; }
.docket-body ul,
.docket-body ol{ padding-left:1.25rem; margin-bottom:.75rem; }
.docket-body li{ margin-bottom:.35rem; }
.docket-body a{ color:var(--fp-teal-2) !important; text-decoration:underline; }
.docket-body a:hover{ color:#ffffff !important; }

/* ---------- Misc readability ---------- */
.card .card-header{ color:#e5f2f3 !important; }
.card .text-muted{ color:rgba(255,255,255,.75) !important; }
.text-muted,
.text-body-secondary,
.card .text-body-secondary {
  color: rgba(255,255,255,.75) !important;
  opacity: 1 !important;
}
.list-group-flush .list-group-item{
  background:rgba(255,255,255,.02) !important;
  border-color:var(--fp-border) !important;
  color:var(--fp-fg) !important;
}
.table .text-white-50 { color: rgba(255,255,255,.75) !important; }

/* ---------- Final readability hammer ---------- */
.card,
.card * {
  opacity: 1 !important;
  mix-blend-mode: normal !important;
}
.card .card-body,
.card .card-body * {
  color: #e8fbff !important;
  -webkit-text-fill-color: #e8fbff !important;
}
.card .card-body h1,
.card .card-body h2,
.card .card-body h3,
.card .card-body h4 {
  color: #ffffff !important;
}

/* Accent components keep their own colors */
.badge-verdict.badge-guilty { color:#ff6b7d !important; }
.badge-verdict.badge-notg  { color:#5effc0 !important; }
.badge-verdict.badge-mixed { color:#8fd0ff !important; }
.btn-fusion { color:#001015 !important; }
.chip, .chip * { color: inherit !important; }
