/* Komponen formulir & tabel aplikasi keuangan internal (sama dengan aplikasi workflow / invoice) */
.input {
    width: 100%;
    border: 1px solid #cbd5e1;
    background: #fff;
    border-radius: .6rem;
    padding: .6rem .8rem;
    font-size: .875rem;
    outline: none;
    transition: border-color .15s, box-shadow .15s;
}
.input:focus { border-color: #FF6B00; box-shadow: 0 0 0 3px rgba(255, 107, 0, .15); }
.label { display: block; font-size: .75rem; font-weight: 700; color: #475569; margin-bottom: .35rem; text-transform: uppercase; letter-spacing: .04em; }
.card { background: #fff; border: 1px solid #e2e8f0; border-radius: 1rem; box-shadow: 0 1px 2px rgba(15, 23, 42, .04); }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; padding: .6rem 1.1rem; border-radius: .6rem; font-size: .875rem; font-weight: 700; transition: background .15s, color .15s, border-color .15s; cursor: pointer; white-space: nowrap; }
.btn-primary { background: #FF6B00; color: #fff; }
.btn-primary:hover { background: #E56000; }
.btn-dark { background: #0B0B0C; color: #fff; }
.btn-dark:hover { background: #26262b; }
.btn-light { background: #fff; color: #0f172a; border: 1px solid #cbd5e1; }
.btn-light:hover { border-color: #FF6B00; color: #FF6B00; }
.btn-danger { background: #fff; color: #dc2626; border: 1px solid #fecaca; }
.btn-danger:hover { background: #fef2f2; }
.table { width: 100%; font-size: .875rem; border-collapse: collapse; }
.table th { text-align: left; font-size: .7rem; text-transform: uppercase; letter-spacing: .05em; color: #64748b; font-weight: 700; padding: .75rem 1rem; background: #f8fafc; border-bottom: 1px solid #e2e8f0; }
.table td { padding: .8rem 1rem; border-bottom: 1px solid #f1f5f9; vertical-align: top; }
.table tr:last-child td { border-bottom: 0; }
.num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }

/* Tabel matriks bulanan (rapat, kolom pertama menempel saat digulir) */
.matrix { font-size: .8rem; }
.matrix th, .matrix td { padding: .5rem .7rem; }
.matrix th:first-child, .matrix td:first-child { position: sticky; left: 0; background: #fff; z-index: 1; min-width: 220px; }
.matrix thead th:first-child { background: #f8fafc; }
.matrix tr.subtotal td { background: #f8fafc; font-weight: 700; }
.matrix tr.subtotal td:first-child { background: #f8fafc; }
.matrix tr.total td { background: #0B0B0C; color: #fff; font-weight: 800; border-bottom: 0; }
.matrix tr.total td:first-child { background: #0B0B0C; }
.matrix td.col-total, .matrix th.col-total { background: #fff7ed; font-weight: 700; }
.matrix tr.total td.col-total { background: #26262b; }
.matrix tbody tr:hover td { background: #f8fafc; }
.matrix tbody tr.total:hover td { background: #0B0B0C; }
