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

:root{
  --app-bg:#F8FAFC;
  --app-surface:#FFFFFF;
  --app-text:#0F172A;
  --app-muted:#6B7280;
  --app-border:#E5E7EB;
  --app-border-soft:#F1F5F9;
  --app-shadow:0 4px 12px rgba(0,0,0,0.05);
  --app-radius:12px;
  --app-radius-input:8px;
  --app-primary:#2563EB;
  --app-primary-hover:#1D4ED8;
  --app-success:#10B981;
  --app-success-hover:#059669;
  --app-warning:#F59E0B;
  --app-warning-hover:#D97706;
  --app-danger:#EF4444;
  --app-danger-hover:#DC2626;
  --app-indigo:#4F46E5;
}

html, body { height:100%; }
body{
  background:var(--app-bg);
  font-family:'Inter','Roboto','Open Sans',Arial,sans-serif;
  letter-spacing:.2px;
  color:var(--app-text);
}

.navbar-brand img{ max-height:40px; width:auto; transition:transform .2s; }
.navbar-brand img:hover{ transform:scale(1.05); }

.card,
.modal-content{
  background:var(--app-surface);
  border:0;
  border-radius:var(--app-radius);
  box-shadow:var(--app-shadow);
}

.card.bg-primary,
.card.bg-secondary,
.card.bg-success,
.card.bg-danger,
.card.bg-warning,
.card.bg-info,
.card.bg-dark{
  background:var(--app-surface) !important;
}

.card.text-white{ color:var(--app-text) !important; }

.card-header{
  background:var(--app-surface);
  border-bottom:1px solid var(--app-border);
  padding:16px 20px;
}

.card-body{ padding:20px; }
.card-footer{
  background:var(--app-surface);
  border-top:1px solid var(--app-border);
  padding:16px 20px;
}

.table-card{
  background:var(--app-surface);
  border-radius:var(--app-radius);
  box-shadow:var(--app-shadow);
}

.table-card .card-header{
  background:var(--app-surface);
  border-bottom:1px solid var(--app-border);
  border-radius:var(--app-radius) var(--app-radius) 0 0;
}

.kpi-card,
.log-card{
  background:var(--app-surface);
  border-radius:var(--app-radius);
  box-shadow:var(--app-shadow);
  padding:20px;
  position:relative;
  border:0;
}

.kpi-card .accent,
.log-card .accent{
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:6px;
  border-radius:var(--app-radius) 0 0 var(--app-radius);
}

.kpi-title{ color:var(--app-muted); margin:0; font-weight:600; }
.kpi-value{ color:var(--app-text); margin:4px 0 0; font-weight:800; font-size:2rem; }

.accent-blue .accent{ background-color:#3B82F6; }
.accent-emerald .accent{ background-color:#10B981; }
.accent-amber .accent{ background-color:#F59E0B; }
.accent-indigo .accent{ background-color:#4F46E5; }
.accent-salmon .accent{ background-color:#F59FA3; }
.accent-secondary .accent{ background-color:#9CA3AF; }
.accent-warning .accent{ background-color:#F59E0B; }
.accent-primary .accent{ background-color:#3B82F6; }
.accent-success .accent{ background-color:#10B981; }
.accent-dark .accent{ background-color:#0F172A; }
.accent-info .accent{ background-color:#0EA5E9; }
.accent-danger .accent{ background-color:#F59FA3; }

.table-responsive{ border-radius:var(--app-radius); }
.table{
  color:inherit;
  margin-bottom:0;
}

.table thead th{
  background:transparent !important;
  color:#374151;
  font-weight:600;
  border-bottom:1px solid var(--app-border);
}

.table > :not(caption) > * > *{
  padding:.85rem 1rem;
  border-bottom-color:var(--app-border-soft);
}

.table-bordered > :not(caption) > * { border-width:0; }
.table-bordered > :not(caption) > * > *{ border-left:0; border-right:0; }

.table td, .table th{ border-right:0 !important; }

.table-hover > tbody > tr:hover > *{
  background-color:rgba(248,250,252,1) !important;
}

.table > tbody > tr:hover > *{
  background-color:rgba(248,250,252,1) !important;
}

.table-striped > tbody > tr:nth-of-type(odd) > *{
  background-color:rgba(248,250,252,.65) !important;
}

.badge{
  border-radius:9999px;
  padding:.35rem .6rem;
  font-weight:600;
  letter-spacing:.2px;
}

.badge.bg-success{ background-color:#D1FAE5 !important; color:#065F46 !important; }
.badge.bg-warning{ background-color:#FEF3C7 !important; color:#92400E !important; }
.badge.bg-danger{ background-color:#FFE4E6 !important; color:#9F1239 !important; }
.badge.bg-primary{ background-color:#DBEAFE !important; color:#1E40AF !important; }
.badge.bg-info{ background-color:#E0F2FE !important; color:#075985 !important; }
.badge.bg-secondary{ background-color:#E5E7EB !important; color:#374151 !important; }
.badge.bg-dark{ background-color:#E2E8F0 !important; color:#0F172A !important; }

.form-label{ color:#374151; font-weight:500; }

.form-control,
.form-select{
  border-radius:var(--app-radius-input);
  border-color:var(--app-border);
}

.form-control:focus,
.form-select:focus{
  border-color:#60A5FA;
  box-shadow:0 0 0 .2rem rgba(96,165,250,.25);
}

.btn{ border-radius:10px; font-weight:600; }

.btn-primary{
  background-color:var(--app-primary);
  border-color:var(--app-primary);
}

.btn-primary:hover,
.btn-primary:focus{
  background-color:var(--app-primary-hover);
  border-color:var(--app-primary-hover);
}

.btn-success{
  background-color:var(--app-success);
  border-color:var(--app-success);
}

.btn-success:hover,
.btn-success:focus{
  background-color:var(--app-success-hover);
  border-color:var(--app-success-hover);
}

.btn-warning{
  background-color:var(--app-warning);
  border-color:var(--app-warning);
  color:#111827;
}

.btn-warning:hover,
.btn-warning:focus{
  background-color:var(--app-warning-hover);
  border-color:var(--app-warning-hover);
  color:#111827;
}

.btn-danger{
  background-color:var(--app-danger);
  border-color:var(--app-danger);
}

.btn-danger:hover,
.btn-danger:focus{
  background-color:var(--app-danger-hover);
  border-color:var(--app-danger-hover);
}

.btn-outline-primary{
  color:var(--app-primary);
  border-color:rgba(37,99,235,.35);
}

.btn-outline-primary:hover{
  background-color:rgba(37,99,235,.08);
  border-color:rgba(37,99,235,.45);
  color:var(--app-primary);
}

@media print{
  body{ background:#fff; }
  .card, .modal-content, .kpi-card, .log-card{ box-shadow:none; }
}
