body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;margin:0;background:#0f1115;color:#e6e6e6;line-height:1.5;}header{background:#181b21;padding:1rem 1.25rem;display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;border-bottom:1px solid #262a31}h1{font-size:1.35rem;margin:0}a{color:#5fb3ff;text-decoration:none}a:hover{text-decoration:underline}.container{max-width:1100px;margin:0 auto;padding:1.25rem}.grid{display:grid;gap:1.25rem}@media(min-width:860px){.grid.cols-3{grid-template-columns:repeat(3,1fr)}}.card{background:#181b21;padding:1rem 1rem .85rem;border:1px solid #262a31;border-radius:10px;position:relative;overflow:hidden}.card h2{margin:.1rem 0 .75rem;font-size:1rem;letter-spacing:.5px;text-transform:uppercase;font-weight:600;color:#9bb4d1}.badge{display:inline-flex;align-items:center;gap:.4rem;font-size:.7rem;font-weight:600;padding:.35rem .55rem;border-radius:6px;background:#262f3a;color:#9bb4d1;text-transform:uppercase;letter-spacing:.5px}.badge.ok{background:#16341f;color:#6dd58c}.badge.warn{background:#3b3114;color:#f6d06a}.badge.err{background:#3b1a1a;color:#ff8c8c}pre{background:#101317;padding:.75rem 1rem;border-radius:8px;overflow:auto;font-size:.75rem;max-height:320px;border:1px solid #1f2329}button{cursor:pointer;background:#253043;color:#c4d4e5;border:1px solid #334255;border-radius:6px;padding:.55rem .9rem;font-size:.75rem;font-weight:500;display:inline-flex;align-items:center;gap:.4rem}button:hover{background:#2d3b50}footer{padding:2rem 1rem 3rem;text-align:center;font-size:.7rem;color:#6c7a89}table{width:100%;border-collapse:collapse;font-size:.72rem;margin:.5rem 0}th,td{padding:.4rem .5rem;border:1px solid #222831;text-align:left}th{background:#1b2027;font-weight:600;color:#9bb4d1}.pill{display:inline-block;padding:.25rem .55rem;border-radius:5px;font-size:.65rem;background:#233041;color:#8fb3d9}code{font-family:ui-monospace,Menlo,Monaco,monospace;color:#9bd4ff}.links{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.6rem}.active-link { background:#223042; color:#fff !important; border-radius:4px; padding:2px 6px; }.nav-spacer { flex:1; }

/* Patient UX enhancements */
.patient-layout{display:grid;gap:1.2rem;margin-top:.5rem}
@media(min-width:1000px){.patient-layout{grid-template-columns:2fr 1fr}}
.patient-table{width:100%;border-collapse:separate;border-spacing:0 4px;font-size:.7rem}
.patient-table th{background:#1d242c;font-size:.65rem;text-transform:uppercase;letter-spacing:.6px;border:1px solid #262f38}
.patient-table td{background:#14181d;border:1px solid #20262d}
.patient-table th,.patient-table td{padding:.45rem .55rem}
.patient-table tr{cursor:pointer}
.patient-table tr:hover td{background:#1c2733}
.patient-table tr.selected td{background:#253446}
.detail-panel{background:#181b21;border:1px solid #262f31;border-radius:10px;padding:.75rem .85rem;font-size:.7rem;display:flex;flex-direction:column;gap:.55rem;min-height:260px}
.detail-panel h3{margin:0 0 .3rem;font-size:.75rem;letter-spacing:.6px;text-transform:uppercase;color:#9bb4d1}
.badge-risk{display:inline-block;padding:.15rem .45rem;border-radius:4px;font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}
.badge-risk.low{background:#16341f;color:#6dd58c}
.badge-risk.medium{background:#3b3114;color:#f6d06a}
.badge-risk.high{background:#3b1a1a;color:#ff8c8c}
.raw-toggle{font-size:.6rem;margin-top:.4rem;cursor:pointer;color:#5fb3ff}
.raw-block{display:none;margin-top:.5rem}
.raw-block.open{display:block}

/* Provider schedule */
.schedule-wrapper{display:flex;flex-direction:column;gap:.6rem}
	slot-grid{display:grid;grid-template-columns:50px repeat(5,1fr);gap:4px;font-size:.6rem}
	slot-col-header{background:#1d242c;padding:.35rem .4rem;text-align:center;border:1px solid #2a323b;border-radius:4px;font-weight:600;letter-spacing:.5px}
	slot-hour{background:#1d242c;padding:.35rem .4rem;border:1px solid #2a323b;border-radius:4px;text-align:center;font-weight:600}
	slot{background:#142029;border:1px solid #242f38;border-radius:4px;min-height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .18s,border .18s}
	slot.free:hover{background:#1f3040}
	slot.booked{background:#2d4c2f;border-color:#36613a;color:#c9f3ce;font-weight:600}
	slot.booked:hover{background:#345b36}
	bookings-list{background:#181b21;border:1px solid #262f31;border-radius:10px;padding:.6rem .7rem;font-size:.65rem;max-height:220px;overflow:auto}
	bookings-list h3{margin:.1rem 0 .4rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.5px;color:#9bb4d1}
	today-patients{background:#181b21;border:1px solid #262f31;border-radius:10px;padding:.6rem .7rem;font-size:.65rem;max-height:220px;overflow:auto}
	today-patients h3{margin:.1rem 0 .4rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.5px;color:#9bb4d1}
	tag{display:inline-block;background:#233041;padding:.15rem .4rem;border-radius:4px;font-size:.55rem;margin:0 .25rem .25rem 0}