:root{--navy:#1F3A5F;--orange:#E0823F;--orange-dk:#C2571A;--orange-xdk:#8A3A0C;--ink:#16202E;--muted:#4A5565;--line:#DCE2EA;--bg:#F3F5F8;--soft:#E8EEF5;--peach:#FCEBDD}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);font-family:'Figtree','Segoe UI',system-ui,sans-serif;color:var(--ink);font-size:15px}
button,input,select,textarea{font-family:inherit;font-size:15px}
a{color:var(--navy)}
.top{background:var(--navy);color:#fff}
.top-in{max-width:1200px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:800;font-size:20px}
.mark{width:34px;height:34px;border-radius:10px;background:var(--orange);color:var(--ink);display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:800}
.clinic{opacity:.85;font-size:14px;padding-left:12px;border-left:1px solid rgba(255,255,255,.3)}
.who{margin-left:auto;font-size:14px;display:flex;gap:10px;align-items:center}
.who button{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.5);border-radius:8px;min-height:36px;padding:0 12px;cursor:pointer}
.wrap{max-width:1200px;margin:0 auto;padding:20px}
.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px 22px;margin-bottom:16px}
h1{font-size:24px;margin:0 0 4px}h2{font-size:18px;margin:0 0 12px}
.sub{color:var(--muted);font-size:14px;margin:0 0 14px}
.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.f{display:flex;flex-direction:column;gap:6px;margin-bottom:6px;font-size:13px;font-weight:700;color:var(--muted)}
input[type=text],input[type=email],input[type=tel],input[type=password],input[type=date],input[type=search],textarea,select{min-height:46px;padding:0 12px;border:1px solid #C9D2DE;border-radius:10px;color:var(--ink);font-weight:500;background:#fff;width:100%}
textarea{padding:10px 12px;min-height:70px}
input:focus,textarea:focus,select:focus{outline:2px solid var(--orange);outline-offset:1px}
.err{color:var(--orange-dk);font-size:13px;font-weight:700;min-height:0}
.has-err input,.has-err select,.has-err textarea{border-color:var(--orange-dk)}
.btn{min-height:48px;padding:0 20px;border-radius:12px;border:none;font-weight:800;cursor:pointer;font-size:15px}
.btn.primary{background:var(--navy);color:#fff}
.btn.accent{background:var(--orange);color:var(--ink)}
.btn.ghost{background:#fff;border:1px solid #C9D2DE;color:var(--ink);font-weight:700}
.btn:disabled{opacity:.5;cursor:not-allowed}
.pills{display:flex;flex-wrap:wrap;gap:6px}
.pill{min-height:44px;padding:0 16px;border-radius:999px;border:1px solid #C9D2DE;background:#fff;color:var(--muted);font-weight:700;cursor:pointer}
.pill.on{background:var(--navy);border-color:var(--navy);color:#fff}
.stepper{display:flex;align-items:center;gap:8px}
.stepper button{width:44px;min-height:44px;border-radius:10px;border:1px solid #C9D2DE;background:#fff;color:var(--navy);font-size:20px;font-weight:800;cursor:pointer}
.stepper b{min-width:70px;text-align:center;font-size:18px}
.search{font-size:18px;min-height:56px;border:2px solid var(--navy)}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:16px}
.stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 18px}
.stat b{display:block;font-size:26px;color:var(--navy)}.stat span{font-size:12px;font-weight:700;color:var(--muted)}
.list{display:flex;flex-direction:column;gap:8px}
.item{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;text-decoration:none;color:var(--ink);cursor:pointer;text-align:left;width:100%}
.item:hover{border-color:var(--navy)}
.item small{display:block;color:var(--muted);font-size:13px}
.chip{font-size:11px;font-weight:800;padding:3px 9px;border-radius:99px;background:var(--soft);color:var(--navy);white-space:nowrap}
.chip.warn{background:var(--peach);color:var(--orange-xdk)}
.chip.dead{background:#E4E8EE;color:#4A5565}
.kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.kv div span{display:block;font-size:12px;font-weight:700;color:var(--muted)}
.kv div b{font-weight:600}
.kv div span.chip{display:inline-block;font-size:11px;font-weight:800}
.alert{background:var(--peach);color:var(--orange-xdk);border-radius:10px;padding:10px 14px;font-weight:700}
.card-foot{display:flex;justify-content:flex-end;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.card-foot .btn{display:inline-flex;align-items:center;text-decoration:none}
.allergy{border:1px solid var(--line);background:#F7F8FA;border-radius:10px;padding:10px 14px;margin-bottom:14px}
.allergy span{display:block;font-size:12px;font-weight:700;color:var(--muted)}
.allergy b{display:block;margin-top:2px;font-weight:600}
.allergy.on{background:var(--peach);border-color:#F3C9A6}
.allergy.on span,.allergy.on b{color:var(--orange-xdk)}.allergy.on b{font-weight:800}
.owner-box{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#F7F8FA}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--navy);color:#fff;padding:12px 18px;border-radius:12px;font-weight:700;box-shadow:0 6px 20px rgba(0,0,0,.2);max-width:90vw}
.login{max-width:420px;margin:60px auto}
.muted{color:var(--muted)}
@media (max-width:600px){.clinic{display:none}.stats{grid-template-columns:repeat(3,1fr);gap:8px}.stat{padding:10px}.stat b{font-size:20px}.stat span{font-size:10px}.wrap{padding:14px}.card{padding:16px}}
/* ---------- Consulta ---------- */
.toplink{color:#fff;font-weight:700;text-decoration:none;border:1px solid rgba(255,255,255,.5);border-radius:8px;padding:7px 12px}
.cx-head h1 a:hover{text-decoration:underline}
.cx-weight{display:grid;grid-template-columns:minmax(160px,220px) 1fr;gap:14px;align-items:end;margin-bottom:14px}
.cx-weight input{font-size:20px;font-weight:800}
.cx-vitals{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.pills-tight .pill{min-width:44px;padding:0 10px}
.pills-sm .pill{min-height:36px;font-size:13px;padding:0 12px}
.warn-txt{color:var(--orange-dk)}
.sys{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#fff}
.seg{display:inline-flex;border:1px solid #C9D2DE;border-radius:10px;overflow:hidden;flex-wrap:wrap}
.seg button{min-height:38px;min-width:44px;padding:0 12px;border:none;border-left:1px solid #C9D2DE;background:#fff;color:var(--muted);font-weight:700;font-size:13px;cursor:pointer}
.seg button:first-child{border-left:none}
.seg button.on.normal{background:var(--navy);color:#fff}
.seg button.on.anormal{background:var(--orange);color:var(--ink)}
.seg button.on.ne{background:#E4E8EE;color:var(--ink)}
.btn.x{min-height:44px;width:44px;padding:0;font-size:22px;line-height:1}
.iny{border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:10px;background:#fff}
.iny-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:10px}
.iny-grid span{display:block;font-size:11px;font-weight:800;color:var(--muted);margin-bottom:4px}
.iny-grid .big{display:block;font-size:20px;color:var(--navy)}
.iny-grid small{color:var(--muted);font-size:12px}
.iny-grid .stepper b{min-width:96px;font-size:15px}
.iny-alert{margin-top:8px;background:var(--peach);color:var(--orange-xdk);border-radius:8px;padding:8px 12px;font-size:13px;font-weight:700}
.iny-total{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;border-top:2px solid var(--navy);padding-top:12px;margin-top:4px}
.iny-total span{display:block;font-size:12px;font-weight:800;color:var(--navy)}.iny-total small{color:var(--muted);font-size:12px}
.iny-total .stepper b{font-size:20px;min-width:120px;color:var(--navy)}
.sumline{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}
.sumline.total{border-bottom:none;border-top:2px solid var(--navy);margin-top:4px;font-size:17px}.sumline.total b{color:var(--navy)}
.lbl{display:block;font-size:12px;font-weight:700;color:var(--muted);margin-bottom:2px}
.cx-close{border:2px solid var(--navy)}
/* ---------- Fórmula impresa ---------- */
.rx-sheet{background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px 30px;max-width:780px;margin:0 auto}
.rx-head{display:flex;justify-content:space-between;gap:12px;border-bottom:3px solid var(--navy);padding-bottom:12px}
.rx-head b{display:block;color:var(--navy)}.rx-head small{display:block;color:var(--muted);font-size:12px}
.rx-clinic{font-size:18px}
.rx-pat{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}
.rx-pat span,.rx-notes span{display:block;font-size:11px;font-weight:800;color:var(--muted)}.rx-pat small{display:block;color:var(--muted);font-size:12px}
.rx-allergy{background:var(--peach);color:var(--orange-xdk);font-weight:800;padding:8px 12px;border-radius:8px}
.rx-list{padding-left:22px;margin:18px 0}.rx-list li{margin-bottom:14px}.rx-list li div{margin-top:2px}
.rx-notes p{white-space:pre-line;margin:4px 0 12px}
.rx-sign{margin-top:56px;width:260px}.rx-sign .line{border-top:1px solid var(--ink);margin-bottom:6px}.rx-sign b,.rx-sign small{display:block}.rx-sign small{color:var(--muted)}
@media (max-width:600px){.cx-weight{grid-template-columns:1fr}.rx-pat{grid-template-columns:1fr}.rx-sheet{padding:18px}}
@media print{.top,.noprint,.toast{display:none!important}body{background:#fff}.wrap{padding:0;max-width:none}.rx-sheet{border:none;padding:0;max-width:none}.rx-allergy{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
a.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.iny > .row:first-child{flex-wrap:nowrap}
@media (max-width:600px){.iny-grid{grid-template-columns:1fr 1fr}.iny-grid > div:first-child{grid-column:span 2}}
