
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap');

:root{
  --bg:#f6f9fc;
  --surface:#ffffff;
  --text:#0b1220;
  --muted:#5b667a;
  --border:#e6e9ef;

  --primary:#0d6efd;
  --primary-600:#0b5ed7;
  --accent:#20c997;
  --danger:#dc3545;
  --warning:#f59e0b;

  --grad: linear-gradient(90deg, #0ea5e9 0%, #0d6efd 50%, #7c3aed 100%);
  --ring: rgba(13,110,253,.25);
}

html, body { height: 100%; }
body{
  background: var(--bg);
  color: var(--text);
  font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Arial, 'Noto Sans', sans-serif;
}

.navbar{
  background: var(--grad) !important;
  border-bottom: 0;
  box-shadow: 0 8px 24px rgba(13,110,253,.15);
}
.navbar .navbar-brand{ font-weight:700; letter-spacing:.2px; color:#fff !important; }
.navbar .nav-link{ color: rgba(255,255,255,.85) !important; }
.navbar .nav-link:hover, .navbar .nav-link.active{ color: #fff !important; text-shadow:0 0 1px rgba(255,255,255,.6); }

.container, .container-fluid{ max-width: 1160px; }
.page-wrap{ min-height: calc(100vh - 56px); padding-bottom: 32px; }

.card, .modal-content{
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(2,6,23,.06);
}
.card-header{
  background: linear-gradient(180deg, #ffffff, #f8fafc);
  border-bottom: 1px solid var(--border);
  font-weight: 600;
}
.table{ color: var(--text); background: transparent; }
.table>:not(caption)>*>*{ background: transparent !important; border-color: var(--border) !important; vertical-align: middle; }
.table thead th{ background:#eef2ff; color:#283b8c; }
.table tbody tr:hover{ background:#f1f5ff; }

.form-control, .form-select{ background:#fff; color:var(--text); border:1px solid var(--border); border-radius:10px; }
.form-control:focus, .form-select:focus{ border-color:var(--primary); box-shadow:0 0 0 .25rem var(--ring); }

.btn{ border-radius:10px; }
.btn-primary{ background: var(--grad); border:none; box-shadow:0 8px 20px rgba(13,110,253,.25); }
.btn-primary:hover{ filter: brightness(1.02) saturate(1.05); }
.btn-outline-secondary{ color:var(--muted); border-color: var(--border); }
.btn-outline-secondary:hover{ color:var(--text); background:#f1f5f9; }
.btn-outline-danger{ color: var(--danger); border-color:#f2b8be; }
.btn-outline-danger:hover{ background:#fde2e4; }
.btn-outline-primary{ color:#0d6efd; border-color:#bcd0ff; }
.btn-outline-primary:hover{ background:#e9efff; }

.app-kpi{ border:1px solid var(--border); border-radius:16px; background:
  radial-gradient(400px 200px at 20% 0%, rgba(13,110,253,.08), transparent),
  radial-gradient(500px 240px at 80% 120%, rgba(32,201,151,.08), transparent),
  var(--surface); }
.app-kpi .label{ color:var(--muted); font-weight:600; font-size:.9rem; }
.app-kpi .value{ font-weight:800; font-size:1.8rem; }

.invoice-brand{ font-weight:800; font-size:1.25rem; background:var(--grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.smalltext{ color: var(--muted); }

@media print{
  body{ background:#fff; color:#000; }
  .navbar, .d-print-none{ display:none !important; }
  .card{ box-shadow:none; border-color:#ddd; }
  .invoice-brand{ color:#000 !important; -webkit-text-fill-color:initial !important; background:none !important; }
  .smalltext{ color:#000 !important; }
}
