*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:#000;color:#fff;font-family:Arial,Helvetica,sans-serif}
body{min-height:100vh}
a{color:#4da3ff;text-decoration:none}
a:hover{text-decoration:none}
.page{width:min(1100px,calc(100% - 32px));margin:0 auto}
.header{padding:28px 0;border-bottom:1px solid #222}
.brand{font-size:24px;font-weight:700}
.main{padding:45px 0}
.button{display:inline-block;width:100%;border:0;border-radius:8px;background:#147cff;color:#fff;font-size:16px;font-weight:700;padding:14px 20px;cursor:pointer;text-align:center}
.button:hover{background:#0b68df}
.dashboard-layout{display:grid;grid-template-columns:240px 1fr;gap:24px}
.sidebar{background:#0b0b0b;border:1px solid #242424;border-radius:14px;padding:20px;height:fit-content}
.patient-name{padding:8px 4px 20px;border-bottom:1px solid #242424;margin-bottom:14px;font-weight:700}
.nav-button{display:block;width:100%;padding:12px 14px;margin:7px 0;border-radius:7px;color:#fff;background:#111;border:1px solid #292929}
.nav-button.active,.nav-button:hover{background:#147cff;border-color:#147cff}
.dashboard-content h1{margin-top:0}
.welcome{color:#aaa;margin-bottom:28px}
.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.dashboard-card{background:#0b0b0b;border:1px solid #242424;border-radius:14px;padding:26px;min-height:150px}
.dashboard-card h2{margin-top:0;font-size:20px}
.dashboard-card p{color:#aaa;line-height:1.5}
.profile-row{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid #202020}
.profile-row:last-child{border-bottom:0}
.profile-label{color:#888}
.form-wrap{max-width:620px;margin:0 auto}
.form-card{background:#0b0b0b;border:1px solid #242424;border-radius:14px;padding:30px}
.form-card h1{margin-top:0}
label{display:block;margin:18px 0 7px;font-weight:600}
input{width:100%;padding:13px 14px;border:1px solid #333;border-radius:7px;background:#050505;color:#fff;font-size:16px;outline:none}
input:focus{border-color:#147cff}
.form-card .button{margin-top:24px}
.message{padding:12px 14px;margin-bottom:18px;border:1px solid #333;border-radius:7px;background:#111}
.error{border-color:#743333;color:#ffb0b0}
.success{border-color:#285d3a;color:#a9f0bd}
.upload-box{border:1px dashed #3b3b3b;border-radius:12px;padding:25px;background:#050505}
.file-note{color:#888;font-size:14px;margin-top:10px}
.file-input{padding:10px;background:#080808}
.upload-status{display:none;margin-top:20px;color:#aaa}
.modal-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.78);align-items:center;justify-content:center;padding:20px;z-index:1000}
.modal{width:min(430px,100%);background:#0b0b0b;border:1px solid #303030;border-radius:14px;padding:30px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.spinner{width:34px;height:34px;border:4px solid #333;border-top-color:#147cff;border-radius:50%;margin:0 auto 18px;animation:spin .8s linear infinite}
.modal h2{margin:0 0 10px}
.modal p{color:#aaa;line-height:1.5}
.modal .button{margin-top:14px}
@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:800px){.dashboard-layout,.dashboard-grid{grid-template-columns:1fr}.main{padding:35px 0}}
