/* CAMPO CLÍNICO HS — linguagem visual da casa */
:root{
  --bg:#10141a; --panel:#1a212b; --panel2:#232c38; --text:#e8edf4; --dim:#8a97a8;
  --pos:#4ade80; --neu:#60a5fa; --neg:#f87171; --doc:#facc15; --line:#33404f;
  --accent:#7dd3fc; --cinza:#6b7683;
}
*{box-sizing:border-box; margin:0; padding:0; font-family:-apple-system,'Segoe UI',Roboto,sans-serif}
body{background:var(--bg); color:var(--text); min-height:100vh}
.wrap{max-width:960px; margin:0 auto; padding:24px 16px 80px}
header.topo{display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:16px}
h1.marca{font-size:20px; font-weight:600} h1.marca span{color:var(--accent)}
.who{color:var(--dim); font-size:13.5px}
.spacer{flex:1}
nav.abas{display:flex; gap:8px; margin:6px 0 20px; border-bottom:1px solid var(--line); flex-wrap:wrap}
nav.abas a{padding:9px 16px; border-radius:10px 10px 0 0; color:var(--dim);
  text-decoration:none; font-size:14.5px}
nav.abas a.on{background:var(--panel); color:var(--text); font-weight:600}
h2.sec{font-size:14px; color:var(--dim); font-weight:600; letter-spacing:.4px;
  text-transform:uppercase; margin:22px 0 10px}
.card{background:var(--panel); border:1px solid var(--line); border-radius:14px; padding:16px}
.btn{background:var(--panel2); color:var(--text); border:1px solid var(--line);
  border-radius:10px; padding:10px 15px; font-size:14px; cursor:pointer}
.btn:hover{border-color:var(--accent)}
.btn.primary{background:#134e4a; border-color:#14b8a6}
.btn.mini{padding:5px 10px; font-size:12.5px; border-radius:7px}
.hidden{display:none !important}
label{display:block; font-size:13px; color:var(--dim); margin:12px 0 4px}
input,textarea,select{width:100%; background:var(--bg); border:1px solid var(--line);
  border-radius:8px; color:var(--text); padding:10px; font-size:14.5px}
textarea{min-height:80px; resize:vertical}
.erro{color:var(--neg); font-size:13.5px; margin-top:10px; min-height:18px}
.aviso-ok{color:var(--pos); font-size:13.5px; margin-top:10px}
.consent{display:flex; gap:9px; align-items:flex-start; background:var(--bg);
  border:1px solid var(--line); border-radius:8px; padding:11px; margin-top:12px;
  font-size:13.5px; color:#cbd5e1; line-height:1.5}
.consent input{width:auto; margin-top:3px}
.consent a{color:var(--accent)}
.overlay{position:fixed; inset:0; background:rgba(0,0,0,.66); display:none;
  align-items:center; justify-content:center; z-index:50; padding:16px}
.overlay.show{display:flex}
.modal{background:var(--panel); border:1px solid var(--line); border-radius:16px;
  max-width:500px; width:100%; padding:22px; max-height:88vh; overflow-y:auto}
.modal h3{font-size:17px; margin-bottom:8px}
.rowbtn{display:flex; gap:10px; margin-top:18px; justify-content:flex-end}
.fechar{background:transparent; border:none; color:var(--dim); font-size:14px; cursor:pointer}
.login-box{max-width:380px; margin:9vh auto; background:var(--panel);
  border:1px solid var(--line); border-radius:18px; padding:30px}
.login-box h1{font-size:24px; text-align:center; margin-bottom:4px}
.login-box h1 span{color:var(--accent)}
.login-box .who{text-align:center; margin-bottom:20px}
.linhaitem{display:flex; align-items:center; gap:10px; padding:9px 4px;
  border-bottom:1px solid var(--line); font-size:14px}
.linhaitem:last-child{border-bottom:none}
