/* =========================================================
   LEDGER MODULE CSS
   File: assets/css/ledger.css
   Purpose: Scoped premium ALFAA ERP module UI
   ========================================================= */

.ledger-page {
  --module-primary: #6366f1;
  --module-soft: #eef2ff;
  --module-dark: #4f46e5;
  --module-warn: #f59e0b;
  --module-danger: #ef4444;
  --module-border: #e5e7eb;
  --module-muted: #64748b;
  --module-text: #0f172a;
  display: grid;
  gap: 22px;
  min-height: 100%;
}

.ledger-page .module-hero {
  background: linear-gradient(135deg, #ffffff 0%, var(--module-soft) 100%);
  border: 1px solid var(--module-border);
  border-radius: 24px;
  padding: 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  box-shadow: 0 14px 36px rgba(15, 23, 42, 0.06);
}
.ledger-page .module-title-row { display:flex; align-items:center; gap:14px; }
.ledger-page .module-icon { width:52px; height:52px; border-radius:18px; display:grid; place-items:center; color:var(--module-primary); background:#fff; box-shadow: inset 0 0 0 1px rgba(15,23,42,.06); font-size:22px; }
.ledger-page h1 { margin:0; font-size:26px; font-weight:900; color:var(--module-text); }
.ledger-page .module-hero p { margin:5px 0 0; color:var(--module-muted); font-size:14px; }
.ledger-page .module-primary-btn { height:46px; border:0; border-radius:15px; background:linear-gradient(135deg,var(--module-primary),var(--module-dark)); color:white; padding:0 18px; font-weight:900; display:inline-flex; align-items:center; gap:9px; cursor:pointer; box-shadow:0 14px 28px color-mix(in srgb, var(--module-primary) 24%, transparent); }
.ledger-page .module-primary-btn:hover { transform: translateY(-1px); }
.ledger-page .module-kpi-grid { display:grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap:16px; }
.ledger-page .module-kpi { background:white; border:1px solid var(--module-border); border-radius:22px; padding:20px; box-shadow:0 10px 30px rgba(15,23,42,.055); }
.ledger-page .module-kpi span { display:block; color:var(--module-muted); font-size:13px; font-weight:800; margin-bottom:8px; }
.ledger-page .module-kpi strong { display:block; font-size:26px; font-weight:900; color:var(--module-text); }
.ledger-page .module-kpi small { display:inline-flex; margin-top:10px; color:var(--module-primary); background:var(--module-soft); border-radius:999px; padding:5px 9px; font-weight:900; }
.ledger-page .module-grid { display:grid; grid-template-columns: 1.2fr .8fr; gap:18px; }
.ledger-page .module-card { background:#fff; border:1px solid var(--module-border); border-radius:22px; padding:22px; box-shadow:0 10px 30px rgba(15,23,42,.055); min-width:0; }
.ledger-page .module-card-header { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:18px; }
.ledger-page .module-card-header h2 { margin:0; font-size:18px; font-weight:900; color:var(--module-text); }
.ledger-page .module-filter { display:grid; grid-template-columns: 1fr 170px 150px auto; gap:12px; align-items:center; }
.ledger-page .module-filter input, .ledger-page .module-filter select, .ledger-page .module-form input, .ledger-page .module-form select, .ledger-page .module-form textarea { height:46px; border:1px solid #dbe3ef; border-radius:14px; padding:0 14px; outline:none; background:#fff; color:var(--module-text); }
.ledger-page .module-form textarea { height:96px; padding:12px 14px; resize:vertical; }
.ledger-page .module-filter input:focus, .ledger-page .module-filter select:focus, .ledger-page .module-form input:focus, .ledger-page .module-form select:focus, .ledger-page .module-form textarea:focus { border-color:var(--module-primary); box-shadow:0 0 0 4px color-mix(in srgb, var(--module-primary) 13%, transparent); }
.ledger-page .module-table-wrap { overflow:auto; border:1px solid var(--module-border); border-radius:18px; }
.ledger-page .module-table { width:100%; min-width:760px; border-collapse:collapse; }
.ledger-page .module-table th { background:#f8fafc; color:#475569; font-size:12px; text-transform:uppercase; letter-spacing:.04em; padding:13px 14px; text-align:left; }
.ledger-page .module-table td { border-top:1px solid #eef2f7; padding:14px; color:#334155; font-size:13px; }
.ledger-page .module-table tr:hover td { background:#fbfdff; }
.ledger-page .module-badge { display:inline-flex; border-radius:999px; padding:5px 10px; font-size:12px; font-weight:900; background:var(--module-soft); color:var(--module-primary); }
.ledger-page .module-empty { padding:28px; text-align:center; color:var(--module-muted); }
.ledger-page .module-chart-list { display:grid; gap:12px; }
.ledger-page .module-chart-row { display:grid; grid-template-columns: 120px 1fr 80px; gap:10px; align-items:center; font-size:13px; color:#475569; }
.ledger-page .module-bar { height:10px; border-radius:999px; background:#eef2f7; overflow:hidden; }
.ledger-page .module-bar i { display:block; height:100%; width:var(--w,50%); background:linear-gradient(90deg,var(--module-primary),var(--module-dark)); border-radius:inherit; }
.ledger-page .module-form { display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:14px; }
.ledger-page .module-form .span-2 { grid-column: 1 / -1; }
@media(max-width:1100px) { .ledger-page .module-kpi-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } .ledger-page .module-grid { grid-template-columns:1fr; } .ledger-page .module-filter { grid-template-columns:1fr 1fr; } }
@media(max-width:640px) { .ledger-page .module-hero { flex-direction:column; align-items:stretch; } .ledger-page .module-kpi-grid, .ledger-page .module-filter, .ledger-page .module-form { grid-template-columns:1fr; } }
