:root {
  --petroleo-950:#082f3b; --petroleo-900:#0b4351; --petroleo-800:#0e5967;
  --petroleo-700:#137487; --petroleo-100:#dff4f5; --petroleo-50:#f1fbfb;
  --ink:#18323b; --muted:#65808a; --line:#d9e7ea; --surface:#ffffff;
  --bg:#eef5f6; --danger:#c94f5b; --success:#16866f; --shadow:0 18px 48px rgba(8,47,59,.10);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; min-height:100vh; color:var(--ink); background:linear-gradient(145deg,#e7f2f3 0%,#f7fbfb 48%,#eaf4f5 100%); font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif; }
.container { width:min(1180px,calc(100% - 32px)); margin:28px auto; background:var(--surface); border:1px solid rgba(255,255,255,.9); border-radius:24px; box-shadow:var(--shadow); overflow:hidden; }
.container::before { content:""; display:block; height:7px; background:linear-gradient(90deg,var(--petroleo-950),var(--petroleo-700),#64c4c2); }
.header-topo { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:8px; padding:18px 28px 0; }
.btn-topo { display:inline-flex; align-items:center; gap:6px; border:1px solid var(--line); border-radius:999px; padding:9px 14px; color:var(--petroleo-800); background:#f8fcfc; text-decoration:none; font-size:12px; font-weight:750; transition:.2s ease; }
.btn-topo:hover { color:#fff; background:var(--petroleo-800); border-color:var(--petroleo-800); transform:translateY(-1px); }
h2 { margin:0; padding:28px 34px 8px; color:var(--petroleo-950); font-size:clamp(25px,3vw,36px); letter-spacing:-.04em; text-align:left; }
h2::after { content:"Montagem rápida e padronizada do exame clínico"; display:block; margin-top:8px; color:var(--muted); font-size:14px; font-weight:500; letter-spacing:0; }
.container > details { margin:14px 28px; border:1px solid var(--line); border-radius:16px; background:#fff; overflow:hidden; transition:.2s ease; }
.container > details:hover { border-color:#b5d5d9; box-shadow:0 8px 24px rgba(8,47,59,.05); }
summary { display:flex; align-items:center; gap:12px; padding:17px 20px; list-style:none; cursor:pointer; user-select:none; color:var(--petroleo-900); background:linear-gradient(90deg,#f6fbfb,#fff); font-size:15px; font-weight:800; letter-spacing:.01em; }
summary::-webkit-details-marker { display:none; }
summary::before { content:""; width:9px; height:9px; border-radius:50%; background:#91c8c9; box-shadow:0 0 0 5px #e5f4f4; flex:0 0 auto; }
summary::after { content:"⌄"; margin-left:auto; color:var(--petroleo-700); font-size:20px; line-height:12px; transition:transform .2s; }
details[open] summary { border-bottom:1px solid var(--line); background:var(--petroleo-50); }
details[open] summary::before { background:var(--petroleo-700); }
details[open] summary::after { transform:rotate(180deg); }
.card-content { padding:22px; }
.grid-2 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.glasgow-detalhes { margin-top: 10px; }
.glasgow-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
@media (max-width: 680px) { .glasgow-grid { grid-template-columns: 1fr; } }
.form-group { margin-bottom:16px; }
label { display:block; margin-bottom:7px; color:#36535c; font-size:12px; font-weight:800; letter-spacing:.02em; }
select,input[type="number"],button,textarea { width:100%; border:1px solid #cbdde0; border-radius:10px; padding:11px 12px; color:var(--ink); background:#fff; font:inherit; font-size:14px; outline:none; transition:border-color .2s,box-shadow .2s,background .2s; }
select:focus,input[type="number"]:focus,textarea:focus { border-color:var(--petroleo-700); box-shadow:0 0 0 4px rgba(19,116,135,.12); }
.flex-row { display:flex; align-items:center; gap:10px; }
.checkbox-label { display:flex; align-items:center; gap:9px; margin:7px 0; color:#3e5961; font-size:14px; font-weight:550; letter-spacing:0; cursor:pointer; }
.checkbox-label input { width:18px; height:18px; margin:0; accent-color:var(--petroleo-700); cursor:pointer; flex:0 0 auto; }
.caixa-dinamica { display:none; margin-top:14px; padding:17px; border:1px solid #bfdee1; border-radius:13px; background:linear-gradient(135deg,#f2fbfb,#fbfefe); }
.lado-box { padding:17px; border:1px solid var(--line); border-radius:13px; background:#fcfefe; }
.lado-titulo { margin-bottom:14px; padding-bottom:10px; border-bottom:2px solid var(--petroleo-100); color:var(--petroleo-900); font-size:13px; font-weight:850; }
.secao-interna { margin-top:13px; padding:13px; border-radius:10px; background:#f5fafb; }
.secao-titulo { margin-bottom:9px; color:var(--petroleo-800); font-size:11px; font-weight:850; text-transform:uppercase; letter-spacing:.08em; }
hr { border:0!important; border-top:1px solid var(--line)!important; margin:20px 0!important; }
button.gerar-btn { display:inline-flex; width:auto; min-width:190px; justify-content:center; align-items:center; margin:18px 0 0 28px; border:0; border-radius:11px; padding:13px 18px; color:#fff; background:var(--petroleo-800); box-shadow:0 7px 16px rgba(11,67,81,.18); font-weight:800; cursor:pointer; transition:.2s ease; }
button.gerar-btn:hover { background:var(--petroleo-950)!important; transform:translateY(-1px); }
button#btnCopiarNormal { background:#59727a!important; }
textarea { display:block; width:calc(100% - 56px); min-height:260px; margin:24px 28px 30px; padding:18px; resize:vertical; border:1px solid #b8d5d8; border-radius:14px; background:#f8fcfc; color:#18323b; line-height:1.7; font-size:15px; }
textarea::placeholder { color:#85a0a6; }
footer { margin:30px 28px 0!important; padding:20px 0 26px!important; border-top:1px solid var(--line)!important; color:var(--muted)!important; }
footer a { color:var(--petroleo-800)!important; }
@media (max-width:760px) { .container { width:100%; margin:0; border-radius:0; } .header-topo { justify-content:flex-start; padding:16px 18px 0; } h2 { padding:24px 18px 8px; } .container > details { margin:12px 14px; } .card-content { padding:16px; } .grid-2 { grid-template-columns:1fr; gap:8px; } button.gerar-btn { width:calc(100% - 28px); margin:10px 14px 0; } textarea { width:calc(100% - 28px); margin:20px 14px 24px; min-height:250px; } footer { margin:24px 14px 0!important; } }
@media print { body { background:#fff; } .container { width:100%; margin:0; box-shadow:none; border:0; } .header-topo, .container > details, button, footer { display:none!important; } textarea { display:block; width:100%; height:auto; min-height:0; margin:0; border:0; padding:0; color:#000; background:#fff; } }
