/* ==========================================================================
   SIGNATURE per skin. Cuma yang bikin tiga skin ini beda secara visual.
   Semua rule di sini adalah tambahan di atas base + components, bukan
   pengganti. Jadi nambah skin = nambah satu blok, bukan nambah codebase.
   ========================================================================== */

/* ---------------------------------------------------------------- LEDGER
   Garis buku besar vertikal di kolom uang, dan garis ganda di header tabel. */
[data-skin="ledger"] .ledger-rule {
  border-right: 1px solid var(--rule-2);
  padding-right: 14px;
}

[data-skin="ledger"] .table thead th {
  border-bottom: 1px solid var(--rule-2);
  box-shadow: 0 1px 0 var(--rule);
}

[data-skin="ledger"] .stat-value {
  font-variant-numeric: tabular-nums lining-nums;
  letter-spacing: -.01em;
}

[data-skin="ledger"] .stat-card::after {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  bottom: 10px;
  width: 2px;
  background: var(--acc);
  opacity: .5;
}

[data-skin="ledger"] .brand-mark {
  font-family: var(--font-display);
  font-style: italic;
  letter-spacing: -.02em;
}

[data-skin="ledger"][data-theme="light"] .card {
  background-image:
    linear-gradient(var(--rule) 1px, transparent 1px);
  background-size: 100% 28px;
  background-position: 0 -1px;
}

/* ---------------------------------------------------------------- DOSSIER
   Stub berlubang di kanan kartu, cap karet miring buat status selesai. */
[data-skin="dossier"] .card {
  border: 1px solid var(--rule-2);
  border-left: 3px solid var(--acc);
}

[data-skin="dossier"] .project-card .card-meta,
[data-skin="dossier"] .report-card .card-meta {
  border-left: 1px dashed var(--rule-2);
  background:
    radial-gradient(circle at 0 0, var(--paper) 3px, transparent 3.5px) top left / 8px 8px no-repeat,
    radial-gradient(circle at 0 100%, var(--paper) 3px, transparent 3.5px) bottom left / 8px 8px no-repeat;
}

[data-skin="dossier"] .badge[data-tone="ok"],
[data-skin="dossier"] .badge[data-tone="gold"] {
  transform: rotate(-2.5deg);
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 600;
}

[data-skin="dossier"] .brand-mark {
  font-variation-settings: "SOFT" 40, "WONK" 1;
}

[data-skin="dossier"] .section-title {
  border-bottom: 2px double var(--rule-2);
  padding-bottom: 6px;
}

/* ---------------------------------------------------------------- SIGNAL
   Blok status besar, bar tipis, tanpa radius. Papan operator. */
[data-skin="signal"] .card,
[data-skin="signal"] .stat-card,
[data-skin="signal"] .panel {
  border: 1px solid var(--rule-2);
  box-shadow: none;
}

[data-skin="signal"] .stat-card {
  border-top: 3px solid var(--acc);
}

[data-skin="signal"] .stat-value {
  font-family: var(--font-mono);
  font-weight: 600;
  letter-spacing: -.03em;
}

[data-skin="signal"] .brand-mark {
  font-family: var(--font-display);
  letter-spacing: .01em;
}

[data-skin="signal"] .badge {
  border-radius: 0;
  font-family: var(--font-mono);
  text-transform: uppercase;
  letter-spacing: .07em;
}

[data-skin="signal"] .nav-link[aria-current="page"] {
  background: var(--acc);
  color: var(--paper);
}

[data-skin="signal"] .bar {
  height: 3px;
}
