:root{
  --bg:#ffffff;
  --card:#ffffff;
  --sky:#3da7ff;
  --sky-2:#e9f5ff;
  --text:#0b1b2b;
  --muted:#5b7286;
  --border:#cfe8ff;
  --danger:#e53935;
}

*{box-sizing:border-box;}
body{
  margin:0;
  font-family:Tahoma, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background:linear-gradient(180deg, var(--sky-2), #ffffff 35%);
  color:var(--text);
}

.container{max-width:1100px;margin:0 auto;padding:22px;}
.header{
  display:flex;gap:14px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;
  padding:16px 18px;border:1px solid var(--border);border-radius:16px;background:var(--card);
  box-shadow:0 6px 18px rgba(61,167,255,0.10);
}
.header h1{margin:0;font-size:22px;}
.muted{color:var(--muted);}
.small{font-size:13px;line-height:1.6;}
.nav{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.nav a{
  color:var(--text);text-decoration:none;
  padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:#fff;
  font-size:14px;
}
.nav a:hover{border-color:var(--sky);}

.inline{display:inline;margin:0;}
.card{
  margin-top:14px;padding:18px;border:1px solid var(--border);border-radius:16px;background:var(--card);
  box-shadow:0 6px 18px rgba(61,167,255,0.08);
}

.section-title{
  margin:18px 0 10px;
  font-size:18px;
  color:var(--text);
  border-right:4px solid var(--sky);
  padding-right:10px;
}

.grid.one-col{display:grid;grid-template-columns:1fr;gap:12px;}

.question{
  border:1px solid var(--border);
  border-radius:14px;
  padding:14px 14px 12px;
  background:#fff;
}
.q-title{
  font-size:18px;
  font-weight:700;
  margin-bottom:10px;
}
.req{color:var(--danger);}

.q-input{
  width:100%;
  padding:12px 12px;
  border-radius:12px;
  border:1px solid var(--border);
  background:#fff;
  font-size:16px;
  outline:none;
}
.q-input:focus{border-color:var(--sky); box-shadow:0 0 0 3px rgba(61,167,255,0.18);}

.options{display:grid;gap:10px;}
.opt{
  display:flex;gap:10px;align-items:center;
  padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--sky-2);
  font-size:16px;
}
.opt input{transform:scale(1.25);}
.hint{margin-top:8px;color:var(--muted);font-size:13px;line-height:1.6;}

.note{
  border:1px dashed var(--border);
  border-radius:14px;
  padding:14px;background:#fff;
}

.actions{margin-top:14px;display:flex;gap:10px;flex-wrap:wrap;}
.btn{
  display:inline-block;text-decoration:none;cursor:pointer;
  padding:12px 14px;border-radius:12px;border:1px solid var(--border);
  font-size:15px;
  background:#fff;
}
.btn.primary{background:var(--sky);border-color:var(--sky);color:#fff;}
.btn.primary:hover{filter:brightness(0.95);}
.btn.secondary{background:#fff;color:var(--text);}
.btn.secondary:hover{border-color:var(--sky);}

button{font-family:inherit;}
button.danger{
  background:#fff;border-color:rgba(229,57,53,0.35);color:var(--danger);
  padding:10px 12px;border-radius:12px;cursor:pointer;
}
button.danger:hover{background:rgba(229,57,53,0.06);}

.flash-area{margin-top:12px;display:grid;gap:8px;}
.flash{padding:10px 12px;border-radius:12px;border:1px solid var(--border);}
.flash.success{background:rgba(61,167,255,0.10);border-color:rgba(61,167,255,0.35);}
.flash.error{background:rgba(229,57,53,0.06);border-color:rgba(229,57,53,0.25);}

.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:14px;margin-top:10px;background:#fff;}
table{border-collapse:collapse;width:100%;min-width:980px;}
th,td{padding:10px 10px;border-bottom:1px solid var(--border);text-align:right;vertical-align:top;font-size:14px;}
thead th{position:sticky;top:0;background:var(--sky-2);}

.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:end;}
.filters label{min-width:260px;}
.form label span{display:block;margin-bottom:6px;color:var(--muted);font-size:13px;}

.small-form{max-width:420px;}
.inline-form{display:flex;gap:10px;flex-wrap:wrap;align-items:end;}
.inline-form input, .inline-form select { width:auto; min-width:180px; }

.meta{display:grid;gap:6px;margin-bottom:10px;}

.footer{margin-top:14px;padding:10px 2px;}

@media (max-width:760px){
  table{min-width:720px;}
  .header{flex-direction:column;}
}

.table-summary{margin:12px 0 8px;}
.pagination{justify-content:flex-start;}
input, select, textarea{font-family:inherit;}
input[type="password"], input[autocomplete="username"]{direction:ltr;text-align:left;}

.status-badge{display:inline-block;padding:6px 10px;border-radius:999px;font-weight:700;font-size:13px;white-space:nowrap;}
.status-badge.draft{background:#fff8d6;border:1px solid #f1d36b;color:#6b5300;}
.status-badge.submitted{background:#e7f7ec;border:1px solid #88d49a;color:#137a2d;}
.warning-note{background:#fff8d6;border-color:#f1d36b;}
.other-box{margin-top:10px;padding:12px;border-radius:12px;background:#fff;border:1px dashed var(--border);}
button:disabled,.btn:disabled{opacity:.55;cursor:not-allowed;}

.followup-patient-meta{padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:var(--sky-2);}
.compact-table{min-width:680px;}
