:root{
  --bg:#f4f8fb;
  --panel:#ffffff;
  --ink:#10243d;
  --muted:#6d7f91;
  --line:#e7edf3;
  --brand:#0b72b9;
  --brand2:#10b7d4;
  --navy:#0d294b;
  --teal:#13a7a4;
  --green:#18a777;
  --purple:#6554ff;
  --shadow:0 18px 45px rgba(21,42,70,.08);
  --soft-shadow:0 10px 30px rgba(15,39,71,.07);
  --radius:26px;
  --radius-sm:18px;
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  background:
    radial-gradient(circle at 12% 8%, rgba(16,183,212,.22), transparent 30%),
    radial-gradient(circle at 92% 0%, rgba(101,84,255,.16), transparent 32%),
    linear-gradient(135deg,#f6fbff,#f4f7fb 45%,#f8fbff);
  color:var(--ink);
}
.shell{display:flex;min-height:100vh;padding:22px;gap:22px}
.sidebar{
  width:260px;background:rgba(255,255,255,.78);backdrop-filter:blur(18px);
  border:1px solid rgba(255,255,255,.75);border-radius:30px;padding:22px 16px;
  box-shadow:var(--shadow);position:sticky;top:22px;height:calc(100vh - 44px)
}
.brand{display:flex;align-items:center;gap:12px;padding:4px 10px 26px}
.brand img{max-width:150px;max-height:44px;object-fit:contain}
.brand-mark{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,var(--brand),var(--brand2));display:grid;place-items:center;color:white;font-weight:800}
.nav a{display:flex;align-items:center;gap:12px;text-decoration:none;color:#536575;padding:13px 14px;border-radius:16px;margin:6px 0;font-weight:650;font-size:14px}
.nav a:hover,.nav a.active{color:#fff;background:linear-gradient(135deg,var(--brand),var(--brand2));box-shadow:0 12px 24px rgba(11,114,185,.22)}
.nav .sep{height:1px;background:var(--line);margin:18px 12px}
.content{flex:1;min-width:0}
.topbar{
  display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;
  background:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.75);
  border-radius:28px;padding:14px 18px;box-shadow:var(--soft-shadow);backdrop-filter:blur(16px)
}
.hello small{display:block;color:var(--teal);font-weight:750;margin-bottom:3px}
.hello h1{margin:0;font-size:38px;letter-spacing:-1.2px}
.top-actions{display:flex;gap:10px;align-items:center}
.search{width:260px;border:0;background:white;border-radius:999px;padding:12px 16px;box-shadow:inset 0 0 0 1px var(--line)}
.avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--brand),var(--purple));display:grid;place-items:center;color:white;font-weight:800}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;padding:12px 18px;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;text-decoration:none;font-weight:800;box-shadow:0 12px 28px rgba(11,114,185,.25);cursor:pointer}
.btn.secondary{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}
.dashboard-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:22px}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}
.card{
  background:rgba(255,255,255,.82);border:1px solid rgba(255,255,255,.84);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:22px;overflow:hidden
}
.stat-card{min-height:150px;position:relative}
.stat-card.dark{background:linear-gradient(135deg,#071a31,#173f69);color:white}
.stat-card.green{background:linear-gradient(135deg,#0a8e77,#15c5b9);color:white}
.stat-label{color:var(--muted);font-size:13px;font-weight:800;letter-spacing:.2px}
.stat-card.dark .stat-label,.stat-card.green .stat-label{color:rgba(255,255,255,.75)}
.stat-value{font-size:32px;font-weight:850;margin:12px 0 6px;letter-spacing:-1px}
.stat-trend{font-size:13px;color:var(--green);font-weight:800}
.stat-card.dark .stat-trend,.stat-card.green .stat-trend{color:#c9fff0}
.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.section-title h3{margin:0;font-size:19px}
.chart-bars{display:flex;align-items:end;gap:16px;height:170px;padding:12px 0}
.bar{flex:1;border-radius:16px;background:linear-gradient(180deg,var(--brand2),rgba(16,183,212,.18));min-height:28px;position:relative}
.bar.dark{background:linear-gradient(180deg,#111827,#4b5563)}
.bar label{position:absolute;bottom:-25px;left:50%;transform:translateX(-50%);font-size:12px;color:var(--muted);font-weight:700}
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:13px 10px;border-bottom:1px solid var(--line);font-size:14px;text-align:left}
.table th{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.5px}
.badge{display:inline-flex;border-radius:999px;padding:6px 10px;background:#eaf7ff;color:var(--brand);font-size:12px;font-weight:850}
.badge.ok{background:#eafaf3;color:#0b8c60}.badge.warn{background:#fff7e8;color:#bc7400}
.split{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
input,select,textarea{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:16px;background:#fff;margin:6px 0 12px;font:inherit}
label{font-weight:750;font-size:13px;color:#536575}
textarea{min-height:95px}
.action-card{background:linear-gradient(135deg,var(--teal),var(--brand));color:white;min-height:190px;display:flex;flex-direction:column;justify-content:space-between}
.action-card .btn{background:white;color:var(--brand);align-self:flex-start}
.profile-card{display:flex;gap:14px;align-items:center}
.profile-card .photo{width:56px;height:56px;border-radius:18px;background:linear-gradient(135deg,#e8f5ff,#dce8ff);display:grid;place-items:center;font-weight:900;color:var(--brand)}
@media(max-width:1100px){.cards{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.split{grid-template-columns:1fr}.sidebar{width:220px}.search{display:none}}
@media(max-width:760px){.shell{display:block;padding:12px}.sidebar{position:static;width:auto;height:auto;margin-bottom:14px}.content{width:100%}.cards,.form-grid{grid-template-columns:1fr}.topbar{display:block}.hello h1{font-size:30px}}


.workflow-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:12px 0 22px}
.step{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;box-shadow:var(--soft-shadow)}
.step b{display:block;color:var(--brand);font-size:13px;margin-bottom:7px}
.step span{font-size:12px;color:var(--muted);font-weight:700}
.kpi-row{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:18px}
.kpi{background:rgba(255,255,255,.85);border-radius:22px;padding:18px;border:1px solid rgba(255,255,255,.8);box-shadow:var(--soft-shadow)}
.kpi strong{display:block;font-size:28px;color:var(--ink);margin-top:8px}
.actions{display:flex;gap:8px;flex-wrap:wrap}
.mini-btn{display:inline-flex;border:0;border-radius:999px;padding:8px 12px;background:#eef7ff;color:var(--brand);font-weight:850;text-decoration:none;cursor:pointer}
.mini-btn.green{background:#eafaf3;color:#0b8c60}.mini-btn.red{background:#fff0f0;color:#c23939}.mini-btn.dark{background:#ecf0f5;color:#152238}
@media(max-width:1100px){.workflow-steps,.kpi-row{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.workflow-steps,.kpi-row{grid-template-columns:1fr}}


/* v0.3.1 Admission workflow polish */
.workflow-steps{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:14px !important;
  margin:0 0 22px !important;
}
.workflow-steps .step{
  display:block !important;
  background:rgba(255,255,255,.86) !important;
  border:1px solid rgba(255,255,255,.9) !important;
  border-radius:22px !important;
  padding:16px 18px !important;
  box-shadow:var(--soft-shadow) !important;
  min-height:92px !important;
}
.workflow-steps .step b{
  display:block !important;
  font-size:14px !important;
  color:var(--brand) !important;
  margin-bottom:9px !important;
}
.workflow-steps .step span{
  display:block !important;
  font-size:12px !important;
  line-height:1.35 !important;
  color:var(--muted) !important;
  font-weight:750 !important;
}
.kpi-row{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:14px !important;
  margin-bottom:20px !important;
}
.kpi{
  background:rgba(255,255,255,.86) !important;
  border:1px solid rgba(255,255,255,.9) !important;
  border-radius:22px !important;
  padding:18px 20px !important;
  box-shadow:var(--soft-shadow) !important;
}
.kpi strong{display:block !important;font-size:30px !important;margin-top:7px !important;color:var(--ink) !important}
.admission-card{min-height:auto !important}
.app-table-wrap{overflow-x:auto}
.table .inline-form{display:flex;gap:8px;align-items:center;flex-wrap:nowrap}
.table .inline-form input,.table .inline-form select{margin:0;width:auto;min-width:82px}
.table .inline-form button{white-space:nowrap}
.pipeline-bars .bar{min-height:72px !important}
@media(max-width:1200px){
  .workflow-steps,.kpi-row{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}
@media(max-width:760px){
  .workflow-steps,.kpi-row{grid-template-columns:1fr !important}
}
