:root {
  --navy:#11254b;
  --blue:#2563eb;
  --violet:#8055ec;
  --teal:#00bfa6;
  --text:#18294b;
  --muted:#607394;
}

* { box-sizing:border-box; }

body {
  background:
    radial-gradient(circle at 0% 0%,#c9f4f2 0%,transparent 36%),
    radial-gradient(circle at 100% 0%,#d8d7ff 0%,transparent 40%),
    linear-gradient(135deg,#f0f8ff,#eef1ff 65%,#f8fbff) !important;
  color:var(--text) !important;
  min-height:100vh;
}

.wrap { max-width:1300px; }

header {
  background:linear-gradient(120deg,#132d61,#265cc4 60%,#7858df) !important;
  padding:24px 30px;
  border-radius:24px;
  box-shadow:0 18px 42px #2549a53d;
  color:white;
}

header .muted,header strong { color:white !important; }

.logo {
  background:linear-gradient(135deg,#14d6c1,#1684ed) !important;
  color:white !important;
  box-shadow:0 8px 22px #00bfa655;
}

h1 {
  color:#142a55;
  font-weight:850;
  letter-spacing:-1px;
}

h2 { color:#172c55; }

.muted,label,th { color:#647694 !important; }

.card {
  background:rgba(255,255,255,.97) !important;
  border:1px solid #e0e9fa !important;
  border-radius:24px !important;
  box-shadow:0 12px 35px #25467a17,0 3px 10px #25467a0a !important;
  padding:28px !important;
  transition:transform .2s,box-shadow .2s;
}

.card:hover {
  box-shadow:0 20px 48px #25467a26 !important;
}

.grid .card:nth-child(1) {
  border-top:5px solid #1688ec !important;
  background:linear-gradient(145deg,#fff,#eef8ff) !important;
}

.grid .card:nth-child(2) {
  border-top:5px solid #00bfa6 !important;
  background:linear-gradient(145deg,#fff,#eafff9) !important;
}

.grid .card:nth-child(3) {
  border-top:5px solid #8055ec !important;
  background:linear-gradient(145deg,#fff,#f5efff) !important;
}

.stat {
  font-size:38px !important;
  font-weight:900 !important;
  color:#152e60 !important;
  letter-spacing:-1px;
}

button {
  background:linear-gradient(120deg,#1687ee,#6358e9) !important;
  color:white !important;
  border-radius:13px !important;
  padding:13px 22px !important;
  box-shadow:0 8px 20px #2563eb40;
  transition:transform .2s,box-shadow .2s,filter .2s;
}

button:hover:not(:disabled) {
  transform:translateY(-2px);
  box-shadow:0 12px 28px #2563eb55;
  filter:brightness(1.07);
}

button.secondary {
  background:linear-gradient(120deg,#e7f3ff,#dfeaff) !important;
  color:#174c94 !important;
  box-shadow:none;
}

input {
  background:#f7faff !important;
  color:#18294b !important;
  border:1px solid #d4e1f5 !important;
  border-radius:13px !important;
  padding:14px !important;
}

input:focus {
  outline:none;
  border-color:#448ef1 !important;
  box-shadow:0 0 0 4px #448ef122;
}

table { color:#263b60; }

th {
  background:#edf4ff;
  font-weight:750;
}

td { border-bottom:1px solid #e8eef8; }

tr:hover td { background:#f6f9ff; }

.pill {
  background:#dcfff4 !important;
  color:#087f67 !important;
}

.notice { background:#edf4ff; }

.error { color:#c52246; }
.success { color:#07896e; }

footer { color:#6e7f9d; }

.login {
  margin-top:8vh;
  box-shadow:0 24px 65px #25467a30 !important;
}

@media(max-width:680px) {
  header { padding:20px; }
  .card { padding:20px !important; }
  .stat { font-size:30px !important; }
}
