:root{
  --bg: #f6f7fb;
  --card: #ffffff;
  --text: #0f172a;
  --muted: #64748b;
  --border: rgba(15,23,42,.08);
  --primary: #16a34a;      /* clinic green */
  --primary2: #06b6d4;     /* cyan */
  --shadow: 0 10px 30px rgba(2,6,23,.08);
}
[data-theme="dark"]{
  --bg:#0b1220;
  --card:#0f172a;
  --text:#e5e7eb;
  --muted:#94a3b8;
  --border: rgba(148,163,184,.18);
  --shadow: 0 14px 40px rgba(0,0,0,.35);
}
body{
  background: radial-gradient(1200px 600px at 15% 10%, rgba(22,163,74,.10), transparent 60%),
              radial-gradient(900px 500px at 85% 15%, rgba(6,182,212,.10), transparent 60%),
              var(--bg);
  color: var(--text);
}
.card{background:var(--card); border:1px solid var(--border); box-shadow:var(--shadow);}
.badge{border:1px solid var(--border); padding:.15rem .5rem; border-radius:999px; font-size:.75rem; color:var(--muted); background:rgba(148,163,184,.08);}
.btn{display:inline-flex; align-items:center; gap:.5rem; padding:.6rem .9rem; border-radius:.85rem; border:1px solid var(--border); background:var(--card); color:var(--text);}
.btn:hover{transform:translateY(-1px);}
.btn-primary{background:linear-gradient(135deg, var(--primary), var(--primary2)); color:#fff; border:none;}
.input{width:100%; background:var(--card); border:1px solid var(--border); border-radius:.85rem; padding:.65rem .85rem; outline:none;}
.input:focus{border-color:rgba(22,163,74,.55); box-shadow:0 0 0 4px rgba(22,163,74,.12);}
.table{width:100%; border-collapse:collapse;}
.table th,.table td{padding:.8rem .75rem; border-bottom:1px solid var(--border); text-align:left; vertical-align:top;}
.table th{color:var(--muted); font-weight:600; font-size:.8rem; text-transform:uppercase; letter-spacing:.06em;}
.sidebar-link{display:flex; align-items:center; gap:.65rem; padding:.65rem .8rem; border-radius:.9rem; color:var(--muted);}
.sidebar-link:hover{background:rgba(148,163,184,.10); color:var(--text);}
.sidebar-link.active{background:linear-gradient(135deg, rgba(22,163,74,.20), rgba(6,182,212,.14)); color:var(--text); border:1px solid rgba(22,163,74,.25);}
.toast{position:fixed; right:18px; bottom:18px; background:var(--card); border:1px solid var(--border); box-shadow:var(--shadow); padding:.9rem 1rem; border-radius:1rem; max-width:360px; z-index:50;}
